тюмгу / Тишин В.В. Дискретная математика в примерах
.pdf№ |
|
/ |
|
|
|
|
|
|
|
|
1 |
/ (х, _у,z) —2х + z |
|
|
|
|
|
|
|
||
2 |
/ (х, _у) = {j —х, |
если у > х; |
|
0, если |
у < х } |
|||||
3 |
f ( x , y , z , w ) - { 4, |
если х-чётно; |
х, еслих нечётно } |
|||||||
|
|
|
|
|
|
|
|
Таблица 3.2.2(окончание) |
||
№ |
|
/ |
|
|
|
|
|
|
|
|
4 |
f (х, у) = {1, если |
|
х> у; |
0, если |
х< у} |
|||||
5 |
f( x , y , z ) —{ z - 3, еслиг>3; |
0, если |
z < 3} |
|||||||
6 |
f(x,y,z,w) - x + 3y + 3w |
|
|
|
|
|
||||
7 |
f (x, у, z) —{0, если x = 0; |
у, если |
х Ф0} |
|||||||
8 |
f ix, у) = { х - у , |
если х > у ; |
|
1, если |
х < у } |
|||||
9 |
/ (х, у, z) = {3, если у > 1; |
х, если |
у < 1} |
|||||||
10 |
f ( x, y , z ) = y + z + 4 |
|
|
|
|
|
|
|||
11 |
f (х, у, z) = {0, если х Ф0; |
у + 1, |
если |
х = 0} |
||||||
12 |
f ( x , y ) - { x , если х-чётно; |
2у. еслих-нечётно} |
||||||||
13 |
/ (х, у, z) = {х + у, |
если |
х > у; |
0, если |
х < у} |
|||||
14 |
f{x, у, z) —{z+l, |
|
если z |
0; |
0, если |
z —0} |
||||
15 |
f i x , y ) |
—{0, если х-чётно; |
2, |
еслих-нечётно} |
||||||
16 |
f( x , y , z ) = 3y + z |
|
|
|
|
|
|
|
||
17 |
f(x,y,z,w) —{w, |
|
если х = 0; |
2, если |
х ^ 0 } |
|||||
18 |
f (х, у) = {х —2, если х > 2; |
0, если |
х < 2} |
|||||||
19 |
f i x , y ) = 4х + 1 |
|
|
|
|
|
|
|
|
|
20 |
f { x , y ) |
= {x, если х-чётно; 0, если х-нечётно} |
||||||||
21 |
f { x , y ) |
= {0, если х_у= 0; x + j , |
если |
ху^О } |
||||||
22 |
/ (х, у, z ) - { y + 2, |
если |
_у>1; |
|
0, если у < 1} |
|||||
23 |
f i x , у) = {1, х = 1; |
0, если |
х ^ 1 } |
|
|
24f ix, y ,z ,w) = 2y +w
25f ix, у, z) = min{x,y}
26 |
f i x , y , z ) —{z — 2, если z >2; |
0, если |
z < 2 } |
27 |
/ (х, j ) = {у - х, если у > х; |
2, если |
j < х} |
28 |
f(x ,y ,z ,w ) —x + y +[ w / 2] |
29 |
/ (х, у, z) = {1, если z - чётно; 2х + у, если z - нечётно} |
30 |
f(x ,y ,z ,w ) = x + 2y +3z + 4 |
Пример решения задания 3.2.2
Решить задание 3.2.2 для f (х, у) —х + 2у.
Вначале мы имеем запись изображения набора аргументов lx+1 * 1' '.
Последней формулой подстановки мы введём символ а: |
—>а. Полу |
чим слово a lx+1 * \y+l. |
|
Затем с помощью подстановки а 1—>1а оно преобразуется в слово
1х+1а * 1-! 1'. Сотрём а и разделительную звёздочку: а*—>Р
Удвоим количество единиц в блоке, изображающем второй аргумент: Pi—>llP. После выполнения всех перечисленных выше подстановок окажется запись, содержащая х +1 + 2 (у +1) = х + 2у + 3 единицы.
Сотрём лишние две единицы и закончим работу подстановкой 1 lP— a l - » la
a* -» Р
Запишем нормальную схему подстановок: PI ^ IIP
п р - > .
-» а
2. Проверим работу алгоритма над изображением набора переменных
(0,1), т.е. над словом 1*11:
_1*11, a l* ll, la * ll, ip il, 111pJ., 111ПР, 111.
Итак, осталось три единицы, которые являются изображением числа 2, что и ожидалось, т.к. /(ОД) = 0 + 2 • 1 = 2.
Задание 3.2.3
1. Написать формулу для функции I’ —/(Х| ,х2 |
хп ). вычисляемой |
нормальным алгоритмом.
2. Проверить работу алгоритма над некоторым набором значений аргу ментов.
№п
1 3
3 2
5 3
7 2
/ |
№ п |
*->11
а11 - > 1а
<а 1 -> а |
2 |
2 |
|
а —>. |
|
|
|
—>а |
|
|
|
Г1 * |
1 |
|
|
J \ * |
** |
4 |
2 |
[**->. 1111
а1 —> а |
|
|
а * -> р |
|
|
< p i —> и р |
6 |
3 |
Р*—»а |
|
|
а -> .111 |
|
|
-> а |
|
|
1*1-»* |
|
|
*1ч>р |
|
|
< *->.1 |
8 |
2 |
p l ^ p |
|
|
Р ^ .1
Таблица 3.2.3
/
а1 —>1а
а* -> р
pi ^У
у1 —> у
у■
—> а
а1 -> 11а
а* -> ip
<р и -> .
Р1->.1111
—^ (X
1* 1 ^ 1 *
1* * —> а
<а 1 -> 11а
а—>.
* 1 фф * * —>
1*н> р
i p - > p i l l р - > . 1
_1->.1
|
|
]**1— * |
|
* i- > 1 * |
|
н<* |
* * |
|
* * >!<—\ |
|
|
< * * i—> ** |
10 3 |
* *1—»ос |
|
9 3 |
|
al—их |
|
а*—*.
*—>Н« *
№ п |
/ |
od—>ос а*—>Р
Р1-ЯР
Р*—>у 11 4 •< у*—>у
yl—»у
—>(Х
1*1 —> 1 *
* * —>а
133 <a ll —> la
а1 —>.
а—>.
Таблица 3.2.3(продолжение)
№ |
п |
/ |
|
|
al 1—>Р |
|
|
al—>у |
|
|
pl^p |
|
|
Р*^-р |
12 |
3 |
р->.1 |
|
|
у1—>1у |
|
|
у*—>у |
|
|
у—>.1 1 |
|
|
—>а |
11 а —> 1 а
1 а 1 —>1 у
у1 —> 1 у
у* —> .
143 < а 1 —> р
Р1 ^ Р
р*->.11 1 * -» а
|
a l —» la |
|
a * —» р |
|
P l-> 1110 |
15 3 |
P * — |
|
Y 1 —» Y |
У -► ■
—>a
a ll- » lip
P1->1P P*-»P
p->.
173 • a 1 -> у
у1 -> у
у*-»y y -» .ll -» a
№ |
и |
/ |
|
|
|
a l-» a |
|
|
|
a*l-»p |
|
|
|
p ill^ lp |
|
19 |
3 |
■pil*4> .ll |
|
|
|
p i* -» .l |
|
|
|
P *-». |
|
|
|
—^(X |
|
|
|
aa 1 —» aa |
|
|
|
aa *—>aa |
|
|
|
aa —». 11 |
|
21 |
2 |
a ll - » P |
|
P I^ P |
|||
|
|
P*->.11 1 a —» a 1 1 * -» a 1 *
a l—»la
a*l 1—»/?
a*1—»/
16 2 • 7^ -
i p ^ P
P -*■ —>a
a l —» llla a *-> p
18 2 • p i- » lip
P-».lll
-» a
Таблица 3.2.3(продолжение)
№ |
n |
/ |
|
|
a l - » l a |
20 |
|
a *-»p |
|
2 |
• p l- » lllp |
|
|
P->.11 |
|
|
-» a |
|
|
a 1 —»1 p |
|
|
p 1 —»1 a |
|
|
a * —» у |
|
|
у 1 —»11 у |
22 |
2 |
• у |
|
|
Р * —>8 |
|
|
511 —> 51 |
8 -» . —» a
1*-» *1 * * 1 —>а
233 • a l l —>l a
а1 —
CL —^ .
а 1 —> 11 а
а * 1—> р
253 • p i ^ P
Р* -» .111
—>а
а1—> 1 а
а* —> р
272 < Р 1 ^ Р
р-> .11
-> а
a l —>ip pi —>1 а а * -> у
242 Р*1->.
у1 —> у
7 ->•
—>а
1 * 1 -> 1 *
26 3 • * *1—>а
a l -> 111 а
а -» .
г11*11->.11
*->Р
28 2 • Р1->11Р
1 ^ .
Таблица 3.2.3(окончание)
№ |
и |
/ |
№ |
п |
/ |
|
|
a l -»lp ia |
|
|
а 1—»а |
29 |
2 |
а * 1-> |
30 |
3 |
а * -»р |
• Р У |
• Р1->11Р |
||||
|
|
^ |
|
|
Р*-». |
|
|
7_>- |
|
|
|
|
|
->а |
|
|
—^сс |
Пример решения задания 3.2.3 |
|
|
|
||
Решить задание 3.2.3 |
для f(x ,y ,z ), |
вычисляемой нормальным алго- |
*1-»ос
ритмом с данной, схемой подстановок: <аа 1 —>11аа
а а —».
а1—>а
1. Вначале мы |
имеем |
запись изображения |
набора аргументов |
|
\ х+1 * \У +1 =1=\ z+1 |
З а п и ш е м последовательность слов, получающихся при |
|||
работе данного нормального алгоритма над словом |
lx+1 * ly+l * lz+1: |
|||
H+1* lH * lz+1, \x+la l y*llz, |
lx+la l l y la lz, \x+la l l ^ 2cclz, |
|||
...,lx+1a a l l z_1, lx+3a a llz- 2, Г"'шл1Г 3 |
lI+2z+1aa, lx+2z+1. |
Итак, в результате работы нормального алгоритма над изображением
набора аргументов получилось |
слово |
из х + 2 z +1 единиц, которое |
служит изображением числа х + 2 |
z. |
|
Значит, искомая функция имеет вид f |
(х, у, z) = х + 2z. |
2. Проверим работу алгоритма над изображением |
набора аргументов |
(2,0,1): 111*1*11, 111а*11, 11 local, l l l l l a a |
. 11111. |
В результате получено изображение числа 4.
Но У (2,ОД) = 2 + 2 -1 = 4. Так что нормальный алгоритм получил то,
что и должен был получить.
3.3. Рекурсивные функции
Числовой функцией называется функция вида f : Nq —> N 0 , где
7V0 ={0,1,2,3,...}.
Исходными функциями называются числовые функции следующих ви дов: 1) о(х) = 0 - нулевая функция;
2)six) = х +1 - функция следования;
3)1%(х\,х2 ,...,хп) = Х]с - функция выбора аргумента.
Суперпозицией |
функций |
/ 1(х1,х2,...,хи), |
f 2 {xi,X2 ,...,xn), |
Л (Х 1 .Х2 хп), |
g (y1. у 2 ..... » ,) называется функция |
h(xl,x2,...,x„) = g ( /1(x1,x2,...,x„),/2(x1,x2,...,x„),...,/A.(x1,x2,...,x„)),
причём h определена только на тех наборах (сц ,а2 ап). на которых
определены |
f x{ax,a2 |
,...,an), f 2 (ab a2 ,...,an),..., f k (ab a2 ,...,cin), |
|
g (f\(a b a 2 ,...,an) ,f 2 (ab a2 |
,...,an),...,fk (av a2 ,...,an)). |
||
Говорят, что числовая функция / ( х 1;х2,...,хи) |
получена из числовых |
||
функций g (x1,x2,...,xH_1), |
/7(х1;х2,...,хи,хи+1) |
с помощью примитив |
|
ной рекурсии, если выполняются два условия: |
|
1)/ ( x j ,х2,.. -,хп_х,0) = g(xj,х2,... ,хп_х);
2)f ( x l,x2 ,...,xn_l,y + l) = h(xl,x2 ,...,xn_l, y , f ( x l,x2 ,...,xn_l,y)).
Операция минимизации по / -той переменной функции g (x 1,x2,...,xH)
обозначается \iy (g(xl,x2 ,...л , ,,у , xj+l,...,хп ) = х( ) и определяется так:
Рассмотрим соотношение g(x1 ,x2 ,...,xi_1 ,y ,x i+1 ,...,xn) - xit (*)
которое будем рассматривать, как уравнение относительно у.
Эго уравнение будем решать подбором, подставляя вместо у после
довательно числа 0,1,2, и т.д. Возможны случаи:
1)на некотором шаге левая часть соотношения (*) не определена.
В этом случае считаем, что на наборе (Х|,х2 хп) операция миними
зации не определена.
2)На каждом шаге левая часть соотношения (*) определена, но ни
при каких у равенство не выполнится. В этом случае также считаем,
что на наборе (х1 ,х2 ,...,хп) операция минимизации не определена.
3) |
Левая часть соотношения (*) определена при У = 0, у = 1,..., |
|||
y |
= z —l , y —z, но при |
у < z равенство (*) |
не выполнялось, а при |
|
у |
—z |
оно выполняется. |
В этом случае число |
z считается значением |
операции минимизации на наборе (х1 ,х2 ,...,хп).
Примитивно-рекурсивной называется числовая функция, которая может
быть получена из исходных за конечное число шагов с помощью при менения операций суперпозиции и примитивной рекурсии.
Частично-рекурсивной называется числовая функция, которая может
быть получена из исходных с помощью применения конечного числа раз операций суперпозиции, примитивной рекурсии и минимизации.
Задание 3.3.1
Найти функцию f i x , у), полученную из функций g(x) и h(x,y,z) по
схеме примитивной рекурсии.
№ |
g( x) |
h(x,y, z) |
№ |
g( x) |
1 |
X 2 |
xz |
8 |
X4 |
2 |
2 |
z X |
9 |
X |
3 |
X |
Х+У-*7 |
10 |
X |
4 |
X |
x + z |
11 |
3 |
|
2 |
|||
|
|
|
|
|
5 |
1 |
x(y +l)z |
12 |
1 |
6 |
X |
x + z |
13 |
1 |
|
||||
7 |
0 |
y + z +1 |
14 |
0 |
№ |
g( x) |
h(x,y, z) |
№ |
g(x) |
15 |
X |
xyz + xz |
23 |
0 |
16 |
X |
z 2 |
24 |
X |
17 |
X |
3x |
25 |
X |
— |
||||
|
|
z |
|
|
18 |
2x |
2 x + z |
26 |
X2 |
19 |
X |
x - z |
27 |
0 |
20 |
0 |
x + 2у |
28 |
0 |
21 |
0 |
x +y +z |
29 |
1 |
22 |
x3 |
Hz-x1 |
30 |
0 |
Таблица 3.3.1
h(x,y, z)
f z -X3 zx
y + z
z y+l
xy +x
X z
X3 + z
Таблица 3.3.1(окончание)
h(x,y, z) z —x\ x +y
zy + z
3y + z
у3 +z x +y 2 +z
z + 3y x - y + z
Пример решения задания 3.3.1
|
|
2 |
h(x, у, z) = (y + 2)xz. |
|
Решить задание 3.3.1 для функций: g(x) = х ; |
||||
Найдём несколько значений функции f '■ |
|
|
||
/(х ,0 ) = g(x) = х 2; |
|
|
||
f ( x ,1) = /г(х,0,/(х,0)) = h( х,0,х2) = 2 -х - х 2 = 2х3; |
|
|||
/ |
(х,2) = h(x,1, / |
(х,1)) = h( х,1,2х3 ) = 3 • х • 2х3 |
= 3!х 4; |
|
/ |
(х,3) = h(x, 2, / |
(х,2)) = h(x, 2,3! х 4) = 4 • х • 3!х 4 = 4! х 5. |
|
|
Возникает предположение, что f i x , у) —(y +l)\xy+2; |
(1) |
|||
Докажем формулу (1) методом математической индукции, |
проведя ин |
|||
дукцию по у : |
|
|
|
|
1) |
Проверка при у = 0. |
|
|
|
f i x , 0) = х 2 = (0 + 1)!х0+2. Да, при у - 0 формула (1) верна. |
||||
2) |
Допустим, что предложение (1) верно при у = п, т.е. допустим, что |
|||
верна формула |
f i x , ri) = (n +1)! хи+2; |
(2) |
|
3)Докажем, что предложение (1) верно при у = п + 1, т.е. докажем
справедливость формулы f i x , n + 1) = (п + 2)!хи+3 |
(3) |
Выразим f i x , п + 1) с помощью схемы примитивной рекурсии:
f i x , n + 1) = hix,n,fix, п)) = hix,n,in + 1)!хи+2) =
= (ц + 2)-х-(«-|-1)!хи+2 = (п + 2)!хи+3. Итак, в предположении спра
ведливости формулы (2) доказана формула (3).
На основании метода математической индукции утверждаем, что пред ложение (1) справедливо для всех Д е jV0.
Ответ: f i x , у) - (у +1)\ху+2.
Задание 3.3.2