КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Композиция машины Тьюринга
Определение, функционирование и способы задания машины Тьюринга
Под машиной Тьюринга понимается некоторая гипотетическая (абстрактная) машина, состоящая из следующих частей (рис. 3.1.) 1) бесконечная в обе стороны лента, разбитая на ячейки, в каждой из которых может быть записан только один символ из алфавита 2) управляющее устройство (рабочей головки), которое в каждый момент времени может находится в одном из состояний из множества
Рис. 3.1. Машина Тьюринга
Функционирование МТ состоит из последовательности элементарных шагов (тактов). В каждом шаге выполняются следующие действия: 1. рабочая головка считывает (обозревает) символ 2. в зависимости от своего состояния 3. головка перемещается на одну ячейку вправо (R), влево (L) или остается на месте (E); 4. головка переходит в другое внутреннее состояние
Состояние Полное состояние МТ называется конфигурацией. Это распределение букв по ячейкам ленты, состояние рабочей головки и обозреваемая ячейка. Конфигурация в такте t записывается в виде: Начальная конфигурация Для описания работы МТ существует 3 способа: - система команд вида - функциональная таблица; - граф (диаграмма) переходов. Рассмотрим их на примерах. Пример 1. Построить МТ, реализующую конкатенацию двух слов в алфавите Система команд МТ имеет вид:
Функциональная таблица
Прочерки в таблице означают, что символ l не может быть встречен в состояниях
Вычисление на МТ словарной функции
С помощью МТ можно описывать выполнение арифметических операций над числами. При этом числа представляются на ленте как слова в алфавите, состоящем из цифр какой-нибудь системы счисления, и разделяющихся специальным знаком, не входящем данный алфавит, например, *. Наиболее употребительной системой является унарная, состоящего из одного символа –1. Число Х на ленте записывается словом
Числовая функция
Пример 2. Операция сложения двух чисел в унарном коде. Начальная конфигурация: Конечная конфигурация: Приведем описание МТ в виде функциональной таблицы:
Вышеперечисленные способы описания МТ практически можно использовать только для несложных алгоритмов, т.к. для сложных описание становится слишком громоздким. Точно так же описание рекурсивных функций только с помощью простейших функций и операторов суперпозиции, примитивной рекурсии и минимизации было бы чрезвычайно громоздким. Поэтому примитивная или частичная рекурсивность функции доказывается с использованием других функций, примитивная или частичная рекурсивность которых уже доказана.
Аналогично этому, машины Тьюринга для сложных алгоритмов могут строиться с использованием уже имеющихся МТ. Такое построение называется композицией МТ.
Опишем 4 основных способа композиции МТ: - последовательная композиция (суперпозиция); - параллельная композиция; - разветвление - цикл
Последовательной композицией машин
и обозначается Последовательная композиция используется обычно для описания линейных участков алгоритмов.
Доказательство теоремы о возможности построения машины T, являющейся последовательной композицией двух произвольных машин
Пример 3. Построить алгоритм умножения 2*Х в унарном коде с использованием машины копирования
Параллельной композицией машин
Параллельная композиция МТ и изображается следующим образом:
и обозначается: Фактически параллельная композиция двух МТ получает на вход слово, состоящее из 2-х слов в разных алфавитах и на выходе выдает слово, состоящее из 2-х слов, т.е. представляет собой две одновременно и независимо работающие машины.
Для реализации параллельной композиции используется машина с двухэтажной лентой. Необходимость в этом вызвана тем, что вычисление
Для реализации параллельной композиции n машин используется n– этажная лента. Команда МТ с двухэтажной лентой записывается следующим образом:
Пример 4. Реализовать параллельную композицию машин
Входное слово имеет вид: Опишем работу МТ системой команд:
В данном примере реализацию композиции можно было бы осуществить и с одноэтажной лентой, но он служит также для иллюстрации способа построения МТ с двухэтажной лентой.
На конкретных примерах входных данных самостоятельно покажите функционирование описанной МТ в виде последовательности конфигураций.
Разветвление в композиции МТ. Если заданы машины
Разветвление машин Тьюринга на схемах композиции изображается следующим образом:
и обозначается Машина Т представляет собой последовательную композицию машин
где
Цикл в композиции МТ реализуется по тем же принципам что и разветвление. Циклическим будем считать следующий алгоритм: «пока P(a)= ’ истина ’, выполнять Для реализации такого цикла используется следующая схема:
Машина
Пример 5. Построить композицию МТ для реализации алгоритма умножения двух чисел x и y, заданных в унарном коде. Для построения композиции вначале составим блок-схему алгоритма (рис 3.2.).
Рис 3.3 Композиция МТ, вычисляющая Здесь
Следует отметить, что во всех случаях в начале алгоритма нужно вставлять проверку исходных данных на особые значения (чаще всего на 0), несоблюдение этого требования может привести к зацикливанию. Композиция МТ может применяться для построения сложных алгоритмов. Возникает вопрос: всякий ли алгоритм можно реализовать в виде композиции МТ? Ответ на этот вопрос дает Тезис Тьюринга, аналог тезиса Черча: всякий алгоритм может быть реализован с помощью машин Тьюринга и наоборот, всякий процесс, реализуемый машиной Тьюринга, является алгоритмом. Тезис Тьюринга не является теоремой, доказать его невозможно, т.к. он содержит неформальное понятие «алгоритм». Однако многолетняя математическая практика является надежным подтверждением этого тезиса: за 50 лет не было найдено алгоритма в интуитивном смысле, который нельзя было бы реализовать с помощью машин Тьюринга.
Дата добавления: 2014-01-07; Просмотров: 8477; Нарушение авторских прав?; Мы поможем в написании вашей работы! |