Це схоже на те, як ми визначаємо обчислюваність з точки зору машин Тьюрінга, а потім негайно забуваємо про машини Тьюрінга. Оскільки, виявляється, машина Тьюрінга є таким же хорошим визначенням, як і будь-яка інша, ми використовуємо її як якір для цілого класу еквівалентності моделей, і ми закінчуємо тим самим класом, незалежно від того, з якого елемента ми його генеруємо. В основному це теза Церкви Тьюрінга, і вона визначає набір обчислюваних бітових рядків.
Крім того , для визначення обчислюваності на іншу множину , закріп його з певною часткової функцією з бітових рядків в . Насправді не має значення, чи є ця функція біекцією чи ін'єкцією чи будь-яким іншим типом функції (для випадку, коли ми насправді не хочемо, щоб вона була ін'єкцією, розглянемо групу, визначену її презентацією, де у нас немає унікальне представлення для його елементів). Це навіть не повинно бути сюжетом, якщо ми дозволяємо, що набори одиночного типу можуть бути неспроможними. Складаючи цю функцію з будь-яким обчислюваним біекцією від бітових рядків до бітових рядків (концепція вже визначена), ми отримуємо визначення обчислюваності для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 Nr∈Nrg∈Ng2323червоне листя. Незрозуміло, чи слід ідентифікувати дерево за допомогою його кількості червоних листків або його кількості, оскільки цей вибір призводить до нееквівалентних визначень обчислюваності для наборів дерев. Якщо ми замість цього зробимо своє визначення, поєднавши підрахунки з обчислюваною функцією спарювання, біективної від до (маючи належним чином визначені обчислюваність на ), це також однозначно визначає кожен дерево, але ситуація ще гірша, тому що це не біекція між деревами та , тепер, можливо, всі обчислювальні набори дерев є скінченними!N2NN2N
Отже, щоб уникнути всієї дискусії, слід розуміти не лише те, що існує обгрунтоване визначення обчислюваності на відповідній множині, а й те, що існує рівно один клас розумних визначень.
Я думаю, що ситуація стає набагато цікавішою, якщо ми вносимо в життя складність часу. Навіть якщо розглядати цілі числа, наш вибір має значення більше. Наприклад, що робити, якщо ми хотіли б представити кожне число як суму чотирьох квадратів? Таке подання ми можемо знайти, починаючи з базового подання, у очікуваний квадратичний час з доступом до випадковості. Або, замість цього, як перелік його основних факторів, які можуть бути, а може і неможливо обчислити за багаточлен. Наскільки ми допускаємо жорсткі уявлення, ми втрачаємо точність у часовій складності. Наприклад, ми не можемо змістовно сказати, що деяка функція обчислюється в квадратичний час, якщо ми маємо представленняN F : N → NF:N→NNщо може знадобитися більше ніж квадратичний час для перетворення в базове подання або з нього. Я думаю, що ця перспектива виявляє, що базове представлення є дещо довільним стандартом. (Стандартне в тому сенсі, що базове представлення - це те, що хтось має на увазі, коли вони говорять щось на зразок " обчислюється в квадратичному часі", якщо основна модель - це та, яка обчислює біт рядки з бітових рядків, і ми повинні зробити висновок про значення.)F:N→N