Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория алгоритмов. Учебное пособие
.pdf
2.12. Правильная вычислимость функции по тьюрингу
( )
x xD
xx
( )
11
nn
xxxx
( )
x xD
xx
M TA= •
( )
( )
m m nm
Ix x x x
−+
( )
qn
Cx x q
CA
( ) ( ) ( ) ( )
( )
1) если
работу в стандартном положении 1,...,
,...,
1
∈ , то машина Тьюринга, начав
n
φ
, через конечное
n
число шагов останавливается в заключительной конфигурации вида
2) если
боту в стандартном положении 1,...,
,..., , ,...,
1
,...,
φ ;
∉ , то машина Тьюринга, начав ра-
n
φ
, не приходит в за-
n
ключительную конфигурацию указанного вида;
3) управляющая головка машины Тьюринга в течении
всего времени работы не заходит левее кода первоначально
воспринятого набора более чем на одну ячейку.
Теперь будем доказывать, что всякая ПРФ является
правильно вычислимой по Тьюрингу.
Для этой цели прежде всего докажем следующие леммы.
Лемма 1. Всякая элементарная функция является
правильно вычислимой по Тьюрингу.
Доказательство. Покажем, что существующие маши-
ны правильно вычисляют элементарные функции. При
этом воспользуемся базисом элементарных машин и основными операциями над машиной Тьюринга. Нетрудно проверить, что машина
1s
правильно вычисляет функцию следования
1Sx x= + .
Очевидно, для вычисления функции выбора
n
,..., ,...,
1
T
.
1nm
Для вычисления функции константа
= можно воспользоваться машиной
n
,...,
1
=
можно использовать композиции следующих машин:
q
• .
Лемма 2. Операция подстановки сохраняет свойство
правильной вычислимости по Тьюрингу.
Доказательство. Пусть
fx Sgy h x h x= ,
; ,...,
1
— 81 —
m

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
( )
xx x
( )
yy y
gh h
MKMT MT MT T TMUS
=•• •• •• • ••••
( )
( )
n nn nn n
1 111 121 131
nn nn nn n
xxxxhxxxxhxxxxhxx
n n nn n n
hxxhxx xxxxhxxxx
( ) ( )
,0
φ=µ =
( )
xx x
( )
где
шины Тьюринга 1, ,...,
щие функции 1, ,...,
,...,
= ,
1
n
gh h , соответственно.
,...,
= , и пусть существуют ма-
1
m
MM M , правильно вычисляю-
m
m
Построим искомую машину для случая 3m=.
(Обобщения очевидны.)
Нетрудно проверить, что машина Тьюринга
n n n nn g
правильно вычисляет функцию
+ + ++
fx.
nn
1 1 2 1 323 33
Действительно:
K
,..., ,..., ,, ,..., ,..., ,, ,..., , ,...,
xx xxxx xxxxhxx
1 11 1111
n
T
n
+
→ →
,..., ,, ,..., , ,..., , ,..., , ,...,
1 1 11 1 21
,..., ,
xx
1
,..., ,, ,..., , ,..., , ,..., , ,..., , ,..., , ,...,
T
23
n
→
( ) ( )
31 11 1 1 11 1
hxxxxhxxhxxhxx
( ) ( ) ( ) ( )
21 1 31 11 21
,..., ,, ,..., , ,..., , ,..., , ,...,
1 1 11 1 21
hxxhxxhxxhxx
( ) ( ) ( ) ( )
31 11 21 31
,..., ,, ,..., , ,..., , ,..., , ,..., ,
1 1 11 1 21
,..., , ,..., , ,..., , ,..., , ,..., ,
xxhxxhxxhxxhxx
1 31 11 21 31
ghxhxh x x
( )
123 1
S
n
→ →
1
,..., ,, ,..., , ,..., , ,...,
xxxxhxxxx
1 1 11 1
nn n n
nn n n n
, ,..., , ,..., , ,..., , ,..., , ,...,
xxhxxxxhxxxx
n
1111211
( ) ( )
( ) ( )
n nn nn
( ) ( ) ( )
+
,..., ,, ,..., , ,..., , ,..., , ,..., ,
1 1 11 1 21
nn n n n
,..., , ,..., ,..., ,, ,..., , ,..., , ,..., ,
,..., , ,..., , ,..., , ,..., , ,...,
nn n n n
nn n n n
,..., , ,..., , ,..., , ,...,
nnnn
nn n n n
( ) ( ) ( ) ( )
nnnnn
, , ,...,
( ) ( ) ( )
,..., , , , .
x x ghxhxhx →
1 123
( )
n
Лемма 3. Операция минимизации сохраняет правиль-
→
( ) ( )
( ) ( )
U
→
( ) ( ) ( )
M
1
M
( )
2
T
→
( ) ( )
T
3
n
+
( )
, ,..., ,
xx
1
M
g
→
,, , ,
x ghxh xhx
( ) ( ) ( )
( )
123
n
1
n
+
→
xx
T
→
n
ную вычислимость по Тьюрингу.
Пусть
x y f xy
, где
,...,
= ,
1
n
и пусть существует машина Тьюринга fM , правильно вычисляющая функцию
,f xy .
M
3
,..., ,
1
3
n
— 82 —

