Чи може машина Тьюрінга вирішити, чи приймає NFA рядок простірної довжини?


14

Хочу знати, чи вирішується наступна проблема:

Примірник: NFA A з n станами

Питання: Чи існує якесь просте число p таке, що A приймає деякий рядок довжиною p.

Я вважаю, що ця проблема не може бути вирішена, але я не можу її довести. Рішення може легко створити алгоритм, щоб визначити, чи є певне число простим, але я не бачу, як воно могло б досить детально проаналізувати NFA, щоб точно знати, яку довжину він може створити. Він може почати тестувати рядки з NFA, але для нескінченної мови він ніколи не зупиниться (і, таким чином, не стане рішенням).

NFA можна легко змінити на DFA або звичайний вираз, якщо рішення потребує цього, звичайно.

Це питання - це те, про що я розмірковував як самостійно підготовлене запитання до фіналу, який я підніс через 2 тижні.


Я не впевнений, що це рівень нижчого рівня, тому не хвилюйтеся про його видалення. Це може виявитися важкою проблемою, див., Наприклад, terrytao.wordpress.com/2007/05/25/…

Ну, я це придумав, тож це може бути важким. Я не знайшов жодних доказів нерозв'язних проблем, пов'язаних з NFA / DFA, тому я подумав, що це може бути цікаво спробувати.

сL(н)

Відповіді:


17

а+бкgcd(а,б)=1

Якщо скласти вищезгадане разом, алгоритм перевіряє, чи містить звичайна (або навіть контекстна вільна мова) рядки основної довжини. Однозначно не просте запитання, IMVHO ...


Я би вдячний, щоб допомогти зрозуміти теорему Париха в цьому випадку. Ми, очевидно, можемо перетворити NFA в КПК, просто не використовуючи стек в КПК. Чи задають лінійні підмножини цикли? Якщо так, то як це працює?
Холод

1
кк

1
Я думаю, це відповідає на моє запитання. Я спробую докладніше прочитати теорему Париха. Я розумію ідею цього і як він може вказати цикли в цьому випадку. Що я хочу розібратися, це більш "практичне" рішення, де я складаю власне алгоритм для вирішення цієї проблеми.
Холод

@Chill, просто подивіться на мій попередній коментар. Не так важко придумати опис можливих довжин, просто видаливши символи на DFA як графік і перевіривши на прогулянки між стартовим станом і кінцевим станом. Важко формалізувати, легко зрозуміти вручну для будь-якого прикладу.
фонбранд

3
@dkuper, це не так просто. Звичайна мова аааа(аа)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.