Машина Тьюринга - реальное устройство или воображаемая концепция? - PullRequest
14 голосов
/ 09 сентября 2011

Когда я изучал машины Тьюринга и КПК, я думал, что первым вычислительным устройством была машина Тьюринга.

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

Поэтому я спросил , как входные строки представлены на магнитных лентах , но по ответу и подробностям, приведенным в моей книге, я узнал, что машина Тьюринга несколько гипотетична.

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

Являются ли машины Тьюринга устаревшими?Или они все еще используются?

Ответы [ 5 ]

31 голосов
/ 09 сентября 2011

Когда Тьюринг впервые разработал так называемые машины Тьюринга, он делал это по чисто теоретическим причинам (они использовались для доказательства существования неразрешимых проблем) и фактически не создавал их в реальном мире.Перенесемся в настоящее время, и, за исключением любителей, создающих машины Тьюринга для удовольствия, ТМ по существу ограничиваются Теорией.

Машины Тьюринга на практике не используются по нескольким причинам.Для начала, невозможно создать настоящую ТМ, так как вам понадобятся бесконечные ресурсы для создания бесконечной ленты.(Вы могли бы представить себе создание ТМ с ограниченным количеством ленты, а затем добавление большего количества ленты по мере необходимости.) Более того, машины Тьюринга по своей природе медленнее, чем другие модели вычислений, из-за последовательного характера их доступа к данным.Например, машины Тьюринга не могут прыгнуть в середину массива, не пройдя сначала все элементы массива, которые он хочет пропустить.Кроме того, машины Тьюринга чрезвычайно сложны в разработке.Например, попробуйте написать машину Тьюринга для сортировки списка 32-битных целых чисел.(На самом деле, пожалуйста, не надо. Это действительно сложно!)

Тогда возникает вопрос ... зачем вообще изучать машины Тьюринга?К счастью, для этого есть огромное количество причин:

  1. Чтобы определить пределы того, что можно вычислить.Поскольку машины Тьюринга способны моделировать любой компьютер на планете Земля (или, согласно тезису Черча-Тьюринга, любое физически реализуемое вычислительное устройство), если мы сможем показать пределы того, что машины Тьюринга могут вычислить, мы можем продемонстрировать пределы того, чтомог когда-либо надеяться, что это будет выполнено на реальном компьютере.

  2. Формализовать определение алгоритма.Почему бинарный поиск является алгоритмом, а выражение «угадать ответ» - нет?Чтобы ответить на этот вопрос, у нас должна быть формальная модель того, что такое компьютер и что означает алгоритм.Наличие машины Тьюринга в качестве модели вычислений позволяет нам строго определить, что такое алгоритм.На самом деле никто никогда не хочет переводить алгоритмы в формат, но способность сделать это дает области алгоритмов и теории вычислим твердое математическое обоснование.

  3. Формализовать определения детерминированных и недетерминированныхалгоритмы.Вероятно, самый большой открытый вопрос в области компьютерных наук сейчас - P = NP .Этот вопрос имеет смысл, только если у вас есть формальное определение для P и NP, а они, в свою очередь, требуют определений для детерминированных и недетерминированных вычислений (хотя технически они могут быть определены с использованием логики второго порядка).Наличие машины Тьюринга позволяет нам говорить о важных проблемах в NP, а также дает нам возможность находить NP-полные проблемы.Например, доказательство того, что SAT является NP-полным, использует тот факт, что SAT можно использовать для кодирования машины Тьюринга и ее выполнения на входе.

Надеюсь, это поможет!

6 голосов
/ 09 сентября 2011

Это концептуальное устройство, которое неосуществимо (из-за требования бесконечной ленты). Некоторые люди создали физические реализации машины Тьюринга, но это не настоящая машина Тьюринга из-за физических ограничений.

Вот видео одного из них: http://www.youtube.com/watch?v=E3keLeMwfHY

0 голосов
/ 10 июня 2019

Машина Тьюринга (ТМ) представляет собой математическую модель для вычислительных устройств. Это самая маленькая модель, которая действительно может вычислить. На самом деле компьютер, который вы используете, - очень большая ТМ. ТМ не устарела. У нас есть другие модели для вычислений, но эта использовалась для создания современных компьютеров, и поэтому мы многим обязаны Алану Тьюрингу, который предложил эту модель в 1936 году.

0 голосов
/ 18 июля 2016

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

0 голосов
/ 09 сентября 2011

Это теоретическая машина, следующий абзац из Википедии

Машина Тьюринга - это теоретическое устройство, которое манипулирует символами на ленте в соответствии с таблицей правил. Несмотря на свою простоту, машина Тьюринга может быть адаптирована для имитации логики любого компьютерного алгоритма и особенно полезна для объяснения функций процессора внутри компьютера.

Эта машина вместе с другими машинами, такими как недетерминированная машина (в действительности не существует), очень полезна для вычисления сложности и доказывает, что один алгоритм сложнее, чем другой, или один алгоритм не разрешим ... и т. Д.

...