Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CHast_11_Produkcionnye_sistemy.doc
Скачиваний:
12
Добавлен:
22.09.2019
Размер:
556.03 Кб
Скачать

Теорема 9.3

Пусть  такое множество слов в основном алфавите A, что множества слов и A* \ выводятся в системах Поста 1 и 2.

Тогда существует алгоритм, который по любому слову A* за конечное число шагов работы определяет принадлежность множеству .

Доказательство

Приведем описание процедуры, позволяющей распознавать слова, содержащиеся во множестве .

Воспользуемся двумя экземплярами алгоритма построения всех конечных выводов в произвольных системах Поста.

С помощью первого из этих алгоритмов будем строить все такие выводы в системе 1, а с помощью второго  все выводы в системе 2.

Такие два параллельно работающих алгоритма позволяют последовательно выводить все слова из множеств и A* \ .

Поскольку произвольное A* содержится либо во множестве , либо в дополнении этого множества, то содержится либо в выводах системы 1, либо в выводах системы 2.

В первом случае  . Во втором случае  A* \ .

Поэтому для любого  A* за конечное число шагов работы приведенного алгоритма устанавливается принадлежность множеству . Значит, множество является разрешимым.

Доказательство окончено.

Ранее уже отмечалось, что множество классов слов, выводимых в системах Поста, не является замкнутым относительно операции взятия дополнения до множества всех слов в заданном основном алфавите. Такое свойство множеств выводимых слов связано существованием неразрешимых множеств слов, выводимых в системах Поста.

9.7. Функции, вычисляемые системами поста

