Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции 2013 / Lektsia_5_16_03_13

.docx
Скачиваний:
19
Добавлен:
20.06.2014
Размер:
41.62 Кб
Скачать

Группа АИ-10

  1. Астахов Максим н

  2. Бессонов Никита

  3. Васюков Александр

  4. Денисов Максим

  5. Литвинов Егор н

  6. Павлова Оксана н

  7. Писаренко Илья н

  8. Сенаторов Роман н

  9. Старухин Николай

  10. Стоякина Ольга н

  11. Фаустов Александр

  12. Чернов Станислав н

  13. Чумак Андрей н

(defrule Set-Drug-Test-Result “RULE#3”

(drug-test ?person_name ?result)

?patient <- Patient (name ?name & ?person_name))

=>

(duplicate ?patient (contra_indication ?result))

)

(defrule Ask-About-Headache “RULE#4”

(says-headache ?person_name ?result)

?patient <- Patient(name ?name & ?person_name))

=>

(duplicate ?patient (headache ?result))

(defrule

<антецедент>

=>

<консеквент>

)

(deffacts All-Patients

(Patient

(name Vasya)

(temperate High)

)

(Patient

(name Maria)

(temperate Very-High)

)

(drug-test Maria No)

(saysheadache Maria Yes)

)

База знаний

Ф

П

Решатель

Правило, все условия которого удовлетворены в части антицедента называется активированным или реализованным. В рабочем списке правил может одновременно присутствовать несколько активированных правил. В этом случае машина логического вывода (решатель) должна выбрать одно из правил для запуска. Термин «запуск» в нейрофизиологии соотв. возбуждение (релаксация). Принцип релаксации используется в экспертных системах. Релаксация используется для предотвращения элементарных циклов. Экспертные системы, основанные на правилах создаются с использованием релаксации в целях предотвращения тривиальных циклов, иначе если бы одно и тоже правило продолжало бы снова и снова запускаться под действием одного и того же факта, то экспертная система не смогла бы выполнить какую-либо полезную работу. Машина логического вывода работает в режиме «распознавание-действие» («выборка-выполнение», «ситуация-отклик», «ситуация-действие»).

WHILE работа не закончена

Разрешение конфликтов – если имеются активированные правила, то выбрать правило с наивысшим приоритетом, в противном случае работа закончена

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

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

Проверка условия останова – если осуществлено действие halt (любая команда на останов), то работа закончена.

END WHILE

Машина логического вывода выполняет действия….

затем …. и до тех пор пока не останется…

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

salience [-10 000, 10 000]

(declare (salience < min) 0

Rete-алгоритм

Придумал в 1979 г. Чарльз … в …

Rete-алгоритм функционирует как сеть, предназначенная для хранения большого объема информации и обеспечивающая значительное сокращение времени отклика и повышение быстродействия при запуске правил. Rete-алгоритм основан на исп-ии динамической структуры данных, подобной направленному ациклическому графу. Данные … В Rete-алгоритме воплощены 2 эмпирических наблюдения на основании которых и была предложена эта структура:

  1. временная избыточность – изменения, возникающие в рез-те запуска одного из правил обычно затрагивают лишь несколько фактов и каждое из этих изменений влияет только на несколько правил;

    7

    5

    3

  2. структурное подобие – логический шаблон, часто обнаруживаемый в левой части более, чем одного правила.

11

8

2

9

10

Обратный логический вывод

PROLOG

Предварительные условия:

  1. факты будут представлены как пары «атрибут-значение»;

  2. обратный логический вывод будет начинаться с внесения в список фактов единственного начального факта – цели (goal);

  3. в качестве условия в антецеденте правил будет проверяться только равенство атрибута конкретному значению;

  4. единственным действием в антецеденте правила будет присваивания значению единственного атрибута;

  5. если значение атрибута цель (goal) не может быть определено с помощью правила, то программа обратного логического вывода будет запрашивать это значение у пользователя;

  6. атрибут может иметь только единственное значение;

  7. неопределенность не будет представлена.

(deftemplate BC::goal

(slot attribute)

)

(deftemplate BC::attribute

(slot name)

(slot value)

)

(deftemplate BC::rule

(multislot if)

(multislot then)

)

кусок кода на псевдокоде (для лучшего понимание дальнейшей джигурды):

If Value of the Goal attribute

is known

Return Value

for each Rule whose conseq

is the Goal attribute do

call Attempt_Rule (Rule)

If Attempt_Rule succeeds then

Assign the Goal attribute

the Value by the conseq of the Rule

Return the Value of the Goal attribute

end if

end do

Ask the user for the Value

of the Goal attribute

Set the Goal attribute to the value (supplied by user)

Return the value of the

Соседние файлы в папке Лекции 2013