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