Детерминированная проблема делимости конечных автоматов - PullRequest
0 голосов
/ 17 января 2019

Создайте DFA, который принимает строку, заданную L = {w имеет число 'a', кратное 3, и число 'b', кратное 2, по алфавиту {a,b}}

1 Ответ

0 голосов
/ 22 января 2019

Поймите, что у нас должно быть 3 * 2 = 6 состояний в DFA. Зачем? Потому что у каждого есть 3 варианта для числа а (0 или 1 или 2) [ мыслят с точки зрения остатков ] и 2 варианта для количества б ( 0 или 1 аналогично).

Давайте назовем состояния axby, что означает, что я нашел x число а и y число б до сих пор. Например, если мы находимся в a2b0 и встречаем a, то мы переходим к a0b0 (надеюсь, вы понимаете, почему?). Аналогично a1b1 --- b ---> a1b0 и a1b1 --- a ---> a2b1. Излишне говорить, что a0b0 - это принимающее состояние.

Теперь все, что вам нужно сделать, это нарисовать состояния и продолжать присоединяться к ним. Я нарисовал их здесь на бумаге.

Answer

...