Gib einen Kellerautomaten an, der folgende Sprache akzeptiert:
´L = {w in {a, b}^(**) | w " hat ungerade Länge und das mittlere Symbol ist ein " a}´
Ein Kellerautomat ´M´ könnte folgendermaßen funktionieren:
Es wird akzeptiert, wenn das Wort nur aus einem ´a´ besteht, d.h. beim Lesen von ´a´ am Anfang kann in den akzeptierenden Zustand gewechselt werden. Hat das Wort mindestens die Länge ´3´, so wird im ersten Zustand die Länge der ersten Hälfte des Wortes auf den Keller gelegt, dann wird unter Lesen eines ´a´s in den zweiten Zustand gewechselt. Hier wird nun geprüft, dass genau so viele Buchstaben auf dem Keller liegen wie noch im Wort übrig sind.
´M = ({a,b}, {s,f}, {A}, s, {f}, delta)´
mit
´delta(s, a, #) = {(s, R, A), (f, R, lambda)}´ ´delta(s, b, #) = {(s, R, A)}´ ´delta(s, a, A) = {(s, R, "AA"), (f, R, A)}´ ´delta(s, b, A) = {(s, R, "AA")}´ ´delta(f, a, A) = delta(f, b, A) = {(f, R, lambda)}´ ´delta(f, a, #) = delta(f, b, #) = O/´
HPI, 2014-04-26, Theoretische Informatik 2, Blatt 3, Aufgabe 1
2014-07-21 18:55:48 UTC
2014-07-24 17:26:16 UTC