- •Министерство образования и науки украины
- •Рекурсивные функции
- •Теоретическая справка
- •Примитивно-рекурсивные функции
- •Примитивная рекурсивность логических функций
- •Частично-рекурсивные функции
- •Задание на лабораторную работу
- •Контрольные вопросы
- •Машины тьюринга
- •Теоретическая справка Символьные конструкции
- •Определение машины Тьюринга (мт)
- •Задание на лабораторную работу
- •Контрольные вопросы
- •Композиция машин тьюринга
- •Теоретическая справка
- •1. Последовательная композиция машин Тьюринга
- •2. Параллельная композиция машин Тьюринга
- •3. Разветвление или условный переход в композиции машин Тьюринга
- •Задание на лабораторную работу
- •Контрольные вопросы
- •Нормальные алгоритмы маркова
- •Теоретическая справка
- •Функционирование нам
- •Задание на лабораторную работу
- •Контрольные вопросы
- •Перечень рекомендованной литературы
- •7.050102 “Программное обеспечение автоматизированных систем”,
- •7.080407 “Компьютерный эколого-экономический мониторинг ”
Задание на лабораторную работу
Построить машину Тьюринга, вычисляющую функцию из задания к лабораторной работе №1 “Рекурсивные функции”.
Машину Тьюринга представить, как композицию элементарных МТ, выполняющих операции: копирование аргумента, сложение, умножение, арифметическое вычитание, нахождение целой части и остатка от деления, сравнения чисел, выделение аргумента. Недостающие элементарные МТ описать любым известным способом.
Контрольные вопросы
Композиции машин Тьюринга и область их применения?
Дать определение и привести обозначение суперпозиции или последовательной композиции машин Тьюринга.
Дать определение и привести обозначение паралелльной композиции машин Тьюринга.
Двухэтажная и этажная ленты, использование их в паралельной композиции машин Тьюринга.
Дать определение и привести обозначение разветвления или условного перехода в композиции машин Тьюринга.
Дать определение и привести обозначение цикла в композиции машин Тьюринга.
Лабораторная работа № 4
Нормальные алгоритмы маркова
Цель работы: получить практические навыки в записи алгоритмов с использованием нормальных алгоритмов Маркова.
Теоретическая справка
Фиксируем некоторый алфавит . Пусть символы «стрелка» и «точка» не принадлежат алфавиту:,.– некоторые, возможно пустые, слова в алфавите.
Марковская подстановка (МП) – это операция над словами , заключающаяся в следующем:
в исходном слове ищетсясамое левое вхождение слова , если оно существует,заменяем нав слове;
полученное слово является результатом применения марковской подстановки к слову;
если слово не входит в слово, то говорят, что данная Марковская подстановканеприменима к слову .
Обычно МП записывается как .
в общем случае длины слов могут не совпадать.
длины слов в общем случае также могут не совпадать.
Если или, то соответствующее слово является пустым. В МП пустое слово никак не обозначается и не занимает никакого места.
В любом слове имеется несколько вхождений пустого слова: перед первой буквой; после последней буквы; между любой парой букв внутри слова.
Частные случаи МП:
, – пусто: словоприписывается перед.
, – пусто: словоисключается из.
Нормальным алгоритмом Маркова (НАМ) в алфавите называется упорядоченная конечная последовательность (столбец) Марковских подстановок типа:или (и), где– слова в алфавите, а символыи.
–заключительная подстановка.
Запись НАМ – столбец подстановок вида .
Функционирование нам
, – номер подстановки в схеме НАМ.
Выбирается -тая МП, пусть она имеет вид
Левая часть подстановки ищется в преобразуемом слове.
Если найдено, то переход к пункту 7, иначе к пункту 5.
Если не превышает общего числа подстановок, то переход к пункту 2, иначе – алгоритм заканчивает работу, останавливается.
Выполняется замена нав преобразуемом слове(крайнее левое вхождениев).
Если эта подстановка является заключительной, т.е. имеет вид , алгоритм останавливается, иначе переход к пункту 1.
После применения подстановки осуществляется заново просмотр столбца подстановок, а не продолжается просмотр .
Процесс заканчивается, если:
не найдена применяемая подстановка;
выполнена заключительная подстановка.
Алфавит называетсярасширением алфавита , если .
Нормальный алгоритм над алфавитом – это нормальный алгоритм в алфавите, который слова в, если он к ним применим, перерабатывает в слова в. Нормальный алгоритмв может использовать только буквы алфавита.
Нормальный алгоритм над может использовать вспомогательные символы. НАМ надболее мощные, чем НАМ вА.
Одноместная частичная словарная функция , заданная в алфавитеназываетсянормально вычислимой, если существует НАМ над алфавитом , перерабатывающий словов слово.
Соответствие между нормальными алгоритмами и алгоритмами в интуитивном смысле выражает принцип нормализации – аналог тезисов Черча и Тьюринга: каков бы ни был алгоритм, для которого допустимыми исходными данными и результатом являются слова в некотором алфавите, существует эквивалентный ему НАМ в этом алфавите.
Пример 1. Нормальный алгоритм в алфавите , перерабатывающий каждое слово видав слово, где словослово, состоящее из букв.
Пусть Тогда, последовательность преобразований имеет вид:
Пример 2. Нормальный алгоритм над алфавитом стирающий все символы входного слова до первого символавключительно.
Здесь вспомогательные символы и, таким образом, алфавит. Букваслужит для того, чтобы найти букву 2 последовательным перебором слева направо. Буквапозволяет стереть буквыдвижением справа налево.
Пример функционирования НАМ по переработке слова :
Пример 3. Нормальный алгоритм над алфавитом , который выдает “и”, если в исходном слове, состоящем из нулей и единиц, есть комбинация, и “л”, в противном случае.
Приведем два примера функционирования НАМ:
1)
2)
Пример 4. Пример НАМ, который работает бесконечно.