2015-12-01 2 views

ответ

1

Да, это разрешимо DFA, хотя требуется 2 (то есть, 67108864).

Самый простой способ доказать это, вероятно, Myhill-Nerode theorem. Чтобы использовать это, вам нужно разделить все строки на классы эквивалентности на основе того, что можно добавить в строку, чтобы сделать ее частью языка. (см. статью в Википедии)

Для этого определите функцию f над строками в {a, ..., z} *, то есть множество всех букв в строке. Очевидно, что для любых двух строк х и у, F (х) является F (X)F (Y). (То есть, объединение F (X) и F (Y))

Язык panalphabetic строк затем все строки сек таким образом, что F (S) это множество всех буквы. То есть, является ли строка панальфабической, можно определить только то, что значение f применяется к этой строке.

Теперь рассмотрим две строки х и у такие, что е (х) =е (у). Тогда для любой третьей строки г, F (XZ) = F (X)Р (г) = F (Y)Р (г) = F (уг). Поэтому xz является panalphabetic тогда и только тогда, когда yz является panalphabetic. Поэтому x и y эквивалентны.

Следовательно, может быть только столько разных классов эквивалентности, сколько возможных значений f. Так как f (s) является подмножеством {a, b, ..., z}, то существует только 2 Возможные значения f (s). Это конечно, поэтому язык панасфабических строк распознается DFA.

(Для того, чтобы показать, что 2 наименьшее число состояний DFA, вы также должны показать, что если п (х)!= F (Y), то х и у являются не эквивалент, который, следовательно, означает, что существует ровно столько же, как классы эквивалентности есть возможные значения F (S). Это довольно просто, но я позволю вам завершить этот бит)

Смежные вопросы