УДК 004.82, 004.891
Николай Иванович КОСАРЕВ,
профессор кафедры информационных технологий Сибирского юридического института ФСКН России (г. Красноярск), доктор физико-математических наук, доцент
Kosarev nikolai@mail.ru
ПРОДУКЦИОННАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ В СИСТЕМАХ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЯ
PRODUCTION MODEL OF KNOWLEDGE REPRESENTATION IN THE DECISION-MAKING SUPPORT SYSTEMS
В статье рассматриваются возможности построения систем поддержки принятия решений (экспертных систем) для правоохранительной деятельности, приводится конкретная прикладная задача и программная система, в которой используется продукционная модель представления знаний при определении по внешним признакам типа психоактивного вещества, употребленного наркозависимым пациентом.
The possibilities of formation of the decision-making support systems (expert systems) for law-enforcement activity are discussed in the following article. The concrete applied task and programme system with a production model of knowledge representation for defining a type of psychoactive substance used by a drug-addict patient according to the external signs are considered.
Ключевые слова: искусственный интеллект, экспертная система, продукционная модель,
Keywords: artificial intelligence, expert system, production model, а fund of knowledge.
Развитие общества и технический прогресс требуют внедрения инновационных компьютерных технологий во все сферы жизни, в том числе и в правоохранительную деятельность. В силу этого подготовка специалистов, владеющих навыками работы с системами поддержки принятия решений (экспертных систем) для органов ФСКН России приобретает особую актуальность.
Экспертная система (ЭС) - это особый вид систем искусственного интеллекта, представляющий собой программно-аппаратный комплекс, который должен использовать знания эксперта при решении задач в некоторой предметной области. Главное отличие ЭС от обычных программ заключается в том, что последние обрабатывают данные, а ЭС - манипулируют знаниями. Так, любой пользователь персональ-
ного компьютера, знакомый с каким-либо языком программирования высокого уровня, представляет себе как способ описания программы, так и ввода в неё начальных данных для решения задачи. С другой стороны, даже и квалифицированному программисту трудно представить, каким же образом осуществить ввод знаний в компьютерную программу. ЭС представляет собой интеллектуальную программу, являясь разновидностью системы искусственного интеллекта. Главная причина её интеллектуальности кроется в базах знаний для хранения тех самых долгосрочных знаний, которые и использует ЭС для решения неформализованных прикладных задач. Ключевым при создании баз знаний является вопрос относительно способа формализации и организации знаний в ЭС.
В теории построения систем искусственного интеллекта существуют несколько моделей представления знаний, среди которых особую роль играет продукционная модель (или продукционная система). Рассмотрим кратко основные её характеристики.
В продукционной системе единица знаний представляется в виде продукционного правила, которое использует символьную конструкцию вида:
S: ЕСЛИ < условие > ТО <действие> [ ИНАЧЕ <действие 1>],
где S - спецификация правила, а конструкция ЕСЛИ <условие > ТО <действие> [ ...] - ядро правила.
Спецификация правила - это уникальное имя правила.
Ядро правила содержит набор служебных слов. Так, комбинация слов ЕСЛИ ., ТО ... представляет собой причинно-следственную связь;
<условие> - обозначает левую часть правила (антецедент);
<действие> - правая часть правила или заключение (консеквент).
Условие как правило представляет собой логико-лингвистическое высказывание, т.е. символьное выражение, которое принимает значение "истина" или "ложь". Условие должно представлять какой либо сложный факт, относящийся к описываемой задаче. Сложный факт может строиться из простых фактов с помощью логико-лингвистических связок "и", "или", "не", которые соответствуют логическим связкам &У,-- .
Простой факт - это некоторое утверждение, относительно которого можно сказать, истинно оно или ложно.
Действие может состоять из одной или нескольких операций, выполняемых в порядке их перечисления.
Элементарное действие представляет собой либо установление нового факта, который помещается в рабочую память, либо такое действие, как "выдать сообщение", "прочитать данные", "выполнить процедуру" и т.п., в зависимости от специфики задачи.
Правило называется применимым, если условие этого правила является истинным. Процедура применения правила состоит в выполнении действий, перечисленных в его правой части.
Смысл применения продукционного подхода состоит в том, что все знания о предметной области представляются в виде совокупности правил, которые помещаются в базу знаний (базу правил).
Форма правила определяется тем, как представлены элементарные факты.
При построении продукционных правил допускается использование следующих элементарных фактов.
1.Использование образцов текстов:
если "двигатель не заводится" & "стартер двигателя не работает", то "неполадки в системе электропитания стартера";
факт будет считаться истинным, если представляющий его образец текста находится в рабочей памяти; если нет, то факт считается либо ложным, либо неопределенным.
2.Применение кортежей отношений. Могут использоваться описания вида: <объект; атрибут 1, значение 1; атрибут 2, значение 2; ...>. Например, <собака; порода, такса; кличка, Лиза>.
Если такой кортеж имеется в памяти, то факт считается истинным; если нет, то, как и в предыдущем пункте, либо ложным, либо неопределенным.
3.Использование логических переменных.
4.Применение фактовых переменных (числовых, символьных и др. типов): факты задаются как выражения сравнения между фактовыми переменными: если (температура > 0) & (вещество = "вода"), то агрегатное состояние = ("жидкое" "газообразное").
5.Использование предикатов от факто-вых переменных.
Под предикатом понимается двоичная функция от предметных переменных.
Теперь рассмотрим прикладную задачу на использование продукционного подхода к представлению знаний. Предположим, что в городе ^ске дезоморфин является
вторым по популярности наркотиком после героина. После применения героина главными признаками у наркомана являются наличие маленьких "точечных" зрачков и сонливое состояние. Известно, что после применения дезоморфина появляются такие признаки, как сужение зрачков совместно с красными глазами. Еще одним признаком использования дезоморфина является нарушение сна у принявшего его наркомана. Предположим, в наркодиспансер поступает пациент со следами передозировки, которому необходимо срочно оказать первую медицинскую помощь во избежание летального исхода. Способ такой помощи зависит от того, какой вид психоактивного вещества (ПВА) употребил пациент. По внешним признакам необходимо определить, что пациент употребил: героин или дезоморфин.
Прежде всего, перечислим все известные в задаче факты, используя образцы текста.
1. Дезоморфин.
2. Героин.
3. Маленькие "точечные" зрачки.
4. Сонливое состояние.
5. Сужение зрачков.
6. Красные глаза.
7. Нарушение сна.
На основе представленных фактов строим продукционные правила, где в качестве элементарных действий устанавливается новый факт, который затем помеща-
ется в рабочую память. Список таких правил следующий:
П1: ЕСЛИ <Маленькие "точечные" зрачки> ТО <Героин>;
П2: ЕСЛИ <Сонливое состояние> ТО <Героин>;
П3: ЕСЛИ <Маленькие "точечные" зрачки> & <Сонливое состояние> ТО <Героин>;
П4: ЕСЛИ <Сужение зрачков> ТО
<Дезоморфин>;
П5: ЕСЛИ <Красные глаза> ТО <Де-зоморфин>;
П6: ЕСЛИ <Сужение зрачков> & <Красные глаза> ТО <Дезоморфин>;
П7: ЕСЛИ <Нарушение сна> ТО <Де-зоморфин>.
Теперь применим полученные продукции и факты к конкретной программной системе Exsystem.exe, в которой реализован продукционный подход к представлению знаний1. База знаний в представленной оболочке создаётся в MS Access с использованием объекта Таблица. Таких таблиц должно быть три. Первая из них с именем "Факты" (рисунок 1), в ней перечисляются известные для задачи факты, используя образцы текста. Вторая таблица с именем "Условия" (рисунок 2). Эта таблица соответствия номера правила фактам. И третья таблица "Правила" (рисунок 3), в которой каждому номеру правила сопоставляется номер известного факта. Все таблицы, используя схему данных MS
Рисунок 1. Таблица базы Access "Факты"
1 Оболочка предоставлена в учебных целях сотрудниками Института вычислительного моделирования СО РАН в г.Красноярске.
Таблицы ~ « ^ Условия X
Правила Код Правило ' Факт -
_1 Условия 1 1 3
2 2 4
1 Факты
3 3 3
4 3 4
5 4 5
б 5 б
7 6 5
S б б
9 7 7
*
Запись: 1 и 3 9 ► M > Г
Режим таблицы , иш S ¡ш. £ .:
Рисунок 2. Таблица базы Access "Условия"
Таблицы
Правила
3 Условия Факты
"1 Правила X
Код Значение - Добавить поле
+ 1 2
+ 2 2
+ 3 2
+ 4 1
+ 5 1
+ б 1
+ 7 1
* (№)
Запись: и 1 из7 ► Н > \ Поиск
Режим таблицы
,|ЕЭ Д I& M
Рисунок 3. Таблица базы Access "Правила"
Рисунок 4. Организация базы знаний ЭС в программе MS Access
Access, объединяются связями, как показано на рисунке 4. После загрузки оболочки экспертной системы (рисунок 5) необходимо открыть требуемую базу знаний.
Далее щелкаем мышью по кнопке "Машина вывода". В этом окне мышью выделяем исходные факты, соответствующие предполагаемым симптомам. Предположим, эти симптомы соответствуют употреблению героина. В этом случае мы выделяем мышью один или несколько из симптомов, соответствующих употреблению героина. Например можно выделить такие факты, как <Маленькие "точечные" зрачки> и <Сонливое состоянием Далее щёлкаем мышью по закладке "Вычислить". В результате в окне "Результаты логического вывода" мы получим решение задачи в виде, показанном на рисунке 6, в соответствующем окне, где после перечисления введённых исходных фактов в качестве результата получен вывод: героин.
Итак, построенная продукционная модель, оформленная в продукционную программную систему, позволяет по внешним симптомам однозначно определить вид психоактивного вещества, употребленного наркоманом. Обратим внимание на то, что нами была рассмотрена доста-
Рисунок 5. Внешний вид ЭС, реализующей продукционную систему
точно простая модельная ситуация, когда использовалось всего несколько симптомов, соответствующих конкретному виду ПАВ. Для более глубокого понимания специфи-
ки проявления тех или иных симптомов, соответствующих какому-то определённому виду ПВА, необходимы углубленные знания эксперта в этой предметной области. Как следствие, знания и опыт эксперта приведут к значительному увеличению продукционных правил для описания задачи и поэтому к более качественным результатам при логическом выводе программной системы.
В заключение следует отметить, что описанная выше программная система, основанная на продукционной модели представления знаний, может быть использована для самых разнообразных областей практической деятельности людей, в том числе и в правоохранительной сфере, где проблематика решения прикладных задач упирается в системы искусственного интеллекта.
Исходные Факты
Резчльтаты последнего шага логического вывода
Красные глаза ^ Маленькие «точечные» зрачки Нарушение сна Рабочая память (РП)
{Маленькие «точечные» зрачки. Сонливое состояние. Героин}
Сужение зрачков
Конфликтный набор (КН)
П1: Маленькие «точечные» зрачки -> Героин:
П2: Сонливое состояние -> Героин;
ПЗ: Маленькие «точечные» зрачки & Сонливое состояние -> Героин;
Резчльтаты логического вывода (пошаговой
Шег 1: КН = {П1, П2, ПЗ}РП = (Маленькие «точечные» зречки. Сонливое состояние. Героин};
Рисунок 6. Результат логического вывода ЭС
Библиографический список
1.Бессмертный, И.А. Искусственный интеллект / И.А. Бессмертный. - СПб.: СПбГУ ИТМО, 2010.
2.Ручкин, В.Н. Универсальный искусственный интеллект и экспертные системы / В.Н. Ручкин, В.А. Фулин. - СПб.: БХВ-Петербург, 2009.
3.Ясницкий, Л.Н. Введение в искусственный интеллект / Л.Н. Ясницкий. - 2-е изд. -Академия, 2008.