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

9.2.1. Способы представления выводов

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

Пример. Рассмотрим систему Поста, продукции которой содержат знания для вывода (построения) путей между вершинами графов.

Задание конкретного графа выполняется с помощью продукций-аксиом, задающих его ребра, и имеющих вид: (a, b), где a начало ребра, а b его конец.

Например, рассмотрим граф G, приведенный на рис. 9.1:

a2

a1 a3

G

a4 a5

a6 a7

Рис. 9.1

Ребра приведенного графа задаются следующими продукциями:

1  8:

(a1, a2), (a2, a3), (a1, a4), (a3, a4),

(a4, a5), (a4, a6), (a3, a7), (a6, a7).

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

9: .

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

10: ;

11: .

Здесь слово way(x, y, z) означает, что z  это путь из x в y.

Продукция 10 представляет простейшее правило существования пути, записываемого как xy, между вершинами x и y, связанными между собой отдельными ребрами.

В продукции 11 представлено свойство транзитивности путей в графе, которое состоит в том, что если из вершины x в вершину y ведёт путь uy, а из вершины y в вершину z ведет путь yw, то x и z соединяет путь uw.

Данная система Поста состоит из:

1) основного алфавита A ={(, ), “,”, way, a1, . . . , a7};

2) алфавита переменных V ={x, y, z, u, w};

3) множества продукций P = {1, ... , 11}.

(Отметим, что символ запятой является элементом множества A.)

Рассмотрим вывод слова, содержащего путь между вершинами a 1 и a 7 в графе G.

  1. (a1, a4)  применение аксиомы 3;

  2. way(a1, a4, a1a4)  получается применением продукции 10 к уже выведенному слову (a1, a4);

  3. (a3, a4)  применение аксиомы 4;

  4. (a4, a3)  получается применением продукции 9 к слову (a3, a4);

  5. way(a4, a3, a4a3)  применением продукции 10 к слову (a4, a3);

  6. way(a1, a3, a1a4a3)  получается с помощью 11, применённой к словам:

way(a1, a4, a1a4) и way(a4, a3, a4a3);

  1. (a3, a7)  аксиома 7;

  2. way(a3, a7, a3a7)  выводится из слова (a3, a7) применением продукции 10;

  3. way(a1, a7, a1a4a3a7)  выводится с помощью продукции 11 из слов

way(a1, a3, a1a4a3) и way(a3, a7, a3a7).

Подобным образом можно обосновывать всякий вывод в этой и любой другой системе Поста.

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

1, 2, ... , i, ... "и так далее".

Возможно также использование записи вывода без объяснений, если в них нет необходимости.

При этом приведенный вывод перепишется как:

1) (a1, a4);

2) way(a1, a4, a1a4);

3) (a3, a4);

4) (a4, a3);

5) way(a4, a3, a4a3);

6) way(a1, a3, a1a4a3);

7) (a3, a7);

8) way(a3, a7, a3a7);

9) way(a1, a7, a1a4a3a7).

Другим удобным и применяемым способом представления выводов в произвольных системах Поста являются деревья вывода.

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

Всякая вершина дерева соединена с другими вершинами дерева с помощью ориентированных ребер по следующему правилу.

1. Если является применением некоторой аксиомы , то дерево вывода этого слова имеет вид ( рис. 9.2):

Рис. 9.2.

2. Если D1, . . . , Dk  это деревья вывода слов 1, . . . , k и применение продукции  к этим словам позволяет вывести слово k+1, то дерево вывода такого слова имеет вид (рис. 9.3):

D1 D2 Dk

1 2 . . . k

k+1

Рис. 9.3

Из определения дерева вывода следует, что если одно и то же слово применяется в выводе для получения нескольких разных слов, то дерево вывода содержит столько вершин, помеченных этим словом, сколько раз оно используется в выводе.

Кроме того, всякая вершина дерева, помеченная словом в основном алфавите, является корнем поддерева, являющегося деревом вывода этого слова.

Для приведенного выше примера вывода слова, представляющего путь из вершины a1 в вершину a7, соответствующее дерево вывода имеет вид, приведенный на рис.9.4:

3 4

(a1, a4) (a3, a4)

10 9

way(a1, a4, a1a4) (a4, a3)

10

11 way(a4, a3, a4a3) 7

way(a1, a3, a1a4a3) (a3, a7)

10

11 way(a3, a7, a3a7)

way(a1, a7, a1a4a3a7)

Рис.9.4

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

Приводимые далее продукции реализуют определение отношения "больше" на множестве неотрицательных целых чисел.

1. Если длины записей сравниваемых чисел  разные, то запись большей длины представляет большее число.

2. Если длины записей сравниваемых чисел равны, то большим является такое число, в котором раньше встречается разряд, по значению больший соответствующего разряда другого слова при поразрядном сравнении слов слеванаправо.

АКСИОМЫ: 1: 0 < 1, 2: 1 < 10, 3: 1 < 11.

Остальные продукции, разбитые на четыре группы:

1) 4: , 5: ,

2) 6: , 7: , 8: ,

9: ,

3) 10: , 11: ,

4) 12: , 13: .

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

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

1. Непосредственно проверяется, что заключение всякой из продукций 1  13 представляет верное неравенство “меньше” для пары чисел, если посылка такой продукции представляет собой верное неравенство.

Следовательно, множество слов, выводимых в приведенной системе, представляет часть отношения “<“ между целыми неотрицательными числами.

2. Пусть 1 ... m и 1 ... n  двоичные записи натуральных чисел, между которыми выполнено отношение “<“.

2.1. Если m < n, то вывод слова 1 . . . m < 1 . . . n начинается либо со слова 1 < 12, если 1 = 1, являющегося применением одной из продукций 2, 3 , либо со слова 1 < 1, если 1 = 0, являющегося применением продукции 1.

После этого с помощью продукций 4  9 можно достроить начальное слово до слова 1 … m < 1 ... m+ 1.

Затем с помощью продукций 10  11 полученное слово можно достроить в слово 1 ... m < 1 . . . n.

2.2. Если m = n, то найдем такое наименьшее i, что i < i.

Начнем вывод слова 1 ... n < 1 . . . n со слова i < i, являющегося применением продукции 1.

Затем с помощью продукций 12 и 13 можно вывести слово 1 . . . i < 1 . . . i, для которого j = 1,...,i-1(j = j). Процесс вывода этого слова начинается с применения продукции 13, которая добавляет первые слева от i и i единицы. Затем с помощью необходимого числа повторных применений продукции 12 можно разместить в обоих числах все нули между i и i и первыми единицами слева. Затем выполняется вставка в 1 . . . m и 1 . . . n следующих единиц левее i и i с последующим размещением нулей и т.д. пока не будут построено слово 1 ...  i < 1 . . .  i

Из полученного слова с помощью продукций 6  9, позволяющих добавлять в них справа по одну символу можно вывести окончательное слово 1 ... n < 1 . . . n.

Следовательно, множество слов, выводимых в приведенной системе продукций 1 13, совпадает с множеством слов, которые представляют отношение“<“ между целыми неотрицательными числами.

Упражнение. 1.Добавить к продукциям 1  13 такие новые продукции, которые позволяют дополнительно выводить все слова вида x<>y, где x и y  неравные числа представленные в двоичной системе счисления. 2. Определить систему Поста, в которой выводятся слова вида x = y, где x и y записи неотрицательных целых чисел в двоичной системе.

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