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

9. Продукционные системы

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

9.1. Продукции и системы поста

Пусть А, B и V три непересекающихся конечных алфавита, причем А B , которые называются соответственно основным алфавитом, вспомогательным алфавитом и алфавитом переменных.

В дальнейшем всегда будет предполагаться, что АB  2.

Всякое слово, составленное из символов алфавитов А, B и V, называется образцом.

Слово (AB)* называется применением образца t, если существует подстановка = , где x1, . . . , xk все различные символы переменных, входящих в t, а 1, . . . , k непустые слова в алфавите А B, что слово получается из t заменой каждого вхождения символов переменных x1, . . . , xk на соответствующие им слова в подстановке .

Применение подстановки к образцу t обозначается как t.

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

Например, если A = {0, 1}, B = , V = {x}, то образец t = 1x0 представляет все правильные записи не менее чем трехразрядных четных двоичных чисел. Образец x1x представляет двоичные последовательности, составленные из двух одинаковых последовательностей разделенных 1.

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

ТЕОРЕМА 9.1

Множества применений образцов t1 и t2 Ut1 и Ut2 совпадают тогда и только тогда, когда t1 и t2 совпадают с точностью до переименования переменных.

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

Необходимость. () Покажем, что если Ut1 = Ut2, то образцы t1 и t2 совпадают с точностью до переименования переменных.

Пусть Ut1 = Ut2. Без ограничения общности можно считать, что множества символов переменных в образцах t1 и t2 не пересекаются.

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

Пусть t1 = 1, ... , k и t2 = 1, ... , k.

Произведем последовательное посимвольное сравнение t1 и t2 слева направо.

При этом возможны следующие случаи:

  1. i  (А B);

  2. iV.

Рассмотрим первый из этих случаев и покажем, что справедливы соотношения i  (А B) и i = i.

Для этого рассмотрим множества всех таких применений t1 и t2, которые получаются из t1 и t2 заменой символов переменных на слова длины 1.

Тогда, если i i, то рассматриваемые множества кратчайших по длине слов в Ut1 и Ut2 являются разными, так как i-й символ всех слов первого множества равен i. Однако значения i-го символа слов второго множества могут быть отличными от i.

Из проведенных рассуждений следует, что на одинаковых позициях образцов t1 и t2 могут располагаться либо символы переменных, либо равные символы из А B.

Рассмотрим второй случай. Покажем, что в этом случае i также является символом переменной и i = j тогда и только тогда, когда i = j. Первое из приведенных свойств верно, поскольку если i А B, то в кратчайших применениях t2 символ с порядковым номером i всегда равен i, а в кратчайших применениях t1 символ с тем же номером принимает значения всех символов из А B.

Проверим справедливость второго свойства. Пусть iV и j, j < i, обозначают одну и ту же переменную в t1. Тогда все применения t1, получаемые заменой переменных на слова длины 1 в алфавите А B, имеют одинаковые j-й и i-й символы. Если же i и j  разные символы переменных в t2, то среди кратчайших по длине применений образца t1 имеются такие, в которых j-й и i-й символы  разные. Поэтому Ut1 Ut2. Последнее заключение противоречит предполагаемому равенству множеств Ut1 и Ut2.

Доказательство того, что если i = j, то i = j можно провести аналогичными рассуждениями.

Из доказательства свойств, имеющих место в случаях 1 и 2, следует, что t1 и t1 совпадают с точностью до переименования переменных.

Достаточность. () Пусть образцы t1 и t2 совпадают с точностью до переименования переменных. Тогда множества применений этих образцов совпадают.

Действительно, пусть подстановка 1 = задает переименование переменных из t1 в переменные из t2, которое преобразует t1 в t2.

Тогда, если слово является применением t1, получаемым с помощью подстановки , то является применением t2 с помощью подстановки 1, т.е. Ut1Ut2. Обратное включение Ut1Ut2 доказывается аналогично. Поэтому Ut1 = Ut2.

Следовательно, Ut1 = Ut2.

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

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

Семейство слов в основном алфавите { 1, . . . , r} называется согласованным применением образцов t1, . . . , tr, если найдется такая подстановка для всех различных символов переменных в этих образцах, что  i = 1, . . . , r (ti = i). То есть если все эти слова получаются из соответствующих им образцов с помощью одного и того же уточнения входящих в них одинаковых символов переменных.

ОПРЕДЕЛЕНИЕ

Продукцией называется запись вида  = , где t1, . . . , tn+1  некоторые образцы.

В продукции  образцы t1, . . . , tn образуют посылки, а tn+1  заключение.

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

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

ОПРЕДЕЛЕНИЕ

Слово n+1 в алфавите (A V) выводится из слов 1, . . . , n в этом же алфавите применением продукции  = , если существует такая подстановка , содержащая все различные символы переменных, входящих в образцы t1, ... , tn+1, что  i = 1, ... , n+1 (ti = i).

В пределах одной продукции одинаковые символы переменных понимаются одинаково и при всяком применении продукции заменяются одинаково. Процесс получения слова n+из слов 1, . . . , n с помощью продукции  называется шагом вывода, а слово n+ называется применением продукции .

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

Одинаковые символы переменных в различных продукциях не связаны между собой.

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

Упражнение. Пусть основной и вспомогательный алфавиты состоят из символов 0 и 1, а алфавит переменных состоит из символов x, y. Привести пример продукции  = , где tn+1 содержит только такие символы переменных, которые входят в t1, . . . , tn, и последовательности слов 1, . . . , n, из которых с помощью подстановок 1 и 2 выводятся разные слова.

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