Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Что такое машина Тьюринга

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

Суть простыми словами

Следует сразу обозначить важный момент: машина Тьюринга — исключительно умозрительное устройство. В природе ничего подобного не существует. Компьютерные модели, правда, есть. Даже действующие. Но они — не более чем модели.

Почему так? Потому что предмет обсуждения представляет собой бесконечную ленту, полноценное физическое существование которой на данном этапе развития науки и техники возможно исключительно теоретически.

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

Как это функционирует

Движущаяся часть — устройство чтения и записи. Какая-нибудь штуковина, способная считывать содержимое ячеек, записывать в них что-нибудь своё и, главное, действовать в соответствии с получающимися результатами.

Причём, автомат может за один раз перемещаться только на одну ячейку. Вправо, влево, куда надо для выполнения вычислений. Здесь что-то приплюсовал — надо передвинуться, чтобы что-то отнять. А потом — опять сложить. И так сколь угодно долго, пока задача не будет выполнена. Лента ведь бесконечная, вариантов хватит для любых операций.

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

Разные варианты

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

Вместе с тем, слава Алана Тьюринга многим не давала покоя, и последователи начали, как говорится, ловить её отблески. Начали выдумывать многомерные машины Тьюринга, с множеством лент, «полубесконечные» etc.

Мы же попытаемся внести в этот хаос хоть какую-то ясность и рассмотрим всамделишные варианты обсуждаемого устройства.

  1. Недетерминированная — это такая машина Тьюринга, которая действует на вышеописанной ленте с ячейками в соответствии с ситуацией, возникающей на том или ином этапе вычислений. Куда ей надо, туда и двинется, иными словами.
  2. Детерминированная — такая, в которую заложены конкретные инструкции. Например, если в ячейке, где находится исполняющий автомат, записана буква А, то надо передвинутся в соседнюю, с буквой Б, хочется того или нет.
  3. Полная — способная вычислить вообще всё, что можно вычислить пошаговыми операциями. Может даже смоделировать машину в машине, эмулятор, описывающий алгоритмами работу другого аналогичного устройства.
  4. Универсальная — умеющая всё, что умеют какие угодно варианты машины Тьюринга. Вообще любые, даже ещё не придуманные. Конечно, является полной.

Практическая польза

Конечно, алгоритм — понятие более сложное, нежели просто передвижение исполнения по шагам в одномерном пространстве. Ведь возможны ветвления, зацикливания, возвращения назад, задействование подпрограмм.

Кроме того, смоделировать бесконечное множество ячеек, содержащих данные, невозможно на практике хотя бы потому, что возможности компьютерного оборудования ограничены.

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

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

Автор: vanilinkin, специально для xBB.uz, 01.04.2013


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2013-04-01 10:58:05

Метки материала: что такое, машина, что, машина тьюринга, тьюринг, что такое машина, виртуальная машина, компьютеры, информатика, информационные технологии, программное обеспечение, ит, программирование, it, компьютерные технологии, икт, цифровые технологии, алгоритм

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.