Экспертные системы. 9

Введение    

 Экспертные  системы (ЭС) возникли как значительный  практический результат в применении  и развитии методов искусственного  интеллекта (ИИ)- совокупности научных  дисциплин, изучающих методы решения  задач интеллектуального (творческого)  характера с использованием ЭВМ.   

 Область  ИИ имеет более чем сорокалетнюю  историю развития.   

ЭС- это  набор программ, выполняющий функции  эксперта при решении задач из некоторой предметной области. ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.   

 Главным  достоинством  экспертных систем является возможность накопления знаний и сохранение их длительное время. В отличии от человека к любой информации экспертные системы подходят объективно, что улучшает качество проводимой экспертизы. При решении задач, требующих обработки большого объема знаний, возможность возникновения ошибки при переборе очень мала.  

  При создании ЭС возникает ряд затруднений. Это прежде всего связано с тем, что заказчик не всегда может точно сформулировать свои требования к разрабатываемой системе. Также возможно возникновение трудностей чисто психологического порядка: при создании базы знаний системы эксперт может препятствовать передаче своих знаний, опасаясь, что впоследствии его заменят “машиной”. Но эти страхи не обоснованы, т. к. ЭС не способны обучаться, они не обладают здравым смыслом, интуицией. Но в настоящее время ведутся разработки экспертных систем, реализующих идею самообучения. Также ЭС неприменимы в больших предметных областях и в тех областях, где отсутствуют эксперты.   

 Экспертная  система состоит из базы знаний (части системы, в которой содержатся  факты), подсистемы вывода (множества  правил, по которым осуществляется решение задачи), подсистемы объяснения, подсистемы приобретения знаний и диалогового процессора.    

 При  построении подсистем вывода  используют методы решения задач  искусственного интеллекта. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Глава 1. Экспертные системы, их особенности. Применение экспертных систем 

 1.1. Определение экспертных систем. Главное достоинство и назначение экспертных систем    

 Экспертные  системы (ЭС)- это яркое и быстро  прогрессирующее направление в  области искусственного  интеллекта(ИИ).   

  ЭС- это набор программ или программное обеспечение, которое выполняет функции эксперта при решении какой-либо задачи в области его компетенции. ЭС, как  и эксперт-человек, в процессе своей работы оперирует со знаниями. Знания о предметной области, необходимые для работы ЭС, определенным образом формализованы и представлены в памяти ЭВМ в виде базы знаний, которая может изменяться и дополняться в процессе развития системы.      

 Главное  достоинство ЭС - возможность накапливать знания, сохранять их длительное время, обновлять и тем самым обеспечивать относительную независимость конкретной организации  от наличия в ней квалифицированных специалистов. Накопление знаний позволяет повышать квалификацию специалистов, работающих на предприятии, используя наилучшие, проверенные решения.   

 Практическое  применение искусственного интеллекта  на машиностроительных предприятиях  и в экономике основано на  ЭС, позволяющих  повысить качество и сохранить время принятия решений, а также способствующих росту эффективности работы и повышению квалификации специалистов. 

