Чи можна вирішити проблему зупинки, перейшовши до опису обчислень вищого рівня?


21

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

Тому мені стало цікаво: математикам вдалося зрештою зробити теорію множин послідовною шляхом переходу від наївного формулювання поля Кантора до більш складної системи аксіом (теорія множин ZFC), роблячи важливі виключення (обмеження) та доповнення на цьому шляху.

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


1
Ласкаво просимо до обміну стека інформатики. Прочитайте cs.stackexchange.com/tour.i якщо ви цього ще не зробили. --- Що ви спробували для більш потужної моделі, ніж TM? Що вас блокує?
babou

2
@babou Навпаки, вам потрібна менш потужна модель.
Yuval Filmus

2
@YuvalFilmus Добре, що ОП просить більш потужну модель, а не слабку. --- з вибаченнями H2CO3 ... Моє запитання насправді було жартом, оскільки це стандартне запитання, коли люди подають домашні завдання як питання. Тут, звичайно, не було доречно, оскільки ніхто не сподівався, що ти знайдеш таку модель. Сподіваюся, ви не сприймете це занадто кисло.
babou

1
Ви можете прочитати про Hypercomputation en.wikipedia.org/wiki/Hypercomputation .
Ерік Тауерс

Відповіді:


15

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

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

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

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

Тож навіть якби ми знаходили спосіб розширити свій спосіб обчислення, скажімо, з машинами T +. Або це означатиме, що ми знайшли спосіб висловити знання поза написанням обмеженого документа, і тоді вся справа випадає з моєї юрисдикції (я претендую на абсолютну некомпетентність) і, мабуть, будь-кого іншого. Або все-таки це було б виразним у кінцевих документах, і в цьому випадку у нього буде своя проблема зупинки машин T +. І ви б знову задали це питання.

Насправді така ситуація існує і навпаки. Деякі типи машин слабкіші за машини Тюрінга, наприклад, лінійні обмежені автомати (LBA). Вони досить потужні, але це може бути точно показано, як це робиться для TM, що LBA не може вирішити проблему зупинки для LBA. Але TM може вирішити це для LBA.

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


Якщо припустити, що ZFC є послідовним, він все ще є неповним, тобто є пропозиції, які ми не можемо ні довести, ні спростувати з ZFC, і це тісно пов'язане з тим, що проблема зупинки є нерозв'язною, якби зупинка була вирішуваною, ми могли б довести або спростувати всі пропозиції. Це математика, і це не розбіжність, яку слід вирішити, а також теорема (Гедель)
Hernan_eche

@Hernan_eche Ну ... так і ... що ...? Якщо ви думаєте, що непослідовність - це не гірше, ніж незавершеність, це ваше особисте судження. Сумніваюсь, що більшість математиків погодиться. Можливо, вам не подобаються ТМ, які не припиняються. Але ви хочете, щоб вони краще припиняли завжди, кажучи іноді так, а іноді ні, на одному вкладі. Що б ви зробили з відповіді? А якщо ви думаєте про недетермінізм ... подумайте двічі.
бабу

Я коментую просто, щоб зрозуміти, що Computer Science та Math борються з одними і тими ж проблемами, щоб уникнути неправильної інтерпретації відповіді читачів, як ніби математика вирішила її основні проблеми з ZFC, а проблема зупинки - просто проблема інформатики, це не так, існує одна відповідність між неповністю та проблемою зупинки, це та сама проблема. Я не думаю, що незавершеність є гіршою чи кращою, ніж непослідовність, але я думаю, що незавершеність стане непослідовною, якщо ви хочете побудувати системи вищого порядку.
Hernan_eche

17

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

Однак у цього підходу є дві проблеми.

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

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

Також зауважте, що ZFC у певному сенсі слабкіший за теорію наївних множин, не сильніший. ZFC не може висловити парадоксальність Рассела, тоді як теорія наївних множин може. Таким чином, кращою аналогією було б запитати, чи вирішується проблема зупинки для слабших моделей обчислень, ніж машини Тьюрінга. Наприклад, проблема зупинки детермінованих кінцевих автоматів (DFA) вирішується, оскільки DFA гарантовано зупиняється на кожному введенні.


