Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.
  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

61

Friday, February 20th 2004, 4:56pm

Quoted

Original von Uprooter
zu L7:
die sprache ist nicht regulär, denn wenn man das lemma auf das wort x=a^na^n anwendet, dann kann v nur aus den ersten a's bestehen und für zB i=2 ist x nicht aus L7.
Wieso nicht? Wenn z. B. v = aa gilt, dann ist uv^2w = a^{2n+2} = a^{n+1}a^{n+1} wieder Wort aus der Sprache.

Quoted

übrigens: du hast geschrieben, gramm für jeweils kleinste sprache angeben, meintest du vllt die größte?
Nö. Ich meinte das genau so wie ich das geschrieben habe. Die Klasse der regulären Sprachen ist z. B. eine echte Teilmenge der Klasse der kontextfreien Sprachen. Daher ist die Klasse der regulären Sprachen kleiner als die Klasse der kontextfreien Sprachen.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Uprooter

Junior Schreiberling

  • "Uprooter" is male
  • "Uprooter" started this thread

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

62

Friday, February 20th 2004, 4:58pm

achso, ich dachte das "klein" ist auf die nummer bezogen, also L_3 für regulär :P

hm,stimmt, hab irgendwie gar nciht bedacht, dass die mitte verschoben werden kann. hm, dann reicht es doch aus, eine gramm anzugeben, die wörter mit einer geraden anzahl von a's produziert:
S->eps,A
A->aB,
B->a,aA

This post has been edited 1 times, last edit by "Uprooter" (Feb 20th 2004, 5:14pm)


larzan

Trainee

Posts: 36

Date of registration: Feb 26th 2002

Location: Von den 7 Bergen bei den 7 Zwergen

63

Monday, February 23rd 2004, 11:53am

!!??

ok, ich sehe ihr seid schon etwas weiter, aber ich habe nochmal eine grundlegene frage :

wie funktioniert das mit den produktiuonen bei den grammatiken?!
kann ich die S produktion sooft anwenden wie ich lustig bin (also k-mal) und wende dann jede andere produktion in der gegebenen reihenfolge sooft an bis sie nichts mehr verändert, oder wie soll das gehen.

ich nehe an ich habe einfach einen aussetzer und es gibt eine logische antwort, aber im moment stehen ich einfach auf dem schlauch...
?(

Uprooter

Junior Schreiberling

  • "Uprooter" is male
  • "Uprooter" started this thread

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

64

Monday, February 23rd 2004, 12:13pm

naja die versch. typen vom gramm. legen ja regeln fest wie die produktionen rechts und links vom pfeil auszusehen haben, zB nur eine variable bei kontextfreien gramm links vom pfeil, daran muss man sich halten und sonst musste schauen wie du produktionen hinbekommst, so dass es eine mögliche abfolge von ihnen gibt, so dass du zu einem beliebigen wort aus der sprache gelangst aber ein wort, das nicht zu sprache gehört, darf nicht gebildet werden.

This post has been edited 1 times, last edit by "Uprooter" (Feb 23rd 2004, 12:14pm)


  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

65

Monday, February 23rd 2004, 12:54pm

Re: !!??

Quoted

Original von larzan
wie funktioniert das mit den produktiuonen bei den grammatiken?!
kann ich die S produktion sooft anwenden wie ich lustig bin (also k-mal) und wende dann jede andere produktion in der gegebenen reihenfolge sooft an bis sie nichts mehr verändert, oder wie soll das gehen.
Grammatiken sind eine Möglichkeit, eine Sprache zu definieren, also festzulegen, welche Wörter zur Sprache gehören und welche nicht.

Alle Wörter, die durch die Grammatik ableitbar sind, gehören zur Sprache.

Es gibt daher keine festgelegten Regeln, in welcher Reihenfolge welche Produktion anzuwenden ist.


Beispiel: P = {S -> aS, S -> a}

Man kann nun S -> a sofort anwenden oder erst beliebig oft S -> aS und dann S -> a. In der Wahl der Produktionen ist man also völlig frei.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

This post has been edited 1 times, last edit by "Joachim" (Feb 23rd 2004, 12:56pm)


larzan

Trainee

Posts: 36

Date of registration: Feb 26th 2002

Location: Von den 7 Bergen bei den 7 Zwergen

66

Monday, February 23rd 2004, 7:14pm

Re: !!??

ah, ok, danke..
dann geht es also darum darauf zu achten das man keine produktionen hat die eine zeichenfolge erstellen die man nicht mit irgendeiner andern produktion/en so umwandeln kann, das am ende theoretisch bei beliebig vielen verwendeten prod. der endzustand erreicht ist.!?
ok,
danke nochmal
(korrigier mich bitte falls ich falsch liege, ansonsten... :-) )

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

67

Monday, February 23rd 2004, 9:26pm

