Машина Тьюринга

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 21.02.2013
Размер файла 36,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки, молодежи и спорта Украины

Запорожский колледж радиоэлектроники

Запорожского национального технического университета

РЕФЕРАТ

по предмету

Математическая логика и теория алгоритмов

Тема:

Машина Тьюринга

Выполнил Гавранек И.К.

Студент группы ПМ 10-1

Проверил преподаватель Яловая Е.А.

2013

Содержание

  • Содержание
  • Машина Тьюринга
  • 1. Алгоритм прибавления единицы к числу в десятичной системе счисления
  • 2. Алгоритм записи числа в десятичной системе счисления
  • Источники

Машина Тьюринга

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

Читающая и пишущая головка может читать буквы рабочего алфавита А = {a0, а1, ...,аt}, стирать их и печатать. Каждая ячейка ленты в каждый момент времени занята буквой из множества А. Чаще всего встречается буква a0 - «пробел». Головка находится в каждый момент времени над некоторой ячейкой ленты - текущей рабочей ячейкой. Лентопротяжный механизм может перемещать ленту так, что головка оказывается над соседней ячейкой ленты. При этом возможна ситуация выхода за левый край ленты (ЛК), которая является аварийной (недопустимой), или машинного останова (МО), когда машина выполняет предписание об остановке.

Порядок работы МТ (с рабочим алфавитом a0, а1 ..., аt и состояниями q0, q1, ..., qs) описывается таблицей машины Тьюринга. Эта таблица является матрицей с четырьмя столбцами и (s + 1)(t + 1) строками. Каждая строка имеет вид

qiajvijqij, 0 <= i < s, 0 <= j <= t, гдеqijпринадлежит {q0,q1,…, qs}

Здесь через vij обозначен элемент объединения алфавита {a0, а1, ..., аt} и множества предписаний для лентопротяжного механизма:

· l - переместить ленту влево,

· r - переместить ленту вправо,

· s - остановить машину;

· vij - действие МТ, состоящее либо в занесении в ячейку ленты символа алфавита a0, а1, ..., аt либо в движении головки, либо в останове машины;

· qij является последующим состоянием.

МТ работает согласно следующим правилам: если МТ находится в состоянии qi, головка прочитывает символ aj в рабочей ячейке. Пусть строка aiajvijqij, начинающаяся с символов qiaj, встречается только один раз в таблице. Если vij - буква рабочего алфавита, то головка стирает содержимое рабочей ячейки и заносит туда эту букву. Если vij - команда rили l для лентопротяжного механизма, то лента сдвигается на одну ячейку вправо или влево (если не происходит выход за край ленты) соответственно. Если vij = s, то происходит машинный останов.

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

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

Рассмотрим примеры нескольких схем машины Тьюринга.

вычислительный машина тьюринг алгоритм

1. Алгоритм прибавления единицы к числу в десятичной системе счисления

Дана десятичная запись числа n (т.е. представление натурального числа n в десятичной системе счисления). Требуется получить десятичную запись числа n+1.

Очевидно, что внешний алфавит МТ должен состоять из десяти цифр 1 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и символа пробела _. Эти цифры записывают по одной в ячейке (подряд, без пропусков).

Оказывается достаточным иметь два внутренних состояния машины: q1 и q2.

Предположим, что в начальный момент головка находится над одной из цифр j числа, а машина находится в состоянии q1. Тогда задача может быть решена в два этапа: движения головки к цифре единиц числа (во внутреннем состоянии q1) и замене этой цифры на единицу большую (с учетом переноса 1 в следующий разряд, если это 9, j во внутреннем состоянии q2). Соответствующая схема МТ может иметь вид:

Заголовок таблицы

ai

qi

q1

q2

0

0 П q1

1 C q2

1

1 П q1

2 C q2

2

2 П q1

3 C q2

3

3 П q1

4 C q2

4

4 П q1

5 C q2

5

5 П q1

6 C q2

6

6 П q1

7 C q2

7

7 П q1

8 C q2

8

8 П q1

9 C q2

9

9 П q1

0 C q2

_

_ Л q1

1 C q2

2. Алгоритм записи числа в десятичной системе счисления

Дана конечная последовательность меток, записанных в клетки ленты подряд, без пропусков. Требуется записать в десятичной системе число этих меток (пересчитать метки).

Суть алгоритма может состоять в том, что к числу 0, записанному на ленте в начале работы машины, машина добавляет 1, стирая метку за меткой, так что вместо нуля возникает число 0+k.

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

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

