Info 3 – lernen Alle Sätze,Definitionen und Probleme KAPITEL 1 & 2

Info 3 – lernen
Alle Sätze,Definitionen und Probleme
KAPITEL 1 & 2: DEAs und Regularität
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
DEA: Zustände & Alphabet endlich, d ist eine Funktion und keine Zuordnung (deterministisch)
Sprache: Teilmene von Sigma Stern.
Suffix: Gegenteil von Präfix
Komplementsprache: Sigma* ohne L
Regulär: Verankerung (L={a} oder L=Leer) oder Induktion (Konkat., Vereigungung und
Kleesch' Stern
SATZ: DEA ex. <=> Sprache regulär
NEA: d ist Zuordnung mit Epsilon
epsilon-Abschluss: Alle Zustände die von p mit epsilon-Übergängen erreichbar sind
Jeder NEA lässt sich in ein DEA überführen, DEA ist per Def. schon ein NEA.
Potenzmengenkonstruktion: Aus NEA (mit epsilons) mache DEA
Äquivalente Autmaten erzeugen die selbe Sprache.
NEA: epsilonübergänge lassen sich entfernen ohne dass es mehr Zustände werden: Skizze:
Es soll d'(q,a) für a genau die Zustände enthalten, in die A von q aus mit einer beliebigen
Anzahl von e-Übergängen und dem anschließenden Lesen von a kommen kann.
Pumping-Lemma regulär: |w|>n, w=uvx, uv<=n, |v|>0 Für alle i element N0
überflüssiger Zustand: von Anfang nicht erreichbar. Berechnungsaufwand: O(|Q|*|Z|)
äquivalente Zustände: selbe 'Sprache' zu Endzuständen. (einfach zu zeiten: Nicht-Äquivalenz
durch Gegenbeispiel)
Äquivalenzklassenautomat: Q'=Äquivalenzklassen von Q
Äquivalenzklassenautomat-Konstruktion: Zustände trennen in Klassen durch aufsteigende
Wortlänge, dabei werden nur die Übergänge beachtet, die ihren Ursprung in der aktuellen(!)
Klasse haben und wieder in diese zeigen (=Teil1) oder woander hinzeigen/nicht existieren
(=Teil2) Beginn mit epsilon: Trennt Q\F von F
Äquivalenzklassenautomat ist wohldefiniert aber nur dann minimal wenn überflüssige Zustände
fehlen und keine Fehlerzustünde existieren.
Rechtsinvariante Äquivalenzrelation: f.a. x,y eSgma*: ( xRy => xzRyz, f.a. z eSgma*)
Index(Relation R), Anzahl der Äquivalenzklassen die R auf der Menge (immer Sigma* und nicht
die Sprache L) bezüglich einer Sprache L erzeugt.
Nerode-Relation: xRy <=> (xz e L <=> yz e L , f.a. z eSgma*) Beweis für Nichtrelation sehr
einfach durch finden eines z. Beweis für unendlichen Index: Konstruktion eines z, für das xz in L
und yz nicht in L für z.b. festes x und variables y.
SATZ: von Nerode: Folgende 3 Aussagen sind äquivalent:
1. L wird von einem DEA erkannt
2. L ist Vereinigung aller Äquivalenzklassen EINER BELIEBIGEN rechtsinv.
Äquivalenzrel. Mit endl. Index
3. Nerode-Relation hat endl. Index
KAPITEL 3: Tms und enscheidbarkeit/berechenbarkeit
•
•
•
•
Registermaschine: Befehlszähler, Akkumulator, (mehrere) Register, Programm
DTM: Q,Sigma,Bandalphabet endlich, Blanksymbol nicht in Sigma
TMs akzeptieren Eingaben, erzeugen aber Ausgaben die u.U. nichts mit ihrer eigenen Sprache zu
tun haben: sie können Funktionen realisieren.
Halten(=stoppen): es gibt keinen Übergang mehr der passen könnte (!), muss auch in
Endzustünden gelten.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
w akzeptieren: für w halten in F.
L akzeptieren: alle w eL akzepieren
entscheidbar (=rekursiv) Es gibt TM, die immer hält, und L akzeptiert
semi-entscheidbar (=rekursiv aufzählbar) Es gibt TM, die L akzeptiert (und für Sigma*\L undef.
ist.
Konfiguration einer TM: Aktueller Zustand aus Q, kompletter Bandzustand + Zeiger auf
Bandposition.
(Turing-)berechenbar (=totalrekursiv) (Funktion f auf Sigma*!): TM hält für alle w aus
Sigma* und auf dem Band steht danach f(w).
eine TM realisiert eine Funktion f wenn sie nur für w aus Definitionsmenge von f stoppt und
sonst undef.
Eine Sprache ist entscheidbar <=> ihre charakteristische Funktion ist berechenbar.
Church'sche These: TM ist LeadHackÜber-mächtig (es gibt nix mächtigeres)
Mehrere Bänder lassen sich mit einer TM simulieren.
Mehrere Lese/Schreibköpfe lassen sich mit einer TM simulieren.
Mehrdimensionale Bänder lassen sich mit einer TM simulieren.
Gödelnr . <M>, wenn M TM ist. 111 _code_ 11 _code_ 11 _ ... 111 dabei ist code=
0010100010010 (die nullen bedeuten die kodierung eines Eintrags in der Übergangszuordnung)
Universelle TM: erhält <M> und eingabe w und simuliert M mit w.
Diagonalsprache: Tabelle mit allen eingabewörtern und allen Gödelnummern in kanonischer
Reihenfolge: Inhalt: 1=M akzepiert w, 0= sonst (fehler oder endloslauf)
Ld ist die Sprache, die die Hauptdiagonale der Tabelle enthält: Ld={wi | Mi akzeptiert wi
NICHT!!!!!} mit i ist der Index der Tabelle. Also da wo die Tabelle eine 0 hat.
SATZ: Ld ist nicht entscheidbar. Sigma*\Ld ist nicht entscheibar.
Halteproblem: H = { wv | Tw hält für v }, sagt also für welche Eingaben die Universelle TM hält.
Und zwar gdw. wv e H.
SATZ: Halteproblem ist nicht entscheibar.
Universelle Sprache: Lu={ wv | Tw akzeptiert v }
SATZ. Lu ist nicht entscheidbar.
SATZ: Lu ist semi-entscheidbar.
SATZ von Rice: R:= Menge aller von TMs berechenbaren (mehr als nur realisierbar)
Funktionen. S nichttriv. Teilm von R. Dann gilt: L(S):={<M> | M berechnet eine Fkt aus S} ist
nicht entscheidbar.
Aus dem Satz von Rice folgt: Es ist für Programme nicht entscheibar ob ihre Sprache leer,
unendlich oder ganz Sigma* ist.
Beweisschema für Unentscheidbarkeit: Annahme A sei entscheidbar, damit kann ein
bekanntes unentscheidbares Problem entschieden werden. Widerspruch.
Postsches Korrespondenzproblem: 2er Tupel links-bzw. Rechsseitige Konkatenation muss gleich
sein für eine endliche Auswahl (mehr als keine) an Tupeln
SATZ: PKP ist nicht entscheibar
KAPITEL 4: Komplexitätsklassen P, NP, NPC und so Gedönsviecher...
•
•
•
•
•
•
Travelling Salesman Problem (TSP): Vollständiger Graph, Längenfunktion E auf Z (Ganze
Zahlen). Frage: Gibt es eine Rundtour mit Länge l<=K, K ganze Zahl.
Entscheidungsproblem: JaNein Antwort verlangt, dabei ist meist ein Parameter K.
Optimimalwertproblem: Gesucht ist der Wert der Optimalen Lösung
Optimierungsproblem: Gesucht ist die optimale Lösung
Alle 3 Probleme sind bei TSP polynomiell Überführbar. Zumindest bei TSP. Anderes ist im
Script nicht explizit erwähnt.
Kodierungsschema: ordnet jedem Problembeispiel eines Problems eine Zeichenkette oder
Kodierung über einem Alphabet Sigma zu. Verschiedene Probleminstanzen müssen versch.
Kodierungen haben. Vernünftige Kodierung ist k-är mit k>1 denn für k=1 siehe
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Pseudopolynomial und für k=0 gibt es nur eine Kodierung. Doof.
Äquivalente Kodierungsschemata s1 und s2 für ein Problem P: Es gibt 2 polynome die jeweils
die Kodierungslänge des anderen Schemas nach oben beschränken. Und zwar für alle
Probleminstanzen von P.
Probleminstanz = Problembeispiel.
Entscheidungsproblem: Lässt sich unterteilen in JA-Beispiele und Nein-Beispiele.
Sprache eines Entscheidungsproblems P mit Kodierungsschema s: Alle Wörter, die s-kodierte
Ja-Beispiele für P darstellen.
Achtung: Dieser Punkt/Definition ist im Script ein wenig LariFari...Eine TM löst ein
Entscheidungsproblem mit Kodschem. s: TM akzeptiert alles und danach steht auf dem Band ob
es ein Ja-Beispiel war oder nicht.
Zeitkomplexitätsfunktion Tm(n)=maximale anzahl von berechnungsschritten über allen
kodierten beispielen der Länge n.
Die Klasse P ist die Klasse aller Tms mit Tm(n) ist ein Polynom.
SATZ: Liegt das Enscheidungsproblem TSP in P, dann liegt auch das Optimierungsproblem in P.
Algorithmus OPT-TOUR ist polynomial und berechnet das Optimierungsproblem mit
polynomial höherem Aufwand als das Entscheidungsproblem des TSP.
NTM: Orakel schreibt links von Eingabe auf das Band und wandert dann zurück zum ersten
Zeichen der Eingabe, danach wird der Det. Teil der TM laufen gelassen.
Die Klasse NP ist die Klasse aller NTMs mit Tm(n) ist ein Polynom.
Alle Sprachen in NP sind entscheidbar.
TSP ist in NP.
Polynomiale Transformation einer Sprache L1 auf L2: Funktion f:L1->L2, TM für f in P und für
alle x auf Sigma* muss gelten: (x in L1 <=> f(x) in L2). Formal: L1 (komischer kringel mit
öffnung nach rechts) L2.
NP-Vollständig: L in NP und für alle L' auf NP: L' polynomial transformierbar in L, da pol.
Tranformationen transitiv sind, genügt es die vollständigkeit mit der Transformation von einem
einzigen NP-vollständigen Problem zu zeigen.
Problem SAT. Menge von Klauseln und Menge von Variablen. Gibt es eine Wahrheitsbelegung
der Variablen?
SATZ von Cook: SAT ist NP-vollständig: Beweis: Konstruktion von Klauseln die genau dann
erfüllt sind, wenn eine NTM akzeptiert.
Problem 3SAT: Alle Klauseln haben nur 3 Literale.
SATZ: 3SAT ist NP-Vollständig Beweis über SAT -> 3SAT.
Problem CLIQUE: Graph, Parameter K: gibt es einen zushängenden Teilgraph (Clique) mit
mind. K Knoten?
SATZ: CLIQUE ist NP-vollständig: Beweis: 3SAT->Clique: 3er Knotengruppen und verbinden,
wo sie dem selben literal entsprechen oder wenn sie sich nicht widersprechen, ausserdem werden
sie innerhalb ihere 3ergruppe nicht verbunden. 3Sat mit n klauseln entspricht dann clique im
graph mit K=n.
Problem 2SAT: nur 2 pro klausel:
2SAT ist in P: Beweis Algorithmus: Konstruiere für jede Var. Ein a und ein a quer. -Knoten
(gewichteter graph). Für eine Klausel (x,y) verbinde folgende Knoten: (xquer,y) (yquer,x), es
gibt dann eine belegung, wenn für x und xquer kein pfad nach links UND nach rechts ex., also
genau dann wenn beide pfade nicht existieren. (Johannes, hab ich das richtig verstanden?)
Max2SAT: NP-Vollständig, Beweis: 3SAT->2SAT keine Ahnung wie genau.
Problem COLOR: Graph mit K, gibt es eine Knotenfärbung mit höchstens K Farben
3COLOR: COLOR mit K=3
SATZ: 3COLOR ist NP-Vollständig. Beweis: 3SAT->3COLOR. Der graph mit den Satelitten
und den Farben a,f,t. Belegung in 3SAT entspricht dann den knoten mit denen der (einzig) fgefärbte Knoten pro Satelitt verbunden ist.
Problem EXACT COVER: Menge X und S Teilmenge von P(X) (Potenzmenge). Gibt es
Teilmenge S' von S sodass alle T auf S' paarweise disjunkt sind und ihre Vereinigung T1undT2
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
und... und Tn = X ist?
SATZ: EXACT COVER ist NP-vollständig. Beweis: 3COLOR -> EXACT COVER: Für alle
Knoten werden in die Menge X elemente Angelegt 3malNachbarschaft+3 plus das original
element v. In S gibt es für jedes v 3 disjunkte Mengen Sr Sg Sb mit jeweils nachbarschaft+1
elementen. Ausserdem noch 3 zweielementige Mengen {v,er} {v,eb} {v,eg} mit ei ist aus Si.
Interpretation: Si enspricht der Farbe i, enthält für jeden Knoten aus Nachbarscahft eine Kopie
und einen zusätzlichen Knoten ei.
Problem SUBSET SUM. Menge M + Gewichtsfunktion w M->N0 + Konstante K. Existiert
Teilmenge M' aus M mit Summe aller w(a)=K, a aus M.
SUBSET SUM ist NP-vollständig. Beweis: EXACT COVER -> SUBSET SUM. Abgespacete
Scheiße.
Problem PARTITION: Graph, Gewichtsfunktion. Gibt es eine Teilmenge, die genau die selbe
Gewichtung wie ihr Komplement hat.
PARTITION ist NP-vollständig. Beweis: SUBSET SUM -> PARTITION
Problem KNAPSACK: Menge M + Gewichtsfunktion + Kostenfunktion, W,C, alles natürlich.
Gibt es Teilmenge mit Gewichtssumme höchstens W aber Kosten mindestens C
KNAPSACK ist NP-vollständig. Beweis: PARTITION->KNAPSACK.
Für NP-vollständige Probleme L gilt: (L in P) -> (P=NP), (nicht in P)=>(alle L' in NP sind nicht
in P)
NPC ist die Klasser der NP-Vollständigen Sprachen/Probleme
NPI ist die Klasse NP\(P u NPC), also diejenigen, die in NP sind, aber nicht NP-Vollständig und
nicht in P.
Co-P ist die Klasse aller Komplemente von P-Sprachen.
Co-NP ist die Klasse aller Komplemente von NP-Sprachen.
SATZ (von Ladner): (P!=NP)=>NPI ist nicht leer.
Problem: co-TSP: Gibt es KEINE Tour mit Länge höchstens K?
Cp-TSP liegt in co-NP. Weitere Folgerungen nicht möglich.
Sei L in NPC und in co-NP => NP=co-NP
Problem:Subgraphisomorphie: egal.
Problem:Graphenisomorphie: mut zur Lücke!
Suchprobleme, Aufzählungsprobleme und Optimierungsprobleme sind Kandidaten, die nicht in
NP liegen könnten.
Suchproblem P: Dp ist die Menge der Problembeispiele und I aus Dp also Sp(I) die Menge aller
Lösungen von I. „Lösung“: Gib ein Treffer aus oder Nein, falls nix gefunden.
Problem: TSP-Suchproblem: wie TSP-Optimierungsproblem nur dass Gewichtung reell ist.
Nicht in NP.
Problem: Hamilton-Kreis(Suchproblem). Suche Hamiltonkreis (enthält jeden Knoten) in bel.
Graph. Nicht in NP.
Aufzählungsproblem P: Meine der Problembeispiele Dp. Rest wie Suchprob. „Lösung“ ist die
Angabe der Kardinalität aller existierenden Suchtreffer. |Sp(I)|
Hamilton-Kreis(Aufzählungsproblem): Anzahl der versch. Hamilton-Kreise im Graph. Nicht in
NP.
Relation Rp sind alle Tupel(SP,AP) SP Suchprob. AP Aufzählungsprob.
Funktion realisiert eine Relation wenn sie f(x)=y für x ein passendes y ausspuckt oder aber ein
epsilon, falls nichts in Relation mit x steht. x ist SP, y ist AP. (x,y) in Rp.
Orakel-Turing-Maschine: TM mit Orakelband und Antwort- und Fragezustand.
Turing-Reduktion: (kringelsymbol mit einem Altdeutschen T im Index) Seien R, R' Relationen
über Sigma*. Eine Turing Reudktion von R auf R' ist eine Orakel-Turing-Maschine deren Orakel
die Realtion R' realisiert und die selber in polynomiealer Zeit die Funktion f berechnet, die R
realisiert.
NP-Schwer. Ein Suchproblem P heiß so, wenn es ein P' in NPC gibt, das auf PÜ reduzierbar ist.
Also: Optimierungsprobleme für die das zugehörige Entscheidungsproblem NPC ist. Und
Entscheidungsprobleme die aus NP-vollst. Problemen poylnomiell reduzierbar sind aber für die
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
nicht klar ist, ob sie selbst in NP liegen.
P in NPC => P ist NP-schwer.
Problem INTEGER PROGRAMMING. mn-Matrix A, m-vektor: m-vektor b und n-vektor c, B.
Alles natürliche Zahlen. Gibt es einen n-Vektor x mit Summe aller cx = B und Summe aller Ax
kleiner gleich b für alle werte in b, bzw. Spalten in A.
INTEGER PROGRAMMING ist NP-schwer. Beweis: rofl -> lol
L ist NP-Schwer => L-Komplement ist NP-Schwer.
Pseudopolynomial: NP-Vollst. Probleme, die bei unärer Kodierung der Probleminstanzen mit
einer DTM in poylnomieller (bezügl. Länge des unären Wortes) Zeit lösbar sind.
Approximationsalgorithmus mit Differenzengarantie = absoluter Approximationsalgorithmus:
|OPT(I) – A(I)|<=K, K fest für ein existierendes A mit gegebenem Problem.
Beweisschema zur Nichtexistenz: Nimm an P!=NP. Wähle Probleminstanz I, gibt OPT(I) an,
pumpe Probleminstanz zu I' auf, sodass OPT(I')>K(OPT(I), zeige, dass A() genauso mitwachsen
muss, zeige dass A()=OPT() gelten muss => P=NP. Widerspruch zur Annahme.
Für KNAPSACK,CLIQUE lässt sich dieses Schema durchführen.
Approximationsalgorithmus mit relativer Gütegarantie: Quotient A(I)/OPT(I) ist immer
größer/kleiner (jenach Problem) als K für alle Probleminstanzen, auch nur dann wenn N!=NP
Der Greedy-Algorithmus für KNAPSACK erfüllt die Bedingung <=2 (relative Gütegarantie)
Falls P!=NP geht nicht weniger als 4/3 für KNAPSACK (relative Gütegarantie)
TSP mit Dreiecksungleichung geht mit <2 (relative Gütegarantie)
epsilon-approximativer Approximationsalgorithmus: R(I) ist kleiner gleich 1+epsilon für alle
Probleminstanzen I.
(P)AS (polynomiales) Approximationsschema: Menge von Epsilon-approximativen
Algorithmen. Poylnomial, falls alle Algorithmen poylnomial bzgl. einer Kodierungslänge von I
sind.
FPAS: Vollpolynomiales Approximationsschema: Alle Algorithmen sind polynomial bzgl.
1/epsilon
SATZ: Sei P ein Problem in NP-schwer => OPT(I) ist natürliche Zahl mit 0. und es gibt ein
polynom q das die Obergrenze von OPT(I) bestimmen kann. Also OPT(I) kleinergleich q(|I|)
SATZ: Für KNAPSACK gibt es ein FPAS-Algorithmus Mit Aepsilon ist in O(n³ * 1/epsilon)
SATZ: Sei P ein Optimierungsproblem => OPT(I) ist in N0, und es gibt ein Polynom q mit OPT
(I) kleinergleich (q(I)+max#(I)). max# ist die größte in I vorkommende Zahl..
•
KAPITEL 5:Chomsky n Friends
•
•
•
•
•
•
•
•
•
•
Grammatik G=(Alphabet Sigma,Nichtterminale V, S, Ableitungsregeln R)
Sprache, die eine Grammatik erzeugt: alle Wörter die aus S mit bel. Vieleln R's entstehen
können. Und zwar nur die ohne Nichttterminale (Variablen)
Jede Grammatik G hat CH-0-Typ. Jede Grammatik ist semi-entscheidbar(=rekursiv aufzählbar)
CH-1-Typ bedeutet: Epsilon nur als S->epsilon erlaubt, u->v mit |u| kleinergleich |v| mit u nur
Nichtterminale (mehr als 0) und v beliebig (aber halt nicht epsilon und nicht kürzer als u.
Formale Bezeichnung: kontextsensitiv. Es macht keinen Unterschied, ob man auch für u
Terminale zulassen würde, da gibt es sicherlich einen passenden Konstruktionsalgorithmus. CH1-Klasse ist genau die Klasse NTAPE(n) (s.u.)
CH-2-Typ: kontextfrei: A->v, A ist genau 1 Nichtterminales zeichen und v beliebig.
CH-3-Typ: rechtslinear (Linkslinear wurde nur im Goos definiert, also nicht klausurrelevant): A>epsilon oder A-> aB , A,B Nichtterminale Zeichen und a ist element Sigma. CH-3-Klasse ist
genau die Klasse der NEAs/DEAs (ist ja egal was).
DTAPE(s(n)) sind alle Sprachen von DTMs mit Platzbedarf s(n)
NTAPE(s(n)) sind alle Sprachen von NTMs mit Platzbedarf s(n)
NTAPE(s(n)) = NTAPE(n), falls s nur linear ist.
CLIQUE gehört zu NTAPE(n)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Syntaxbaum = Ableitungsbaum. Buchstaben in Kringel und neue Teilwörter nach unten auf
selber Höhe.
Links(rechts)ableitung: in jedem Schritt wird nur das am weitesten Links(rechts) stehende
Zeichen abgeleitet.
Eindeutige Grammatik: für jedes Wort ist der Ableitungsbaum eindeutig, die Sprache heißt dann
eindeutig wenn es für sie eine (eventuell andere) Grammatik gibt
Inhärent mehrdeutige Grammatik/Sprache: nicht eindeutige Grammatik/Sprache.
Nochmal: Eine eindeutige Sprache kann auch inhärent mehrdeutige Grammatiken besitzen. Aber
sie muss auf jeden Fall mind. 1 eindeutige Grammatik besitzen.
Chomsky-Normalform: A->BCoder A->a epsilon nur so erlaubt: S'->epsilon, S'->S.
Ch-Normalform ex. f. a. CH-2-Grammatiken und umgekehrt. (Achtung: gilt nicht für epsilonGrammatiken)
SATZ (cocke-younger-kasami): Es gibt einen Algorithmus in P der für w prüft ob es in einer
kontextfreien Grammatik ist: Bilde Pyramide und die Grammatik in CH-Normalform. Spiele rum
bis oben ein S steht, wenn nicht, geht's net.
Pumping-Lemma für Kontextfreiheit: |z|>=n z=uvwxy mit |vx|>=1, |vwx|<=n und uv(i)wx(i)y ist
in L für alle i aus N0. Nur für Widerspruchsbeweise geeignet. (also um Nicht-Kontextfreiheit zu
zeigen)
Odgens Lemma: Es gibt ein n mit in |z|>=n könen wir mind. n Buchstaben markieren sodass bei
z=uvwxy mind 1 markierter Bst in vx liegt und höchstens n in vwx liegen. Und: Mit (i) wie beim
Pumpinglemma
SATZ: CH-3 teilm. CH-2 teilm. CH-1 teilm. CH-0
eine nutzlose Variable in einer Grammatik: Sie wird nirgendwo erzeugt
SATZ: Die Menge der nutzlosen Variablen kann in polynomieller Zeit berechnet werden.
Insbes. Kann S nutzlos sein, somit ist L(G) leere Menge gdw. S nutzlos ist. (G kontextfrei!!!)
G kontextfrei: ion polynomaler Zeit entscheibar, ob L(G) endlich.
Kontextfreiheit ist abgeschlossen bzgl. Vereinigung, Konkatention und Kleescher Abschluss
(Stern)
Kontextfreiheit ist nicht abgeschlossen bzgl. Schnitt und Komplementbildung.
Greibach-Normalform: A->aw, a terminal, w ein Wort aus V* (also nur Variablen)
SATZ: G ist kontextfrei und enthält kein epsilon <=> es gibt Greibachnormalform
Kellerautomat (PDA): Q,Sigma,Stackalphabet endlichZ0 initialisierung, anfangs,endzustand,
übergangsfunktion delta d.
Deterministischer PDA: |d(q,a,Z) + d(d,epsilon,Z)| höchstens 1, ansonsten nichtdeterministisch:
NPDA.
SATZ: NPDA, PDA, Kontextfrei, Greibach-Normalform, Chomsky-Normalform, CH-2 sind
genau die selben Klassen. Alle! Achtung mit epsilon bei den Normalformen. Wird aber in der
Klausur nicht vorkommen, wurde gesagt.
PDA,NPDA akzeptieren entweder durch leeren Stack oder durch Endzustand oder durch beides,
solche Kellerautomaten sind alle ineinander überführbar.
SATZ: Das Problem für kontextfreie Grammatiken G1 und G2 zu entscheiden, ob ihr Schnitt
leer ist, ist nicht entscheidbar.
Das Problem für eine kontextfreie Grammatik G zu entscheiden, ob sie eindeutig (siehe
Syntaxbaum) ist, ist nicht entscheidbar.
BM ist die Sprache der korrekten Rechenwege einer TM M. BM besteht aut
w1#w2R#w3#w4R#... also abwechselnd ein R oben drauf, aber der index wird immer erhöht.
Und es beginnt immer mit w1. w sind kodierte Konfigurationen der TM.
Für alle TM ist BM der Schnitt der Sprache von 2 kontextfreien Grammatiken.
Sei M TM die mind. 2 Schritte ausführt für alle Eingaben => BM ist genau dann kontextfrei,
wenn L(M) endlich ist.
Für jede TM M ist das Komplement (BM)c von BM kontexfrei.
SATZ: G1, G2 sind alle kontextfrei, folgende Enscheidungsprobleme sind nicht Entscheidbar:
1. schnitt G1 und G2 ist kontextfrei.
•
•
2. L(G1) = Sigma*
3. L(G1)=(G2)
4. L(G1) ist Teilmenge von L(G2)
SATZ: Sprache L={a(i) b(j) c(k) | i=j oder j=k}, L ist inhärent mehrdeutig, aber kontextfrei.
Folgende Probleme sind nicht semi-entscheidbar:
1. Erfüllbarkeitsproblem der Prädikatenlogik
2. Komplement des Halteproblems.
Wichtige Stichworte aus den Übungsblättern und alten Klausruen(also vielleicht Klausurrelevant
sind) :
Huffman-Codierung
Präfixfrei
Regulären Ausdruck für einen DEA finden.
DEA für einen Regulären Ausdruck finden.
Rechnen mit folgenden Operatoren für Reguläre Sprachen: Schnitt, Vereinigung (+),
Konkatenation, \, /, Kleescher Stern, einfache Hochzahlen.
Gleichungssyteme mit Sprachen lösen: A=bBB, B=A + bb, C=AB\aC oder so...
Beweis: endliche Sprachen sind regulär.
Beweis: Ein Automat akzeptiert eine bestimmte Sprache. L(A)=L mit Teilmenge in beide
Richtungen ist der korrekte Beweis, dabei muss L(A) informell erklärt werden.
Beweis: (A schnitt B)* = A* schnitt B* ist falsch, Gegenbeispiel.
Beweis: (A u B)* = A* u B* ist falsch: Gegenbeispiel.
Selber Beweis: Unter der Annahme A teilmenge B.
Sprache von DEA erkennen mithilfe der Methode aus dem
Script: L(qr,i+1,qt) = L(qr,i,qt) u (L(qr,i,qi+1)(L(qi+1,i,qi+1))*L(qi+1,i,qt)) Auswendig
lernen!!!
epsilon-Übergänge am NEA eliminieren: Für jedes Epsilon: Skizze: Es soll d'(q,a) für a genau die
Zustände enthalten, in die A von q aus mit einer beliebigen Anzahl von e-Übergängen und
dem anschließenden Lesen von a kommen kann. Also an allen Blättern von einem 'epsilonBaum' die beginnenden Kanten kopieren und ihren Anfang an die wurzel des baumes setzen, die
kantenenden bleiben an der gleiche stelle, gilt auch für reflexive kanten, reflexive epsilonübergänge
können einfach so gelöscht werden. Mit diesem Verfahren bleibt die anzahl der zustände gleich.
Potenzmengenkonstruktion: geht auch mit epsilonübergängen.
Beweis L= a hoch p, p prim ist nicht regulär. z.b. mit Pumpinglemma.
Beweis: L= a hoch 2i ist regluär. Angabe eines DEA
Beweis: L= a hoch (2 hoch i) ist nicht regulär: beweis.Pumpinglemma.
Gleichung: X=AX u B Mögliche Lösung: X=A*B
Beweis: Automat für eine Sprache hat eine Minimale Zustandsmenge. Entweder informell oder
DEA konstruieren und dann Äquivalenzklassenautomat bilden.
Beweis: (AB u A)*A = A(BA u A)* ist wahr. Durch ganz formale Zerlegung der einzelnen Seiten
der Gleichung.
Beweis: A(AB u B)* = AA*B(AA*B)*A* ist falsch durch gegenbeispiel. aba
Beweis: Regulär ist abgeschlossen unter komplementbildung: Konstruktion eines Negations-DEA.
Beweis: Regulär ist abgeschlossen unter Schnitt: L=(Lc vereinigt Lc)c ist gleich L schnitt L
Beweis: Minimalität von DEA: Gegenbeispiel für alle Zustandspaare. Auch Endzustände.
Beweis: L={a(j)b(k)c(l) | j,k,l => 0, und k=l falls j=1} Zeigen, dass Pumpinglemma erfüllt ist unter
der Annahme L sei regulär. Daraus folgt, dass PL nur zu Widerspruchsbeweisen benutzt werden
kann.
Beweis: obiges L ist nicht regulär: L=ab(n)c(n) vereinigt mit aaa*b*c* und der erste Teil ist nicht
regulär, dafür der zweite Teil. Da beide Teile disjunkt sind, gilt dass L nicht regulär sein kann.
Beweis: NEAs können in einen NEA mit nur einem Endzustand überführt werden.
Beweis: Für NEAs ohne epsilon gibt es einen NEA ohne epsilon mit max. 2 Endzuständen.
Beweis: Nicht zu jedem NEA ohe epsilon gibt es einen NEA ohne epsilonmit max. 1 Endzustand.
Gegenbeispiel.
Beweis: Ein DEA ist eindeutig bzgl. seiner Sprache, wenn er Zustandsminial ist.
Potenzmengenkonstruktion
Beweis: es gibt keinen DEA mit weniger als K zuständen: Potenzmengekonstruktion.
Pumplinglemma benutzen für : Gerade Palindrome
PL für a(n+i+j)b(n+i)c(n) mit n=>0, i,j>0
PL für Sprache aller wörter die mehr 0en als 1en enthalten.
L=0 hoch k, k ist vielfachen von p oder q, mit p teilerfremd q, dann hat jeder DEA mindestens pq
zustände.
TM konstruieren, die die Differenz zwischen der anzahl von a und b als a auf band schreibt.
Beweis: Rechts-Turingmaschine: Sie kennt kein L,N, sondern nur R. Eine Rechts-TM ist genau so
mächtig wie reguläre Sprachen.
Busy-Beaver-Problem. BBP: ist nicht berechenbar.
Beweis: Äquivalezrelationen und ihre eigenschaften benutzen.
Kontruktion eines Äquivalenzklassenautomaten.
Beweis: ein NEA hat wörter größer n => L ist unendlich.
Beweis: gerade Palindrome sint nicht regulär (Pumpinglemme, oder Neroderel. Hat unendlich
großen index)
Äquivalenzklassen einer Sprache auf Sigma* bzgl. Nerode-Relation bestimmen.
Beweis: Die Sprache aller Turingmaschinen(Gödelkodiert) mit M entscheidet Leere Menge ist nicht
entscheidbar, da KEINE AHNUNG
Das komplement der Sprache ist semi-entscheidbar.
PKP ist entscheidbar für |Sigma|=1;0, in alen anderen Fällen nicht entscheidbar, auch wenn =1 dabei
ist. z.b. |Sigma|=1;4;5;6;7;...
Konfigurationsverlauf für ein Beimmtes Wort in TM, in NPDA, PDA.
Sprache einer TM angeben, informelle Begründung.
Platzbeschränkte TM sind nicht so mächtig wie TMs, z.b. lässt sich für sie das Halteproblem
entscheiden. Beweis. Algorithmus der das kann angeben.
TM angeben, die die Eingabe um 1 nach rechts verschiebt.
2-Band-TM lässt sich in O(T²(n)) mit einer DTM silmulieren, wenn diese den Aufwand T(n) hat.
Genau darauf achten, dass der Aufwand polynomiell zur KODIERTEN eingabe ist, also damit
können noch e-Funktionen eliminiert werden.
PKP ist entscheidbar wenn alle Wörter die selbe Länge haben.
TM die kanonische Aufzählung vollzieht.
Beweise:
1. L1, L1c sind semi-entscheidbar => L1 ist entscheidbar.
2. Semi-entscheidbarkeit ist unter komplement bildung nicht abgeschlossen (halteproblem)
3. semi-entschdeidbarkeit ist unter Vereinigung/Schnitt abgeschlossen.
4. L1, L2 semi-entscheidbar => L1\L2 semi-entscheidbar.
5. Min(L1) mit kein echtes Präfix(suffix auch möglich) ist entscheidbar, wenn L1
entscheidbar ist. (damit ist keine Äquivalenz beweisen <=>!!!)
LÄQUI ist nicht entscheidbar L={u#v | Tu und Tv entscheiden die selbe Menge } Beweis: H0 auf
LÄQUI transformieren.
Andere Definition für NTM möglich: automatenteil ist nicht-deterministisch. Beweisen, dass diese
Sprache genau die der normalen NTMs (Orakel) ist.
Beweis: Polynomiale Transformierbarkeit ist Äquivalenzrelation auf P.
Index bestimmen von Pol. Transf auf P.
RSA-Verschlüsselung: Aufwand polynomiell. n=pq (p,q prim) e teilerfremd mit (p-1)(q-1), d<n mit
ed rest 1 bei mod n. Öffentlich: (n,e) privat (n,d); Nachricht x wird kodiert (xhoch e)mod n;
Entschlüsseln: x =( y hoch d) mod n. Angriffe liegen nicht mehr in P.
Satelitten-Graph für 3SAT -> 3COLOR angeben.
Transformation von CLIQUE auf INDEPENDENT SET.
Beweis: P=NP => P\{leere menge und Sigma*} ist genau die Klasse NPC.
Beweis: Leere Menge und Sigma* sind nicht NP-Vollständig, da keine Transformation von einem
NP-vollst. Auf die beiden existieren kann, da diese Triviale Probleme (konstanter Aufwand) sind.
Beweis: TSP ist stark-NP-vollständig (also nicht pseudopolynomial)
Beweis: Nicht-Existenz einen aapproxalg für CLIQUE, falls P!=NP
EXACT COVER als INTERGER PROGRAMMING formulieren: (hardcore): x repräsentiert die
vorkommen der teilmengen in S' und a die vorkommen der elemente in ihren Teilmengen. b ist
immer 1.
NP-Probleme sind bzgl. Komplement nicht abgeschlossen,
PLÄTZCHENDOSENPROBLEM (PDP): n gleiche Dosen, Plätzchen mit ganzzahligem Gewicht.
Entscheidung: passen die plätzchen in die Dosen?
Alle Probleme in der Übersicht:
Halteproblem – alle wv mit Tw hält für v.
Ho – Halteproblem für leere Eingabe ist nicht entscheidbar.
Diagonalsprache – alle wi mit Twi akzeptiert wi nicht. (i ist index auf tabelle)
Universelle Sprache – alle wv mit Tw akzeptiert v
Post'sches Korrespondenzproblem (PKP) Tupelauswahl gesucht damit Gleichheit
Travelling Salesman Problem (TSP), Optw, Optimier., Entsch.; Graph+ganzzahlige Gewichtung,
alle Knoten mind. Einmal in der Lösung dabei.
Co-TSP: Gibt es keine Tour mit Länge höchstens K
SAT Gibt es eine Wahrheitsbelegung über (verschieden großen) Klauseln
3SAT : SAT mit 3er-Klauseln (Transformation von 3SAT)
Max3SAT: NP-Vollständig.
CLIQUE: gibt es vollst. Teilgraph mit |V'|>=K?
k-CLIQUE: ist in P. Gibt es Clique mit größe mind. k. Beweis: Der Aufwand ist in O(n hoch k)
mal O(p(n)).
CLIQUE-Cover: Gibt es max. K vollst. Teilgraphen die disjunkt sind zusammen genau V ergeben?
=> NP-Vollständig.
2SAT: 2er-Klauseln
Max2SAT: 2er-Klauseln und K, gibt es Belegung dass mind. K Klauseln erfüllt sind.
COLOR: Graph, K. K-Farbbelegung gesucht. JaNein als Antwort.
3COLOR: Graph: Gibt es 3er-Färbung?
EXACT COVER: Überdeckung von Teilmengen exakt möglich?
SUBSET SUM: Teilmengen gewichtungssumme ist genau = K
PARTITION: Gibt es Teilmenge mit dem selben Gewicht wie ihr Komplement?
KNAPSACK: Gibt es Teilmenge mit: Gewicht höchstens W, und Kosten mindestens C?
Subgraphisomorphie: würg.
Graphenisomorphie: würg
INTEGER PROGRAMMING, Ax<=b, cx=B
BUSY-BEAVER: BBP. Ist nicht berechenbar.
Sortierung von nat. Zahlen nach Differenz.
LINEAR INEQUALITIES System von Gleichungen c11X1 + ... + c1nXn >= d1 mit c,d Gegeben
und Belegung X gesucht, sodass alle Gleichungen erfüllt sind. => NP-Vollständig. Transformation
von 3SAT.
HAMILTON-KREIS (HASSSSEEEE): NP-Vollständig.
EULERKREIS: in P
Alle NP-Probleme sind in 2 hoch p(n) entscheidbar. Mit Polynom p abhängig vom Problem.
p Permutation mit k Elementen dann ist p hoch k gleich der identität.
COMMON SUPERSEQUENCE (CSS): (u,v,n) wenn u und v eine gemeinsame SS der länge n
besitzen. Shortest CSS ist NP-Vollständig. CSS ist in P.
INDEPENDENT SET (IS): Teilmenge mind. K Knoten ohne interne Kanten. => NP-Vollständig.
IN-PLACE-ACCEPTANCE (IPA): Gegeben TM und Eingabe x der Länge n. Frage: berechnet
TM x nur auf n Bandzellen und sonst nirgendwo? PSPACeE ist wohl die Klasse der TMs deren
Platzbedart polynomial zur Eingabelänge ist.
NEAR-TAUT: Gegeben Variablenmenge Klauselmenge gibt es eine Variablengelegung so dass
nicht alle Klauseln erfüllt sind. Liegt in co-NP.