Aufgabe 4 - Grammatiken, Kellerautomaten und Gren… · Abitur NRW Informatik GK · Nachtermin 2021

Thema: Grammatiken, Kellerautomaten und Grenzen endlicher Automaten · Aus der Prüfung GK · Nachtermin (2021)

Aufgabenstellung

Aufgabenstellung

Die Künstlerin Mosa Iks strebt Ruhm mit Kunstwerken an, die sich aus beliebig vielen Zeilen mit beliebig vielen Mosaiksteinen in den Farben rot (r), gelb (g) und blau (b) zusammensetzen. Jede Zeile eines Werks beschreibt sie als Wort, in dem die Buchstaben r, g und b in der gleichen Abfolge stehen wie die zugehörigen Farbsteine in der Zeile. Bereits besonders erfolgreich war sie mit Bildern, deren Mosaiksteine nach bestimmten Regeln angeordnet sind.

Anhang

Dokumentation ausgewählter Methoden der Klasse String

char charAt(int index) Die Anfrage gibt das Zeichen am angegebenen Index zurück. Der Index hat einen Wertebereich von 0 bis length() - 1. Das erste Zeichen dieser Zeichenkette ist an Index 0, das nächste an Index 1 und so weiter, wie bei Array-Indizes.

int compareTo(String anotherString) Die Methode vergleicht zwei Zeichenketten lexikografisch. Sie liefert einen Integerwert kleiner als 0, wenn der String lexikografisch vor der übergebenen Zeichenkette anotherString anzuordnen ist. Sie liefert einen Integerwert größer als 0, wenn der String lexikografisch nach der der übergebenen Zeichenkette anotherString anzuordnen ist. Sind beide Zeichenketten identisch, wird der Wert 0 zurückgegeben.

boolean equals(Object anObject) Die Methode liefert genau dann true, wenn das übergebene Objekt anObject nicht null ist und wenn es vom Typ String ist und die gleiche Zeichenkette repräsentiert.

int indexOf(String str) Die Methode liefert den Index des ersten Zeichens beim ersten Vorkommen der übergebenen Zeichenkette str. Kommt die übergebene Zeichenkette nicht vor, wird -1 zurückgegeben.

int length() Die Methode liefert die Länge der Zeichenkette.

boolean startsWith(String prefix) Die Methode liefert genau dann den Wert true, wenn die Zeichenkette mit dem angegebenen Präfix prefix beginnt. Andernfalls liefert sie den Wert false. Wird eine leere Zeichenkette oder die identische Zeichenkette übergeben, liefert die Methode ebenfalls den Wert true.

String substring(int beginIndex) Die Methode liefert einen Teil der Zeichenkette. Dieser Teil beginnt mit dem übergebenen Index beginIndex und reicht bis zum Ende der Zeichenkette. Der Wert des Parameters beginIndex darf nicht größer als die Länge des Zeichenkette sein. Ist er gleich der Länge der Zeichenkette, so wird die leere Zeichenkette "" zurückgegeben.

String substring(int beginIndex, int endIndex) Die Methode liefert einen Teil der Zeichenkette. Dieser Teil beginnt mit dem übergebenen Index beginIndex und reicht bis zum Zeichen an Position endIndex - 1. Der Wert des Parameters endIndex darf nicht größer als die Länge des Strings sein. Der Wert des Parameters beginIndex muss größer oder gleich 0 sein und darf nicht größer als der Wert von endIndex sein.

Die Künstlerin plant, Abwandlungen des Kunstwerks „HEUTE“ zu schaffen. Mit einer regulären Grammatik will sie dazu beliebige Wörter der Sprache generieren, die jeweils Zeilen des Kunstwerks „HEUTE“ darstellen. Der zugehörige deterministische endliche Automat AA ist in Abbildung 2 angegeben:

c)

Entwerfen Sie eine reguläre Grammatik, die genau die vom Automaten AA akzeptierten Wörter erzeugt.

Vor einiger Zeit hat die Künstlerin ein Mosaik gestaltet, dessen Zeilen aus genau 4 oder 5 Steinen bestehen. Deshalb nannte sie es „VIERFÜNF“.

Die Wörter, welche diese Zeilen darstellen, entsprechen genau den Wörtern, die die folgende Grammatik G45G_{45} erzeugt:

Startsymbol: S

Nichtterminale: N = {S, A, B}

Terminale: T = {r, g, b}

Produktionen: P = {

S -> rAr | gAg | bAb,

A -> rBr | gBg | bBb,

B -> r | g | b | ε

}

d) 1.

Erläutern Sie, aus welchem Grund jedes Wort, das die Grammatik G45G_{45} erzeugt, genau 4 oder 5 Zeichen lang ist.

d) 2.

Ermitteln Sie für die folgenden Wörter jeweils die Ableitung und entscheiden Sie anhand dieser, ob die Wörter von der Grammatik G45G_{45} erzeugt werden können: ggggg, rrbb.