Re: !!??

Quoted

Original von larzan
dann geht es also darum darauf zu achten das man keine produktionen hat die eine zeichenfolge erstellen die man nicht mit irgendeiner andern produktion/en so umwandeln kann, das am ende theoretisch bei beliebig vielen verwendeten prod. der endzustand erreicht ist.!?
Ich verstehe leider nicht, was Du meinst.

Achten muß man bei der Angabe der Grammatik jedenfalls nur darauf, daß alle Wörter der Sprache damit erzeugt werden können, aber keine Wörter, die nicht zur Sprache gehören.

Beispiele für eher ungewöhnliche Grammatiken:
  • G = ({S}, {a, b, c, d}, {S -> S}, S) erzeugt die leere Sprache.
  • G = ({S}, {a}, {}, S) erzeugt auch die leere Sprache.
  • G = ({S, T, U, V, W}, {}, {}, S) erzeugt auch die leere Sprache.
  • G = ({S, T}, {a}, {S -> aT, T -> S}, S) erzeugt auch die leere Sprache.
  • G = ({S, T}, {a}, {S -> epsilon, S -> a, S -> T, T -> aT, T -> a}, S) erzeugt die Sprache {a}^*.
  • G = ({S}, {a}, {S -> a, S -> aS}, S) erzeugt die Sprache {a}^+.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Uprooter

Junior Schreiberling

  • "Uprooter" is male
  • "Uprooter" started this thread

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

68

Tuesday, February 24th 2004, 1:31pm

was ist das Komplement einer sprache oder zu einer sprache?

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

69

Tuesday, February 24th 2004, 1:47pm

Quoted

Original von Uprooter
was ist das Komplement einer sprache oder zu einer sprache?
Sei L eine Sprache über dem Alphabet Sigma (also ist L eine Teilmenge von Sigma^*).

Das Komplement L^C von L ist dann definiert als L^C := Sigma^* \ L.

L^C besteht also aus allen Wörtern über dem Alphabet Sigma^*, die nicht zu L gehören.


Einfache Beispiele:
  • L = Sigma^*
    L^C = {}

  • L = {}
    L^C = Sigma^*

  • Sigma = {a, b}
    L = {epsilon, a, b, aa, ab, ba, bb}
    L^C = {w aus Sigma^* | |w| > 2}
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

NullAhnung

Erfahrener Schreiberling

  • "NullAhnung" is female

Posts: 332

Date of registration: Apr 28th 2003

70

Tuesday, February 24th 2004, 2:00pm

1)Pumpimg Lemma
Wenn L= w € (0,1)* | w_1 00 w_2 oder w_1 11 w_2 und |w| gerade

x= 0^n001^n = 0^(n+2)1^n

u=0^k v = 0^l k+l-2 <= n
w=0^(n-k-l+2)1^n

uv^2w = 0^(n+l+2) 1^n <> L

Kann man das so machen? Nur noch mit n paar Erklärungen dazu denk ich.

2)Kann mir wer Übung 4 und Übung 6 bitte zuschicken?

3) Was bedeutet der Unterstrich bei dem Kellerautomat in Übung 5? Heißt das nur, dass da der Anfang ist?

4)Kommt das Pumping Lemma für kontextfreie Sprachen auch dran

Uprooter

Junior Schreiberling

  • "Uprooter" is male
  • "Uprooter" started this thread

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

71

Tuesday, February 24th 2004, 2:43pm

http://www.thi.uni-hannover.de/lehre/ws03/gthi/aktuell/ hier gibts alle übungszettel

der unterstrich ist so eine art markierung, wenn man zB angefangen hat das wort zu lesen oder auch wenn man zB pötzlich einen anderen buchstaben liest, aber ich denke, der unterstrich muss nicht sein, kannst was beliebiges nehmen,n grossbuchstaben von dem buchstaben den du gerade liest zB

das mit dem lemma für kontextfreien sprachen kann wohl keiner so genau sagen, aber ich denke, dass es drankommen wird

Uprooter

Junior Schreiberling

  • "Uprooter" is male
  • "Uprooter" started this thread

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

72

Tuesday, February 24th 2004, 3:44pm

aalso, L8 ist nicht regulär weil: wende ich das lemma auf a^nb^nc^nd^n an, dann besteht v nur aus a's und wenn ich den teil dann aufpumpe gehört das wort nicht mehr zur sprache.

die sprache ist auch nicht kontextfrei denn:
wende ich das lemma für typ2-sprachen auf das gleiche wort an, dann lässt sich das wort in 7 bereiche unterteilen, also kann vwx nur im bereich der a's, b's, c's oder d's oder auch jeweils dazwischen liegen. wenn man dann eins davon aufpumpt stimmt die anzahl der restlichen buchstaben mit dem in diesem bereich nciht mehr überein, also gehört das wort nicht zur sprache.

