FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Formale Informatik

F2- 9.1.1(i) Linksableitung

F2- 9.1.1(i) Linksableitung 2003-06-09 16:10
Anonymer User
Wie eine Linksableitung funktionert, ist mir klar, nur wie soll man das ganze aufschreiben?

Re: F2- 9.1.1(i) Linksableitung 2003-06-09 19:58
Slater
wie man so eine ableitung eben aufschreibt


beispiel
S -> NNN
N -> t

linksableitung für ttt:

S => NNN => tNN => ttN => ttt

eventuell spasseshalber so:

S => NNN => tNN => ttN => ttt li li li li

Re: F2- 9.1.1(i) Linksableitung 2003-06-12 18:17
Morpheus
und wie soll der ableitungsbaum zu deinem beispiel ausehen?

S | NNN / | \ t t t (???)

Re: F2- 9.1.1(i) Linksableitung 2003-06-12 18:28
UncleOwen
Ja

Re: F2- 9.1.1(i) Linksableitung 2003-06-12 18:49
Morpheus
k thx :)

Re: F2- 9.1.1(i) Linksableitung 2003-06-15 18:09
Anonymer User
sollte lambda in der linksableitung auch auftreten, oder gleich weglassen?

Re: F2- 9.1.1(i) Linksableitung 2003-06-15 18:29
Slater
lambdas kann man in der ableitung nicht weglassen, sonst hat man ja noch die entsprechenden nonterminale


Re: F2- 9.1.1(i) Linksableitung 2003-06-15 22:13
Frischling
Muss man bei dieser Aufgabe eigentlich bei S beginnen?
Oder kann man auch gleich mit A oder B anfangen?

Es ist doch so, dass ich A solange durch laufe bis ich fertig bin und dann wieder zu S gehe oder?

Beispiel:

S -> A1B|CD
A -> 0A|D|lambda

00101: S ->A; A->0A = 0
A->0A = 00
wieder zu S: S->A1 = 001
ab zu B: B-> 0B = 0010
wieder zu S = A1B usw. bis das Wort 00101 da ist.

LG Frischling

Re: F2- 9.1.1(i) Linksableitung 2003-06-15 22:34
Slater
Muss man bei dieser Aufgabe eigentlich bei S beginnen?
Oder kann man auch gleich mit A oder B anfangen?
eine ableitung beginnt bei S, irgendwo muss man anfangen,
wieso woanders als beim startzustand?
Es ist doch so, dass ich A solange durch laufe bis ich fertig bin und dann wieder zu S gehe oder?
klingt komisch, kann ich nicht genau beurteilen, was du da meinst

Beispiel:

S -> A1B|CD
A -> 0A|D|lambda

00101: S ->A; A->0A = 0
A->0A = 00
wieder zu S: S->A1 = 001
ab zu B: B-> 0B = 0010
wieder zu S = A1B usw. bis das Wort 00101 da ist.
du beschreibt durchaus anschaulich, wie man 00101 ableiten kann,
der weg sieht gut aus,

aber mit formalen aufschreiben etwa einer ableitung hat das ganze nichts zu tun
(falls du dazu eine bemerkung hören wolltest ;), sonst ignorieren),


da fängt man bei S an, hat lauter folgepfeile und endet bei 00101,
wie etwa in meinem beispiel unten:
S => NNN => tNN => ttN => ttt

nix mit semikolon, gleichheitszeichen, teilableitungen oder sprüngen



Re: F2- 9.1.1(i) Linksableitung 2003-06-15 22:52
Frischling
Hab ich ja auch hier zu Hause gemacht:

Anfang: Wir haben S -> A1B|CD, da | eine Alternative ist und wir die Alternative nicht wählen, nehmen wir S->A1B

S=>A1B=>0A1B=>00A1B=>00lambda1B usw und sofort!

Wir müssen ja lambda nehmen sonst finden wir bei kein Ende! und das war ja meine Frage, ob man einfach S=>A1B=>001B usw. machen können also das zweite mal A ignorieren und gleich wieder bei S anfangen oder ob das lambda sein muss.

LG Frischling

Re: F2- 9.1.1(i) Linksableitung 2003-06-15 23:01
Slater
S=>A1B=>0A1B=>00A1B=>00lambda1B usw und sofort!
sieht gut aus, lambda muss man nicht ausschreiben,
den schritt darf man aber nicht weglassen!
Wir müssen ja lambda nehmen sonst finden wir bei kein Ende! und das war ja meine Frage, ob man einfach S=>A1B=>001B usw. machen können also das zweite mal A ignorieren und gleich wieder bei S anfangen oder ob das lambda sein muss.
eigentlich jeden schritt einzelnd, also brav A für A,
auch für die A -> lambda-regel einen ableitungsschritt,