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


27

Нещодавно в моєму класі CS я був представлений на машині Тьюрінга.

Після заняття я провів понад 2 години, намагаючись з’ясувати, які стосунки між стрічкою та машиною.

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

Але в будь-якому випадку, чи не ідея машини Тюрінга досить архаїчна? У нас в офісі чи вітальні є стільки фізичних (а не гіпотетичних) пристроїв, які, здається, роблять те, що робить машина Тьюрінга.

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


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

4
Звичайно, є справжні машини Тьюрінга! Навіть один зроблений з Лего!
john_leo

3
Супутнє питання . Зауважте, що (кінцеві) стрічки, де активно використовуються для обчислення, поки не з'явилися жорсткі диски.
Рафаель

1
Аргумент китайської кімнати ( en.wikipedia.org/wiki/Chinese_room ) може допомогти вам у розумінні. У мене було те саме питання з машинами Touring, коли я вперше вступив до CS, і Китайська кімната була мостом, який мені потрібен був, щоб потрапити туди. Крім того, суть машини Tournig - дозволити математикам продовжувати доводити цікаві речі про CS. Це не означало бути фактичним комп'ютером.
сімдесяти

2
@slebetman Це може бути трохи езотеричним для того, хто тільки знайомиться з машинами Тьюрінга, але стрічка в машині Тьюрінга не має випадкового доступу; це послідовний доступ. Потрібно n зсувів, щоб повернути голову до клітинки n проміжків. Я згадую про це лише тому, що, хоча простір обчислюваних речей не змінюється, час, необхідний для їх обчислення, робить. Такі результати (наприклад, ви можете імітувати 2-стрічкову машину з 1-стрічковою машиною, ви можете імітувати оперативну пам’ять з 1-стрічковою машиною тощо, і лише збільшуючи час полінома тощо), є важливими вправами в курси обчислюваності.
Джошуа Тейлор

Відповіді:


24

Машини Тьюрінга є однією з "оригінальних" моделей обчислень, повних Тьюрінга, поряд з численням і рекурсивно визначеними рекурсивними функціями. В даний час у багатьох областях теоретичної інформатики використовується інша модель - оперативна пам'ять, яка набагато ближче до реальних комп'ютерів. Оскільки обидві моделі є p-еквівалентом (вони імітують одна одну, щонайбільше, при поліноміальному вибуху), з точки зору таких питань, як P проти NP, обидві моделі рівнозначні.λ


38

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

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

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


5
Гарна відповідь. У оригінальному документі Тьюрінга він навіть отримав своє визначення машини з того, як людина щось обчислить.
john_leo

1
Re: C ++, це може потішити: port70.net/~nsz/c/c%2B%2B/turing.pdf
Даніель Ервікер

8

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

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

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

Важливість наявності простої моделі полягає набагато більше у використанні, яке може бути використане моделлю, ніж у встановленні її властивостей (наприклад, проблема зупинки, щоб взяти приклад, поданий @jkff).

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

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

Насправді, хоч і дуже інтуїтивно зрозуміла (що, мабуть, головна причина його популярності), модель TM часто не є достатньо простою для використання в таких доказах. Це одна з причин важливості деяких інших, навіть простіших моделей, таких як «Програма після кореспонденції» , менш інтуїтивно зрозуміла для аналізу, але простіша у використанні. Але це тому, що ці обчислювальні моделі часто використовуються для доказування негативних результатів (що сходить до початкової Entscheidungsproblem).

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

Тоді модель ТМ постає лише як орієнтир, зокрема для аналізу складності, враховуючи складність зведення цих моделей до моделі ТМ (як правило, полінома). Простота моделі ТМ надає багато надійності заходам складності (на противагу, взяти крайній приклад, до скорочення лямбда-числення).

Іншими словами, модель ТМ часто занадто спрощена для проектування та вивчення алгоритмів (позитивних результатів) і часто занадто складна для вивчення обчислюваності (негативні результати).

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

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


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

Спасибі. Я ніколи про це не думав, але, мабуть, це може бути правильним, оскільки гіперкомпутація завжди може бути послаблена якимись іншими способами. Як ви думаєте, як це слід потім констатувати, оскільки я припускаю, що ви зрозуміли, що я маю сказати?
babou

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

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

@RBarryYoung Якщо у вас було терпіння прочитати всю відповідь, ви, можливо, помітили, що в останньому пункті я чітко кажу, що це "аж до необмеженості для нескінченності пам'яті". Перше речення було задумане як вступ. Ви вважаєте неправильним не давати такого відомого факту у вступі? Це правда, що спроба більш глибоко проаналізувати роль моделі TM відкриває мою відповідь на більшу критику. Ви бачили щось інше, що здається невірним у моїй відповіді?
бабу

5

Уявіть, що новачок з геометрії запитує:

Чи є фізична аналогія з трикутником?

Чи не ідея трикутника досить архаїчна? У нас в офісі чи вітальні стільки фізичних (а не гіпотетичних) форм, які, здається, виконують те, що робить трикутник.

Що б ти відповів?

