Algebraische und Logische Aspekte der Automatentheorie - Cheatsheet.pdf

Algebraische und Logische Aspekte der Automatentheorie - Cheatsheet
Algebraische und Logische Aspekte der Automatentheorie - Cheatsheet Definition und Eigenschaften formaler Sprachen Definition: Formale Sprachen sind Mengen von Zeichenketten, die durch bestimmte Regeln definiert sind. Sie dienen zur Beschreibung und Analyse syntaktischer Strukturen in der Informatik. Details: Alphabet \(\Sigma\): Eine endliche Menge von Symbolen. Zeichenkette: Eine endliche Sequen...

© StudySmarter 2024, all rights reserved.

Algebraische und Logische Aspekte der Automatentheorie - Cheatsheet

Definition und Eigenschaften formaler Sprachen

Definition:

Formale Sprachen sind Mengen von Zeichenketten, die durch bestimmte Regeln definiert sind. Sie dienen zur Beschreibung und Analyse syntaktischer Strukturen in der Informatik.

Details:

  • Alphabet \(\Sigma\): Eine endliche Menge von Symbolen.
  • Zeichenkette: Eine endliche Sequenz von Symbolen aus \(\Sigma\).
  • Sprache \(L\): Eine Menge von Zeichenketten über \(\Sigma\).
  • Wichtige Klassen formaler Sprachen: reguläre Sprachen, kontextfreie Sprachen, kontextsensitive Sprachen, rekursiv aufzählbare Sprachen.
  • Reguläre Sprachen: Können durch reguläre Ausdrücke und endliche Automaten beschrieben werden.
  • Kontextfreie Sprachen: Können durch kontextfreie Grammatiken und Kellerautomaten beschrieben werden.
  • Chomsky-Hierarchie: Klassifikation formaler Sprachen in vier Typen (0-3) basierend auf ihrer Mächtigkeit und Erkennbarkeit.

Deterministische und nicht-deterministische Automaten

Definition:

Deterministischer Automat (DFA): eindeutiger Übergang für jedes Zustand-Zeichen-Paar. Nicht-deterministischer Automat (NFA): mehrere mögliche Übergänge für Zustand-Zeichen-Paare möglich.

Details:

  • DFA: \(M = (Q, \Sigma, \delta, q_0, F)\)
  • NFA: \(M = (Q, \Sigma, \Delta, q_0, F)\)
  • \( Q \) = Endliche Menge von Zuständen
  • \( \Sigma \) = Eingabealphabet
  • \( \delta: Q \times \Sigma \rightarrow Q \) (DFA)
  • \( \Delta: Q \times \Sigma \rightarrow \mathcal{P}(Q) \) (NFA)
  • \( q_0 \) = Startzustand
  • \( F \) = Menge der Akzeptier-Zustände
  • Jeder DFA ist auch ein NFA, aber nicht jeder NFA ist ein DFA.
  • Für jeden NFA existiert ein äquivalenter DFA (Powerset-Konstruktion).

Chomsky-Hierarchie

Definition:

Chomsky-Hierarchie klassifiziert formale Grammatiken nach ihrer Ausdruckskraft und grenzt die entsprechenden Sprachtypen ab.

Details:

  • Typ 0: Rekursiv aufzählbare Sprachen
  • TYP 1: Kontext-sensitive Sprachen
  • Typ 2: Kontextfreie Sprachen
  • Typ 3: Reguläre Sprachen
  • Inklusionsbeziehung: Typ 3 ⊆ Typ 2 ⊆ Typ 1 ⊆ Typ 0

Minimierung von Zustandsautomaten

Definition:

Prozess zur Reduktion der Anzahl der Zustände eines endlichen Automaten, ohne dessen akzeptierte Sprache zu ändern.

Details:

  • Äquivalente Zustände finden und zusammenführen.
  • Startzustand und Endzustände berücksichtigen.
  • Teilungsalgorithmus verwenden (z. B. Hopcroft oder Moore-Algorithmus).
  • Aufteilen von Zuständen in Äquivalenzklassen.
  • Prüfen von Paaren von Zuständen auf Ununterscheidbarkeit bezüglich ihrer Übergänge und Akzeptanz.
  • Erhalt eines minimalen deterministischen endlichen Automaten (DFA).

