Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пролог.doc
Скачиваний:
15
Добавлен:
10.11.2018
Размер:
1.44 Mб
Скачать
      1. Понятие экспертной системы и применение логического вывода при построении экспертных систем.

Экспертной системой (ЭС) называется система, которая позволяет пользователю описать проблемную ситуацию и получить ее решение, сопровождаемое объяснениями, почему выбрано именно это решение.

Перечислим основные компоненты ЭС.

  1. ГБД – глобальная база данных (содержит исходную информацию, необходимую для решения проблемной ситуации).

  2. БЗ – база знаний, суть набор операции преобразования ГБД (с помощью последовательности этих операций мы и получаем ответ, причем сама последовательность правил составляет определяет обоснование).

  3. Стратегия выбора следующей операции.

  4. Терминальное состояние ГБД (содержит ответ на вопрос).

Схема работы ЭС выглядит в виде дерева.

//рисунок (17)

Одним из видов ЭС являются ЭС, основанные на предикатных языках представления знаний, и частности на языке ЛППП. В этом случае ГБД представляет собой набор предикатов, а БЗ – суть набор логических формул. Стратегия определяется применяемой стратегией резолюции (например OL-вывод, вывод на клозах Хорна и т.д.) и реализуется с помощью соответствующей машины логического вывода. В случае применения хорновской стратегии, ГБД формулируется в виде хорновских фактов, БЗ – в виде хорновских аксиом, а терминальное состояние в виде хорновской теоремы.

Различают 3 класса запросов к ЭС – классы A, B, C.

2.2.8. Запросы класса A.

Запросы класса A предполагают ответ «да» или «нет». В полноценных системах возможно три случая. Рассмотрим соответствующие примеры.

Пример 1. Предикаты: С(x) – x – человек, S(x) – x – смертен.

ГБД – C(Мао) – Мао человек.

БЗ - x [C(x) S(x)] – все люди смертны

Вопрос. S(Мао) – смертен ли Мао?

Система пытается доказать теорему S(Мао).

C (Мао)  S (Мао)   С (Мао)  S (Мао)   С (Мао) =

С(x)  S (x) {Мао/x} С (Мао)

 S (Мао)

Это удается - ответ «да».

Пример 2. P(x, y) – x в пункте y.

ГБД - P(Иван, Томск) – Иван в Томске.

БЗ - x [P(x, Томск)P(x, Новосибирск)] – если кто-то в Томске, то он не в Новосибирске.

Вопрос. P(Иван, Новосибирск) – Иван в Новосибирске?

Система пытается доказать теорему P(Иван, Новосибирск).

//вывод (19)

P(Иван, Томск)

P (x, Томск) P (x, Новосибирск) {Иван/x}

P (Иван, Новосибирск)

Это невозможно (нет унифицируемых литер).

Система пытается доказать теорему P(Иван, Новосибирск)

//вывод (20)

P(Иван, Томск)

P (x, Томск)  P (x, Новосибирск) {Иван / x}

P (Иван, Новосибирск)

P (Иван, Новосибирск)

P(Иван, Томск)

P (Иван, Томск)

P (Иван, Новосибирск)

P(Иван, Томск)

Это удается. Значит, ответ «нет».

Пример 3. ГБД - P(Огород, Бузина) – Бузина в огороде

Вопрос. P(Дядька, Киев) – дядька в Киеве?

Невозможно доказать ни P(Дядька, Киев), ни P(Дядька, Киев). Ответ – недостаточно информации (данных или знаний) для получения информации.

Примечание. Иногда автоматизированные системы всегда выдают ответы «да» или «нет» (например, Turbo Prolog в вопросно-ответном режиме). В этом случае ответ «нет» реально может означать, как «нет», так и недостаточность информации.