die sprache ist aber kontextsensitiv:
G={{S,A}, {a,b,c,d}, P, S}
S->eps,A
A->abcd, abcdA
dann alle möglichen kombinationen aus 2 buchstaben zB
ab->ba, ba->ab, ca->ac, ac->ca....etc

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

73

Tuesday, February 24th 2004, 4:29pm

Quoted

Original von NullAhnung
1)Pumpimg Lemma
Wenn L= w € (0,1)* | w_1 00 w_2 oder w_1 11 w_2 und |w| gerade

x= 0^n001^n = 0^(n+2)1^n

u=0^k v = 0^l k+l-2 <= n
w=0^(n-k-l+2)1^n

uv^2w = 0^(n+l+2) 1^n <> L

Kann man das so machen? Nur noch mit n paar Erklärungen dazu denk ich.
Falls Du mit L die Sprache über {0, 1} meinst, die nur gerade Wörter enthält, die jeweils "00" oder "11" enthalten, dann kann man das nicht so machen. L ist dann nämlich regulär. :)

Ich kann mich nur wiederholen: Bei Beweisen mit Pumping Lemma sollte man auf jeden Fall das komplette Pumping Lemma hinschreiben, das gibt auch schonmal Punkte. Und dazu noch erklärenden Text. Wie das in etwa auszusehen hat, habe ich in der Übung ja bereits mehrfach vorgeführt. Als Anhaltspunkt dient auch die "Checkliste", die ich weiter oben in diesem Thread gepostet habe.

Quoted

3) Was bedeutet der Unterstrich bei dem Kellerautomat in Übung 5? Heißt das nur, dass da der Anfang ist?
Der Unterstrich ist einfach die Kennzeichnung für ein neues Symbol. A und A sind verschiedene Symbole.

Anschaulich bedeutet der Strich, daß dieses Symbol das letzte auf dem Kellerspeicher ist.

Quoted

4)Kommt das Pumping Lemma für kontextfreie Sprachen auch dran
Das weiß ich leider nicht, da ich nicht die Klausuraufgaben stelle. Ich halte dies aber durchaus für möglich, dann aber für eine einfache Sprache.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

74

Tuesday, February 24th 2004, 4:40pm

Quoted

Original von Uprooter
aalso, L8 ist nicht regulär weil: wende ich das lemma auf a^nb^nc^nd^n an, dann besteht v nur aus a's und wenn ich den teil dann aufpumpe gehört das wort nicht mehr zur sprache.

die sprache ist auch nicht kontextfrei denn:
wende ich das lemma für typ2-sprachen auf das gleiche wort an, dann lässt sich das wort in 7 bereiche unterteilen, also kann vwx nur im bereich der a's, b's, c's oder d's oder auch jeweils dazwischen liegen. wenn man dann eins davon aufpumpt stimmt die anzahl der restlichen buchstaben mit dem in diesem bereich nciht mehr überein, also gehört das wort nicht zur sprache.
Bis hierhin hast Du recht. :)

Quoted

die sprache ist aber kontextsensitiv:
Das stimmt auch noch.

Quoted

G={{S,A}, {a,b,c,d}, P, S}
S->eps,A
A->abcd, abcdA
dann alle möglichen kombinationen aus 2 buchstaben zB
ab->ba, ba->ab, ca->ac, ac->ca....etc
Das aber nicht. Mit dieser Grammatik erzeugst Du alle Wörter, die die gleiche Anzahl von "a"s, "b"s, "c"s und "d"s haben. Gefragt war aber nach a^n b^n c^n d^n.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Uprooter

Junior Schreiberling

  • "Uprooter" is male
  • "Uprooter" started this thread

Posts: 249

Date of registration: Oct 7th 2003

Occupation: Angw. Inf.

75

Tuesday, February 24th 2004, 5:00pm

duh, hab mich irgendwie gehen lassen, so vllt?:
S->eps,abcd
a->aa
b->bb
c->cc
d->dd

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

76

Tuesday, February 24th 2004, 5:15pm

Quoted

Original von Uprooter
duh, hab mich irgendwie gehen lassen, so vllt?:
S->eps,abcd
a->aa
b->bb
c->cc
d->dd
Damit läßt sich beispielsweise das Wort "aaaaaaaaaaabcd" erzeugen.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

larzan

Trainee

Posts: 36

Date of registration: Feb 26th 2002

Location: Von den 7 Bergen bei den 7 Zwergen

77

Tuesday, February 24th 2004, 7:54pm

erstmal danke, der thread ist sehr nützlich :-)

ich habe mal ne frage zu L6, das pumping lemma :

wie genau müsste man denn eine korrekte antwort formulieren?
so ?

|x| = 2n+3 >= n

