Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы и их виды.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
537.09 Кб
Скачать

Типовые задачи

  1. Рекурсивные функции

Задание 1. Найдите функции g и h в рекурсивной формуле для двуместной функции f(x,y), если рекурсия проводится а) по переменной х, б) по переменной у. Докажите, что функция f(x,y) принадлежит классу ПРФ.

  1. f(x,y)=3y+x3

  2. f(x,y)=

  3. f(x,y)=xy+2x+3

Решение.

  1. а) g(y)=f(0,y)=3y

h(x,y,f(x,y))=f(x+1,y)=3y+(x+1)3=3y+x3+3x2+3x+1=f(x,y)+ 3x2+3x+1

б) g(y)=f(x,0)=x3

h(x,y,f(x,y))=f(x,y+1)=3(y+1)+x3=3y+3+x3=f(x,y)+3

f1(x,y)=3y=p(3,y)= - ПРФ

f2(x,y)=x3=xxx=p(p(x,x),x)= - ПРФ

f(x,y)=3y+x3= - ПРФ

  1. а) g(y)=f(0,y)=5y

h(x,y,f(x,y))=f(x+1,y)= =

=f(x,y)

б) g(y)=f(x,0)=

h(x,y,f(x,y))=f(x,y+1)= =f(x,y) )5

f1(x,y)=xx=p(x,x)= - ПРФ

f2(x,y)=x2+y= - ПРФ

f(x,y)= = - ПРФ

  1. а) g(y)=f(0,y)=3

h(x,y,f(x,y))=f(x+1,y)=(x+1)y+2(x+1)+3=xy+y+2x+2+3=f(x,y)+y+2

б) g(y)=f(x,0)=2x+3

h(x,y,f(x,y))=f(x,y+1)=x(y+1)+2x+3=xy+x+2x+3=f(x,y)+x

f1(x,y)=xy=p(x,y)= - ПРФ

f2(x,y)=2x=p(2,x)= - ПРФ

f(x,y)=3y+x3= - ПРФ

Задание 2. Найдите функции g и h в рекурсивной формуле для трехместной функции f(x,y,z),если рекурсия проводится а) по переменной х, б) по переменной у, в) по переменной z. Докажите, что функция f(x,y,z) принадлежит классу ПРФ.

  1. f(x,y,z)=(2x+1)yz

  2. f(x,y,z)=xy+z

Решение.

  1. а) g(y,z)=f(0,y,z)=2yz

h(x,y,z,f(x,y,z))=f(x+1,y,z)=(2x+1+1)yz=(2x2+1)yz=2x2yz+yz=

=2(2xyz+yz-yz)+yz=2f(x,y,z)-yz

б) g(x,z)=f(x,0,z)=0

h(x,y,z,f(x,y,z))=f(x,y+1,z)=(2x+1)(y+1)z=(2x+1)yz+(2x+1)z=f(x,y,z)+

+(2x+1)z

в) g(x,y)=f(x,y,0)=0

h(x,y,z,f(x,y,z))=f(x,y,z+1)=(2x+1)y(z+1)=(2x+1)yz+(2x+1)y=f(x,y,z)+

+(2x+1)y

f1(x,y,z)=2x+1=q(2,x)+1= - ПРФ

f2(x,y,z)=yz=p(y,z)= - ПРФ

f(x,y,z)=(2x+1)yz= - ПРФ

  1. а) g(y,z)=f(0,y,z)=z

h(x,y,z,f(x,y,z))=f(x+1,y,z)=(x+1)y+z=xy+y+z=f(x,y,z)+y

б) g(x,z)=f(x,0,z)=z

h(x,y,z,f(x,y,z))=f(x,y+1,z)=x(y+1)+z=xy+x+z=f(x,y,z)+x

в) g(x,y)=f(x,y,0)=xy

h(x,y,z,f(x,y,z))=f(x,y,z+1)=xy+z+1=f(x,y,z)+1

f1(x,y,z)=xy= - ПРФ

f(x,y,z)=xy+z= - ПРФ

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

Задание 1. Пусть нормальный алгоритм Маркова в алфавите А={a,b,c,d} задан последовательностью подстановок N. Выяснить применим ли этот нормальный алгоритм к слову α.

  1. N: 1) bc→da, 2)dc→cad, 3)db→ λ, 4)b→dcb, 5)λ→da , α = ababа

  2. N: 1) bc→da, 2)dc→cad, 3)db→ λ, 4)b→dcb, 5)λ→da , α = adabc

  3. N: 1) bd→b, 2) cd→bd, 3)db→ λ, 4)b→dcb, α = babca

Решение.

1) ababa adcbaba acadbaba acaaba

Нормальный алгоритм Маркова применим к слову α и преобразует его в слово β =acaaba.

2) adabc adada daadada dadaadada …

Нормальный алгоритм Маркова не применим к слову α.

3) babca dcbabca dcdcbabca dbdcbabca dbcbabca cbabca

Нормальный алгоритм Маркова применим к слову α и преобразует его в слово β= cbabca.

Задание 2. Доказать, что функция f(x,y) вычислима по Маркову.

1) f(x,y) = y

2) f(x,y) = x-y

3) f(x,y) = x+y+3

Решение.

1) Функция f вычислима по Маркову, если присоединенная функция вычислима по Маркову.

f(x,y) = y

, A={1, }

Построим нормальный алгоритм Маркова для функции .

Анализируем: необходимо стереть все единицы левее и символ , оставив при этом число единиц правее без изменений.

  1. 1 →

  2. → λ

Следовательно, вычислима по Маркову, а значит, f вычислима по Маркову.

2) f(x,y) = x-y

, A={1, }

Построим нормальный алгоритм Маркова для функции .

1) 1 1→

2) → λ

Следовательно, вычислима по Маркову, а значит, f вычислима по Маркову.

3) f(x,y) = x+y+3

, A={1, }

Построим нормальный алгоритм Маркова для функции .

1) 1 → 1

2) → 111

Следовательно, вычислима по Маркову, а значит, f вычислима по Маркову.