Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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

Определение алгоритма

Тема 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ

Цели и задачи изучения темы: В данной теме изучаются основы работы машины Тьюринга.

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

Отметим важнейшие черты (свойства) алгоритма:

Массовость — применимость алгоритма не к одной задаче, а к классу задач.

Дискретность — четкая разбивка на отдельные этапы (шаги) алгоритма.

Детерминированность — такая организация этапов выполнения, при которой всегда ясно как осуществить переход от одного этапа к другому.

Конечность — для получения результата при применении алгоритма к решению конкретной задачи выполняется конечная последовательность шагов алгоритма:

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

Попытки формализовать понятие алгоритма привели к созданию машины Тьюринга, как некоего воображаемого устройства, реализующего алгоритм. Ещё одним шагом в определении понятия алгоритма стало появление рекурсивных функций, как функций, формализующих понятие алгоритма и реализующих интуитивное понятие вычислимости. Вскоре было установлено, что множество рекурсивных функций совпадает с множеством функций, вычислимых на машинах Тьюринга. Появлявшиеся затем новые понятия, претендующие на объяснение понятия алгоритма, оказывались эквивалентными функциям, вычислимым на машинах Тьюринга, а значит, и рекурсивным функциям. Итогом развернувшейся дискуссии о том, что такое алгоритм, стало утверждение, называемое сейчас тезисом Чёрча.

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

Лента разбита на ячейки. Во всякой ячейке в точности один символ из внешнего алфавита A={a0,a1,...,an}. Некоторый символ (будем обозначать его А) алфавита А называется пустым, а любая ячейка, содержащая в данный момент пустой символ, называется пустой ячейкой (в этот момент). Лента предполагается потенциально неограниченной в обе стороны

Управляющее устройство в каждый момент времени находится в некотором состоянии qj, принадлежащем множеству Q= {q0,q1,,qm} (m=1) Множество Q называется внутренним алфавитом. Одно из таких состояний (обычно q0) называется заключительным, а некоторое другое (обычно qi) -начальным.

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

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

Конфигурацией на ленте (или машинным словом) называется совокупность, образованная:

1. Последовательностью a i(1), a i(2),…,a i(s) символов из внешнего алфавита А, записанных в ячейках ленты, где ai(1).- символ записанный в первой ячейке слева и т.д. (любая такая последовательность называется словом),

2. состоянием внутренней памяти qr;

3. номером k воспринимаемой ячейки. Конфигурацию машины будем записывать так:

ai(l),ai(2),…ai(r-l) ai(r)а i(r+l), а i(r+2), …ai(s)

qr

здесь r-воспринимаемая ячейка, выделяется в виде дроби.

Если машина, находясь во внутреннем состоянии qi, воспринимает ячейку с символом аu, записывает к следующему моменту времени в эту ячейку символ аг, переходит во внутреннее состояние qs и сдвигается по ленте, то говорят, что машина выполняет команду qiau šqsarS, где символ S может принять одно из значений: -1 - сдвиг головки влево; +1 - сдвиг головки вправо; 0 - головка остается на месте. Список всех команд (пятерок), определяющих работу машины Тьюринга, называется программой этой машины. Программу машины часто задают в виде таблицы. Так для описанной выше ситуации в таблице на пересечении строки аu и столбца qi будет стоять qsarS (см. таб.4.1.1)

Таб.6.2.1.

  q0 qi qm
         
au     qsarS    
         

Если в программе машины для пары (qi,au) пятерка отсутствует, то в таблице на пересечении строки au, и столбца q i ставится прочерк.

Итак, машина Тьюринга есть, по определению, набор M=(A,Q,II), где А — внешний алфавит, Q — алфавит внутренних состояний, П — программа.

Если машина, начав работу с некоторым словом Р, записанным на ленте, придет в заключительное состояние, то она называется применимой к этому слову. Результатом ее работы считается слово, записанное на ленте в заключительном состоянии. В противном случае, машина называется не применимой к слову Р.

Пример 4.1.1. Построим машину Тьюринга, складывающую натуральные числа, записанные в унарной системе счисления (т.е. записанные при помощи одного символа |. Например 5=||.).

Решение. Рассмотрим алфавит А = {|, +, ^}. Машина определяется следующей программой:

  q1 q2 q3
І І q1+1 ^ q3-1 І q3-1
+ І q1+1    
^ ^ q2-1   ^ q0+1

Выпишем последовательно возникающие при работе этой машины конфигурации на исходном слове ||+, т.е. 2+3. Здесь при записи конфигурации будем использовать следующее соглашение: состояние, в котором находится машина, записывается в круглых скобках справа за обозреваемой буквой.

 


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

Решение. Искомую машину построим в алфавите А={|, a, ^}. Программа такой машины может выглядеть так:

  q1 q2 q3
І a q1+1 І q2-1 І q3+1
a   І q3+1  

^ ^ q2-1 ^ q0+1 І q2-1

Применим полученную машину к слову І І

Введение новой буквы и замена исходных | на a позволяет различить исходные | и новые (приписанные) |. Состояние q1 обеспечивает замену | на a, состояние q2 обеспечивает поиск a, предназначенных для замены на |, и останов машины в случае, когда a не обнаружено, q3 обеспечивает дописывание | в случае, когда произошла замена a на |.

<== предыдущая лекция | следующая лекция ==>
Правила нечетких продукций | Оператор примитивной рекурсии
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 1366; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.