Можна сказати, що ці питання розкривають дві основні помилки щодо трикутників:

  1. "Трикутники суто гіпотетичні". Неправильно! Хоча вони є математичними сутностями, платонічними ідеалами та гіпотетичними в цьому сенсі, трикутники справжні : ми можемо насправді побудувати їх у реальному світі. Зрозуміло, те, що ми будуємо, ніколи не буде ідеальним трикутником, але наша математична теорія про них дійсно стосується реального світу, закони, які ми можемо отримати, стосуються фігур у реальному світі, теорія може бути використана як основа для проектування, побудова та вимірювання фігур у реальному світі; саме тому теорія була розроблена в першу чергу.
  2. "Трикутники марні, оскільки вони не описують фігури, які ми зазвичай використовуємо."Неправильно! Опис фактичних фігур, які ви знайдете в реальному світі, не є їх призначенням. Якщо весь ваш кабінет або вітальня не містить жодного трикутника, це не означає, що концепція трикутника є нереальною або застарілою і краще замінити її чимось іншим. Їх головне призначення - це елементарна конструкція, з якої в принципі можна побудувати всі більш складні форми - і для цього ми можемо отримати закономірності, що стосуються фігур взагалі. Мислення про трикутники дозволяє міркувати про форми взагалі. Ваша вітальня підпорядковується тим самим законам, які ми вивели для трикутників, і наші знання про ці закони були використані, прямо чи опосередковано, для її побудови. У вітальні, мабуть, немає жодного трикутника в ньому, не кажучи вже про ідеальний, але нам не байдуже, як знайти трикутники там; ми можемо. однак складіть опис фігур там, наблизивши їх до трикутників, і це - тріангуляція - популярна і корисна річ. Тож трикутники є будівельними блоками, щоб допомогти нам думати про форми взагалі.

Те саме стосується машин Тьюрінга.

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

Отже, для повноти:

  1. "Машини Тьюрінга суто гіпотетичні". Неправильно! Хоча вони є математичними сутностями, платонічними ідеалами та гіпотетичними в цьому сенсі, машини Тюрінга справжні : ми можемо їх реально побудувати в реальному світі. Зрозуміло, те, що ми будуємо, ніколи не буде ідеальною машиною Тьюрінга, але наша математична теорія про них дійсно стосується реального світу; закони, які ми можемо отримати, стосуються приладів обчислень у реальному світі, теорія може бути використана як основа проектування, побудова та вимірювання обчислювальних пристроїв у реальному світі; саме тому теорія була розроблена в першу чергу.
  2. "Машини Тьюрінга марні, оскільки вони не описують обчислювальні пристрої, які ми зазвичай використовуємо."Неправильно! Опис фактичних обчислювальних пристроїв, які ви знайдете в реальному світі, не є їх призначенням. Якщо весь ваш бек-офіс чи домашня розважальна студія не містять жодної машини Тьюрінга, це не означає, що концепція машини Тьюрінга є нереальною або застарілою, і її краще замінити чимось іншим. Їх головне призначення - це елементарна конструкція, з якої в принципі можуть бути побудовані всі більш складні обчислювальні пристрої - і для цього ми можемо вивести закони, що стосуються фігур взагалі. Мислення про машини Тюрінга дозволяє нам міркувати про обчислювальні пристрої загалом. Комп'ютерне обладнання та програмне забезпечення підпорядковуються тим самим законам, які ми отримали для машин Тьюрінга, і наші знання про ці закони були використані, прямо чи опосередковано, для їх побудови - навіть якщо вони, ймовірно, не ' у них немає єдиної машини Тьюрінга. Це закони, які нас цікавлять.

1
Не могли б ви поширити цю дискусію про трикутники на випадок тессерактів . Я відчуваю, що трикутники повинні протиставляти сутності, які менш очевидно фізичні.
бабу

1
Я сміявся, коли читав запитання, бо для мене це виглядало так само смішно, як і заявляти, що трикутники архаїчні. Інформатика - це в основному математика; вона не старіє і не застаріла. Дуже добре написана відповідь; +1.
Wildcard

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

3

Фізична аналогія, яку мав на увазі Тьюрінг, - це комп'ютер, який розробляє проблеми з олівцем, папером та гумкою. Ви повинні розуміти, що в 1936 році "комп'ютером" була людина, зайнята для обчислення. Звичайно, у 1936 р. Більшість комп’ютерів використовували б додавання машин, але Тьюрінг не згадує про них, оскільки вони несуттєві. Ось що він говорить про стрічку, намагаючись обґрунтувати, що "обчислювані" числа (тобто ті, які машина Тьюрінга могла обчислити) включають усі числа, які, природно, вважатимуться обчислювальними "

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

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

Докладніше див. Про обчислювані номери з додатком до entscheidungsproblem , особливо розділи 1 і 9.


Джо Вайзенбаум використав ще одну фізичну аналогію для пояснення: жетони на рулоні туалетного паперу.
Jerry101

1

@jkff думає про the Turing Machine is modeled on the idea of a human with a pen and paperне зовсім коректне. Але є багато ситуацій, коли це можна вважати правильним.

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

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

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

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

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

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