Скачиваний:
122
Добавлен:
21.01.2014
Размер:
706.56 Кб
Скачать

1.1.2. Пример независимости знаний и процедур их обработки

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

Пусть имеется набор фактов, внесенных в базу:

имеет (иван, машину)

имеет (петр, часы)

имеет (николай, телевизор)

Рассмотрим различные виды запросов, которые можно вводить и получать на них ответы с использованием внутреннего механизма логического вывода Пролога. Предположим, нас интересует, что имеет Иван:

Запрос: ? - имеет (иван, Вещь)

Ответ: Вещь = машина

Если мы заполним базу еще рядом фактов

имеет (петр, руб.(500))

имеет (петр, телевизор)

цена (видео, 4200)

цена (приемник, 20 )

цена (часы, 70)

тогда на аналогичный запрос, но только относительно Петра, мы получим ответ:

Запрос: ? - имеет (петр, Вещь)

Ответ: Вещь = часы

Вещь = руб (500)

Вещь = телевизор

Заметим, что имя «петр» мы вводим со строчной буквы, так как это атом; а «Вещь» является переменной и записывается с заглавной буквы.

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

Рассмотрим еще ряд примеров. Предположим, нас интересует, кто является владельцем телевизора (простой запрос)

Запрос: ? - имеет (Человек, телевизор)

Ответ: Человек = николай

Человек = петр

и может ли Петр купить видео (сложный запрос)

Запрос: ? - имеет (петр, руб (Наличные)),

цена (видео, Цена),

Наличные ≥ Цена

Ответ: ? - нет

Символ «,» в запросах аналогичен логической операции конъюнкции. В этих условиях последний запрос требует одновременного удовлетворения трех перечисленных через запятую условий.

Чтобы не вводить каждый раз сложные запросы, мы можем сформулировать правило,определяющее наши знания о том, что некто может купить вещь, если у него хватит денег и такая вещь у него отсутствует:

может_купить (Некто, Вещь): имеет (Некто, руб (Наличные)),

цена (Вещь, Цена),

Наличные ≥ Цена,

не (имеет (Некто, Вещь)).

Если теперь данное правило добавить в базу знаний к имеющимся там восьми фактам, то мы сможем сформулировать к базе запрос «Что может купить Петр?»:

Запрос: ? - может_купить (петр, Вещь)

Ответ: Вещь = приемник

1.1.3 Понятие знаний, фактов и правил

С точки зрения ИИ знания - это формализованная информация, на которую ссылаются или которую используют в процессе логического вывода.

В СОЗ знания разделяются на:

  • факты (фактические знания);

  • правила (знания для принятия решений).

Под фактамиподразумевают знания типа «А это А»; они характерны для БД и сетевых моделей. В рассматриваемом примере фактами являлись кортежи отношений:

имеет (КТО, ЧТО)

цена (Вещь, ЦЕНА)

Под правиломподразумеваются знания вида «ЕСЛИ – ТО». В приведенном примере это правило:

может_купить (Некто, Вещь)

Знания обычно имеют классификационную иерархическую структуру вида: «живое существо àживотноеàчеловекàмужчинаàВадим»

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