Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

тюмгу / Тишин В.В. Дискретная математика в примерах

.pdf
Скачиваний:
993
Добавлен:
08.12.2019
Размер:
15.69 Mб
Скачать

 

/

 

 

 

 

 

 

 

 

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

Соседние файлы в папке тюмгу