Aufgabe 4 - Grammatiken, Kellerautomaten und Gren… · Abitur NRW Informatik LK · Haupttermin · Weiterbildungskolleg 2023

Thema: Grammatiken, Kellerautomaten und Grenzen endlicher Automaten · Aus der Prüfung LK · Haupttermin · Weiterbildungskolleg (2023)

Aufgabenstellung

Aufgabenstellung:

Beim Snooker, einer Billard-Variante, liegen zu Beginn 15 rote Kugeln auf dem Tisch, Rote (rr) genannt, und 6 Kugeln anderer Farben, die zusammenfassend als Farbige (ff) bezeichnet werden. Darüber hinaus liegt noch eine weiße Kugel, genannt die Weiße (ww), auf dem Tisch (vgl. Abbildung 1).

Ziel eines Spielzugs (auch „Stoß“ genannt) ist es, eine der anderen Kugeln durch Anstoßen der Weißen mit dem Billardstock so anzuspielen, dass diese Kugel nach der Kollision mit der Weißen eingelocht wird, d. h., diese Kugel fällt in eines der Löcher am Tischrand (die sogenannten „Taschen“).

Der Snookerschüler Jonte und sein Trainer Max spielen eine Trainingsform des Spiels, in der jede eingelochte Kugel unmittelbar wieder auf den Tisch gelegt wird.

Wer an der Reihe ist, muss beim ersten Stoß genau eine Rote einlochen. Gelingt dies, bleibt man am Spiel und man muss beim nächsten Stoß versuchen, genau eine Farbige einzulochen. Wenn auch dies gelingt, so darf man nun wie zuvor so lange abwechselnd Rote und Farbige einlochen, bis man einen Fehler macht.

Es gilt als Fehler, wenn die falsche Kugelsorte angespielt und eingelocht wird, wenn die weiße Kugel eingelocht wird oder wenn bei einem Stoß keine Kugel eingelocht wird. Auch fehlerhaft eingelochte Kugeln werden wieder auf die Anfangsposition auf den Tisch gelegt. Nach einem Fehler gibt es einen Spielerwechsel.

Vereinfachend gehen wir davon aus, dass nur folgende Ereignisse im Training eintreten:

Stoß (ss) – Ein neuer Stoß beginnt durch das Anstoßen der Weißen mit dem Billardstock.

Nach dem Anstoßen der Weißen tritt genau eines der folgenden vier Ereignisse ein:

Eine rote Kugel wird angespielt und eingelocht (rr).

Eine farbige Kugel wird angespielt und eingelocht (ff).

Die weiße Kugel wird eingelocht (ww).

Keine Kugel wird eingelocht (kk).

Zusätzlich gehen wir davon aus, dass nie mehr als eine Kugel pro Stoß eingelocht wird.

Jonte eröffnet jedes Trainingsspiel. Die beiden spielen, bis sie aufhören möchten, wobei der zuletzt ausgeführte Stoß stets noch zum Spiel zählt.

Jonte und Max halten ihre Spiele in Protokollen fest, damit sie diese später für ihr weiteres Training nutzen können. Die Trainingsspiele werden protokolliert, indem die zu den Ereignissen gehörigen Buchstaben in der Reihenfolge ihres Auftretens notiert werden.

Beispiel für ein sehr kurzes Trainingsspiel: Jonte locht eine Rote und eine Farbige ein, beim dritten Stoß locht er keine Kugel ein. Max locht dann mit seinem ersten Stoß eine Rote ein. Das Protokoll dazu lautet: srsfsksr

Um eine Vielzahl von Protokollen auswerten zu können, wurde ein deterministischer endlicher Automat AA dazu entworfen, um Spielprotokolle zu untersuchen. In Abbildung 2 ist sein Zustandsübergangsdiagramm dargestellt.

b)

In einigen Trainingsspielen wird bei einem Stoß immer wieder versehentlich die weiße Kugel versenkt. In anderen Spielen kommt dies höchstens einmal im gesamten Spiel vor.

