Чи існує поняття обчислюваності для безлічі натуральних чисел?


10

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

Заманливо сказати "так, це ті функції форми де - будь-яка біекція і - будь-яка обчислювальна функція ". Я з обережністю ставлюся до цього визначення з двох причин. g NS f NNgfg1gNSfNN

  1. Він привілейований над іншими налічуваними наборами. Чому особливий, коли мова йде про визначення обчислюваності? Мені б хотілося, щоб визначення обчислюваності без вільних координат без посилання на будь-який привілейований набір аналогічно, можливо, я б хотів визначення "вільного від координат" поняття лінійної алгебри без посилання на будь-яку привілейовану основу.NNN

  2. Це викликає питання щодо вибору . Я підозрюю, що можливо виявити суперечності особливо патологічним вибором і . Наприклад, якщо я вибираю і деяку некомп'ютерну біекцію, чи справді так, що обчислюється для всіх обчислюваних ?S g S = N g g f g - 1 fgSgS=Nggfg1f

    Привабливо вимагати у визначенні бути обчислювальним, але, на жаль, це ставить питання.g

Чи існує якийсь загальний спосіб опису обчислюваності на обчислюваних множинах, крім ?N


1
Ну, крім , обчислюваність також часто визначається на , де є кінцевим алфавітом ... Але знову ж таки, ці визначення відрізняються обчислюваною біекцією (тобто в одному напрямку він обчислюється за допомогою визначення , а обернено обчислюється за допомогою визначення ). Тож ви, безумовно, можете це зробити, де ваші і обчислюються, але я згоден, що це Σ Σ NΣ N Σ g g - 1NΣΣNΣNΣgg1
напрошується

1
Що з моделлю обчислень, таких як системи плитки, стільникові автомати, тегові системи тощо?
Marzio De Biasi

2
Чому ми не повинні привілейовувати над іншими налічуваними наборами? У нас є надзвичайно вагома причина для цього: процесори, тобто те, що робить обчислення, працює над (або кінцевими рядками над що є по суті тим самим). Звичайно, ви можете вибрати інші набори, але чому хтось повинен приймати ваше визначення? Як ви обґрунтовуєте будь-яке твердження, що те, що ви називаєте обчислюваністю, є насправді, за винятком того, що пов'язує його з обчисленнями на , тобто процесорах? N B NNNBN
Мартін Бергер

1
@Martin, я наводжу аргумент у своїй відповіді, що ми маємо привілей над принаймні певною мірою щодо часової складності. Причина цього неправильна без деякої самоаналізу - це те, що ми можемо вважати, що певні результати є природними, коли вони насправді є лише артефактами моделі. N{0,1}N
Dan Brumleve

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

Відповіді:


12

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

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

"Обчислювані" числа можуть бути коротко описані як реальні числа, вирази у вигляді десятків обчислюються скінченними способами.

Іноді варто повернутися до джерела.

Існує кілька способів встановлення обчислюваності на загальних множинах, один з яких найбільш загальний - теорія реалізаційності . Ідея теорії реалізації сходить до статті Клінова " Про тлумачення інтуїтивістської теорії чисел" з 1945 р., Але з тих пір узагальнена і перетворена на міні-галузь обчислюваності з гарним поєднанням теорії категорій, див., Наприклад, книгу Яапа ван Остена "Реалізаційність: вступ до її категоричної сторони" (Дослідження з логіки та основи математики, т. 152, Elsevier, 2008).

Дозвольте мені дуже коротко описати ідею реалізації, а пізніше обговоріть вашу вимогу "вільної від координат". Почніть з такої моделі обчислень, як машини Тюрінга, -calculus, мова програмування або будь-яка інша часткова комбінаційна алгебра (ви можете навіть прийняти певні топологічні простори як "моделі обчислень", цей матеріал є загальним ). Для конкретності розглянемо машини Тьюрінга. Ми код Turing машини натуральних чисел, але зверніть увагу , що я міг би взяти яку - то іншу модель обчислень, тому слід НЕ вважати , що використанняλN λNв будь-якому випадку тут важливо. (До інших можливостей належать: набір натуральних чисел, нескінченна послідовність натуральних чисел, синтаксис нетипізованих -калькуляцій, певні категорії ігор тощо)λ

