Lösungen TheGI TI Probeklausur vom 19.01.06: Unterschied zwischen den Versionen
(→Aufgabe 5) |
(→Aufgabe 3) |
||
(105 dazwischenliegende Versionen von 14 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Für die Lösungen wird natürlich keine Garantie übernommen. Der Assistent war sich beim Vorrechnen | + | Für die Lösungen wird natürlich keine Garantie übernommen. Der Assistent Sebastian Bab war sich beim Vorrechnen manchmal selbst nicht sicher... |
===Aufgabe 1=== | ===Aufgabe 1=== | ||
− | im Lückentext einsetzen: endliche, endlich, abzählbar unendlich, endlich, abzählbar unendlich, Mächtigkeit, Mächtigkeit, überabzählbar | + | :im Lückentext einsetzen: endliche, endlich, abzählbar unendlich, endlich, abzählbar unendlich, Mächtigkeit, Mächtigkeit, überabzählbar |
===Aufgabe 2=== | ===Aufgabe 2=== | ||
− | {| border="1" | + | :{| border="1" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" |
|a ∈ Σ | |a ∈ Σ | ||
|Σⁱ = Σ | |Σⁱ = Σ | ||
Zeile 20: | Zeile 20: | ||
|Σ² ∈ P(Σ*) | |Σ² ∈ P(Σ*) | ||
|} | |} | ||
− | {| border="1" | + | :{| border="1" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" |
|{''aa,bb,ab,ba''} = Σ² | |{''aa,bb,ab,ba''} = Σ² | ||
|{''xab'' : x ∈ Σ*} = {''x'' ∈ Σ* : ''x'' endet mit ''ab''} | |{''xab'' : x ∈ Σ*} = {''x'' ∈ Σ* : ''x'' endet mit ''ab''} | ||
Zeile 29: | Zeile 29: | ||
===Aufgabe 3=== | ===Aufgabe 3=== | ||
− | # {''x'' ∈ Σ* | + | # {''x'' ∈ Σ* : ''x'' beginnt mit ''a'' und endet mit ''b''} <br> auch: {''axb'' : ''x'' ∈ Σ*} |
− | # {''x'' ∈ Σ | + | # {''x'' ∈ Σ<sup>+</sup> : ''x'' beginnt mit ''a'' oder ''b''} |
− | # {''x'' ∈ Σ* | + | # {''x'' ∈ Σ* : ''x'' beginnt mit ''a'' oder ''b'' oder ist das leere Wort} |
− | # {''x'' ∈ Σ* | + | # {''x'' ∈ Σ* : ''x'' beginnt nicht mit ''a''} |
# {ø,{''a''},{''b''},{''a,b''}} | # {ø,{''a''},{''b''},{''a,b''}} | ||
# {(''a,a''),(''a,b''),(''b,a''),(''b,b'')} | # {(''a,a''),(''a,b''),(''b,a''),(''b,b'')} | ||
===Aufgabe 4=== | ===Aufgabe 4=== | ||
− | hier müßte man irgendwie Bilder hochladen können... | + | :''hier müßte man irgendwie Bilder hochladen können...'' |
+ | |||
+ | ::{| border="1" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" | ||
+ | ! | ||
+ | !a | ||
+ | !b | ||
+ | |- | ||
+ | |→q<sub>0</sub> | ||
+ | |q<sub>1</sub> | ||
+ | |q<sub>0</sub> | ||
+ | |- | ||
+ | |q<sub>1</sub> | ||
+ | |q<sub>1</sub> | ||
+ | |q<sub>1</sub> | ||
+ | |} | ||
===Aufgabe 5=== | ===Aufgabe 5=== | ||
− | a) ''L<sub>2</sub>'' = {''x'' ∈ Σ*; ''x'' beginnt mit ''ab''} | + | :a) ''L<sub>2</sub>'' = {''abx'' | x ∈ Σ*} = {''x'' ∈ Σ*; ''x'' beginnt mit ''ab''} |
− | |||
− | {| border="1" | + | :b) |
+ | ::{| border="1" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" | ||
! | ! | ||
!a | !a | ||
!b | !b | ||
|- | |- | ||
− | |q<sub>0</sub> | + | |→q<sub>0</sub> |
|q<sub>1</sub> | |q<sub>1</sub> | ||
|q<sub>3</sub> | |q<sub>3</sub> | ||
Zeile 65: | Zeile 79: | ||
|q<sub>3</sub> | |q<sub>3</sub> | ||
|} | |} | ||
+ | :c) einfach nur normale und Endzustände vertauschen: | ||
+ | ::{| border="1" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" | ||
+ | ! | ||
+ | !a | ||
+ | !b | ||
+ | |- | ||
+ | |→*q<sub>0</sub> | ||
+ | |q<sub>1</sub> | ||
+ | |q<sub>3</sub> | ||
+ | |- | ||
+ | |*q<sub>1</sub> | ||
+ | |q<sub>3</sub> | ||
+ | |q<sub>2</sub> | ||
+ | |- | ||
+ | |q<sub>2</sub> | ||
+ | |q<sub>2</sub> | ||
+ | |q<sub>2</sub> | ||
+ | |- | ||
+ | |*q<sub>3</sub> | ||
+ | |q<sub>3</sub> | ||
+ | |q<sub>3</sub> | ||
+ | |} | ||
+ | |||
+ | ===Aufgabe 6=== | ||
+ | :a) ''L<sub>3</sub>'' = {''x'' ∈ Σ*; ''x'' = a(a+ba)*} = {''x'' ∈ Σ*; ''x'' beginnt mit ''a'' und es folgen beliebig viele ''a'' oder ''ba''} | ||
+ | :b) | ||
+ | ::{| border="1" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" | ||
+ | ! | ||
+ | !a | ||
+ | !b | ||
+ | |- | ||
+ | |→q<sub>0</sub> | ||
+ | |q<sub>1</sub> | ||
+ | | - | ||
+ | |- | ||
+ | |*q<sub>1</sub> | ||
+ | |q<sub>1</sub> | ||
+ | |q<sub>0</sub> | ||
+ | |} | ||
+ | :c) Der Trick ist, dass der DEA erst in einen totalen DEA umgeformt werden muss. D.h. man muss einen Zustand q<sub>2</sub> hinzufügen, der von q<sub>0</sub> aus mit dem ''b'' erreicht wird und mit jedem weiteren ''a'' oder ''b'' in q<sub>2</sub> bleibt. Danach wie bei Aufgabe 5 einfach die Zustände invertieren. | ||
+ | |||
+ | ===Aufgabe 7=== | ||
+ | :a) ''L<sub>4</sub>'' = {''x'' ∈ Σ*; ''x'' endet mit ''a''} | ||
+ | :b) ''bild einfügen'' | ||
+ | :c) | ||
+ | ::{| border="1" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" | ||
+ | ! | ||
+ | !a | ||
+ | !b | ||
+ | |- | ||
+ | |→q<sub>0</sub> | ||
+ | |{q<sub>1</sub>,q<sub>0</sub>} | ||
+ | |{q<sub>0</sub>} | ||
+ | |- | ||
+ | |*q<sub>1</sub> | ||
+ | |ø | ||
+ | |ø | ||
+ | |} | ||
+ | |||
+ | ===Aufgabe 8, 9, 10=== | ||
+ | |||
+ | Es gilt allgemein: E*=(a*b*)*=(a+b)*. | ||
+ | Ist halt so... Wer nicht faul ist, kann nachrechnen ;-) | ||
+ | Mit der Iteration ist es ein wenig verwirrend. Als Informatiker könnte man ja auch sagen "die 0-te Iteration von irgendwas". Hier ist aber offensichtlich unter Iteration eine nichtleere Wiederholung gemeint. Ist aber eigentlich eine Vereinbarungssache.<br> Und bei uns in der Klausur vom 12.02.2009 hab ich einen Tutoren gefragt und der meinte bei Iteration ist auch die 0-mal wiederholung gemein also ein *. | ||
+ | |||
+ | ====8==== | ||
+ | |||
+ | L1 = {x aus E* : in x kommt a mind. einmal vor} | ||
+ | L2 = {x aus E* : x fängt mit a oder endet mit b} | ||
+ | L3 = {x aus {aa, bb}*} | ||
+ | = {x : x ist ein Wort beliebiger Länge bestehend aus den Strings aa und bb} | ||
+ | L4 = {x aus (ab)*} | ||
+ | = {x : x ist die Iteration des Strings ab oder das leere Wort} | ||
+ | L5 = {ε} | ||
+ | |||
+ | ====9==== | ||
+ | F1 = E*(aab)E* | ||
+ | = (a*b*)*aab(a*b*)* | ||
+ | F2 = (aab)E* | ||
+ | = aab(a*b*)* | ||
+ | F3 = (aab)+ (Iteration setzt mindestens das einmalige Vorkommen voraus) | ||
+ | |||
+ | ====10==== | ||
+ | |||
+ | (1) R+S = S+R (Richtig, braucht keinen Nachweis) | ||
+ | |||
+ | (2) RS = SR (Falsch, braucht keinen Nachweis) | ||
+ | |||
+ | (3) (RS)* = (R*S*)* (Falsch) | ||
+ | Angenommen es gilt: Da (R*S*)*=(R+S)*, muss gelten (RS)*=(R+S)* - | ||
+ | Mit (RS)* lässt sich aber z.B. (RR...R) i.A. nicht bilden => Widerspruch! | ||
+ | |||
+ | (4) (R+S)* = (R*+S*)* (Richtig) | ||
+ | Direkter Beweis: (R+S)* = (R*S*)* | ||
+ | = ((R*)*(S*)*)* | ||
+ | = (R*+S*)* | ||
+ | |||
+ | ===Aufgabe 11=== | ||
+ | :(Fortsetzung des Ansatzes) Da das Wort ''w'' mehr Zeichen enthält als der Automat Zustände hat, muß bei der Ableitung von ''w'' ein Zustand in A mindestens 2x besucht worden sein. Sei q<sub>s</sub> der erste Zustand in der Ableitung von ''w'', bei dem dies auftritt. | ||
+ | :Zerlege ''w'' wie folgt: ''w''=''xyz'' mit: | ||
+ | :*''x'' ist das Wort, welches bis zum ersten Auftreten von q<sub>s</sub> von A gelesen wird. | ||
+ | :*''y'' ist das Wort, welches vom Automaten in der Schleife von q<sub>s</sub> nach q<sub>s</sub> gelesen wird. | ||
+ | :*''z'' ist der Rest des Wortes ''w''. | ||
+ | : Es gelten die drei Eigenschaften des Pumping-Lemmas: | ||
+ | :#''y'' ≠ ε : offensichtlich, da jede Schleife mindestens eine Zahl beinhaltet. | ||
+ | :#''|xy|'' ≤ ''n'' : gilt, da wir die erste Schleife in A gewählt haben. | ||
+ | :#''xy''<sup>k</sup>''z'' in ''L'' : Schleifen können mehrfach oder gar nicht abgearbeitet werden. | ||
+ | |||
+ | ===Aufgabe 12=== | ||
+ | :a) wähle n=5 | ||
+ | :b) ''w''=abaaa ; ''x''=ab, ''y''=a, ''z''=aa; ''xy<sup>3</sup>z''=abaaaaa | ||
+ | |||
+ | ===Aufgabe 13=== | ||
+ | : (weiter nach Ansatz) Nach Definition des Pumping-Lemma läßt sich ''w'' in ''w''=xyz zerlegen. Nach Eigenschaft (2) des PL kann der Teil xy nur aus a's bestehen. y ist mindestens ein a. Nach (3) ist dann auch das Wort xy<sup>2</sup>z ∈ L. Für dieses Wort gilt aber xy<sup>2</sup>z = a<sup>n-|y|</sup>a<sup>|y|+|y|</sup> b a<sup>n</sup>. Da n-|y|+|y|+|y| = n+|y| ≠ n gilt, stehen zu Beginn des Wortes mehr a's als am Ende → Widerspruch! | ||
+ | |||
+ | ===Aufgabe 14=== | ||
+ | :a) ''bilder...'' | ||
+ | :b) | ||
+ | :#S⇒ ''a''S⇒ ''aa''S''b''S⇒ ''aaa''S''b''S''b''S⇒ ''aaab''S''b''S⇒ ''aaabb''S⇒ ''aaabb'' | ||
+ | :#S⇒ ''a''S''b''S⇒ ''aa''S''b''S⇒ ''aaa''S''b''S''b''S⇒ ''aaab''S''b''S⇒ ''aaabb''S⇒ ''aaabb'' | ||
+ | |||
+ | ===Aufgabe 15=== | ||
+ | |||
+ | Von oben nach unten einzutragen: | ||
+ | |||
+ | * Typ-0: allgemeine Sprachen | ||
+ | * Typ-1: kontextsensitive Sprachen | ||
+ | * Typ-2: kontextfreie Sprachen | ||
+ | * Typ-3: reguläre Sprachen | ||
+ | |||
+ | Ergänzung: Typ-0 kann noch einmal in ''semientscheidbar'' und ''enscheidbar'' aufgeteilt werden (von oben nach unten). | ||
+ | |||
+ | ===Aufgabe 16=== | ||
+ | :''Lückentext'': Die Chomsky-Hierarchie klassifiziert die durch Grammatiken erzeugbaren Sprachen über Eigenschaften der Produktionsregeln der Grammatiken. Eine Grammatik ''G'' ist ein Tupel ''G'' = (<u>Σ,V,S,P</u>), wobei <u> Σ</u> ein <u> Alphabet</u>, <u>V</u> eine Menge von <u> Variablen</u>, <u>S</u> die <u> Startvariable</u> und <u> P </u> eine Menge von <u> Produktionsregeln </u> ist. | ||
+ | :Die Klasse der regulären Sprachen enthält Sprachen, die über <u>regulären</u> Grammatiken gebildet werden können. Eine Grammatik heißt <u>regulär</u>, wenn alle ihre Produktionsregeln ''u'' → ''v'' ∈ ''P'' die Eigenschaften u ∈ <u> V </u> sowie ''v'' ∈ <u> Σ </u> oder ''v'' ∈ <u> Σ ο V </u> erfüllen. Ein Beispiel einer typischen regulären Sprache ist die Sprache ''L<sub>rg</sub>'' = <u>{a<sup>n</sup> | n ≥ 1}</u>. Reguläre Sprachen können entweder <u> endlich</u> oder <u>unendlich</u> sein. Die Klasse der <u>endlichen</u> Sprachen bildet hierbei eine Teilklasse der regulären Sprachen. Reguläre Sprachen werden von enlichen Automaten erkannt. Endliche Automaten können deterministisch oder nichtdeterministisch sein. Die Klasse der von deterministischen endlichen Automaten akzeptierten Sprachen ist hierbei <u> gleich </u> der Klasse der von nichtdeterministischen endlichen Automaten akzeptierten Sprachen. | ||
+ | :Die kontextfreien Sprachen werden durch solche Grammatiken gebildet, deren Produktionsregeln ''u'' → ''v'' ∈ ''P'' die Form ''u'' ∈ <u>V</u> sowie ''v'' ∈ <u> (Σ∪V)*</u> haben. Damit ist natürlich jede <u>reguläre</u> Grammatik auch eine <u> kontextfreie</u> Grammatik. Ein typisches Beispiel einer kontextfreien Sprache ist ''L<sub>kf</sub>'' = <u>{a<sup>n</sup>b<sup>n</sup>|n > 1} </u>. Jede kontextfreie Grammatik ''G'' läßt sich durch geeignetes Umformen der Regeln der Grammatik in eine Grammatik ''G'' ' in <u>Chomsky-Normalform</u> konvertieren. Die von ''G'' und ''G'' ' erzeugten Sprachen sind hierbei <u>gleich</u>. Die Produktionsregeln ''u'' → ''v'' ∈ ''P'' von Grammatiken in <u> Chomsky-Normalform</u> sind hierbei von der Form ''u'' ∈ <u>V</u> und ''v'' ∈ <u> Σ</u> oder ''u'' ∈ <u> V</u> und ''v'' ∈ <u> V ο V</u>. Kontextfreie Sprachen werden von deterministsischen oder nichtdeterministischen Kellermaschinen erkannt. Die Klasse der don deterministischen Kellermaschinen akzeptierten Sprachen ist hierbei <u> ungleich </u> der Klasse der von nichtdeterministischen Kellerautomaten akzeptierten Sprachen. Palindrome sind Worte über einem Alphabet, die von vorne gelesen das selbe Wort ergeben wie von hinten gelesen. Die Sprache der Palindrome mit Trennzeichen läßt sich hierbei auch von <u> deterministischen</u> Kellermaschinen akzeptieren, wohingegen die Sprache der Palindrome ohne Trennzeichen nur von <u>nichtdeterministischen</u> Kellermaschinen akzeptiert wird. | ||
+ | :Die kontextsensitiven Sprachen werden durch solche Grammatiken gebildet, deren Produktionsregeln ''u'' → ''v'' ∈ ''P'' die Eigenschaft ''u'' ∈ <u> (Σ∪V)*οVο(Σ∪V)*</u> und ''v'' ∈ <u>(Σ∪V)* </u> mit |''u''| <u> ≤ </u> |''v''| erfüllen. Ein Beispiel einer typischen kontextsensitiven Sprache ist ''L<sub>ks</sub>'' = <u>{a<sup>n</sup>b<sup>n</sup>c<sup>n</sup>| n ≥ 1}</u> | ||
+ | : Die allgemeinen Sprachen werden ebenfalls über Grammatiken gebildet, wobei die Produktionsregeln dieser Grammatiken keinen Einschränkungen unterliegen. Ein typisches Beispiel einer allgemeinen Sprache ist das Halteproblem. | ||
+ | |||
+ | ===Aufgabe 17=== | ||
+ | :{| border="1" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" | ||
+ | ! | ||
+ | !Schnitt | ||
+ | !Vereinigung | ||
+ | !Komplement | ||
+ | !Verkettung | ||
+ | !Stern | ||
+ | |- | ||
+ | |Typ 3 | ||
+ | |ja | ||
+ | |ja | ||
+ | |ja | ||
+ | |ja | ||
+ | |ja | ||
+ | |- | ||
+ | |Det. kf | ||
+ | |nein | ||
+ | |nein | ||
+ | |ja | ||
+ | |nein | ||
+ | |nein | ||
+ | |- | ||
+ | |Typ 2 | ||
+ | |nein | ||
+ | |ja | ||
+ | |nein | ||
+ | |ja | ||
+ | |ja | ||
+ | |- | ||
+ | |Typ 1 | ||
+ | |ja | ||
+ | |ja | ||
+ | |ja | ||
+ | |ja | ||
+ | |ja | ||
+ | |- | ||
+ | |Typ 0 | ||
+ | |ja | ||
+ | |ja | ||
+ | |nein | ||
+ | |ja | ||
+ | |ja | ||
+ | |} | ||
+ | |||
+ | ===Aufgabe 18=== | ||
+ | |||
+ | # | ||
+ | #* Die Sprache L<sub>2</sub> ist komplementär zur Sprache L<sub>1</sub> | ||
+ | #* L<sub>1</sub> ist das spezielle Halteproblem für Turingmaschinen | ||
+ | #*Jede Turingmaschine lässt sich selbst mit Hilfe ihres Eingabealphabetes codieren. ω ist Eingabe und Codierung von M<sub>ω</sub> | ||
+ | # | ||
+ | #* Eine Sprache ist entscheidbar, wenn es einen Automaten gibt der nach Eingabe eines endlichen Wortes hält und dann entschieden ist, ob dieses Wort zu der Sprache gehört oder nicht. | ||
+ | #* Eine Sprache ist semi-entscheidbar, wenn es einen Automaten/Algorithmus gibt, der für Wörter aus dieser Sprache terminiert (und "ja" antwortet). Allerdings ist sein Zustand für Wörter, die nicht aus der Sprache sind, undefiniert und er terminiert möglicherweise nicht für diese und läuft unendlich weiter. | ||
+ | #* Eine Sprache ist unentscheidbar, wenn es Wörter aus der Sprache gibt für die keine Turing-Maschine hält. Oder, Zitat aus der Vorlesung: "Alles was nicht entscheidbar ist." ;-) | ||
+ | # | ||
+ | ::{| border="1" style="margin:1em 1em 1em 0; text-align:left; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" | ||
+ | !Aussage | ||
+ | !wahr | ||
+ | !falsch | ||
+ | |- | ||
+ | |Die Klasse der kontextfreien SPrachen enthält nur entscheidbare Sprachen. | ||
+ | |x | ||
+ | | | ||
+ | |- | ||
+ | |Die Klasse der allgemeinen (Typ-0-)Sprahcen enthält nur semi-entscheidbare Sürachen, aber keine entscheidbaren Sprachen. | ||
+ | | | ||
+ | |x | ||
+ | |- | ||
+ | |Es gibt allgemeine (Typ-0-)Sprachen, welche nicht kontextfrei, die aber dennoch entscheidbar sind. | ||
+ | |x | ||
+ | | | ||
+ | |- | ||
+ | |Das spezielle Halteproblem ist nicht entscheidbar. | ||
+ | |x | ||
+ | | | ||
+ | |- | ||
+ | |Das spezielle Halteproblem ist semi-entscheidbar. | ||
+ | |x | ||
+ | | | ||
+ | |- | ||
+ | |Das Komplement des speziellen Halteproblems ist unentscheidbar, also weder entscheidbar noch semi-entscheidbar. | ||
+ | |x | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | ===Aufgabe 19=== | ||
+ | 1. | ||
+ | : - SAT ∈ NP | ||
+ | : - Für alle L ∈ NP muss L polynomiell reduzierbar auf SAT sein. | ||
+ | 2. | ||
+ | :{| border="1" style="margin:1em 1em 1em 0; text-align:left; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" | ||
+ | !Aussage | ||
+ | !wahr | ||
+ | !falsch | ||
+ | |- | ||
+ | |Die Klasse P enthält nur entscheidbare Sprachen. | ||
+ | |x | ||
+ | | | ||
+ | |- | ||
+ | |Die Klasse NP enthält nur entscheidbare Sprachen. | ||
+ | |x | ||
+ | | | ||
+ | |- | ||
+ | |Es gibt Sprachen A in NP, für die eine deterministische, polynomiell zeitbeschränkte Turingmaschine M existiert, so dass L(M)=A gilt. | ||
+ | |x | ||
+ | | | ||
+ | |- | ||
+ | |Sei A eine Sprache aus NP, welche auf das Erfüllbarkeitsproblem für boolsche Ausdrücke SAT reduziert werden kann. Lässt sich nun eine deterministische, polynomiell zeitbeschränkte Turingmaschine M finden, für die L(M)=A gilt, so gilt notwendigerweise P = NP. | ||
+ | | | ||
+ | |x | ||
+ | |- | ||
+ | |Sei A eine Sprache aus NP, auf welche das Erfüllbarkeitsproblem für boolsche Ausdrücke SAT reduziert werden kann. Lässt sich nun eine deterministische, polynomiell zeitbeschränkte Turingmaschine M finden, für die L(M)=A gilt, so gilt notwendigerweise P = NP. | ||
+ | |x | ||
+ | | | ||
+ | |} | ||
+ | 3. | ||
+ | :{| border="1" style="margin:1em 1em 1em 0; text-align:left; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show" | ||
+ | !Aussage | ||
+ | !bekannt | ||
+ | !unbekannt | ||
+ | |- | ||
+ | |Die Klasse P ist Teilklasse der Klasse NP. | ||
+ | |x | ||
+ | | | ||
+ | |- | ||
+ | |Die Klasse NP ist Teilklasse der Klasse P. | ||
+ | | | ||
+ | |x | ||
+ | |- | ||
+ | |Die Klasse P ist gleich der Klasse NP. | ||
+ | | | ||
+ | |x | ||
+ | |- | ||
+ | |Jede NP-vollständige Sprache A kann nur dann von einer deterministischen Turingmaschine entschieden werden, wenn diese Turingmaschine exponentiellen Aufwand hat. | ||
+ | | | ||
+ | |x | ||
+ | |} | ||
+ | |||
+ | :Quelle [http://www-fs.informatik.uni-tuebingen.de/skripte/info3.pdf für det.kf.] und [http://de.wikipedia.org/wiki/Chomsky-Hierarchie Restliche] | ||
+ | :Siehe gleiche Tabelle bei Schöning: Theoretische Informatik - kurzgefasst , S 89 |
Aktuelle Version vom 16. Februar 2011, 11:52 Uhr
Für die Lösungen wird natürlich keine Garantie übernommen. Der Assistent Sebastian Bab war sich beim Vorrechnen manchmal selbst nicht sicher...
Inhaltsverzeichnis
Aufgabe 1
- im Lückentext einsetzen: endliche, endlich, abzählbar unendlich, endlich, abzählbar unendlich, Mächtigkeit, Mächtigkeit, überabzählbar
Aufgabe 2
a ∈ Σ Σⁱ = Σ ε ∉ Σ+ ε ∈ Σ* ø ⊆ Σ+ ø ⊆ Σ* a ∈ Σ* {ε} ∉ Σ* Σ² ⊆ Σ* ø ∈ P(Σ*) {ε} ∈ P(Σ*) Σ² ∈ P(Σ*)
{aa,bb,ab,ba} = Σ² {xab : x ∈ Σ*} = {x ∈ Σ* : x endet mit ab} {ab,bb,aba} ⊆ Σ* {axab : x ∈ Σ*} ⊆ {x ∈ Σ* : x endet mit ab}
Aufgabe 3
- {x ∈ Σ* : x beginnt mit a und endet mit b}
auch: {axb : x ∈ Σ*} - {x ∈ Σ+ : x beginnt mit a oder b}
- {x ∈ Σ* : x beginnt mit a oder b oder ist das leere Wort}
- {x ∈ Σ* : x beginnt nicht mit a}
- {ø,{a},{b},{a,b}}
- {(a,a),(a,b),(b,a),(b,b)}
Aufgabe 4
- hier müßte man irgendwie Bilder hochladen können...
a b →q0 q1 q0 q1 q1 q1
Aufgabe 5
- a) L2 = {abx | x ∈ Σ*} = {x ∈ Σ*; x beginnt mit ab}
- b)
a b →q0 q1 q3 q1 q3 q2 *q2 q2 q2 q3 q3 q3
- c) einfach nur normale und Endzustände vertauschen:
a b →*q0 q1 q3 *q1 q3 q2 q2 q2 q2 *q3 q3 q3
Aufgabe 6
- a) L3 = {x ∈ Σ*; x = a(a+ba)*} = {x ∈ Σ*; x beginnt mit a und es folgen beliebig viele a oder ba}
- b)
a b →q0 q1 - *q1 q1 q0
- c) Der Trick ist, dass der DEA erst in einen totalen DEA umgeformt werden muss. D.h. man muss einen Zustand q2 hinzufügen, der von q0 aus mit dem b erreicht wird und mit jedem weiteren a oder b in q2 bleibt. Danach wie bei Aufgabe 5 einfach die Zustände invertieren.
Aufgabe 7
- a) L4 = {x ∈ Σ*; x endet mit a}
- b) bild einfügen
- c)
a b →q0 {q1,q0} {q0} *q1 ø ø
Aufgabe 8, 9, 10
Es gilt allgemein: E*=(a*b*)*=(a+b)*.
Ist halt so... Wer nicht faul ist, kann nachrechnen ;-)
Mit der Iteration ist es ein wenig verwirrend. Als Informatiker könnte man ja auch sagen "die 0-te Iteration von irgendwas". Hier ist aber offensichtlich unter Iteration eine nichtleere Wiederholung gemeint. Ist aber eigentlich eine Vereinbarungssache.
Und bei uns in der Klausur vom 12.02.2009 hab ich einen Tutoren gefragt und der meinte bei Iteration ist auch die 0-mal wiederholung gemein also ein *.
8
L1 = {x aus E* : in x kommt a mind. einmal vor} L2 = {x aus E* : x fängt mit a oder endet mit b} L3 = {x aus {aa, bb}*} = {x : x ist ein Wort beliebiger Länge bestehend aus den Strings aa und bb} L4 = {x aus (ab)*} = {x : x ist die Iteration des Strings ab oder das leere Wort} L5 = {ε}
9
F1 = E*(aab)E* = (a*b*)*aab(a*b*)* F2 = (aab)E* = aab(a*b*)* F3 = (aab)+ (Iteration setzt mindestens das einmalige Vorkommen voraus)
10
(1) R+S = S+R (Richtig, braucht keinen Nachweis) (2) RS = SR (Falsch, braucht keinen Nachweis) (3) (RS)* = (R*S*)* (Falsch) Angenommen es gilt: Da (R*S*)*=(R+S)*, muss gelten (RS)*=(R+S)* - Mit (RS)* lässt sich aber z.B. (RR...R) i.A. nicht bilden => Widerspruch! (4) (R+S)* = (R*+S*)* (Richtig) Direkter Beweis: (R+S)* = (R*S*)* = ((R*)*(S*)*)* = (R*+S*)*
Aufgabe 11
- (Fortsetzung des Ansatzes) Da das Wort w mehr Zeichen enthält als der Automat Zustände hat, muß bei der Ableitung von w ein Zustand in A mindestens 2x besucht worden sein. Sei qs der erste Zustand in der Ableitung von w, bei dem dies auftritt.
- Zerlege w wie folgt: w=xyz mit:
- x ist das Wort, welches bis zum ersten Auftreten von qs von A gelesen wird.
- y ist das Wort, welches vom Automaten in der Schleife von qs nach qs gelesen wird.
- z ist der Rest des Wortes w.
- Es gelten die drei Eigenschaften des Pumping-Lemmas:
- y ≠ ε : offensichtlich, da jede Schleife mindestens eine Zahl beinhaltet.
- |xy| ≤ n : gilt, da wir die erste Schleife in A gewählt haben.
- xykz in L : Schleifen können mehrfach oder gar nicht abgearbeitet werden.
Aufgabe 12
- a) wähle n=5
- b) w=abaaa ; x=ab, y=a, z=aa; xy3z=abaaaaa
Aufgabe 13
- (weiter nach Ansatz) Nach Definition des Pumping-Lemma läßt sich w in w=xyz zerlegen. Nach Eigenschaft (2) des PL kann der Teil xy nur aus a's bestehen. y ist mindestens ein a. Nach (3) ist dann auch das Wort xy2z ∈ L. Für dieses Wort gilt aber xy2z = an-|y|a|y|+|y| b an. Da n-|y|+|y|+|y| = n+|y| ≠ n gilt, stehen zu Beginn des Wortes mehr a's als am Ende → Widerspruch!
Aufgabe 14
- a) bilder...
- b)
- S⇒ aS⇒ aaSbS⇒ aaaSbSbS⇒ aaabSbS⇒ aaabbS⇒ aaabb
- S⇒ aSbS⇒ aaSbS⇒ aaaSbSbS⇒ aaabSbS⇒ aaabbS⇒ aaabb
Aufgabe 15
Von oben nach unten einzutragen:
- Typ-0: allgemeine Sprachen
- Typ-1: kontextsensitive Sprachen
- Typ-2: kontextfreie Sprachen
- Typ-3: reguläre Sprachen
Ergänzung: Typ-0 kann noch einmal in semientscheidbar und enscheidbar aufgeteilt werden (von oben nach unten).
Aufgabe 16
- Lückentext: Die Chomsky-Hierarchie klassifiziert die durch Grammatiken erzeugbaren Sprachen über Eigenschaften der Produktionsregeln der Grammatiken. Eine Grammatik G ist ein Tupel G = (Σ,V,S,P), wobei Σ ein Alphabet, V eine Menge von Variablen, S die Startvariable und P eine Menge von Produktionsregeln ist.
- Die Klasse der regulären Sprachen enthält Sprachen, die über regulären Grammatiken gebildet werden können. Eine Grammatik heißt regulär, wenn alle ihre Produktionsregeln u → v ∈ P die Eigenschaften u ∈ V sowie v ∈ Σ oder v ∈ Σ ο V erfüllen. Ein Beispiel einer typischen regulären Sprache ist die Sprache Lrg = {an | n ≥ 1}. Reguläre Sprachen können entweder endlich oder unendlich sein. Die Klasse der endlichen Sprachen bildet hierbei eine Teilklasse der regulären Sprachen. Reguläre Sprachen werden von enlichen Automaten erkannt. Endliche Automaten können deterministisch oder nichtdeterministisch sein. Die Klasse der von deterministischen endlichen Automaten akzeptierten Sprachen ist hierbei gleich der Klasse der von nichtdeterministischen endlichen Automaten akzeptierten Sprachen.
- Die kontextfreien Sprachen werden durch solche Grammatiken gebildet, deren Produktionsregeln u → v ∈ P die Form u ∈ V sowie v ∈ (Σ∪V)* haben. Damit ist natürlich jede reguläre Grammatik auch eine kontextfreie Grammatik. Ein typisches Beispiel einer kontextfreien Sprache ist Lkf = {anbn|n > 1} . Jede kontextfreie Grammatik G läßt sich durch geeignetes Umformen der Regeln der Grammatik in eine Grammatik G ' in Chomsky-Normalform konvertieren. Die von G und G ' erzeugten Sprachen sind hierbei gleich. Die Produktionsregeln u → v ∈ P von Grammatiken in Chomsky-Normalform sind hierbei von der Form u ∈ V und v ∈ Σ oder u ∈ V und v ∈ V ο V. Kontextfreie Sprachen werden von deterministsischen oder nichtdeterministischen Kellermaschinen erkannt. Die Klasse der don deterministischen Kellermaschinen akzeptierten Sprachen ist hierbei ungleich der Klasse der von nichtdeterministischen Kellerautomaten akzeptierten Sprachen. Palindrome sind Worte über einem Alphabet, die von vorne gelesen das selbe Wort ergeben wie von hinten gelesen. Die Sprache der Palindrome mit Trennzeichen läßt sich hierbei auch von deterministischen Kellermaschinen akzeptieren, wohingegen die Sprache der Palindrome ohne Trennzeichen nur von nichtdeterministischen Kellermaschinen akzeptiert wird.
- Die kontextsensitiven Sprachen werden durch solche Grammatiken gebildet, deren Produktionsregeln u → v ∈ P die Eigenschaft u ∈ (Σ∪V)*οVο(Σ∪V)* und v ∈ (Σ∪V)* mit |u| ≤ |v| erfüllen. Ein Beispiel einer typischen kontextsensitiven Sprache ist Lks = {anbncn| n ≥ 1}
- Die allgemeinen Sprachen werden ebenfalls über Grammatiken gebildet, wobei die Produktionsregeln dieser Grammatiken keinen Einschränkungen unterliegen. Ein typisches Beispiel einer allgemeinen Sprache ist das Halteproblem.
Aufgabe 17
Schnitt Vereinigung Komplement Verkettung Stern Typ 3 ja ja ja ja ja Det. kf nein nein ja nein nein Typ 2 nein ja nein ja ja Typ 1 ja ja ja ja ja Typ 0 ja ja nein ja ja
Aufgabe 18
-
- Die Sprache L2 ist komplementär zur Sprache L1
- L1 ist das spezielle Halteproblem für Turingmaschinen
- Jede Turingmaschine lässt sich selbst mit Hilfe ihres Eingabealphabetes codieren. ω ist Eingabe und Codierung von Mω
-
- Eine Sprache ist entscheidbar, wenn es einen Automaten gibt der nach Eingabe eines endlichen Wortes hält und dann entschieden ist, ob dieses Wort zu der Sprache gehört oder nicht.
- Eine Sprache ist semi-entscheidbar, wenn es einen Automaten/Algorithmus gibt, der für Wörter aus dieser Sprache terminiert (und "ja" antwortet). Allerdings ist sein Zustand für Wörter, die nicht aus der Sprache sind, undefiniert und er terminiert möglicherweise nicht für diese und läuft unendlich weiter.
- Eine Sprache ist unentscheidbar, wenn es Wörter aus der Sprache gibt für die keine Turing-Maschine hält. Oder, Zitat aus der Vorlesung: "Alles was nicht entscheidbar ist." ;-)
Aussage wahr falsch Die Klasse der kontextfreien SPrachen enthält nur entscheidbare Sprachen. x Die Klasse der allgemeinen (Typ-0-)Sprahcen enthält nur semi-entscheidbare Sürachen, aber keine entscheidbaren Sprachen. x Es gibt allgemeine (Typ-0-)Sprachen, welche nicht kontextfrei, die aber dennoch entscheidbar sind. x Das spezielle Halteproblem ist nicht entscheidbar. x Das spezielle Halteproblem ist semi-entscheidbar. x Das Komplement des speziellen Halteproblems ist unentscheidbar, also weder entscheidbar noch semi-entscheidbar. x
Aufgabe 19
1.
- - SAT ∈ NP
- - Für alle L ∈ NP muss L polynomiell reduzierbar auf SAT sein.
2.
Aussage wahr falsch Die Klasse P enthält nur entscheidbare Sprachen. x Die Klasse NP enthält nur entscheidbare Sprachen. x Es gibt Sprachen A in NP, für die eine deterministische, polynomiell zeitbeschränkte Turingmaschine M existiert, so dass L(M)=A gilt. x Sei A eine Sprache aus NP, welche auf das Erfüllbarkeitsproblem für boolsche Ausdrücke SAT reduziert werden kann. Lässt sich nun eine deterministische, polynomiell zeitbeschränkte Turingmaschine M finden, für die L(M)=A gilt, so gilt notwendigerweise P = NP. x Sei A eine Sprache aus NP, auf welche das Erfüllbarkeitsproblem für boolsche Ausdrücke SAT reduziert werden kann. Lässt sich nun eine deterministische, polynomiell zeitbeschränkte Turingmaschine M finden, für die L(M)=A gilt, so gilt notwendigerweise P = NP. x
3.
Aussage bekannt unbekannt Die Klasse P ist Teilklasse der Klasse NP. x Die Klasse NP ist Teilklasse der Klasse P. x Die Klasse P ist gleich der Klasse NP. x Jede NP-vollständige Sprache A kann nur dann von einer deterministischen Turingmaschine entschieden werden, wenn diese Turingmaschine exponentiellen Aufwand hat. x
- Quelle für det.kf. und Restliche
- Siehe gleiche Tabelle bei Schöning: Theoretische Informatik - kurzgefasst , S 89