Grammatik für Bitsequenzen erstellen (Informatik Studium)?

1 Antwort

Also prinzipiell sollten es die Regeln
S -> 0A1
A -> 0A1|B|C
B -> 0B|0
C -> 1C|1
erfüllen.

Mit den ersten beiden Regeln erzeugst du eine Weile lang gleich viele Nullen und Einsen (mindestens 1 Mal). Durch den Wechsel nach B oder C danach dann noch ne beliebige Anzahl (mindestens 1 Zeichen) von Nullen oder Einsen.
Du hast also die Regeln erfüllt damit.

Müsste sich sauber in eine kontextfreie Grammatik (Chomsky-2) überführen lassen, wenn ich das noch richtig im Kopf habe.

Dein Problem bei der Aufgabe war, dass du mehrere Variablen brauchst dafür. Denn nur mit einer wie in deiner Aufgabe kannst du das nicht erreichen. Damit ginge meiner Ansicht nach höchstens eine Grammatik, wo gleich viele oder nur eine begrenzte Anzahl mehr von dem einen als dem anderen Zeichen vorkommen. Aber nicht grundsätzlich nur mehr Nullen als Einsen oder umgekehrt in beliebiger Anzahl.

jeanyfan  01.11.2019, 00:23

Übrigens: Beiträge bitte nicht doppelt posten. Das ist ärgerlich für alle, die Antworten schreiben, aber nicht sehen, dass der Beitrag woanders schon diskutiert wurde.

0
peppertmint02 
Fragesteller
 04.11.2019, 21:54
@jeanyfan

Danke für die Hilfe. Ja das war ein Versehen weil ich diese Frage hier gestellt hatte und sie dann nirgends auffindbar war und ich sie auch nicht einsehen konnte. Ich dachte sie wurde aus irgendeinem Grund nicht erstellt und da hatte ich nochmal gefragt ^

1