Теория алгоритмов. Учебное пособие для специальности 050201.65 – «Математика с дополнительной специальностью «Информатика», направление подготовки 050
.pdf
f (x,6) (6 1)2 (30 x) 55 x,
…………………
f (x,y) x y(y 1)(2y 1) . 6
10.Дано: g(x) x, h(x,y,z) x y z;
f (x,0) g(x) x, |
|
|
|
|
f (x,y 1)) x (y 1) f (x,y 1). |
||
f (x,y) h(x,y 1, |
|||
f (x,0) x, |
|
|
|
f (x,1) x (1 1) x x, |
|||
f (x,2) x (2 1) x 2x, |
|||
f (x,3) x (3 1) 2x 4x, |
|||
f (x,4) x (4 1) 4x 7x, |
|||
f (x,5) x (5 1) 7x 11x, |
|||
………………… |
|
|
|
f (x,y) x |
y2 y 2 |
. |
|
|
|
||
2 |
|
|
|
11.Дано: g(x) x, h(x,y,z) x y z;
f (x,0) g(x) x,
f (x,y) h(x,y 1, f (x,y 1)) x (y 1) f (x,y 1). f (x,0) x,
f (x,1) x (1 1) x x,
f (x,2) x (2 1) ( x) 2x, f (x,3) x (3 1) 2x 0,
f (x,4) x (4 1) 0 3x, f (x,5) x (5 1) 3x x, f (x,6) x (6 1) x 4x, f (x,7) x (7 1) 4x 2x,
f (x,8) x (8 1) 2x 5x,
71
f (x,9) x (9 1) 5x 3x,
…………………
|
1 ( 1) |
y 1 |
|
y 2 |
|
1 ( 1) |
y |
f (x,y) x |
|
|
|
|
|||
2 |
|
|
|
|
|||
|
|
2 |
2 |
|
|||
f (x, y) x(2y 1 ( 1)y 5) . 4
12.Дано: g(x) x, h(x,y,z) zy 1;
f (x,0) g(x) x,
f (x,y) h(x,y 1, f (x,y 1)) f y (x,y f (x,0) x,
f (x,1) x1 x,
f (x,2) (x1)2 x2 ,
f (x,3) (x2)3 x6 ,
f (x,4) (x6)4 x24 ,
…………………
y3
или
2
1).
f (x,y) xy!.
13.Дано: g(x) x, h(x,y,z) x (y 1) z;
f (x,0) g(x) x,
f (x,y) h(x,y 1, f (x,y 1)) x y f (x,y 1). f (x,0) x,
f (x,1) x 1 x x2 ,
f (x,2) x 2 x2 2x3 ,
f (x,3) x 3 2x3 6x4 ,
f (x,4) x 4 6x4 24x5 ,
…………………
f (x,y) y! xy 1.
72
14.Дано: g(x) x2 , h(x,y,z) x2 (y 1)2 z;
f (x,0) g(x) x2,
f (x,y) h(x,y 1, f (x,y 1)) x2 y2 f (x,y 1).
f (x,0) x2,
f (x,1) x2 12 x2 2x2 1,
f (x,2) x2 22 (2x2 1) 3x2 5, f (x,3) x2 32 (3x2 5) 4x2 14, f (x,4) x2 42 (4x2 14) 5x2 30, f (x,5) x2 52 (5x2 30) 6x2 55,
………………
f (x,y) (y 1) x2 y(y 1)(2y 1) . 6
15.Дано: g(x) x, h(x,y,z) x (y 2) z;
f (x,0) g(x) x,
f (x,y) h(x,y 1, f (x,y 1)) x (y 1) f (x,y 1). f (x,0) x,
f (x,1) x (1 1) x 3x, f (x,2) x (2 1) 3x 6x,
f (x,3) x (3 1) 6x 10x, f (x,4) x (4 1) 10x 15x, f (x,5) x (5 1) 15x 21x,
…………………
f (x,y) x(y 1)(y 2) . 2
3) Операция минимизации (μ - оператор).
Дана функция f (x1,x2,..., xn 1, y) от n переменных; зафиксируем
значения переменных x1,x2,..., xn 1. Найдём минимальное значение переменной
73
y , при котором выполняется равенство f (x1,x2,..., xn 1, y) 0. Ответ будет
зависеть от |
значений переменных x1,x2,..., xn 1. Таким образом, |
искомое |
||
значение переменной y является функцией от переменных x1,x2,..., xn 1. |
||||
Операция минимизации (применение |
оператора) по переменной y |
|||
функции |
f (x1,x2,..., xn 1, y) |
обозначается |
через |
|
(x1,x2,...,xn 1) y[ f (x1,x2,...,xn 1,y) 0] и определяется так. |
|
|||
Рассмотрим соотношение |
f (x1,x2,..., xn 1, y) 0 |
5.1.1 |
||
при фиксированных значениях |
x1,x2,..., xn 1 |
как уравнение относительно y. |
||
Это уравнение будем решать подбором, подставляя вместо y числа |
0,1,2,… . |
|||
Возможны случаи: |
|
|
|
|
1)на некотором шаге левая часть соотношения (5.1.1) не определена.
В этом случае считаем, что на наборе (x1,x2,..., xn 1) операция
минимизации не определена.
2) На каждом шаге левая часть соотношения (5.1.1) определена, но ни при каких y равенство не выполняется. В этом случае также считаем,
что на наборе (x1,x2,..., xn 1) операция минимизации не определена.
3) Левая |
часть |
соотношения |
(5.1.1) |
определена |
при |
|
y 0, y 1,...,y z 1, y z, но при |
y z |
соотношение |
(5.1.1) не |
|||
выполнялось, а при y z оно выполняется. В этом случае |
считается, |
|||||
что искомое минимальное значение переменной y, удовлетворяющее соотношению (5.1.1), найдено и равно z. Пишут: (x1,x2,..., xn 1) z
или y([f (x1,x2,...,xn 1, y) 0] z).
Пример 4.
Применить -оператор к функциям:
а) f(x, у) = х + у;
б) f(x, у, z) = - х + у + z;
в) f(x, у) = х у.
74
Решение |
|
|
а) Функция f(x, у) = х |
+ у от двух |
переменных, в результате |
применения к ней операции минимизации по y |
получим функцию от одной |
|
переменной (x) y[x y 0]. |
Полученная функция определена лишь для |
|
x 0 и равна 0. |
|
|
0,если x 0,
т.е. (x)
неопределена,если x 0.
б) Функция f(x, у, z) = - х + у + z от трех переменных, в результате применения операции минимизации по переменной z получим функцию
(x,y) от двух переменных, равную наименьшему z, при котором - х + у + z =
0:(x, y) z[ x y z 0] или (x, y) z[x y z]. Значит,
x y,если x y,
(x, y) неопределена,если x y.
в) Функция f(x, у) = х у - 1 от двух переменных, в результате
применения операции минимизации по переменной y |
получим функцию |
|||||
(x) от одной переменной. |
Для каждого фиксированного x |
функция (x) |
||||
равна наименьшему у, при котором выполняется равенство |
xy 1 0 |
или |
||||
1 |
|
не определена, при x 1 |
|
|
|
|
у = |
|
. При x 0 функция |
функция также |
не |
||
x |
||||||
определена, так как y может принимать только целые неотрицательные значения. Таким образом,
|
1 |
|
1,если x 1, |
|
(x) y |
[y |
|
] |
|
x |
|
|||
|
|
неопределена,если x 1. |
||
Заметим, что в результате применения операции минимизации ко всюду определённой функции можем получить не всюду определённую функцию.
В результате применения операций суперпозиции и схемы примитивной рекурсии ко всюду определённым функциям получим всюду определённые функции.
75
5.2. Примитивно рекурсивные, общерекурсивные и частично рекурсивные
функции
Определение. Функция, полученная из базовых функций, с помощью конечного числа операций рекурсий и/или суперпозиций называется
примитивно рекурсивной (ПР).
Определение. Функция, полученная из базовых функций, с помощью конечного числа операций рекурсий и/или суперпозиций и/или минимизаций
называется частично рекурсивной (ЧР).
Определение. Частично рекурсивная функция, которая определена на
всем множестве N0 (является всюду определенной), называется
общерекурсивной (ОР).
Общерекурсивные функции образуют подкласс в классе частично
рекурсивных функций. Класс общерекурсивных функций замкнут относительно операций суперпозиции и схемы примитивной рекурсии.
Пример 5.
Выяснить, являются ли примитивно рекурсивными или частично
рекурсивными следующие функции:
а) φ(х, у)= х + у;
б) φ(х, у)= х у;
в) φ(х, у)= xy ;
г) (x,y) x y.
Решение: |
|
|
|
|
|
|
|
||
а) |
(x,y) x y |
получается в результате |
|
применения |
рекурсии |
к |
|||
функциям |
f1(x) = х и |
f2(x, y, z) = z + 1. Функция |
|
f1(x) x |
базовая, так как |
||||
f x |
I1 |
(x). Функция f |
2 |
z 1 – базовая, так как f |
2 |
z 1 S(z). Значит |
|
||
1 |
1 |
|
|
|
|
|
|
||
(x,y) x y получается – примитивно рекурсивная, так |
как |
получена |
из |
||||||
базовых с помощью одной операции рекурсии. |
|
|
|
|
|
||||
76
б) φ(х, у)= х у получается в результате применения примитивной
рекурсии к функциям f1(x) = 0 и f2(x, y, z) = x + z. Первая функция – это нуль-
функция 0 O(x). Вторая функция является примитивно рекурсивной по
доказанному выше. Тогда функция φ(х, у)= х у также примитивно рекурсивная.
в) φ(х, у)= xy |
получается в результате применения рекурсии к функциям |
||||||
f1(x) = 1 |
и f2(x, y,z) x z. Функция |
f1 1 |
базовая, так как |
1 S(0). |
По |
||
доказанному выше |
(пример б) функция |
f2 x z примитивно |
рекурсивная. |
||||
Тогда функция (x, y) xy также примитивно рекурсивная. |
|
|
|||||
Таким образом, рассмотренные три функции являются и примитивно |
|||||||
рекурсивными, и общерекурсивными функциями. |
|
|
|||||
г) (x, y) x y можно получить, применяя операцию минимизации по |
z к |
||||||
функции |
f (x, y,z) x y z, |
именно, |
x y z[ x y z 0] |
или |
|||
x y z[y z x]. |
Тогда функция |
(x, y) x y частично |
рекурсивная, |
||||
однако примитивно рекурсивной она не является. Также данная функция не является общерекурсивной, так как определена не всюду.
Термины «частично рекурсивная функция» и «общерекурсивная функция» прижились в силу исторических причин и, по сути, являются результатом неточного перевода английских терминов «partial recursive function» и «total recursive function», которые по смыслу более правильно переводить как «рекурсивные функции, определенные на части множества возможных аргументов» и «рекурсивные функции, определенные на всём множестве возможных аргументов». Наречие «частично» относится не к прилагательному «рекурсивные», а к области определения функции. Возможно,
более правильным названием было бы «частично определённые рекурсивные функции» и просто «всюду определённые рекурсивные функции», но такие названия не прижились.
Задания:
Какой явный вид имеет функция, являющаяся результатом применения
операции рекурсии к данным функциям?
77
1.g(x) 1; h(x,y,z) (y 1) z;
2.g(x) x; h(x,y,z) x y z;
3.g(x) x; h(x,y,z) x y z;
4.g(x) 0; h(x,y,z) x z;
5.g(x) 0; h(x,y,z) x z;
6.g(x) x; h(x,y,z) x z;
7.g(x) x; h(x,y,z) x z;
8.g(x) x; h(x,y,z) y2 z;
9.g(x) x; h(x,y,z) y2 z;
10.g(x) x; h(x,y,z) x y z;
11.g(x) x; h(x,y,z) x y z;
12.g(x) x; h(x,y,z) zy 1;
13.g(x) x; h(x,y,z) x (y 1) z;
14.g(x) x2 ; h(x,y,z) x2 (y 1)2 z;
15.g(x) x; h(x,y,z) x (y 2) z;
16.g(x) x; h(x,y,z) x y;
17.g(x) x; h(x,y,z) x y z;
18.g(x) x; h(x,y,z) ó z;
19.g(x) x 2; h(x,y,z) x z;
20.g(x) x2 ; h(x,y,z) x2 y;
21.g(x) x; h(x,y,z) x z y;
22.g(x) xx ; h(x,y,z) y z;
23.g(x) 1; h(x,y,z) x y z y z;
24.g(x) x; h(x,y,z) zy 1 y;
25.g(x) 2x; h(x,y,z) x (y 1) z;
26.g(x) x2 ; h(x,y,z) x2 (y 1)2 z;
27.g(x) x; h(x,y,z) x (y 2) z;
28.g(x) x; h(x,y,z) x y;
78
29. g(x) x; h(x,y,z) x y x ; y
30. g(x) x2 ; h(x,y,z) x y 1 . z
Какой явный вид имеет функция, являющаяся результатом минимизации данной функции:
1.h(x,y,z) x y z;
2.h(x,y,z) x y z;
3.h(x,y,z) x y z;
4.h(x,y,z) x y z;
5.h(x,y,z) x y z;
6.h(x,y,z) x y z;
7.h(x,y,z) x y z;
8.h(x,y,z) x y2 z 1;
9.h(x,y,z) x y x z 1;
10.h(x,y,z) x y y z z;
11.h(x,y,z) x2 y z;
12.h(x,y,z) zx y 1;
13.h(x,y,z) xx y z ;
14.h(x,y,z) x2 (y 1)2 z;
15.h(x,y,z) x (y 2) z;
16.h(x,y) x y;
17.h(x,y) x y;
18.h(x,y) x у 1;
19.h(x,y) x x y;
20.h(x,y) x y 1;
21.h(x,y) x y;
79
22.h(x,y) yx ;
23.h(x,y) xy ;
24.h(x,y) x 1; y
25.h(x,y) x (y 1);
26.h(x,y) x2 (y 1)2 ;
27.h(x,y) x (y 2);
28.h(x,y) y 1;
x
29.h(x,y) x y x ; y
30.h(x,y) logx y .
5.3. Стефен Коул Клини
Теория вычислимых функций создана трудами таких учёных, как Стефен Клини, Алонзо Чёрч, Курт Гёдель, Алан Тьюринг.
Клини (Stephen Cole Kleene, 05.01.1909 – 25.01.1994) родился в 1909 г.
в Хартфорде (Hartford), штат Коннектикут
(Connecticut). В 1930 г. Клини окончил с отличием Амхерст-колледж (Amherst College). и поступил в Принстонский университет (Princeton) в аспирантуру по математике.
В это время в Принстоне работал Освальд Веблен (Oswald Veblen), научные интересы которого в тот момент
относились к логике и путям её дальнейшего развития в связи с различными
80
