Построить DFA, который принимает язык L = {w | w ∈ {a, b} * и Na (w) mod 3> Nb (w) mod 3} - PullRequest
0 голосов
/ 22 марта 2020

Я не могу решить эту проблему, если кто-то может решить эту проблему.

Создайте DFA, который принимает язык L = {w | w ∈ {a, b} * и Na (w) mod 3> Nb (w) mod 3}

1 Ответ

1 голос
/ 23 марта 2020

Создайте DFA с девятью состояниями с именами q00, q01, q02, q10, q11, q12, q20, q21 и q22. Каждое состояние qxy будет соответствовать паре (x, y) = (Na (w) mod 3, Nb (w) mod 3). Затем просто сделайте принимающие состояния такими, где Na (w) mod 3> Nb (w) mod 3 истинно: q10, q20 и q21. Вы можете расположить эти состояния в сетке 3 на 3, и компонент Na (w) перемещается горизонтально вдоль строк, а компонент Nb (w) перемещается вертикально вниз по столбцам. Они будут нуждаться в переносе как в столбцах, так и в строках.

...