Предположим, мы расширили определение МТ, добавив определенное состояние q* устройства управления машины. Будем говорить, что если устройство управления переходит в состояние q0 для заданного входного слова x, то машина допускает x; если устройство переходит в состояние q*, то машина запрещает x. Такую машину будем называть машиной Тьюринга с двумя выходами. Могут быть рассмотрены многочисленные варианты машины Тьюринга, имеющие некоторое конечное число лент. В каждой клетке этих лент может находиться один из символов внешнего алфавитаА = {а0, а1, ..., аn}. Устройство управления машиной в каждый момент времени находится в одном из конечного множества состояний Q = {q0, q1, ..., qm). Для k-ленточной машины конфигурация ее в i-й момент времени описывается системой k-слов вида:

первый индекс соответствует моменту времени, второй - номеру ленты, третий - номеру клетки, считая слева направо. Говорят, что машина выполняет команду

Если, находясь в состоянии q1, и обозревая ячейки с символами аa1, ..., aak, машина переходит в состояние qj, заменяя содержимое ячеек соответственно символами аb1, ..., abk, то после этого ленты соответственно сдвигаются в направлениях k1, ..., kk.

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

· различные символы должны заменяться различными кодовыми группами, но один и тот же символ должен заменяться всюду, где бы он не встретился, одной и той же кодовой группой;

· строки кодовых записей должны однозначно разбиваться на отдельные кодовые группы;

· должна иметься возможность распознать кодовые группы, соответствующие командам Л, П, С, различать кодовые группы, соответствующие символам внешнего алфавита и внутренним состояниям.

Для сравнения структур различных машин и оценки их сложности необходимо иметь соответствующую меру сложности машин. К.Шеннон предложил рассматривать в качестве такой меры произведение числа символов внешнего алфавита и числа внутренних состояний. Большой интерес вызывает задача построения универсальной машины Тьюринга наименьшей сложности.

Может быть рассмотрено еще одно обобщение машин Тьюринга: их композиции. Операции композиции, выполняемые над алгоритмами, позволяют образовывать новые, более сложные алгоритмы из ранее известных простых алгоритмов. Поскольку машина Тьюринга - алгоритм, то операции композиции применимы и к машинам Тьюринга. Рассмотрим основные из них: произведение, возведение в степень, итерацию.

Пусть заданы машины Тьюринга T1 и Т2, имеющие общий внешний алфавит A = {a0, a1, …, аm} и внутренние состояния Q1 = {q0, q1, ..., qn} и Q2 = {q0, g1, ..., qt} соответственно. Композицией или произведением машины T1 и машины Т2 будем называть машинуТ с тем же внешним алфавитом A = {a0, a1, …, аm} и набором внутренних состояний Q = {q0, q1, …,qn, qn+1, …, qn+t} и программой, эквивалентной последовательному выполнению программ машин Т1 и Т2:

T = T1 * Т2

Таким же образом определяется операция возведения в степень: n-й степенью машины T называется произведение T ... Т с n сомножителями.

Операция итерации применима к одной машине и определяется следующим образом. Пусть машина Т1 имеет несколько заключительных состояний. Выберем ее r-е заключительное состояние и отождествим его в схеме машины с ее начальным состоянием. Полученная машина является результатом итерации машины Т1: T = Т1.

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

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

Так что, когда теоретик Вам говорит, что нечто в Принципе можно сделать, почти всегда нужно понимать его «В теории можно, а на практике вряд ли!».

Точно так же можно иметь несколько одновременно работающих головок. Если разрешить вставлять и удалять ячейки под головкой, то и это моделируется обычной машиной. А обычная машина может быть смоделирована такой, у которой всего две головки, лента пустая, за исключением маркера начала ленты, головки могут лишь двигаться, но не писать, и не могут передвигаться левее маркера начала, либо такой машиной с одной головкой, которая может лишь записывать 1 вместо 0, но не может стирать однажды написанную единицу. Результатом при этом считается номер клетки, на которой остановилась первая головка.

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

Далее, если ввести две различные ленты: одну лишь для чтения, а другую лишь для записи, причём чтение и запись необратимы (после такой операции мы принудительно сдвигаемся вправо), то получается понятие «конечного автомата», существенно более слабое, чем машина Тьюринга. В частности, наша первая сложная машина делает то, что не может сделать конечный автомат. Конечный автомат может прибавить 1 к двоичному числу лишь в том случае, если число подаётся, начиная с младшего разряда.

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

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

Источники

· http://it.kgsu.ru/TI_5/falg_004.html;

· http://ru.wikipedia.org/wiki/Машина_Тьюринга;

· http://ru.wikipedia.org/wiki/Чего_не_могут_вычислительные_машины;

Размещено на Allbest.ru

...