Структура обчислюваності на множині задається відношенням між і , називаним відношенням реалізації , таким, що для кожного існує таким, що . Ми називаємо такі структури збірками . Це визначення безпосередньо відповідає інтуїтивному уявленню про те, що деяка частини даних respresents або Реалізує , елемент . (Наприклад, певні послідовності бітів представляють кінцеві списки пар рядків символів.)XXNXx X n N n X x n x XxXnNnXxnxX

Зазначені дві збірки і , відображення буде реалізований (або "обчислюваною") , якщо існує машина Тьюринга , таким чином, що кожного разу, коли тоді закінчується і . Знову ж таки, це пряма транслітерація того, що означає неофіційно "програмувати" абстрактну функцію : відповідна машина Тьюрінга робить представлення даних, що б робило до відповідних елементів.(X,X)(Y,Y)f:XYT n X x T ( n ) T ( n ) Y f ( x ) f fTnXxT(n)T(n)Yf(x)ff

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

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

Дозвольте прокоментувати вимогу "без координат":

  • Перемикання між моделями обчислення дає різні види обчислювальних світів. Це трохи схоже на перемикання між різними полями, що дають різні види лінійної алгебри.

  • Набір може бути оснащений багатьма структурами обчислення , подібно до того, як набір векторів має багато підстав. Однак, хоча всі бази рівнозначні, не всі обчислювальні структури на є обчислювально еквівалентними.XX XXX

  • Якщо ми конкретно працюємо зі структурами обчислюваності , це трохи схоже на роботу з матрицями в лінійній алгебрі. Це може бути дуже корисно, але не абстрактно.(X,X)

  • Щоб працювати в режимі "без координат", ми працюємо в топозі реалізації, використовуючи теорію категорій (так, це кліше, але це працює).

  • Ми можемо навіть працювати "безвітовим" способом: розвивати математику в інтуїтивістській логіці, а потім інтерпретувати результати в реалізабельних топосах.


Я не вважаю вибір аналогічним вибору як поле, над яким ми можемо розглянути векторні простори. Скоріше це поняття "відношення до реалізації" здається мені схожим на визначення того, що означає вимірювати, визначаючи міру Бореля на а потім оголошуючи "вимірюваним простором - це все, що бідекти з і вимірюваним функція - це все, що спонукає до вимірюваної карти .R R R RRNRRRRR
Том Елліс

Вимірювані простори природним чином виникають із (деяких) топологічних просторів, і загалом вважається теоремою про те, що недискретні з них вимірюються ізоморфними до . Що в ідеалі хотілося б знайти аналог теорії обчислень колишньої конструкції. Що є базовою структурою, що породжує щось, що ви можете обчислити? Листування з , нав'язане fiat, не особливо задовольняє. NRN
Том Елліс

Немає "вибору ", є лише вибір моделі обчислення. Якщо під "вибором " ви маєте на увазі "давайте використовувати машини Тьюрінга (закодовані цифрами)", то моя думка така: для кожного вибору структури обчислюваності ви отримуєте реалізабельність topos . Це аналогічно: для кожного вибору поля ви отримаєте категорії векторних просторів над . N S R T ( S ) F V e c t F FNNSRT(S)FVectFF
Андрій Бауер

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

2
Шановний Андрію, дозволь мені подякувати за Ваші розглянути відповіді. Мені приємно, що 20-річному ветерани поля знадобиться час, щоб просвітити такого неофіта, як я, а не голосувати, щоб закрити моє питання як безглуздо. Я також радий зробити висновок про те, що теорія топосу та сторінки в nLab вважаються доступними для тих, хто передує дослідницькому рівню.
Том Елліс

4

0

Існує концепція складності та обчислення за реальністю. Підручник, до якого я б вас скеровував: https://www.amazon.com/Complexity-Real-Computation-Lenore-Blum/dp/0387982817

Я знаю про одну лабораторію, яка спеціально вивчає це: https://complexity.kaist.ac.kr/


