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.
Maximilian
Maximilian

Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.

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.