1.2. Отличие ЭС от других программных продуктов   

 Основными  отличиями ЭС от  других программных   продуктов являются использование не только данных, но и знаний, а также специального механизма вывода решений и новых знаний на основе имеющихся. Знания в ЭС представляются в такой форме, которая может быть легко обработана на ЭВМ. В ЭС известен алгоритм обработки знаний, а не алгоритм решения задачи. Поэтому  применение алгоритма обработки знаний может привести к получению такого результата при решении конкретной задачи, который не был предусмотрен. Более того, алгоритм обработки знаний заранее неизвестен и  строится по ходу решения задачи на основании эвристических правил. Решение задачи в ЭС  сопровождается понятными пользователю  объяснениями, качество получаемых решений обычно не хуже,  а иногда и лучше достигаемого специалистами. В системах, основанных на знаниях, правила (или эвристики), по которым решаются проблемы в конкретной предметной  области, хранятся в базе знаний. Проблемы ставятся перед системой в виде совокупности фактов, описывающих некоторую ситуацию, и система с помощью базы знаний пытается вывести заключение из этих фактов (см.. рис.1).

 
 рис.1   

 Качество  ЭС определяется размером и  качеством базы  знаний (правил или эвристик). Система функционирует в следующем циклическом режиме: выбор (запрос) данных или результатов анализов, наблюдения, интерпретация результатов, усвоение новой информации, выдвижении с помощью правил временных гипотез и затем выбор следующей порции данных или результатов анализов (рис.2). Такой процесс продолжается до тех пор, пока не поступит информация, достаточная для окончательного заключения.                                       

 Все  перечисленные выше знания хранятся  в базе знаний. Для ее построения  требуется провести опрос специалистов, являющихся экспертами в конкретной  предметной области, а затем  систематизировать, организовать и снабдить эти знания указателями, чтобы впоследствии их можно было легко извлечь из базы знаний.

 
                                                                                   

рис.2  Схема работы ЭС. 

 1.3. Отличительные особенности. Экспертные системы первого и второго поколения 

1. Экспертиза  может проводиться  только в одной конкретной области. Так, программа, предназначенная для определения кон-

фигурации систем ЭВМ, не может ставить медицинские  диагнозы. 

2. База  знаний и механизм вывода являются  различными компонентами. Действительно,  часто оказывается возможным  сочетать механизм вывода с  другими базами знаний для  создания новых ЭС. Например, программа анализа инфекции в крови может быть применена в пульмонологии путем замены базы знаний, используемой с тем же самым механизмом вывода. 

3. Наиболее  подходящая  область применения- решение задач дедуктивным методом. Например, правила или эвристики выражаются в виде пар посылок и заключений типа  “если-то”.  

4. Эти  системы могут объяснять ход  решения задачи понятным пользователю  способом. Обычно мы не принимаем  ответ эксперта, если на вопрос  “Почему ?” не можем получить  логичный ответ. Точно так же мы должны иметь возможность спросить систему, основанную на знаниях, как было получено конкретное заключение.       

5.  Выходные результаты являются качественными (а не количественными). 

6. Системы,  основанные на знаниях, строятся  по модульному принципу, что позволяет постепенно наращивать их базы знаний.   

