Чи можемо ми показати, що мова не перелічується, показуючи, що для неї немає верифікатора?


11

Одним із визначень налічуваного числа (ce, еквівалентного рекурсивно перелічуваному, що еквівалентно напівроздільному) множини є наступне:

V Σ x Σ AΣ є ce iff є рішуча мова (називається верифікатором) st для всіх ,VΣxΣ

у Е *х , у VxA тоді і тільки тоді існує ї .yΣx,yV

Отже, один із способів показати, що мова не є це - показати, що для неї не існує рішучого верифікатора . Чи корисний цей метод, щоб показати, що мови на практиці не є?V


3
Що це (ви мали на увазі ре?)
Ran G.

Я не можу придумати ситуацію, коли це корисно для доведення мови - це не CE. Я думаю, ви могли б легко замінити на A за багато-одного зменшення. Якщо ви прийшли з яким - або іншим скороченням, я б очікувати , що «негативні виходи» х , Y V не означатиме багато , як у екзистенційно кількісно. VAx,yVy
Лукас Кук

@ RanG., Це стара термінологія, сьогодні її зазвичай називають люди, які працюють в теорії обчислень. (Якщо вас цікавить причина зміни термінології, я пропоную перевірити домашню сторінку Роберта Соара.)
Kaveh

@Kaveh спасибі Щодня людина дізнається нові речі ...
Ран Г.

Відповіді:


4

На практиці ми зазвичай не доводимо лише те, що мова переосмислена чи ні. Якщо мова повторна, ми хочемо знати, чи є вона рекурсивною. Якщо це не повторно, ми хочемо знати, який ступінь Тюрінга він має, а не лише те, що ступінь Тюрінга не є повторним.

Наприклад, якщо - проблема з P T 0 ‴, то не повторно, але той факт про стрибок Тьюрінга є більш інформативним, ніж просто знати, що не повторноPPT0ПPP

Тож, в принципі, ви можете показати, що мова не повторюється, підтвердивши, що немає верифікатора, але на практиці є більш інформативним довести, що мова не повторюється, показавши, що вона обчислює щось, що не може встановити повторно; природа цього "чогось" зазвичай дає корисну інформацію про проблему, що вивчається.


3

Щоб зробити термінологію, я використовую чіткий: decidable = рекурсивний = обчислювальний, semidecidable = рекурсивно перелічуючий = computably перелічуваний, co-semidecidable = co-рекурсивно перелічуваний = co-computably перелічуваний.

На практиці поширеним методом виявлення того, що мова не може бути розрізненою, є те, що вона демонструє, що вона не є рішучою і що вона може бути однозначною. Потім ви використовуєте той факт, що будь-яка мова, яка може бути однозначною і односемідною, також можна вирішити, щоб зробити висновок про те, що ваша мова не піддається розбору. (зауважте, що це працює лише в одному напрямку: мова не може бути ні однозначною, ні односемідної, і тоді вам потрібен інший метод)

Як приклад: ми знаємо, що вирішити, чи є неоднозначним, не можна визначити, але це легко зробити спільно-напівсидемозним: ви просто даєте рядок з двома різними розборами. Це означає, що не є однозначним, чи є неоднозначним.CFGCFG

Інший метод - показати, що мова є повною для деякого вищого рівня арифметичної ієрархії .

Звичайно, можна безпосередньо довести, що немає верифікатора, але це часто є стомлюючим, оскільки це звичайно повторює доказ того, що проблема зупинки не вирішена. Зауважте, що наведений вище аргумент по суті неявно доводить, що верифікатора не може бути, тому я гадаю, що ви можете сказати, що це спосіб довести відсутність перевірки, але тоді ви можете розглянути будь-які докази несемідійності як доказ того, що існує немає верфі.


У вашій мові є вада. Мова не може бути напіврозрізною і не може бути однозначною. Невизначені мови - це такі мови.
Дейв Кларк

@DaveClarke: я додав деякі термінологічні визначення. Чи правильно це зараз?
Олексій десять Брінк


@DaveClarke: Я додав замітку, в якій говорилося, що вона працює лише в одному напрямку.
Алекс десять Брінк

3
Я не переконаний, що це техніка, яка б хтось використовував. Чому б не звести проблему до відомої "не напіврозв'язної" проблеми.
Дейв Кларк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.