Нормальные алгоритмы Маркова Рассмотрим алфавит A

advertisement
Нормальные алгоритмы Маркова
Рассмотрим алфавит A. Множество слов этого алфавита обозначим через A∗ .
Число букв в слове P ∈ A∗ называется его длиной.
Будем считать существующим и пустое слово, не содержащее букв, и обозначать его через Λ. Его
длина считается равной 0. Пустое слово можно вставлять между любыми двумя буквами данного
слова.
Говорят, что слово P входит в слово Q, если Q имеет вид P1 P P2 . При этом слова P1 и P2 могут
оказаться пустыми, и тогда P просто совпадает с Q.
Пусть слово P входит в слово Q несколько раз. Выберем такое вхождение, при котором число
символов в слове Q, стоящих слева от слова P , наименьшее. Это вхождение слова P в слово Q называют
первым.
Пусть A – некоторый алфавит, не содержащий стрелки "→" и точки "." в качестве букв. Простой
формулой подстановки в алфавите A называют слово P → Q (в расширенном алфавите A0 = A∪{→, .}),
где P, Q ∈ A∗ , а заключительной формулой подстановки – слово P → ·Q, где P, Q ∈ A∗ . Слово P
называется левой, а слово Q – правой частью подстановки P → γQ, где γ ∈ {·, Λ}.
Результатом применения подстановки P → Q к слову R = P1 P P2 называется слово R0 = P1 QP2 .
Определение. Конечная упорядоченная система подстановок

P → γ1 Q1 ,


 1
P2 → γ2 Q2 ,
(1)
..,



Pn → γn Qn ,
где Pi , Qi ∈ A∗ , γi ∈ {·, Λ}, i = 1, .., n, называется нормальной схемой в алфавите A.
Определение. Нормальным алгоритмом в алфавите A, задаваемым нормальной схемой (1),
называется алгоритм, преобразующий слова в алфавите A следующим образом.
Пусть дано слово P ∈ A∗ .
1) Если среди формул из (1) нет ни одной, у которой левая часть входит в P , то процесс применения
алгоритма к слову P считается законченным и результатом считается само число P .
2) Если среди формул из (1) есть такая, у которой левая часть входит в P , то берем самую верхнюю
из формул с таким свойством; пусть это формула Pi → γi Qi . Для нее выбираем первое вхождение слова
Pi в слово P ; пусть это представление P = P 0 Pi P 00 ; для него выполняем подстановку
P → P̃ = P 0 Qi P 00 .
3) Если примененная формула Pi → γi Qi была заключительной (т.е. γi = ·), то процесс считается
законченным и результатом применения алгоритма к слову P считается слово P̃ .
4) Если Pi → γi Qi была простой (т.е. γi = Λ), то к слову P̃ применяется предыдущая процедура (т.е.
переходим к пункту 1), т.е. процесс применения алгоритма продолжается.
Возможно, что описанный процесс никогда не закончится. В таком случае говорят, что нормальный
алгоритм не применим к слову P .
Определение. Функцию f (x1 , x2 , .., xn ) будем называть вычислимой по Маркову, если существует
нормальный алгоритм в некотором конечном алфавите A, содержащем символы 1 и ∗, который
применим к слову
1...1
|{z} ∗ ... ∗ 1...1
|{z}
|{z} ∗ 1...1
x1
x2
xn
(1...1
|{z} в случае n = 1) тогда и только тогда, когда (x1 , x2 , .., xn ) ∈ D(f ), при этом результатом
x1
применения алгоритма является слово
1...1
|{z}
.
f (x1 ,x2 ,..,xn )
Возникает естественный вопрос: всякая ли интуитивно-вычислимая функция является вычислимой
по Маркову? Ответ на него дает тезис Маркова (Черча–Маркова): всякая интуитивно-вычислимая
функция вычислима по Маркову.
Теорема. Следующие утверждения эквивалентны:
(i) функция f (x1 , .., xn ) частично рекурсивна;
(ii) функция f (x1 , .., xn ) вычислима по Тьюрингу:
(iii) функция f (x1 , .., xn ) вычислима по Маркову.
(без доказательства)
1
Download