1.4. Области применения экспертных систем   

 Области  применения систем, основанных на  знаниях, могут быть сгруппированы  в несколько основных классов:  медицинская диагностика, контроль и управление, диагностика неисправностей в механических и электрических устройствах, обучение. 

 а)  Медицинская диагностика.   

 Диагностические  системы используются для установления  связи между нарушениями деятельности  организма и их возможными  причинами. Наиболее известна диагностическая система MYCIN, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. Ее первая версия была разработана в Стенфордском университете в середине 70-х годов. В настоящее время эта система ставит диагноз на уровне врача-специалиста. Она имеет расширенную базу знаний, благодаря чему может применяться и в других областях медицины. 

 б)  Прогнозирование.      

 Прогнозирующие  системы предсказывают возможные  результаты или события на основе данных о текущем состоянии объекта. Программная система “Завоевание Уолл-стрита” может проанализировать конъюнктуру рынка и с помощью статистических методов алгоритмов разработать для вас план капиталовложений на перспективу. Она не относится к числу систем, основанных на знаниях, поскольку использует процедуры и алгоритмы традиционного программирования. Хотя пока еще отсутствуют ЭС, которые способны за счет своей информации о конъюнктуре рынка помочь вам увеличить капитал, прогнозирующие системы уже сегодня могут предсказывать погоду, урожайность и поток пассажиров. Даже на персональном компьютере, установив простую систему, основанную на знаниях, вы можете получить местный прогноз погоды. 

 в)  Планирование.   

 Планирующие  системы предназначены для достижения конкретных целей при решении задач с большим числом переменных. Дамасская фирма Informat впервые в торговой практике предоставляет в распоряжении покупателей 13 рабочих станций, установленных в холле своего офиса, на которых проводятся бесплатные 15-минутные консультации с целью помочь покупателям выбрать компьютер, в наибольшей степени отвечающий их потребностям и бюджету. Кроме того, компания  Boeing применяет ЭС для проектирования космических станций, а также для выявления причин отказов самолетных двигателей и ремонта вертолетов. Экспертная система  XCON, созданная фирмой DEC, служит для определения или изменения конфигурации компьютерных систем типа VAX и в соответствии с требованиями покупателя. Фирма DEC разрабатывает более мощную систему XSEL, включающую базу знаний системы XCON, с целью оказания помощи покупателям при выборе вычислительных систем с нужной конфигурацией. В отличие от XCON система XSEL является интерактивной. 

 г)  Интерпретация.   

 Интерпретирующие  системы обладают способностью получать определенные заключения на основе результатов наблюдения. Система PROSPECTOR, одна из наиболее известных систем интерпретирующего типа, объединяет знания девяти экспертов. Используя сочетания девяти методов экспертизы, системе удалось обнаружить залежи руды стоимостью в миллион долларов, причем наличие этих залежей не предполагал ни один из девяти экспертов. Другая интерпретирующая система- HASP/SIAP. Она определяет местоположение и типы судов в тихом океане по данным акустических систем слежения. 

 д)  Контроль и управление.   

 Системы,  основанные на знаниях, могут  применятся в качестве интеллектуальных  систем контроля и принимать  решения, анализируя данные, поступающие  от нескольких  источников. Такие системы уже работают на атомных электростанциях, управляют воздушным движением и осуществляют медицинский контроль. Они могут быть также полезны при регулировании финансовой  деятельности предприятия и оказывать помощь при выработке решений в критических ситуациях. 

 е)  Диагностика неисправностей в механических и электрических устройствах.   

 В  этой сфере системы, основанные  на знаниях, незаменимы как  при ремонте механических и  электрических машин (автомобилей,  дизельных локомотивов и т.д.), так и  при устранении неисправностей и ошибок в аппаратном и программном обеспечении  компьютеров. 

 ж)  Обучение.    

 Системы,  основанные на знаниях, могут  входить составной частью в  компьютерные системы обучения. Система получает информацию  о деятельности некоторого объекта  (например, студента) и анализирует его поведение. База знаний изменяется в соответствии с поведением объекта. Примером этого обучения может служить компьютерная игра, сложность которой увеличивается по мере возрастания степени квалификации играющего. Одной из наиболее интересных обучающих ЭС является разработанная Д.Ленатом система EURISCO, которая использует простые эвристики. Эта система была опробована в игре Т.Тревевеллера, имитирующая боевые действия. Суть игры состоит в том, чтобы определить состав флотилии, способной нанести поражение в условиях неизменяемого множества правил. Система EURISCO включила в состав флотилии небольшие,  способные провести быструю атаку корабли  и одно очень маленькое скоростное судно и постоянно выигрывала в течение трех лет, несмотря на то, что в стремлении воспрепятствовать  этому правила игры меняли каждый год.     

1.5. История развития экспертных систем 

1.5.1. Основные линии развития ЭС   

 Наиболее  известные ЭС, разработанные в 60-70-х годах, стали в своих областях уже классическими. По происхождению, предметным областям и по преемственности применяемых идей, методов и инструментальных программных средств их можно разделить на несколько семейств.

1. META-DENDRAL.Система DENDRAL позволяет определить наиболее вероятную структуру химического соединения по экспериментальным данным (масс- спектрографии, данным ядерном магнитного резонанса и др.).M-D автоматизирует процесс приобретения знаний для DENDRAL. Она генерирует правила построения фрагментов химических структур.

2. MYCIN-EMYCIN-TEIREIAS-PUFF-NEOMYCIN. Это семейство медицинских ЭС и сервисных программных средств для их построения.

