
- •Введение: интуитивное понятие алгоритма. Свойства алгоритма. Вычислимые функции
- •Теоретический материал
- •Рекурсивные функции
- •Нормальные алгоритмы Маркова
- •3. Машины Тьюринга
- •Типовые задачи
- •Рекурсивные функции
- •2. Нормальные алгоритмы Маркова
- •3. Машины Тьюринга
- •Варианты заданий к ргр
- •Литература
- •Содержание
- •Формат Объем Тираж Заказ
Типовые задачи
Рекурсивные функции
Задание 1. Найдите функции g и h в рекурсивной формуле для двуместной функции f(x,y), если рекурсия проводится а) по переменной х, б) по переменной у. Докажите, что функция f(x,y) принадлежит классу ПРФ.
f(x,y)=3y+x3
f(x,y)=
f(x,y)=xy+2x+3
Решение.
а) 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=xxx=p(p(x,x),x)=
- ПРФ
f(x,y)=3y+x3=
- ПРФ
а) 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)=xx=p(x,x)=
- ПРФ
f2(x,y)=x2+y=
-
ПРФ
f(x,y)=
=
- ПРФ
а) 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) принадлежит классу ПРФ.
f(x,y,z)=(2x+1)yz
f(x,y,z)=xy+z
Решение.
а) 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=(2x2+1)yz=2x2yz+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=
- ПРФ
а) 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. Выяснить применим ли этот нормальный алгоритм к слову α.
N: 1) bc→da, 2)dc→cad, 3)db→ λ, 4)b→dcb, 5)λ→da , α = ababа
N: 1) bc→da, 2)dc→cad, 3)db→ λ, 4)b→dcb, 5)λ→da , α = adabc
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 →
→ λ
Следовательно, вычислима по Маркову, а значит, 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 вычислима по Маркову.