- •Компьютерные технологии в науке и образовании
- •Часть 1 Базы знаний
- •Содержание
- •Лекция 1
- •1.1 Основы построения систем основанных на знаниях (соз).
- •1.1.1 Общие сведения о соз
- •1.1.2. Пример независимости знаний и процедур их обработки
- •1.1.3 Понятие знаний, фактов и правил
- •Лекция 2
- •1.2 Экспертные системы и необходимые условия представления знаний.
- •1.2.1. Назначения эс и основные требования к ним
- •1.2.2. Упрощенная структура эс
- •1.2.3. База знаний как элемент экспертной системы
- •1.2.4. Необходимые условия представления знаний
- •Лекция 3 Лекция 3
- •1.3 Приобретение и формализация знаний.
- •1.3.1. Формализация задачи
- •1.3.2. Представление знаний в виде «дерева решений»
- •Лекция 4
- •1.4 Представление знаний с использованием логики предикатов.
- •1.4.1. Логические модели и логическое программирование
- •1.4.2. Простейшие конструкции языка предикатов
- •1.4.3. Предикатные формулы
- •Является (ласточка, птица) ← имеет (ласточка, крылья),
- •("X) [человек (х) ¬ смертен]
- •1.4.5. Логический вывод
- •1.4.5.1. Правило резолюции для простых предложений
- •1.4.5.2. Правило резолюции для сложных предложений
- •1.4.5.3. Простая резолюция сверху вниз
- •S: ù получает (студент, стипендию)
- •Для всех у студент не получает у
- •1.4.5.6. Решение задач и извлечение ответа.
- •D1: ù факториал (3, z)
- •Лекция 5
- •1.5 Семантические сети.
- •1.5.1. Описание иерархической структуры понятий и диаграмма представления
- •«Человек» is - a «млекопитающее»
- •«Все ласточки – птицы»
- •«Ласта – ласточка» «ласточка – птица»
- •«Ласта – птица»
- •1.5.2. Семантическая сеть как Пролог - программа
- •1.5.3. Элементы семантической сети
- •1.5.4. Представление структуры понятий семантической сетью
- •1.5.5. Представление событий семантической сетью
- •1.5.6. Получение вывода с помощью семантической сети
- •1.5.7 Пример представления знаний семантической сетью
- •Лекция 6
- •1.6.1. Системы продукции
- •Если - то (явление - реакция)
- •1.6.2. Механизм функционирования систем продукции
- •«Намерение – отдых» «место отдыха – горы»
- •«Место отдыха – горы»
- •«Использовать – джип»
- •«Дорога – ухабистая»
- •1.6.3. Обратная цепочка рассуждений в системе продукций
- •Лекция 7
- •1.7. Представление знаний с применением фреймов
- •1.7.1. Понятие фрейма и слота
- •1.7.2. Фреймовые системы и их функционирование
- •1.7.3. Обобщенная структура фрейма
- •Лекция 8
- •1.8. Стратегии поиска в системах основанных на знаниях
- •1.8.1. Поиск как основа функционирования соз
- •1.8.2. Стратегии поиска в глубину и ширину
- •1.8.3. Стратегия эвристического поиска
- •1.8.4. Формализация задач в пространстве состояний
- •1.8.5. Представление пространства состояний в виде базы знаний
- •После (х,y)
- •После (X,y,s)
- •Цель(состояние):-принадлежит([a,b,c],Состояние)
- •Лекция 9
- •1.9. Нечеткие множества в системах основанных на знаниях
- •1.9.1. Основные понятия и определения
- •1.9.2. Арифметические операции над нечеткими переменными
- •1.9.3. Операции нечеткой фильтрации и выбора
1.1.2. Пример независимости знаний и процедур их обработки
Упрощенно иллюстрацию независимости двух основных компонентов систем основанных на знаниях можно показать на примере использования языка Пролог.
Пусть имеется набор фактов, внесенных в базу:
имеет (иван, машину)
имеет (петр, часы)
имеет (николай, телевизор)
Рассмотрим различные виды запросов, которые можно вводить и получать на них ответы с использованием внутреннего механизма логического вывода Пролога. Предположим, нас интересует, что имеет Иван:
Запрос: ? - имеет (иван, Вещь)
Ответ: Вещь = машина
Если мы заполним базу еще рядом фактов
имеет (петр, руб.(500))
имеет (петр, телевизор)
цена (видео, 4200)
цена (приемник, 20 )
цена (часы, 70)
тогда на аналогичный запрос, но только относительно Петра, мы получим ответ:
Запрос: ? - имеет (петр, Вещь)
Ответ: Вещь = часы
Вещь = руб (500)
Вещь = телевизор
Заметим, что имя «петр» мы вводим со строчной буквы, так как это атом; а «Вещь» является переменной и записывается с заглавной буквы.
Независимость базы от механизмов логических выводов, реализованных, в частности, в рассматриваемых примерах на Прологе, позволяет формулировать любые произвольные запросы к существующей базе.
Рассмотрим еще ряд примеров. Предположим, нас интересует, кто является владельцем телевизора (простой запрос)
Запрос: ? - имеет (Человек, телевизор)
Ответ: Человек = николай
Человек = петр
и может ли Петр купить видео (сложный запрос)
Запрос: ? - имеет (петр, руб (Наличные)),
цена (видео, Цена),
Наличные ≥ Цена
Ответ: ? - нет
Символ «,» в запросах аналогичен логической операции конъюнкции. В этих условиях последний запрос требует одновременного удовлетворения трех перечисленных через запятую условий.
Чтобы не вводить каждый раз сложные запросы, мы можем сформулировать правило,определяющее наши знания о том, что некто может купить вещь, если у него хватит денег и такая вещь у него отсутствует:
может_купить (Некто, Вещь): имеет (Некто, руб (Наличные)),
цена (Вещь, Цена),
Наличные ≥ Цена,
не (имеет (Некто, Вещь)).
Если теперь данное правило добавить в базу знаний к имеющимся там восьми фактам, то мы сможем сформулировать к базе запрос «Что может купить Петр?»:
Запрос: ? - может_купить (петр, Вещь)
Ответ: Вещь = приемник
1.1.3 Понятие знаний, фактов и правил
С точки зрения ИИ знания - это формализованная информация, на которую ссылаются или которую используют в процессе логического вывода.
В СОЗ знания разделяются на:
факты (фактические знания);
правила (знания для принятия решений).
Под фактамиподразумевают знания типа «А это А»; они характерны для БД и сетевых моделей. В рассматриваемом примере фактами являлись кортежи отношений:
имеет (КТО, ЧТО)
цена (Вещь, ЦЕНА)
Под правиломподразумеваются знания вида «ЕСЛИ – ТО». В приведенном примере это правило:
может_купить (Некто, Вещь)
Знания обычно имеют классификационную иерархическую структуру вида: «живое существо àживотноеàчеловекàмужчинаàВадим»
Каждый элемент такой структуры имеет различные связи с элементами других иерархических структур, поэтому возникает необходимость в представлении всех знаний в виде некоторой модели. Этот подход характерен не только для фактов, но и для правил принятия решений.