- •Тверской государственный университет н.А. Семенов Интеллектуальные информационные технологии
- •Введение
- •Глава 1. Интеллектуальные информационные системы
- •1.2. Данные и знания
- •Эволюция развития информационных систем
- •1.4. Основные разновидности иис и характеристики решаемых задач
- •1.5. Классификация иис
- •Глава 2. Модели представления знаний
- •2.1. Продукционная модель
- •2.2. Формально-логическая модель
- •2.3. Фреймовая модель
- •2.4. Семантические сети
- •Глава 3. Структура и технология проектирования экспертных систем
- •3.1. Структура статической и динамической эс
- •3.2. Характеристики, стадии существования и этапы проектирования статических эс
- •Глава 4. Методы обработки знаний в интеллектуальных системах. Нечеткие знания
- •4.1. Интерпретатор правил и управление выводом
- •4.2. Нечеткие знания и нечеткая логика
- •Глава 5. Теоретические основы инженерии знаний
- •5.1. Процедура извлечения знаний
- •С применением
- •5.3. Методы извлечения знаний
- •Глава 6. Нейронные сети
- •6.1. Искусственный нейрон и функции активации
- •6.2. Нейронные сети с прямой связью
- •6.3. Алгоритмы обучения нейронных сетей
- •Глава 7. Технология создания экономических советующих систем
- •7.1. Определение и виды информационных технологий
- •7.2. Технология «Ресурс – Обучение – Цель»
- •7.3. Определение коэффициента важности целей
- •Глава 8. Программный инструментарий разработки систем, основанных на знаниях
- •8.1. Цели и принципы технологии разработки программных средств
- •8.2. Технология и инструментарий разработки программных средств
- •Глава 9. Интеллектуальные Интернет-технологии
- •9.1. Интеллектуальные агенты
- •9.2. Мультиагентные системы
- •Мультиагентные системы различного функционального назначения
- •Глава 10. Новые тенденции инженерии знаний,
- •10.1. Методы извлечения глубинных пластов экспертного знания
- •10.2. Хранилища данных
- •10.3. Управление знаниями
- •10.4. Технология создания систем управления знаниями
- •Глава 11. Интеллектуальные информационные системы в условиях неопределенности и риска
- •11.1. Понятие риска в сппр слабоструктурированных проблем
- •11.2. Реализация эс инвестиционного проектирования
- •* Эс определения целей инвестирования капитала.
- •Глава 12. Системы, ориентированные на естественно-языковые запросы. Машинное обучение
- •12.1. Естественно-языковые интерфейсы
- •12.2. Машинное обучение
- •Библиографический список
- •Оглавление
Глава 4. Методы обработки знаний в интеллектуальных системах. Нечеткие знания
4.1. Интерпретатор правил и управление выводом
При использовании продукционной модели представления знаний БЗ состоит из набора правил, а программа, управляющая перебором правил, называется интерпретатором правил, или машиной вывода. Интерпретатор правил – это программа, имитирующая логический вывод эксперта, пользующегося продукционной БЗ для интерпретации поступивших в систему данных [8].
Обычно он выполняет две функции:
Просмотр существующих данных из БД и правил из БЗ и добавление в БД новых фактов.
Определение порядка просмотра и применения правил. Этот механизм управляет процессом консультации, сохраняя для пользователя информацию о полученных заключениях, и запрашивает у него информацию, когда для срабатывания очередного правила в БД оказывается недостаточно данных.
Механизм вывода представляет собой программу, включающую два компонента, – один реализует собственно вывод, а другой управляет этим процессом. Действие компонента вывода основано на применении правила, называемого modus ponens: «Если известно, что истинно утверждение А, и существует правило вида «Если А, то В», тогда утверждение В также истинно». Таким образом, правила срабатывают, когда находятся факты, удовлетворяющие их левой части: если истинна посылка, то должно быть истинно и заключение. Компонент вывода должен функционировать даже при недостатке информации. Полученное решение может быть неточным, однако система не должна останавливаться из-за того, что отсутствует какая-либо часть входной информации.
Управляющий компонент определяет порядок применения правил и выполняет четыре функции:
Сопоставление – образец правила сопоставляется с имеющимися фактами.
Выбор – если в конкретной ситуации могут быть применены сразу несколько правил, то из них выбирается одно, наиболее подходящее по заданному критерию (разрешение конфликта).
Срабатывание – если образец правила при сопоставлении совпал с какими-либо фактами из БД, то правило срабатывает.
Действие – БД подвергается изменению путем добавления в нее заключения сработавшего правила.
Интерпретатор правил работает циклически (рис.4.1).
Рис. 4.1. Цикл работы интерпретатора правил
В каждом цикле интерпретатор правил просматривает все правила, чтобы выявить те посылки, которые совпадают с известными на данный момент фактами из БД. После выбора правило срабатывает, его заключение заносится в БД, и цикл повторяется сначала. В одном цикле может срабатывать только одно правило. Если несколько правил успешно сопоставлены с фактами, то интерпретатор производит выбор по определенному критерию единственного правила, которое срабатывает в данном цикле. Совокупность отобранных правил составляет конфликтное множество. Работа интерпретатора правил зависит только от состояния БД и состава БЗ.
От выбранной стратегии решения зависит порядок применения и срабатывания правил. Процедура вывода сводится к определению направления поиска и способа его осуществления. Процедуры, реализующие поиск, обычно «зашиты» в механизм вывода, поэтому в большинстве систем когнитологи не имеют к ним доступа и, следовательно, не могут в них ничего изменить по своему желанию.
При разработке стратегии управления выводом важны:
исходная точка в пространстве состояний. От выбора этой точки зависит метод осуществления поиска – в прямом или обратном направлении;
метод и стратегия перебора – в глубину, в ширину, по подзадачам.
В системах с прямым выводом по известным фактам отыскивается заключение, которое из этих фактов следует. Прямой вывод часто называют выводом, управляемым данными. В системах с обратным выводом вначале выдвигается некоторая гипотеза, а затем механизм вывода как бы возвращается назад, переходя к фактам, пытаясь найти те, которые подтверждают гипотезу. Если она оказалась правильной, то выбирается следующая гипотеза, детализирующая первую и являющаяся по отношению к ней подцелью. Далее отыскиваются факты, подтверждающие истинность подчиненной гипотезы. Вывод такого типа называется управляемым целями. Существуют системы, в которых вывод основывается на сочетании упомянутых методов, – обратного и ограниченного прямого. Такой комбинированный метод получил название циклического.
Пример 4.1.Пусть имеется фрагмент БЗ из двух правил:
П1: Если «отдых летом» и «человек активный», то «ехать в горы».
П2: Если «любит солнце», то «отдых летом».
Предположим, что в систему поступили факты – «человек активный» и «любит солнце».
Прямой вывод
Первый проход БЗ:
Шаг 1. П1 не работает, поскольку не хватает данных «отдых летом».
Шаг 2. П2 срабатывает, в БД поступает факт «отдых летом».
Второй проход БЗ:
Шаг 3. П1 срабатывает, активизируя цель «ехать в горы», которая выступает как совет, который дает ЭС.
Обратный вывод
Первый проход БЗ:
Шаг 1. Цель – «ехать в горы»: пробуем П1-данных «отдых летом» – нет. Они становятся новой целью, и ищется правило, где она находится в правой части.
Шаг 2. Цель «отдых летом»: правило П2 подтверждает цель и активизирует ее.
Второй проход БЗ:
Шаг 3. Правило П1 подтверждает искомую цель.
В системах, БЗ которых насчитывают сотни правил, желательным является использование стратегии управления выводом, позволяющей минимизировать время поиска решения и тем самым повысить эффективность вывода. К числу таких стратегий относятся поиск в глубину, поиск в ширину, разбиение на подзадачи и альфа-бета-алгоритм.
При поиске в глубину в качестве очередной подцели выбирается та, которая соответствует следующему, более детальному уровню описания задачи. При поиске в ширину вначале анализируют все факты (симптомы), находящиеся на одном уровне пространства состояний. Разбиение на подзадачи подразумевает выделение подзадач, решение которых рассматривается как достижение промежуточных целей на пути к конечной цели. Если удастся правильно понять сущность задачи и оптимально разбить ее на систему иерархически связанных целей-подцелей, то можно добиться того, что путь к ее решению в пространстве поиска будет минимален. Альфа-бета-алгоритм позволяет уменьшить пространство состояний путем удаления ветвей, не перспективных для успешного поиска. Потом просматриваются только те вершины, в которые можно попасть в результате следующего шага, после чего неперспективные направления исключаются. Данный алгоритм нашел широкое применение в системах, ориентированных на различные игры.
Основным механизмом вывода в ИИС с фреймовым представлением знаний является механизм наследования. Управленческие функции механизма наследования заключаются в автоматическом поиске и определении значений слотов фреймов нижележащих уровней по значениям слотов фреймов верхних уровней, а также в запуске присоединенных процедур и демонов. Присоединенная процедура запускается по сообщению, переданному из другого фрейма. Демоны и присоединенные процедуры являются процедурными, т.е. описывающими действия знаниями, объединенными вместе с декларативными, описывающими явления знаниями в единую систему. Процедурные знания являются и средствами управления выводом во фреймовых системах, причем с их помощью можно реализовать любой механизм вывода. Возможность организации механизмов вывода является существенным преимуществом фреймовых систем по сравнению с продукционными. Однако практически реализация фреймовых систем сопряжена со значительной трудоемкостью, а их стоимость на порядок выше продукционных.
Семантические сети – это общее название методов описания, использующих сети, ими же называют один из способов представления знаний. На основе сетей осуществляются выводы, однако для этого необходимы специальные алгоритмы. Поскольку семантические сети являются собирательным названием систем представления, использующих сети, нет смысла определять для них специфические алгоритмы выводов. Для каждого конкретного формализма определяются собственные правила вывода, поэтому усиливается элемент произвольности, вносимый человеком. Выводы, которые достаточно тщательно не проверены, таят в себе угрозу создания противоречий. Следовательно, в семантических сетях необходимо больше, чем в продукционных системах, уделять внимания таким обстоятельствам, как устранение противоречий. Сама система такими возможностями не обладает, и потому во многих случаях эта функция возлагается на человека. Просматривая все знания, человек способен управлять их непротиворечивостью, однако, если объем знаний будет увеличиваться, то их представление резко усложнится, чем ограничит круг решаемых проблем сравнительно небольшими проблемами [11].