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

людкоский тарф методичка с сдо

.pdf
Скачиваний:
1
Добавлен:
06.02.2025
Размер:
1.33 Mб
Скачать

( ) = µ ≤22 [| ( ) − ( + 1)| = 0].

Функция ( ) = 22 примитивно-рекурсивна. Из предложения 5 следует, что

( ) является примитивно-рекурсивной функцией.

15. Пусть ( , ) обозначает показатель степени числа ( ) в разложении

на простые множители числа y, где ( , 0) = 0. Эта функция выражается через примитивно-рекурсивные функции

̅̅̅̅

+1

)) ( ) = 0].

( , ) = µ [ ( ( , ( ( ))

 

Поэтому, ( , ) является примитивно-рекурсивной функцией. 16. Рассмотрим целую часть квадратного корня из x, то есть

( ) = [√ ]. Эту функцию можно представить в виде

 

 

̅̅̅̅

(( + 1)

2

÷ ) = 0],

 

 

[√ ] = µ [

 

следовательно, ( ) примитивно-рекурсивна.

17. Для пар натуральных чисел x и y возьмём функцию

( , ) = ( + )( + + 1) + . 2

Это канторовская функция, которая присваивает номер паре ( , ).

Она примитивно-рекурсивна, так как

( , ) = [( + )( + + 1)] + . 2

15. Лекция 15. Частично-рекурсивные и общерекурсивные функции.

Определение 6. Пусть задана некоторая (n+1) – местная частичная функция f. Опишем n-местную частичную функцию ( 1, … , )

равную y в том и только том случае, когда для всякого < значение

51

( 1, … , , ) определено и на равно 0, а ( 1, … , , ) = 0.

Тогда говорят, что функция g получается в результате применения операции

минимизации (или µ-оператора) из f и пишут

( 1, … , ) µ [ ( 1, … , , ) = 0].

Определение 7. Если частичная функция : n−→ может быть получена из базисных функций применением конечного числа подстановок,

рекурсий и минимизаций, то она называется частично-рекурсивной. Если при этом функция f оказывается тотальной, то говорят, что она общерекурсивна.

Из определений получается, что любая примитивно-рекурсивная функция

является общерекурсивной.

Примеры. 18. Если имеется n-местная функция g с пустой областью определения, то можно записать условное равенство

( 1, … , ) µ [ ( 1) + = 0].

Следовательно, g частично-рекрсивна.

19. Пусть ( , ) x-y определена лишь при ,

тогда ( , ) µ [| − ( + )| = 0], следовательно, f – суть частично-рекур- сивная функция.

20. Рассмотрим частичную функцию ( , ) 1/y, которая определена

только при y = для некоторого натурального z. Из условного равенства

( , ) µ [| − y| = 0] мы получаем, что функция f частично-рекурсивна.

21. Теперь возьмём частичную функцию ( , ) , которая определена,

если y делит x. Тогда выполняется условное равенство

( , ) µ [| − | = 0].

Поэтому f является частично-рекурсивной функцией.

Теорема 1. Функция частично-рекурсивна тогда и только тогда, когда она числовая и вычислима на машине Тьюринга.

52

Доказательство. В силу тезиса Тьюринга любая частично-рекурсивная функция вычислима. Более детально строятся машины Тьюринга, которые вычисляют базисные функции. Если = (1, … , ) и имеются машины Тьюринга F,1,…, , вычисляющие функции f, 1,…, , то по ним строится машина Тьюринга H, вычисляющая h. Из машин Тьюринга F и G,

вычисляющих n-местную функцию f и (n+2)-местную функцию g соответственно строится машина Тьюринга H, которая вычисляет (n+1)-местную функцию h, полученную рекурсией из f и g. Также из машины

Тьюринга F, вычисляющей (n+1)-местную функцию f, получают машину

G, которая вычисляет функцию µ, полученную из f применением

оператора минимизации.

Докажем теперь обратное утверждение о том, что вычислимая по Тьюрингу числовая функция является частично-рекурсивной. Доказательство делится на несколько этапов. Сразу отметим, что отсюда будет следовать тезис Чёрча: любая числовая функция, которая вычислима в индуктивном смысле, также есть частично-рекурсивная функция. Сначала описывается техника сопоставляющая вычислениям на машине Тьюринга вычисления с помощью натуральных чисел.

Замечание 2. Техника арифметизации машин Тьюринга.

Рассмотрим машину Тьюринга, имеющую множество внутренних состояний= {0, … , } и ленточный алфавит

= {1, … , } , где 1 = , 2 = 1, 3 = □. С помощью символов 1 и □

можно записать любое натуральное число. Произвольное исходное данное

< 1, … , > для вычисления n-местной числовой функции представляют словом 1□ … □ . Рассмотрим функцию : −→ , которая нумерует все слова

в алфавите Σ, а обозначает множество слов, составленных из букв принад-

лежащих алфавиту Σ. Для пустого слова Λ полагают ( ) = 0, а для

 

 

 

 

 

 

 

 

 

 

 

 

 

непустого слова =

 

 

 

 

0

вычисляется значение

 

 

 

 

 

 

 

1

 

 

 

 

( ) =

0

+ + +

 

s . Если в какой-либо момент времени внутреннее

 

1

 

 

 

 

 

 

 

 

 

состояние машины M задаётся значением

, на ленте

 

 

 

 

 

 

 

 

 

 

 

 

 

написано слово , а остальные ячейки пустые, то есть заполнены символом , головкой машины обозревается ячейка с символом в ней

53

, то слово w удобно записать в виде = , в котром выделен обозреваемый символ . Тогда говорят, что машина имеет конфигурацию

, где 0≤k≤m, 0≤l≤n, A и B – некоторые слова в алфавите Σ. Допустимы также пустые слова A и B. Для конфигурации = её номер удобно вы- числять по формуле ( ) = 2 ( )3k5l7 ( ).

В частности, положим

n( 1 , … , ) = ( 1□ … □ ).

Предложение 6. Для всякого натурального числа 1≤n функция n

примитивно-рекурсивна.

Доказательство. Воспользуемся методом математической индукции.

В качестве основания индукции возьмём n=1. Тогда

1( ) = (1 … 1),

где 1 повторяется x раз, 1(0) = 0, 1( + 1) = 2 + 1( ) . То есть функция

δ вычисляется рекурсивно.

Предположение индукции: пусть n примитивно-рекурсивна. Продолжение индукции: докажем, что n+1 примитивно-рекурсивна.

Из равенства n+1( 1 , … , , +1 ) = n( 1 , … , ) 1+ +1 следует, что

n+1 примитивно-рекурсивна, так как она представлена примитивно-рекурсив- ным термом.

Теперь рассмотрим подробнее работу машины M, когда в качестве

исходного данного фигурирует слово 1□ … □ .

Начальной конфигурацией машины является q1 # Х1 □ Х2 □ … □ Хn, которая имеет номер γn (X1, …, Xn) = V (q1 # X1 □ … □ Xn).

Предложение 7. Функция γn (X1, …, Хn) является примитивно-рекурсивной для всякого n ≥ 1.

Доказательство. Функция δn примитивно-рекурсивная в силу Предложения 6. С другой стороны, выполняется равенство

γn (X1, …, Xn) = 3 ∙ 5 ∙ 7 1,…Х ),

54

так как (A qk аl B) = 2√∑( ) * 3K * 5l * 7√∑(В)

Поэтому функция γn тоже является примитивно-рекурсивной.

Теперь рассмотрим перемещение считающей головки машины Тьюринга:{N, L, R} и команды вида qi aj |→ qk al . В качестве номера для последней

команды положим (при h = 2 ∙ 3 ∙ 5( )), где с = c(i, j) – канторовская функ-

ция, которая нумерует пары натуральных чисел, S(N) = 0, S(L)=1, S(R)=2. После этого номером машины М назовем произведение номеров команд машины М. Если у машины имеется конфигурация m = AqiajB, то в результате выполнения одной из команд получается новая конфигурация mM’ = m’, по правилам:

1)m’ = m, если i=0;

2)если i≠0 и имеется команда qiaj |→ qk N,то ’ = ;

3)если i≠0, а команда имеет вид qiaj |→ qk R, B = /\, то

m’ = A qk #;

4)если i≠0, B ≠ /\, имеется команда qiaj |→ qk R, то m’ = A qk B;

5)если i≠0, A = /\, выполняется команда qiaj |→ qk m’ = qk # B;

6)если i≠0, A ≠ /\, выполняется команда qiaj |→ qk

A = A1S, то m’ = A1qkasalB;

L, то

L,

Таким образом, если на ленте написано слово АаjB, а считывающая голова машины находится в состоянии qi и обозревает символ aj, то m’=m’M обозначает конфигурацию, которая получается из исходной конфигурации m в результате выполнения одной из команд машины M.

Далее доказывается с использованием вспомогательных утверждений, что номер конфигурации m’M можно вычислить с помощью примитивно-рекурсив- ной функции, исходя из номера t машины М и номера Х конфигурации m в предыдущий момент времени.

Предложение 8. Номер (m’) конфигурации m’ машины M можно вычислить с помощью пятиместной примитивно-рекурсивной функции ρ по начальной конфигурации M = A qiaj B, номерам слов = Σ( ),

= (B) и команде qiaj |→qkal ,

S = S( ) в виде ( , , , , ) = ( ’).

55

Доказательство. Зададим функцию ρ соотношениями =

(0, , , , ) = 2 ∙ 3 ∙ 5 ∙ 7 ;

(1, , , , ) = 2( ) ∙ 3 ∙ 5( )∙ ( )+¬( ( )) ∙ 7 + ln( );

(2, , , , ) = 2∙+ ∙ 3 ∙ 5¬( ( ))+ ( ) × ( ) ∙ 7( );

( , , , , ) = ¬( ( )) ∙ (0, , , , ) + ¬( )| − 1| ∙ (1, , , , ) + ¬( )| − 2| ∙ (2, , , , ),

где ln(x) обозначается длину слова с номером x, а остальные обозначения поясняются ниже. Функция ln(x) примитивно-рекурсивна, так как ln(x) = μz≤ x[¬(sg)(x÷α(z)) = 0], где α(n) обозначает количество всех слов длины, не превосходящей n, α(n) =∑ni=0 pi.

Функция α(n) примитивно-рекурсивна в силу последнего равенства, где p

– число букв в алфавите ∑. При длине слова w равной n выполняются неравенства

α(n-1)≤ (w) < α(n)

При этом в формулах выше для ρ номер последней буквы слова х обозначен lt(x), где lt(0) = 0. Эта функция lt(x) выражается в виде примитивно-рекур- сивной функции lt(x) = b(x,0). В свою очередь функция b(x,n) задается следующим образом. Возьмем какое-либо слово w = ajs…ajo с номером ν(w) = x и положим b(x,n) = jn для каждого n = 0,1...,s ; также b(x,n) = 0 при x=0 или n > s.

При x ≠ 0 выполняется равенство

b(x,0) = sg(rest(x,p)) · rest(x,p) + ̅̅̅ (rest(x,p) · p;

 

b(x,n+1) = sg(rest([

 

] ÷ [

(, )

],

p)∙ ([

 

] ÷ (

(, )

) , ] +

̅̅̅

+1

 

+1

 

(rest([

 

] ÷ [

(, )

], p) · p

 

 

 

 

 

 

+1

 

 

 

 

 

 

 

при n+1 S, следовательно, функция b(x,n) примитивно-рекурсивна.

Для непустого слова W = W1As с номером ν(W) = x через h(x) обозначим номер слова W1, где h(0)=0. Тогда получим h(x) = [÷( )], так как ν(W1)= [ ],

следовательно, функция h(x) примитивно-рекурсивна.

56

Функция lh(x) обозначает номер первой буквы непустого слова с номером x, где lh(0)=0. Поскольку lh(x) = b(x,ln(x÷1)), то функция lh примитивно-рекур- сивна.

Для непустого слова w = asw1 с номером х функция t(x) полагается равной номеру слова w1, где t(0)=0.

Представим эту функцию в виде t(x)= =0 ( , ) ∙ , следовательно, она тоже примитивно-рекурсивна.

Таким образом, все функции, участвующие в представлении функции ρ примитивно-рекурсивны. Из представления ρ вытекает, что она тоже является примитивно-рекурсивной функцией.

Предложение 9. Имеется пятиместная функция такая, что они прими-

тивно-рекурсивна и ( , , , , ) = ( ’ ), где t – номер машины М, m = AqiajB – конфигурация машины М, u = (A), W = (B).

Доказательство. Из определений функции ex, номерa машины t и функции с вытекает, что ex(c(i,j),t) – номер команды qiaj |qk , где k = ex(0, ex(c(i,j),t)) ; =ex(1,ex(c(i,j),t)) ; S()=ex(2,ex(c(i,j),t)). Применение предложения 8 приводит к выражениям:

( , 0, , , ) = 2 ∙ 30 ∙ 5 ∙ 7 и

( , , , , ) = ( (2, ( ( , ), ))),

ex(0, ex(c(i,j),t)), ex(1, ex(c(i,j),t)), u,w) при i > 0.

Предложение 10.

Значение ( ) можно вычислить с помощью двухместной примитивно-рекур-

сивной функции , исходя из номера t машины M и номера x конфигурации m по формуле

(

) = ( , ).

 

 

 

 

Доказательство. Поскольку = ,

 

 

 

Σ(А) = (0, );

= (1, );

= (2, );

Σ( ) = (3, ), то в силу предложения 9 выполняется формула:

( , ) = ( , (1, ), (2, ), (0, ), (3, )).

57

Предложение 11. Пусть 0

= ,

+1

= ( ),

 

 

 

 

t – номер машины M, x – номер конфигурации m, тогда существует трехместная

примитивно-рекурсивная функция w для вычисления ν( ) по формуле

ν( ) = ( , , ).

 

Доказательство. Это вытекает их предложения 10 и равенств ( , , 0) =

;

( , , + 1) = ( , ( , , )).

Предложение 12. Предположим, что машина Тьюринга M с номером t0 чисто вычисляет n-местную частичную функцию f.

Тогда для всяких натуральных чисел x1, …, xn значение функции f(x1, …, xn)

определено

в том

и

только том случае, когда существует y такое, что

(1,

( , ( , … ,

), )) = 0,

 

0

1

 

 

где – функция фигурирующая в предложении 7.

Доказательство. Поскольку машина Тьюринга M чисто вычисляет функцию , то значение (x1, …, xn) задается тогда и только тогда, когда машина Тьюринга M начинает работу с конфигурации = 1# 1 2 и за конечное число шагов y переходит в заключительное состояние q0 с конфигурацией

# … # 0 # ( 1, … , )# … #.

Согласно предложению 7 число ( 1, … , ) является номером конфигурации m, тогда как значение ( 0, ( 1, … , ), ) – это номер заключительной конфигурации, как утверждает предложение 11.

Таким образом, (1, ( 0, ( 1, … , ), )) = 0 (см. определение номера конфигурации ν( ) и функции ( , ) выше).

Предложение 13. Если машина Тьюринга M с номером t0 чисто вычисляет n-местную частичную функцию f, то

( 1, … , ) 2 ( (3, ( 0, ( 1, … , ), +1( 0, 1, … , ))))

для любых натуральных чисел 1, … , , где

+1( 0, 1, … , ) [ ( , ( 0, ( 1, … , ), )) = 0], а

( ) обозначает число вхождений буквы aj в слово с номером x.

58

Доказательство. Функция ( ) примитивно-рекурсивна, так как ( ) =

ln=0( )÷1 | ( , ) − |,где функции b и ln те же что и в доказательстве предложения 8. Вычисление (x1, …, xn) машиной Тьюринга M подразумевает, что началь-

ной является

конфигурация

#

 

, а заключительной

 

 

1

1

2

 

# … #

# ( , … , )# … #. При этом ( , … , ) равняется номеру началь-

0

1

 

 

1

 

ной конфигурации, тогда как функция +1 задает номер шага при работе машины M на исходном данном 1 на котором машина M переходит в заключительное состояние 0. Это означает, что +1( 0, 1, … , ) совпадает с количеством шагов в вычислении (x1, …, xn) на машине Тьюринга M, причем( 0, ( 1, … , ), +1( 0, 1, … , )) – это номер заключительной конфигура-

ции. Тогда (3, ( 0, ( 1, … , ), +1( 0, 1, … , ))) является номером слова

( 1, … , )# … #. С другой стороны,

(x1, …, xn) равняется количеству единиц в этом слове,

( 1, … , ) = 2( (3, ( 0, ( 1, … , ), +1( 0, 1, … , ))))

Итак, если (x1, …, xn) определено, то условное равенство утверждения данного предложения выполняется.

Предположим, что (x1, …, xn) не определено , тогда работа машины M

продолжается

на

и

при

любом y конфигурация

с номером

 

 

 

 

1

 

 

 

 

 

 

 

( , ( , … ,

 

), )

 

не

является

заключительной

и

равенство

0

1

 

 

 

 

 

 

 

 

 

(1, ( , ( , … ,

), )) = 0

не выполняется. То

есть,

выражение

 

0

1

 

 

 

 

 

 

 

 

 

+1(

, , … ,

) не определено.

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

Таким образом, в этом случае обе части условного равенства не опреде-

лены.

Окончание доказательства теоремы 1.

Функция 2( (3, ( 0, ( 1, … , ), +1( 0, 1, … , ))))

частично-рекурсивная. Из последнего предложения вытекает, что каждая числовая функция, которая вычислима на машине Тьюринга, также частично-рекур- сивна.

Замечание 3. Частично-рекурсивные функции довольно хорошо устроены: любую частично-рекурсивную функцию f можно записать с помощью одного оператора минимизации и одной подстановки, исходя из двух примитивно-ре- курсивных функций. При этом одна примитивно-рекурсивная функция зависит

59

от , а другая фиксирована. Это составляет содержание нижеследующей теоремы Клини. В ней фиксированной является примитивно-рекурсивная функция

.

16. Лекция 16. Представления частично-рекурсивных функций.

Теорема 2. Любая n-местная частично-рекурсивная функция представима в виде

( 1, … , ) ( [ ( 1, … , , ) = 0]),

где F – примитивно-рекурсивная функция, которая может зависеть от , ( ) обозначает левую компоненту пары с номером n.

Доказательство. Для пары натуральных чисел x и y ее номер = ( , ) дается канторовской функцией, ( ) = , ( ) = , где ( ) – обозначает правую компоненту пары (x, y). Тогда выполняется неравенство:

+ + 1 ≤ [√8 +1]+1 < + + 2,

2

так как 2 = 2 + 2 + 2 + 3 + ,

8 + 1 = (2 + 2 + 1)2 + 8 и 8 + 1 = (2 + 2 + 3)2 − 8 − 8

Поэтому + + 1 = [[√8 +1]+1], 2

следовательно,

 

 

 

 

 

 

 

 

 

 

 

( ) = = ÷

1 [√8 + 1] + 1

] ∙ [

[√8 + 1] ÷ 1

],

 

[

 

 

 

 

 

 

2

 

2

 

2

 

так как ( , ) = [( + )( + +1)] + 2

Итак, функция ( ) примитивно-рекурсивна. В силу теоремы 1 каждая ча- стично-рекурсивная функция вычислима на машине Тьюринга.

60