3. PROSPECTOR-KAS. PROSPECTOR- предназначена для поиска (предсказания) месторождений на основе геологических анализов. KAS- система приобретения знаний для  PROSPECTOR.

4. CASNET-EXPERT.  Система CASNET- медицинская ЭС для диагностики выдачи рекомендаций по лечению глазных заболеваний. На ее основе разработан язык инженерии знаний EXPERT, с помощью которой создан ряд других медицинских диагностических систем.

5. HEARSAY-HEARSAY-2-HEARSAY-3-AGE. Первые две системы этого ряда являются развитием интеллектуальной системы распознавания слитной человеческой речи, слова которой берутся из заданного словаря. Эти системы отличаются оригинальной структурой, основанной на использовании доски объявлений- глобальной базы данных, содержащей текущие результаты работы системы. В дальнейшем на основе этих систем были созданы инструментальные системы HEARSAY-3 и AGE (Attempt to Generalize- попытка общения) для построения ЭС.

6. Системы AM (Artifical Mathematician- искусственный математик) и EURISCO были разработаны в Станфордском университете доктором Д. Ленатом для исследовательских и учебных целей. Ленат считает, что эффективность любой ЭС определяется закладываемыми в нее знаниями. По его мнению, чтобы система была способна к обучению, в нее должно быть введено около миллиона сведений общего характера. Это примерно соответствует объему информации, каким располагает четырехлетний ребенок со средними способностями. Ленат также считает, что путь создания узкоспециализированных ЭС с уменьшенным объемом знаний ведет к тупику.   

 В  систему AM первоначально было  заложено около 100 правил вывода  и более 200 эвристических алгоритмов  обучения, позволяющих строить произвольные  математические теории и представления. Сначала результаты работы системы были весьма многообещающими. Она могла сформулировать понятия натурального ряда и простых чисел. Кроме того, она синтезировала вариант гипотезы Гольдбаха о том, что каждое четное число, большее двух, можно представить в виде суммы двух простых чисел. До сих пор не удалось ни найти доказательства данной гипотезы, ни опровергнуть ее. Дальнейшее развитие системы замедлилось и было отмечено, что, несмотря на проявленные, на первых порах “математические способности”, система не может синтезировать новых эвристических правил, т.е. ее возможности определяются только теми эвристиками, что были в нее изначально заложены.   

 При  разработке системы EURISCO была  предпринята попытка преодолеть  указанные недостатки системы AM. Как и в начале эксплуатации AM, первые результаты, полученные с помощью EURISCO, были эффективными. Сообщалось, что система EURISCO может успешно участвовать в очень сложных играх. С ее помощью в военно-стратегической игре, проводимой ВМФ США, была разработана стратегия, содержащая ряд оригинальных тактических ходов. Согласно одному из них, например, предлагалось взрывать свои корабли, получившие повреждения. При этом корабли, оставшиеся неповрежденными, получает необходимое пространство для выполнения маневра.   

 Однако  через некоторое время обнаружилось, что система не всегда корректно  переопределяет первоначально заложенные  в нее правила. Так, например, она стала нарушать строгое  предписание обращаться  к программистам с вопросами только в определенное время суток. Т.о., система EURISCO, так же как и ее предшественница, остановилась в своем развитии, достигнув предела, определенного, в конечном счете ее разработчиком.   

 С  1990 года доктор Ленат во главе  исследовательской группы занят  кодированием и вводом нескольких сот тысяч элементов знаний, необходимых, по его мнению, для создания “интеллекту-

альной” системы. Этот проект назван Cyc (“Цик”, от английского слова enciklopaedia).  

