экспертные системы. Экспертные системы как прикладная область искусственного интеллекта
Скачать 179.5 Kb.
|
Глубина. Экспертная система должна иметь глубокие знания; это значит, что она способна работать эффективно в узкой предметной области, содержащей трудные, нетривиальные задачи. Поэтому правила в экспертной системе с необходимостью должны быть сложными либо в смысле сложности каждого правила, либо в смысле их обилия. Экспертные системы, как правило, работают с предметными областями реального мира, а не с тем, что специалисты в области искусственного интеллекта называют игрушечными предметными областями. В предметной области реального мира тот, кто решает задачу, применяет фактическую информацию к практической проблеме и находит решения, которые являются ценными с точки зрения некоторого критерия, определяющего соотношение стоимости и эффективности. В игрушечной предметной области либо задача подвергается чрезвычайному упрощению, либо производится нереалистическая адаптация некоторой сложной проблемы реального мира. Тот, кто решает такую проблему, обрабатывает искусственную информацию, которая в целях облегчения решения упрощена и порождает решения, имеющие чисто теоретический интерес. В тех случаях, когда по отношению к сложной задаче или данным о ней сделаны существенные упрощения, полученное решение может оказаться неприменимым в масштабах, которые характерны для реальной проблемы. Рекомендации, методы представления знаний, организация знаний, необходимые для применения методов решения задач к этим знаниям, часто связаны с объёмом и сложностью пространства поиска, т.е. множества возможных промежуточных и окончательных решений задачи. Если проблема сверхупрощена или нереалистична, то размерность пространства поиска будет, скорее всего, резко уменьшена, и не возникнет проблем с быстродействием и эффективностью, столь характерных для реальных задач. Эта проблема размерности возникает столь естественно и неуловимо, что специалисты в искусственном интеллекте могут не оценить её истинные масштабы. Самосознание. Экспертные системы имеют знания, позволяющие рассуждать об их собственных действиях, и структуру, упрощающую такие рассуждения. Например, если экспертная система основана на правилах, то ей легко просмотреть цепочки выводов, которые она порождает, чтобы прийти к решению задачи. Если заданы ещё и специальные правила, из которых ясно, что можно сделать с этими цепочками выводов, то можно использовать эти знания для проверки точности, устойчивости и правдоподобия решений задачи и даже построить доводы, оправдывающие или объясняющие процесс рассуждения. Это знание системы о том, как она рассуждает, называется метазнанием, что означает всего лишь знания о знаниях. У большинства ныне существующих экспертных систем есть так называемый механизм объяснения. Это знания, необходимые для объяснения того, каким образом система пришла к данным решениям. Большинство этих объяснений включают демонстрацию цепочек выводов и доводов, объясняющих, на каком основании было применено каждое правило в цепочке. Возможность проверять собственные процессы рассуждения и объяснять свои действия - это одно из самых новаторских и важных свойств экспертных систем. Но почему это свойство так важно? «Самосознание» так важно для экспертных систем потому, что: пользователи начинают больше доверять результатам, испытывать большую уверенность в системе; ускоряется развитие системы, так как систему легче отлаживать; предположения, положенные в основу работы системы, становятся явными, а не подразумеваемыми; легче предсказывать и выявлять влияние изменений на работу системы. Умение объяснить - это всего лишь один из аспектов самосознания. В будущем самосознание позволит экспертной системе делать даже больше. Они сами смогут создавать обоснования отдельных правил путём рассуждения, исходящего из основных принципов. Они будут приспосабливать свои объяснения к требованиям пользователя. Они смогут измерить собственную внутреннюю структуру путём коррекции правил, реорганизации базы знаний и реконфигурации системы. Первый шаг в этом направлении - выделить метазнания и сделать их явными, точно так же как знания о предметной области выделены и сделаны явными. Ниже приведён пример метазнания - знания о том, как использовать предметные знания. ЕСЛИ: к данной ситуации применимо несколько правил, ТО: использовать сначала правила, предложенные экспертами, прежде чем прибегнуть к правилам, предложенным новичками. Это метаправило говорит экспертной системе, каким образом она должна выбирать те правила, которые надо выполнить. Специалисты по искусственному интеллекту только начинают экспериментировать с формами представления метазнаний и их организацией в экспертных системах. Экспертные системы делают ошибки. Существует очень важное отличие экспертных систем от традиционных программ. Тогда как традиционные программы разрабатываются таким образом, чтобы каждый раз порождать правильный результат, экспертные системы разработаны с тем, чтобы вести себя как эксперты, которые, как правило, дают правильные ответы, но иногда способны ошибаться. На первый взгляд кажется, что в этом отношении программы имеют явное преимущество. Однако это преимущество кажущееся. Традиционные программы для решения сложных задач, напоминающих те, которые подходят для экспертных систем, тоже могут делать ошибки. Но их ошибки чрезвычайно трудно исправлять, поскольку стратегии, эвристики и принципы, лежащие в основе этих программ, явно не сформулированы в их тексте. Следовательно, эти ошибки нелегко определить и исправить. Подобно своим двойникам-людям экспертные системы могут делать ошибки. Но в отличие от обычных программ они имеют потенциальную способность учиться на своих ошибках. С помощью компетентных пользователей можно заставить экспертные системы совершенствовать своё умение решать задачи в ходе практической работы. 1.4. Области применения экспертных систем Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов: медицинская диагностика, контроль и управление, диагностика неисправностей в механических и электрических устройствах, обучение. · Медицинская диагностика. Диагностические системы используются для установления связи между нарушениями деятельности организма и их возможными причинами. Наиболее известна диагностическая система MYCIN, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. Её первая версия была разработана в Стенфордском университете в середине 70-х годов. В настоящее время эта система ставит диагноз на уровне врача-специалиста. Она имеет расширенную базу знаний, благодаря чему может применяться и в других областях медицины. · Прогнозирование. Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта. Программная система «Завоевание Уолл-стрита» может проанализировать конъюнктуру рынка и с помощью статистических методов алгоритмов разработать план капиталовложений на перспективу. Она не относится к числу систем, основанных на знаниях, поскольку использует процедуры и алгоритмы традиционного программирования. Хотя пока ещё отсутствуют экспертные системы, которые способны за счёт своей информации о конъюнктуре рынка помочь увеличить капитал, прогнозирующие системы уже сегодня могут предсказывать погоду, урожайность и поток пассажиров. Даже на персональном компьютере, установив простую систему, основанную на знаниях, можно получить местный прогноз погоды. · Планирование. Планирующие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных. Дамасская фирма Informat впервые в торговой практике предоставляет в распоряжение покупателей 13 рабочих станций, установленных в холле своего офиса, на которых проводятся бесплатные 15-минутные консультации с целью помочь покупателям выбрать компьютер, в наибольшей степени отвечающий их потребностям и бюджету. Кроме того, компания Boeing применяет экспертные системы для проектирования космических станций, а также для выявления причин отказов самолётных двигателей и ремонта вертолётов. Экспертная система XCON, созданная фирмой DEC, служит для определения или изменения конфигурации компьютерных систем типа VAX и в соответствии с требованиями покупателя. Фирма DEC разрабатывает более мощную систему XSEL, включающую базу знаний системы XCON, с целью оказания помощи покупателям при выборе вычислительных систем с нужной конфигурацией. В отличие от XCON система XSEL является интерактивной. · Интерпретация. Интерпретирующие системы обладают способностью получать определенные заключения на основе результатов наблюдения. Система PROSPECTOR, одна из наиболее известных систем интерпретирующего типа, объединяет знания девяти экспертов. Используя сочетания девяти методов экспертизы, системе удалось обнаружить залежи руды стоимостью в миллион долларов, причём наличие этих залежей не предполагал ни один из девяти экспертов. Другая интерпретирующая система - HASP/SIAP. Она определяет местоположение и типы судов в тихом океане по данным акустических систем слежения. · Контроль и управление. Системы, основанные на знаниях, могут применяться в качестве интеллектуальных систем контроля и принимать решения, анализируя данные, поступающие от нескольких источников. Такие системы уже работают на атомных электростанциях, управляют воздушным движением и осуществляют медицинский контроль. Они могут быть также полезны при регулировании финансовой деятельности предприятия и оказывать помощь при выработке решений в критических ситуациях. · Диагностика неисправностей в механических и электрических устройствах. В этой сфере системы, основанные на знаниях, незаменимы как при ремонте механических и электрических машин (автомобилей, дизельных локомотивов и т.д.), так и при устранении неисправностей и ошибок в аппаратном и программном обеспечении компьютеров. · Обучение. Экспертные системы, выполняющие обучение, подвергают диагностике, «отладке» и исправлению (коррекции) поведение обучаемого. Примером является обучение студентов отысканию неисправностей в электрических цепях, обучение военных моряков обращению с двигателем на корабле и обучение студентов-медиков выбору антимикробной терапии. Обучающие системы создают модель того, что обучающийся знает и как он эти знания применяет к решению проблемы. Системы диагностируют и указывают обучающемуся его ошибки, анализируя модель и строя планы исправлений указанных ошибок. Они исправляют поведение обучающихся, выполняя эти планы с помощью непосредственных указаний обучающимся. Большинство экспертных систем включают знания, по содержанию которых их можно отнести одновременно к нескольким типам. Например, обучающая система может также обладать знаниями, позволяющими выполнять диагностику и планирование. Она определяет способности обучаемого по основным направлениям курса, а затем с учетом полученных данных составляет учебный план. Управляющая система может применяться для целей контроля, диагностики, прогнозирования и планирования. 2. Структура, этапы разработки экспертных систем 2.1.Основные компоненты экспертных систем Типичная экспертная система состоит из следующих основных компонентов: решателя (интерпретатора), рабочей памяти (РП), называемой также базой данных (БД), базы знаний (БЗ), компонентов приобретения знаний, объяснительного и диалогового компонентов (рисунок 1). Инженер + Эксперт по знаниям Пользователь Рис. 1. Структура экспертной системы. База данных предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (и в первую очередь не текущих, а долгосрочных), хранимых в системе. База знаний в экспертной системе предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области. Решатель, используя исходные данные из РП и знания из БЗ, формирует такую последовательность правил, которые, будучи применёнными к исходным данным, приводят к решению задачи. Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решения) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату. Диалоговый компонент ориентирован на организацию дружелюбного общения со всеми категориями пользователей как в ходе решения задач, так и приобретения знаний, объяснения результатов работы. В разработке экспертной системы участвуют представители следующих специальностей: эксперт в той проблемной области, задачи которой будет решать экспертная система; инженер по знаниям - специалист по разработке экспертных систем; программист - специалист по разработке инструментальных средств (ИС). Необходимо отметить, что отсутствие среди участников разработки инженера по знаниям (то есть его замена программистом) либо приводит к неудаче процесс создания экспертной системы, либо значительно удлиняет его. Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введения в экспертную систему знаний. Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы экспертной системы, осуществляет выбор того ИС, которое наиболее подходит для данной проблемной области, и определяет способ того представления знаний в этом ИС, выделяет и программирует (традиционными средствами) стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом. Программист разрабатывает ИС, содержащее в пределе все основные компоненты экспертной системы, осуществляет сопряжение ИС с той средой, в которой оно будет использовано. Экспертная система работает в двух режимах: приобретения знаний и решения задач (называемом также режимом консультации или режимом использования экспертной системы). В режиме приобретения знаний общение с экспертной системой осуществляется через посредничество инженера по знаниям. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования данными, характерные для рассматриваемой проблемной области. Эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют экспертной системе в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Важную роль в режиме приобретения знаний играет объяснительный компонент. Именно благодаря ему эксперт на этапе тестирования локализует причины неудачной работы экспертной системы, что позволяет эксперту целенаправленно модифицировать старые или вводить новые знания. Обычно объяснительный компонент сообщает следующее: как правильно используют информацию пользователя; почему искались или не использовались данные или правила; какие были сделаны выводы и так далее. Все объяснения делаются, как правило, на ограниченном естественном языке или языке графики. Режиму приобретения знаний при традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. В отличие от традиционного подхода разработку программ осуществляет эксперт (с помощью экспертной системы), не владеющий программированием, а не программист. В режиме консультации общение с экспертной системой осуществляет конечный пользователь, которого интересует результат и (или) способ получения решения. Пользователь в зависимости от назначения экспертной системы может не быть специалистом в данной проблемной области, в этом случае он обращается к экспертной системе за советом, не умея получить ответ сам, или быть специалистом, в этом случае он обращается к экспертной системе, чтобы либо ускорить процесс получения результата, либо возложить на экспертную систему рутинную работу. Термин «пользователь» означает, что им является и эксперт, и инженер по знаниям, и программист. Поэтому, когда хотят подчеркнуть, что речь идёт о том, для кого делалась экспертная система, используют термин «конечный пользователь». В режиме консультации данные о задаче пользователя обрабатываются диалоговым компонентом, который выполняет следующие действия: распределяет роли участников (пользователя и экспертной системы) и организует их взаимодействие в процессе кооперативного решения задачи; преобразует данные пользователя о задаче, представленные на привычном для пользователя языке, на внутренний язык системы; преобразует сообщения системы, представленные на внутреннем языке, в сообщения на языке, привычном для пользователя (обычно это ограниченный естественный язык или язык графики). После обработки данные поступают в РП. На основе входных данных в РП, общих данных о проблемной области и правил из БЗ решатель (интерпретатор) формирует решение задачи. В отличие от традиционных программ экспертная система в режиме решения задачи не только исполняет предписанную последовательность, но и предварительно формирует её. Если ответ экспертной системы не понятен пользователю, то он может потребовать объяснения, как ответ получен. 2.2. Классификация инструментальных средств экспертных систем В широком толковании в инструментарий включают и аппаратуру, ориентированную на разработку экспертных систем (аппаратурный инструментарий). На проектирование и создание одной экспертной системы раньше требовалось 20-30 чел.-лет. В настоящее время имеется ряд средств, ускоряющих создание экспертных систем. Эти средства называются инструментальными (ИС), или инструментарием. Использование ИС сокращает время разработки экспертных систем в 3 - 5 раз. Экспертные системы выполняются на ЭВМ следующих типов: общего назначения; ПЭВМ; интеллектуальные рабочие станции (то есть рабочие станции типа San, Арроlо и др., снабжённые эффективными ИС для создания экспертной системы); последовательные символьные ЭВМ типа ЛИСП - машин (Symbolik-3670, А1рhа, Ехр1огег, Хегох 1100 и дугие) и ПРОЛОГ - машин; параллельные символьные ЭВМ (Connection, Dado, Faun, Hyper Cube и другие). |