Пусть = (A, B, V, P)  система Поста, основной алфавит, который вместе с другими символами содержит символы f, ), ( и символ запятой  ,. Здесь f  функциональный символ, обозначающий некоторую функцию.

Определение

Словарная функция f:(A*)nA* вычисляется системой , если: 1, . . . , n A* (f( 1, ... , n) = n+1 в системе выводится слово ″f( 1, ... , n) = n+1″),

То есть функция f, вычисляемая системой Поста , отображает набор ( 1, . . . , n), составленный из  слов в алфавите A, в слово n+1 в том же алфавите тогда и только тогда, когда в выводима запись: ″f( 1, ... , n) = n+1″.

Иначе говоря, в системе выводятся записи таких слов, которые представляют график отображения f.

Аналогично определяется понятие числовой функции, вычисляемой в некоторой системе Поста .

Пусть обозначает двоичную запись числа m .

ОПРЕДЕЛЕНИЕ

Числовая функция f:N kN вычисляется системой , если  m1, ... , mk N(f(m1, ... , mk) = mk+1 в системе выводится слово “f( 1, ... , k) = k+1“).

В качестве примера рассмотрим систему Поста, в которой вычисляется функция следования S(x) = x + 1.

Такая система имеет вид: = (A, B, V, P), где A = {0, 1, S, (, ), =}, B = {N}, V = {x, y}, а P  это следующие продукции.

1. Вспомогательные продукции, позволяющие выводить только правильные записи чисел из N в двоичной системе:

1: N 0, 2: N1, 3: N10, 4: N 11,

5: , 6: .

2. Продукция, задающая правило прибавления единицы к четным числам:

7: ;

3. Продукция, задающая правило прибавления единицы к нечётным числам (запись которых заканчивается единицей):

8: .

В частности, следующая последовательность образует вывод слова S(101) = 110:

1. N1 аксиома 2;

2. N10 из N1 с помощью 5;

3. N101 из N10 с помощью 6;

4. S(10) = 11 из N10 с помощью 7;

5. S(101) = 110 из N10 и S(10) = 11 с помощью 8.

В приведенной системе вычисляется достаточно простая арифметическая функция. Однако добавление к ней небольших количеств новых продукций, использующих другие функциональные символы, позволяет получать системы Поста, вычисляющие новые, в том числе более сложные, числовые функции.

Например, для вычисления функции p(x, y) = x + y достаточно добавить к уже имеющимся продукциям следующие новые продукции:

9: ; 10: .

В продукции 9 представлено правило прибавления к произвольному числу минимального неотрицательного целого числа.

В 10 записано рекурсивное правило сложения двух произвольных чисел, использующего значение суммы первого числа и числа на единицу меньше, чем второе слагаемое.

Продукции 9 и 10 соответствуют рекурсивному определению функции p(x, y). Из них продукция 9 задаёт граничное условие, а 10 представляет рекурсивное правило, в котором значение p(x, y) выражается через значение p(x, v), где v = y 1.

Используя продукции, позволяющие вычислять функции S и p, можно определять системы Поста, в которых вычисляются и другие функции.

Например, функция усеченной разности: d(x, y) = x y вычисляется с помощью двух продукций, добавляемых к продукциям 1  10:

11 : , 12 : .

Множество всех числовых функций, вычисляемых системами Поста, совпадает с классом частично-рекурсивных функций.

Справедливость приведенного утверждения следует из теоремы 9.4.

ТЕОРЕМА 9.4

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

Доказательство

Проведем доказательство сформулированной теоремы по этапам определения частично-рекурсивных функций.

1. Покажем, что все примитивные функции вычисляются системами Поста.

Действительно, функция O(x) вычисляется с помощью продукции : , добавленной к рассмотренным ранее продукциям 1  6, позволяющим выводить все правильные двоичные записи натуральных чисел.

Функция S(x) вычисляется с помощью продукций 1  8, а (x1, . . . , xn) вычисляется с помощью дополнительной продукции

.

2. Покажем, что всякая суперпозиция функций, вычислимых системами Поста, вычисляется в некоторой системе Поста.

Пусть заданы функции

f(x1, . . . , xn), 1(x1,1, . . . , x1,m1), . . . , n(xn,1, . . . , xn,mn), которые вычисляются системами Поста 0, 1, . . . , n соответственно.

Покажем, что функция h(xi1, ... , xik ) =

= f(1(x1,1, . . . , x1,m1), . . . , n(xn,1, . . . , xn,mn)),

где xi1, . . . , xik  все различные переменные функций 1, . . . , n, также вычислима некоторой системой Поста.

Обозначим как G0, G1, . . . , Gn  вспомогательные символы, которые не встречаются среди символов алфавитов систем Поста 0, 1, . . . , n.

Модифицируем продукции этих систем Поста, приписав всем образцам каждой продукции из i слева символ Gi.

Рассмотрим систему Поста , продукциями которой являются все модифицированные продукции систем 0, 1, . . . , n, а также продукция

.

Очевидно, что вычисляет функцию h.

3. Покажем, что всякая функция, выражаемая через функции, вычислимые системами Поста с помощью операции примитивной рекурсии, вычисляется некоторой системой Поста.

Пусть функция f выражается через функции g и h с помощью операции примитивной рекурсии

f(x1, ... , xn, 0) = g(x1, ... , xn)

f(x1, ... , xn, y + 1) = h(x1, ... , xn, f(x1, ... , xn, y)).

Пусть функции g и h вычисляются системами Поста g и h.

Возьмем два вспомогательных символа Gg и Gh, не встречающиеся среди символов алфавитов систем g и h.

Модифицируем продукции систем g и h, приписывая всем образцам в них слева соответственно символы Gg и Gh.

Рассмотрим систему Поста f , в которую включим модифицированные продукции систем g и h, продукции системы, вычисляющей функцию S(x) = x + 1, помеченные еще одним вспомогательным символом Gs. Для этого символа также предполагаем, что он не встречается среди символов всех рассматриваемых систем Поста.

Добавим к этим продукциям еще две

; (1)

(2).

Нетрудно видеть, что такие продукции соответствуют соотношениям схемы примитивной рекурсии, а Pf вычисляет функцию f.

4. Покажем, что если функция f выражается через функцию, вычислимую некоторой системой Поста, с помощью операции минимизации, то она также вычисляется некоторой системой Поста.

Пусть f(x1, . . . , x n+1) = t(g(x1, . . . , xn, t) = xn+1) и функция g(x1, . . . , xn+1) вычисляется продукционной системой g. Построим систему Поста f, которая вычисляет f(x1, . . . , xn+1).

Включим в f продукции систем, вычисляющих функции S(x) и g(x1, ... , xn+1), а также добавим к ним продукции такой системы Поста, в которой выводятся пары неравных целых неотрицательных чисел: x <> y. Построение такой системы предлагалось ранее в упражнении.

Модифицируем такие продукции так, чтобы никакие слова, выводимые в одной системе, не могли использоваться в качестве посылок продукций других систем. Например, это можно сделать, приписывая образцам продукций разных систем разные вспомогательные символы.

Добавим к указанным продукциям новые продукции:

(1)

(2)

; (3)

.(4)

Эти продукции позволяют вычислять вспомогательную функцию , которая принимает значение 0 только для такого наименьшего значения t, при котором g (x1, ... , xn , t) = x n+1 и все значения g(x1, ... , xn, i) для i < t являются определенными.

Для вычисления значений функции f используются следующие две продукции:

; (5)

. (6)

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

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

Поскольку все простейшие функции вычислимы системами Поста и применение перечисленных операций к функциям, вычислимым системами Поста, приводит к функциям, вычислимым такими системами, то теорема доказана.

Доказательство окончено.

Доказанная теорема позволяет сформулировать следующее утверждение: всякая интуитивно вычислимая числовая функция может быть вычислена подходящей системой Поста.

Этот тезис носит название тезиса Поста. Его справедливость следует из тезиса Черча и доказанной возможности вычисления всякой частично-рекурсивной функции с помощью систем Поста.

Следовательно, функциональные возможности систем Поста такие же, как и у программ, составленных на одном из универсальных языков программирования. Совпадение множеств функций, вычисляемых системами Поста, и частично рекурсивных функций позволяет использовать знания, о рекурсивных функциях при изучении возможностей систем Поста. Например, рассмотрим задачу о выводимости в системах Поста множества слов, являющегося дополнением множества слов, выводимых в некоторой системе Поста.

Теорема 9.5. Существует система Поста = (A,B,V,P), такая что множество (AB)* \ не является множеством слов выводимых в системах Поста.

Доказательство.

Пусть U(n, x) универсальная частично рекурсивная функция для множества всех одноместных частично рекурсивных функций, определенная в главе 8. Рассмотрим вспомогательную функцию:

Поскольку функция h является вычислимой, то существует вычисляющая h система Поста Пh = (Ah, Bh, Vh, Ph), и не существует системы Поста ПH = (AH, BH, VH, PH), такой что Ah = AH и = (Ah)* \ .

Последнее утверждение является верным, поскольку существование системы ПH влечет разрешимость множества A1={(n, x)значение fn(x) определено}, определенного в главе 8. Характеристическую функцию этого множества можно вычислять с помощью следующего алгоритма:

1. Пусть требуется определить принадлежность элемента множеству (n, x) A1.

2. С помощью алгоритмом построения всех конечных выводов в произвольных системах Поста организуем последовательное заполнение множеств и .

3. Продолжаем процесс до тех пор, пока или не будет включено слово h(n, x) = 1.

4. Если слово h(n, x) = 1 добавляется во множество , то (n, x) A1. Если слово h(n, x) = 1 добавляется во множество , то (n, x) A1.

Поскольку слово h(n, x) = 1 обязательно выводится в одной из систем Поста или , то приведенная процедура за конечное число шагов определяет принадлежность произвольной пары (n, x) множеству A1.

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

266

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