Читайте также:
|
|
Запрос класса C – это запрос на выявление последовательности действий для достижения какой-либо цели. Отличительной особенностью здесь является то, что приходится оперировать с функторами.
В качестве демонстрационного примера приведем задачу об обезьяне. Обезьяна находится в комнате, в которой в определенной точке под потолком подвешен банан. Достать банан она может, только встав на стул строго под бананом. Что же должна сделать обезьяна, чтобы съесть банан?
Введем предикаты.
P(x,y,z,s) – обезьяна в точке x, стул в точке y, а банан в точке z, а вся система при этом условно находится в состоянии s.
R(s) – в состоянии s обезьяна может достать банан.
Обратим внимание на абстрактное понятие состояния системы. Оно необходимо для описания возможных действий с помощью функторов.
f(x,y,s) – функция перемещения обезьяны из точки x в точку y, s – исходное состояние системы до перемещения, результат функции – состояние системы после перемещения.
g(x,y,s) – функция переноса стула из точки x в точку y, s – исходное состояние системы до переноса стула, результат функции – состояние системы после переноса стула.
k(x,s) – обезьяна залезает на стул в точке x. Система при этом переходит из состояния s в новое, выражаемое результатом функции.
Итак, опишем исходные данные, т.е. ГБД.
P(a,b,c,s1) – в начальный момент обезьяна находится в точке а, стул в точке b, банан – в точке с, абстрактная система – в абстрактном состоянии s1.
БЗ составляют следующие.
"x"y"z"s [P(x,y,z,s)->P(y,y,z,f(x,y,s))] – где бы ни была обезьяна, она может подойти к стулу.
"x"y"s [P(x,x,y,z)->P(y,y,y,g(x,y,s))] – если обезьяна и стул в одной точке, то обезьяна может поднести стул к банану.
"x"s [P(x,x,x,s)->R(k(x,s))] – если обезьяна, стул и банан в одной точке то она может лезть на стол и есть банан.
В качестве теоремы предполагают, что существует состояние системы, в котором обезьяна может достать банан - $s R(s). К этой теореме приписываем предикат ANS(s).
//вывод (22)
P(a, b, c, S1) | ||||
ù P (x, y, Z, S) | Ú | P (y, y, Z, f (x, y, S)) | ||
ù P (x, x, y, S) | Ú | P (y, y, y, g (x, y, S)) | ||
ù P (x, x, x, S) | Ú | R(k (x, S)) | ||
ù R (S) | Ú | ANS (S) {k (x, S)/S} | ||
ùR (k (x, S)) | Ú | ù P (x, x, x, S) {y/x, g(x, y, S)}/S | Ú | ANS(k(x, S)) |
ù P (x, y, Z, S) | Ú | P (y, y, Z, f (x, y, S)) | ||
ù P (x, x, y, S) | Ú | P (y, y, y, g (x, y, S)) | ||
P(a, b, c, S) |
ù R(k(y) g(x, y, S))) | Ú | ù P(y,y,y, G(x, y, S)) | Ú | ù P(x,x,y,S) | Ú | ANS(k(y)g(x,y,S)) {y/x, z/y,f(x,y,S)/S} |
ù P (x, y, Z, S) | Ú | P (y, y, Z, f (x, y, S)) | ||||
P(a, b, c, S1) |
ù R(k(z,g(y,z)f(x,y,S))) | Ú | ù P(z,z,z,g(y,z),f(x,y,S))) | Ú | ù P(y,y,z,f90x,y,S) | Ú |
Ú | ù P(x,y,z,Sù | ÚANS(k(z,g(yz,f(x,y,S)))) {a/x, b/y, c/z, S1/S} |
P (a,b,c,S)
ù R(k(c,g(b,c,f(a,b,S1)))) | Ú | ù P(c,c,c,g(b,c,f(a,b,S1))) | Ú | ù P(b,b,c,f(a,b,S1)) |
Ú | ù P(a,b,c,S1) | Ú | ANS (k(c,g(b,cf(a,b,S1)))) | ||
ANS (k(c,g(b,c,f(a,b,S 1)))
Интерпретируя последовательность вложенных функций «изнутри», получают содержательный ответ.
//интерпретируем (23)
k(c,g(b,c,f(a,b,S1))): |
- f(a,b,S1) – обезьяна переходит из точки a в точку b.
g(b,c,f(a,b,S1)) – обезьяна переносит стул из точки b в точку c.
k(c,g(b,c,f(a,b,S1))) – обезьяна лезет на стул в точке c.
Дата добавления: 2015-09-06; просмотров: 130 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Понятие экспертной системы и применение логического вывода при построении экспертных систем. | | | Понятие о нечетком выводе |