1.5.2. Проблемы, возникающие при создании ЭС. Перспективы разработки

      С 70-х годов ЭС стали ведущим направлением в области искусственного интеллекта. При их разработке нашли применение методы ИИ, разработанные ранее: методы представления знаний, логического вывода, эвристического поиска, распознавания предложений на естественном языке и др. Можно утверждать, что именно ЭС позволили получить очень большой коммерческий эффект от применения таких мощных методов. В этом - их особая роль.    

 Каталог  ЭС и инструментальных  программных средств для их разработки, опубликованный в США в 1987 году, содержит более 1000 систем (сейчас их уже значительно больше). В развитых зарубежных странах сотни фирм занимаются их разработкой и внедрением. Имеются и отечественные разработки ЭС, в том числе - нашедший промышленное применение.  

 Однако  уже на начальных этапах выявились  серьезные принципиальные трудности,  препятствующие более широкому распространению ЭС и серьезно замедляющие и осложняющие их разработку. Они вполне естественных и вытекают из самих принципов разработки ЭС.  

 Первая  трудность возникает в связи  с постановкой задач. Большинство  заказчиков, планируя разработку  ЭС, вследствие недостаточной компетентности в вопросах применения методов ИИ, склонна значительно преувеличивать ожидаемые возможности системы. Заказчик желает увидеть в ней самостоятельно мыслящего эксперта в исследуемой области, способного решать широкий круг задач. Отсюда и типичные первоначальные постановки задачи по созданию ЭС: “Разработать ЭС по обработке изображения”; “Создать медицинские ЭС по лечению заболеваний опорно-двигательного аппарата у детей”. Однако, как уже отмечалось, мощность эвристических методов решения задач при увеличении общности их постановки резко уменьшается. Поэтому наиболее целесообразно (особенно при попытке создания ЭС в области, для которой у разработчиков еще нет опыта создания подобных систем) ограничиться для начала не слишком сложной обозримой задачей в рассматриваемой области, для решения которой нет простого алгоритмического способа (то есть неочевидно, как написать программу для решения этой задачи, не используя методы обработки знаний). Кроме того, важно, чтобы уже существовала сложившаяся методика решения этой задачи “вручную” или какими-либо расчетными методами. Для успешной разработки ЭС необходимы не только четкая и конкретная постановка задач, но и разработка подробного (хотя бы словесного) описания “ручного” (или расчетного) метода ее решения. Если это сделать затруднительно, дальнейшая работа по построению ЭС теряет смысл.   

 Вторая  и основная трудность - проблема приобретения (усвоения) знаний. Эта проблема возникает при “передаче” знаний, которыми обладают эксперты-люди, ЭС. Разумеется для того, чтобы “обучить” им компьютерную систему, прежде всего требуется сформулировать, систематизировать и формализовать эти знания “на бумаге”. Это может показаться парадоксальным, но большинство экспертов (за исключением, может быть, математиков), успешно используя в повседневной деятельности свои обширные знания, испытывают большие затруднения при попытке сформулировать и представить в системном виде хотя бы основную часть этих знаний: иерархию используемых понятий, эвристики, алгоритмы, связи между ними. Оказывается, что для подобной формализации знаний необходим определенный систематический стиль мышления, более близкий математикам и программистам, чем, например, юристам и медикам. Кроме того, необходимы, с одной стороны, знания в области математической логики и методов представления знаний, с другой - знания возможности ЭВМ, из программного обеспечения, в частности, языков и систем программирования.

Таким образом, выясняется, что для разработки ЭС необходимо участие в ней особого  рода специалистов, обладающих указанной  совокупностью знаний и выполняющих  функции “посредников” между  экспертами в предметной области и компьютерными (экспертными) системами. Они получили название инженеры знаний (в оригинале - knowledge engineers), а сам процесс разработки ЭС и других интеллектуальных программ, основанных на представлении и обработке знаний - инженерией знаний (knowledge engineering).

1.6. Преимущества ЭС перед человеком - экспертом

      Системы, основанные на знаниях, имеют определенные преимущества перед человеком-экспертом.

      1. У них нет предубеждений. 

      2. Они не делают поспешных выводов. 

