Розбірливість мови префікса


9

На середину середини існував варіант наступного питання:

Для рішучого L визначити

Pref(L)={xy s.t. xyL}
Покажи це Pref(L) не обов'язково вирішувати.

Але якщо я виберу L=Σ то я думаю Pref(L) є також Σ, таким чином вирішальним. ТакожL=дає такий же результат. І отL я повинен бути вирішальним. Я не можу вибрати проблему зупинки чи іншу ..

  1. Як я можу знайти L такі Pref(L) не вирішується?
  2. На яких умовах L зробить Pref(L) рішуче, і що зробить це невирішеним?

Відповіді:


9

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

{xΣyΣ x,yV}

де Vє рішучою мовою. До них відносяться невідповідні мови на зразок

ATM={e,x e encodes a Turing machine which accepts x}
.

Єдина відмінність тут полягає в тому, що тут нам доводиться розлучатися x і yсамих себе. Стандартний трюк - використовувати новий символ для розділення двох частин (припустимо, що роздільник належитьy). Тому будь-яка мова, включаючи не визначувані, може бути виражена у цьому форматі.

Для другого питання немає загального алгоритмічного способу перевірити, чи не можна визначити префікси даної мови, що визначається. Це випливає з теореми Райса.


Ви можете явно дати V що створює ATM?
Ран Г.

2
нехай y - рядок, призначений представляти зупинку, що приймає обчислення Me на x, V перевіримо, чи y є приймаючим обчисленням Me на x.
Каве

Це приємне рішення!
Ран Г.

3

Мета-знання: ви хочете знайти нерозбірливу мову, яка, однак, має деяку обчислювальну властивість. Довільна нерозбірлива мова, мабуть, не приведе вас далеко. Але напіврозбірливий ...


Сильніший натяк: що таке напіврозбірлива мова? Це означає, що ми можемо перерахувати слова: це якийсь набір слівu таким, що існує ціле число n такий як

u=f(n)

Трохи погляньте на це рівняння, маючи на увазі рішення та префікси.


Інтуїтивно кажучи, припустимо, у вас є якісь x і ви хотіли б перевірити, чи є він Pref(L). Ви взагалі не збираєтеся робити краще, ніж перевірятиxa, xb, xaaтощо. де a,b,- букви алфавіту. Це часткова рекурсивна функція, яка перевіряє членство вPref(L). Звичайно, ми це зналиPref(L)був знову; що нам потрібно показати, що іноді немає альтернативного методу. Візьмемо якийсь набірSN що є повторним і не рекурсивним, і нехай f бути перерахуванням S (S=f(x)xN).

Припустимо, алфавіт містить три символи 0, 1 і : (якщо у вас є лише два символи {,}, кодувати 0 як , 1 як і : як ). ЯкщоnN, дозволяє n¯ бути n написано в базі 2 з використанням символів 0 і 1 без провідних 0.

Дозволяє L={y¯:x¯y=f(x)}. Простий англійською ми беремо елементиS та позначення їх індексу перерахування. L чітко вирішується (перевірте, чи є одиничний :, що двозначні послідовності не містять провідних 0, і що перша цифра послідовності записує зображення по fвід числа, яке пише другий). І все-таки вирішити, чи якісьy¯ є префіксом L рівнозначно, чи вирішити, чи y є в S, що ви не можете зробити, не знаючи x з тих пір Sне є рекурсивним за припущенням. ФормальноPref(L) не вирішується, тому що Pref(L){0,1}:=S: не вирішується.

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