Entwerfen Sie eine reguläre Grammatik GG, die genau diejenigen Wörter erzeugt, die Spielprotokolle darstellen, in denen die weiße Kugel höchstens einmal eingelocht wurde.

Entscheiden Sie, indem Sie aus Ihrer Grammatik GG ableiten, ob die Zeichenketten srswsfsksrswsfsk und swsfswswsfsw zur Sprache von GG gehören.

d)

Trainer Max ist ein routinierter Snookerspieler, dem Fehler wie das versehentliche Versenken der weißen Kugel kaum noch unterlaufen. Er verfolgt die Trainingsspiele aufmerksam und glaubt, dass Jonte die Weiße inzwischen seltener versehentlich einlocht.

Dies soll ein Kellerautomat anhand der Spielprotokolle überprüfen. Dazu schreibt er hinter ein aktuelles Spielprotokoll ein Trennzeichen tt und fügt anschließend ein älteres Spielprotokoll an.

Weil nur das Zeichen ww für ihn relevant ist, wird im gesamten Eingabewort jedes andere Zeichen als ww durch zz ersetzt.

Tritt ww im zweiten Protokoll (hinter dem Trennzeichen) öfter auf als im ersten (vor dem Trennzeichen), geht er von einer tatsächlichen Verbesserung Jontes aus.

Entwerfen Sie einen Kellerautomaten, der ein Eingabewort der beschriebenen Art verarbeitet und feststellt, ob sich Jonte beim direkten Vergleich der beiden betrachteten Trainingsspiele verbessert hat.

Laden Sie dazu ein Foto Ihres Zustandsübergangsdiagramms oder der formalen Definition Ihres Kellerautomaten hoch:

Stellen Sie dar, wie das Wort zwtwwwzwtwww erkannt wird (z. B. als Tabelle der Konfigurationsschritte bzw. Kellerzustände).

e)

Jonte und Max spielen nun eine Variante, in der die Reihenfolge der versenkten Farben keine Rolle spielt. Nur versenkte rote Kugeln bleiben in den Taschen, versenkte farbige Kugeln kommen zurück aufs Spielfeld. Der Spieler wechselt, wenn bei einem Stoß keine Kugel oder die weiße Kugel eingelocht wird. Gewonnen hat, wer die letzte der 15 Roten versenkt.

Jonte behauptet, dass man ein korrekt protokolliertes Spielprotokoll mithilfe eines endlichen Automaten daraufhin untersuchen kann, ob bei dem dazugehörigen Spiel alle 15 Roten eingelocht wurden.

Max hält das für unmöglich, da die Protokolle wegen der Spielerwechsel nach Fehlern beliebig lang werden können und endliche Automaten nicht unbegrenzt zählen können.

Beurteilen Sie, ob Jonte recht hat.

Aufgabenstellung: Aufgabe 4 - Grammatiken, Kellerautomaten und Gren… · Abitur NRW Informatik LK · Haupttermin · Weiterbildungskolleg 2023

Lösung

Nach den offiziellen Korrekturhinweisen

Entwerfen Sie eine reguläre Grammatik G, die alle Wörter erzeugt, die Spielprotokolle darstellen, bei denen nur maximal einmal die weiße Kugel eingelocht wurde.

Lösung: Startsymbol: SGS_G Nichtterminale: N={SG,A,B,C}N = \{S_G, A, B, C\} Terminale: T={f,k,r,s,w}T = \{f, k, r, s, w\} Produktionen: P={P = \{ SG→sAS_G \rightarrow sA, A→fSG∣kSG∣rSG∣wB∣f∣k∣r∣wA \rightarrow fS_G \mid kS_G \mid rS_G \mid wB \mid f \mid k \mid r \mid w, B→sCB \rightarrow sC, C→fB∣kB∣rB∣f∣k∣rC \rightarrow fB \mid kB \mid rB \mid f \mid k \mid r }\}

Entscheiden Sie durch Ableiten aus der von Ihnen entworfenen Grammatik G, ob die Zeichenkette srswsfsk zur Sprache der Grammatik G gehört.

