Скачиваний:
80
Добавлен:
02.05.2014
Размер:
65.54 Кб
Скачать

3.5. Таблица машины Тьюринга

В нее непосредственно вписывается алгоритм решения задачи.

Прежде, чем вводить алгоритм, нужно ввести внешний алфавит.

В ячейках верхней строки записываются символы внутреннего алфавита: Q1,Q2...Qn.

В ячейках первого столбца записываются символы внешнего алфавита.

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

Формат команды машины Тьюринга: aKq, где:

a - новое содержание текущей ячейки (новый символ внешнего алфавита, который заносится в текущую ячейку),

K - команда лентопротяжного механизма машины Тьюринга (влево, вправо, стоп)

q - новое внутренне состояние машины Тьюринга

Чтобы ввести команду в ячейку нужно:

1) Ввести символ внешнего алфавита

2) Ввести одну из команд лентопротяжного механизма:

• "Влево" - ввести левую угловую скобку "<"

• "Вправо" - ввести правую угловую скобку ">"

• "Cтоп" - ввести восклицательный знак "!"

3) Ввести номер нового внутреннего состояния. Нужно ввести только цифру, букву Q вводить не надо.

Пример: чтобы ввести команду: # > Q1

нужно последовательно набрать на клавиатуре символы: # > 1 , где:

# - указание машине Тьюринга записать символ "#" в текущую ячейку ленту;

> - указание машине Тьюринга сдвинуть каретку вправо;

1 - указание машине Тьюринга перейти в новое внутреннее состояние Q1.

Пробелы в команде игнорируются.

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

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

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

3.6. Исполнение алгоритма машины Тьюринга

Запуск алгоритма на исполнение:

• пункт главного меню Пуск/ Запустить

• кнопка запустить на панели инструментов

При этом выполнение программы будет идти до тех пор, пока не встретиться команда стоп или не возникнет какая-нибудь ошибка.

Приостановить выполнение:

• пункт главного меню Пуск/ Пауза

• кнопка пауза на панели инструментов

Если выполнение не было приостановлено, то оно всегда начинается с нулевого внутреннего состояния Q0.

Если была нажата пауза, то можно продолжить выполнение с той команды, на которой машина остановилась.

Программу можно выполнить по шагам:

• пункт главного меню Пуск/ Пошагово

• кнопка пошагово на панели инструментов

При этом выполнится очередная команда и выполнение приостановится.

Полностью прервать выполнение программы:

• пункт главного меню Пуск/ Прервать

• кнопка прервать на панели инструментов

Регулировать скорость выполнения:

• пункт главного меню Скорость

3.7. Ошибки машины Тьюринга

При возникновении этих ошибок происходит прерывание исполнения алгоритма.

• Данного символа нет в алфавите

• Не указана команда

• Неверная запись команды

• Состояние Qi отсутствует

• Ошибка чтения файла

• Ошибка записи файла

  1. Содержание отчета

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

ОСНОВНАЯ ЛИТЕРАТУРА

  1. Новиков Ф.А. Дискретная математика для программистов. – СПб.: Питер, 2001.

  2. Нефедов В.Н., Осипова В.А. Курс дискретной математики: Учеб. пособие. - М.: Изд-во МАИ, 1992 .

  3. Яблонский С.В. Введение в дискретную математику: Учебное пособие для вузов./ Под ред. В.А. Садовничего. – 3-е изд., стер. – М.: Высшая школа, 2002.

  4. Мендельсон Э. Введение в математическую логику. М.: Наука, 1976.

  5. Клини С. Математическая логика. М.: Мир, 1973.

  6. Москинова Г.И. Дискретная математика. Математика для менеджера в примерах и упражнениях: Учеб. пособие. – М.: Логос, 2000.