Menu Close

Theoretische Informatik (Vorlesung 3)

1.2 Zwei Beispiele

  • Beispiel 1:
    • Graph g = (V,E)
    • Eine Teilmenge C ⊆ V heißt Clique, wenn je zwei Knoten aus C mit einer Kante verbunden sind.
    • Wenn alle mit allen verbunden sind, dann ist der Graph eine Clique
    • Wenn das Entscheidungsproblem nicht lösbar ist, dann ist das Optimierungsproblem auch nicht lösbar.
    • Das Entscheidungsproblem greift auf den Lösungsalgorithmus des Optimierungsproblems zurück.

Optimierungsproblem Clique

  • Eingabe: Ein Graph G
  • Ausgabe: Größte Clique in G

Entscheidungsproblem Clique

  • Einbgabe: Ein Graph G, k ∈ ℕ (natürliche Zahlen)
  • Ausgabe: Gibt es in G eine Clique der Größe k? → ja / nein
  • Beispiel 2: 
    • Def. 1.3: Aussagenlogische Formeln
      • Seien x1, …, xn boolesche Variablen ( können nur die Werte falsch oder wahr annehmen)
      • Seien weiter ∧ (UND), ∨ (ODER), ¬ ( Negation) Operationen mit
      1. wahr ∧ wahr = wahr
      2. wahr ∧ falsch = falsch ∧ wahr = falsch ∧ falsch = falsch
      3. wahr ∨ wahr = wahr ∨ falsch = falsch ∨ wahr= wahr
      4.  falsch ∨ falsch = falsch
      5. wahr = ¬ falsch
      6. falsch = ¬ wahr
      • Die Variablen x1 und ¬x1 heißen auch Literale.
      • Ein Ausdruck (y1 ∨ y2 … ∨ yn ) mit Literalen y1, .., yn heißt Klausel  und ein ein Ausdruck α = c1 ∧ c2 … ∧ cm mit Klauseln c1, …, cn heißt Ausdruck in konjunktiver Normalform.
      • Beispiel 1:  
        • α =  (x1 v x2 v x3 ) ∧ ( x1 v ¬x2 v ¬x3 )
        • x1, x2, x3 = Literal
      • Nur mit ∨ (ODER) Verknüpfung verbunden = Klausel
      • Eine Belegung der Variablen x1, .., xn ist eine Abbildung  μ{x1, .. , xn } → {wahr, falsch}
      • Eine Belegung μ erfüllt den Ausdruck α, wenn α den Wert wahr bekommt.
      • Bsp. (zu oben):
        • μ(x1) = μ(x2) = μ(x3) = wahr 
          • (wahr ∨ wahr ∨ wahr) ∧ (wahr ∨ falsch ∨ falsch) = wahr
          • somit ist μ eine erfüllende Bedinung für α
        • μ(x1) = μ(x2) = μ(x3) = falsch
          • (falsch ∨ falsch ∨ falsch)∧ (falsch ∨ wahr ∨ wahr) = falsch
          • somit ist μ keine erfüllende Bedingung für α
      • Beispiel 2:
        • α = ( x1 ∨ x2 ) ∧ ( x1 ∨ ¬ x2 ) ∧ (¬ x1 ∨ x2) ∧ (¬ x1 v ¬ x2)
        • hat keine erfüllende Bedingung

Optimierungsproblem Saturability ( Sat )

  • Eingabe: Ein Ausdruck α in konjunktiver Normalform
  • Ausgabe: Eine Belegung, die die meißten Klauseln erfüllt

Entscheidungsproblem Saturability ( Sat )

  • Eingabe: Ein Ausdruck α in KNF
  • Ausgabe: Gibt es eine erfüllende Belegung für α? → ja / nein

1.3 Optimierungs-, Entscheidungs- und Wortprobleme und formale Sprachen

  • „Warum interessieren wir uns für Formale sprachen?“
  • Sei Σ ein endliches Alphabet z.B. Σ = { 0,1 } mit Σ* = { (W1,…,Wn), n ∈ ℕ , W1,…, Wn, ∈ Σbezeichnen wir die Menge aller Wörter über Σ.
  • Für eine Sprache L ⊆  Σ* sei das Wortproblem L.
    • Eingabe: Ein Wort w ∈ Σ*
    • Ausgabe: Gilt w ∈ L?
  • Aufgabe: Wie codiert man Eingaben zu einem Problem in einer für Computer verständlichen Sprache?
  • Bsp.: Eingabe des Optimierungsprogrammes Clique sind Graphen G = (V,E)
    • V = {V1,..,Vn}
    • E={E1,..,En}
    • Dann kann der Graph durch folgende m x n – Matrix (Indizenz-Matrix) repräsentiert werden:
 v1v2v3v4
e11100
e21010
e30101
e40110
e50011

Bzw.:

  • Dabei bedeutet:
    • xij = 1 : vj ∈ ei
    • xij = 0 : vj ∉ ei
    • Wenn eine Kante existiert, dann ist dies mit einer 1 gekennzeichnet.
    • Wenn keine Kante existiert, dann ist es mit einer 0 gekennzeichnet.
  • Ziel:
    • Kodierung eines Graphen als Bitstring, d.h. als ein Wort über dem Alphabet Σ = {0,1}
    • Lösung = G → ( 1 … 1 0 1 … 1 0 x11  x12 .. xmn)
    • n-mal die 1  = Anzahl der Knuten in G
    • Schließende 0
    • n-mal die 1 = Anzahl der Kanten in G
  • Bsp.:
  • Eingaben des Entscheidungsproblems Clique sind von der Form (G, K) → ( 1n 0 1m 0 x11 … xmn  k1 … kt )
    • G = Graph
    • k = natürliche Zahl
    • Binärdarstellung von k
  • Für das Entscheidungsproblem Clique zerfällt die Menge Σ* ( Menge aller Wörter ) in drei Teilmengen.
    • Teilmenge 1:
      • Wörter, die keine Eingaben des Entscheidungsproblems repräsentieren. ( 1 1 1 0 1 1 0 1 ) müssten mehr Zahlen sein
    • Teilmenge 2:
      • Wörter, die Eingaben repräsentieren, für die Frage mit nein beantwortet wird. ( „Eingabe G, k: hat keine Clique der Größe k“ )
    • Teilmenge 3:
      • Wörter, die Eingaben repräsentieren, für die die Frage mit ja beantwortet wird. ( „Eingabe G, k: hat eine Clique der Größe k“ )
      • Diese Dritte Teilmenge bildet eine Sprache L.
    • Das zugehörige Wortproblem L = Menge aller Wörter, die Ja-Eingaben repräsentieren …
      • Eingabe: Wort w ∈ Σ*
      • Frage: Gilt w ∈ L?
    • … heißt das zum Entscheidungsproblem Clique assoziierte Wortproblem.

2. Endliche Automaten und reguläre Sprachen

  • 2.1 Endliche Automaten
    • Definition: ( Deterministischer endlicher Automat (DEA)) Ein DEA ist von der Form A = ( Q, Σ, q0, δ, F ) mit
      • Q= Zustandsmenge / endliche Menge von Zuständen
      • Σ = endliches Alphabet
      • q0 ∈ Q = Anfangszustand
      • δ: Q x Σ → Q ( Übergangsfunktion)
      • F ⊆ Q = Eine Menge von Endzuständen

Allgemeine Vorstellungvon der Arbeitsweise ist wie folgt:

  • Am Anfang steht der Lesekopf auf dem ersten Feld des Bandes und das Programm befindet sich im Zustand q0 ( Anfangszustand )
  • Im nächsten Schritt passiert folgendes:
    1. Liest der Lesekopf den Buchstaben x ∈ Σ und befindet sich das Programm im Zustand q ∈ Q, dann bewegt sich des Lesekopf um eine Stelle nach Rechts und das Programm geht in den Zustand δ(q,x) über.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

Index