Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
элементы дискретной математики.doc
Скачиваний:
15
Добавлен:
05.09.2019
Размер:
2.19 Mб
Скачать

9.5. Контрольные задания

  • Представить в табличной и графической формах полностью определенный автомат Мили, имеющий 3 – 4 состояния, 2 – 3 входных и 2 – 3 выходных сигнала.

  • Подать на вход автомата входное слово  из 10 символов. По таблицам переходов и выходов получить последовательность состояний и выходное слово (п.9.3).

  • Преобразовать автомат Мили в эквивалентный автомат Мура. Показать, что реакция автомата Мура на входное слово  будет аналогична с точностью до сдвига на один такт (п.9.4.2).

  • Преобразовать полученный автомат Мура в эквивалентный автомат Мили (п.9.4.1), получив тем самым два эквивалентных автомата с различным числом состояний. Показать, что реакция последнего автомата Мили на входное слово  будет аналогична реакции первоначального автомата Мили.

10. Уточнение понятия алгоритма

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

Одно из уточнений понятий алгоритма было дано Постом и А.Тьюрингом независимо друг от друга в 1936-1937гг. Основная мысль их заключалась в том, что алгоритмические процессы – это процессы, которые может свершить подходящим образом устроенная ”машина”. Ими были описаны гипотетические (условные) устройства, которые получили название «Машина Поста»(МП) и «Машина Тьюринга»(МТ). Так как в них много общего, то впоследствии их стали называть машинами Тьюринга.

Машина Тьюринга состоит из следующих частей:

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

  2. Считывающей головки – чувствительного специального элемента, способного обозревать содержимое ячеек. Лента может перемещаться вдоль головки так, что в каждый момент времени головка обозревает одну ячейку.

  3. Управляющего устройства (УУ), которое в каждый момент времени находится в некотором состоянии. Число состояний конечно. Одно из состояний называется заключительным.

Множество символов, которые записываются в информационной ленте {S1,S2,….,Sm}, составляют внешний алфавит МТ.

При этом S1 соответствует пустому символу.

Множество состояний, в которых может находиться УУ, обозначим {q1,q2,…,qn}. Среди состояний одно будет соответствовать значительному, при котором МТ останавливается.

Кроме того, УУ вырабатывает три команды на перемещение ленты: П, Л, Н, где

П – обозревать соседнюю справа ячейку;

Л – обозревать соседнюю слева ячейку;

Н – продолжать обозревать ту же ячейку.

Совокупность символов {q1,q2,…,qn} и {П,Л,Н} образуют внутренний алфавит МТ.

Работа машины происходит в дискретном времени. В каждый момент времени МТ, находясь в состоянии qi, обозревает на ленте символ Sk, затем переходит в состояние qj, заменяет Sk на символ Sl и передвигает ленту (либо нет) на одну ячейку.

Считывающая головка и управляющее устройство образуют логический блок, который представляет из собой (2,3) - полюсник.

qiSk qjSl П(Л,Н)

Таким образом, команда МТ задается пятеркой символов: qi, Sk, qj,Sl, П, а сам ЛБ является по своей сути конечным автоматом.

Структура МТ имеет следующий вид:

S1

S2

Sk

Sm

Q - ячейка хранит символ состояния, а Р - ячейка - символ сдвига. В них происходит задержка данных символов до начала следующего такта.

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

Если остановка и сигнал об остановке никогда не поступают, то говорят, что МТ не применима к последовательности U.

Рассмотрим функционирование МТ на примере сложения двух чисел, которые будем изображать в виде набора единиц.

Внешний алфавит будет состоять из символов: {1, +, }, где  - пустой символ.

Внутренний алфавит будет состоять из четырех символов {q1, q2, q3, !}, где символ q1 означает начальное состояние, а ! - заключительное состояние.

Пусть на ленте записана начальная информация:

1 2 3 4 5 6 7

1

1

+

1

МТ должна ее переработать в результирующую информацию:

1 2 3 4 5 6 7

1

1

1

Состояние ленты МТ в данный момент времени назовем ее конфигурацией.

Последовательность команд, реализующих операцию сложения, будет иметь вид:

1 q1 q3П

1 q3 1q3П

+ q3 +q3П

1 q3 1q3П

q3 1q2H 1 2 3 4 5 6 7

1

+

1

1

1 q2 1q2Л

1 q2 1q2Л

+ q2 +q2Л

1 q2 1q2Л 1 2 3 4 5 6 7

1

+

1

1

q2 q1П

1 q1 q3П

+ q3 +q3П

1 q3 1q3П

1 q3 1q3П

 q3 1q2H

1 2 3 4 5 6 7

+

1

1

1

1 q2 1q2Л

1 q2 1q2Л

1 q2 1q2Л

+ q2 +q2Л

 q2 q1П 1 2 3 4 5 6 7

+

1

1

1

+ q1 !Н 1 2 3 4 5 6 7

1

1

1

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

q1

q2

q3

1

q3П

1q2Л

1q3П

q1П

q1П

1q2H

+

!Н

+q2Л

+q3П

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

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

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

Основная гипотеза теории алгоритмов

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

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

Обоснование гипотезы

Речь не идет о доказательстве гипотезы, так как она не является точным математическим понятием.

Уверенность в справедливости гипотезы основана главным образом на опыте. Все известные к настоящему времени алгоритмы могут быть заданы посредством тьюринговых функциональных схем. Кроме того, внутри самой теории алгоритмов основная гипотеза не применяется, то есть при доказательстве теорем этой теории ссылок на основную гипотезу не делается.

Вторым доводом в пользу справедливости гипотезы являются теоремы замкнутости и равносильности.

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

Теоремы равносильности связаны со сравнением различных определений понятия “алгоритм”.

Два алгоритма считаются равносильными, если они решают один и тот же класс задач. Это означает, что при фиксации двух таких классов (К1 и К2) справедливо утверждение: