Реферат Экспертные системы 7
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Содержание
Введение. 3
1. ОБЩАЯ ХАРАКТЕРИСТИКА ЭС.. 5
2. СТРУКТУРА И РЕЖИМЫ ИСПОЛЬЗОВАНИЯ ЭС.. 7
3. КЛАССИФИКАЦИЯ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ ЭС.. 11
4. ОРГАНИЗАЦИЯ ЗНАНИЙ В ЭС.. 17
5. ОТЛИЧИЕ ЭС ОТ ТРАДИЦИОННЫХ ПРОГРАММ.. 24
6. ВИДЫ ЭС.. 28
7. ТИПЫ ЗАДАЧ, РЕШАЕМЫХ ЭС.. 34
Заключение. 35
Библиографический список. 36
Введение
В течение последнего десятилетия в рамках исследований по искусственному интеллекту сформировалось самостоятельное направление – экспертные системы (ЭС), или инженерия знаний. В задачу этого направления входят исследование и разработка программ (устройств), использующих знания и процедуры вывода для решения задач, являющихся трудными для людей-экспертов. ЭС могут быть отнесены к системам ИИ общего назначения – системам, которые не только исполняют заданные процедуры, но на основе метапроцедур поиска генерируют и используют процедуры решения новых конкретных задач.
Огромный интерес к ЭС со стороны пользователей вызван, по крайней мере, тремя причинами. Во-первых, они ориентированы на решение широкого круга задач в неформализованных областях, на приложения, которые до недавнего времени считались малодоступными для вычислительной техники. Во-вторых, с помощью ЭС специалисты, не знающие программирования, могут самостоятельно разрабатывать интересующие их приложения, что позволяет резко расширить сферу использования вычислительной техники. В-третьих, ЭС при решении практических задач достигают результатов, не уступающих, а иногда и превосходящих возможности людей-экспертов, не оснащённых ЭС.
В настоящее время ЭС применяются в различных областях человеческой деятельности. Наибольшее распространение ЭС получили в проектировании интегральных микросхем, в поиске неисправностей, в военных приложениях и автоматизации программирования. Применение ЭС позволяет: 1) при проектировании интегральных микросхем повысить производительность труда в 3-6 раз, при этом выполнение некоторых операций ускоряется в 10-15 раз; 2) ускорить поиск неисправностей в устройствах в 5-10 раз; 3) повысить производительность труда программистов в 5 раз; 4) при профессиональной подготовке сократить (без потери качества) в 8-12 раз затраты на индивидуальную работу с обучаемым.
В настоящее время ведутся разработки ЭС для следующих приложений: раннее предупреждение национальных и международных конфликтов и поиск компромиссных решений; принятие решений в кризисных ситуациях; охрана правопорядка; законодательство; образование; планирование и распределение ресурсов; системы организационного управления (кабинет министров, муниципалитет, учреждение) и т.д.
Исследования и разработки ЭС составляют основу программ по информатизации развитых государств. На проведение этих программ выделены весьма большие средства. Несмотря на значительную стоимость разработки, ЭС приносят существенный доход.
1. ОБЩАЯ ХАРАКТЕРИСТИКА ЭС
Экспертная система – наиболее известный и распространенный вид интеллектуальных систем.
Первая особенность экспертных систем состоит в том, что они предназначены для пользователей, сфера деятельности которых далека от искусственного интеллекта, программирования, математики, логики. Для таких пользователей экспертная система выступает как некая система, помогающая им в повседневной работе. Общения с экспертными системами должны быть так же просты, как просты, например, работа с телевизором, стиральной машиной или автомобилем.
Во многих видах человеческой деятельности используемые знания далеко не всегда могут быть четко формулированы. Точнее, наряду со знаниями как бы отделёнными, отобранными у специалистов (они зафиксированы в учебниках, инструкциях, учебных фильмах и т.п.), существуют так называемые навыки и умения, овладеть которыми можно, только работая вместе с теми, кто уже овладел ими.
Профессионал, высокого уровня: врач, геолог, экономист, инженер, технолог и т.д. – отличается от новичка, овладевшего знаниями в объёме учебных программ институт или университета, именно этими навыками и умениями. И повышение их профессионального мастерства – огромная социальная задача. Чтобы её решить, надо научиться извлекать из профессионалов-экспертов те знания, которые не зафиксированы в форме, пригодной для массового распространения – в книгах, кинофильмах, наглядных пособиях. В этом и заключается вторая особенность экспертных систем. Само название этих систем указывает на то, что они должны хранить в себе знании профессионалов-экспертов в некоторой предметной области. И не просто хранить, но и передавать их тем, у кого таких знаний нет. Для этого в экспертной системе предусмотрены не только простые средства общения между системой и специалистами, но и средства доведения хранимых в системе знаний до специалиста вместе с необходимыми пояснениями и разъяснениями.
На практике экспертные системы используются, прежде всего, как системы-советчики в тех ситуациях, где специалист сомневается в выборе правильного решения. Экспертные знания, хранящиеся в памяти системы, более глубокие и полные, чем соответствующие знания пользователя. Однако возможны и другие случаи применения экспертных систем. Правда, часть специалистов в области ИИ предлагают эти другие системы считать особыми классами интеллектуальных систем и не смешивать их с «классическими» экспертными системами. Но термин «экспертные системы» характеризуется стремлением к расширению, и в большинстве случаев, когда его употребляют, в него автоматически включают ещё два вида систем.
При работе в системах оперативного управления знания, хранящиеся в базе знаний, могут быть и меньшими, чем у специалиста, работающего в паре с системой. Но зато быстрота и точность реакции значительно выше, чем у человека.
Существует ещё один класс систем, не имеющих собственного названия и поэтому часто называемых экспертными. В отличие от классических экспертных систем они рассчитаны не на пользователя, являющегося новичком иди средним специалистом в некоторой области деятельности, а на самих экспертов-специалистов. Для таких специалистов нужна не консультирующая или советующая система, а система, способная помочь им в научной работе. Системы такого рода называют системами автоматизации научных исследований (АСНИ). Примером могут быть системы, способные на основании частных знаний эксперта обнаружить в эмпирическом материале скрытые связи и закономерности.
2. СТРУКТУРА И РЕЖИМЫ ИСПОЛЬЗОВАНИЯ ЭС
Типичная ЭС состоит из следующих основных компонентов: решателя (интерпретатора), рабочей памяти (РП), называемой также базой данных (БД), базы знаний (БЗ), компонентов приобретения знаний, объяснительного и диалогового компонентов (рис. 1).
База данных предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (и в первую очередь не текущих, а долгосрочных), хранимых в системе.
База знаний в ЭС предназначена дня хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.
Рис. 1. Типовая структура экспертной системы
Решатель, используя исходные данные из РП и знания из БЗ формирует такую последовательность правил, которые, будучи применёнными к исходным данным, приводят к решению задачи.
Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решения) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к подученному результату.
Диалоговый компонент ориентирован на организацию дружелюбного общения со всеми категориями пользователей как в ходе решения задач, так и приобретения знаний, объяснения результатов работы.
В разработке ЭС участвуют представители следующих специальностей:
эксперт в той проблемной области, задачи которой будет решать ЭС;
инженер по знаниям – специалист по разработке ЭС;
программист – специалист по разработке инструментальных средств (ИС).
Необходимо отметить, что отсутствие среди участников разработки инженера по знаниям (т.е. его замена программистом) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его. Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введения в ЭС знаний.
Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы ЭС, осуществляет выбор того ИС, которое наиболее подходит для данной проблемной области, и определяет способ того представления знаний в этом ИС, выделяет и программирует (традиционными средствами) стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом.
Программист разрабатывает ИС, содержащее в пределе все основные компоненты ЭС, осуществляет сопряжение ИС с той средой, в которой оно будет использовано.
Экспертная система работает в двух режимах; приобретения знаний и решения задач (называемом также режимом консультации или режимом использования ЭС).
В режиме приобретения знаний общение с ЭС осуществляется через посредничество инженера по знаниям. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования данными, характерные для рассматриваемой проблемной области. Эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области.
Важную роль в режиме приобретения знаний играет объяснительный компонент. Именно благодаря ему эксперт на этапе тестирования локализует причины неудачной работы ЭС, что позволяет эксперту целенаправленно модифицировать старые или вводить новые знания. Обычно объяснительный компонент сообщает следующее: как правильно используют информацию пользователя; почему использовались или не использовались данные или правила; какие были сделаны выводы и т.д. Все объяснения делаются, как правило на ограниченном естественном языке или языке графики.
Режиму приобретения знаний при традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирование и отладки, выполняемые программистом. В отличие от традиционного подхода разработку программ осуществляет эксперт (с помощью ЭС), не владеющий программированием, а не программист.
В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ получения решения. Пользователь в зависимости от назначения ЭС может не быть специалистом в данной проблемной области, в этом случае он обращается к ЭС за советом, не умея получить ответ сам, или быть специалистом, в этом случае он обращается к ЭС, чтобы либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу. Термин “пользователь” означает, что им является и эксперт, и инженер по знаниям, и программист. Поэтому, когда хотят подчеркнуть, что речь идет о том, для кого делалась ЭС, используют термин “конечный пользователь”.
В режиме консультации данные о задаче пользователя обрабатываются диалоговым компонентом, который выполняет следующие действия:
распределяет роли участников (пользователя и ЭС) и организует их взаимодействие в процессе кооперативного решения задачи;
преобразует данные пользователя о задаче, представленные на привычном для пользователя языке, на внутренний язык системы;
преобразует сообщения системы, представленные на внутреннем языке, в сообщения на языке, привычном для пользователя (обычно это ограниченный естественный язык или язык графики).
После обработки данные поступают в РП. На основе входных данных в РП, общих данных о проблемной области и правил из БЗ решатель (интерпретатор) формирует решение задачи.
В отличие от традиционных программ ЭС в режиме решения задачи не только исполняет предписанную последовательность операций, но и предварительно формирует её, Если ответ ЭС не понятен пользователю, то он может потребовать объяснения, как ответ получен.
3. КЛАССИФИКАЦИЯ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ ЭС
В широком толковании в инструментарий включают и аппаратуру, ориентированную на разработку ЭС (аппаратурный инструментарий).
На проектирование и создание одной ЭС раньше требовалось 20-30 чел.-лет. В настоящее время имеется ряд средств, ускоряющих создание ЭС. Эти средства называются инструментальными (ИС), или инструментарием. Использование ИС сокращает время разработки ЭС в 3-5 раз.
Экспертные системы выполняются на ЭВМ следующих типов: общего назначения; ПЭВМ; интеллектуальные рабочие станции; последовательные символьные ЭВМ типа ЛИСП-машин и ПРОЛОГ-машин; параллельные символьные ЭВМ.
Программные ИС будут определяться следующими характеристиками: назначение; стадия существования; тип ИС; тип используемых методов и знаний; универсальность; основные свойства; среда функционирования.
Назначение определяет, для работы в каких проблемных областях и для создания какой стадий ЭС предназначено ИС.
По степени проработанности ИС обычно выделяют три стадии существования: экспериментальная, исследовательская, коммерческая. Экспериментальные ИС создаются для решения узких специфических задач и редко проверяются на других задачах, обычно они работают медленно и неэффективно. Следующей стадией является исследовательская. Средства, достигшие этой стадии, обычно тщательно проверены, имеют документацию и поддерживаются разработчиком, однако они ещё могут действовать медленно и неэффективно. Исследовательские ИС используются при разработке прототипов ЭС. Высшей стадией существования ИС является коммерческая. Этой стадии достигают те ИС, которые всесторонне и тщательно проверены, хорошо документированы, сопровождаются разработчиком, являются быстрыми и обладают удобным интерфейсом.
По типу ИС классифицируются следующим образом:
1) символьные языки программирования, ориентированные на создание ЭС и систем ИИ (например, LISP, INTERLISP, SMALLTALK);
2) языки инженерных знаний, т.е. языки высокого уровня, ориентированные на построение ЭС (например, OPS-5, LOOPS, KES, ПРОЛОГ);
3) системы, автоматизирующие разработку (проектирование) ЭС (например, KEE, ART, TEIRESIAS, AGE, TIMM), их часто называют окружением (environment) для разработки систем ИИ, ориентированных на знания;
4) оболочки ЭС (или пустые ЭС) – ЭС не содержащие знаний ни о какой проблемной области (например, ЭКСПЕРТИЗА, EMYCIN, ЭКО, ЭКСПЕРТ).
В приведенной классификации ИС перечислены в порядке убывания трудозатрат, необходимых на создание с их помощью конкретной ЭС. Действительно, при использовании ИС первого типа в задачу разработчика входит программирование всех компонентов ЭС на языке довольно низкого уровня. Использование ИС второго типа позволяет значительно повысить уровень языка, что, как правило, приводит к некоторому снижению эффективности. Инструментальные средства третьего типа позволяют разработчику не программировать всё или часть компонентов ЭС, а выбирать их из заранее составленного набора. При применении ИС четвертого типа разработчик ИС полностью освобождается от работ по созданию программ, т.к. берет готовую пустую ЭС.
При использовании ИС третьего и особенно четвертого типа могут возникнуть следующие проблемы: управляющие стратегии, вложенные в процедуры вывода ИС, могут не соответствовать методам решения, которые использует эксперт, взаимодействующий с данной ЭС, что может приводить к неэффективным, а возможно, и к неправильным решениям; язык представления знаний, принятый в ИС, может не подходить для данного приложения.
Развитие систем, автоматизирующих разработку ЭС, приводит к появлению ИС, которые можно назвать настраиваемыми оболочками. Эти ИС позволяют разработчик использовать оболочку не как нечто неизменное, а генерировать оболочку из множества механизмов, имеющихся в ИС. Типичными таймерами таких ИС являются KEE, ART, ЭКСПЕРТИЗА, ГЛОБ.
Инструментальные средства можно классифицировать и по классам ЭС на: ИС для создания простых ЭС, ИС для создания сложных ЭС. В настоящее время, как правило, ИС первого типа разрабатываются на ПЭВМ, а второго – на символьных ЭВМ, ЭВМ общего назначения и интеллектуальных рабочих станциях.
По типу используемых методов и знаний ИС делятся, так же как и ЭС, на традиционные, использующие только методы и способы представления инженерии знаний, и гибридные, сочетающие подходы инженерии знаний с подходами, развитыми в традиционном программировании при представлении данных и использовании подпрограмм.
Универсальность задаётся совокупностью двух параметров; универсальностью представления знаний и универсальностью функционирования. Универсальность представления характеризует способ (модель) представления знаний в ИС и принимает следующие значения: единое представление – ИС использует одну модель; интегральное представление – ИС допускает интегральное использование нескольких моделей; универсальное – ИС допускает интегральное использование всех основных моделей представления. К основным моделям представления относятся: правила; фреймы или семантические сети; логические модели (исчисление предикатов). Примерами ИС, в которых используется единое представление, является ПРОЛОГ, интегральное представление – CENTAUR, а универсальное – KEE, ART.
Универсальность функционирования характеризует механизмы (парадигмы), определяющие, как в ИС задается поведение (функционирование) системы, и принимает следующие значения: единый механизм функционирования – ИС использует один механизм функционирования; интегральное функционирование – ИС допускает интегральное использование нескольких механизмов функционирования; универсальное функционирование – ИС допускает интегральное использование всех основных механизмов. К основным механизмам (парадигмам программирования) относятся: процедурное программирование; обратное программирование; программирование, ориентированное на данные; программирование, ориентированное на правила.
Процедурное программирование наиболее широко распространено среди существующих сегодня языков программирования (например, Си). Здесь явно выделяют два вида различных сущностей: процедуры, являющиеся тем, что задает поведение (функционирование) программы и выполняющие активную роль; данные, являющиеся тем, что обрабатывается способом, предписанным процедурами, и выполняющие пассивную роль. Способность составлять процедуры из команд (операторов) и вызывать их – ключ функционирования, использующего данную парадигму. Особенностью её являются боковые эффекты, возникающие в тех случаях, когда различные процедуры, использующие общие данные, независимо их изменяют.
Парадигма объектного программирования в отличие от процедурной не разделяет программу на процедуры и данные. Здесь программа организуется вокруг сущностей (объектов), которые включают локальные процедуры (методы) и локальные данные (переменные). Поведение (функционирование) в этой парадигме организуется путём пересылки сообщений между объектами. Объект, получив сообщение, осуществляет его локальную интерпретацию, основываясь на локальных процедурах и данных. Объектная парадигма удобна в тех приложениях, где взаимодействие сущностей сведено к унифицированным протоколам. Важным свойством языков, использующих данную парадигму, является сеть наследований, которая существенно упрощает определение новых объектов, почти подобных известным.
В обеих рассмотренных парадигмах активная роль в организации поведения отводится процедурам, а не данным. Причем процедура активизируется либо её вызовом, либо посылкой ей сообщения. Подобные способы задания поведения удобны для описания детерминированной последовательности действий либо одного процесса, либо нескольких, но строго взаимосвязанных процессов.
В программировании, ориентированном на данные, активную роль играют данные, а не процедуры. Здесь со структурами активных данных связывают некоторые процедуры (действия), которые активизируются тогда, когда осуществляется доступ к этим данным. Программирование, ориентированное на данные, позволяет организовать поведение малозависимых процессов, что трудно реализовать в процедурной и объектной парадигмах. Малая зависимость процессов означает, что они могут рассматриваться и программироваться отдельно. Однако при использовании парадигмы, управляемой данными, эти независима запрограммированные процессы, могут взаимодействовать между собой без их изменения, т.е. без перепрограммирования.
В программировании, ориентированном на правила, поведение определяется множеством правил вида условие – действие. Условие задаёт образ данных, при возникновении которого действие правила может быть выполнено. Правила в данной парадигме играют такую же роль, как и подпрограммы в процедурной парадигме. Однако если в процедурной парадигме поведение задаётся детерминированной последовательностью процедур, не зависящей (для широкого класса обрабатываемых данных) от значений этих данных, то в парадигме, ориентированной на правила, поведение (последовательность действий) задаётся не заранее предписанной последовательностью правил, а формируется на основе тех данных и их значений, которые в текущий момент обрабатываются программой (системой). Формирование поведения осуществляется по следующей схеме. Условия правил сопоставляются с текущими данными, и те правила, условия которых удовлетворяются значениями текущих данных, становятся претендентами на выполнение. Затем по определенному критерию осуществляется выбор одного правила среди претендентов и выполнение его (т.е. выполнение действия, указанного в правой части правила). Если система (устройство) допускает параллельную обработку, то все правила-претенденты могут выполняться одновременно. Таким образом, правила выполняются в порядке, предписываемом теми образцами данных, которые, как правило, малозависимы друг от друга. Поэтому подход, ориентированный на правила, удобен для описания поведения, гибко и разнообразно реагирующего на большое многообразие состояний данных.
Основные свойства определяют особенности ИС с точки зрения реализации компонентов ЭС. Среда функционирования определяет тип ЭВМ, на которой реализовано ИС, тип операционной системы, в среде которой ИС работает, и используемый язык программирования.
4. ОРГАНИЗАЦИЯ ЗНАНИЙ В ЭС
Для специалистов в области ИИ термин знания означает информацию, которая необходима программе, чтобы ока вела себя «интеллектуально». Эта информация принимает форму фактов или правил.
Факты и правила в экспертной системе не всегда либо истинны, либо ложны; иногда существует некоторая степень неуверенности в достоверности факта или точности правила. Если это сомнение выражено явно, то оно называется “коэффициентом уверенности”.
Многие правила экспертной системы являются эвристиками, т.е. эмпирическими правилами или упрощениями, которые эффективно ограничивают поиск решения. Экспертная система использует эвристики, потому что задачи, которые она решает, будь то поиск новых месторождений или согласование исков, как правило, трудны и не до конца понятны. Эти задачи не поддаются строгому математическому анализу или алгоритмическому решению. Алгоритмический метод гарантирует корректное или оптимальное решение задача, тогда как эвристический, метод даёт приемлемое решение в большинстве случаев.
На рис. 2 показано различие между алгоритмическим и эвристическим методами. Здесь сравнивается алгоритм предотвращения захвата самолетов на коммерческих авиалиниях с эвристическим методом, предназначенным для той же цели.
Алгоритм обеспечивает полную гарантию предотвращения захвата самолёта, потому что в принципе полностью исключает возможность проникновения оружия на борт самолета. К сожалению, он требует слишком много времени, слишком дорог и, что ещё важнее, слишком непопулярен, чтобы иметь какую-либо практическую ценность. Приведённый эвристический метод также может предотвратить большинство попыток захвата самолетов, но не гарантирует, что они вообще не возникнут. Использование эвристических правил делает поиск решения намного более легким и более практичным.
Рис. 2. Алгоритмические и эвристические модели данных
Знания в ЭС организованы таким образом, чтобы знания о предметной области отделить от других типов знаний системы, таких, как общие знания о том, как решать задачи, или знания о том, как взаимодействовать с пользователем, например как печатать текст на терминале пользователя или как изменить текст в соответствии с командами пользователя. Выделенные знания о предметной области называются базой знаний, тогда как общие знания о нахождении решений задач называются механизмом вывода. Программа, которая работает со знаниями, организованными подобным образом, называется системой, основанной на знаниях.
Как показано на рис. 3, в сущности, все экспертные системы являются системами, основанными на знаниях, но не наоборот. Программу ИИ для игры в “крестики и нолики” нельзя будет считать экспертной системой, даже если в ней знания о предметной области отделить от остальной программы.
Рис. 3. Экспертные системы, как системы, основанные на знаниях
База знаний ЭС содержит факты (данные) и правила (иди другие представления знаний), использующие эти факты как основу для принятия решений. Механизм вывода содержит интерпретатор, определяющий, каким образом применять правила для вывода новых знаний, и диспетчер, устанавливающий порядок применения этих правил. Такая структура экспертной системы показана на рис. 4.
Выделение знаний о предметной области облегчает инженеру по знаниям разработку процедур для манипулирования ими. Каким образом система использует свои знания, имеет первостепенное значение, поскольку ЭС должна иметь и адекватные знания, и средства эффективно использовать знания, чтобы её можно было считать умелой в каком-либо виде деятельности. Следовательно, для того, чтобы быть умелой, ЭС должна иметь базу знаний, содержащую высококачественные знания о предметной области, а её механизм вывода должен содержать знания о том, как эффективно использовать знания о предметной области.
Рис. 4. Состав экспертной системы
Обычно ясно, как знания предметной области могут быть записаны в виде фактов и правил, но далеко не ясно, каким образом конструировать и использовать так называемый “механизм вывода”. Эта неясность происходит из-за отсутствия простого и общего метода организации логического вывода. Его структура зависит и от специфики предметной области и от того, как знания структурированы и организованы в ЭС. Многие языки высокого уровня, предназначенные для построения экспертных систем, например ЕМYCIN, имеют механизм вывода, в некотором смысле встроенный в язык как его часть.
Другим примером может служить язык программирования Пролог со встроенным в него механизмом логического вывода, который может быть непосредственно использован при создании простых ЭС. Языки более низкого уровня, например LISP, требуют, чтобы создатель ЭС спроектировал и реализовал механизм вывода.
Оба подхода имеют свои достоинства и недостатки. Язык высокого уровня со встроенным механизмом вывода облегчает работу создателя экспертной системы. В то же время у него, меньше возможностей определять способы организации знаний и доступа к ним, и ему следует очень внимательно рассмотреть вопрос о том, годится или нет на самом деле предлагаемая схема управления процессом поиска решения для данной предметной области. Использование языка более низкого уровня без механизма вывода требует больших усилий на разработку, но позволяет разработать нужные программные блоки, которые разработчик может встроить в схему управления процессом решения, который будет адекватен данной предметной области.
Существует много стандартных способов представления знаний, и при построении может быть использован любой из них, сам по себе или в сочетании с другими. Каждый способ позволяет получить программу с некоторыми преимуществами – делает её более эффективной, облегчает её понимание и модификацию. В современных ЭС чаще всего используются три самых важных метода представления знаний: правила (самый популярный), семантические сети и фреймы.
Представление знаний, основанное на правилах, построено на использовании выражений вида ЕСЛИ (условие) – ТО (действие). Когда текущая ситуация (факты) в задаче удовлетворяет или согласуется с частью правила ЕСЛИ, то выполняется действие, определяемое частью ТО. Это действие может оказаться воздействием на окружающий мир (например, вызовет распечатку текста на терминале пользователя), или же повлиять на управление программой (например, вызвать проверку и запуск некоторого набора правил), или может сводиться к указанию системе о получении определенного заключения (например, необходимо добавить новый факт или гипотезу в базу данных). Сопоставление частей ЕСЛИ правил с фактами может породить так называемую цепочку вывода.
Правила обеспечивают естественный способ описания процессов, управляемых сложной и быстро изменяющейся внешней средой. Через правила можно определять, как программа должна реагировать на изменение данных; при этом не нужно заранее знать блок-схему управления обработкой данных. В программе традиционного типа схема передачи управления и использования данных предопределена в самой программе. Обработка здесь осуществляется последовательными шагами, а ветвление имеет место только в заранее выбранных точках. Этот способ управления хорошо работает в случае задач, допускающих алгоритмическое решение, если к тому же при этом данные меняются достаточно медленно, например, при решении системы линейных уравнений. Для задач, ход решения которых управляется самими данными, где ветвление скорее норма, чем исключение, этот способ малоэффективен. В задачах такого рода правила дают нежность на каждом шаге оценить ситуацию и предпринять соответствующие действия. Использование правил упрощает объяснение того, что и как сделала программа, т.е. каким способом она пришла к конкретному заключению.
Представление знаний, основанное на фреймах, использует сеть узлов, связанных отношениями и организованных иерархически. Каждый узел представляет собой концепцию, которая может быть описана атрибутами и значениями, связанными с этим узлом. Узлы, которые занимают более низкое положение в иерархии, автоматически наследуют свойства узлов, занимающих более высокое положение.
Наиболее важные термины приведены в табл. 1.
Таблица № 1.
Термин | Значение |
Алгоритм | Формальная процедура, которая гарантирует получение оптимального или корректного решения |
База знаний | Часть системы, основанной на знаниях, или экспертной системы, содержащей предметные знания |
Диспетчер | Часть механизма вывода, которая решает, когда и в каком порядке применять различные части предметных знаний |
Знания | Информация, необходимая программе для того, чтобы эта программа вела себя интеллектуально |
Интерпретатор | Часть механизма вывода, которая решает, каким образом применять предметные знания |
Коэффициент уверенности | Число, которое означает вероятность или степень уверенности, с которой можно считать данный факт или правило достоверным или справедливым |
Механизм вывода | Та часть ЭС, в которой содержаться общие знания о схеме управления решением задачи |
Правило | Предметные знания, знания о предметной области |
Представление знаний | Процесс структурирования предметных знаний с целью облегчить поиск решения задачи |
Семантическая сеть | Метод представления знаний посредством сети узлов, соответствующих концепциям или объектам, связанных дугами, которые описывают отношения между узлами |
Система, основанная на знаниях | Программа, в которой предметные знания представлены в явном виде и отделены от прочих знаний программы |
Фрейм | Метод представления знаний, когда свойства связываются с вершинами, представляющими концепции или объекты. Свойства описываются в терминах атрибутов (называемых слотами) и их значений |
Эвристика | Правило, которое упрощает или ограничивает поиск решений в предметной области, которая является сложной или недостаточно изученной |
5. ОТЛИЧИЕ ЭС ОТ ТРАДИЦИОННЫХ ПРОГРАММ
Ещё один способ определить ЭС – это сравнить их с обычными программами. Главное различие состоит в том, что ЭС манипулируют знаниями, тогда как обычные программы манипулируют данными.
Специалисты в области ИИ имеют несколько более узкое (и боле сложное) представление о том, что такое ЭС. Под экспертной системой понимается программа для ЭВМ, обладающая: компетентностью, символьным рассуждением, глубиной и самосознанием.
Компетентность. Экспертная система должна демонстрировать компетентность, т.е. достигать в конкретной предметной области того же уровня профессионализма, что и эксперты-люди. Настоящие эксперты не только находят хорошие решения, но часто находят их очень быстро, тогда как новичкам для нахождения тех же решений как правило, требуется намного больше времени. Следовательно, ЭС должна быть умелой - она должна применять знания для получения решений эффективно и быстро, используя приемы и ухищрения, какие применяют эксперты-люди, чтобы избежать громоздких или ненужных вычислений. Для того чтобы по-настоящему подражать поведению эксперта-человека, ЭС должна обладать робастностью. Это подразумевает не только глубокое, но и достаточно широкое понимание предмета. А этого можно достичь, используя общие знания и методы нахождения решений проблем, чтобы уметь рассуждать исходя из фундаментальных принципов в случае некорректных данных или неполных наборов правил. Это один из наименее разработанных методов в современных ЭС, но именно им успешно пользуются эксперты-люди.
Символьные рассуждения. Эксперты, решая какие-то задачи (особенно такого типа, для решения которых применяются ЭС), обходятся без решения систем уравнений или других трудоемких математических вычислений. Вместо этого они с помощью символов представляют понятия предметной области и применяют различные стратегии и эвристики в процессе манипулирования этими понятиями. В ЭС знания тоже представляются в символьном виде, т.е. наборами символов, соответствующих понятиям предметной области.
Глубина. Экспертная система должна иметь глубокие знания; это значит, что она способна работать эффективно в узкой предметной области, содержащей трудные, нетривиальные задачи. Поэтому правила в ЭС с необходимостью должны быть сложными либо в смысле сложности каждого правила, либо в смысле их обилия. Экспертные системы, как правило, работают с предметными областями реального мира, а не с тем, что специалисты в области ИИ называют игрушечными предметными областями. В предметной области реального мира тот, кто решает задачу, применяет фактическую информацию к практической проблеме и находит решения, которые являются ценными с точки зрения некоторого критерия, определяющего соотношение стоимости и эффективности. В игрушечной предметной области либо задача подвергается чрезвычайному упрощению, либо производится нереалистическая адаптация некоторой сложной проблемы реального мира. Тот, кто решает такую проблему, обрабатывает искусственную информацию, которая в целях облегчения решения упрощена и порождает решения, имеющие чисто теоретический интерес.
В тех случаях, когда по отношению к сложной задаче или данным о ней сделаны существенные упрощения, полученное решение может оказаться неприменимым в масштабах, которые характерны для реальной проблемы. Рекомендации, методы представления знаний, организация знаний, необходимые для применения методов решении задач к этим знаниям, часто связаны с объемом и сложностью пространства поиска, т.е. множества возможных промежуточных и окончательных решений задачи. Если проблема сверхупрощена или нереалистична, то размерность пространства поиска будет, скорее всего, резко уменьшена, и не возникнет проблем с быстродействием и эффективностью, столь характерных для реальных задач.
Самосознание. Экспертные системы имеют знания, позволяющие им рассуждать об их собственных действиях, и структуру, упрощающую такие рассуждения. Например, если ЭС основана на правилах, то ей легко просмотреть цепочки выводов, которые она порождает, чтобы прийти к решению задачи. Если заданы ещё и специальные правила, из которых ясно, что можно сделать с этими цепочками выводов, то можно использовать эти знания для проверки точности, устойчивости и правдоподобия решений задачи и даже построить доводы, оправдывающие или объясняющие процесс рассуждения. Это знание системы о том, как она рассуждает, называется метазнанием, что означает всего лишь знания о знаниях.
У большинства ныне существующих ЭС есть так называемый механизм объяснения. Это знания, необходимые для объяснения того, каким образом система пришла к данным решениям. Большинство этих объяснений включают демонстрацию цепочек выводов и доводов, объясняющих, на каком основании было применено каждое правило в цепочке. Возможность проверять собственные процессы рассуждения и объяснять свои действия – это одно из самых новаторских и важных свойств ЭС.
“Самосознание” так важно для ЭС потому, что:
· пользователи начинают больше доверять результатам, испытывать большую уверенность в системе;
· ускоряется развитие системы, так как систему легче отлаживать;
· предположения, положенные в основу работы системы, становятся явными, а не подразумеваемыми;
· легче предсказывать и выявлять влияние изменений на работу системы.
Экспертные системы делают ошибки. Существует еще одно очень важное отличие ЭС от традиционных программ. Тогда как традиционные программы разрабатываются таким образом, чтобы каждый раз порождать правильный результат, ЭС разработаны с тем, чтобы вести себя как эксперты, которые, как правило, дают правильные ответы, но иногда способны ошибаться.
Традиционные программы для решения сложных задач, напоминающих те, которые подходят для ЭС, тоже могут делать ошибки. Но их ошибки чрезвычайно трудно исправлять, поскольку стратегии, эвристики и принципы, лежащие в основе этих программ, явно не сформулированы в их тексте. Следовательно, эти ошибки нелегко определить и исправить. Подобно своим двойникам-людям ЭС могут делать ошибки. Но в отличие от обычных программ, они имеют потенциальную способность учиться на своих ошибках. С помощью компетентных пользователей можно заставить экспертные системы совершенствовать свое умение решать задачи в ходе практической работы.
6. ВИДЫ ЭС
Экспертные системы создаются для решения разного рода проблем, но основные типы их деятельности можно сгруппировать в категории, приведенные в табл. 2.
Таблица 2. Категории основных типов деятельности ЭС
Категория | Решаемая проблема |
Интерпретация | Описание ситуации по информации, поступающей от датчиков |
Прогноз | Определение вероятных последствий заданных ситуаций |
Диагностика | Выявление причин неправильного функционирования системы по результатам наблюдений |
Проектирование | Построение конфигураций объектов при заданных ограничениях |
Планирование | Определение последовательности действий |
Наблюдение | Сравнение результатов наблюдений с ожидаемыми результатами |
Отладка | Составление рецептов исправления неправильного функционирования системы |
Ремонт | Выполнение последовательности предписанных исправлений |
Обучение | Диагностика, отладка и исправление поведения обучаемого |
Управления | Управление поведением системы как целого |
Интерпретирующие ЭС могут о6работать разнообразные виды данных. Например, системы анализа сцен и распознавания речи, используя естественную информацию, – в одном случае визуальные образы, в другом – звуковые сигналы – анализируют их характеристики и понимают их смысл. Интерпретация в области химии использует данные дифракции рентгеновских лучей, спектрального анализа или ядерно-магнитного резонанса для вывода химической структуры веществ. Интерпретирующая система в геологии использует каротажное зондирование – измерение проводимости горных пород в буровых скважинах и вокруг них, – чтобы определить подповерхностные геологические структуры. Медицинские интерпретирующие системы используют показания следящих систем (например, значения пульса, кровяного давления), чтобы установить диагноз или тяжесть заболевания. В военном деле интерпретирующие системы используют данные от радаров, радиосвязи и сонарных устройств, чтобы оценить ситуацию и идентифицировать цели.
ЭС, осуществляющие прогноз, определяют вероятные последствия заданных ситуаций. Примерами служат прогноз ущерба урожая от некоторого вида вредных насекомых, оценивание спроса на нефть на мировом рынке в зависимости от складывающейся геополитической ситуации и прогнозирование места возникновения следу вооруженного конфликта, на основании данных разведки. Системы прогнозирования иногда используют имитационное моделирование, т.е. программы, которые отражают причинно-следственные взаимосвязи в реальном мире, чтобы сгенерировать ситуации или сценарии, которые могут возникнуть при тех или иных входных данных. Эти возможные ситуации вместе со знаниями о процессах, порождающих эти ситуации, образуют предпосылки для прогноза.
Экспертные системы выполняют диагностирование, используя описания ситуаций, характеристики поведения или знания о конструкции компонент, чтобы установить вероятные причины неправильного функционирования диагностируемой системы. Примерами служат: определение причин заболевания по симптомам, наблюдаемым у пациентов; локализация неисправностей в электронных схемах и определение неисправных компонент в системе охлаждения ядерных реакторов. Диагностические системы часто являются консультантами, которые не только ставят диагноз, но также помогают в отладке. Они могут взаимодействовать с пользователем, чтобы оказать помощь при поиске неисправностей, а затем предложить порядок действий по их устранению. В настоящее время многие диагностические системы разрабатываются для приложений к инженерному делу и компьютерным системам. Примером может служить система MYCIN.
ЭС, выполняющие проектирование, разрабатывают конфигурации объектов с учетом набора ограничений, присущих проблеме. Примерами могут служить генная инженерия, разработка СБИС и синтез сложных органических молекул. В проектировании систем часто используются синтез для разработки отдельных частей проекта и имитационное моделирование с целью верификации и тестирования идей, заложенных в проект. Учитывая то, что проектирование столь тесно связано с планированием, многие проектирующие системы содержат механизмы разработки и уточнений планов для достижения желаемого проекта. Система проектирования может в значительной мере избежать ненужных поисков, создавая планы разработки желаемой конфигурации и оценивая их в контексте проблемных требований. Две наиболее популярные области применения проектирующих ЭС – молекулярная биология и микроэлектроника. Это может быть связано с заинтересованностью бизнеса в столь перспективных приложениях, а не с некими фундаментальными особенностями этих областей.
ЭС, занятые планированием, проектируют действия; они определяют полную последовательность действий, прежде чем начнётся их выполнение. Примерами могут служить создание плана применения последовательности химических реакций к группам атомов с целью синтеза сложных органических соединений или создание плана воздушного нападения, рассчитанного на несколько дней, с целью нейтрализации определённого фактора боеспособности врага. Планирующие ЭС зачастую должны иметь способность к возврату, т.е. отвергать некоторую последовательность рассуждений или часть плана из-за нарушения ограничений задачи и возвращать управление назад к более ранней точке иди ситуации, из которой анализ должен начаться заново. Возврат может дорого стоить, и поэтому в некоторых планирующих системах задача планирования разбивается на подпроблемы и делается попытка упорядочить их так, чтобы избежать перепланирования, начинающегося с точки, в которой был сделан неудачный выбор. Наиболее часто встречающиеся области применения планирующих ЭС – химия, электроника и военное дело.
Экспертные системы, которые осуществляют наблюдение, сравнивают действительное поведение с ожидаемым поведением системы. Примерами могут служить слежение за показаниями измерительных приборов в ядерных реакторах с целью обнаружения аварийных ситуаций или оценку данных мониторинга больных, помещенных блоки интенсивной терапии. Наблюдающие ЭС подыскивают наблюдаемое поведение, которое подтверждает их ожидания относительно нормального поведения или их предположения о возможных отклонениях. Наблюдающие ЭС по самой своей природе должны работать в режиме реального времени и осуществлять зависящую как от времени, так и от контекста интерпретацию поведения наблюдаемого объекта. Это может приводить к необходимости запоминать все значения некоторых параметров системы (например, пульса), полученные в различные моменты времени, поскольку скорость и направление изменения могут быть столь же важны, как и действительные его значения в любой момент времени.
ЭС, выполняющие отладку, находят рецепты для исправления неправильного поведения устройств. Примерами могут служить настройка компьютерной системы с целью преодолеть некоторый вид затруднений в её работе; выбор типа обслуживания, необходимого для устранения неисправностей в телефонном кабеле; выбор ремонтной операции для исправления известной неисправности в локомотиве. Многие существующие отладочные системы работают с простыми таблицами связей между типами неисправностей и предлагаемыми рецептами их исправления, но общая проблема отладки трудна и требует проектирования рецептов восстановления и их оценивания через прогнозирование их эффективность. Отладочные системы часто включают диагностические компоненты для определения причин неисправностей. Это особенно характерно для медицинских ЭС, где система ставит диагноз заболевания, а затем производит “отладку”, предписывая курс лечения.
ЭС, реализующие ремонт, следуют плану, который предписывает некоторые рецепты восстановления. Примером является настройка масс-спектрометра, т.е. установка ручек регулировки прибора в положение, обеспечивающее достижение оптимальной чувствительности, совместимой с правильным отношением величин пиков и их формы. Пока что было разработано очень мало ремонтных ЭС отчасти потому, что необходимость фактического выполнения ремонтных процедур на объектах реального мира дополнительно усложняет задачу. Ремонтным системам также необходимы диагностирующие, отлаживающие и планирующие процедуры для производства ремонта.
ЭС, выполняющие обучение, подвергают диагностике, “отладке” и исправлению (“ремонту”) поведение обучаемого. В качестве примеров можно взять обучение студентов отысканию неисправностей в электрических цепях, обучение военных моряков обращению с двигателем на корабле и обучение студентов-медиков выбору антимикробной терапии. Обучающие системы создают модель того, что обучающийся знает и как он эти знания применяет к решению проблемы. Системы диагностируют и указывают обучающемуся его ошибки, анализируя модель и строя планы исправлений указанных ошибок. Они исправляют поведение обучающихся, выполняя эти планы с помощью непосредственных указаний обучающимся.
ЭС, осуществляющие управление, адаптивно руководит поведением системы в целом. Примерами служат управление производством и распределением компьютерных систем или контроль за состоянием больных при интенсивной терапии. Управляющие ЭС должны включать наблюдающие компоненты, чтобы отслеживать поведение объекта на протяжении времени, но они могут нуждаться также и в других компонентах для выполнения любых или всех из уже рассмотренных типов задач: интерпретации, прогнозирования, диагностики, проектирования, планирования, отладки, ремонта и обучения. Типичная комбинация задач состоит из наблюдения, диагностики, отладки, планирования и прогноза.
7. ТИПЫ ЗАДАЧ, РЕШАЕМЫХ ЭС
Классификация ЭС на основании описанных видов деятельности может привести к неясностям, поскольку многие из этих систем выполняют сразу насколько видов работ. Например, диагностика часто совмещается с отладкой, наблюдение с управлением, а планирование с проектированием. Поэтому специалисты по ИИ находят полезным классифицировать ЭС по типам задач, которые такие системы решают. В табл. 3 перечислены некоторые из предметных областей, в которых ЭС в настоящее время. Из них медицина представляется наиболее популярной; именно в этой области было разработано больше ЭС, чем во всякой другой, хотя химия ненамного отстаёт от неё, и разрыв быстро сокращается.
Таблица 3. Классификация ЭС по типам задач
Военное дело Геология Инженерное дело Информатика Компьютерные системы Космическая техника Математика Медицина | Метеорология Промышленность Сельское хозяйство Управление процессами Физика Химия Электроника Юриспруденция |
Заключение
В настоящее время ЭС находят всё большее применение во всех областях человеческой деятельности. Этому способствуют: развитие средств вычислительной техники, инструментальных средств разработки ПО, практика использования ЭС, постоянно возрастающий уровень информационной культуры пользователей.
На практике часто требуется не использование ЭС как таковой, сколько использование её элементов (интеллектуальных ЭС) для ПО.
Элементы использования ЭС нашли своё отражение во вновь разрабатываемом ПО, как известных фирм-производителей ПО, так и авторов-индивидуалов.
В настоящее время сдерживание темпов развития ЭС происходит из-за недостаточной разработанности математического аппарата в области ИИ, частности в области построения нейро-сетей, а так же в области психологии экспертных суждений и принятия решения экспертом. В последнее десятилетие в данных направлениях наблюдался серьёзный прогресс. В настоящее время учёные прикладывают огромные усилия по решению научных проблем в данных областях. Результатом этой работы будет создание новых, более интеллектуальных ЭС, для конкретных областей человеческой деятельности, а также более интеллектуального ПО.
Библиографический список
1. Долин Г. Что такое ЭС// Компьютер Пресс. – 1992. – №2
2. Малпасс Д.Р. Реляционный язык Пролог и его применение.
3. Марселлус Д.Н. Программирование экспертных систем на Турбо Прологе.- М.: Финансы и статистика, 1994.
4. Нейлор К. Как построить свою экспертную систему.- М.: Энергоатомиздат, 1991.
5. Сафонов В.О. Экспертные системы - интеллектуальные помощники специалистов.- С.-Пб: Санкт-Петербургская организация общества “Знания” России, 1992.
6. Убейко В.Н. Экспертные системы.- М.: МАИ, 1992.