Lösung: S→sA→srSG→srsA→srswB→srswsC→srswsfB→srswsfsC→srswsfskS \rightarrow sA \rightarrow srS_G \rightarrow srsA \rightarrow srswB \rightarrow srswsC \rightarrow srswsfB \rightarrow srswsfsC \rightarrow srswsfsk Das Wort gehört zur Sprache der Grammatik.

Entscheiden Sie durch Ableiten aus der von Ihnen entworfenen Grammatik G, ob die Zeichenkette swsfsw zur Sprache der Grammatik G gehört.

Lösung: Versuchte Ableitung des Wortes swsfswswsfsw: S→sA→swB→swsC→swsfB→swsfsC→?S \rightarrow sA \rightarrow swB \rightarrow swsC \rightarrow swsfB \rightarrow swsfsC \rightarrow ? Es gibt keine Produktion mit dem Nichtterminal CC auf der linken Seite, dessen rechte Seite mit dem Terminal ww beginnt. Das Wort gehört nicht zur Sprache der Grammatik.

Entwerfen Sie einen Kellerautomaten, der ein Eingabewort der beschriebenen Art verarbeitet und feststellt, ob sich Jonte beim direkten Vergleich der beiden betrachteten Trainingsspiele verbessert hat.

Lösung: Formale Definition des Kellerautomaten: - Zustandsmenge: {q0,q1,q2}\{q_0, q_1, q_2\} - Eingabealphabet: {z,w,t}\{z, w, t\} - Kelleralphabet: {#,W}\{\#, W\} - Anfangszustand: q0q_0 - Kellerstartsymbol: #\# - Menge der Endzustände: {q2}\{q_2\}

Stellen Sie die Erkennung des Wortes zwtwww dar.

Lösung: <table class="exam-table"> <thead> <tr><th>Zustand</th><th>Gelesenes Eingabesymbol</th><th>Kellerinhalt / oberstes Symbol</th><th>Neuer Kellerinhalt / oberstes Symbol</th><th>Neuer Zustand</th></tr> </thead> <tbody> <tr><td>q0q_0</td><td>zz</td><td>#\#</td><td>#\#</td><td>q0q_0</td></tr> <tr><td>q0q_0</td><td>ww</td><td>#\#</td><td>WW</td><td>q0q_0</td></tr> <tr><td>q0q_0</td><td>tt</td><td>WW</td><td>WW</td><td>q1q_1</td></tr> <tr><td>q1q_1</td><td>ww</td><td>WW</td><td>#\#</td><td>q1q_1</td></tr> <tr><td>q1q_1</td><td>ww</td><td>#\#</td><td>#\#</td><td>q2q_2</td></tr> <tr><td>q2q_2</td><td>ww</td><td>#\#</td><td>#\#</td><td>q2q_2</td></tr> </tbody> </table>

Beurteilen Sie, ob Jonte recht hat.

Lösung: Jonte ist im Recht. Solch einen Automaten kann man entwickeln. Der Automat könnte dabei diese Strategie verfolgen: - Der Automat verbleibt im Startzustand q0q_0, solange er eines der Zeichen k,w,fk, w, f oder ss liest, und er wechselt in den Zustand q1q_1, wenn er das Zeichen rr liest. - Analog verhält er sich im Zustand q1q_1 als neuem „Startzustand“ und allen folgenden Zuständen. - So geht es weiter bis zur 15. Roten. Ist also der Zustand q15q_{15} erreicht, so akzeptiert der Automat das gelesene Wort. Der so beschriebene Automat hat endlich viele Zustände (z. B. q0q_0 bis q15q_{15}) und akzeptiert, wenn 15-mal das Zeichen rr gelesen wurde.

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, Kellerautomaten und Gren… · LK · Haupttermin 2023 · Aufgabe 4 - Grammatiken, Kellerautomaten und Gren… · LK · Nachtermin 2023 ›

Mehr Aufgaben zu Grammatiken, Kellerautomaten und Grenzen endlicher Automaten