Для автоматизации ИМ данные и знания о СДС и процессах в них должны быть каким-то образом получены, формализованы и занесены в информационную базу в ЭВМ. Основная проблема – отделить знания и данные от программы имитационной модели, выделив их в самостоятельный элемент системы моделирования, который может пополняться, модифицироваться, читаться и использоваться независимо от остальных составляющих программного обеспечения. Эта проблема работы со знаниями и схожие с ней рассматриваются в методах искусственного интеллекта, и в частности в инженерии знаний.
Системы, основанные на знаниях, определяются как системы программного обеспечения, главными структурными элементами которых являются база знаний (БЗ), база данных (БД) и механизм логического вывода (Рис.10). Они представляют собой дальнейшее развитие "неалгоритмических" параллельных систем с недетерминированным поведением, в которых отдельные компоненты взаимодействуют друг с другом время от времени и независимо.
Рис.10. Простейшая структура интеллектуальной системы
Знания обычно представляются в виде фактов, характерных для окружающего мира (т.е. классов объектов и взаимосвязей между ними), процедур и правил манипулирования фактами, а также в виде информации о том, когда и как следует применять правила и процедуры.
Знания представляются в конкретной форме, а имеющаяся БЗ позволяет их легко определять, модифицировать и пополнять. Решение задач осуществляется с помощью логического вывода на основе знаний, хранящихся в БЗ независимо от механизма управления файлами БЗ.
Таким образом, знания – это формализованная информация, на которую ссылаются или используют в процессе логического вывода при решении стоящей перед исследователем задачи (Рис.11).
Рис.11. Связь между знаниями и выводом при решении задач в интеллектуальной системе
С точки зрения ИМ важным является то, что данные методы позволяют выделять и формализовать знания о СДС и о процессе, протекающем в ней. Эти знания затем могут использоваться при разработке имитационной модели, а так же при синтезе управления. Так как в системах ИИ используются знания, полученные от экспертов, то это дает возможность разрабатывать системы управления, моделирующие деятельность человека и использовать их в процессе принятия решений при моделировании. Как уже отмечалось, СДС в качестве одной из своих особенностей имеет человека в контуре управления, поэтому применение ИИ позволяет создать модель системы управления СДС адекватную, реально существующей.
Еще одно достоинство ИИ – возможность разработки интеллектуального интерфейса для ИМ, что очень важно для обеспечения исследователя гибким и удобным аппаратом.
Применение методов ИИ требует, прежде всего, рассмотрения функционирования моделируемой системы, определения основных законов и формализация их в одной из форм представления знаний, например с помощью семантических сетей, продукционных правил, фреймов и т.п.
Помимо фактов и правил необходимая компонента процесса обработки знаний – механизм логического вывода, являющийся управляющей структурой в интеллектуальной системе. Он определяет способ применения знаний и степень достижения поставленной цели. Управляющая структура позволяет решить, какое из формализованных знаний должно применяться следующим. В большинстве реальных ситуаций объем знаний очень велик, и при этом возможны различные формы управляющих структур.
В системах ИИ механизм логического вывода является зависимым от способа представления знаний, то есть для различных формализмов представления знаний применяются различные механизмы логического вывода. Поэтому выбор формы представления знаний является в определенной степени первичным при создании интеллектуальных систем. Здесь следует учитывать такие факторы, как однородность представления и простоту понимания знаний. Однородное представление приводит к наиболее простому механизму логического вывода и большей простоте управления БЗ. Однако при формализации знаний даже для простых задач, а тем более для сложных, это требование выполнить сложно.
Возможна следующая классификация математических формализмов, наиболее используемых для описания и управления сложных систем и структур (табл.1). В данной таблице методы упорядочены по признаку гибкости представления знаний: в верхней части таблицы указаны более структурированные методы (жесткие, алгоритмические), а в нижней - наиболее гибкие (наиболее открытые, свободные, неупорядоченные).
Методы
Процедурные
"закрытые"
½
½
½
½
½
¯
"открытые",
"неупорядоченные"
1.Конечный автомат
2.Программа
3.Скрипт (схема)
4.Семантическая сеть
5.Фрейм
6.Графы, сети
7.Формальная спецификация
8.Исчисление предикатов
9.Теоремы, правила перезаписи
10.Продукционные правила
11.Предложения на языке
Таблица 1. Классификация методов описания и управления сложными системами.
Основными целями при использовании методов ИИ при имитационном моделировании являются:
1) выйти за рамки алгоритмического (жесткого) подхода в процессе принятия решений при моделировании, чтобы можно было автоматизировать ту часть процесса СДС, где используются знания человека;
2) сделать процесс моделирования максимально гибким по способам представления информации о СДС.
Поэтому из представленных в таблице моделей представления знаний для использования в РДО-методе были выбраны модели, основанные на использовании правил (продукционные модели).
Продукционные модели характеризуются своей открытостью и гибкостью, что позволяет легко формализовать знания, накапливать их, модифицировать БЗ: они легки для восприятия человеком и чаще всего описывают эмпирические ассоциации (взаимосвязи).
Продукционная система состоит из трех элементов: классов и отношений, правил, управляющей структуры. Классы и отношения трактуются как "база данных", которая, по существу, содержит декларативные знания. Процедуры представляют собой набор правил (продукционных правил) типа «ЕСЛИ (условие) ТО (действие)», а управляющая структура определяет, какое правило должно быть проверено следующим. Часто управляющую структуру называют интерпретатором правил. "Условие" – это проверка состояния БД, а "действие" некоторым образом изменяет содержание БД. Если “условие” правила на активном состоянии БД (текущая ситуация в СДС) истинно, то может быть выполнено действие данного правила, что приводит к изменению БД.
Опишем с помощью продукционных правил события в парикмахерской с одним парикмахером. Клиенты приходят в парикмахерскую, после возможного ожидания в очереди обслуживаются и покидают парикмахерскую. Изменения состояния системы происходят в моменты времени, когда приходят новые клиенты, либо когда парикмахер оканчивает обслуживание клиента.
Правило 1.
ЕСЛИ: 1) Клиент прибыл
И 2) Парикмахер свободен
ТО: 1) Перевести парикмахера в состояние “занят”
Правило 2.
ЕСЛИ: 1) Клиент прибыл
И 2) Парикмахер занят
ТО: 1) Число ожидающих в очереди увеличить на единицу.
Правило 3.
ЕСЛИ: 1) Парикмахер закончил обслуживать клиента
И 2) Число ожидающих в очереди не равно нулю
ТО: 1) Число ожидающих в очереди уменьшить на единицу.
Правило 4.
ЕСЛИ: 1) Парикмахер закончил обслуживать клиента
И 2) Число ожидающих в очереди равно нулю
ТО: 1) Перевести парикмахера в состояние “свободен”
Достоинствами продукционных систем можно считать: простоту создания и понимания отдельных правил; простоту пополнения и модификации; простоту механизма логического вывода.
Недостатками продукционных систем являются: неясность взаимных отношений правил; сложность оценки целостного образа знаний; крайне низкая эффективность обработки; отличие от человеческой структуры знаний; отсутствие гибкости в логическом выводе. Для ИМ основным недостатком системы продукций является отсутствие времени, то есть система описывает статический мир. Это хорошо видно из приведенных выше правил работы парикмахерской. Правила описывают причинно-следственные связи, но не динамику процесса. Далее будут введены модифицированные продукции, свободные от этого недостатка.