Це не особливо реалістично, оскільки це означає, що оракул Халтінг обчислюється.
Андрій Бауер

-1

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

Крім того , для визначення обчислюваності на іншу множину , закріп його з певною часткової функцією з бітових рядків в . Насправді не має значення, чи є ця функція біекцією чи ін'єкцією чи будь-яким іншим типом функції (для випадку, коли ми насправді не хочемо, щоб вона була ін'єкцією, розглянемо групу, визначену її презентацією, де у нас немає унікальне представлення для його елементів). Це навіть не повинно бути сюжетом, якщо ми дозволяємо, що набори одиночного типу можуть бути неспроможними. Складаючи цю функцію з будь-яким обчислюваним біекцією від бітових рядків до бітових рядків (концепція вже визначена), ми отримуємо визначення обчислюваності дляS S SSSSце інваріантно стосовно функції, яку ми спочатку вибрали (до тих пір, поки ми вибрали щось розумне). Тобто, CT тезу для нашого безлічі . Але якщо ми не виберемо розумну функцію, отримаємо інше визначення обчислюваності.S

Ця функція також служить для визначення обчислюваності інших функцій з доменом або діапазоном , що дорівнює . Змінюючи відстань до , зберігаючи домен , як , ми також отримуємо -інваріантную визначення Колмогорова складності для . І ми можемо нарешті сказати, що обрана нами функція сама по собі обчислюється.S { 0 , 1 } O ( 1 ) SSS{0,1}O(1)S

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

Але зачекайте, нехай є незмінно безмежним набором, і все. Яке наше розумне визначення обчислюваності для ? Знаючи, що множина біекцій між і не порожня, не говорить про те, які розумні. Нам не пощастило без деталей.S S { 0 , 1 } SSS{0,1}

І ми можемо зустріти безліч нееквівалентних, але однаково розумних альтернатив. Припустимо, у кожного дерева є деяка кількість червоних листків і деяка кількість зелених листків, і що для кожного існує рівно одне дерево з червоними листям, і що для кожного існує рівно одне дерево з зеленого листя. Обидва біекція розумні в тому сенсі, що ми можемо порахувати листя і розрізнити кольори, і ми можемо безцільно ходити по лісу, рахуючи листя на деревах, поки не знайдемо дерево рівно з зеленими листям, або те, що має r g N g 23 23 N 2 N N 2 NrNrgNg2323червоне листя. Незрозуміло, чи слід ідентифікувати дерево за допомогою його кількості червоних листків або його кількості, оскільки цей вибір призводить до нееквівалентних визначень обчислюваності для наборів дерев. Якщо ми замість цього зробимо своє визначення, поєднавши підрахунки з обчислюваною функцією спарювання, біективної від до (маючи належним чином визначені обчислюваність на ), це також однозначно визначає кожен дерево, але ситуація ще гірша, тому що це не біекція між деревами та , тепер, можливо, всі обчислювальні набори дерев є скінченними!N2NN2N

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

Я думаю, що ситуація стає набагато цікавішою, якщо ми вносимо в життя складність часу. Навіть якщо розглядати цілі числа, наш вибір має значення більше. Наприклад, що робити, якщо ми хотіли б представити кожне число як суму чотирьох квадратів? Таке подання ми можемо знайти, починаючи з базового подання, у очікуваний квадратичний час з доступом до випадковості. Або, замість цього, як перелік його основних факторів, які можуть бути, а може і неможливо обчислити за багаточлен. Наскільки ми допускаємо жорсткі уявлення, ми втрачаємо точність у часовій складності. Наприклад, ми не можемо змістовно сказати, що деяка функція обчислюється в квадратичний час, якщо ми маємо представленняN F : NNF:NNNщо може знадобитися більше ніж квадратичний час для перетворення в базове подання або з нього. Я думаю, що ця перспектива виявляє, що базове представлення є дещо довільним стандартом. (Стандартне в тому сенсі, що базове представлення - це те, що хтось має на увазі, коли вони говорять щось на зразок " обчислюється в квадратичному часі", якщо основна модель - це та, яка обчислює біт рядки з бітових рядків, і ми повинні зробити висновок про значення.)F:NN

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