Перейти на главную страницу
Ленинград
1990.
Разработка экспертных систем, их особенности, преимущества, достижения, принципы работы и перспективы одно из самых популярных направлений современного программирования.
Термин "экспертная система" у многих из читателей совершенно естественно ассоциируется с термином эксперт. Так принято называть высококвалифицированного, авторитетного специалиста в какой-либо области деятельности (например, в медицине, химии, геологии, юриспруденции, электротехнике, военном деле, конструировании и диагностике неисправностей технических систем, технологии программирования и др.), который решает задачи, используя свой опыт и знания.
Можно выделить следующие классы задач, решаемых экспертами:
- диагностика - определение причин заболевания человека или неисправности технической системы и выработка рекомендаций по их устранению;
- классификация - построение иерархии концепций или объектов; определение места заданного объекта или концепции в этой иерархии;
- прогнозирование - предсказание поведения организма, технической или любой другой системы на основе данных о ее текущем состоянии;
- планирование - построение плана (программы) действий по решению какой-либо задачи;
- управление - контроль состояния сложной системы и принятие оперативных решений по его изменению.
Одна из наиболее известных в мире ЭС MYCIN является системой медицинской диагностики и решает задачи диагностики инфекционных заболеваний крови и выработки рекомендаций по их лечению. Название системы (в русском варианте МИЦИН) подчеркивает ее назначение, так как является общим окончанием многих названий лекарств, используемых для лечения инфекций (эритромицин, стрептомицин и др.). Система MYCIN использует базу медицинских знаний о заболеваниях, их симптомах и вызывающих их микроорганизмах (культурах). Необходимую информацию о пациенте система получает в процессе диалога с пользователем (врачом). По признанию специалистов-медиков, система MYCIN не уступает по качеству диагностики ведущим экспертам. Подобная система, установленная либо на ЭВМ в клинике, либо на портативной персональной ЭВМ, умещающейся в "дипломате" врача "скорой помощи", является мечтой любого медика. В настоящее время разработаны сотни столь же "компетентных" ЭС, используемых во всех перечисленных выше областях. Другая столь же известная в мире система PROSPECTOR ("предсказатель"), решающая геологические задачи поиска месторождений, предсказала наличие крупного месторождения молибдена в США. Можно было бы привести и много других примеров, подтверждающих удивительные способности экспертных систем.
Нетрудно представить себе, что, начиная с 80-х годов, весь компьютеризованный мир переживает настоящий бум экспертных систем. Пользователи ЭВМ, не являющиеся профессиональными программистами(медики, химики, юристы, военные, специалисты по электронике и многие другие), увидели в экспертных системах реализацию давно, казалось бы, забытой мечты о том, чтобы сделать компьютер реальным помощником в своей повседневной деятельности, не прибегая для этого к изучению языков программирования, которое для большинства экспертов представляет известные трудности. Экспертные системы ведут диалог со специалистами в терминах, близких к их профессиональному лексикону, широко используя также графические средства (например, система PROSPECTOR указала расположение предсказанного ею месторождения специальным значком на цветной карте США, выведенной на экран). Более того, они обладают способностью к логическим выводам, к "самопознанию" (способны объяснить пользователю ход своих рассуждений), а некоторые - даже к "резонерству" (критикуют вводимые в них экспертные знания, если они кажутся им неточными или неполными).
Итак, рассмотрим сначала историю появления и развития экспертных систем, а затем попытаемся разобраться в тех принципах, которые лежат в основе их работы.
Экспертные системы возникли как значительный практический результат в применении и развитии методов искусственного интеллекта (ИИ) - совокупности научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ.
Область искусственного интеллекта имеет уже более чем 30-летнюю историю развития. С самого начала в ней рассматривался ряд весьма сложных задач, которые, наряду с другими, и до сих пор являются предметом исследований: автоматическое доказательство теорем, машинный перевод (автоматический перевод с одного естественного языка на другой), распознавание изображений и анализ сцен, планирование действий роботов, алгоритмы и стратегии игр.
С течением времени менялась точка зрения на методы решения этих задач.
В 50-е годы основным направлением развития ИИ было построение моделей человеческого мозга в виде нейронных сетей. Однако, ввиду недостаточно высокого уровня развития вычислительной техники в то время, разработка нейронных сетей уступила место другим методам ИИ и вновь активизировалась лишь в 80-е годы, когда были разработаны первые нейрокомпьютеры (это направление ИИ активно развивается и в настоящее время).
В 60-е годы основное внимание было уделено разработке общих методов эвристического поиска - методов, основанных на эвристиках (неформализованных правилах решения задач).
Приведем пример "универсальной" эвристики, в которой сформулирована стратегия решения задач, известная в ИИ как "поиск в глубину":
ЕСЛИ метод решения задачи не известен, ТО следует попытаться разбить задачу на части и решить каждую из них как самостоятельную задачу.
Этот простой пример демонстрирует все особенности эвристик: нечеткость (неформализованность), ограниченность области применения (разумеется, данная эвристика применима не для любой задачи и далеко не всегда приводит к наиболее эффективному методу решения). Опыт показал, что универсального набора эвристик, позволяющего решить задачу из любой области и любой сложности, по-видимому, не существует. Интеллектуальные решатели задач, построенные на наборе общих эвристик, оказались в состоянии решать лишь "игрушечные" задачи. Однако само исследование методов эвристического поиска оказалось необходимым шагом к следующему этапу развития.
Начиная с конца 60-х годов, ведущие специалисты в области ИИ существенно изменили свою точку зрения на методы решения задач. Новый подход коротко сформулирован в известном афоризме: "Знание - сила". Выражаясь более подробно, эффективность метода решения интеллектуальной задачи зависит в первую очередь от конкретных знаний об исследуемой области, и лишь в последнюю - от общих стратегий и схем логического вывода. Этот принцип - один из основных принципов разработки экспертных систем. Авторитетный американский специалист в области ИИ Э.Фейгенбаум сформулировал его в виде следующего утверждения (известного как "гипотеза Фейгенбаума"): мощность системы искусственного интеллекта (т.е. ее способность решать реальные задачи) обратно пропорциональна общности. Иначе говоря, чем более универсальную систему ИИ планируется сделать, тем меньшей мощностью она будет обладать (способна будет решать лишь очень простые задачи). И наоборот, чем более мы конкретизируем область, задачу и знания о ее решении, тем выше будет "интеллектуальный уровень" системы, решающей данную задачу с использованием "вложенных" в нее знаний; однако при этом система будет способна решать только данную задачу.
Первой системой, основанной на таком подходе (первой экспертной системой) стала система DENDRAL, разработанная в 1965 г. в Стэнфордском университете (США). Ведущим разработчиком ее является профессор Э.Фейгенбаум. Система DENDRAL высококвалифицированный эксперт в области химии. Она решает задачу построения возможных химических структур (изомеров) по экспериментальным данным об исследуемом веществе. Система DENDRAL в своей работе использует базу знаний, содержащую не общие эвристические правила, подобные приведенному выше, а несколько десятков эвристик, отражающих специфические правила рассуждений, свойственных химикам. Например, в этих правилах учитываются совокупности радикалов, которые часто встречаются вместе в структуре химических веществ.
Система DENDRAL имела огромный успех, так как выяснилось, что при решении своей задачи ее уровень компетентности сравним с уровнем лучших экспертов. Некоторые специалисты-химики обращались к авторам системы с просьбой прислать им распечатку ее базы знаний, так в ней в систематическом виде представлены все необходимые знания для решения данной задачи. Так, впервые в истории вычислительной техники, знания, необходимые для решения задачи с применением ЭВМ(которые до сих пор содержались в "замороженном", т.е. неявном и практически не пригодном для восприятия виде в программах) стали предметом формализации, представления и обработки в ЭВМ, а полученная база знаний - предметом изучения экспертов в данной области. Таким образом, система DENDRAL открыла новую эпоху в развитии ИИ - эпоху экспертных систем.
Наиболее известные экспертные системы, разработанные в 60-х - 70-х годах, стали в своих областях уже классическими. По происхождению, предметным областям и по преемственности применяемых идей, методов и инструментальных программных средств их можно разделить на несколько семейств.
1) DENDRAL - META-DENDRAL. Система DENDRAL - исторически первая экспертная система - решает задачу определения наиболее вероятной структуры химического соединения по экспериментальным данным (масс-спектрографии, данным ядерно-магнитного резонанса и др.). При решении этой задачи система использует знания об ограничениях на компоненты химических структур. В 70-е годы была разработана система META-DENDRAL, автоматизирующая процесс приобретения знаний для системы DENDRAL. Она генерирует правила построения фрагментов химических структур; эти правила запоминаются в базе знаний системы DENDRAL и используются при ее работе.
2) MYCIN - EMYCIN - TEIRESIAS - PUFF - NEOMYCIN. Это семейство медицинских экспертных систем и сервисных программных средств для их построения. Система MYCIN, созданная в Стэнфордском университете (США), предназначена для диагностики инфекционных заболеваний крови. Эта система была первой экспертной системой, в которой применен метод представления знаний в виде совокупности фактов вида:
(АТРИБУТ ОБЪЕКТ ЗНАЧЕНИЕ) (данный факт означает, что заданный атрибут заданного объекта имеет заданное значение) и правил (эвристик) вида ЕСЛИ A ТО S, где A - условие, S - действие. Успех системы MYCIN, которая выдержала конкуренцию с высококвалифицированными экспертами-медиками, вызвал целую волну работ по экспертным системам. На основе системы MYCIN был разработан язык инженерии знаний EMYCIN (Essential MYCIN - существенный MYCIN), который позволяет разрабатывать экспертные системы, основанные на том же способе представления знаний, наполняя базу знаний новыми фактами и правилами. С помощью системы EMYCIN разработана медицинская экспертная система PUFF для диагностики легочных заболеваний и ряд других диагностических систем. Опыт показал, однако, что используемый способ представления знаний далеко не универсален (вспомним гипотезу Фейгенбаума). Дальнейшее развитие системы MYCIN, как и системы DENDRAL, было связано с автоматизацией процесса приобретения знаний: была создана система TEIRESIAS, которая позволяет в диалоговом режиме пополнять базу знаний системы MYCIN новыми правилами, проверяя их на корректность, непротиворечивость с существующими правилами и полноту. Система TEIRESIAS позволяет также пользователю системы MYCIN в процессе консультации (диалога с экспертной системой) получать объяснения ее хода рассуждений (об объяснительных способностях экспертных систем подробнее речь пойдет ниже). Система TEIRESIAS названа по имени легендарного древнегреческого предсказателя Терезия, который обладал "высшим знанием". Она использует в своей работе метазнания - знания о знаниях, т.е. знания об особенностях и характере тех знаний, на которых основана работа системы MYCIN. Наиболее новым звеном в этой цепи работ является система NEOMYCIN, в которой метазнания используются для управления логическим выводом.
3) PROSPECTOR - KAS. Система PROSPECTOR, предназначенная для поиска (предсказания) месторождений на основе данных геологических анализов, была создана под влиянием системы NYCIN, однако использует несколько другой способ представления знаний и логического вывода, основанный на семантической сети, которая связывает между собой все факты и правила, касающиеся некоторого месторождения. Для системы PROSPECTOR, как и для системы NYCIN, была разработана система автоматизации приобретения знаний KAS (Knowledge Acquisition System система приобретения знаний).
4) CASNET - EXPERT. Система CASNET - это медицинская экспертная система для диагностики и выдачи рекомендаций по лечению глазных заболеваний. На ее основе разработан язык инженерии знаний EXPERT, с помощью которого создан ряд других медицинских диагностических систем по офтальмоголии, ревматологии и эндокринологии. Особенностью этого семейства систем является явное выделение понятия факта (априорно известных или опытных данных) и гипотезы (предположительного диагноза или рекомендации) и использование правил, логически связывающих факты между собой и гипотезы с фактами.
5) HEARSAY - HEARSAY-II - HEARSAY-III - AGE. Первые две системы этого ряда являются развитием интеллектуальной системы распознавания слитной человеческой речи, слова которой берутся из заданного словаря. Эти системы отличаются оригинальной структурой, основанной на использовании доски объявлений - глобальной базы данных, содержащей текущие результаты работы системы. В дальнейшем на основе этих систем были созданы инструментальные системы HEARSAY-III и AGE (Attempt to GEneralize - попытка обобщения) для построения экспертных систем.
6) PSG - OPS - OPS4 - OPS5 - OPS83 - R1 - XCON. Семейство языков PSG - OPS, в основу которых положено понятие продукции (правила), первоначально было ориентировано на задачи моделирования человеческого мышления. Языки инженерии знаний OPS5 и OPS83 предназначены для разработки экспертных систем. На языке OPS5 была реализована первая коммерческая экспертная система R1 (в более поздней модификации получившая название XCON), которая используется в одной из крупнейших фирм по производству вычислительной техники DEC для автоматизированного построения конфигурации вычислительных систем типа VAX по набору требований заказчика.
7) AM - EURISKO. Система AM (Artificial Mathematician искусственный математик) была создана с целью моделирования мышления математика при определении новых понятий и доказательстве теорем. В систему была вложена способность к характерным для математического мышления индуктивным и дедуктивным рассуждениям и выводам по аналогии. Работа системы основана на наборе эвристик (правил), описывающих некоторые способы математических рассуждений. Система AM, используя введенные в нее начальные определения из теории чисел, самостоятельно ввела ряд новых понятий и доказала ряд теорем об их свойствах: в частности, "открыла" понятие простого числа и операцию произведения чисел (разумеется, система была бы не в состоянии дать этим понятиям именно такие названия, хотя и проанализировала их свойства). Система EURISKO является развитием системы AM. Ее принципиально новой возможностью является способность системы самостоятельно создавать новые эвристики и использовать их в процессе консультации (т.е. способность к "самоанализу" и "накоплению опыта"). В научной литературе описан анекдотический эпизод. Когда система EURISKO вывела новую эвристику:
ЕСЛИ эвристика создана системой
ТО вычеркни ее, то тут же применила эту эвристику к самой себе. Система EURISKO нашла промышленное применение в электротехнике; ее значительным достижением является открытие одного из новых элементов интегральных схем.
Начиная с 70-х годов, экспертные системы стали ведущим направлением в области ИИ. При их разработке нашли применение методы ИИ, разработанные ранее: методы представления знаний, логического вывода, эвристического поиска, распознавания предложений на естественном языке и другие. Можно утверждать, что именно экспертные системы позволили получить очень большой коммерческий эффект от применения этих мощных методов. В этом - их особая роль.
Каталог экспертных систем и инструментальных программных средств для их разработки, опубликованный в США в 1987 году, содержит более тысячи систем (сейчас, по-видимому, их уже значительно больше). В развитых зарубежных странах сотни фирм занимаются разработкой и внедрением экспертных систем. Имеются и отечественные разработки по экспертным системам, в том числе - нашедшие промышленное применение.
Однако уже на начальных этапах выявились серьезные принципиальные трудности, препятствующие более широкому распространению экспертных систем и серьезно замедляющие и осложняющие их разработку. Они, как мы увидим, вполне естественны и вытекают из самих принципов разработки экспертных систем.
Первая трудность возникает с связи с постановкой задачи. Большинство заказчиков, планируя разработку экспертной системы, вследствие недостаточной компетентности в вопросах применения методов искусственного интеллекта, склонно значительно преувеличивать ожидаемые возможности системы. Заказчик желает видеть в ней самостоятельно мыслящего эксперта в исследуемой области, способного решать в ней широкий круг задач. Отсюда и типичные первоначальные постановки задачи по созданию экспертных систем: "Разработать экспертную систему по обработке изображений"; "Создать медицинскую экспертную систему по лечению заболеваний опорно-двигательного аппарата у детей". Однако, как уже отмечалось, мощность эвристических методов решения задач при увеличении общности их постановки резко уменьшается. Поэтому наиболее целесообразно(особенно при попытке создания экспертной системы в области, для которой у разработчиков еще нет опыта создания подобных систем) ограничиться для начала не слишком сложной обозримой задачей в рассматриваемой области, для решения которой нет простого алгоритмического способа (т.е. не очевидно, как написать программу для решения этой задачи, не использующую методы обработки знаний). Кроме того, важно, чтобы уже существовала сложившаяся методика решения этой задачи "вручную" или какими-либо расчетными методами. Для успешной разработки экспертной системы необходимы не только четкая и конкретная постановка задачи, но и разработка подробного (хотя бы словесного) описания "ручного" (или расчетного) метода ее решения. Если это сделать затруднительно, дальнейшая работа по построению экспертной системы теряет смысл.
Вторая и основная трудность - проблема приобретения (усвоения) знаний. Эта проблема возникает при "передаче" знаний, которыми обладают эксперты-люди, экспертной системе. Разумеется, для того, чтобы "обучить" им компьютерную систему, прежде всего требуется сформулировать, систематизировать и формализовать эти знания "на бумаге". Это может показаться парадоксальным, но большинство экспертов (за исключением, может быть, математиков), успешно используя в повседневной деятельности свои обширные знания, испытывают большие затруднения при попытке сформулировать и представить в систематическом виде хотя бы основную часть этих знаний: иерархию используемых понятий, эвристики, алгоритмы, связи между ними. Оказывается, что для подобной формализации знаний необходим определенный систематический стиль мышления, более близкий математикам и программистам, чем, например, юристам или медикам. Кроме того, необходимы с одной стороны, знания в области математической логики и методов представления знаний, с другой - знание возможностей ЭВМ, их программного обеспечения, в частности - языков и систем программирования.
Таким образом, выясняется, что для успешной разработки экспертных систем необходимо участие в ней особого рода специалистов, обладающих указанной совокупностью знаний и выполняющих функции "посредников" между экспертами в предметной области и компьютерными (экспертными) системами. Они получили название инженеры знаний (в оригинале - knowledge engineers), а сам процесс разработки экспертных систем и других интеллектуальных программ, основанных на представлении и обработке знаний, - инженерией знаний (knowledge engineering). В развитых зарубежных странах специальность "инженер знаний" введена во многих вузах, в нашей стране основы инженерии знаний изучаются пока в рамках специализаций по системному программированию. Функции эксперта и инженера знаний редко совмещаются в одном лице. Чаще функции инженера знаний выполняет разработчик экспертной системы. Как показал опыт многих разработок, процесс первоначального приобретения знаний, в котором участвуют эксперты, инженеры знаний и разработчики экспертной системы, требует активной работы всех трех категорий специалистов и может длиться от нескольких недель до нескольких месяцев.
На этапе приобретения знаний могут возникнуть и трудности психологического порядка: эксперт может препятствовать передаче его знаний экспертной системе, полагая, что это снизит его престиж как специалиста и создаст предпосылки для замены его "машиной". Однако эти опасения лишены оснований: экспертная система "уверенно" работает лишь в типовых ситуациях, а также удобна в случаях, когда человек может находиться в состоянии стресса; в наиболее сложных ситуациях, требующих нестандартных рассуждений и оценок, эксперт-человек является незаменимым.
Третья серьезная трудность заключается в очень большой трудоемкости разработки экспертной системы: требуется разработать средства управления базой знаний, логического вывода, диалогового взаимодействия с пользователем и т.д. Объем программирования столь велик, а разрабатываемые программы столь сложны и нетрадиционны, что имеет смысл, как это принято сейчас при разработке больших программ, на первом этапе работы создать демонстрационный прототип системы - ее предварительный вариант, в котором в упрощенном виде реализованы лишь ее основные планируемые возможности, который будет служить для заказчика подтверждением того, что разработка экспертной системы для решения данной задачи принципиально возможна, а для разработчиков - основой для последующего улучшения и развития системы. Опыт показывает, что на разработку демонстрационного прототипа экспертной системы (включая этапы постановки задачи и первоначального приобретения знаний) может потребоваться 3 - 6 месяцев. Процесс постепенного улучшения прототипа (доработки системы до промышленного уровня) может длиться несколько лет. Например, развитие системы PROSPECTOR активно велось в течение 10 лет.
Несмотря на описанные проблемы и трудности, разработка экспертных систем является весьма перспективным направлением. В СССР большинство работ по экспертным системам находится в начальной стадии и может давать практический выход в течение еще достаточно длительного времени. Значительная часть экспертных систем создается не "вручную", а с помощью специализированных программных "инструментов", среди которых основное место занимают оболочки - диалоговые системы, имеющие собственный язык представления знаний и все необходимые компоненты, являющиеся частью будущей системы, за исключением конкретной базы знаний. Все более значительную роль начинают играть гибридные экспертные системы, объединяющие в себе собственно "экспертные" компоненты и пакеты прикладных программ. Перспективным направлением развития экспертных систем являются также системы автоматизации приобретения знаний, позволяющие облегчить заполнение баз знаний экспертных систем путем опроса экспертов в режиме диалога с ЭВМ.
Разработка экспертных систем, их особенности, преимущества, достижения, принципы работы и перспективы одно из самых популярных направлений современного программирования
25 12 2014
3 стр.
Экспертные системы, основанные на логике. Их структурные и функциональные особенности
01 10 2014
1 стр.
16 12 2014
1 стр.
Экспертная система представляет собой автоматизированную информационную систему, обеспечивающую пользователя-управленца, пользователя-проектировщика и т д
25 12 2014
9 стр.
Классическим примером этой задачи является медицинская диагностика. Всегда существуют некоторые сомнения в четкости проявления симптомов того или иного заболевания
25 12 2014
1 стр.
Эс характерна для организаций социального обеспечения, поскольку в данной проблемной области при решении большинства задач
17 12 2014
1 стр.
Что представлять" в экспертной системе. Второй вопрос касается того, "как представлять" знания. Необходимо отметить, что эти две проблемы не являются независимыми
17 12 2014
1 стр.
Интеллектуальных систем и робототехники рунц интеллектуальные системы и информационные технологии Окуловского Юрия Сергеевича на мероприятия международной научно-образовательной пр
17 12 2014
1 стр.