d) 3.

Erläutern Sie, nach welchen allgemeinen Regeln die Zeilen der Mosaike aufgebaut sind, deren Wörter sich mit der Grammatik G45G_{45} erzeugen lassen.

d) 4.

Begründen Sie, aus welchem Grund die Grammatik G45G_{45} keine reguläre Grammatik darstellt.

d) 5.

Beurteilen Sie, ob eine reguläre Grammatik existiert, die genau die Wörter erzeugt, welche auch die Grammatik G45G_{45} erzeugt.

Aufgabenstellung: Aufgabe 4 - Grammatiken, Kellerautomaten und Gren… · Abitur NRW Informatik GK · Nachtermin 2021

Lösung

Nach den offiziellen Korrekturhinweisen

c) Entwerfen Sie eine reguläre Grammatik, die genau die vom Automaten A akzeptierten Wörter erzeugt.

Lösung: Startsymbol: S Nichtterminale: N = {S, A, B, C, D, E, F} Terminale: T = {r, g, b} Produktionen: P = { S -> rA, A -> gB, B -> bC, C -> bD | gC | rC, D -> bD | gE | rC, E -> bD | gC | rF | r, F -> bD | gC | rC }

d) 1. Erläutern Sie, weshalb jedes Wort der Sprache von G45 aus genau 4 oder 5 Zeichen besteht.

Lösung: Die Produktionen von S erzeugen zwei Terminale. Als nächstes folgt immer eine Produktion von A, die zwei zusätzliche Terminale erzeugt. Zuletzt muss eine Produktion von B folgen, die entweder ein Terminal oder kein Terminal (ε) erzeugt. Damit werden Wörter der Länge 2 + 2 = 4 oder 2 + 2 + 1 = 5 erzeugt.

d) 2. Ableitung und Entscheidung für das Wort ggggg

Lösung: Das Wort ggggg gehört zur Sprache der Grammatik. Ableitung: S -> gAg -> ggBgg -> ggggg

d) 2. Ableitung und Entscheidung für das Wort rrbb

Lösung: Das Wort rrbb gehört nicht zur Sprache der Grammatik. Keine der rechten Seiten aller Produktionen beginnt oder endet mit einem Nichtterminal, und das Wort beginnt mit r, also muss als erstes die Produktion S -> rAr gewählt werden. Das hat zur Folge, dass das abgeleitete Wort auch mit r endet. Das gegebene Wort endet allerdings mit b. Daher gibt es keine Ableitung von rrbb.

d) 3. Erläutern Sie, nach welchen allgemeinen Regeln die Zeilen der Mosaike aufgebaut sind, deren Wörter sich mit der Grammatik G45 erzeugen lassen.

Lösung: Die Mosaikzeilen, deren Wörter von der Grammatik erzeugt werden können, haben nur rote, gelbe und blaue Steine (Menge der Terminale). Die Mosaikzeilen beginnen und enden mit derselben Farbe (Produktionen von S). Auch der zweite und vorletzte Stein haben dieselbe Farbe (Produktionen von A). Mit der Produktion von B wird entschieden, ob die Mosaikzeile nur aus diesen vier Steinen besteht (ε-Produktion) oder ob sie in der Mitte einen fünften Stein in rot, gelb oder blau hat.

d) 4. Begründen Sie, weshalb G45 keine reguläre Grammatik ist.

Lösung: Bei regulären Grammatiken gilt für alle Produktionen, dass auf der rechten Seite maximal ein Terminal ist (in der Form A→aBA \rightarrow aB oder A→aA \rightarrow a bei rechtsregulären Grammatiken). Die Produktion S -> gAg der Grammatik G45 (ebenso die anderen Regeln von S und A) verstößt gegen dieses Kriterium, da sie zwei Terminale auf der rechten Seite der Produktion hat bzw. das Nichtterminal von Terminalen umschlossen ist.

d) 5. Beurteilen Sie, ob eine reguläre Grammatik existiert, deren erzeugte Wörter genau der Sprache von G45 entsprechen.

Lösung: Es gibt eine solche Grammatik: Die Sprache der Grammatik G45 besitzt nur endlich viele Wörter, denn alle Wörter der Sprache haben nur 4 oder 5 Zeichen. Eine Sprache mit nur endlich vielen Wörtern lässt sich mit endlich vielen Zuständen eines endlichen Automaten entscheiden. Somit ist die Sprache regulär, und es gibt eine reguläre Grammatik, die diese Sprache erzeugt.

Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium

Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.

‹ Aufgabe 4 - Grammatiken und Grenzen endlicher Aut… · GK · Haupttermin · Weiterbildungskolleg 2021 · Aufgabe 4 - Grammatiken, Kellerautomaten und Gren… · LK · Haupttermin 2021 ›

Mehr Aufgaben zu Grammatiken, Kellerautomaten und Grenzen endlicher Automaten