Машинный интеллект
4.3.3. Экспертная система
Экспертная система — наиболее известный и распространенный вид интеллектуальных систем. Хотя этот термин употребляется весьма широко, но его точного определения пока нет. Можно лишь указать ряд особенностей, которые присущи только экспертным системам.
Первая особенность экспертных систем состоит в том, что они предназначены для пользователей, сфера деятельности которых далека от искусственного интеллекта, программирования, математики, логики. Для таких пользователей экспертная система выступает как некая система, помогающая им в повседневной работе. Общение с экспертными системами, работа с ними должны быть так же просты, как просты, например, управление телевизором, стиральной машиной или автомобилем.
Что же дают пользователю экспертные системы? Во многих видах человеческой деятельности используемые знания далеко не всегда могут быть четко формализованы. Точнее, наряду со знаниями как бы отделенными, отобранными у специалистов (они зафиксированы в учебниках, инструкциях, учебных фильмах и т. п.), существуют так называемые профессиональные навыки и умения, овладеть которыми можно, только работая вместе с тем, кто уже овладел ими.
Профессионал высокого уровня (врач, геолог, экономист, инженер, технолог и т. д.) отличается от новичка, овладевшего знаниями в объеме учебных программ института или университета, именно этими навыками и умениями. И повышение их профессионального мастерства — огромная социальная задача. Чтобы ее решить, надо научиться "извлекать" из профессионалов-экспертов те знания, которые не зафиксированы в форме, пригодной для массового распространения, — в книгах, кинофильмах, наглядных пособиях. В этом и заключается вторая особенность экспертных систем.
Само название этих систем указывает на то, что они должны хранить в себе знания профессионалов-экспертов в некоторой предметной области. И не просто хранить, но и передавать их тем, у кого таких знаний нет. Для этого в экспертной системе предусмотрены не только простые средства общения между системой и специалистами, но и средства доведения хранимых в системе знаний до специалиста вместе с необходимыми пояснениями и разъяснениями. В этом заключается третья особенность экспертных систем. Ни в каких других интеллектуальных системах, кроме систем, предназначенных для обучения, объяснительная функция (т. е. способность давать при необходимости пояснения и разъяснения) не встречается.
Рассмотрим типовую структуру экспертной системы, показанную на рис. 4.3. В этой структуре четыре основных блока. Экспертная система является типичной человеко-машинной системой, поэтому в ее состав включен блок, названный "интеллектуальный интерфейс". Его задача — обеспечить диалог с пользователем на привычном ему языке. В состав интеллектуального интерфейса могут входить средства визуализации, с помощью которых на экране дисплея формируются необходимые образы, используемые в процессе общения пользователя с системой (чертежи, схемы, рисунки и т. п.).
Общение с пользователем происходит в режиме "вопрос-ответ", причем вопросы могут задавать как пользователь, так и система. Первый вопрос обычно задает пользователь — он посылает системе стандартный сигнал-реплику: "Помоги мне!". Если, предположим, экспертная система стала советчиком для любителя-автомобилиста, то между ними может произойти, например, такой диалог [78]:
— Помоги мне! — Что наблюдается? (Это стандартная первая реплика системы.) — Двигатель не заводится. — Какая сейчас температура воздуха? — ?25°С. — Первая причина — загустело масло. Залито зимнее масло? и т. д.
Поддерживать диалог с пользователем экспертной системе помогает схема управления диалогом. Она хранится в логическом блоке, и именно он осуществляет все необходимые манипуляции с репликами пользователя, информацией из базы знаний и выдаваемыми ответными репликами.
Специфическим именно для экспертных систем является наличие блока объяснений. Дело в том, что после консультации с экспертной системой решение, полученное пользователем, может показаться ему либо неприемлемым, либо не лучшим. Происходит это потому, что часть рассуждений экспертная система делает самостоятельно, используя свой сценарий и те знания, которыми она располагает. Пользователю же кажется, что в логике получения решения имеются "провалы", "перескоки", не обоснованные шагами диалога.
Во всех подобных случаях пользователь может обратиться к блоку объяснений. Последний на вопрос "Как получилось именно это решение?" дает все необходимые объяснения, используя информацию, которая в процессе выработки решения накапливается в логическом блоке. Как правило, сценарий предусматривает несколько путей; среди них возможны тупиковые пути, не ведущие к нужной цели. Оказавшись на дороге в тупик, система может автоматически вернуться к той "развилке", где она сделала неверный выбор. Неудачные попытки в памяти логического блока не сохраняются, и в результате к концу поиска решения в нем запоминается лишь результативный путь — трек, ведущий от начальной ситуации к решению. Этот трек и используется блоком объяснения для ответа на запрос пользователя.
Но пользователь может задать и иной вопрос: "Почему рекомендуется решение Р1, а не решение Р2?". Чтобы ответить на этот вопрос, система должна построить путь от Р2 к исходной ситуации, т. е. от готового решения прийти к исходным данным. Далее возможны два варианта: либо система убеждается, что Р2 не может быть получено из исходных данных, либо она получает новый трек, который от исходных данных ведет не к Р1, а к Р2. Сравнивая трек и для Р1, и для Р2, система находит тот момент, когда она предпочла двигаться к Р1, а не к Р2, и свои соображения по выбору на этом шаге она сообщает пользователю.
Наконец, пользователь может слабо разбираться в той предметной области, для работы с которой предназначена экспертная система. Например, он может не знать значения некоторых терминов, которые в общении с ним использует система. В этом случае пользователь может задать блоку объяснений вопрос: "Что такое X?" Для ответа на такой вопрос система обращается к энциклопедической информации, хранящейся в базе знаний, — логический блок находит соответствующую статью, где разъясняется, что такое X, и выдает ее текст пользователю.
Три типа вопросов, которые мы обсудили (как, почему, что), — это сегодняшний уровень работы блоков объяснений экспертных систем. В ближайшем будущем эти блоки смогут отвечать и на иные вопросы (зачем, какой и т. п.). Объяснительная возможность экспертных систем в этом случае возрастет. Соответственно, возрастет и доверие пользователя к тем решениям, которые ему рекомендует система.
На практике экспертные системы используются прежде всего как системы-советчики в тех ситуациях, где специалист сомневается в выборе правильного решения. Экспертные знания, хранящиеся в памяти системы, более глубокие и полные, чем соответствующие знания пользователя. Однако возможны и другие случаи применения экспертных систем. Правда, часть специалистов в области искусственного интеллекта предлагают эти другие системы считать особыми классами интеллектуальных систем и не смешивать их с "классическими" экспертными системами. Но термин "экспертные системы" характеризуется стремлением к расширению, и в большинстве случаев, когда его употребляют, в него автоматически включают еще два вида систем.
При работе в оперативном режиме, когда времени для обдумывания и выбора решений у человека очень мало (например, при возникновении аварийной ситуации в энергосистеме или в летящем самолете), неправильное решение принимается не потому, что человек не смог найти лучшего, а в силу его психических особенностей. Стресс приводит к тому, что даже очевидные решения бывает найти не так-то просто. В этих случаях можно использовать системы-подсказчики. По сложившейся ситуации такая система начинает давать советы в темпе, достаточном для того, чтобы человек на них прореагировал. Система ничего не забывает, ничего не путает и все учитывает. Поэтому эффект от ее применения оказывается значительным. Например, известно, что когда в больницу поступает пациент с множеством повреждений, то зачастую хирург среднего уровня может принять не лучшие решения, а это может повлечь тяжелые последствия. Тут пригодилась бы система, которая в считанные мгновения может оценить ситуацию и выдать советы, гарантирующие максимальную безопасность для жизни пострадавшего.
В системах оперативного управления знания, хранящиеся в базе знаний, могут быть и меньшими, чем у специалиста, работающего в паре с системой. Но зато быстрота и точность реакции системы значительно выше, чем у человека.
Есть и еще один класс систем, не имеющих собственного названия и поэтому часто называемых экспертными. В отличие от классических экспертных систем они рассчитаны не на пользователя, являющегося новичком или средним специалистом в некоторой области деятельности, а на самих экспертов-профессионалов. Для таких специалистов нужна не консультирующая или советующая система, а система, способная помочь им в научной работе. Системы такого рода называют системами автоматизации научных исследований. Примером могут быть системы, способные на основании частных знаний эксперта обнаружить в эмпирическом материале скрытые связи и закономерности.
Специалисты собирают априорные знания о влиянии структуры соединения на биологическую активность. Эти знания закладываются в базу знаний, и система на новом материале пытается обобщить их в виде закономерности. Найденные зависимости выдаются специалисту, который пытается их осознать и интерпретировать. Свои новые соображения он вводит в систему, и совместная работа продолжается.
При создании экспертных систем наиболее трудоемким этапом является заполнение базы знаний сведениями, нужными для функционирования будущей системы. Эту работу выполняет особый специалист — инженер по знаниям.
Исходя из вышеизложенного, сформулируем одно из наиболее устойчиво используемых в специальной литературе определений экспертной системы.
Экспертной системой называют вычислительную систему использования знаний эксперта и процедур логического вывода для решения проблем, которые требуют проведения экспертизы и позволяют дать объяснение полученным результатам.
ЭС обладает способностями к накоплению знаний, выдаче рекомендаций и объяснению полученных результатов, возможностями модификации правил, подсказки пропущенных экспертом условий, управления целью или данными. ЭС отличают следующие характеристики:
- интеллектуальность;
- простота общения с компьютером;
- возможность наращивания модулей;
- интеграция неоднородных данных;
- способность разрешения многокритериальных задач при учете предпочтений лиц, принимающих решения (ЛПР);
- работа в реальном времени;
- документальность;
- конфиденциальность;
- унифицированная форма знаний;
- независимость механизма логического вывода;
- способность объяснения результатов.
В настоящее время можно выделить следующие основные сферы применения ЭС: диагностика, планирование, имитационное моделирование, предпроектное обследование предприятий, офисная деятельность, а также некоторые другие.
Практика показывает, что по сравнению со статическими ЭС гораздо больший эффект дают ЭС, используемые в динамических процессах (экспертные системы реального времени — ЭСРВ). Последние занимают около 70% рынка таких систем и находят все более широкое применение в управлении непрерывными процессами (химические производства, цементная промышленность, атомная энергетика и т. д.).
По сравнению с общей схемой (рис. 5.1) в ЭС часто отсутствует возможность общения с системой на близком к естественному языке либо с использованием визуальных средств, поскольку взаимодействие с такой системой осуществляется с использованием языка типа ПРОЛОГ или с применением ПРОЛОГ-идей.
В задачу этого направления входят исследование и разработка программ (устройств), использующих знания и процедуры вывода для решения задач, являющихся трудными для людей-экспертов. ЭС могут быть отнесены к системам ИИ общего назначения — системам, которые не только исполняют заданные процедуры, но на основе метапроцедур поиска генерируют и применяют процедуры решения новых конкретных задач.
Огромный интерес к ЭС со стороны пользователей вызван по крайней мере тремя причинами. Во-первых, они ориентированы на решение широкого круга задач в неформализованных областях, на приложения, которые до недавнего времени считались малодоступными для вычислительной техники.
Во-вторых, с помощью ЭС специалисты, не знающие программирования, могут самостоятельно разрабатывать интересующие их приложения, что позволяет резко расширить сферу использования вычислительной техники.
В-третьих, ЭС при решении практических задач достигают результатов, не уступающих, а иногда и превосходящих возможности людей-экспертов, не оснащенных ЭС.
В настоящее время ЭС применяются в различных областях человеческой деятельности. Наибольшее распространение ЭС получили в проектировании интегральных микросхем, в поиске неисправностей, в военных приложениях и автоматизации программирования. Применение ЭС позволяет:
- при проектировании интегральных микросхем повысить (по данным фирмы NEC) производительность труда в 3-6 раз; при этом выполнение некоторых операций ускоряется в 10-15 раз;
- ускорить поиск неисправностей в устройствах в 5-10 раз;
- повысить производительность труда программистов (по данным фирмы Toshiba) в 5 раз;
- при профессиональной подготовке сократить (без потери качества) в 8-12 раз затраты на индивидуальную работу с обучаемым.
В настоящее время ведутся разработки ЭС для следующих приложений: раннее предупреждение национальных и международных конфликтов и поиск компромиссных решений; принятие решений в кризисных ситуациях; охрана правопорядка; законодательство; образование; планирование и распределение ресурсов; системы организационного управления (кабинет министров, муниципалитет, учреждение) и т. д.
Исследования и разработки ЭС составляют основу программ по информатизации развитых государств. На проведение этих программ выделены весьма большие средства. Например, на 10-летнюю стратегическую компьютерную программу (СКП) США запланировано выделить 1,6 млрд долл., а на Esprit Европейского экономического сообщества — примерно 1,94 млрд долл. (не евро? Это же Европа? — Ред.) (Взято из источников — автор). По мере выполнения указанных программ интерес к ним возрастает. Так, в начале 1988 г. ЕЭС приняло решение об удвоении ассигнований на Esprit. В США ассигнования на СКП не изменились, однако (с учетом принятия новых программ и расходов частных фирм) затраты на ЭС только в 1987 г. составили более 1 млрд долл. [68].
Контрольные вопросы и упражнения
- Что понимают под "машинным интеллектом"?
- Что значит слово "интерфейс"?
- Что является основой машинного интеллекта?
- Назовите способы обработки информации.
- Что представляет собой транслятор?
- Назовите основные черты машинного интеллекта.
- Что представляют собой интеллектуальные системы автоматизированного проектирования?
- Приведите состав интеллектуальной САПР (ИСАПР).
- Какие задачи технического проектирования решаются в ИСАПР?
- Что называют эвристикой?
- Что представляет собой навык?
- Что понимают под экспертной системой?
- В чем суть эвристического метода?
- В каких случаях используются эвристические методы?
- Назовите особенности экспертных систем.
- Приведите структуру экспертной системы.