Я думаю, що власна проблема зупинки вирішується будь-яким сімейством автоматів, якщо вона є тривіальною, тобто або всі вони зупиняються, або жоден з них не робить (що в цьому випадку може вважатися дивним).
babou

1
@babou: що робити з автоматами, коли машина 0 циклів назавжди, машина 1 видає НЕШТО, якщо її вхід 0 0, істинно і потім зупиняється. Усі інші машини видають FALSE, а потім зупиняють. Це сімейство автоматів, в яких програма 1 вирішує нетривіальну проблему зупинки? Або це навіть не сім'я автоматів через відсутність якоїсь властивості, наприклад, будь-якого складу?
Стів Джессоп

@SteveJessop Ну, ви (і Девіс Річербі), певно, маєте рацію. Що мене турбує - це надуманий приклад. Ви будуєте дуже слабку сім'ю, щоб одна машина в сім'ї стала рішучим рішенням для всієї родини. Але, як ви підозрюєте себе (див. Зауваження щодо складу), можливо, є якась основна властивість закриття, яка відсутня, щоб проблему можна було тривілізувати. Я не маю готової відповіді, і я згоден, що моє зауваження потребує більшої кваліфікації щодо того, що є сімейством автоматів, але ваш зустрічний приклад залишає мене непереконаним.
бабу

3

Попередження: філософська / не строга відповідь

Це може стати трохи "філософським", але я думаю, що це відповідає духу вашого питання.

Не повторювана машина

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

Видалення властивостей

Це трохи схоже на перехід від теорії множин до теорії категорій: Ви втрачаєте частину "парадоксонів", втрачаючи обмеження. Але з результатом впоратися набагато складніше.

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


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

1
Як би навести приклад неповторюваності? Як би ви визначили зупинку в цьому випадку. Основна складність полягає в тому, що, намагаючись визначити дивну обчислювальну модель, як правило, геданкен, ви повинні визначити значення зупинки, і який саме вхід повинен вирішити машина, яка вирішує, і, можливо, кілька інших нетривіальних речей. Дивіться, наприклад, випадок недетермінізму . Не кажучи вже про те, що можна вважати обчислювальною моделлю (можливо, це не спеціальна колекція машин).
babou

1
@ H2CO3 Не повторювана машина - це лише своєрідний "експеримент Геданкана", над яким властивістю ви повинні пожертвувати, щоб вийти з "загальної проблеми зупинки" (побудова протиріччя, дозволяючи машині перевіряти себе). Ви отримаєте машину, яка іноді права, але ви не знаєте, коли. Це як програма, яка обчислює числа лотереї на наступний тиждень. Я можу легко надати вам таку програму. Важкою частиною є те, що ти вирішиш, яка з багатьох програм, які я тобі дам, - це правильна ...
stefan.schwetschke

2

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

Враховуючи будь-яку специфікацію "Покращеної машини Тюрінга", можна було б вказати "Супер-посилену машину Тюрінга", яка могла б вивчити програму для ETM і повідомити, чи не зупиниться вона, але SETM зможе аналізувати програми лише для ETM - він не зможе проаналізувати програми SETM. Немає можливості визначити машину, яка може аналізувати програми для себе та визначати, чи зупиняються вони, оскільки акт додавання нових функцій створював би нові вимоги до самоаналізатора, і немає ніякого способу зробити так, щоб функції "догнали" до вимог .


1

Такі машини були передбачені і називаються машинами супер-Тьюрінга . Кілька основних класів машини супер-твердіння

  • Машини реальної кількості (тобто аналогові комп'ютери)
  • Машини Тьюрінга давали нескінченний час
  • Недетермінована машина для твердіння

Не всі супертвердінні машини можуть вирішити проблему зупинки (зокрема, недетермінантні тюрінг-машини не можуть). Однак концептуальні машини були створені, принаймні в мислительних експериментах.

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