1. Понятие искусственного интеллекта. Представление знаний и разработка систем, основанных на знаниях
1.1 Основные понятия искусственного интеллекта
1.2 Представление знаний
1.3 Задача формирования баз знаний
2. Распознавание образов и машинный перевод
2.1 Понятие образа
2.2 Проблема распознавания образов
2.3 Обучение, самообучение и адаптация
2.4 Преобразование изображений в цифровой код
3. Нейрокомпьютеры и сети
3.1 Нейрокомпьютеры
3.2 Что такое нейронные сети?
4. Экспертные системы (ЭС), их структура и классификация. Инструментальные средства построения ЭС. Технология разработки ЭС.
4.1 Назначение экспертных систем
4.2 Классификация экспертных систем
4.3 Структура экспертных систем (на примере статической и динамической ЭС)
4.4 Этапы разработки экспертных систем
5. Использование и поддержка ЭС. Реинжиниринг бизнеса.
5.1 Использование финансовых экспертных систем
5.2 ЭС, основанные на примерах
5.3 Реинжиниринг бизнеса
6. Стратегия получения знаний. Практические методы извлечения знаний. Структурирование знаний. Программная реализация базы знаний.
ВВЕДЕНИЕ
Возможности электронно-вычислительных машин уже никого не удивляют. Компьютеризация различных областей человеческой деятельности, помимо прямого эффекта от внедрения вычислительной техники, зачастую порождает новые классы программных продуктов и технологии их разработки. Любая технология - это прежде всего поле интеллектуальной деятельности для специалистов, однако, в отличии от других видов деятельности технологии разработки программных продуктов немедленно становятся объектами автоматизации, что выводит соответствующий раздел программирования на новый уровень развития.
Типичную эволюцию от конкретных программ до инструментальных средств разработки прошли системы, основанные на знаниях, и в первую очередь - экспертные системы, предназначенные для решения задач из тех областей, где решающую роль играют знания и опыт профессиональной деятельности. В экспертных системах поиск решений осуществляется посредством имитации рассуждений, присущих выдающимся профессионалам. Формализованные знания составляют ядро экспертной системы - ее базу знаний. Остальные блоки системы реализуют функции преобразования знаний и определяются не столько содержимым знаний, сколько свойствами их формальных структур.
1. Понятие искусственного интеллекта. Представление знаний и разработка систем, основанных на знаниях
1.1. Основные понятия искусственного интеллекта
Термин интеллект (intelligence) происходит от латинского intellectus -- что означает ум, рассудок, разум; мыслительные способности человека. Соответственно искусственный интеллект (artificial intelligence) -- ИИ (AI) обычно толкуется как свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.
Интеллектом называется способность мозга решать (интеллектуальные) задачи путем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным обстоятельствам.
В этом определении под термином "знания" подразумевается не только ту информацию, которая поступает в мозг через органы чувств. Такого типа знания чрезвычайно важны, но недостаточны для интеллектуальной деятельности. Дело в том, что объекты окружающей нас среды обладают свойством не только воздействовать на органы чувств, но и находиться друг с другом в определенных отношениях. Ясно, что для того, чтобы осуществлять в окружающей среде интеллектуальную деятельность (или хотя бы просто существовать), необходимо иметь в системе знаний модель этого мира. В этой информационной модели окружающей среды реальные объекты, их свойства и отношения между ними не только отображаются и запоминаются, но и, как это отмечено в данном определении интеллекта, могут мысленно "целенаправленно преобразовываться". При этом существенно то, что формирование модели внешней среды происходит "в процессе обучения на опыте и адаптации к разнообразным обстоятельствам".
1.2. Представление знаний
Представление знаний -- вопрос, возникающий в когнитологии (науке о мышлении) и в искусственном интеллекте. В когнитологии он связан с тем, как люди хранят и обрабатывают информацию. В Искусственном интеллекте (ИИ) основная цель -- научиться хранить знания таким образом, чтобы программы могли обрабатывать их и достигнуть подобия человеческого интеллекта. Исследователи ИИ используют теории представления знаний из когнитологии. Такие методы как фреймы, правила и семантические сети пришли в ИИ из теорий обработки информации человеком. Так как знание используется для достижения разумного поведения, фундаментальной целью дисциплины представления знаний является поиск таких способов представления, которые делают возможным процесс логического вывода, то есть создание выводов из знаний.
Некоторые вопросы, которые возникают в представлении знаний с точки зрения ИИ:
· Как люди представляют знания?
· Какова природа знаний и как мы их представляем?
· Должна ли схема представления связываться с частной областью знаний, или она должна быть общецелевой?
· Должна ли быть схема декларативной или процедурной?
Было очень немного обсуждения вопросов представления знаний и исследования в данной области. Есть хорошо известные проблемы, такие как "spreading activation, " (задача навигации в сети узлов) «категоризация» (это связано с выборочным наследованием; например вездеход можно считать специализацией (особым случаем) автомобиля, но он наследует только некоторые характеристики) и «классификация». Например, помидор можно считать как фруктом, так и овощем.
В области искусственного интеллекта, решение задач может быть упрощено правильным выбором метода представления знаний. Определенный метод может сделать какую-либо область знаний легко представимой. Например диагностическая экспертная система Мицин использовала схему представления знаний основанную на правилах. Неправильный выбор метода представления затрудняет обработку. В качестве аналогии можно взять вычисления в индо-арабской или римской записи. Деление в столбик проще в первом случае и сложнее во втором. Аналогично, не существует такого способа представления, который можно было бы использовать во всех задачах, или сделать все задачи одинаково простыми.
Проблема формирования баз знаний является сложной и многогранной. Если ограничить рассмотрение этой проблемы задачей извлечения личных знаний эксперта, то можно сформулировать основные требования и принципы построения программных систем, автоматизирующих процесс формирования баз знаний. Системы такого рода именуются автоматизированными системами инженерии знаний.
1.3. Задача формирования баз знаний
При всей претенциозности своего названия, инженерия знаний является дисциплиной сугубо прозаической, в ее задачу входит разработка практически полезных программ для слабо "математизированных" областей человеческой деятельности. Главным аргументом в пользу плодотворности такого подхода является факт существования в реальной жизни института экспертов - классных профессионалов, способных решать плохо формализуемые задачи из той или иной проблемной области.
С точки зрения инженерии знаний, в любой прикладной программе (по-крайней мере теоретически) можно выделить компоненту, содержащую знания о проблемной области. Именно эта компонента, именуемая базой знаний, определяет практическую ценность программы. Построение базы знаний требует специальных изысканий в проблемной области, в то время как остальные блоки программы находятся полностью в ведении программиста.
В настоящее время известны четыре основных способа представления знаний, из которых можно конструировать "гибридные" способы представления знаний.
· Продукционные системы
· Семантические сети
· Фреймы
· Логические исчисления
· Комбинированные способы представления знаний
· Модели проблемных областей
2. Распознавание образов и машинный перевод
2.1 Понятие образа
Образ, класс - классификационная группировка в системе классификации, объединяющая определенную группу объектов по некоторому признаку. Образное восприятие мира - одно из свойств живого мозга, позволяющее разобраться в бесконечном потоке воспринимаемой информации и сохранять ориентацию в разрозненных данных о внешнем мире. Воспринимая внешний мир, мы всегда производим классификацию информации, т. е. разбиваем их на группы похожих, но не тождественных явлений. Это свойство мозга позволяет сформулировать такое понятие, как образ.
Способность восприятия внешнего мира в форме образов позволяет с определенной достоверностью узнавать бесконечное число объектов на основании ознакомления с конечным их числом, а объективный характер основного свойства образов позволяет моделировать процесс их распознавания.
2.2 Проблема распознавания образов
Распознавание образов - это задача идентификации объекта или определения каких-либо его свойств по его изображению (оптическое распознавание) или аудиозаписи (акустическое распознавание). В процессе биологической эволюции многие животные с помощью зрительного и слухового аппарата решили эту задачу достаточно хорошо. Создание искусственных систем с функциями распознавания образов остаётся сложной технической проблемой.
Рис. 2.1. Пример объектов обучения.
В целом проблема распознавания образов (ПРО) состоит из двух частей: обучения и распознавания. Обучение осуществляется путем показа отдельных объектов с указанием их принадлежности тому или другому образу. В результате обучения распознающая система должна приобрести способность реагировать одинаковыми реакциями на все объекты одного образа и другими реакциями - на все объекты отличимых образов. Очень важно, что процесс обучения должен завершиться только путем показов конечного числа объектов. В качестве объектов обучения могут быть либо картинки (рис. 2.1), либо другие визуальные изображения (буквы, цифры). Важно, что в процессе обучения указываются только сами объекты и их принадлежность образу. За обучением следует процесс распознавания новых объектов, который характеризует действия уже обученной системы. Автоматизация этих процедур и составляет проблему обучения распознаванию образов. В том случае, когда человек сам разгадывает или придумывает, а затем навязывает машине правило классификации, проблема распознавания решается частично, так как основную и главную часть проблемы (обучение) человек берет на себя.
Круг задач, которые могут решаться с помощью распознающих систем, чрезвычайно широк. Сюда относятся не только задачи распознавания зрительных и слуховых образов, но и задачи классификации сложных процессов и явлений, возникающих, например, при выборе целесообразных действий руководителем предприятия или выборе оптимального управления технологическими, экономическими, транспортными или военными задачами. Прежде чем начать анализ какого-либо объекта, нужно получить о нем определенную, упорядоченную информацию.
Выбор исходного описания объектов является одной из центральных задач проблемы распознавания образов. При удачном выборе исходного описания (пространства признаков) задача распознавания может оказаться тривиальной и, наоборот, неудачно выбранное исходное описание может привести либо к очень сложной дальнейшей переработку информации, либо вообще к отсутствию решения.
2.5 Обучение, самообучение и адаптация
Обучение - это процесс, в результате которого система постепенно приобретает способность отвечать нужными реакциями на определенные совокупности внешних воздействий, а адаптация - это подстройка параметров и структуры системы с целью достижения требуемого качества управления в условиях непрерывных изменений внешних условий. Все картинки, представленные на рис. 2.1, характеризуют задачу обучения. В каждой из этих задач задается несколько примеров (обучающая последовательность) правильно решенных задач. Если бы удалось подметить некое всеобщее свойство, не зависящее ни от природы образов, ни от их изображений, а определяющее лишь их способность к разделимости, то наряду с обычной задачей обучения распознаванию с использованием информации о принадлежности каждого объекта из обучающей последовательности тому или иному образу, можно было бы поставить иную классификационную задачу - так называемую задачу обучения без учителя. Задачу такого рода на описательном уровне можно сформулировать следующим образом: системе одновременно или последовательно предъявляются объекты без каких-либо указаний об их принадлежности к образам. Входное устройство системы отображает множество объектов на множество изображений и, используя некоторое заложенное в нее заранее свойство разделимости образов, производит самостоятельную классификацию этих объектов. После такого процесса самообучения система должна приобрести способность к распознаванию не только уже знакомых объектов (объектов из обучающей последовательности), но и тех, которые ранее не предъявлялись. Процессом самообучения некоторой системы называется такой процесс, в результате которого эта система без подсказки учителя приобретает способность к выработке одинаковых реакций на изображения объектов одного и того же образа и различных реакций на изображения различных образов. Роль учителя при этом состоит лишь в подсказке системе некоторого объективного свойства, одинакового для всех образов и определяющего способность к разделению множества объектов на образы. Таким объективным свойством является свойство компактности образов. Взаимное расположение точек в выбранном пространстве уже содержит информацию о том, как следует разделить множество точек. Эта информация и определяет то свойство разделимости образов, которое оказывается достаточным для самообучения системы распознаванию образов.
Обучением обычно называют процесс выработки в некоторой системе той или иной реакции на группы внешних идентичных сигналов путем многократного воздействия на систему внешней корректировки. Такую внешнюю корректировку в обучении принято называть " поощрениями" и " наказаниями". Механизм генерации этой корректировки практически полностью определяет алгоритм обучения. Самообучение отличается от обучения тем, что здесь дополнительная информация о верности реакции системе не сообщается.
Адаптация - это процесс изменения параметров и структуры системы, а возможно, и управляющих воздействий на основе текущей информации с целью достижения определенного состояния системы при начальной неопределенности и изменяющихся условиях работы.
Возможен способ построения распознающих машин, основанный на различении каких-либо признаков подлежащих распознаванию фигур. В качестве признаков могут быть выбраны различные особенности фигур, например, их геометрические свойства (характеристики составляющих фигуры кривых), топологические свойства ( взаимное расположение элементов фигуры) и т.п. Известны распознающие машины, в которых различение букв или цифр производится, по так называемому “методу зондов” (рис. 2.2), т.е. по числу пересечений контура фигуры с несколькими особым образом расположенными прямыми.
Рис. 2.2 Схема расположения зондов для распознавания цифр.
Если проектировать цифры на поле с зондами, то окажется, что каждая из цифр пересекает вполне определенные зонды, причем комбинации пересекаемых зондов различны для всех десяти цифр. Эти комбинации и используются в качестве признаков, по которым производится различение цифр. Такие машины успешно справляются, например, с чтением машинописного текста, но их возможности ограничены тем шрифтом (или группой сходных шрифтов), для которого была разработана система признаков. Работа по созданию набора эталонных фигур или системы признаков должна производиться человеком. Качество работы машины, т. е. надежность “узнавания” предъявляемых фигур определяется качеством этой предварительной подготовки и без участия человека не может быть повышено. Описанная машина не являются обучающейся машиной.
Моделирование процесса обучения подразумевает обучение, которому не предшествует сообщение машине каких-либо сведений о тех образах, распознаванию которых она должна научиться; само обучение заключается в предъявлении машине некоторого конечного числа объектов каждого образа. В результате обучения машина должна оказаться способной узнавать сколь угодно большое число новых объектов, относящихся к тем же образам. Таким образом, имеется в виду следующая схема экспериментов:
а) никакие сведения о подлежащих классификации образах в машину заранее не вводятся;
б) в ходе обучения машине предъявляется некоторое количество объектов каждого из подлежащих классификации образов и (при моделировании процесса обучения “с учителем”) сообщается, к какому образу относится каждый объект;
в) машина автоматически обрабатывает полученную информацию, после чего
г) с достаточной надежностью различает сколь угодно большое число новых, ранее ей не предъявлявшихся объектов из образов.
Машины, работающие по такой схеме, называются узнающими машинами.
2.6 Преобразование изображений в цифровой код
Для того чтобы ввести изображение в машину, нужно перевести его на машинный язык, т.е. закодировать, представить в виде некоторой комбинации символов, которыми может оперировать машина. Кодирование плоских фигур можно осуществить самым различным образом. Лучше стремиться к наиболее “ естественному” кодированию изображений. Будем рисовать фигуры на некотором поле, разбитом вертикальными и горизонтальными прямыми на одинаковые элементы - квадратики. Элементы, на которые упало изображение, будем сплошь зачернять, остальные - оставлять белыми. Условимся обозначать черные элементы единицей, белые - нулем. Введем последовательную нумерацию всех элементов поля, например, в каждой строке слева направо и по строкам сверху вниз. Тогда каждая фигура, нарисованная на таком поле, будет однозначно отображаться кодом, состоящим из стольких цифр (единиц и нулей), сколько элементов содержит поле.
Рис 2.3 Примеры проецирования и кодирования изображений.
Такое кодирование (рис. 2.3) считается “ естественным” потому, что разбиение изображения на элементы лежит в основе работы нашего зрительного аппарата. Действительно, сетчатка глаза состоит из большого числа отдельных чувствительных элементов (так называемых палочек и колбочек), связанных нервными волокнами со зрительными отделами головного мозга. Чувствительные элементы сетчатки передают по своим нервным волокнам в головной мозг сигналы, интенсивность которых зависит от освещенности данного элемента. Таким образом, изображение, спроектированное оптической системой глаза на сетчатку, разбивается палочками и колбочками на отдельные участки, и по элементам в некотором коде передается в мозг. Отдельные элементы поля называются рецепторами, а само поле - полем рецепторов.
Совокупность всех плоских фигур, которые можно изобразить на поле рецепторов, составляет некое множество. Каждая конкретная фигура из этой совокупности есть объект этого множества. Любому их таких объектов соответствует определенный код. Точно также любому коду соответствует определенное изображение на поле рецепторов. Взаимно однозначное соответствие между кодами и изображениями позволит оперировать только кодами, помня о том, что изображение всегда может быть воспроизведено по его коду.
Емкость ИНС - число образов, предъявляемых на входы ИНС для распознавания. Для разделения множества входных образов, например, по двум классам достаточно всего одного выхода. При этом каждый логический уровень - "1" и "0" - будет обозначать отдельный класс. На двух выходах можно закодировать уже 4 класса и так далее. Для повышения достоверности классификации желательно ввести избыточность путем выделения каждому классу одного нейрона в выходном слое или, что еще лучше, нескольких, каждый из которых обучается определять принадлежность образа к классу со своей степенью достоверности, например: высокой, средней и низкой. Такие ИНС позволяют проводить классификацию входных образов, объединенных в нечеткие (размытые или пересекающиеся) множества. Это свойство приближает подобные ИНС к условиям реальной жизни.
3. Нейрокомпьютеры и сети
3.1 Нейрокомпьютеры
Нейрокомпьютеры - это системы, в которых алгоритм решения задачи представлен логической сетью элементов частного вида - нейронов с полным отказом от булевских элементов типа И, ИЛИ, НЕ. Как следствие этого введены специфические связи между элементами, которые являются предметом отдельного рассмотрения.
В отличие от классических методов решения задач нейрокомпьютеры реализуют алгоритмы решения задач, представленные в виде нейронных сетей. Это ограничение позволяет разрабатывать алгоритмы, потенциально более параллельные, чем любая другая их физическая реализация.
Нейрокомпьютер - это вычислительная система с архитектурой MSIMD, в которой реализованы два принципиальных технических решения: упрощен до уровня нейрона процессорный элемент однородной структуры и резко усложнены связи между элементами; программирование вычислительной структуры перенесено на изменение весовых связей между процессорными элементами.
Общее определение нейрокомпьютера может быть представлено в следующем виде. Нейрокомпьютер - это вычислительная система с архитектурой аппаратного и программного обеспечения, адекватной выполнению алгоритмов, представленных в нейросетевом логическом базисе.
3.2 Что такое нейронные сети?
Каждый нейрон получает сигналы от соседних нейронов по специальным нервным волокнам. Эти сигналы могут быть возбуждающими или тормозящими. Их сумма составляет электрический потенциал внутри тела нейрона. Когда потенциал превышает некоторый порог, нейрон переходит в возбужденное состояние и посылает сигнал по выходному нервному волокну. Отдельные искусственные нейроны соединяются друг с другом различными методами. Это позволяет создавать разнообразные нейронные сети с различной архитектурой, правилами обучения и возможностями.
Термин “искусственные нейронные сети” у многих ассоциируется с фантазиями об андроидах и бунте роботов, о машинах, заменяющих и имитирующих человека. Это впечатление усиливают многие разработчики нейросистем, рассуждая о том, как в недалеком будущем, роботы начнут осваивать различные виды деятельности, просто наблюдая за человеком. Если переключиться на уровень повседневной работы, то нейронные сети это всего-навсего сети, состоящие из связанных между собой простых элементов формальных нейронов. Большая часть работ по нейроинформатике посвящена переносу различных алгоритмов решения задач на такие сети.
В основу концепции положена идея о том, что нейроны можно моделировать довольно простыми автоматами, а вся сложность мозга, гибкость его функционирования и другие важнейшие качества определяются связями между нейронами. Каждая связь представляется как совсем простой элемент, служащий для передачи сигнала. Коротко эту мысль можно выразить так: “структура связей все, свойства элементов ничто”.
Совокупность идей и научно-техническое направление, определяемое описанным представлением о мозге, называется коннекционизмом (connection связь). С реальным мозгом все это соотносится примерно так же, как карикатура или шарж со своим прототипом. Важно не буквальное соответствие оригиналу, а продуктивность технической идеи.
С коннекционизмом тесно связан следующий блок идей:
· однородность системы (элементы одинаковы и чрезвычайно просты, все определяется структурой связей);
· надежные системы из ненадежных элементов и “аналоговый ренессанс” использование простых аналоговых элементов;
· “голографические” системы при разрушении случайно выбранной части система сохраняет свои свойства.
Предполагается, что широкие возможности систем связей компенсируют бедность выбора элементов, их ненадежность и возможные разрушения части связей.
Для описания алгоритмов и устройств в нейроинформатике выработана специальная “схемотехника”, в которой элементарные устройства (сумматоры, синапсы, нейроны и т.п.) объединяются в сети, предназначенные для решения задач. Для многих начинающих кажется неожиданным, что ни в аппаратной реализации нейронных сетей, ни в профессиональном программном обеспечении эти элементы вовсе не обязательно реализуются как отдельные части или блоки. Используемая в нейроинформатике идеальная схемотехника представляет собой особый язык описания нейронных сетей и их обучения. При программной и аппаратной реализации, выполненные на этом языке описания, переводятся на более подходящие языки другого уровня.
4. Экспертные системы (ЭС), их структура и классификация. Инструментальные средства построения ЭС. Технология разработки ЭС
4.1 Назначение экспертных систем
В начале восьмидесятых годов в исследованиях по искусственному интеллекту сформировалось самостоятельное направление, получившее название "экспертные системы" (ЭС). Цель исследований по ЭС состоит в разработке программ, которые при решении задач, трудных для эксперта-человека, получают результаты, не уступающие по качеству и эффективности решениям, получаемым экспертом. Исследователи в области ЭС для названия своей дисциплины часто используют также термин "инженерия знаний", введенный Е.Фейгенбаумом как "привнесение принципов и инструментария исследований из области искусственного интеллекта в решение трудных прикладных проблем, требующих знаний экспертов".
Программные средства (ПС), базирующиеся на технологии экспертных систем, или инженерии знаний (в дальнейшем будем использовать их как синонимы), получили значительное распространение в мире. Важность экспертных систем состоит в следующем:
· технология экспертных систем существенно расширяет круг практически значимых задач, решаемых на компьютерах, решение которых приносит значительный экономический эффект;
· технология ЭС является важнейшим средством в решении глобальных проблем традиционного программирования: длительность и, следовательно, высокая стоимость разработки сложных приложений;
· высокая стоимость сопровождения сложных систем, которая часто в несколько раз превосходит стоимость их разработки; низкий уровень повторной используемости программ и т.п.;
· объединение технологии ЭС с технологией традиционного программирования добавляет новые качества к программным продуктам за счет: обеспечения динамичной модификации приложений пользователем, а не программистом; большей "прозрачности" приложения (например, знания хранятся на ограниченном ЕЯ, что не требует комментариев к знаниям, упрощает обучение и сопровождение); лучшей графики; интерфейса и взаимодействия.
По мнению ведущих специалистов, в недалекой перспективе ЭС найдут следующее применение:
· ЭС будут играть ведущую роль во всех фазах проектирования, разработки, производства, распределения, продажи, поддержки и оказания услуг;
· технология ЭС, получившая коммерческое распространение, обеспечит революционный прорыв в интеграции приложений из готовых интеллектуально-взаимодействующих модулей.
ЭС предназначены для так называемых неформализованных задач, т.е. ЭС не отвергают и не заменяют традиционного подхода к разработке программ, ориентированного на решение формализованных задач.
Неформализованные задачи обычно обладают следующими особенностями:
· ошибочностью, неоднозначностью, неполнотой и противоречивостью исходных данных;
· ошибочностью, неоднозначностью, неполнотой и противоречивостью знаний о проблемной области и решаемой задаче;
· большой размерностью пространства решения, т.е. перебор при поиске решения весьма велик;
· динамически изменяющимися данными и знаниями.
Следует подчеркнуть, что неформализованные задачи представляют большой и очень важный класс задач. Многие специалисты считают, что эти задачи являются наиболее массовым классом задач, решаемых ЭВМ.
Экспертные системы и системы искусственного интеллекта отличаются от систем обработки данных тем, что в них в основном используются символьный (а не числовой) способ представления, символьный вывод и эвристический поиск решения (а не исполнение известного алгоритма).
Экспертные системы применяются для решения только трудных практических (не игрушечных) задач. По качеству и эффективности решения экспертные системы не уступают решениям эксперта-человека. Решения экспертных систем обладают "прозрачностью", т.е. могут быть объяснены пользователю на качественном уровне. Это качество экспертных систем обеспечивается их способностью рассуждать о своих знаниях и умозаключениях. Экспертные системы способны пополнять свои знания в ходе взаимодействия с экспертом. Необходимо отметить, что в настоящее время технология экспертных систем используется для решения различных типов задач (интерпретация, предсказание, диагностика, планирование, конструирование, контроль, отладка, инструктаж, управление) в самых разнообразных проблемных областях, таких, как финансы, нефтяная и газовая промышленность, энергетика, транспорт, фармацевтическое производство, космос, металлургия, горное дело, химия, образование, целлюлозно-бумажная промышленность, телекоммуникации и связь и др.
Коммерческие успехи к фирмам-разработчикам систем искусственного интеллекта (СИИ) пришли не сразу. На протяжении 1960 - 1985 гг. успехи ИИ касались в основном исследовательских разработок, которые демонстрировали пригодность СИИ для практического использования. Начиная примерно с 1985 г. (в массовом масштабе с 1988 - 1990 гг.), в первую очередь ЭС, а в последние годы системы, воспринимающие естественный язык (ЕЯ-системы), и нейронные сети (НС) стали активно использоваться в коммерческих приложениях.
Причины, приведшие СИИ к коммерческому успеху, следующие.
Интегрированность. Разработаны инструментальные средства искусственного интеллекта (ИС ИИ), легко интегрирующиеся с другими информационными технологиями и средствами (с CASE, СУБД, контроллерами, концентраторами данных и т.п.).
Открытость и переносимость. ИС ИИ разрабатываются с соблюдением стандартов, обеспечивающих открытость и переносимость.
Использование языков традиционного программирования и рабочих станций. Переход от ИС ИИ, реализованных на языках ИИ (Lisp, Prolog и т.п.), к ИС ИИ, реализованным на языках традиционного программирования (С, C++ и т.п.), упростил обеспечение интегриро-ванности, снизил требования приложений ИИ к быстродействию ЭВМ и объемам оперативной памяти. Использование рабочих станций (вместо ПК) резко увеличило круг приложений, которые могут быть выполнены на ЭВМ с использованием ИС ИИ.
Архитектура клиент-сервер. Разработаны ИС ИИ, поддерживающие распределенные вычисления по архитектуре клиент-сервер, что позволило:снизить стоимость оборудования, используемого в приложениях, децентрализовать приложения, повысить надежность и общую производительность (так как сокращается количество информации, пересылаемой между ЭВМ, и каждый модуль приложения выполняется на адекватном ему оборудовании).
Проблемно/предметно-ориентированные ИС ИИ. Переход от разработок ИС ИИ общего назначения (хотя они не утратили свое значение как средство для создания ориентированных ИС) к проблемно/предметно-ориентированным ИС ИИ обеспечивает: сокращение сроков разработки приложений; увеличение эффективности использования ИС; упрощение и ускорение работы эксперта; повторную используемость информационного и программного обеспечения (объекты,классы,правила,процедуры).
4.2 Классификация экспертных систем
Класс "экспертные системы" сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям. Полезными могут оказаться следующие классификации (рис. 4.1).
Рис. 4.1. Классификация экспертных систем
Классификация по решаемой задаче
Интерпретация данных. Это одна из традиционных задач для экспертных систем. Под интерпретацией понимается определение смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных.
Диагностика.Под диагностикой понимается обнаружение неисправности в некоторой системе. Неисправность - это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии. Важной спецификой является необходимость понимания функциональной структуры ("анатомии") диагностирующей системы.
Мониторинг.Основная задача мониторинга - непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы - "пропуск" тревожной ситуации и инверсная задача "ложного" срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость учета временного контекста.
Проектирование.Проектирование состоит в подготовке спецификаций на создание "объектов" с заранее определенными свойствами. Под спецификацией понимается весь набор необходимых документов - чертеж, пояснительная записка и т.д. Основные проблемы здесь - получение четкого структурного описания знаний об объекте и проблема "следа". Для организации эффективного проектирования и, в еще большей степени, перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения.
Прогнозирование. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров "подгоняются" под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.
Планирование.Под планированием понимается нахождение планов действий, относящихся к объектам, способным выполнять некоторые функции. В таких ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности.
Обучение.Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом "ученике" и его характерных ошибках, затем в работе способны диагностировать слабости в знаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза.
Основное отличие задач анализа от задач синтеза заключается в следующем: если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально строится из решений компонентов или подпроблем. Задача анализа - это интерпретация данных, диагностика; к задачам синтеза относятся проектирование, планирование. Комбинированные задачи: обучение, мониторинг, прогнозирование.
Классификация по связи с реальным временем
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны.
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступаемых данных.
Классификация по типу ЭВМ
На сегодняшний день существуют:
ЭС для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRAY , CONVEX и др.);
ЭС на ЭВМ средней производительности (типа ЕС ЭВМ, mainframe );
ЭС на символьных процессорах и рабочих станциях ( SUN , APOLLO );
ЭС на мини- и супермини-ЭВМ ( VAX , micro - VAX и др.);
ЭС на персональных компьютерах ( IBM PC , MAC II и подобные).
Классификация по степени интеграции с другими программами
Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфически "экспертных" задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т.д.).
Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику, линейное программирование или системы управления базами данных) и средства манипулирования знаниями. Это может быть интеллектуальная надстройка над ППП или интегрированная среда для решения сложной задачи с элементами экспертных знаний.
Несмотря на внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем являет собой задачу, на порядок более сложную, чем разработка автономной ЭС. Стыковка не просто разных пакетов, а разных методологий (что происходит в гибридных системах) порождает целый комплекс теоретических и практических трудностей.
4.3 Структура экспертных систем (на примере статической и динамической ЭС)
Типичная статическая ЭС состоит из следующих основных компонентов (рис. 4.2):
· решателя (интерпретатора);
· рабочей памяти (РП), называемой также базой данных (БД);
· базы знаний (БЗ);
· компонентов приобретения знаний;
· объяснительного компонента;
· диалогового компонента.
База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.
База знаний (БЗ) в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.
Решатель, используя исходные данные из рабочей памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.
Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.
Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.
Рис. 4.2. Структура статистической ЭС
Диалоговый компонент ориентирован на организацию дружественного общения с пользователем как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы.
В разработке ЭС участвуют представители следующих специальностей:
эксперт в проблемной области, задачи которой будет решать ЭС;
инженер по знаниям - специалист по разработке ЭС (используемые им технологию, методы называют технологией (методами) инженерии знаний);
программист по разработке инструментальных средств (ИС), предназначенных для ускорения разработки ЭС.
Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (т. е. их замена программистами) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его.
Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введенных в ЭС знаний.
Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы ЭС; осуществляет выбор того ИС, которое наиболее подходит для данной проблемной области, и определяет способ представления знаний в этом ИС; выделяет и программирует (традиционными средствами) стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом.
Программист разрабатывает ИС (если ИС разрабатывается заново), содержащее в пределе все основные компоненты ЭС, и осуществляет его сопряжение с той средой, в которой оно будет использовано.
Экспертная система работает в двух режимах: режиме приобретения знаний и в режиме решения задачи (называемом также режимом консультации или режимом использования ЭС).
В режиме приобретения знаний общение с ЭС осуществляет (через посредничество инженера по знаниям) эксперт. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования с данными, характерные для рассматриваемой области.
Отметим, что режиму приобретения знаний в традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. Таким образом, в отличие от традиционного подхода в случае ЭС разработку программ осуществляет не программист, а эксперт (с помощью ЭС), не владеющий программированием.
В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. Необходимо отметить, что в зависимости от назначения ЭС пользователь может не быть специалистом в данной проблемной области (в этом случае он обращается к ЭС за результатом, не умея получить его сам), или быть специалистом (в этом случае пользователь может сам получить результат, но он обращается к ЭС с целью либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу). В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из БЗ формирует решение задачи. ЭС при решении задачи не только исполняет предписанную последовательность операции, но и предварительно формирует ее. Если реакция системы не понятна пользователю, то он может потребовать объяснения:
"Почему система задает тот или иной вопрос?", "как ответ, собираемый системой, получен?".
Структуру, приведенную на рис. 4.2, называют структурой статической ЭС. ЭС данного типа используются в тех приложениях, где можно не учитывать изменения окружающего мира, происходящие за время решения задачи. Первые ЭС, получившие практическое использование, были статическими.
Рис. 4.3. Структура динамической ЭС
На рис. 4.3 показано, что в архитектуру динамической ЭС по сравнению со статической ЭС вводятся два компонента: подсистема моделирования внешнего мира и подсистема связи с внешним окружением. Последняя осуществляет связи с внешним миром через систему датчиков и контроллеров. Кроме того, традиционные компоненты статической ЭС (база знаний и машина вывода) претерпевают существенные изменения, чтобы отразить временную логику происходящих в реальном мире событий.
Подчеркнем, что структура ЭС, представленная на рис. 4.2 и 4.3, отражает только компоненты (функции), и многое остается "за кадром".
4.4 Этапы разработки экспертных систем
Разработка ЭС имеет существенные отличия от разработки обычного программного продукта. Опыт создания ЭС показал, что использование при их разработке методологии, принятой в традиционном программировании, либо чрезмерно затягивает процесс создания ЭС, либо вообще приводит к отрицательному результату.
Использовать ЭС следует только тогда, когда разработка ЭС возможна, оправдана и методы инженерии знаний соответствуют решаемой задаче. Чтобы разработка ЭС была возможной для данного приложения, необходимо одновременное выполнение по крайней мере следующих требований:
1) существуют эксперты в данной области, которые решают задачу значительно лучше, чем начинающие специалисты;
2) эксперты сходятся в оценке предлагаемого решения, иначе нельзя будет оценить качество разработанной ЭС;
3) эксперты способны вербализовать (выразить на естественном языке) и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что знания экспертов будут "извлечены" и вложены в ЭС;
4) решение задачи требует только рассуждений, а не действий;
5) задача не должна быть слишком трудной (т.е. ее решение должно занимать у эксперта несколько часов или дней, а не недель);
6) задача хотя и не должна быть выражена в формальном виде, но все же должна относиться к достаточно "понятной" и структурированной области, т.е. должны быть выделены основные понятия, отношения и известные (хотя бы эксперту) способы получения решения задачи;
7) решение задачи не должно в значительной степени использовать "здравый смысл" (т.е. широкий спектр общих сведений о мире и о способе его функционирования, которые знает и умеет использовать любой нормальный человек), так как подобные знания пока не удается (в достаточном количестве) вложить в системы искусственного интеллекта.
Использование ЭС в данном приложении может быть возможно, но не оправдано. Применение ЭС может быть оправдано одним из следующих факторов:
· решение задачи принесет значительный эффект, например экономический;
· использование человека-эксперта невозможно либо из-за недостаточного количества экспертов, либо из-за необходимости выполнять экспертизу одновременно в различных местах;
· использование ЭС целесообразно в тех случаях, когда при передаче информации эксперту происходит недопустимая потеря времени или информации;
· использование ЭС целесообразно при необходимости решать задачу в окружении, враждебном для человека.
Приложение соответствует методам ЭС, если решаемая задача обладает совокупностью следующих характеристик:
1) задача может быть естественным образом решена посредством манипуляции с символами (т.е. с помощью символических рассуждений), а не манипуляций с числами, как принято в математических методах и в традиционном программировании;
2) задача должна иметь эвристическую, а не алгоритмическую природу, т.е. ее решение должно требовать применения эвристических правил. Задачи, которые могут быть гарантированно решены (с соблюдением заданных ограничений) с помощью некоторых формальных процедур, не подходят для применения ЭС;
3) задача должна быть достаточно сложна, чтобы оправдать затраты на разработку ЭС. Однако она не должна быть чрезмерно сложной (решение занимает у эксперта часы, а не недели), чтобы ЭС могла ее решать;
4) задача должна быть достаточно узкой, чтобы решаться методами ЭС, и практически значимой.
При разработке ЭС, как правило, используется концепция "быстрого прототипа". Суть этой концепции состоит в том, что разработчики не пытаются сразу построить конечный продукт. На начальном этапе они создают прототип (прототипы) ЭС. Прототипы должны удовлетворять двум противоречивым требованиям: с одной стороны, они должны решать типичные задачи конкретного приложения, а с другой - время и трудоемкость их разработки должны быть весьма незначительны, чтобы можно было максимально запараллелить процесс накопления и отладки знаний (осуществляемый экспертом) с процессом выбора (разработки) программных средств (осуществляемым инженером по знаниям и программистом). Для удовлетворения указанным требованиям, как правило, при создании прототипа используются разнообразные средства, ускоряющие процесс проектирования.
Прототип должен продемонстрировать пригодность методов инженерии знаний для данного приложения. В случае успеха эксперт с помощью инженера по знаниям расширяет знания прототипа о проблемной области. При неудаче может потребоваться разработка нового прототипа или разработчики могут прийти к выводу о непригодности методов ЭС для данного приложения. По мере увеличения знаний прототип может достигнуть такого состояния, когда он успешно решает все задачи данного приложения. Преобразование прототипа ЭС в конечный продукт обычно приводит к перепрограммированию ЭС на языках низкого уровня, обеспечивающих как увеличение быстродействия ЭС, так и уменьшение требуемой памяти. Трудоемкость и время создания ЭС в значительной степени зависят от типа используемого инструментария.
В ходе работ по созданию ЭС сложилась определенная технология их разработки, включающая шесть следующих этапов (рис. 4.4):
идентификацию, концептуализацию, формализацию, выполнение, тестирование, опытную эксплуатацию. На этапе идентификации определяются задачи, которые подлежат решению, выявляются цели разработки, определяются эксперты и типы пользователей.
Рис. 4.4. Технология разработки ЭС
На этапе концептуализации проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач.
На этапе формализации выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.
На этапе выполнения осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания, данный этап является наиболее важным и наиболее трудоемким этапом разработки ЭС. Процесс приобретения знаний разделяют на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности эксперта по решению реальных задач.
5. Использование и поддержка ЭС. Реижиниринг бизнеса
5.1 Использование финансовых экспортных систем
Множество предприятий устанавливают ЭС для решения задач в таких областях как: торги на фондовой бирже, автоматическое понимание новостей, кредитный анализ, управление рисками, построение портфелей кредитов и инвестиций, оценка рейтинга банков, автоматизация аудита, предсказание изменений на финансовом рынке и т.д.
Примерами этому является целый класс консультативных ЭС: Bear, Sterns & Company's Broker Monitoring System, Athena Group's Portfolio Advisor и Trader's Assistant, совместно разработанные корпорациями Author D. Little Corporation, Knowledge-Based Network Corporation и еще шестью финансовыми институтами. Японский Sanwa Bank, один из крупнейших мировых банков, применяет экспертную систему Best Mix для улучшения качества своей информации по инвестициям.
ЭС Nikko Portfolio Consultation Management System, разработанная для внутреннего использования фирмой Nikko Securities, Ltd., помогает управляющим фондами выбрать оптимальный портфель для своих клиентов. Данная система основана на базе данных с информацией за пять лет продаж акций и на системе с новой теорией управления портфелем, которая вычисляет и оптимизирует портфель ценных бумаг для страховки от различных рисков. Управляющие фондами освобождаются от рутинных вычислений и, таким образом, имеют возможность более быстро составить оптимальный портфель ценных бумаг. Компания IDS Financial Services, подразделение финансового планирования American Express Company, классифицировали финансовые экспертизы своих лучших управляющих для создания экспертной системы, названной Insight. IDS включила экспертизы лучших управляющих в свои средства, т.е. экспертную систему, доступную всем своим планировщикам. Одним из основных результатов применения экспертной системы в компании IDS стало то, что процент покинувших фирму клиентов упал более чем наполовину.
Перечислим характеристики некоторых конкретных ЭС этого класса.
1. FLiPSiDE: Система логического программирования финансовой экспертизы. Предприятие-разработчик: Case Western Reserve University Решаемые задачи: мониторинг состояния рынка ценных бумаг; мониторинг состояния текущего портфеля ценных бумаг; поддержка обзора будущих условий рынка; планирование и выполнение продаж.
Краткие характеристики: применение оригинальной парадигмы “Классной доски”, описанной Ньюэллом; язык Пролог в качестве платформы программирования; представление данных на “Классной доске” в качестве исходных данных для различных знаний;
2. Splendors: Система управления портфелем ценных бумаг реального времени. Решаемые задачи: достижение разнообразных инвестиционных целей в условиях быстро меняющихся данных. Краткие характеристики: система реального времени, использование специализированного языка высокого уровня Profit, большая гибкость в создании портфеля для опытных программистов на C, возможность создания портфеля непрограммирующему финансовому аналитику.
Система позволяет формировать оптимальные инвестиционные портфели в реальном масштабе за счет игры на учете быстрых изменений на фондовой бирже.
3. PMIDSS: Система поддержки принятия решений при управлении портфелем. Предприятие-разработчик: Финансовая группа Нью-Йоркского университета. Решаемые задачи: выбор портфеля ценных бумаг, долгосрочное планирование инвестиций. Краткие характеристики: смешанная система представления знаний, использование разнообразных механизмов вывода: логика, направленные семантические сети, фреймы, правила.
4. Le Courtier: Система ассистент-эксперт для менеджера портфеля. Предприятие-разработчик: Cognitive System Inc. Решаемые задачи: помощь инвесторам в определении своих инвестиционных целей, управление портфелем. Краткие характеристики: использование правил, мощный естественно-языковый интерфейс.
5. PMA: Советчик управляющему портфелем. Предприятие-разработчик: Athena Group. Решаемые задачи: формирование портфеля, оказание рекомендаций по сопровождению портфеля. Краткие характеристики: обеспечение качественного обоснования результатам применения различных численных методов.
6. ArBoR: Вычислительная модель рейтинга облигаций. Предприятие-разработчик: College of Business Administration Univercity of Nebraska. Решаемые задачи: Данная система создана для конструирования вычислительной модели в области рейтинга облигаций и для применения модели в качестве экспертной системы. Краткие характеристики: применение качественного и количественного анализа, использование стандартной оболочки ЭС.
7. Intelligent Hedger: основанный на знаниях подход в задачах страхования от риска. Предприятие-разработчик: Information System Department, New York University. Решаемые задачи: проблема огромного количества постоянно растущих альтернатив страхования от рисков, быстрое принятие решений менеджерами по рискам в ускоряющемся потоке информации, а также недостаток соответствующей машинной поддержки на ранних стадиях процесса разработки систем страхования от рисков предполагает обильную сферу различных оптимальных решений для менеджеров по риску. В данной системе разработка страхования от риска сформулирована как многоцелевая оптимизационная задача. Данная задача оптимизации включает несколько сложностей, с которыми существующие технические решения не справляются.
Краткие характеристики: система использует объектное представление, охватывающее глубокие знания по управлению риском и облегчает эмуляцию первичных рассуждений управляющих риском, полезных для выводов и их объяснений.
8. Узко ориентированная система поддержки принятия решения для выбора стратегий инвестиций. Предприятие-разработчик: Intelligent System Laboratory Science Univercity of Tokyo. Решаемые задачи: С приходом в набор финансовых инструментов понятий “выбор” и “будущее”, у инвесторов появилась возможность формировать набор стратегий, отвечающих целям их инвестиций. Однако, эта возможность порождает трудную задачу нахождения необходимой стратегии среди большого числа стратегий инвестиций. Представлена интеллектуальная система поддержки принятия решения для генерации необходимых стратегий инвестирования с использованием нотации ограниченной удовлетворительности, которая широко применяется в задачах поиска. В данной системе ограничения играют роль навигации для автоматического порождения сложных стратегий через абстрактное сравнение с профилем вкладчиков. Абстрактное сравнение может рассматриваться как поиск метода для производства качественно обоснованных стратегий, описывающих набор предложений для покупки или продажи без цифровой информации. Т.к. такая техника может быть использована как предпроцессор для количественного анализа типа линейного программирования для получения оптимального решения, предлагаемая система является мостом для плавного перехода между качественным и количественным анализами.
Краткие характеристики: применение качественного анализа для получения возможных качественных решений (интуитивные решения) и количественного анализа для нахождения оптимального решения с помощью симплексного метода линейного программирования.
9. Явные рассуждения в прогнозировании обмена валют. Предприятие-разработчик: Department of Computer Science City Polytechnic of Hong Kong. Решаемые задачи: Представляет новый подход в прогнозировании обмена валют, основанный на аккумуляции и рассуждениях с поддержкой признаков, присутствующих для фокусирования на наборе гипотез о движении обменных курсов. Представленный в прогнозирующей системе набор признаков - это заданный набор экономических значений и различные наборы изменяющихся во времени параметров, используемых в модели прогнозирования.
Краткие характеристики: математическая основа примененного подхода базируется на теории Демпстера-Шафера.
10. Nereid: Система поддержки принятия решений для оптимизации работы с валютными опционами. Предприятие-разработчик: NTT Data, The Tokai Bank, Science Univercity of Tokyo.
Решаемые задачи: система облегчает дилерскую поддержку для оптимального ответа из возможных представленных вариантов. Система более практична и дает лучшие решения, чем обычные системы принятия решений.
Краткие характеристики: система разработана с использованием фреймовой системы CLP, которая легко интегрирует финансовую область в приложение ИИ. Предложен смешанный тип оптимизации, сочетающий эвристические знания с техникой линейного программирования. Система работает на Sun-станциях.
5.2 ЭС, основанные на примерах
ЭС, основанные на примерах, можно по принципам работы можно разделить на две группы: использующие нейронные сети и использующие алгоритм индуктивного обобщения ID3. Первые в основном используются как предварительно обученный на примерах классификатор, у которого при подаче на его вход набора значений исходных финансовых параметров на выходе появляется искомое решение по данной финансовой ситуации. Вторые по наборам примеров формируют дерево решений, из которого затем строятся соответствующие для принятия решений правила. Ниже мы приведем 2 типичных примера ЭС обоих групп.
1. S&PCBRS: Нейронный симулятор для оценки рейтинга ценных бумаг. Предприятие-разработчик: Chase Manatten Bank, Standart & Poor's Corp. Решаемые задачи: оценка рейтинга ценных бумаг по данным о фирмах эмитентах, формирование корректной рейтинговой шкалы.
Краткие характеристики: представление задачи оценки рейтинга как задачи классификации, отбор данных о фирмах эмитентах и формирование обучающего материала, выбор нейроклассификатора, его обучение и тестирование, сравнение с оценками экспертов, использование нейросетевой парадигмы Couter-Propagation, вероятность правильного предсказания рейтинга 84%.
2. ISPMS: Интеллектуальная система управления портфелем ценных бумаг. Решаемые задачи: формирование портфеля акций, обеспечивающего баланс между риском и предполагаемым доходом.
Краткие характеристики: использование оптимизационной модели квадратичного программирования Марковица, баз данных и баз знаний по фирмам-эмитентам и отраслям, наличие подсистемы обучения на прошлом опыте, основанной на извлечении правил из большого количества фактов, учет знаний эксперта и личных предпочтений инвестора в оптимизационной модели. Вероятность правильного предсказания резкого изменения на фондовой бирже в пределах 68% - 84%.
5.3 Реинфиниринг бизнеса
Перестройка работы предприятий в сфере процессов, связанных с проектированием и подготовкой производства новых изделий, называемая реинжинирингом и предпринимаемая в целях резкого повышения эффективности функционирования предприятий в современных условиях, базируется на организационных изменениях и использовании новых информационных технологий.
При анализе существующего и разработке нового бизнеса важную роль играет построение моделей компании и протекающих в ней бизнес-процессов. Модели могут различаться степенью детализации процессов, формой их представления, учетом только статических или также динамических факторов и др. Следует отметить, что все известные подходы к моделированию бизнеса принадлежат к семейству методов моделирования сложных информационных систем.
К традиционным средствам построения моделей сложных систем относится методология SADT (Structured Analysis Design Technique). Она была создана в начале 70-х годов с целью унифицировать подходы к описанию сложных систем. SADT включает как концептуальный подход к построению моделей систем, так и набор правил и графических обозначений для их описания. Предлагаемые методы построения функциональных моделей, где описание систем осуществляется с точки зрения выполняемых ими функций, получили название методологии IDEF0. Существуют также специальные методологии для построения информационных моделей, описывающих потоки информации (IDEFIX) и динамических моделей, отображающих причинно-следственные связи между объектами системы (IDEF/CPN).
К более современным средствам моделирования, появившимся в середине 90-х годов, относится методология RUP (Rational Unified Process). Эта методология, разработанная компанией Rational Software Corp., под-
держивает итеративный процесс создания сложной информационной системы на основе объектно-ориентированного подхода, с использованием диаграмм UML (Unified Modeling Language) для визуального моделирования предметной области. Нотация диаграмм UML и методы использования UML при реинжиниринге бизнес-процессов проектирования и подготовки производства будут рассмотрены в последующих разделах данного пособия.
Наряду с UML, для визуального моделирования существуют и другие нотации, реализованные, например, в системах ARIS и ADONIS. Система ADONIS позволяет выполнять не только визуальное, но и имитационное моделирование бизнес-процессов, ее возможности также рассматриваются ниже.
Информационные системы поддержки новых бизнес-процессов.
Выше отмечалось, что использование новых информационных технологий является неотъемлемой частью реинжиниринга. При этом модели новых бизнес-процессов непосредственно реализуются в среде информационной системы поддержки (ИСП) нового бизнеса. Важность ИСП состоит не только в том, что она является необходимым элементом реинжиниринга, а еще и в том, что зачастую применение ИСП во многом определяет технологию ведения нового бизнеса. ИСП представляет собой специально разрабатываемое программное обеспечение - программную систему, которая строится на основе применения соответствующих инструментальных средств.
В сфере проектирования новых изделий роль ИСП играют конструкторские системы автоматизированного проектирования (САПР-К). В сфере технологической подготовки производства роль ИСП играют автоматизированные системы технологической подготовки производства (АСТПП).
К инструментальным средствам создания САПР-К и АСТПП относятся CAD/CAM, CAE и PDM-системы. При этом CAD/CAM и САЕ-системы становятся средствами для автоматизации выполнения проектных процедур, а PDM-система - средством для управления процессами проектирования и подготовки производства. Одновременно PDM-система является базовым средством, с помощью которого реализуется единое информационное пространство для всех этапов жизненного цикла изделия (ЖЦИ).
Наиболее мощные и полнофункциональные комплексы CAD/CAM/CAE/PDM получили название PLM-решений (Product Data Management -управление данными об изделии).
6. Стратегия получения знаний. Практические методы извлечения знаний
6.1 Стратегия получения знаний
Выделяют три стратегии получения знаний - приобретение знаний, извлечение знаний и обнаружение знаний в базах данных:
Под приобретением (acquisition) знаний понимают способ автоматизированного наполнения базы знаний посредством диалога эксперта и специальной программы.
Извлечением (elicitation) знаний называют процедуру взаимодействия инженера по знаниям с источником знаний (экспертом, специальной литературой и др.) без использований вычислительной техники.
Термином “обнаружение знаний в базах данных” (knowledge discovery in databases - KDD) сегодня обозначают процесс получения из “сырых” данных новой, потенциально полезной информации о предметной области. Этот процесс включает несколько этапов (рис. 6.1). Сюда относится накопление сырых данных, отбор, подготовка, преобразование данных, поиск закономерностей в данных, оценка, обобщение и структурирование найденных закономерностей.
Рис. 6.1. Процесс обнаружения знаний в БД
Стратегия KDD все более выдвигается на первую роль. Это во многом обусловлено быстрым развитием разнообразных хранилищ данных (data warehouse) - собраний данных, отличающихся предметной ориентированностью, интегрированностью, поддержкой хронологии, неизменяемостью, и предназначенных для последующей аналитической обработки.
Специфика современных требований к обработке данных с целью обнаружения знаний следующая:
· Данные имеют неограниченный объем
· Данные являются разнородными (количественными, качественными, категориальными)
· Результаты должны быть конкретны и понятны
· Инструменты для обработки “сырых” данных должны быть просты в использовании
6.2 Практические методы извлечения данных
Классификация методов извлечения знаний (рис. 6.2) позволит инженерам по знаниям, в зависимости от конкретной задачи и ситуации, выбрать конкретный метод. Из предложенной схемы классификации видно, что основной принцип деления связан с источником знаний. Коммуникативные методы охватывают все виды контактов с живым источником знаний - экспертом, а текстологические касаются методов извлечения знаний из документов (методик, пособий, руководств) и специальной литературы (статей, монографий, учебников).
Разделение этих групп методов на верхнем уровне классификации не означает их антагонистичности, обычно инженер по знаниям комбинирует различные методы, например, сначала изучает литературу, затем беседует с экспертами, или наоборот.
Рис. 6.2. Классификация методов извлечения знаний.
В свою очередь, коммуникативные методы можно также разделить на две группы: активные и пассивные. Пассивные методы подразумевают, что ведущая роль в процедуре извлечения знаний как бы передается эксперту, а инженер по знаниям только протоколирует рассуждения эксперта во время его реальной работы по принятию решений или записывает то, что эксперт считает нужным самостоятельно рассказать в форме лекции. В активных методах, напротив, инициатива полностью в руках инженера по знаниям, который активно контактирует с экспертом различными способами - в играх, диалогах, беседах за "круглым столом" и т.д.
Пассивные методы на первый взгляд достаточно просты, но на самом деле требуют oт инженера по знаниям умения четко анализировать "поток сознания" эксперта и выявлять в нем значимые фрагменты знаний. Отсутствие обратной связи (пассивность инженера по знаниям) значительно ослабляет эффективность этих методов, чем и объясняется их обычно вспомогательная роль при активных методах.
Активные методы можно разделить на две группы в зависимости от числа экспертов, отдающих свои знания. Если их число больше одного, то целесообразно помимо серии индивидуальных контактов с каждым применять и методы групповых обсуждений предметной области. Такие групповые методы обычно активизируют мышление участников дискуссий и позволяют выявлять весьма нетривиальные аспекты их знаний. В свою очередь, индивидуальные методы на сегодняшний день остаются ведущими, поскольку столь деликатная процедура, как "отъем знаний", не терпит лишних свидетелей.
Отдельно следует сказать об играх. Игровые методы сейчас широко используются и социологии, экономике, менеджменте, педагогике для подготовки руководителей, учителей, врачей и других специалистов. Игра - это особая форма деятельности и творчества, где человек раскрепощается и чувствует себя намного свободнее, чем в обычной трудовой деятельности.
Заключение
В ходе выполнения работы были сделаны следующие выводы:
Экспертная система - это интеллектуальная программа, способная делать логические выводы на основании знаний в конкретной предметной области и обеспечивающая решение специфических задач.
К экспертным системам предъявляются следующие требования: использование знаний, связанных с конкретной предметной областью; приобретение знаний от эксперта; определение реальной и достаточно сложной задачи; наделение системы способностями эксперта.
Структура экспертной системы представлена следующими структурными элементами: база знаний, механизм логических выводов, пользовательский интерфейс, модуль приобретения знаний, модуль советов и объяснений.
Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов: медицинская диагностика, контроль и управление, диагностика неисправностей в механических и электрических устройствах, обучение, экономика и финансы.
Множество предприятий устанавливают ЭС для решения задач в таких областях как: торги на фондовой бирже, автоматическое понимание новостей, кредитный анализ, управление рисками, построение портфелей кредитов и инвестиций, оценка рейтинга банков, автоматизация аудита, предсказание изменений на финансовом рынке и т.д. Были рассмотрены наиболее распространенные экспертные системы в области финансов.