Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СИИ.doc
Скачиваний:
175
Добавлен:
02.05.2014
Размер:
3.54 Mб
Скачать

2.5.9. Формальные модели систем продукций

Среди наиболее известных формальных моделей СП следует указать ре­ляционную модель А.С. Клещева, К-системы В.Е. Кузнецова, ре­ляционные модели S.Vereи модель управляемой СПM.Georgeff. Яхно Т.М. была предложена алгебраическая модель СП, которая обобщает перечисленные выше модели и позволяет описывать поведение СП в самом общем виде [67,69,70].

2.5.9.1. Алгебраическая модель

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

2.5.9.1.1. Основные определения

Введем понятия из теории моделей в том объеме, в котором они пона­добятся для дальнейшего изложения. Согласно терминологии работы [129], многосортная алгебра A= <(sA)sS, (fA)fF> состоит из семей­ства множеств-носителейsAи семейства частичных функцийfA:

fA : s1A s2A ... sn-1A snA, n0,

Сигнатура = (S, F)состоит из непустого множестваSсимволов для обозначения индексов множеств-носителей, называемых также сор­тами, и непустого множестваFфункциональных символов, каждому из которых приписана схема отображения

f : s1 s2 ... sn-1 sn, n0,

означающая запись арности функции, сортность ее аргументов и резуль­тата.

Для сигнатуры =(S,F)многосортная алгебраA= <(sA)sS, (fA)fF> называется-алгеброй, если схемы отображений для всехf Fсогла­сованы с соответствующими отображениямиfA.

Пусть задана сигнатура =(S,F).С каждым сортомs Sсвяжем счетное множествоXsпеременных и определим множество термовTRи функциютип : TR—>Sследующим образом:

  • всякая переменная х Xsесть терм, причемтип(х)=s;

  • всякий нульарный функциональный символ (константа) f Fсо схемой отображенияf:х sесть терм, причемmun(f) = s;

  • если f Fимеет схемуf : s1 ... sn-1 sn и t1, t2, …, tn-1— термы, гдеmun(t1) = s1, ..., mun{tn-1} = sn-1, то f(t1, t2,... , tn-1)— терм,mun(f(t1, t2,..., tn-1)) = sn.

Заметим, что везде в дальнейшем предикатные символы рассматри­ваются как функциональные со схемой отображения в специальный вы­деленный сорт BOOL ={0,1}.

В дальнейшем считаем заданными сигнатуру Σ = (S, F) и Σалгебру A=<(sA)sS, (fA)fF>.

Определение 1.Назовемфактомупорядоченный список вида(fA,e1,...,en),

где f F, f : s1 s2 ... sn-1 sn, ei TR, mun(ei) = si, i = 1...n.

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

Проиллюстрируем введенные понятия простым примером. Рассмо­трим алгебраическую систему

A = < (R, BOОLA), (+, -, *, ) >,

где Rмножество вещественных чисел,BOOLA={0,1};+, —, *,— обычные операции и отношения над числами. Переменные будем обо­значать буквамиx, у, z.Тогда уравнениех+у =5запишется в виде следующего факта:(+, x, y, 5), а система соотношенийх+y=5, y 0, х 3 в виде ситуации:

d0 = (+, x, y,5) (, у, 0,1) (, 3, x, 1)

Если все еi, (i=1...n) в факте суть константы, то факт назовем терминальным. Поскольку среди фактов ситуации могут быть нетерми­нальные, то, в общем случае, ей соответствует неединственный набор множеств носителей алгебраической системы.

Для простоты изложения в дальнейшем ограничим термы в опре­делении факта константами и переменными, что не нарушает общности изложения, поскольку термы с функциональными символами могут быть записаны в ситуации без них увеличением числа переменных. Например, отношение х+ у 2запишется в виде(+, х, у, z)(, z, 2,1).

Определенная таким образом ситуация представляет собой множество конъюнктивно-связанных фактов, и поэтому в дальнейшем будем обра­щаться с нею как с множеством, используя операции объединения , пересечения, разности \ и отношение включения.

Обозначим через var{d)множество имен переменных, входящих в си­туациюd,а черезT(d)={mun(x)xvar(d)} —множество типов пере­менных, входящих в факты ситуацииd.

Традиционным образом введем понятие подстановки

= {t1/v1, t2/v2, ..., tm/vm},

где tiтермы,vi— переменные,mun(ti) = mun(vi), i = 1...т.За­письd означает результат одновременной замены каждого вхождения переменнойvi,вdна соответствующий термti.

Подстановку = {x1/y1, x2/y2, ..., xm/ym}, гдеxi, уi, (i = 1...m)— переменные, назовем алфавитным вариантом. Для каждого алфавитного варианта определена обратная к нему подстановка -1при условии, что между переменными определено взаимно - однозначное соответствие.

Определение 2.Две ситуацииdиd'назовемэквивалентными (dd'),если найдется алфавитный варианттакой, что

d d' и d' d -1.

Пусть, например, задана подстановка ={3/x, z/y}.Тогда ее при­менение к ситуацииd0,приведенной выше, дает

d0 = (+, 3, z, 5) (, z, 0,1) (, 3, 3, 1).

Очевидно, что относительно терминальных фактов, каким, например, является (,3,3,1), в заданной алгебраической системе всегда можно говорить, истинны они или ложны. Все истинные терминальные фак­ты опускаются при дальнейшем рассмотрении, так как они являются тавтологиями. Таким образом, ситуацияd0 эквивалента ситуации

d0 = (+, 3, z, 5) (, z, 0,1).

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