Quoted
Original von vier
ein kumpel von mir und ich haben uns heute mal die mühe gemacht gemeinsam ein klausurenwissen für die theo inf klausur zusammenzustellen.. ist online auf meiner page unter theo inf.. link siehe signatur
Source code |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
if Sprache regulär then Sprache ist vom Typ 0,1,2,3 else if Sprache kontextfrei then Sprache ist vom Typ 0,1,2 aber nicht 3 else if Sprache kontextsensitiv then Sprache ist vom Typ 0,1 aber nicht 2,3 else if Sprache rekursiv aufzählbar then Sprache ist vom Typ 0 aber nicht 1,2,3 else Sprache ist weder vom Typ 0 noch 1 noch 2 noch 3 |
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Das klappt aber nicht bei Typ-3-Grammatiken, da dort die rechte Seite der Produktionen nicht nur aus einem Nichtterminal bestehen darf.Quoted
Original von sr409
Zu: http://www-thi.informatik.uni-hannover.d…en/uebung02.pdf
Ohne Gewähr. Würde mich freuen, wenn mich jemand korrigieren könnte, falls nötig.
Aufgabe 1:
Damit die Startvariable nicht auf der rechten Seite einer Produktion vorkommt, fügt man einfach eine weitere Variable hinzu, die in der Produktion die Startvariable ersetzt. Man fügt dann nur noch die Produktion "S -> (neue Variable)" hinzu und gut is.
Korrekt, siehe oben.Quoted
Aufgabe 2a:
ANZAHL A DURCH 2 TEILBAR : TYP3
(nur die Produktionen, S als Startvariable)
S -> B
A -> a
A -> bA
A -> aB
B -> aA
B -> b
B -> bB
Ist leider nicht richtig. Das Wort "cba" kann beispielsweise durch diese Grammatik nicht abgeleitet werden. (Außerdem ist dies eine Typ-2-Grammatik.)Quoted
Aufgabe 2b:
ANZAHL A = ANZAHL B = ANZAHL C : TYP1
(nur die Produktionen, S als Startvariable)
S -> aBC
S -> bAC
S -> cAB
A -> a
A -> bAC
A -> cAB
B -> b
B -> bBC
B -> cBA
C -> c
C -> aCB
C -> bCA
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Ja, Null ist durch jede ganze Zahl teilbar, es gilt nämlich:Quoted
Original von sr409
Quoted
Original von Cipher
und hier die hoffentlich richtige Aufgabe 2 vom Übungsblatt 3 :
Ist 0 nicht auch durch 2 teilbar (rest 0) ?
Da könntest du gleich wieder von Zustand 1 zurück zu Zustand 0, wenn ein a gelesen wird. z0 wäre somit auch endzustand.
Quoted
Original von sr409
Reicht es wenn wir bei Automaten die Zustandsgrafik zeichnen oder müssen wir auch noch mal extra die Überführungfunktion(en) einzelnd aufführen ?
Quoted
(Außerdem ist dies eine Typ-2-Grammatik.)
Quoted
Der Automat müßte aber eigentlich mit nur zwei Zuständen auskommen:
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Ja, deswegen steht der Satz auch nur in Klammern.Quoted
Original von sr409
Quoted
(Außerdem ist dies eine Typ-2-Grammatik.)
Soweit ich das verstanden habe sidn typ2-grammatiken doch einer untermenge von typ0 bzw typ1 grammatiken. wenn ich nun eine typ2 grammatik verwende, so hab ich doch auch die aufgabe erfüllt, wenn eine typ1 grammatik gefordert ist ?
Quoted
Original von sr409
Danke
Quoted
(Außerdem ist dies eine Typ-2-Grammatik.)
Soweit ich das verstanden habe sidn typ2-grammatiken doch einer untermenge von typ0 bzw typ1 grammatiken. wenn ich nun eine typ2 grammatik verwende, so hab ich doch auch die aufgabe erfüllt, wenn eine typ1 grammatik gefordert ist ?
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Der NFA ist so in Ordnung, der DFA aber nicht:Quoted
Original von sr409
Meine Lösung zu http://www-thi.informatik.uni-hannover.d…en/uebung04.pdf wäre also:
Junior Schreiberling
Date of registration: Oct 15th 2002
Location: Berlin
Occupation: IT Application Consultant
Junior Schreiberling
Date of registration: Oct 15th 2002
Location: Berlin
Occupation: IT Application Consultant
Quoted
Original von Spike
Quoted
Original von sebi
6.Übungsblatt 1. Aufgabe
Geben Sie einen Kellerautomaten an, der die Sprache {a^i b^i | i>=1 } akzeptiert
† soll das Kellersymbol sein, § = sigma, e=epsilon
K := ({a,b},{s0,s1,sf},{a,†}, §1, s0,†, {sf})^
mit §1 := {
(s0,e,†,sf,e),
(s0,a,†,s0,a†),
(s0,a,a,s0,aa),
(s0,b,a,s1,e),
(s1,b,a,s1,e),
(s1,e,†,sf,e) }
Fast perfekt! Der Befehl (s0,e,†,sf,e) führt aber dazu, dass das leere Wort von diesem Automaten akzeptiert wird. Da aber nur Wörter mit mindestens einem a und einem b akzeptiert werden dürfen (wegen "i>=1"), ist das leere Wort aber nicht in der Sprache. Der Befehl muss also ersatzlos gestrichen werden. Dann entspricht der Automat exakt der Musterlösung
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
"Relativ einfach" ist immer so eine Sache. Relativ wozu?Quoted
Original von Cipher
Gibt es eine relativ einfach Methode, wie man aus einer kontextfreien Grammatik einen Kellerautomaten erstellt?
Irgendwie komme ich da nicht klar mit der Umwandlung...