Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Beliebteste Tags

verständnis alternativlösung klausur kellerautomat endlicher-automat grammatik regulärer-ausdruck turingmaschine pumpinglemma tipp zahlendarstellung cmos bonusklausur klausurrelevant komplexität schaltwerk binary-decision-diagram deterministisch assembler schaltnetz minimierung sprachen nichtdeterministisch huffman chomsky-normalform fehler-in-aufgabe anwesenheitsübung rechtslinear heimübung flip-flop huffman-kodierung cocke-younger-kasami-algorithmus kontextsensitive-grammatik kontextfreie-grammatik fehlererkennbarkeit hauptklausur vorlesungsfolien polynomialzeitreduktion kontextfreie-sprache faq gleitkommazahl fehlerkorrigierbarkeit rechtslineare-grammatik dateiorganisation cache darstellung-klausur nachklausur xwizard adressierungsarten mealy lambda endliche-automaten konjunktive-normalform pipelining zustände saalübung leeres-wort moore ohne-lösungen betriebssystem speicherorganisation monotone-grammatik 2-komplement hammingzahl lösungsweg fehler pumping-lemma-für-kontextfreie-sprachen pumping-lemma reguläre-sprache monoton kodierung berechenbarkeit klausureinsicht disjunktive-normalform abzählbarkeit info-ii bussysteme rechnerarchitektur entscheidbarkeit komplexitätsklassen chomsky-klassen ableitungsbaum vorlesungsaufzeichnung round-robin aufzählbarkeit minimierung-endlicher-automaten von-neumann-rechner binärzahl entscheidbar programmiersprachen stern-symbol automaten schaltnetze-und-schaltwerke nukit-fragen bewertung zugriffsarten umformung adressierung mengen binär-subtrahieren

Kategorien

1 Pluspunkt 1 Minuspunkt
718 Aufrufe

Sehr geehrte Frau Pfeiffer,

vielen Dank für Ihre ausführliche Erklärung. Trotzdem wird mir auch nach längerer Zeit einfach nicht klar, WANN ich ein Lambda benötige, wann es zwingend notwendig ist und wann es verboten ist.

Vielen Dank im Vorraus!

 

bezieht sich auf eine Antwort auf: Warum ist C -> Lambda notwendig?
in REC-AB von uafjv uafjv Tutor(in) (168k Punkte)  

1 Eine Antwort

0 Pluspunkte 0 Minuspunkte
 
Beste Antwort

Diese Frage ist nicht einfach zu beantworten. Es gibt einige klare Richtlinien:

  •     Das Startsymbol muss auf lambda führen, wenn lambda Element der zu erzeugenden Sprache ist.
  •     Lambda darf nicht in einer kontextsensitiven oder monotonen Grammatik auftauchen, außer unter folgenden Umständen:
    •  Die Linke Seite der Regel, in der lambda auftaucht, besteht ausschließlich aus dem Startsymbol und
    •  Das Startsymbol taucht auf keiner rechten Seite einer Regel auf.
  •     Lambda darf nicht in Grammatiken in Chomsky-Normalform oder Greibach-Normalform auftauchen, außer unter denselben Umständen wie oben.


Ansonsten gibt es jedoch keine Regeln für die Anwendung von lambda. Sie dürfen das leere Wort einfach benutzen, wenn Sie es für notwendig halten. Eine Frage wie "wann benutzt man das leere Wort in einer Grammatik?" ist ein bisschen als würde man fragen: "Wann benutze ich ein if-Statement in Java?" (Da Grammatiken äquivalent sind zu Turingmaschinen, die (nach der Churchschen These) äquivalent sind zu Programmiersprachen.) Man kann das nicht allgemein beantworten, sondern muss ein Gefühl dafür entwickeln. Sie werden aber sehen, dass sich die Schemata in unseren Aufgaben immer wiederholen, sodass es irgendwann schnell einleuchtet, wann man lambda braucht.

Oft sind es Situationen, wo man eine gerade Anzahl von Zeichen erzeugen möchte, in denen man lambda benötigt, bspw. für die Sprache ${anbn | n∈N}$:

$S→aSb|λ$

Während man bei einer ungeraden Zeichenanzahl statt lambda ein Terminalzeichen nehmen würde; vgl. bspw. für die Sprache ${w∈{a,b} | w=w′}$, wo beides vorkommt:

$S→aSa|bSb|a|b|λ$

Das gilt aber nur für kontextfreie Grammatiken (wo man übrigens theoretisch durch Nutzung der Normalformen auch komplett auf lambda verzichten könnte, genauso wie bei den kontextsensitiven Grammatiken).

Viele Grüße

Lukas König

von uafjv uafjv Tutor(in) (168k Punkte)  
ausgewählt von uafjv uafjv
...