frosch03.de/posts/2013-03-31-Info3

Bits & Pieces von Innen

  • ein DFA besitzt nicht unbedingt mehr Zustände als ein NFA
  • zwei Turingmaschienen M_{1} \(\land\) M_{2} werden schritt für schritt auf \(x\) angewandt, M_{3} akzeptiert nur dann, wenn M_{1} \(\lor\) M_{2} akzeptieren; M_{3} erkennt genau die Sprache $T(\(M_{1}\)) ∪ T(\(M_{2}\))$
  • deterministische Kellerautomaten erkennen weniger Sprachen wie nichtdeterministische
  • durch eine Polynomzeit-Reduktion kann man Laufzeitabschätzungen, enthaltensein in P oder NP-härte zeigen; nicht jedoch direkt die Endlichkeit einer Sprache
  • a^{n} b^{n}, \(n \geq 1\) ist nicht regulär
  • die Menge der Wörter auf die eine Turingmaschiene angesetzt hält, ist rekursiv aufzählbar
  • falsch ist: LOOP-Programme sind genauso mächtig wie WHILE-Programme
  • gegeben: eine Turingmaschiene \(M\) mit \(\Sigma\), so ist entscheidbar ob \(T(M) \subseteq \Sigma^*\) (die Sprache welche die Turingmaschiene erkennt eine Teilmenge von \(\Sigma^*\) ist
  • bei Kellerautomaten unterscheidet sich die Menge der erkannte Sprachen zwischen den deterministischen und den nichtdeterministischen.
  • der Schnitt \(\cap\) einer regulären Sprache mit einer kontextfreien, ist selber wieder kontextfrei (Typ3-Sprache \(\cap\) Typ2-Sprache ist eine Typ2-Sprache)
  • nicht jede Turingberechenbare Funktion ist LOOP berechenbar
  • eine endliche Menge ist immer entscheidbar
  • das spezielle Halteproblem ist die Menge der Kodierungen, die halten, wenn sie ihre eigene Kodierungen als Eingabe erhalten
  • eine Sprache die von einem deterministischen Kellerautomaten erkannt wird, muss nicht von einem nichtdeterministischen Kellerautomaten erkannt werden
  • zwei Turingmaschienen M_{1} \(\land\) M_{2} werden schritt für schritt auf \(x\) angewandt; M_{3} akzeptiert nur, wenn M_{1} \(\land\) M_{2} akzeptieren; M_{3} erkennt genau die Sprache $T(\(M_{1}\)) ∩ T(\(M_{2}\))$
  • der Satz von Myhill-Nerode ist ein Hilfsmittel, um zu zeigen, dass eine Sprache regulär ist; nicht jedoch das Pumping-Lemma
  • fügt man zu einem NFA/DFA einen Übergang hinzu, so erkennt der neue NFA/DFA eine Obermenge der vom alten NFA/DFA erkennten Sprache
  • das Pumping-Lemma für Typ2-Sprachen kann begründet werden dadurch, dass eine Typ2-Grammatik endlich viele Variablen besitzt und bei Grammatiken in Chomsky-Normal-Form bei langen Wörtern mehr Ableitungsschritte als Variablen nötig sind
  • die Konfiguration eines Kellerautomaten enthält Informationen zu: Zustand, Eingabe und Keller (Kellerautomaten-Konfiguration: \(k \in Z \times \Sigma^* \times \Gamma^*\)
  • eine Sprache ist vom Typ1, wenn es eine Typ1-Grammatik gibt, mit: \(L(G) = L\)
  • es ist entscheidbar, ob die von einer Turingmaschiene erkannte Sprache semi-entscheidbar ist
  • eine reguläre Sprache ist auch immer vom Typ0
  • die Vereinigung zweier deterministischer kontextfreier Sprachen ist nicht deterministisch kontextfrei
  • die leere Sprache enthält kein Wort
  • \(A \leq B \land\) \(A\) unentscheidbar \(\rightarrow\) \(B\) unentscheidbar
  • formal ist das Halteproblem eine Sprache
  • der CYK-Algorithmus findet für Teilwörter \(x\) von \(w\) die Variablen, die nach \(* x\) abbilden
  • das Pumping-Lemma für Typ3-Sprachen begründet sich daraus, dass ein DFA endlich viele Zustände besitzt und keine Information darüber, wie oft er einen Zustand schon durchlaufen hat

Bits & Pieces von Aussen

  • die Ackermanfunktion ist eine Beispiel für eine totale, berechenbare Funktion, die aber nicht LOOP-Berechenbar ist
  • Typ2-Sprachen mit einelementigem Alphabet, \(|\Sigma| = 1\), sind regulär
  • \(A \leq B\) heißt: \(A\) ist auf \(B\) reduzierbar