3. Эти  системы работают систематизировано, рассматривая все детали, часто выбирая наилучшую альтернативу из всех возможных.

      4. База знаний может быть очень  и очень большой. Будучи введены  в машину один раз, знания  сохраняются навсегда. Человек же  имеет ограниченную базу знаний, и если данные долгое время не используются, то они забываются и навсегда теряются.

      5. Системы, основанные на знаниях,  устойчивы к “помехам”. Эксперт  пользуется побочными знаниями  и легко поддается влиянию  внешних факторов, которые непосредственно  не связаны с решаемой задачей. ЭС, не обремененные знаниями из других областей, по своей природе менее подвержены “шумам”. Со временем системы, основанные на знаниях, могут рассматриваться пользователями как разновидность тиражирования- новый способ записи и распространения знаний. Подобно другим видам компьютерных программ они не могут заменить человека в решении задач, а скорее напоминают орудия труда, которые дают ему возможность решат задачи быстрее и эффективнее.

      6. Эти системы не заменяют специалиста,  а являются инструментом в его руках.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Глава 2. Структура систем, основанных на знаниях

2.1. Критерий пользователя ЭС   

  Экспертные системы имеют две категории пользователей  и два отдельных “входа”, соответствующих различным целям взаимодействия пользователей с ЭС:

1)обычный  пользователь (эксперт), которому требуется консультация ЭС- диалоговый сеанс работы с ней, в процессе которой она решает некоторую экспертную задачу. Диалог с ЭС осуществляется через диалоговый процессор- специальную компоненту ЭС. Существуют две основные формы диалога с ЭС- диалог на ограниченном подмножестве естественного языка ( с использованием  словаря- меню (при котором на каждом шаге диалога система предлагает выбор профессионального лексикона экспертов) и диалог на основе из нескольких возможных действий);

экспертная  группа инженерии знаний, состоящая  из экспертов в предметной области  и инженеров знаний. В функции  этой группы входит заполнение базы знаний, осуществляемое с помощью специализированной диалоговой компоненты ЭС - подсистемы приобретения знаний, которая позволяет частично автоматизировать этот процесс.                                                             2.2.  Подсистема приобретения знаний   

 Подсистема  приобретения знаний предназначена  для добавления в базу знаний новых правил и модификации имеющихся. В ее задачу входит приведение правила к виду, позволяющему подсистеме вывода применять это правило в процессе работы. В более сложных системах предусмотрены еще и средства для проверки вводимых или модифицируемых правил на непротиворечивость с имеющимися правилами.  

2.3.  База знаний   

 База  знаний - наиболее важный компонент экспертной системы, на которой основаны ее «интеллектуальные способности». В отличие от всех остальных компонент ЭС, база знаний - «переменная » часть системы, которая может пополняться и модифицироваться инженерами знаний и опыта  использование ЭС, между консультациями (а в некоторых системах и в процессе консультации). Существует несколько способов представления знаний в ЭС, однако общим для всех них является то, что знания представлены в символьной форме (элементарными компонентами представления знаний являются тексты, списки и другие символьные структуры). Тем самым, в ЭС реализуется принцип символьной природы рассуждений, который заключается в том, что процесс рассуждения представляется как последовательность символьных преобразований.    

 Наиболее  распространенный способ представления  знаний - в виде конкретных фактов и правил, по которым из имеющихся фактов могут быть выведены новые.  

2.4. Подсистема вывода   

 Подсистема  вывода - программная компонента  экспертных систем, реализующая  процесс ее рассуждений на  основе базы знаний и рабочего  множества. Она выполняет две  функции: во-первых, просмотр существующих  фактов из рабочего множества и правил из базы знаний и добавление (по мере возможности) в рабочее множество новых фактов и, во-вторых, определение порядка просмотра и применения правил. Эта подсистема управляет процессом консультации, сохраняет для пользователя информацию о полученных заключениях, и запрашивает у него информацию, когда для срабатывания очередного правила в рабочем множестве оказывается недостаточно данных.