
- •Министерство образования и науки украины
- •Рекурсивные функции
- •Теоретическая справка
- •Примитивно-рекурсивные функции
- •Примитивная рекурсивность логических функций
- •Частично-рекурсивные функции
- •Задание на лабораторную работу
- •Контрольные вопросы
- •Машины тьюринга
- •Теоретическая справка Символьные конструкции
- •Определение машины Тьюринга (мт)
- •Задание на лабораторную работу
- •Контрольные вопросы
- •Композиция машин тьюринга
- •Теоретическая справка
- •1. Последовательная композиция машин Тьюринга
- •2. Параллельная композиция машин Тьюринга
- •3. Разветвление или условный переход в композиции машин Тьюринга
- •Задание на лабораторную работу
- •Контрольные вопросы
- •Нормальные алгоритмы маркова
- •Теоретическая справка
- •Функционирование нам
- •Задание на лабораторную работу
- •Контрольные вопросы
- •Перечень рекомендованной литературы
- •7.050102 “Программное обеспечение автоматизированных систем”,
- •7.080407 “Компьютерный эколого-экономический мониторинг ”
Министерство образования и науки украины
ГОСУДАРСТВЕННОЕ ВЫСШЕЕ УЧЕБНОЕ ЗАВЕДЕНИЕ
ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Методические указания и задания
к лабораторным работам по курсам
“ДИСКРЕТНЫЕ СТРУКТУРЫ“,
“ТЕОРИЯ АЛГОРИТМОВ И ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ“
Донецк - 2009
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ГОСУДАРСТВЕННОЕ ВЫСШЕЕ УЧЕБНОЕ ЗАВЕДЕНИЕ
ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Методические указания и задания
к лабораторным работам
по курсам “Дискретные структуры”,
“ Теория алгоритмов и вычислительных процессов “
( для студентов, обучающихся по направлениям
“Программная инженерия”, “Компьютерные науки”)
Рассмотрено на заседании кафедры
прикладной математики и информатики
протокол № 14 от 29.06.09.
Утверждено на заседании
учебно-издательского совета ДонНТУ
протокол № 5 от 21.12.09
Донецк - 2009
УДК 004.021
Методические указания и задания к лабораторным работам по курсам “Дискретные структуры“, “Теория алгоритмов и вычислительных процессов“ (для студентов, обучающихся по направлениям “Программная инженерия”, “Компьютерные науки”) / разраб.: Назарова И.А., Коломойцева И.А. – Донецк: ДонНТУ, 2009 – 38с.
Изложенные теоретические основы, методические рекомендации, контрольные вопросы и задания для выполнения лабораторных работ по следующим разделам курса теории алгоритмов и вычислительных процессов:
теория рекурсивных функций;
машины Тьюринга;
композиция машин Тьюринга;
нормальные алгоритмы Маркова.
Составители: Назарова И.А., к.т. н., доцент
Коломойцева И.А., ст. преп.
Рецензент: Губенко Н.Е., к.т. н., доцент
Лабораторная работа №1
Рекурсивные функции
Цель работы: получить практические навыки в записи алгоритмов с использованием аппарата рекурсивных функций.
Теоретическая справка
Вычислимые функции – числовые функции, значения которых можно вычислять посредством единого для данной функции алгоритма.
Арифметические функции – функции, области определения и значений которых целые неотрицательные числа, то есть натуральный ряд + число ноль.
Частичные арифметические функции – арифметические функции с ограниченной областью определения, остальные – всюду определенными.
Примитивно-рекурсивные функции
В качестве простейших функций в теории рекурсивных функций приняты следующие:
1.–
константа «ноль».
2.– « последователь ».
3.– функция тождества или выбора аргумента,
проекция.
Оператор
суперпозиции (подстановки)
–
подстановка в функцию от
переменных
функций от
переменных, что дает новую функцию от
переменных.
Суперпозицией
функций
и
называют функцию:
;
.
Оператор
примитивной рекурсии
,
определяющий значение функции
,
записывается в виде следующей схемы:
Частные случаи:
при
n=
1 имеем
,
при
n=
2
имеем
.
Примитивно-рекурсивная функция – арифметическая функция, которая может быть получена из простейших с помощью конечного числа применений операторов суперпозиции и примитивной рекурсии.
Примитивно-рекурсивные функции являются всюду определенными.
Пример
1.
Вычислить функцию
с помощью оператора
примитивной рекурсии:
Пример
2.
Вычислить функцию
с помощью оператора
примитивной рекурсии:
Для того чтобы показать, что какая-либо функция является примитивно-рекурсивной, достаточно построить ее согласно определению. Однако такое построение получается слишком сложным и громоздким. Поэтому в большинстве случаев заданную функцию пытаются выразить с помощью операторов суперпозиции и примитивной рекурсии через другие функции, примитивная рекурсивность которых доказана ранее. Приведем примеры доказательства примитивной рекурсивности некоторых простых арифметических функций.
Пример 3. Константа 1 может быть получена суперпозицией двух простейших функций: константы «ноль» и функции «последователь»:
Пример
4. Константа
a
получается
суперпозиции функций
и
:
Пример
5. Операция
сложения
может быть определена с помощью оператора
примитивной рекурсии:
Пример
6. Примитивная
рекурсивность операции умножения доказывается через
операцию сложение:
Пример
7. Примитивная
рекурсивность операции возведения в
степень
доказывается следующим образом:
Пример
8. Операция
вычитания не является примитивно-рекурсивной,
т.к. она не всюду определена: результат
операции a-b
при
не определен в области натуральных
чисел. Однако примитивно-рекурсивной
является так называемое арифметическое
(усеченное) вычитание или разность.
Арифметическое вычитание:
Для
доказательства примитивной рекурсивности
вначале рассмотрим операцию
:
;
т.е.
операция
– примитивно-рекурсивна.
Дополнительное
свойство:
.
арифметическое вычитание – примитивно-рекурсивно.
Пример
9. Функция
– аналог функции
для
натуральных чисел.
Функция
примитивно-рекурсивна:
–антисигнум,
функция обратная
.
.
Пример
10. Примитивная
рекурсивность функций
,
и модуль
двух
чисел доказывается
с помощью арифметического вычитания: