Чи є якась незліченна рішуча мова Тюрінга?


17

Є багато (і я маю на увазі багато) лічильних мов, які можна визначити Тьюрінгом. Чи може будь-яка незліченна мова бути Тюрінгом вирішальною?


2
Якщо мова всіх можливих слів є незлічуваною (що вимагає незлічуваного алфавіту), вона негайно наводить приклад (тривіально) мови Тюрінга, що визначається незліченною кількістю. Якщо це не так (тобто воно підлічується), тоді і підмовні мови не підлягають незрахуванню.
Марк ван Левен

Відповіді:


25

Кожна мова над обмеженим (або навіть лічильним) алфавітом є лічильною. Якщо припустити, що алфавіт машин Тьюрінга є обмеженим, будь-яка мова, яку він, можливо, може прийняти, можна переглянути.


А як щодо набору всіх мов кінцевої кількості рядків над незліченно нескінченним алфавітом? Це підрахунок чи незрахування? Крім того, я не зміг придумати докази для того, що "мова над безмежною алфавітом піддається обліку".
Anir

Ваш набір також рахується.
Yuval Filmus

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

Ви не можете довести це, оскільки це неправда. Кількість нескінченних бінарних послідовностей вже незліченна.
Yuval Filmus

12

Ми можемо мати незлічувані мови лише в тому випадку, якщо ми допускаємо слова нескінченної довжини, див., Наприклад, звичайну мову Омега . Ці мови називаються -мовні мови. Іншим прикладом буде мова підмножини реалів, яка містить, скажімо, десяткові розширення всіх реальних чисел.ω

Існують деякі моделі, в яких машини Тьюрінга модифікуються, щоб приймати -мовні мови. Деякі з цих моделей використовують умову Buchi для прийняття. Оскільки ви не можете побачити весь вхід за кінцевий час, ми кажемо, що введення прийнято, якщо машина Тьюрінга входить у стан прийняття нескінченно багато разів. Якщо ми можемо довести це, проаналізувавши вхід (а не запустивши його), ми скажемо, що введення прийнято.ω


1
Чому алфавіт потрібно рахувати?
близько

2
Кожна модель, що вивчається, має скінченний алфавіт. Якщо алфавіт також стає нескінченним (лічильним чи незліченним), складно мати розумну модель.
Шрееш

@Shreesh Ну, якщо алфавіт незліченний, наївне відображення FSM (з незлічуваними переходами між кінцевою кількістю станів) може бути досить потужним?
Якк

1
Правда, це такі розширення, які можуть мати мовні класи, які можуть бути суперкласом RE чи рекурсивними мовами. Але вони недостатньо вивчені, якщо їх взагалі вивчають. Найбільша проблема, на мій погляд, полягає в тому, як ми можемо дати кінцеве представлення машини. Потім потрібно записати символ у клітинку стрічки. Навіть скромній комірці може знадобитися нескінченна пам'ять, щоб зберігати опис записаного символу стрічки.
Шрееш

Це чудове пояснення. Я додам, що навіть якщо використовується звичайний критерій прийняття / відхилення, можна сказати, що все-таки існують деякі мови, які машина Тьюрінга може вирішити, і технічно вони мають незліченну кількість рядків, але тільки тому, що переважна більшість символів є " марно »для мови.
Оуен

5

Класична обчислюваність обговорює функції над кінцевими рядками з кінцевого алфавіту. Як результат, всі мови, чи можна визначити, чи можна визначити, чи їх не можна визначити.

Щоб вважати незліченними мови, ми повинні дивитися на нескінченні рядки замість кінцевих рядків. (AFAIK, що має нескінченний алфавіт, не дуже цікавий і не відповідає реалістичній моделі обчислення сам по собі.)

Існують моделі обчислень, де ми можемо мати справу з нескінченними рядками, які дозволяють представляти об'єкти з незлічуваних доменів, як реальні числа. Вони часто представлені як обчислення вищого типу. Однією з моделей, яка використовує машини Тьюрінга, є модель TTE. У цій моделі вхід може бути нескінченним рядком, і машини можуть отримати доступ до будь-якого елемента в рядку, який він хоче. Машина не потребує завершення роботи, проте є умови, щоб переконатися, що вихід машини збільшиться.

Припустимо, що вхід нашої машини походить від , тобто нескінченних рядків з алфавіту Σ , наприклад Σ = { 0 , 1 } . Тоді є Σ N = 2 N рядків. Тому існує 2 2 N можливих мов. Кількість машин TTE Turing досі підраховується. Тож більшість цих мов не можна визначити.ΣωΣΣ={0,1}ΣN=2N22N

Але є щось ще цікавіше: якщо ви хочете, щоб машина завжди зупинялася, вона зможе прочитати лише обмежену початкову частину вводу. У результаті ми маємо наступне: Нехай - це машина TTE, яка завжди зупиняється (у кінцевий час). Тоді є префікс-вільного мову L Е * і машина Тьюринга Н , таке , що для будь-якого х Х ш , М приймає й тоді і тільки тоді Н приймає початкову частину х , який знаходиться в L .MLΣNxΣωMxNxL

Простіше кажучи, обчислення машин TTE Turing, які завжди зупиняються, визначається обчисленням машини Тьюрінга на кінцевих струнах.


Дозвольте навести декілька прикладів рішучих та невизначених мов нескінченних рядків:

  1. Для будь-якого мова нескінченних рядків, k позиція яких дорівнює 0, визначається. Те ж саме, k -та позиція - 1. Перетин будь-яких двох мов, що можна вирішити, можна визначити, наприклад, рядки, 3- е місце яких становить 0, а 6- е місце - 1.kNkk36

  2. Об'єднання будь-яких двох мов, що можна вирішити, можна вирішити. Наприклад, рядки, які починаються з або 10 .010

  3. LiL=iLiLLL

  4. Мова визначається, якщо мова і її доповнення є напіврозбірливими.

  5. kk


xlgxxlgx нам.


f{0,1}f1(1)На веб-сайті також є безліч інших посилань на обчислюваність та складність в мережі аналізу .


1
" В результаті всі мови скінчені " - Ви маєте на увазі підрахунок?
Антон Трунов

Я так думаю, пан Трунов.
Jyotirmoy Pramanik

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