x kann m und n in beliebiger reihenfolge enthalten, mit (1) |v|>=1
und (2) |u v^i w|=|x| mit i >=0 wird das verhältnis von m zu n verändert und entspricht demzufolge nicht mehr der anforderung |w|_m = |w|_n +3 und ist kein element der sprache

oder wie müsste es lauten?

This post has been edited 1 times, last edit by "larzan" (Feb 24th 2004, 7:55pm)


  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

78

Tuesday, February 24th 2004, 8:17pm

Quoted

Original von larzan
ich habe mal ne frage zu L6, das pumping lemma :

wie genau müsste man denn eine korrekte antwort formulieren?
so ?

|x| = 2n+3 >= n

x kann m und n in beliebiger reihenfolge enthalten, mit (1) |v|>=1
und (2) |u v^i w|=|x| mit i >=0 wird das verhältnis von m zu n verändert und entspricht demzufolge nicht mehr der anforderung |w|_m = |w|_n +3 und ist kein element der sprache

oder wie müsste es lauten?
Eigentlich sollte ich bereits oft genug gesagt haben, wie wir uns einen Beweis in der Klausur vorstellen (insbesondere wie Herr Vollmer ihn sich vorstellt). Hier nun eine Musterlösung für L_6. Das war's dann aber auch erstmal mit Fragen der Art "wie soll das aussehen?" ...


L_6 := {w aus {m, n}^* | |w|_m = |w|_n + 3}

Annahme: L_6 ist regulär.

Dann gibt es gemäß Pumping Lemma für reguläre Sprachen eine Zahl n aus N, so daß sich jedes Wort x aus L_6 mit |x| >= n zerlegen läßt in x = u v w wobei gilt:

(i) |v| >= 1
(ii) |uv| <= n
(iii) für alle i aus N_0 gilt u v^i w aus L_6

Wir betrachten nun x := m^{n + 3} n^n. Da gilt x aus L_6 und |x| = 2n + 3, ist das Pumping Lemma für dieses Wort anwendbar.

Wegen (i) und (ii) gilt:
u = m^k, v = m^l und w = m^{n + 3 - k - l} n^n mit k aus N_0 und l aus N sowie k + l <= n.

Gemäß (iii) gilt dann auch u v^2 w aus L_6. Es ist jedoch u v^2 w = m^k m^{2l} m^{n + 3 - k - l} n^n = m^{n + 3 + l} n^n nicht aus L_6.

Daher ist die Annahme falsch und L_6 keine reguläre Sprache.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

This post has been edited 3 times, last edit by "Joachim" (Feb 24th 2004, 8:45pm)


NullAhnung

Erfahrener Schreiberling

  • "NullAhnung" is female

Posts: 332

Date of registration: Apr 28th 2003

79

Wednesday, February 25th 2004, 9:58am

Quoted

Original von Joachim

Quoted

Original von NullAhnung
1)Pumpimg Lemma
Wenn L= w € (0,1)* | w_1 00 w_2 oder w_1 11 w_2 und |w| gerade

x= 0^n001^n = 0^(n+2)1^n

u=0^k v = 0^l k+l-2 <= n
w=0^(n-k-l+2)1^n

uv^2w = 0^(n+l+2) 1^n <> L

Kann man das so machen? Nur noch mit n paar Erklärungen dazu denk ich.
Falls Du mit L die Sprache über {0, 1} meinst, die nur gerade Wörter enthält, die jeweils "00" oder "11" enthalten, dann kann man das nicht so machen. L ist dann nämlich regulär. :)


Nein ich meine damit die Sprache, die in der Mitte des Wortes 00 oder 11 hat. Das Wort selber soll ne grade Anzahl haben.

Spike

Trainee

  • "Spike" is male

Posts: 41

Date of registration: Nov 8th 2002

Location: Würzburg

80

Wednesday, February 25th 2004, 11:23am

Quoted

Original von NullAhnung

Nein ich meine damit die Sprache, die in der Mitte des Wortes 00 oder 11 hat. Das Wort selber soll ne grade Anzahl haben.


Dann musst du aber noch festlegen, dass 00 bzw. 11 auch genau in der Mitte des Wortes vorkommen, d.h. also dass w_1 und w_2 gleich lang sind. Also meinst du die Sprache

L= { w € (0,1)* | w = w_1 00 w_2 oder w = w_1 11 w_2 und |w_1| = |w_2| }

Die Bedingung "|w| gerade" kann man weglassen (warum?).

Dein Beweis

Quoted

Original von NullAhnung

x= 0^n001^n = 0^(n+2)1^n

u=0^k v = 0^l k+l-2 <= n
w=0^(n-k-l+2)1^n

uv^2w = 0^(n+l+2) 1^n <> L


funktioniert dann aber auch nicht, denn für den Fall, dass l gerade ist,
ist das Wort 0^(n+l+2)1^n in L, denn es hat dann gerade Länge und in der Mitte steht 00.