Чи є численні налічувані множини, котрих не можна обчислити?


15

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

Будь-який нескінченний обчислювальний набір повинен бути підрахунком, оскільки ми можемо побудувати біекцію з перерахунку.

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


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

@AndrejBauer, обчислено і рекурсивно - це синоніми, правда?
rus9384

1
@ rus9384 Так. Щодо словникового запасу, чіткість повинна панувати, як пише Роберт Ірвінг Соаре в " Релігівізованій обчислюваності та інтерактивних обчисленнях" Turing-Post (2011) : Роберт Ірвінг Соаре (2011) : До 1995 року плутанина стала нестерпною. Я написав статтю про обчислюваність та рекурсію для бика. Сим. Логіка (1996) про історію та наукові причини, чому ми повинні використовувати "обчислювані", а не "рекурсивні", щоб означати "обчислювані". "Рекурсивний" повинен означати "спонукальний", як це було для Дедекінда та Гільберта. Спочатку мало хто був готовий зробити таку зміну ...
Девід Тонхофер

Відповіді:


23

Чи є приклади лічильників, які не перелічуються?

Так. Усі підмножини натуральних чисел є підрахунковими, але не всі вони перелічені. (Доказ: існує незліченна кількість різних підмножин  але лише чимало машин Тюрінга, які можуть діяти в якості перелічників.) Отже, будь-який підмножина  N, яку ви вже знаєте, не є рекурсивно перелічуваною, є прикладом - наприклад, набором усіх чисел, що кодують Тьюрінга машини, що зупиняються на кожному вході.NN


3
@JorgePerez Ні і ні .
Девід Річербі

3
Це доводить існування, але не дає прикладу ..
BlueRaja - Danny Pflughoeft

2
@ BlueRaja-DannyPflughoeft, наведення прикладу - це те саме, що перерахувати. "Чи можете ви навести приклад того, чого ви не можете навести приклад? Ні? Тому немає нічого, чого ви не можете навести приклад." Ось у двох словах математичний конструктивізм.
Wildcard

2
Чи було б зображення зайнятої бобра функції таким набором? Оскільки Σ суворо збільшується, то тривіально утворює бієкцію з N , але не існує машини Тюрінга, яка могла б перерахувати Σ . ΣΣNΣ
orlp

7
@Wildcard Ні, подавати приклад - це те саме, що визначити один, чи не так? Є набори, які можна визначити, але не можна перерахувати за допомогою алгоритму, наприклад, набір усіх машин Тьюрінга, які не зупиняються.
Таннер Світт

17

Так, кожна не визначена (не напіврозбірлива) мова має цю властивість.

Наприклад, розглянемо, що множина .L={(х,М)М не зупиняється на вході х}

Припустимо, у нас є алгоритм, який може перерахувати членів цього набору. Якби такий алгоритм існував, ми могли б використовувати це для вирішення проблеми зупинки на входах із наступним алгоритмом:х,М

  • Перемикання між працює машина для п кроків по х і перерахування п - й член L .MnxnL

або зупиняється, або не зупиняється на x . Якщо вона зупиниться, врешті-решт ми знайдемо n, де ми досягнемо стану зупинки. Якщо це не зупиниться, то врешті-решт ми досягнемо ( M , x )Mxn(М,х) у нашому перерахунку.

Таким чином, у нас є скорочення, і ми можемо зробити висновок, що такого перерахування не існує.

Зауважте, що такі перерахування можуть існувати для напіврозв'язних задач. Наприклад, ви можете перерахувати набір усіх пар, що зупиняють введення машини, перерахувавши всі можливі сліди всіх виконань машини Turing Machine після кроків та відфільтруйте ті, які не закінчуються в стані зупинки. н


Хіба не існують мови з незліченною складністю?
rus9384

@ rus9384 Я не впевнений, що ти маєш на увазі. "Незліченна" - міра розміру; "складність" - це міра того, наскільки важко визначитися. Але немає незліченних мов кінцевих рядків: якщо ви хочете, щоб мова була незлічуваною, ви повинні дозволити нескінченні рядки (або незліченний "алфавіт", або обидва).
Девід Річербі

@DavidRicherby, ну, jmite стверджує, що кожна невирішена проблема працює з кінцевими рядками? Я думаю, що це стосується лише кожної невпізнанної проблеми Тьюрінга .
rus9384

@ rus9384 Будь-яка мова над обмеженим алфавітом піддається обліку, а обчислюваність зазвичай ігнорує нескінченні алфавіти. Дивіться також це питання .
jmite

1
@ rus9384 так, мова - це набір кінцевих рядків над скінченним алфавітом. Будь-яка така річ піддається обліку. Якщо ви хочете отримати незліченну мову, вам потрібно видалити один або обидва екземпляри "скінченного" з цього визначення. Але якщо хтось просто каже "мова", він означає набір скінченних рядків над деяким кінцевим алфавітом.
Девід Річербі

7

ΣΣ={0,1}LΣΣ


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

@DavidRicherby пару тижнів тому ти стверджував, що я коментую відповідь Юваля. І це не перший подібний випадок.
fade2black

Ювал публікує багато відповідей, а я публікую багато коментарів, тож вам доведеться бути більш конкретними. Я, безумовно, стою біля свого коментаря вище, тому якщо я в якийсь момент сказав протилежне, то або я помилявся, або плутався, або ти неправильно мене зрозумів, або я говорив про якийсь конкретний сценарій чи щось подібне. Вибачте, якщо я вас заплутав, особливо якщо я це зробив, сказавши щось незрозуміле чи неправильне!
Девід Річербі

2
@DavidRicherby, насправді кожен обмежений алфавіт може бути зведений до двійкового, тому я не розумію, як це має значення. Або ми маємо в цьому випадку нескінченний алфавіт (де кожне число має унікальний символ)?
rus9384

@ rus9384 Відповідь, здається, говорить про те, що теорія обчислення враховує лише алфавіт {0,1}, але це неправда: навіть неправда, що теорія обчислення розглядає лише набори рядків. Я погоджуюся, що обмеження бінарних рядків не має суттєвої різниці в теорії, але, наприклад, звичайно використовувати більші алфавіти, щоб полегшити доведення результатів.
Девід Річербі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.