Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka-TAiFYa.doc
Скачиваний:
30
Добавлен:
03.03.2016
Размер:
1.46 Mб
Скачать

Задание на лабораторную работу

Построить машину Тьюринга, вычисляющую функцию из задания к лабораторной работе №1 “Рекурсивные функции”.

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

Контрольные вопросы

  1. Композиции машин Тьюринга и область их применения?

  2. Дать определение и привести обозначение суперпозиции или последовательной композиции машин Тьюринга.

  3. Дать определение и привести обозначение паралелльной композиции машин Тьюринга.

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

  5. Дать определение и привести обозначение разветвления или условного перехода в композиции машин Тьюринга.

  6. Дать определение и привести обозначение цикла в композиции машин Тьюринга.

Лабораторная работа № 4

Нормальные алгоритмы маркова

Цель работы: получить практические навыки в записи алгоритмов с использованием нормальных алгоритмов Маркова.

Теоретическая справка

Фиксируем некоторый алфавит . Пусть символы «стрелка» и «точка» не принадлежат алфавиту:,.– некоторые, возможно пустые, слова в алфавите.

Марковская подстановка (МП) – это операция над словами , заключающаяся в следующем:

  1. в исходном слове ищетсясамое левое вхождение слова , если оно существует,заменяем нав слове;

  2. полученное слово является результатом применения марковской подстановки к слову;

  3. если слово не входит в слово, то говорят, что данная Марковская подстановканеприменима к слову .

Обычно МП записывается как .

в общем случае длины слов могут не совпадать.

длины слов в общем случае также могут не совпадать.

Если или, то соответствующее слово является пустым. В МП пустое слово никак не обозначается и не занимает никакого места.

В любом слове имеется несколько вхождений пустого слова: перед первой буквой; после последней буквы; между любой парой букв внутри слова.

Частные случаи МП:

  1. , – пусто: словоприписывается перед.

  2. , – пусто: словоисключается из.

Нормальным алгоритмом Маркова (НАМ) в алфавите называется упорядоченная конечная последовательность (столбец) Марковских подстановок типа:или (и), где– слова в алфавите, а символыи.

–заключительная подстановка.

Запись НАМ – столбец подстановок вида .

Функционирование нам

  1. , – номер подстановки в схеме НАМ.

  2. Выбирается -тая МП, пусть она имеет вид

  3. Левая часть подстановки ищется в преобразуемом слове.

  4. Если найдено, то переход к пункту 7, иначе к пункту 5.

  5. Если не превышает общего числа подстановок, то переход к пункту 2, иначе – алгоритм заканчивает работу, останавливается.

  6. Выполняется замена нав преобразуемом слове(крайнее левое вхождениев).

  7. Если эта подстановка является заключительной, т.е. имеет вид , алгоритм останавливается, иначе переход к пункту 1.

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

Процесс заканчивается, если:

  • не найдена применяемая подстановка;

  • выполнена заключительная подстановка.

Алфавит называетсярасширением алфавита , если .

Нормальный алгоритм над алфавитом – это нормальный алгоритм в алфавите, который слова в, если он к ним применим, перерабатывает в слова в. Нормальный алгоритмв может использовать только буквы алфавита.

Нормальный алгоритм над может использовать вспомогательные символы. НАМ надболее мощные, чем НАМ вА.

Одноместная частичная словарная функция , заданная в алфавитеназываетсянормально вычислимой, если существует НАМ над алфавитом , перерабатывающий словов слово.

Соответствие между нормальными алгоритмами и алгоритмами в интуитивном смысле выражает принцип нормализации – аналог тезисов Черча и Тьюринга: каков бы ни был алгоритм, для которого допустимыми исходными данными и результатом являются слова в некотором алфавите, существует эквивалентный ему НАМ в этом алфавите.

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

Пусть Тогда, последовательность преобразований имеет вид:

Пример 2. Нормальный алгоритм над алфавитом стирающий все символы входного слова до первого символавключительно.

Здесь вспомогательные символы и, таким образом, алфавит. Букваслужит для того, чтобы найти букву 2 последовательным перебором слева направо. Буквапозволяет стереть буквыдвижением справа налево.

Пример функционирования НАМ по переработке слова :

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

Приведем два примера функционирования НАМ:

1)

2)

Пример 4. Пример НАМ, который работает бесконечно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]