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.)

Schöne Ferien!
 

 

Monotone und kontextsensitive Grammatiken AU-3-4

0 Punkte
133 Aufrufe
Servus zusammen,

mir sind bei der oben genannten Aufgabe im Teil b einige Schritte nicht ganz klar und ich würde mich freuen wenn mir da jemand weiterhelfen könnte.

S'--> ZB ist scheinbar kontextfrei, kontextsensitiv und monoton. Kontextfrei ist mir ersichtlich aber wieso kontextsensitiv und monoton? Ich dachte kontextsensitiv ist eine Sprache nur dann wenn der Kontext rechts und links neben dem NT gleich bleibt aber das tut er hier ja nicht oder? Und wie wird Kontextsensitiv von monoton unterschieden da in den Lösungsfolien der Tuts diese in Typ 1 zusammengefasst werden?

Und dann würde ich gerne noch wissen ob eine rechtslineare Grammatik einer regulären Grammatik entspricht oder nicht.

Vielen Dank und viele Grüße
Gefragt 8, Jan 2017 in AU-3-4 von ubesx ubesx Lernwillige(r) (320 Punkte)  

2 Antworten

0 Punkte
Hallo,

allgemein existiert in kontextsensitiven Produktionen auf der linken Seite ein
Nichtterminalzeichen A, das sich in einem beliebigen Kontext „ϕ1, ϕ2“ befindet (er
kann auch leer sein, also „λ, λ“) und durch die Produktion in eine beliebige nichtleere Zeichenkette ψ umgewandelt wird:
$ϕ1Aϕ2 → ϕ1ψϕ2$
wobei $A ∈ N, ϕ1, ϕ2, ψ ∈ (N ∪ T)^*$ und $ψ ≠ λ$.

In dem Fall den du ansprichst ist S' unser Nichtterminalzeichen A, $ϕ1=λ$, $ϕ2=λ$ und $ψ=ZB$. Somit also kontextsensitiv und monoton.

Kontextsensitive Ableitungen sind monoton in dem Sinne, dass Wörter während einer Ableitung nie kürzer werden können. Um das leere Wort ableitbar zu machen, wird zusätzlich die Ausnahme eingeführt, dass die Produktion
$S → λ$ erlaubt ist, falls S (Startzeichen) auf keiner rechten Seite einer Produktion vorkommt.

Bei monotonen Grammatiken ist die einzige Beschränkung der Produktionen, dass die rechte Seite nicht kürzer sein darf als die linke. Das führt dazu, dass Wörter während einer Ableitung länger werden oder gleich lang bleiben, aber niemals kürzer werden können (wie das auch bei kontextsensitiven Grammatiken der Fall war). Analog zur kontextsenstiven Grammatik gilt die Ausnahme $S → λ$, falls S (Startzeichen) auf keiner rechten Seite einer Produktion vorkommt, um das leere Wort ableitbar zu machen.

Rechtslineare Grammatik und reguläre Grammatik sind beides Typ 3 Grammatiken der Chomsky-Hierarchie.

Ich hoffe ich konnte dir weiterhelfen.

Viele Grüße

Julian(Tutor)
Beantwortet 8, Jan 2017 von uldbw uldbw Tutor(in) (100,600 Punkte)  
Vielen Dank für die ausführliche Antwort :)
0 Punkte
$S' \rightarrow ZB$ ist kontextsensitiv, da nur ein Nonterminalsymbol ($S'$) auf eine nicht-leere Menge an Terminal- und/oder Nonterminalsymbolen abgeleitet wird und da der Kontext beibehalten wird. Der Kontext vor und nach $S'$ ist hier lambda.

$S' \rightarrow ZB$ ist monoton,da $|S'| \leq |ZB| \rightarrow 1 \leq 2$.

Alle kontextsensitiven Grammatiken sind auch monoton. Nicht alle monotenen Grammatiken sind kontextsensitiv. Man kann aber zu jeder monoten Grammatik eine kontextsensitive Grammatik finden, die die gleiche Sprache definiert. Monotone und kontextsensitive Grammatiken sind also gleich "mächtig" und charakterisieren deshalb die gleiche Sprachklasse (Typ-1-Sprachen).

Die rechtslinearen Grammatiken sind eine Teilmenge der regulären Grammatiken. Es gibt z.B. noch linkslineare Grammatiken, die auch zu den regulären Grammatiken gehören.
Die rechstlinearen Grammatiken sind aber genau so "mächtig" wie die regulären Grammatiken, sie charakterisieren also die gleiche Sprachklasse (Typ-3-Sprachen).

Viele Grüße

Philipp (Tutor)
Beantwortet 8, Jan 2017 von ugehd ugehd Tutor(in) (106,130 Punkte)  
Vielen Dank für die ausführliche Antwort :)
...