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

2.5.9.1.2. Операции преобразования ситуации

Определим основные преобразования ситуации, к которым относятся ис­ключение и добавление фактов. Для фиксированного d'D:

1. Операция исключения: elim[d'] : D D

elim[d'](d) = d\ d'

2. Операция добавления: аdd[d'] : D D

add[d'](d)=d d'

Определим множество программ Rпреобразования ситуации следу­ющим образом. Во-первых, будем считать элементамиRпрограммыadd[d'], elim[d']при любыхd'D,во-вторых, если две программыr1,r2R,то программа (r1; r2) определенная равенством (r1; r2)(d) =r2(r1(d)), d D, также элементR.

Для любого r Dвведем множествоin(r)переменных, добавляе­мых программойr,и множествоout(r)переменных, исключаемыхr, по следующим правилам:d' D

  • out(add[d']) = , in(add [d']) = var(d');

  • out(elim[d']) = var(d'), iп(еliт[d']) = ;

  • out (r1; r2) = out(r1) оиt(r2), in(r1; r2) = in (r1 ; r2 ) in(r2).

Определение 3.Программуr+, содержащую только операции типаadd[d'](d' D),назовемпозитивной.Заметим, чтоout(r+)=и, еслиd2 = r+(d1), то d2 d1.

Через r, где=[t1 /x1, ...,tm /xm} — произвольная подстанов­ка, обозначим программуr, во всех операциях которой аргументы-переменныеxiзаменены на сопоставленные им втермыti, i=1...m. Переменные программы, которым не сопоставлены в подстановкени­какие термы, заменяются на новые, еще неиспользованные переменные из множестваXs , sS.

Определение 4.Продукцией назовем пару <q, r>, в которойqси­туация, называемая условием применимости продукции,r— программа,r R, называемая действием, причемqиrсвязаны соотношением

var(q) out(r).

С

d1

pr

d2

истемой продукций назовем конечное множество парРr={<q, r >}. Будем говорить, чтоd2 непосредственно выводимоизd1при помощи продукцииpr= <q,r>, , если найдется такая подстановка, чтоd1q, а

d2=r(q) (d1\q).

Если найдется последовательность продукцийрr1,рr2, ...,prk, pri Pr,i =1...k, k0, и состояний базыd0, d1, …,dkтаких, что

d0

d1

d0

pr1,…, prk 

d1

то говорим, что dkвыводимо изd0,и пишем или, apr1,рr2, ...,prkназовем последовательностью применимых кd0про­дукций.

Если иpr(=>d' = dk), тоdkназовем результирую­щей ситуациейd0.

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

MgO + Н2 Mg + Н2O ,

СиО + Н2 Си + H2O,

Zn + H2S04 ZnS04 + Н2.

Опишем предметную область посредством многосортной алге­бры с множествами носителями:

окись = {MgO, CuO},

металл = {Mg, Cu, Zn},

газ={Н2, 0},

соль = {ZnSO4},

кислота = {H2S04},

вода= {Н2О},

вещества = окиcь металл газ соль кислотa вода

и отображениями

основание:окись —> металл (например, основание (MgO) = Mg);

формула: вещества —> вещества (тождественное пре­образование, сопоставляющее веществу его химическую фор­мулу).

Тогда химические реакции можно переписать в виде следующих про­дукций (в некотором условном синтаксисе):

1) pr1 =< q1, r1 >,

где q1 = (mun, х, окись) (основание, х, у) (тип, у, металл) (формула, z, Н2) (тип, z, газ);

ri = add[(mun, z', вода)  (формула, z', Н2О)  (mun,z", металл)  (формула, z",y)];

elim[(тип, x, окись) (формула, z, H2) (тип, z, газ)]

2) рr2 =< q2, r2 >,

где q2 = (тип, x, металл) (формула, х, Zn) (формула, z, H2SО4) (тип, z, кислота),

r2 = аdd[(тип, z', газ) (формула, z', H2) (тип, z", соль) (формула, z", ZnSО4)];

elim [(тип, x, металл) (формула, х, Zn) {тип, z, кислота) (формула, z, H2SО4)].

Первой продукции соответствуют первые две реакции, вторая — опи­сывает третью реакцию.

Пусть имеется информация о наличии веществ {MgO, CuO, Zn, H24}, что задается следующей исходной ситуацией:

d0=(mun,e1, окись)(основание,e1,Mg)(тип, е2, окись)(основание, е2, Сu)(формула,e1,MgO)(формула, е2,CuO)(тип, е3, металл}(формула, е3,Zn)(тип, е4, кислота)(формула,e4,H24).

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

Ставится задача: какие вещества могут быть получены (результиру­ющая ситуация) из заданных по продукциям pr1 — pr2.

Рассмотрим процесс вывода. На первом шаге применима продукция рr2, которая приводит к ситуации, описывающей наличие следующих веществ:{MgO, CuO, H2, ZnS04}.

На втором шаге применима лишь продукция рr1, однако для нее су­ществуют две подстановки

1 = {Mg/y,e1/x}, 2 = {Сu/у, е2/х},

что дает в первом случае ситуацию, описывающую наличие веществ {Mg, H20, CuO, ZnS04}, а во втором —{MgO, Н20, Си, ZnS04}.

Из примера видно, что результирующая ситуация зависит в общем случае от выбора подстановки и порядка применения продукций, т.е. неоднозначна. Для СП, результат конъюнктивного вывода в которых од­нозначен, разработаны эффективные методы поиска решений (каким, на­пример, является использование смешанных вычислений [91] в реляционной модели [24]). Поэтому в этой модели СП актуальна задача выделения подклассов, в которых результирующая ситуация однозначна.