Содержание к диссертации
Введение
ГЛАВА 1. Методологические основы построения имитационно-лингвистических систем 14
1.1. Системы, модели 14
1.2. Проблемы и задачи, решаемые имитационно-лингвистическими системами 20
1.3. Имитационно-лингвистические системы как подмножество интеллектуальных систем 25
1.3.1. Интеллектуальные системы 25
1.3.2. Системы, основанные на знаниях 26
1.3.3. Нечеткие системы 27
1.3.4. Системы ситуационного управления 30
1.3.5. Интеллектуальные системы анализа данных 31
1.3.6. Системы обработки естественного языка 35
1.3.6. Гибридные системы 43
1.4. Измерения и оценивание 49
1.4.1. Измерения 49
1.4.2. Величина 53
1.4.3. Шкалы 55
1.4.4. Оценка и оценивание 57
Выводы 65
ГЛАВА 2. Оценивание величин как метод построения имитационно-лингвистических систем 66
2.1. Оценивание величин 66
2.1.1. Неформальная постановка задачи 66
2.1.2. Формальная постановка задачи оценивания 68
2.1.3. Построение лингвистических шкал оценок величин 69
2.2. Псевдофизическая логика оценок величин 74
2.2.1. Гипотезы и правила вывода для сравнительных оценок 74
2.2.2. Гипотезы и правила вывода для динамических оценок 78
2.3. Оценивания величин на основе нечеткой арифметики 82
2.3.1. Нечеткие числа 82
2.3.2. Операции над нечеткими числами 85
2.3.3. Метрические подходы к оцениванию величин 87
2.3.4. Определение ближайших нечетких чисел 92
2.3.5. Оценивание через дефаззификацию 100
2.3.6. Сравнительные оценки двух нечетких величин 101
2.3.7. Пример применения нечеткой арифметики в оценивании величин 106
2.4. Оценивание величин на основе нечеткой логики 108
2.4.1. Основные операции нечеткой логики и алгоритмы их выполнения 108
2.4.2. Нечеткий вывод 111
2.4.3. Исследования нечеткологической системы оценивания 113
2.5. Нейронные сети для обучения нечеткой системы оценивания величин 138
2.6. Оценивание величин на основе субъективных вероятностей 148
2.6.1. Процедура вывода 148
2.6.2. Определение априорных вероятностей выбора правила 149
2.6.3. База правил системы оценивания 156
2.6.4. Анализ результатов вывода 157
2.8. Оценивания величин на основе алгебраических свойств отношений между величинами 161
Выводы 164
ГЛАВА 3. Методы, модели, алгоритмы планирования действий в имитационно-лингвистической системе .. 166
3.1. Взаимодействие пользователя с имитационно-лингвистической системой 166
3.1.1. Участники взаимодействия и их задачи 166
3.1.2. Модель взаимодействия 173
3.2. Планирование вычислений 182
3.2.1. Продукционное планирование в пространстве задач 182
3.2.2. Планирование с использованием функциональной семантической сети 185
3.2.3. ПРОЛОГ-реализация планирования вычислений 187
3.2.4. ЛИСП-реализация планирования вычислений 194
3.2.5. Обсуждение систем планирования вычислений 197
3.3. Поиск в семантической сети специального вида 199
3.3.1. Представление знаний о предметной области 199
3.3.2. Алгоритм поиска в сети 202
3.4. Пополнение знаний 206
Выводы 212
ГЛАВА 4. Инструментальные средства построения и исследования имитационно-лингвистических систем 213
4.1. Инструментальные средства анализа структурной информации 213
4.2. Инструментальные средства построения и исследования систем оценивания величин на основе нечеткой логики 219
4.2.1. Общая характеристика инструментальных средств 219
4.2.2. Основные элементы интерфейса инструментальных средств 220
4.2.3. Визуализации результатов оценивания 225
4.2.4. Сравнительный анализ инструментальных средств 227
4.3. Инструментальные средства построения и исследования систем оценивания величин на основе псевдофизической логики 230
4.4. Инструментальные средства обучения системы оценивания величин с использованием нейронных сетей 232
4.4.1. Общая характеристика инструментальных средств 232
4.4.2. Основные элементы интерфейса 232
Выводы 236
ГЛАВА 5. Реализация имитационно-лингвистических систем 237
5.1. Моделирование атмосферного канала связи 237
5.2. Прогнозирование классов опасности химических соединений 240
5.2.1. Прогнозирование влияния органических соединений на изменение свойств стали 240
5.2.1. Прогнозирование экологической опасности химических соединений 241
5.3. Оптимизация работы тепловой сети 243
5.4. Обработка хронограмм 248
5.5. Создание сред вузовского обучения 251
5.5.1. Общие вопросы разработки интеллектуальных обучающих систем 251
5.5.2. Агентно-ориентированная технология разработки интеллектуальных обучающих систем 252
5.5.3. Онтологический подход к разработке интеллектуальных обучающих систем 255
5.6. Разработка тренажерных систем 267
5.6.1. Общее описание 267
5.6.2. Формальное описание схемы, как составляющей части тренажера 268
5.6.3. Этапы создания компьютерного тренажера 269
5.6.4. Язык описания сценария тренировки 271
5.6.5. Имитационно-лингвистическая модель 274
5.6.6. Средства создания тренажеров 277
Выводы 279
Заключение 281
Литература
- Имитационно-лингвистические системы как подмножество интеллектуальных систем
- Формальная постановка задачи оценивания
- Планирование с использованием функциональной семантической сети
- Визуализации результатов оценивания
Введение к работе
Актуальность. На рубеже 90-х годов двадцатого века стало возможным говорить о формировании единого мирового информационного пространства и о зарождении информационного общества, основанного на знаниях и информационных технологиях. В это же время родился новый тип экономики, в которой основу составляют производство, распределение и использование знаний. Знание в этой экономике рассматривается как информационный продукт и выступает в роли нового нематериального богатства. Как отмечают авторы работы [1], «одной из главных особенностей новой экономики является совершенствование механизма получения нового знания», по словам В.Л. Макарова [2] «в настоящее время инвестиции в знания растут быстрее, чем в основные фонды: в странах - членах Организации экономического сотрудничества и развития в 90-е годы - в среднем на 3,4% против 2,2%».
Знания - это конечный результат научного познания. Научное познание осуществляется на основе интеграции неформальных и формальных методов, интеллекта человека и возможностей компьютера.
Трактующий мышление с позиций логики, И.С. Ладенко различает два вида знаний - идеи и факты, идеи - это знания о свойствах и отношениях объектов, а их истинность устанавливается с помощью специальных процедур исследования; факты - это знания, констатирующие существование объектов [3]. Известный специалист в области искусственного интеллекта У.Вудс разделяет знания о реальной действительности на факты и правила. Факты, по его мнению, указывают на истинное состояние действительности, правила позволяют как предсказывать изменения во времени или в результате выполнения некоторой последовательности действий, так и косвенным образом получать характеристики ненаблюдаемых явлений (общие физические, логические, психофизические и социологические законы реальной действительности) [4]. В нашей работе знание понимается как достоверное представление человека о реальном мире, его обобщенный опыт, выраженный в виде правил, эвристик, моделей, законов, и представленный как высокоструктурированные данные, сосредоточенные в базах знаний, базах данных, библиотеках программ.
В интеграционных процессах научного познания используются достижения методологии науки и психологии, математики и логики, семиотики и информатики. Особое место здесь занимает информатика, в частности, такие ее разделы как искуственный интеллект и моделирование, позволяющие создавать принципиально новые компьютерные системы получения новых знаний.
Можно выделить ключевые этапы в технологии работы со знаниями: получение новых знаний; представление знаний; обработка знаний; пополнение знаний.
С точки зрения человека, получение новых знаний - это процесс научного творчества. Процесс этот претерпел существенные изменения в связи с вовлечением в него персонального компьютера. Уменьшилась нужда в поста-
новке дорогостоящих натурных экспериментов за счет проведения компьютерных имитационных исследований. Решение любой задачи - это получение неизвестных знаний на основе известных или уменьшение неопределенности известных знаний, считает Е.С. Кузин [5], уточняя, что решение задачи в целом всегда осуществляется комплексной системой человек-компьютер. Получение знаний компьютером преследует две основные цели: 1) извлечение информации из среды, 2) обобщение и структурирование указанной информации. Решение указанной проблемы рассматривается в работах следующих ученых: В.Н. Вагина, Т.А. Гавриловой, В.В. Емельянова, А.П. Еремеева, А.С. Клещева, Е.С. Кузина, О.П. Кузнецова, О.И. Ларичева, Г.С. Осипова, Д.А. Поспелова, Г. Саймона, В.Л. Стефанюка, В.К. Финна, И.Б. Фоминых, В.Г. Хорошевского, А.И. Эрлиха, С. Осуга, Ю. Саки и др.
Рассматривая проблему представления знаний, У. Вудс выделяет два аспекта этой проблемы: выразительную адекватность (способность выделять существенные и игнорировать малозначащие детали) и эффективность нотации, выраженную через такие категории как вычислительная эффективность, концептуальная ясность, компактность представления и простота модификации [4]. Проблеме представления знаний посвящено множество работ отечественных и зарубежных авторов [6-30].
Всякий доступ к явлениям действительности происходит посредством построения моделей, приближений и уточнений, утверждает Д. Люгер [13]. Моделирование - это средство формализации знаний и одновременно средство получения нового знания. Как отмечают А.А. Самарский и А.П. Михайлов, методология математического моделирования стала интеллектуальным ядром информационных технологий [31]. У исследователей появилась возможность больше генерировать гипотез, ставить имитационный эксперимент, интерпретировать полученные результаты.
Основным средством реализации экономики знаний являются компьютеры и информационные технологии, призванные обеспечить перенос в компьютерные системы накопленный человеческий опыт. На важность этой проблемы указывал академик А.П. Ершов, полагавший, что основная задача информатизации заключается в созданиии информационного фонда человечества в глобальной компьютерной сети. Задача автоматизации человеческой деятельности актуальна всегда.
Повышение интеллектуальности информационных технологий, считает В.П. Ильин, «ставит сложную задачу вовлечения в технологическую цепочку математического моделирования таких традиционных атрибутов искусственного интеллекта, как средства принятия решений, экспертные системы и проблемно-ориентированные базы знаний» [32].
Несмотря на то, что идея совместного использования данных количественных и качественного характера высказывалась еще в 70-е годы в ситуационном управлении Д.А. Поспеловым и его учениками [19, 23, 33, 34], а в моделировании систем Н.П. Бусленко [35], проблема эта далека от своего решения. Актуальными являются задачи разработки методов и средств решения
слабо структурированных проблем, к которым относятся задачи, решаемые с помощью эвристических и аналитических методов и моделей. К слабоструктурированным относятся проблемы исследования предметных областей, в основе описания которых лежат понятие величины, где под величиной понимается изменяющееся свойство объекта, измеренное в шкалах сильнее номинальной. Методологической основой для решения слабо структурированных проблем является утилитарная концепция измерения, которую разработали С.С. Гончаров, Ю.Л. Ершов, К.Ф. Самохвалов [36]. Предложенный Е.Е. Ви-тяевым в работах [37, 38] подход к созданию формальной теории предметных областей, в основе описания которых лежат понятие величины, опирается на методы конструктивной логики, однако здесь отсутствуют средства учета нечетких данных и не рассматриваются средства имитации, что затрудняет моделирование сложных предметных областей. В настоящем диссертационном исследовании устраняется этот недостаток.
Управление знаниями требует создания интерфейсов, обеспечивающих массовое применение компьютеров. В условиях отсутствия единой теории языкового общения, необходимо организовать взаимодействие на естественном языке, ограниченном семантикой и прагматикой исследуемой предметной области. Проблемам общения посвящено достаточно большое количество работ, над решением этой проблемы работали следующие отечественные и зарубежные ученые: Ю.Д. Апресян, А.П. Ершов, У. Вудс, А.С. Нариньяни, Э.В. Попов, Ч. Филмор, Р. Шенк. Актуальной в связи с изложенным является организация коммуникативного взаимодействия пользователя с компьютерной системой.
Научные и практические результаты, полученные в диссертации, нашли применение в госбюджетной работе 1.2.01 «Исследование алгоритмов моделирования функционирования территориально-распределенных инженерных сетей».
Целью работы является разработка методологических основ и программно-инструментальных средств создания имитационно-лингвистических систем.
Для достижения указанной цели необходимо решить следующие задачи:
разработать методы и приемы совместного использования информации количественного и качественного характера;
разработать методы и приемы оценивания величин;
разработать приемы структурной и параметрической идентификации нечетких систем оценивания величин;
разработать модели и алгоритмы взаимодействия пользователя с имитационно-лингвистической системой, основываясь на гипотезе о «компьютерной речи».
Научная новизна. Развита методология построения имитационно-лингвистических систем, предназначенных для изучения свойств объектов исследуемых предметных областей, в основе описания которых лежит поня-
тие величины. В рамках указанной методологии получены следующие научные результаты:
разработаны и исследованы методы оценивания величин: методы, основанные на псевдофизической логике оценок величин, методы, основанные на нечеткой арифметике и нечеткой логике, методы на основе алгебраических свойств отношений между величинами;
разработаны и исследованы предикатно-грамматические модели зависимостей «структура-свойство» для автоматизации анализа и обработки структурной химической информации;
предложена обобщенная модель обработки запроса в имитационно-лингвистической системе, состоящая из четырех частных моделей: модели лексики языка, модели грамматики языка запросов, моделей лексической и синтаксической адаптации системы к запросам пользователя.
Практическая ценность работы заключается в разработке следующих средств:
методик, алгоритмов и программ, реализующих методы представления и переработки информации качественного характера в имитационно-лингвистических системах;
адаптивных алгоритмов лексического и синтаксического анализа запросов пользователя, позволяющие учитывать профессиональную подготовку пользователя и исправлять орфографические ошибки;
программно-инструментальных комплексов построения и исследования имитационно-лингвистических систем, позволяющих настраивать систему на исследуемую предметную область и логику пользователя.
Обоснованность предложенных методов подтверждена использованием их для решения практических задач. Основные результаты диссертационной работы используются в отделе информационных технологий ФГУП «НПЦ «Полюс» в виде методик совместного использования информации количественного и качественного характера, а также в виде алгоритмов оценивания величин при моделировании систем преобразовательной техники и электромеханики. Разработанные методы и средства обработки данных количественного и неколичественного характера используются в Томском НИИ курортологии и физиотерапии при разработке моделей назначения больным различных нозологии интенсивных курсов лечения и для выявления и оценки параметров биоритмов. В Институте химии нефти СО РАН разработанные имитационно-лингвистические модели прогнозирования свойств химических соединений использованы в научно-исследовательской работе при выполнении нескольких бюджетных и хоздоговорных НИР. Программно-инструментальные средства проектирования тренажеров и программный комплекс моделирования зависимостей «структура-свойство» применяются в решении производственных задач на Томской ТЭЦ-3 ОАО ТОМСКЭНЕРГО, здесь же внедрены методы и средства обработки неколичественной инфор-
мации в постоперативном контроле работы ТЭЦ-3, когда программно-информационный комплекс используется в деятельности инженерного персонала цеха наладки и испытаний оборудования ТЭЦ-3 для проведения плановых и экспресс испытаний, а также планирования ремонтов оборудования. Программно-инструментальные средства выбора оптимального состава работающего оборудования тепловой сети вошли в итоговый отчет госбюджетной работы 1.2.01 «Исследование алгоритмов моделирования функционирования территориально-распределенных инженерных сетей», выполненной в ТУСУР.
Часть программно-инструментальных средств передана в отраслевой фонд алгоритмов и программ Министерства образования Российской федерации (свидетельства регистрации 3747, 3748, номера государственной регистрации 50200400971, 50200400972). Теория построения имитационно-лингвистических систем положена в основу учебного курса «Методы искусственного интеллекта», читаемого автором в ТУСУРе для студентов специальности 220200.
Текст диссертационной работы изложен в пяти главах. В первой главе рассмотрены проблемы и задачи, решаемые имитационно-лингвистическими системами (ИЛС), определены цели их создания, указано место этих систем на множестве компьютерных систем. Анализ целей разработки ИЛС и особенностей исследуемых предметных областей позволил сформулировать требования к созданию таких систем, важнейшими из которых являются требование совместного использования количественных и качественных методов исследования предметных областей и требование интерактивного взаимодействия конечного пользователя с системой. Основным действием или операцией, определенной как на количественных так и на качественных данных, в ИЛС является оценивание величин. Проведенный в первой главе анализ позволил декомпозировать задачу создания имитационно-лингвистических систем на ряд следующих подзадач:
разработка средств оценивания величин;
создание средств сборки моделирующих программных модулей в рамках решения задачи имитационного моделирования:
определение объема и структуры семантической сети, информация в которой представлена в виде потенциально выводимых знаний в рамках средств оценивания величин;
создание модели языка общения;
Во второй главе приведены методы, модели и алгоритмы оценки величин. В работе предложены и исследованы следующие новые методы оценивания величин:
1) псевдофизическая логика оценок величин; суть оценивания здесь заключается в сопоставлении двух разнотипных шкал, допустимым преобразованием в которых является операция сдвига; значения сдвигов были определены путем проведения серий психометрических экспериментов, на основании которых были сформулированы правила вывода;
оценивание на основе нечеткой арифметики; здесь рассмотрены четыре типа наиболее часто используемых нечетких чисел: треугольные, трапециевидные, параболические, гауссовы; приведены метрические методы оценивания, имеющие геометрическую интерпретацию, решена задача нахождения ближайшего нечеткого числа, а также сравнения нескольких нечетких величин на основе интегральной меры;
нечеткие системы оценивания, основой которых является нечеткая база правил; здесь исследовано влияние на результаты вывода различных операторов конъюнкции (/-нормы), импликации (классической, неклассической), агрегации (аппроксимация Мамдани, формально-логический способ); параметрическая идентификация нечеткой системы оценивания проведена с использованием нейронной сети;
оценивание-на основе субъективных вероятностей позволяет учитывать несовпадающие мнения экспертов при оценивании однотипных ситуаций, описываемых антецедентом правила; базируется указанный тип оценивания величин на модифицированном байесовском подходе;
оценивание на основе алгебраических свойств отношений между величинами, представленное в виде аксиоматической системы, в которой носителем является множество величин, а сигнатура определена на множестве отношений: «больше» (>), «меньше» (<), «равно» (=), «неравно» (^, «больше или равно» ( ^, «меньше или равно» ( ^(, «противоречиво», «неопределенно».
В третьей главе рассмотрены методы, модели, алгоритмы планирования действий в имитационно-лингвистической системе. Здесь различаются следующие виды действий: оценивание, вычисление, поиск в семантической сети специального вида, взаимодействие с пользователем. Основными функциями лингвистического обеспечения имитационно-лингвистических систем являются следующие: представление знаний о языке общения; перевод сообщения пользователя на язык, понятный компьютеру, и выявление целей пользователя; определение вида работы системы и обеспечение информацией вычислительных процессов; синтез (формирование) ответа на языке пользователя. Под планированием вычислений в работе понимается поиск последовательности действий, приводящих к достижению поставленной цели. В работе рассматриваются два способа планирования: декомпозиция больших программных систем на небольшие программные модули и далее композиция из модулей целевой программной системы, обеспечивающей решение поставленной пользователем задачи и планирование в пространстве задач (формул). При построении имитационно-лингвистических систем важную роль играют методы представления знаний об исследуемой предметной области. Автором выбрана семантическая сеть специального вида. Особенностью данного типа сети является то, что в качестве понятий здесь выбраны величины, характеризующие свойства объектов исследуемой предметной области. Основой для построения сети служат данные, полученные в результате опроса экспертов и анализ научно-технических источников информации по
исследуемой предметной области. Форма хранения информации в сети выбрана так, что данные представлены в виде сведений в рамках некоторого логического исчисления.
В четвертой главе рассмотрены инструментальные средства, которые решают следующие задачи: подготовка исходных данных, формирование и отладка алгоритмов, проверка адекватности используемых моделей.
В пятой главе приведены примеры применения имитационно-лингвистических систем для решения задач моделирования, прогнозирования, оптимизации и обучения.
В главе рассмотрено применение имитационно-лингвистических систем для решения проблемы прогнозирования опасности химических соединений: экологической опасности и влияние органических соединений на изменение свойств материалов паропроводов высокого давления. Решение указанной проблемы предполагает решение задач компьютерного ввода и представления химических соединений, а также оценки физико-химических свойств химических соединений путем анализа их структур. Основываясь на результатах эксперимента, нами разработана инструментальная система компьютерного представления химических структур и моделирования их воздействия на изменение механических свойств материалов паропроводов. Система представляет собой набор универсальных алгоритмов и программ, настраиваемых на экспериментальные данные. Основные функции системы - это моделирование влияния химических соединений на свойства стали, а также ввод, редактирование, представление структурной химической информации. Моделируются изменение временного сопротивления разрушению, условного предела текучести и твердости, относительного удлинения и ударной вязкости. Кроме того, химические соединения разбиваются на классы опасности в зависимости от степени воздействия на указанные выше параметры стали.
Экологическая опасность характеризуется следующими параметрами: предельно допустимая концентрация, летальная доза и класс опасности. Указанные параметры получают экспериментальным путем (опыты на животных), что требует больших материальных и временных затрат. Оценка данных характеристик возможна на основе моделирования. В работе рассмотрена комплексная система моделей, включающая предикатно-грамматическую модель, регрессионные модели и модель аналогий.
Пакет программ имитационно-лингвистического моделирования атмосферного информационного канала предназначен для имитации на компьютере флуктуации любых параметров (амплитуды, фазы, разности фаз и др.) разнесенных сигналов, необходимых при анализе и оптимизации качественных показателей информационных радиотехнических систем. Параметры имитационной модели атмосферного информационного канала, разработанной Ю.М. Полищуком, определены по экспериментальным данным о флук-туациях амплитуды, фазы, разности фаз и интенсивности случайных электромагнитных полей. Запросы разработчиков радиотехнических систем сво-
дятся к нахождению статистических характеристик сигнала в зависимости от значений параметров канала.
В работе рассмотрена проблема выбора оптимального состава работающего оборудования. Для решения указанной проблемы решены следующие задачи: разработаны имитационная модель тепловой сети, создан интерфейс пользователя с имитационной моделью для изменения параметров тепловой сети, определена целевая функция и ограничения.
В работе исследуются модели двух типов обучающих систем: вузовские среды и производственные тренажеры. Создание среды вузовского обучения предполагает разработку ряда моделей: онтологическую модель изучаемой дисциплины, модель обучающего (преподавателя), модель обучающегося (студента), а также создание правил обучающих воздействий. Среда вузовского обучения есть многоагентная система, задаваемая следующими компонентами: множеством агентов, множеством отношений между агентами, множеством действий, выполняемых этими агентами, средой обитания агентов. В системе определены следующие агенты: Преподаватель, Студент, Психолог, Методист, Администратор.
Все главы сопровождаются выводами, вытекающими из сущности рассматриваемых разделов. Приложения содержат акты внедрения результатов диссертационной работы, результаты экспериментов и другие иллюстративные материалы.
В выполненной диссертационной работе решена научная проблема комплексного оценивания количественных и качественных величин и создания на их основе инструментальных средств построения имитационно-лингвистических систем. Внедрение разработанных моделей, алгоритмов и программно-инструментальных средств вносит значительный вклад в решение проблемы разработки интеллектуальных систем моделирования.
Автор благодарен своим коллегам - сотрудникам кафедры Автоматизации обработки информации Томского университета систем управления и радиоэлектроники за непосредственное участие в обсуждении многих положений диссертационной работы.
Автор признателен своему научному консультанту - заведующему кафедрой Автоматизации обработки информации профессору Ехлакову Юрию Поликарповичу.
Особая благодарность автора за научное и практическое сотрудничество адресуется студентам кафедры Автоматизации обработки информации Томского университета систем управления и радиоэлектроники.
Имитационно-лингвистические системы как подмножество интеллектуальных систем
В настоящее время одним из символов научно-технического прогресса стал термин «искусственный интеллект», обозначающий научную дисциплину, задачей которой является воссоздание с помощью компьютера разумных рассуждений и действий. Исторически искусственный интеллект развивался в двух парадигмах: когнитивистской и бионической [75]. В рамках когнити-вистского подхода разрабатывались различные модели представления знаний (исчисления предикатов, семантические сети, продукции, фреймы) и соответствующие указанным моделям способы выводов (логический, правдоподобный, приближенные рассуждения, наследования, означивание). Бионическая парадигма развития искусственного интеллекта ориентирована на имитацию структур и процессов головного мозга человека или, в более широком смысле, на имитацию механизмов, присущих живым существам. В рамках данного подхода родились и развиваются нейронные сети и генетические алгоритмы. Указанные два направления до недавнего времени развивались независимо друг от друга. Однако в начале 90-х годов указанные две парадигмы начали сближаться, стремясь преодолеть недостатки и усилить достоинства каждой из них.
Стремительное увеличение производительности современных компьютеров позволили реализовать идеи искусственного интеллекта в решении практических задач. Практическими воплощениями этих идей являются интеллектуальные системы. Понятие «интеллектуальные системы» разные авторы трактуют по разному, акцентируя внимание на важных, с их точки зрения, аспектах и функциях систем. Авторы работы [76, стр. 7] считают, что интеллектуальные системы создаются с целью заменить человека, например, врача - медицинской экспертной системой. На взгляд автора настоящей диссертационной работы, не правомерно ставить вопрос о замене человека компьютерной системой. Интеллектуальная система призвана помогать человеку, не подменяя его. Такое толкование интеллектуальной системы присутствует в работе [77], где под интеллектуальной системой понимается пара {человек, компьютерная система}, т.е. это человеко-машинная система, поддерживающая и усиливающая возможности человека.
Интеллектуальной называется компьютерная система, способная выполнять действия, которые характеризуются как разумные, интеллектуальные; системы данного типа способны использовать эвристики. Интеллектуальные системы отличаются от обычных компьютерных программ тем, что они могут решать задачи, не имея алгоритма, а только в соответствии с поставленной задачей.
Системы, основанные на знаниях, характеризуются наличием в их составе двух компонентов: базы знаний и машины логического вывода. Таким образом, в таких системах знания о предметной области отделены от процедур вывода и знаний о работе самой системы. Экспертные системы базируются на знаниях эксперта, работают в узких предметных областях и способны объяснить свои действия и результаты.
Появление в семидесятые годы термина «экспертные системы» без достаточно полного его описания и обоснования еще более запутал терминологическую ситуацию. Оказалось, что многие разработчики компьютерных программ занимаются разработкой экспертных систем. Стремление размежеваться с такими псевдоразработчиками породило термин «системы, основанные на знаниях» в качестве аналога термина «интеллектуальные системы» [20]. Однако в литературе продолжают существовать все указанные термины и смысл в эти термины авторы вкладывают не всегда одинаковый.
Рассмотрим еще один тип систем, основанных на знаниях, - динамические интеллектуальные системы, целью создания которых является решение задач динамического планирования, то есть планирования в условиях изменения среды или ресурсов. Такая постановка задачи по существу близка к постановке задач управления, но решение ее основано «на представлении знаний и в качестве модели и законов управления используются экспертные либо эмпирические знания из базы знаний» [78, 79]. В состав динамических систем, основанных на знаниях, входят следующие компоненты: база данных, база знаний, процедуры замыкания и переходов. База данных содержит факты из некоторого заданного множества. Здесь хранятся как исходные факты, так и полученные в результате работы процедур замыкания и переходов. Последние построены для двух способов представления знаний - систем правил и семантических сетей.
Исследуемая предметная область может не иметь аналитического описания, однако эксперты могут описать взаимодействие объектов предметной области посредством лингвистических переменных и правил естественного языка, содержащих качественную оценку ситуации. Основой для описания ситуации является нечеткое высказывание следующего вида: xt есть ХІ или Xi = Xh где Х{ - некоторая величина, Х{ - элемент терм-множества лингвистической переменной из исследуемой предметной области.
Нечеткая система выполняет отображение из входного пространства А с 9Г в выходное пространство В с W. Такая система является системой типа «много_входов - много_выходов» (MIMO - multiple_input-multiple_output). Если система имеет т входов и г выходов и входное и выходное пространства являются многомерными, то входное пространство определяется как А = А1х...хАт, а выходное пространство - как В = В1х...хВг,
где А;,Вj с 9?. Обозначим а = [аха2...ат\ и Ъ = [b{b2..br] как входной и выходной векторы, соответственно. Отображение вход/выход может быть представлено как множество нечетких правил типа «ЕСЛИ-ТО». Каждое правило состоит из двух частей: условной и заключительной частей. Антецедент или условная часть (ЕСЛИ-часть) содержит утверждение относительно значений входных переменных, в консеквенте или заключительной части (ТО-части) указываются значения, которые принимают выходные переменные. Такая запись предполагает существование некоторой релевантной связи между антецедентом и консеквентом, причем антецедент и консеквент, по мнению Г. фон Вригта, не должны быть случайными, а, напротив, логически необходимо истины; они представлены как примеры некоторых общих свойств [80].
Формальная постановка задачи оценивания
В основе построения моделей оценивания величин лежит применение лингвистических переменных (ЛП) [196]. В рамках диссертационной работы будут рассмотрены следующие виды оценок величин: абсолютная нечеткая статическая (АНС), абсолютная нечеткая динамическая (АНД), сравнительная нечеткая статическая (СНС) оценки. Нечеткие оценки характеризуются своим именем, областью определения, количеством термом или числом возможных градаций. АНС-оценка может быть задана следующим множеством слов и словосочетаний: очень малые, небольшие, чрезвычайно большие и т.п. Таким образом, терм здесь задается как нечеткое число. АНД-оценка задается такими оценочными выражениями (лингвистическими термами): очень резко уменьшается, слабо уменьшается, постоянно, увеличивается и т.п. СНС-оценка задается следующими оценочными выражениями: много меньше, равны, больше и т.п. При рассмотрении динамических оценок учитывается диапазон ( интервал, область ) изменения оцениваемой величины, с этой целью введена ЛП «Интервал», которая задается на множестве слов: узкий, средний, широкий. Определим еще три ЛП, соответственно трем рассмотренным выше оценкам АНС, АНД, СНС, с именами «Значение», «Поведение», «Сравнение». Терм-множество каждой ЛП совпадает с соответст вующим множеством оценочных выражений. Для каждого терма ЛП необходимо определить функцию принадлежности, о методах получения которых будет сказано ниже.
В оценивании будем выделять оценки-посылки и оценку-заключение, тогда можно определить три следующие ситуации в нахождении оценок величин: 1) оценки-посылки и оценка-заключение в одной и той же шкале, напри мер, нахождение среднего значения нескольких нечетких величин: АхС х ... хДхС = АхС, х є (Ч, Н}; 2) оценки-посылки в одной шкале, оценка-заключение в другой: хНС= хЧС, хе{А,С}; АНС х АНС = СНС; 3) оценки-посылки в разных шкалах, оценка-заключение в одной из шкал оценок-посылок: АНС х СНС = АНС (2.1) АНС х СНС х D = АНС (2.2)
Формулировка (2.1) интерпретируется следующим образом: оценить величину а„ по известной оценке величины щ по отношению сравнения величин ап и щ. Формулировка (2.2) интерпретируется следующим образом: оценить величину cij в конце диапазона изменения, если известны характер ее поведения, ее оценка в начале диапазона и оценка величины диапазона. Оценивание величин проводится на лингвистических шкалах согласно определенным ниже правилам.
Рассмотрим формальную постановку задачи в терминах теории измерений. Пусть имеется шкала &, Ave, f , в которой /отображает А в Aw, и пусть имеется шкала ЬхЬ, Cw, g , где g отображает ЬхЬ в &ю. Существует некоторая операция « -»», которая после ее выполнения над двумя оценками величин/ и g(a, b), где а, Ъ єА, позволяла бы давать оценку величине b, i.Q.f(b) = /(a) «- g(a, b). Таким образом, необходимо построить шкалы и определить операцию
Все лингвистические шкалы в данной работе построены по методикам, изложенным в работах [197, 198]. В экспериментах по построению шкал участвовало 30-60 экспертов.
Для построения лингвистической шкалы АНС-оценок был выбран исходный набор из 15 слов и словосочетаний, выражающих нечеткое значение величины. Отобранные слова и словосочетания были отпечатаны на отдельных карточках и предъявлялись экспертам. Эксперты должны были разложить карточки по позициям шкалы. Результаты эксперимента сведены в таблицу 2.1.2. Здесь М и Д - величины, характеризующие меру центральной тенденции распределения и меру рассеяния, соответственно. Как видно из таблицы, предложенный набор оценок значения величин однозначно не упорядочен. В этих условиях при окончательном отборе слов и словосочетаний для шкалы АНС-оценок руководствуемся рекомендациями, данными в работе [197]: не включаем термы с большой мерой рассеивания, стремимся к симметричности шкалы по выбранным термам («очень большие» - «очень малые») стремимся, чтобы расстояние между выбранными термами по мере центральной тенденции было одинаковым
Окончательно для шкалы АНС-оценок отобраны следующие термы: чрезвычайно малые (ЧМ), очень малые (ОМ), довольно малые (ДМ), малые (М), не очень малые (НОМ), средние (С), не очень большие (НОБ), большие (Б), довольно большие (ДБ), очень большие (ОБ), чрезвычайно большие (ЧБ).
Для эксперимента по составлению лингвистической шкалы АНД-оценок экспертам предъявлялся набор из 28 слов и словосочетаний, выражающих нечеткое поведение величины, и шкала из 15 категорий от -7 до +7, а также рисунок (рис.2.1), на котором были изображены изменения величин, помеченных цифрой из набора категорий. Экспертам ставилась задача разделить карточки с наименованием поведения величин на 15 классов, соответствующих пятнадцати категориям шкалы. Результаты эксперимента сведены в таблицу 2.1.3.
Окончательный отбор для шкалы АНД-оценок дает набор из следующих 15 термов: очень резко увеличивается (В7), резко увеличивается (В6), сильно увеличивается (В5), заметно увеличивается (В4), увеличивается (ВЗ), слабо увеличивается (В2), очень слабо увеличивается (В1), постоянна (П), очень слабо уменьшается (Ml), слабо уменьшается (М2), уменьшается (МЗ), заметно уменьшается (М4), сильно уменьшается (М5), резко уменьшается (Мб), очень резко уменьшается (М7).
Планирование с использованием функциональной семантической сети
В данном разделе будет рассмотрена хорошо структурированная проблемная область, описание которой дано не через набор программных модулей и их спецификационные интерфейсы, а посредством математических формул. Алгоритм планирования вычислений основан не на сборке отдельных программных модулей, а на сборке формул. Основанием для планирования вычислений являются имена исходных данных, цель вычисления (имена выходных данных) и описание проблемных областей. Описание проблемных областей задано здесь в виде функциональной семантической сети, которая представляет собой граф с вершинами двух типов [23]. Посредством вершин первого типа задаются параметры решения проблемной задачи, вершины второго типа (разрешения) определяют функциональные отношения между параметрами. Определение траектории решения осуществляется в два этапа. На первом этапе путем прямого просмотра от исходных данных к цели формируется список разрешений, приведших к цели. Первый этап состоит из следующих шагов:
1) делается попытка найти разрешение, для выполнения которого достаточно имеющихся исходных данных и выполнение которого приведет к цели;
2) если предыдущий шаг закончился неудачей, то ищется разрешение, для выполнения которого достаточно имеющихся исходных данных; переменная, относительно которой задано разрешение, считается вычисленной и заносится в список исходных данных; найденное разрешение запоминается.
Шаги 1 и 2 повторяются до тех пор, пока либо не будет найдена цель, либо не будет установлен факт невозможности такого достижения.
На втором этапе осуществляется обратный просмотр найденных разрешений от цели к исходным данным, что позволяет избавиться от ненужных разрешений. Разрешения, хранящиеся в результирующем списке, путем последовательных подстановок могут быть приведены к результирующей формуле вычисления цели по исходным данным. Полученная формула обрабатывается интерпретатором, в результате находится количественное выражение цели.
Рассмотрим процедуру планирования. База знаний системы планирования вычислений состоит из следующих четырех областей:
1) описания проблемных областей, т.е. программная реализация функциональной семантической сети; 2) область описания исходных данных; 3) область описания цели; 4) область описания выбранных разрешений. Собственно процедура планирования вычислений состоит из четырех шагов:
1. Из описания проблемных областей удалить все те разрешения, которые описывают расчет параметров, заданных в качестве исходных.
2. Выбрать из описания проблемных областей такое разрешение, применение которого к исходным данным из области описания исходных данных приведет к достижению цели. Если выбор удачен, то добавить найденное разрешение в область описания выбранных разрешений и перейти к шагу 4 .
3. Выбрать из описания проблемных областей любое разрешение, применимое к исходным данным. Если такого разрешения нет то выдать сообщение о неудачном поиске и прекратить работу, иначе добавить в область описания выбранных разрешений найденное разрешение; параметр, относительно которого выполняется данное разрешение добавить в область описания исходных данных; удалить из описания проблемных областей все разрешения относительно найденного параметра и перейти в шагу 2 . 4. Из запомненных в базе знаний разрешений удалить лишние путем обратного просмотра их от цели к первоначально заданным параметрам.
Язык ПРОЛОГ предназначен для программирования приложений, основанных на символьной обработке данных. При этом программист описывает проблемную область, задавая для этого необходимые факты и правила, а ПРОЛОГ-система сама строит дедуктивный вывод на введенных данных. Логическая программа представляет собой выполнимую формулу в некоторой логике. К логической программе обращаются с запросами. Запрос - это тоже формула. Запрос может быть логическим следствием программы, а может и не быть (успешное или неуспешное выполнение).
Общепризнанным достоинством языка ПРОЛОГ является наличие мощных процедур логического вывода и возможность достаточно простого пополнения базы знаний. В нашей работе делается попытка использовать эти свойства для формирования функциональной семантической сети и поиска решения на сети [236]. Наиболее распространенной стратегий планирования вычислений на функциональной семантической сети является метод распространяющихся волн [23].
Базовая программа для решения задачи планирования вычислений приведена ниже [237]. R:- input(F, Li, RI), member(F, Li), write("\n", Li, "\n", Rl),!. R:-input(_,Li,Rl), find(Li, Rf), annotate([Rf As]), equal(As, Li, Ar, Rl), rnr(Rf, Ar), R.
Здесь использован предикат динамической базы данных input, который имеет три аргумента: первый - это имя искомого целевого параметра, второй -список имен известных параметров, третий - список соответствующих значений этих параметров. Согласно первому предложению, программа R успешно заканчивает работу, если целевой параметр окажется в списке известных параметров. Если же это не так, то, согласно второму предложению программы R, предикат find ищет отношение, удовлетворяющее условиям возбуждения. Предикат annotate по имени найденного отношения определяет список имен параметров, необходимых для его выполнения. Формирование списка значений этих параметров в соответствии с расположением в списке имен выполняет предикат equal. Вычисление параметра выполняет предикат тг.
Процедура find(Li, RJ), осуществляющая поиск разрешения Rf, удовлетворяющего условиям возбуждения, имеет следующий вид: find(LI, R):- annotate([R Ar]), inter(Ar, LI, N1), length(N, Аг), N = N1+1. Здесь сначала просматриваются факты с именем annotate и формируются список аргументов Аг для отношения R, подсчитывается число совпавших элементов в списках Аг и LI; если список Аг содержит равно на один параметр больше известных (заданных, вычисленных), то процедура find успешно завершается. Имеющиеся отношения собраны в базу отношений, каждый предикат которой имеет следующий вид: annotate([MHMH_ отношения", "параметр_1",..., " параметр_п"]). Процедура подсчета известных параметров в выбранном отношении приведена ниже: inter(Ar, LI, N):- member(X, Ar), member(X, LI),!, de!ete(X, LI, LI1), delete(X, Ar, Arl), inter(Arl, LI1, N1), N = N1+1. inter(_, _, 0).
Порядок следования известных параметров и их значений не совпадает в общем случае с порядком следования параметров в выбранном отношении. Формирование списка значений аргументов в соответствии с форматом записи отношения осуществляет приведенная ниже процедура equal:
Визуализации результатов оценивания
Сравнение ведется с пакетом Fuzzy Logic Toolbox системы MATLAB и системой fuzzy Tech.
Система MATLAB - это интегрированная программная среда, предназначенная для выполнения расчетов и моделирования, в том числе и нечеткого с использованием пакета Fuzzy Logic Toolbox. Работа с указанным пакетом ведется либо в интерактивном режиме, либо в режиме команд, используя входящие в состав пакета функции. В интерактивном режиме пользователю предоставлены следующие средства редактирования и визуализации: 1) редактор систем нечеткого вывода, позволяющий менять такие параметры как число входных и выходных переменных, тип нечеткого вывода, метод дефаззификации, способ задания логических операций; 2) редактор функций принадлежности, с помощью которого в графическом режиме можно модифицировать функции принадлежности; 3) редактор правил нечеткого вывода, предназначенный для задания и редактирования нечетких правил, используя для этого возможности графического интерфейса; 4) средства анализа результатов нечеткого вывода, включающие программу просмотра процесса нечеткого вывода и программу просмотра результирующей поверхности нечеткого вывода.
Система MATLAB имеет собственный язык программирования. Программы хранятся в формате специальных m-файлов. Выполнение программы осуществляется в режиме интерпретации.
Для настройки нечетких систем в пакете Fuzzy Logic Toolbox используется адаптивная система нейро-нечеткого вывода ANFIS.
Если система MATLAB - это универсальное средство для расчетов и моделирования, то система fuzzyTech является специализированным средством для разработки нечетких систем, трансляции их в один из языков программирования (С, Java, MS Visuale С"4", COBOL, Assembler) для дальнейшего использования в программируемых микроконтроллерах. Разработка нечеткой системы в среде fuzzyTech ведется в интерактивном режиме с использованием следующих графических средств: 1) редактор проекта нечеткой системы, предназначенный для визуализации структуры всего проекта и представления связей между отдельными компонентами проекта (входные и выходные лингвистические переменные, блоки правил вывода); 2) редактор лингвистической переменной, который служит для графического задания и изменения функций принадлежности отдельных термов лингвистической переменной; 3) табличный и матричный редакторы нечетких правил; 4) средства анализа результатов нечеткого вывода, включающие специальные графические окна режима отладки, предназначенные для визуализации значений лингвистических переменных, и анализатора нечетких правил.
Кроме того, для быстрой разработки прототипа нечеткой системы в среде fuzzyTech можно использовать специальные средства или мастера.
Основные характеристики средств разработки нечетких систем приведены в таблице . Общие выводы по сравнительному анализу рассмотренных средств приведены ниже.
Система MATLAB обладает универсальными возможностями для исследования нечетких систем, имеет ограниченные возможности по внедрению разработанных нечетких систем в общую систему моделирования.
Специализированная система fuzzyTech хорошо справляется с задачами разработки и исследования нечетких систем и реализации их в программируемом микрокалькуляторе, она также пригодна для внедрения в интегрированную систему моделирования.
Разработанные автором инструментальные средства построения и исследования систем оценивания величин на основе нечеткой логики просты в использовании при разработке и исследовании нечетких систем. Программные средства включаются в интегрированную систему моделирования в виде программных объектов, функций, процедур, динамически загружаемых библиотек. Несомненным достоинством предлагаемых средств является наличие в их составе программы анализа полученного результата с предполагаемым эталоном. Таким образом, предлагаемые автором инструментальные средства хорошо решают задачу разработки, исследования и включения разработанных нечетких систем в общую систему моделирования не хуже таких систем как Fuzzy Logic Toolbox и fuzzy Tech. С учетом затрат на приобретение указанных систем предпочтительными являются средства, разработанные автором настоящей работы.
Инструментальные средства построения и исследования систем оценивания величин на основе псевдофизической логики (ИСПЛ) предназначены для построения лингвистических шкал оценок величин и формирования правил вывода для сравнительных и динамических оценок. Эти средства содержат процедуры ввода экспериментальных данных, вычисления мер центральной тенденции и рассеяния, реализации экспертных методик отбора термов и вычисления сдвигов, задаваемых сравнительными и динамическими оценками. Г Главное окно . П X Правило1 Правило2 Задать шкалу для оценки- Г АНС Г с сне г Г АНД Г Рис. 4.13. Главное окно
После запуска программы, реализующей инструментальные средства, на экране появляется главное окно (рис. 4.13). Меню главного окна содержит пункты формирования правил вывода (Правило 1 и Правило2) и секцию задания оценок. Прежде чем начать формировать правила вывода необходимо сформировать набор термов для лингвистических переменных АНС-, СНС-и АНД-оценок. Выбор одной из перечисленных оценок в главном меню приведет к появлению на экране диалогового окна задания соответствующей оценки (рис. 4.14).