Примитивно-рекурсивные функции

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ГОСУДАРСТВЕННОЕ ВЫСШЕЕ УЧЕБНОЕ ЗАВЕДЕНИЕ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Примитивно-рекурсивные функции - student2.ru

Методические указания и задания

К лабораторным работам по курсам

“ДИСКРЕТНЫЕ СТРУКТУРЫ“,

“ТЕОРИЯ АЛГОРИТМОВ И ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ“

Примитивно-рекурсивные функции - student2.ru

Донецк - 2009

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ГОСУДАРСТВЕННОЕ ВЫСШЕЕ УЧЕБНОЕ ЗАВЕДЕНИЕ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Методические указания и задания

к лабораторным работам

по курсам “Дискретные структуры”,

“ Теория алгоритмов и вычислительных процессов “

( для студентов, обучающихся по направлениям

“Программная инженерия”, “Компьютерные науки”)

Рассмотрено на заседании кафедры

прикладной математики и информатики

протокол № 14 от 29.06.09.

Утверждено на заседании

учебно-издательского совета ДонНТУ

протокол № 5 от 21.12.09

Донецк - 2009

УДК 004.021

Методические указания и задания к лабораторным работам по курсам “Дискретные структуры“, “Теория алгоритмов и вычислительных процессов“ (для студентов, обучающихся по направлениям “Программная инженерия”, “Компьютерные науки”) / разраб.: Назарова И.А., Коломойцева И.А. – Донецк: ДонНТУ, 2009 – 38с.

Изложенные теоретические основы, методические рекомендации, контрольные вопросы и задания для выполнения лабораторных работ по следующим разделам курса теории алгоритмов и вычислительных процессов:

- теория рекурсивных функций;

- машины Тьюринга;

- композиция машин Тьюринга;

- нормальные алгоритмы Маркова.

Составители: Назарова И.А., к.т. н., доцент

Коломойцева И.А., ст. преп.

Рецензент: Губенко Н.Е., к.т. н., доцент

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

РЕКУРСИВНЫЕ ФУНКЦИИ

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

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

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

Арифметическиефункции – функции, области определения и значений которых целые неотрицательные числа, то есть натуральный ряд + число ноль.

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

Примитивно-рекурсивные функции

В качестве простейших функций в теории рекурсивных функций приняты следующие:

1. Примитивно-рекурсивные функции - student2.ru – константа «ноль».

2. Примитивно-рекурсивные функции - student2.ru – « последователь ».

3. Примитивно-рекурсивные функции - student2.ru – функция тождества или выбора аргумента, проекция.

Оператор суперпозиции (подстановки) Примитивно-рекурсивные функции - student2.ru – подстановка в функцию от Примитивно-рекурсивные функции - student2.ru переменных Примитивно-рекурсивные функции - student2.ru функций от Примитивно-рекурсивные функции - student2.ru переменных, что дает новую функцию от Примитивно-рекурсивные функции - student2.ru переменных.

Суперпозицией функций Примитивно-рекурсивные функции - student2.ru и Примитивно-рекурсивные функции - student2.ru называют функцию:

Примитивно-рекурсивные функции - student2.ru ;

Примитивно-рекурсивные функции - student2.ru .

Оператор примитивной рекурсии Примитивно-рекурсивные функции - student2.ru , определяющий значение функции Примитивно-рекурсивные функции - student2.ru , записывается в виде следующей схемы:

Примитивно-рекурсивные функции - student2.ru

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

при n= 1 имеем Примитивно-рекурсивные функции - student2.ru ,

при n= 2 имеем Примитивно-рекурсивные функции - student2.ru .

Примитивно-рекурсивная функция –арифметическая функция, которая может быть получена из простейших с помощью конечного числа применений операторов суперпозиции и примитивной рекурсии.

Примитивно-рекурсивные функции являются всюду определенными.

Пример 1. Вычислить функцию Примитивно-рекурсивные функции - student2.ru с помощью оператора примитивной рекурсии:

Примитивно-рекурсивные функции - student2.ru

Примитивно-рекурсивные функции - student2.ru

Примитивно-рекурсивные функции - student2.ru

Пример 2. Вычислить функцию Примитивно-рекурсивные функции - student2.ru с помощью оператора примитивной рекурсии:

Примитивно-рекурсивные функции - student2.ru

Примитивно-рекурсивные функции - student2.ru

Примитивно-рекурсивные функции - student2.ru

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

Пример 3. Константа 1 может быть получена суперпозицией двух простейших функций: константы «ноль» и функции «последователь»:

Примитивно-рекурсивные функции - student2.ru

Пример 4. Константа a получается суперпозиции функций Примитивно-рекурсивные функции - student2.ru и Примитивно-рекурсивные функции - student2.ru :

Примитивно-рекурсивные функции - student2.ru

Пример 5. Операция сложения Примитивно-рекурсивные функции - student2.ru может быть определена с помощью оператора примитивной рекурсии:

Примитивно-рекурсивные функции - student2.ru

Пример 6. Примитивная рекурсивность операции умножения Примитивно-рекурсивные функции - student2.ru доказывается через операцию сложение:

Примитивно-рекурсивные функции - student2.ru

Пример 7. Примитивная рекурсивность операции возведения в степень Примитивно-рекурсивные функции - student2.ru доказывается следующим образом:

Примитивно-рекурсивные функции - student2.ru

Пример 8. Операция вычитания не является примитивно-рекурсивной, т.к. она не всюду определена: результат операции a-b при Примитивно-рекурсивные функции - student2.ru не определен в области натуральных чисел. Однако примитивно-рекурсивной является так называемое арифметическое (усеченное) вычитание или разность.

Арифметическое вычитание:

Примитивно-рекурсивные функции - student2.ru

Для доказательства примитивной рекурсивности Примитивно-рекурсивные функции - student2.ru вначале рассмотрим операцию Примитивно-рекурсивные функции - student2.ru : Примитивно-рекурсивные функции - student2.ru ;

Примитивно-рекурсивные функции - student2.ru

Примитивно-рекурсивные функции - student2.ru

т.е. операция Примитивно-рекурсивные функции - student2.ru – примитивно-рекурсивна.

Дополнительное свойство: Примитивно-рекурсивные функции - student2.ru .

Примитивно-рекурсивные функции - student2.ru

арифметическое вычитание – примитивно-рекурсивно.

Пример 9. Функция Примитивно-рекурсивные функции - student2.ru – аналог функции Примитивно-рекурсивные функции - student2.ru для натуральных чисел.

Примитивно-рекурсивные функции - student2.ru

Функция Примитивно-рекурсивные функции - student2.ru примитивно-рекурсивна:

Примитивно-рекурсивные функции - student2.ru

Примитивно-рекурсивные функции - student2.ru – антисигнум, функция обратная Примитивно-рекурсивные функции - student2.ru .

Примитивно-рекурсивные функции - student2.ru Примитивно-рекурсивные функции - student2.ru .

Пример 10. Примитивная рекурсивность функций Примитивно-рекурсивные функции - student2.ru , Примитивно-рекурсивные функции - student2.ru и модуль двух чисел доказывается с помощью арифметического вычитания:

Примитивно-рекурсивные функции - student2.ru

Наши рекомендации