Практичне значення машин Тьюрінга?


27

Я інженер-електрик і 26 років тому мав лише один курс навчання в коледжі. Однак я також відданий користувач Mathematica.

У мене є відчуття, що машини Тьюрінга дуже важливі в інформатиці. Чи має значення лише теорія інформатики? Якщо є практичні наслідки / програми, які з них є?

Відповіді:


21

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

При цьому машини Тьюрінга не є практичною моделлю для обчислень. Як інженер і користувач Mathematica вони взагалі не повинні вас турбувати. Навіть у теоретичному співтоваристві з інформатики більш реалістичні машини ОЗУ використовуються в областях алгоритмів та структур даних.

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


11

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

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

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

  2. Тривалість і використання простору
    Було (тільки) дві основні моделі обчислень , які з'явилися майже одночасно з машинами Тьюринга, а саме церкви -ісчісленія і Кліні -recursive функціями . Вони відповіли на те саме питання, що робив Тьюрінг - Ентшейдунгспроблема Гільберта, - але вони піддаються набагато менш легко (якщо взагалі є) для визначення часу виконання та використання простору. У певному сенсі вони занадто абстрактні, щоб таким чином бути пов'язаними з більш реалістичними моделями машин.λмк

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

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

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

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


4

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

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

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


-1

Машина Тьюрінга - це математична модель обчислення. Його переваги:

1. Перевірити рішучість Якщо TM не може вирішити проблему за лічильний час, тоді не може бути жодного алгоритму, який міг би вирішити цю проблему (тобто проблема не визначна).

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

2. Класифікувати задачу ТМ допомагає класифікувати вирішальні задачі на класи ієрархії поліномів.

Припустимо, ми виявили, що проблема вирішується. Тоді ціль стає тим, наскільки ефективно ми можемо її вирішити. Ефективність обчислюється в кількості кроків, додатковому використаному просторі, довжині коду / розміру FSM.

3. Алгоритм розробки та впровадження практичних машин ТМ допомагає поширювати уявлення про алгоритм в інших практичних машинах. Після успішної перевірки 1,2 критерії ми можемо використовувати наші практичні пристрої / комп’ютери для розробки та впровадження алгоритму.


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

ТМ дає визначення рішучості. Правильно. Щоб перевірити рішучість, ми не користуємося ТМ? "Класифікація задач цілком можлива з використанням інших моделей обчислення." Правильно, але ми також можемо це зробити за допомогою TM. При впровадженні алгоритму ви повинні бути впевнені в твердості цієї проблеми.
Субханкар Госал

-3

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


2
"Усі програми машини Тьюрінга є або інтуїтивно зрозумілими, або питаннями релігії [...]" І, таким чином, всі галузі теорії обчислень та теорії складності були відкинуті в чотирнадцяти словах.
Девід Річербі

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

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

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