2.12. Правильная вычислимость функции по тьюрингу
( )
VT US
• •↑
( ) ( ) ( )
( )
(, 1) (,,(,))
( )
xx x
gh
MM
( )
( )
gh
MM
( )
23
n nh
++
•••••
( )
ff f
Тогда следующая машина Mφправильно вычисляет
функцию
xφ :
= •• ••
M K CM P
φ
n
↓
f
• ••
2
0
1
+
n
VT A
+
n
1
2
В виде упражнения напишите описания машины Mφ
подробно, как в предыдущем случае.
Лемма 4. Операция примитивной рекурсии сохраняет
правильную вычислимость по Тьюрингу.
Пусть
, , ,,xy R g x h xyzφ= , т.е. выполняются сле-
дующие условия:
( ,0) ( )
x gx
ϕ=
ϕ += ϕ
xy hxy xy
где
правильно вычисляющие функции
,...,
= , и пусть существуют машины ,
1
n
gx и
,,hxyz , соот-
ветственно.
Тогда следующая машина Mφ, построенная из машин
,
и элементарных машин с помощью операций композиции, ветвления и зацикливания, правильно вычисляет функцию
= • • • ••
M K T MT P
φ ++ +
,xyφ :
n
n n gn
11 2
• ••
VT US
• •••
T BP
4
n
+
• •• ↑
VT AT
VT US
• ••
2
n
VT CT M
2
1
n
+
43
nn
++
↓
Из лемм 1–4 следует, что имеет место следующая тео-
рема.
Теорема. Всякая частично рекурсивная функция
(ЧРФ) является правильно вычислимой по Тьюрингу.
Доказательство. Пусть
,...,
fx x — ЧРФ, следо-
1
n
вательно, существует ее частично рекурсивное описание (ЧРО)
, ,...,
12
. Покажем, что каждый элемент этой
k
— 83 —
,

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
ik=
mi≤≤
ff f
ff=
KK
ЧРФ ПВТ
KK
ЧРФПВТ
( )
f xy x y
последовательности if , где 1,2,...,
, является правильно
вычислимой по Тьюрингу. Воспользуемся методом математической индукции.
1 шаг. Пусть 1i=. Тогда из определения частично ре-
курсивного описания и леммы 1 следует, что 1f — элементарная функция и правильно вычислима.
2 шаг. Предположим, что для некоторого номера i все
функции mf , где 1
, правильно вычислимые функции.
3 шаг. Тогда докажем, что функция 1mf+ также явля-
ется правильно вычислимой по Тьюрингу.
Действительно 1mf+ является либо элементарной
функцией, либо полученной из каких-то функций из составленного описания с номерами, меньшими 1m+, по одному из правил: подстановки, примитивной рекурсии или
минимизации.
Так как все эти операции по леммам 2–4 сохраняют
правильную вычислимость, то 1mf+ правильно вычислима
по Тьюрингу.
Следовательно, все функции описания
, ,...,
12
пра-
k
вильно вычислимы, в том числе
.
k
Таким образом, имеют место следующие включения:
цией K
функций K
лимости арифметических функции по Тьюрингу.
по Тьюрингу. При этом воспользуемся базисом элементарных машин, а также основными операциями машины
Тьюринга.
.
Следовательно, класс правильно вычислимых функ-
совпадает с классом частично рекурсивных
ПВТ
ЧРФ
.
Рассмотрим несколько примеров о правильной вычис-
Пример 1. Пусть задана функция
,
= + .
Покажем, что она является правильно вычислимой
— 84 —

2.12. Правильная вычислимость функции по тьюрингу
••• ↑
( )
fx kx
M KTM TM US
= • • • • ••
( )
f xy x y
( ) ( ) ( )
, 11
V LDRUS
•••••
( )
( )
Тогда машина fM , вычисляющая данную функцию
правильно по Тьюрингу, имеет вид:
0
↓
= •• •
M T LP
2
f
Пример 2. Пусть задана функция
VDR
••
VBR A
1
= ⋅ .
Машину, вычисляющую эту функцию, можно построить из элементарных машин с использованием основных
операций. Это машина имеет вид:
11 2
f
( )
++
−
,
2
k
где M+ — суммирующая машина.
Пример 3. Пусть задана функция
,
= −.
Прежде чем простроить машину Тьюринга, правильно
вычисляющую данную функцию, преобразуем функцию
следующим образом:
fxyxyx y=−= − − −
.
Тогда машина, вычисляющая эту функцию, имеет
вид:
0
=
y
V DRUS
••••
↓
M K T LP
= • • ••
22
f
VBRP
••••
0
≠
y
=
x
≠
x
0
VB
0
•↑
Пример 4. Пусть требуется построить машину
Тьюринга, правильно вычисляющую функцию:
.,2rest x ,
т.е. остаток от деления x на 2.
Из предыдущей главы нам известно, что эту функцию
−⋅
x
2
x
, т.е.
2
.
x
−⋅
x
можно отождествить с функцией 2
.,2rest x = 2
Тогда машина, вычисляющая эту функцию, имеет
вид:
— 85 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
VC AUS
,
xxy
fx
yxy
если
V DRT US
••• ••
0
=
x
V CUS
•••
↓
M KP
= ••
rest
1
0
≠
x
VBP
•••
x
≠
x
VB
0
•• ••
•↑
Пример 5. Пусть требуется построить машину
Тьюринга, определяющую минимальное из двух заданных
чисел, т.е. функцию:
,min ,
yxy
,
если
Используя основные операции над машиной Тьюринга
и базис элементарных машин, получим, что машина
M —
f
вычисляющая данную функцию, имеет вид:
0
y
=
V ST US
•• ••
↓
= • ••
M KT P
f
2
22
VBLP
0
y
≠
3
••••
0
x
=
0
x
≠
VBR
••↑
4
Контрольные вопросы
1. Перечислите основные элементарные функции и их
свойства.
2. Что такое операция подстановки, и какими свой-
ствами она обладает?
3. Охарактеризуйте операцию примитивной рекурсии
и ее возможные случаи?
4. Какие производные операции вы знайте?
5. Что такое примитивно рекурсивная функция, и ка-
кими свойствами она обладает?
6. Приведите пример примитивно рекурсивной функ-
ции относительно заданной совокупности функций.
7. Приведите пример применения операции конечного
суммирования и конечного произведения над функциями.
8. Что такое предикат, какими свойствами он обладает?
— 86 —

Практические задания
9. Покажите, что логические операции над предика-
тами сохраняют свойство примитивной рекурсивности.
10. Что такое представляющая функция предиката?
11. Докажите, что операции навешивания кванторов
существования и общности над предикатами сохраняют
свойство примитивной рекурсивности.
12. Приведите пример кусочно заданной функции относительно совокупности функций и предикатов, обладающих свойством примитивной рекурсивности.
13. Докажите, что операция ограниченной минимизации сохраняет свойство примитивной рекурсивности
функций.
14. Что такое ЧРФ и какими свойствами она обладает?
15. Каково отличие между ПРФ и ЧРФ? Приведите
примеры, выражающие их отличительные черты.
10. Определите правильную вычислимость функции
по Тьюрингу.
11. Докажите, что каждая элементарная функция правильно вычислима по Тьюрингу.
12. Охарактеризуйте универсальную машину Тьюринга.
13. Докажите, что операции подстановки, примитивной рекурсии и минимизации сохраняют свойство правильной вычислимости функции по Тьюрингу.
14. Докажите, что всякая ПРФ, всякая ЧРФ — правильно вычислима по Тьюрингу.
15. Объясните эквивалентность двух уточнений алгоритма.
16. Чем отличаются уточнения понятия алгоритма
в виде рекурсивной функции от машины Тьюринга?
Практические задания
I. Докажите, что следующие функции являются при-
митивно рекурсивными:
— 87 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
= +
=+∈
12) ( ) 3 2.
fx x x
=++
( )
( )
( )
gx x
( )
,, .
( )
gx x
( )
,, .
( )
( ) ( )
, , 1.
( )
gx x
( ) ( )
( )
g xy x y
( )
( ) ( )
1) () 35
fx x
xxy
yx
xx
yx
1) ( ) 4;
fx x
2) ( ) ;
3) ( ) 2 1;
4) ( , ) 2 3 ;
5) ( , ) ;
6) ( ) 2 ;
7) ( , ) ;
8) ( ) ;
9) ( , ) ( ) ;
10) ( , ) ( ) ; ,
11)
= +
fx x n
= +
fx x
fxy x y
f x y kx ny
fx
fxy x
fx x
fxy x y
() 3 ;
= +
= +
x
=
y
=
x
=
= +
f x y kx y k n N
fx
=
2
xy
nxy
2
1
x
+
II. Какая функция получается из функции
и
примитивно рекурсивными:
,,hxyz с помощью операции примитивной рекурсии?
1)
2)
3)
4)
5)
III. Докажите, что следующие функции являются
2) () 628
fx xx
fxyxy
3) ,max(,)
4) ,min(,)
fxyxy
;
=
hxyz z=
;
=
hxyz x=
1;gx=
hxyz z x=⋅+
= ;
,
= −;
, , ,0h xyz x y f x=⋅+ .
,,,hxyzt =
2
— 88 —
x
z
2 ,,x y f xyz⋅+⋅ .
,
,
,
,
если
если
если
если
gx
y
y
y

1, 0
5)
!
0
6)
7)
8) () 5!8
x
xx
xy
xy
fx x
если
0, 0
x
sg
если
1, 0
0
x
sg
если
( )
( )
( )
, 5 3;
( ) ( )
,5 ;
( )
,2;
( )
( )
fx x
( ) ( )
+= −
{ }
,, :
( )
( )
( )
22
,;
( )
( )
fx x
( ) ( )
, 1 ,.
( )
( )
( ) ( )
, 1 ,.
( )
( )
f xy x y
( ) ( ) ( )
,, 1 2 ,, .
fx x
,
fxyxy
(,)2(2 1) 1
fxyy
9)
x
1 ... ,
x
1, 0
если
xy
yx
x
если
если
,
,
если
Практические задания
10)
IV. Напишите примитивно рекурсивное описание
функций:
1)
2)
3)
4)
5)
6)
V. Напишите примитивно рекурсивное описание
функции относительно совокупности
1)
2)
3)
4)
5)
6)
x
f xy x y= +
f x y sg x x y=⋅ +⋅
f xy x y= −
fx, удовлетворяющей условию:
, 1 , 1.f xy f xy
, , 5;f xyz x y z=⋅++
, 3 4;f xy x x y= +⋅+
f xy x y= −
fx, удовлетворяющей условию:
f xy x y f xy+ =⋅+
fx, удовлетворяющей условию:
f xy y f xy+=⋅
,,f xyz , удовлетворяющей условию:
, ,0
f xyz x yf xyz+=⋅⋅
0,
если
7;fx x= +
5 19;fx x= +
2
= −;
x
— 89 —
+⋅−
,0
= ;
,0 1;fx =
,0
= ;

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
{ }
123
,, :
( ) ( )
( )
( )
( ) ( )
( )
( )
( ) ( ) ( )
( )
,,, ,, , , ;
( ) ( )
( )
( )
,, 3,,,0;
( ) ( )
, ,, .
0;
,,
, 0.
fxyrestxy
xy
остаток от деления x на y, если y
если
;
x
число делителей числа
;
x
сумма делителей числа
( )
π−
;
x
lh
число простых делителей числа
( ) ( )
, 32
( ) ( )
, 320
= +=
( ) ( )
,5
( ) ( )
( ) ( )
( ) ( )
( )
( )
( )
,2
=∃<
( )
, 23
( ) ( )
( )
=φ=
( )
VI. Напишите примитивно рекурсивное описание
функции относительно совокупности
1)
2)
3)
4)
5)
VII. Докажите, что следующие функции примитивно
рекурсивны:
1)
2)
3)
4)
5)
, , ,2 ;xy x y yφ =ψψ ψ
12 3
, , , , ,2 ;xyz x y xφ =ψψψ
xxxx xxx xxφ =ψψ ψ
1234 1 3 123 2 41
xxx x xφ =ψψ ψ
123 1 3332
xy xyyφ=ψ
x
x
x
— число простых чисел, не превосходящих x.
x
321
3
0, 0.
0, 0.
0, 0.
если
если
если
x
x
x
ψψψ
VIII. Докажите примитивную рекурсивность предикатов:
1)
pxy x y= < ;
2)
pxy x y
3)
pxy y x= = + ;
4)
5)
6)
7)
8)
9)
10)
сивная функция.
,,p xyz x y z= += ;
,,p xyz x y z= ⋅= ;
, 43pxy x x y= = ⋅ ;
, 12 0pxy x y= −= ;
pxy y y x
( ) ( ) ( )
pxy y yx yx
=∃ =∧>
( ) ( ) ( ) ( )
px x x
yx
≤
yx
≤
, где
— 90 —
;
;
;
xφ — примитивно рекур-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
