Как я могу узнать, принимает ли DFA пустую строку? - PullRequest
0 голосов
/ 12 сентября 2018

Я работаю над вопросом, который просит меня создать DFA для определенного языка.Я все это понимаю, но не уверен, следует ли принимать пустую строку сразу (в этом случае начальное состояние также должно быть конечным).

Мне далиалфавит E = {0, 1}, и я должен создать DFA, чтобы принять все строки этого алфавита с не более чем четырьмя единицами.В случае, если он принимает пустую строку, я знаю, что должен просто сделать свое начальное состояние конечным, но я не уверен, как узнать, должно ли оно принимать пустую строку или нет. Как я могу узнать, должен ли DFA принимать пустую строку или нет на основе заданного алфавита?

Я предполагаю, что он делает не , как пустуюСтрока не является частью алфавита E.

1 Ответ

0 голосов
/ 13 сентября 2018

Пустая строка - это последовательность символов из алфавита с нулевой длиной. Пустая строка никогда не является символом в алфавите. Ваш язык - язык всех строк за {0, 1} не более четырех единиц - содержит пустую строку, так как пустая строка содержит менее четырех единиц. Поэтому ваш DFA должен принять пустую строку, чтобы принять язык. Как вы уже заметили, чтобы принять пустую строку, начальное состояние также должно быть конечным / принимающим.

...