Konzeption und Aufbau von Turingmaschinen

Definition:

Konzeption und Aufbau von Turingmaschinen - Fokus auf formale Definition und Komponenten, grundlegendes Verständnis für Informatik-Studenten vorausgesetzt.

Details:

  • Formale Definition: Eine Turingmaschine ist ein 7-Tupel \((Q, \Sigma, \Gamma, \delta, q_0, q_{accept}, q_{reject})\), wobei:
    • \(Q\): Endliche Menge von Zuständen
    • \(\Sigma\): Eingabealphabet (ohne das Blank-Symbol \(_\sqcup\))
    • \(\Gamma\): Bandalphabet (mit \(_\sqcup\))
    • \(\delta: Q \times \Gamma \rightarrow Q \times \Gamma \times \{L, R\}\): Überführungsfunktion
    • \(q_0 \): Startzustand
    • \(q_{accept}\): Akzeptierender Zustand
    • \(q_{reject}\): Verwerfender Zustand
  • Komponenten: Band, Schreib-/Lesekopf, Steuerwerk
  • Mögliche Bewegungen: Links (L), Rechts (R)
  • Funktionsweise: Lesen und Schreiben von Symbolen, Zustandstransition basierend auf Überführungsfunktion
  • Akzeptanz: String wird akzeptiert, wenn Turingmaschine in \(q_{accept}\)-Zustand endet.

Reduktionen und Unentscheidbarkeit

Definition:

Reduktionen dienen dazu, die Unentscheidbarkeit eines Problems nachzuweisen. Ein Problem A ist unentscheidbar, wenn ein bereits bekannt unentscheidbares Problem B auf A reduziert werden kann.

Details:

  • Reduktion: Ein Problem lässt sich in polynomieller Zeit auf ein anderes Problem abbilden.
  • Unentscheidbarkeit: Es gibt keinen Algorithmus, der das Problem für alle Eingaben lösen kann.
  • Wichtige Reduktionen: Von HALT auf andere Probleme.
  • Turing-Reduktion: Turingmaschine nutzt Problem B als Orakel für Problem A.
  • Mapping-Reduktion: Problem A wird direkt in ein Problem B überführt.

Hoare-Logik und Programmverifikation

Definition:

Hoare-Logik: formales System zur Spezifikation und Verifikation von Programmen. Nutzt Hoare-Triple zur Beschreibung von Vorbedingungen, Programmen und Nachbedingungen.

Details:

  • Hoare-Triple: \{P\} C \{Q\}
  • P (Prebedingung): Bedingung vor dem Ausführen des Programms
  • C: Kommando oder Programm
  • Q (Postbedingung): Bedingung nach dem Ausführen des Programms
  • Regeln: Sequenzregel, Auswahlregel, Schleifenregel etc., um komplexe Programmverifikationen zu handhaben
  • Verifikation: Beweist, dass ein Programm in allen Fällen korrekt arbeitet

P-NP-Problem

Definition:

Das P-NP-Problem ist die Frage, ob jede in der Klasse NP liegende Sprache auch in der Klasse P liegt.

Details:

  • \textbf{P}: Menge der Sprachen, die von einem deterministischen Turing-Maschine in Polynomialzeit entschieden werden können.
  • \textbf{NP}: Menge der Sprachen, die von einer nichtdeterministischen Turing-Maschine in Polynomialzeit entschieden werden können.
  • \textbf{NP-vollständig}: Menge der härtesten Probleme in NP, die jedes andere Problem in NP lösen können, wenn ein Polynomialzeit-Algorithmus existiert.
  • Wenn P = NP, dann können alle Probleme, die in NP liegen, auch in P gelöst werden.
  • Offenes Problem in der theoretischen Informatik; eine Lösung würde tiefgreifende Auswirkungen haben.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden