Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TA.docx
Скачиваний:
88
Добавлен:
15.02.2015
Размер:
257.28 Кб
Скачать

20. Вычислимость по Тьюрингу частично рекурсивных функций.

Теорема. Если функция f(x,y) правильно вычислима на машине Тьюринга, то и функция φ(x)=μy[f(x,y)=0], получающаяся с помощью оператора минимизации из функции f(x,y), также правильно вычислима на машине Тьюринга.

Доказательство: Обозначим F – машину Тьюринга, правильно вычисляющую функцию f(x,y). Используя ее, сконструируем такую машину Тьюринга, которая для заданного значения x вычисляет последовательно значения f(x,0), f(x,1), f(x,2), … до тех пор, пока в первый раз получится f(x,i)=0. После этого машина должна выдать на ленту число i, представляющее собой значение функции φ(x)=i. Если же для всех i будет иметь место f(x,i)>0,то машина должна будет работать вечно, и это будет означать, что функция φ не определена в точке x. начальная конфигурация на конструируемой машине такова: q101x0. Будем мыслить ее следующим образом q101x010 и начнем с применения к ней машины “копирование” К2. Получим конфигурацию 01x010q101x010. Теперь вычислим значение f(x,0), применив машину

F: 01x010qα01f(x,o).

Далее подбираем команды, которые при условии f(x,i)>0 преобразовывают конфигурацию 01x01iq01f(x,i) в конфигурацию 01x01i+1q01f(x,i+1):

qα0→ qα+10П: 01x0100 qα+1 1f(x,o);

qα+11→ qα+20: 01x0100 qα+2 1f(x,o)-1;

qα+20→ qα+30Л: 01x010qα+3 001f(x,o)-1;

qα+30→ qα+41: 01x010qα+4 101f(x,o)-1;

qα+41→ qα+51П: 01x0110 qα+5 01f(x,o)-1;

О: 01x011q0;

-)2: 01x011q 01x011;

F: 01x011 qβ 01f(x,1);

qβ0→ qα0: 01x011 qα 01f(x,1);

Последняя команда зацикливает программу, и машина от конфигурации 01x011 qα 01f(x,1) переходит к конфигурации 01x012 qα 01f(x,2) , затем к конфигурации 01x013 qα 01f(x,3) и т.д. Допустим, что на некотором шаге машина домтагла конфигурации 01x01i qα 01f(x,i), при которой f(x,i)=0. Это значит, что φ(x)=i и машина должна выдать этот результат. Число i yнакоплено в «счетчике» 01i. Поэтому поступаем следующим образом. Уже имеющаяся команда qα0→ qα+10П приведет машину к конфигурации 01x01i 0qα+10. Следующие команды выдают на ленту необходимую конфигурацию q001i, т.е. q001φ(x):

qα+10→ qγ0: 01x01i 0qγ0;

-)2: 01x qγ 01i 0;

ВО Б-: qδ 01i ;

q δ 0→ q00: q001φ(x)

Теорема доказана.

Теорема 2. Если функция вычислима по Тьюрингу, то она частично рекурсивна.

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

22. Нормальные алгоритмы Маркова и их применение к словам.

Марковские подстановки. Алфавитом (как и прежде) называ­ется любое непустое множество. Его элементы называются буква­ми, а любые последовательности букв — словами в данном алфа­вите. Для удобства рассуждений допускаются пустые слова (они не имеют в своем составе ни одной буквы). Пустое слово будем обозначать . Если А и Bдва алфавита, причем АB то алфа­вит В называется расширением алфавита А.

Определение 1. Марковской подстановкой называется опера­ция над словами, задаваемая с помощью упорядоченной пары слов (Р, Q), состоящая в следующем. В заданном слове R находят первое вхождение слова Р (если таковое имеется) и, не изменяя остальных частей слова R, заменяют в нем это вхождение словом Q. Полученное слово называется результатом применения марковской подстановки (Р, Q) к слову R. Если же первого вхождения Р в слово R нет (и, следовательно, вообще нет ни одного вхожде­ния Р в R), то считается, что марковская подстановка (Р, Q) неприменима к слову R.

Нормальные алгоритмы и их применение к словам. Упорядо­ченный конечный список формул подстановок

в алфавите А называется схемой (или записью) нормального ал­горитма в А. (Запись точки в скобках означает, что она может стоять в этом месте, а может отсутствовать.) Данная схема определяет (детерминирует) алгоритм преобразования слов, называемый нормальным алгоритмом Маркова. Дадим его точное опре­деление.

Определение 2. Нормальным алгоритмом (Маркова) в алфавите А называется следующее правило построения последовательности Vi слов в алфавите А, исходя из данного слова V в этом алфавите. В качестве начального слова V0 последовательности бе­рется слово V. Пусть для некоторого i >= 0 слово Vi построено и процесс построения рассматриваемой последовательности еще не завершился. Если при этом в схеме нормального алгоритма нет формул, левые части которых входили бы в Vi , то Vi+1 полагают равным Vi и процесс построения последовательности считается завершившимся. Если же в схеме имеются формулы с левыми ча­стями, входящими в Vi, то в качестве Vi+1, берется результат мар­ковской подстановки правой части первой из таких формул вме­сто первого вхождения ее левой части в слово Vi; процесс постро­ения последовательности считается завершившимся, если на дан­ном шаге была применена формула заключительной подстанов­ки, и продолжающимся — в противном случае. Если процесс построения упомянутой последовательности обрывается, то говорят, что рассматриваемый нормальный алгоритм применим к слову V. Пос­ледний член W последовательности называется результатом при­менения нормального алгоритма к слову V. Говорят, что нормальный алгоритм перерабатывает V b W.

Последовательность Vi, будем записывать следующим образом:

V0 => V0 => V2 => ... => Vm-1 => Vm,

где V0 = V и Vm = W.

Мы определили понятие нормального алгоритма в алфавите А. Если же алгоритм задан в некотором расширении алфавита А, то говорят, что он есть нормальный алгоритм над А.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]