Push Down Автомантон-вычисление

Я пытаюсь понять, как работает КПК. На следующей диаграмме я понимаю, как работают функции перехода и как должен обновляться стек. Но единственный вопрос, который у меня есть, - это то, почему состояние "Старт" также является состоянием принятия? в то время как КПК для L = {on1n | n ≥ 0}, означает, что он не должен принимать пустую строку. Кто-нибудь может объяснить причину, по которой вы начали принимать состояние, пожалуйста?

введите описание изображения здесь

2 ответа

L = {0n1n | n ≥ 0}

Когда n=0, строка выглядит так:

0010 = ноль 0, за которыми следуют ноль 1, что является пустой строкой. Таким образом, согласно определению, язык L содержит пустую строку.

Если бы она не принимала пустую строку, определение было бы:

L = {0n1n | n> 0}

Потому что NFA принимает пустые строки

Другие вопросы по тегам