Подобные документы

  • Простое вычислительное устройство машина Тьюринга и ее алгоритмические свойства. Тезис Черча–Тьюринга и моделирование машины Тьюринга (операции перезаписи ячеек, сравнения и перехода к другой соседней ячейке с учетом изменения состояния машины).

    контрольная работа [23,3 K], добавлен 24.04.2009

  • Происхождение и сущность понятия "алгоритм". Основные требования к алгоритмам. Роль абстрактных алгоритмических систем. Алгоритм как абстрактная машина. Алгоритмическая машина Поста. Схема логического устройства и функционирования машины Тьюринга.

    реферат [62,2 K], добавлен 16.03.2011

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

    реферат [8,1 K], добавлен 04.10.2011

  • Изучение методик языка Javascript по формализации и решению поставленной задачи, технологических приемов разработки программ на языке Javascript, HTML, CSS. Формально определение машины Тьюринга, распознающую язык. Ее программная модель, протоколы работы.

    курсовая работа [220,7 K], добавлен 03.03.2015

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

    курсовая работа [386,8 K], добавлен 16.12.2010

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

    контрольная работа [82,4 K], добавлен 05.12.2010

  • Примеры запросов к одной из поисковых систем Интернет (подбор ключевых слов) и расчетов в табличном процессоре MS Excel (инструменты). Описание машины Тьюринга: составляющие и их функционирование. Основные форматы представления графических данных.

    контрольная работа [24,5 K], добавлен 09.06.2009

  • Двоичная система, алгебра логики и абстрактная "машина Тьюринга" - базовые компоненты информатики. Описание строение и основных недостатков первых ЭВМ. Воплощение прогрессивных архитектурных и программных решений в создании новых версий компьютеров.

    реферат [40,0 K], добавлен 24.11.2010

  • Более строгое описание алгоритма, чем общее или формализация понятия алгоритма. Три подхода к формализации: теория конечных и бесконечных автоматов, теория вычислимых (рекурсивных) функций и л-исчисление Черча. Воображаемые машины Поста и Тьюринга.

    реферат [370,0 K], добавлен 09.02.2009

  • Характеристика машины Леонардо да Винчи. Исследование принципа действия машины В. Шиккарда. Суммирующая машина Паскаля и ее особенности. Счетная машина Лейбница и ее анализ. Основные автоматизированные устройства программирования: перфокарты Жаккара.

    презентация [823,4 K], добавлен 18.04.2019

  • Электронно-вычислительная машина (ЭВМ) как средство обработки информации. Аппаратные и программные средства ЭВМ. Системы счисления и представления информации. Элементы структурного программирования. Построение блок-схем алгоритмов решения задач.

    презентация [152,5 K], добавлен 26.07.2013

  • Положения машины Тьюринга. Алгоритмически неразрешимые проблемы: "остановка", эквивалентность алгоритмов, тотальность. Свойства алгоритма: дискретность, детерминированность, результативность, массовость. Выбор структуры данных. Решение на языке Haskell.

    курсовая работа [957,6 K], добавлен 16.11.2013

  • Разработка программы для изображения в графическом режиме на экране структуры модели вычислительной машины и демонстрация функционирования при выполнении программы вычисления. Описание процесса разработки, обоснование структур данных и их форматов.

    курсовая работа [170,3 K], добавлен 07.06.2019

  • Примеры счетно-решающих устройств до появления ЭВМ. Суммирующая машина Паскаля. Счетная машина Готфрида Лейбница. "Аналитическая машина" Чарльза Бэббиджа, развитие вычислительной техники после ее создания. Поколения электронно-вычислительных машин.

    презентация [1,2 M], добавлен 10.02.2015

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

    реферат [24,6 K], добавлен 20.10.2013

  • Синтез и детерминизация, алгоритм минимизации автоматов–распознавателей. Машина Тьюринга как универсальный тип абстрактного преобразователя. Моделирование систем и событий с помощью сетей Петри. Методы синтеза структурных автоматов на базе триггеров.

    учебное пособие [2,3 M], добавлен 17.06.2014

  • Счетные устройства до появления ЭВМ. Домеханический период. Счет на пальцах, на камнях. Палочки Непера. Логарифмическая линейка. Механический период. Машина Блеза Паскаля, Готфрида Лейбница. Перфокарты Жаккара. Аналоговые вычислительные машины (АВМ).

    реферат [62,4 K], добавлен 29.11.2008

  • Проектирование схемы решения дифференциального уравнения, обеспечивающей управление процессом решения и задания начальных условий с помощью ЦВМ. Этапы программирования задач на аналоговых вычислительных машинах. Проверка результатов моделирования.

    курсовая работа [71,6 K], добавлен 24.09.2010

  • История развития средств вычислительной техники. Машина Тьюринга: понятие и свойства. Теория переменных и типов данных в ANSI C. Обменные сортировки, их виды. Исходный, объектный и машинный код. Функции компилятора и линковщика. Рекурсивные алгоритмы.

    шпаргалка [432,5 K], добавлен 04.05.2015

  • Информационная деятельность человека: хранение, передача, обработка данных. Истоки гениального изобретения. Вычислительные машины до электронной эры. Первый микропроцессор и персональный компьютер. Релейные вычислительные машины. Машина ENIAC. IBM 7094.

    презентация [546,1 K], добавлен 17.05.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.