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


9

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

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

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

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

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

Відповіді:


9

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

{x∈Σ∗∣∃y∈Σ∗ ⟨x,y⟩∈V}

де 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)був знову; що нам потрібно показати, що іноді немає альтернативного методу. Візьмемо якийсь набірS⊂N що є повторним і не рекурсивним, і нехай f бути перерахуванням S (S=f(x)∣x∈N).

Припустимо, алфавіт містить три символи 0, 1 і : (якщо у вас є лише два символи {ℵ,ℶ}, кодувати 0 як ℵℵ, 1 як ℵℶ і : як ℶ). Якщоn∈N, дозволяє 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.