- •Компьютерные технологии в науке и образовании
- •Часть 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.7.2. Фреймовые системы и их функционирование
Для иллюстрации работы этого класса СОЗ рассмотрим иерархию понятия отчета, структура которого определена выше, но уже со всеми слотами, их значениями и процедурами (рис. 1.7.3).
Допустим, что некоторые слоты имеют значение по умолчанию. Каким образом можно использовать так организованные данные?
Если системе задан запрос: «Мне нужен финансовый отчет о выполнении проекта по новой технологии», то интерфейсная программа анализирует его и
Вносит «проект по новой технологии» в слот «ТЕМА» следующего пустого узла «Финотчет» (в нашем примере это узел №3). Далее все происходит автоматически:
Процедура «если – добавлено», связанная со слотом «ТЕМА», осуществляет поиск руководителя этого проекта. Допустим, что его фамилия Иванов. Процедура вписывает его фамилию в слот «АВТОР» финансового отчета №3. Если руководитель этой темы не будет найден, в слот «АВТОР» будет наследовано значение класса, а именно текст «РУКОВОДИТЕЛЬ ПРОЕКТА».
Рис. 1.7.3. Функционирование фреймовой системы
Процедура «если – добавлено», связанная со слотом «АВТОР», начинает выполняться, т.к. в слот только что было вписано новое значение. Эта процедура начинает составлять сообщение, чтобы отправить его Иванову, но обнаруживает, что нет нужной даты исполнения.
Процедура «если – добавлено», просматривая слот «ДАТА» и найдя его пустым, активирует процедуру «если – нужно», связанную с этим слотом, которая, анализируя текущую дату (например 12.04.96), решит, что «30 июня» ближайшее к ней и впишет эту дату в слот «ДАТА».
Теперь процедура «если – добавлено», связанная со слотом «АВТОР», найдет, что еще одно значение, которое нужно включить в сообщение, т.е. объем отчета, отсутствует. Слот «ОБЪЕМ» не связан с процедурами и ничем помочь не может. Однако выше узла № 5 существует узел общей концепции финансового отчета, содержащий значение объема. Процедура, используя концепцию наследования свойств класса, использует значение объема и составляет следующее сообщение: «Господин Иванов, подготовьте финансовый отчет по проекту новой технологии к 30 июня объемом 2 страницы».
Если в какой-то момент фамилия Иванов будет удалена из слота «АВТОР», то система автоматически отправит ему сообщение, что его отчет не требуется.
В рассмотренном примере заполнителями служили конкретные экземпляры атрибутов (заполняемые по умолчанию). Вместе с тем, заполнителями слотов могут быть:
имена других фреймов системы, на которые делается ссылка;
фасеты («агрегат», «диапазон», «по умолчанию» и др.).
Расширим рассмотренный выше пример для иллюстрации этих понятий (рис. 1.7.4.):
Рис.1.7.4. Функционирование фреймовой системы
При определении фреймов фасет «агрегат» указывает на то, что должны быть заданы требуемые объекты, а «интервал» - на то, что должен быть выбран один из множества объектов.
Эта информация используется интерфейсной программой при вводе информации.
1.7.3. Обобщенная структура фрейма
В общем случае фрейм представляет собой таблицу, структура и принципы организации которой являются развитием понятия отношения в реляционной модели данных. Обобщенная структура фрейма имеет вид таблицы 1.7.1.
Таблица 1.7.1
Структура фрейма
-
ИМЯ ФРЕЙМА
Имя слота
Указатель наследования
Указатель типа
Значение слота
слот 1
слот 2
-------
слот N
Слотом фрейманазывается элемент данных для фиксации знаний об объекте, которому отведен данный фрейм.
Перечислим параметры слотов:
Имя слота. Каждый слот должен иметь уникальное имя во фрейме, к которому он принадлежит. Имя слота в некоторых случаях может быть служебным. Среди служебных имен могут быть:
имя пользователя, определяющего фрейм;
дату определения или модификации фрейма;
комментарий.
Указатель наследования. Он показывает, какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с теми же именами во фрейме нижнего уровня. Типичные указатели наследования:
S(тот же) - слот наследуется с теми же значениями данных;
U(уникальный) - слот наследуется, но данные в каждом фрейме могут принимать любое значение;
I(независимый) - слот не наследуется.
Указатель типа данных. Типом данных, включаемых в слот, могут быть:
FRAME (указатель) - указывает имя фрейма верхнего уровня.
ATOM (переменная);
TEXT (текстовая информация);
LIST (список);
LISP (присоединенная процедура).
С помощью механизма управления исследованием по отношениям IS_A осуществляется автоматический поиск и определение значений слотов фрейма верхнего уровня и присоединенных процедур.