Автор работы: Пользователь скрыл имя, 28 Апреля 2010 в 19:23, Не определен
В течение последнего десятилетия в рамках исследований по искусственному интеллекту сформировалось самостоятельное направление – экспертные системы (ЭС), или инженерия знаний. В задачу этого направления входят исследование и разработка программ (устройств), использующих знания и процедуры вывода для решения задач, являющихся трудными для людей-экспертов. ЭС могут быть отнесены к системам ИИ общего назначения – системам, которые не только исполняют заданные процедуры, но на основе метапроцедур поиска генерируют и используют процедуры решения новых конкретных задач. В течение последнего десятилетия в рамках исследований по искусственному интеллекту сформировалось самостоятельное направление – экспертные системы (ЭС), или инженерия знаний. В задачу этого направления входят исследование и разработка программ (устройств), использующих знания и процедуры вывода для решения задач, являющихся трудными для людей-экспертов. ЭС могут быть отнесены к системам ИИ общего назначения – системам, которые не только исполняют заданные процедуры, но на основе метапроцедур поиска генерируют и используют процедуры решения новых конкретных задач.
Выделение знаний о предметной области облегчает инженеру по знаниям разработку процедур для манипулирования ими. Каким образом система использует свои знания, имеет первостепенное значение, поскольку ЭС должна иметь и адекватные знания, и средства эффективно использовать знания, чтобы её можно было считать умелой в каком-либо виде деятельности. Следовательно, для того, чтобы быть умелой, ЭС должна иметь базу знаний, содержащую высококачественные знания о предметной области, а её механизм вывода должен содержать знания о том, как эффективно использовать знания о предметной области.
Рис. 4. Состав
экспертной системы
Обычно ясно, как знания предметной области могут быть записаны в виде фактов и правил, но далеко не ясно, каким образом конструировать и использовать так называемый “механизм вывода”. Эта неясность происходит из-за отсутствия простого и общего метода организации логического вывода. Его структура зависит и от специфики предметной области и от того, как знания структурированы и организованы в ЭС. Многие языки высокого уровня, предназначенные для построения экспертных систем, например ЕМYCIN, имеют механизм вывода, в некотором смысле встроенный в язык как его часть.
Другим примером может служить язык программирования Пролог со встроенным в него механизмом логического вывода, который может быть непосредственно использован при создании простых ЭС. Языки более низкого уровня, например LISP, требуют, чтобы создатель ЭС спроектировал и реализовал механизм вывода.
Оба подхода имеют свои достоинства и недостатки. Язык высокого уровня со встроенным механизмом вывода облегчает работу создателя экспертной системы. В то же время у него, меньше возможностей определять способы организации знаний и доступа к ним, и ему следует очень внимательно рассмотреть вопрос о том, годится или нет на самом деле предлагаемая схема управления процессом поиска решения для данной предметной области. Использование языка более низкого уровня без механизма вывода требует больших усилий на разработку, но позволяет разработать нужные программные блоки, которые разработчик может встроить в схему управления процессом решения, который будет адекватен данной предметной области.
Существует много стандартных способов представления знаний, и при построении может быть использован любой из них, сам по себе или в сочетании с другими. Каждый способ позволяет получить программу с некоторыми преимуществами – делает её более эффективной, облегчает её понимание и модификацию. В современных ЭС чаще всего используются три самых важных метода представления знаний: правила (самый популярный), семантические сети и фреймы.
Представление знаний, основанное на правилах, построено на использовании выражений вида ЕСЛИ (условие) – ТО (действие). Когда текущая ситуация (факты) в задаче удовлетворяет или согласуется с частью правила ЕСЛИ, то выполняется действие, определяемое частью ТО. Это действие может оказаться воздействием на окружающий мир (например, вызовет распечатку текста на терминале пользователя), или же повлиять на управление программой (например, вызвать проверку и запуск некоторого набора правил), или может сводиться к указанию системе о получении определенного заключения (например, необходимо добавить новый факт или гипотезу в базу данных). Сопоставление частей ЕСЛИ правил с фактами может породить так называемую цепочку вывода.
Правила обеспечивают естественный способ описания процессов, управляемых сложной и быстро изменяющейся внешней средой. Через правила можно определять, как программа должна реагировать на изменение данных; при этом не нужно заранее знать блок-схему управления обработкой данных. В программе традиционного типа схема передачи управления и использования данных предопределена в самой программе. Обработка здесь осуществляется последовательными шагами, а ветвление имеет место только в заранее выбранных точках. Этот способ управления хорошо работает в случае задач, допускающих алгоритмическое решение, если к тому же при этом данные меняются достаточно медленно, например, при решении системы линейных уравнений. Для задач, ход решения которых управляется самими данными, где ветвление скорее норма, чем исключение, этот способ малоэффективен. В задачах такого рода правила дают нежность на каждом шаге оценить ситуацию и предпринять соответствующие действия. Использование правил упрощает объяснение того, что и как сделала программа, т.е. каким способом она пришла к конкретному заключению.
Представление знаний, основанное на фреймах, использует сеть узлов, связанных отношениями и организованных иерархически. Каждый узел представляет собой концепцию, которая может быть описана атрибутами и значениями, связанными с этим узлом. Узлы, которые занимают более низкое положение в иерархии, автоматически наследуют свойства узлов, занимающих более высокое положение.
Наиболее
важные термины приведены в табл. 1.
Таблица № 1.
Термин | Значение |
Алгоритм | Формальная процедура, которая гарантирует получение оптимального или корректного решения |
База знаний | Часть системы, основанной на знаниях, или экспертной системы, содержащей предметные знания |
Диспетчер | Часть механизма вывода, которая решает, когда и в каком порядке применять различные части предметных знаний |
Знания | Информация,
необходимая программе для |
Интерпретатор | Часть механизма вывода, которая решает, каким образом применять предметные знания |
Коэффициент уверенности | Число, которое означает вероятность или степень уверенности, с которой можно считать данный факт или правило достоверным или справедливым |
Механизм вывода | Та часть ЭС, в которой содержаться общие знания о схеме управления решением задачи |
Правило | Предметные знания, знания о предметной области |
Представление знаний | Процесс структурирования предметных знаний с целью облегчить поиск решения задачи |
Семантическая сеть | Метод представления знаний посредством сети узлов, соответствующих концепциям или объектам, связанных дугами, которые описывают отношения между узлами |
Система, основанная на знаниях | Программа, в которой предметные знания представлены в явном виде и отделены от прочих знаний программы |
Фрейм | Метод представления знаний, когда свойства связываются с вершинами, представляющими концепции или объекты. Свойства описываются в терминах атрибутов (называемых слотами) и их значений |
Эвристика | Правило, которое упрощает или ограничивает поиск решений в предметной области, которая является сложной или недостаточно изученной |
5. ОТЛИЧИЕ ЭС ОТ ТРАДИЦИОННЫХ ПРОГРАММ
Ещё один способ определить ЭС – это сравнить их с обычными программами. Главное различие состоит в том, что ЭС манипулируют знаниями, тогда как обычные программы манипулируют данными.
Специалисты в области ИИ имеют несколько более узкое (и боле сложное) представление о том, что такое ЭС. Под экспертной системой понимается программа для ЭВМ, обладающая: компетентностью, символьным рассуждением, глубиной и самосознанием.
Компетентность. Экспертная система должна демонстрировать компетентность, т.е. достигать в конкретной предметной области того же уровня профессионализма, что и эксперты-люди. Настоящие эксперты не только находят хорошие решения, но часто находят их очень быстро, тогда как новичкам для нахождения тех же решений как правило, требуется намного больше времени. Следовательно, ЭС должна быть умелой - она должна применять знания для получения решений эффективно и быстро, используя приемы и ухищрения, какие применяют эксперты-люди, чтобы избежать громоздких или ненужных вычислений. Для того чтобы по-настоящему подражать поведению эксперта-человека, ЭС должна обладать робастностью. Это подразумевает не только глубокое, но и достаточно широкое понимание предмета. А этого можно достичь, используя общие знания и методы нахождения решений проблем, чтобы уметь рассуждать исходя из фундаментальных принципов в случае некорректных данных или неполных наборов правил. Это один из наименее разработанных методов в современных ЭС, но именно им успешно пользуются эксперты-люди.
Символьные рассуждения. Эксперты, решая какие-то задачи (особенно такого типа, для решения которых применяются ЭС), обходятся без решения систем уравнений или других трудоемких математических вычислений. Вместо этого они с помощью символов представляют понятия предметной области и применяют различные стратегии и эвристики в процессе манипулирования этими понятиями. В ЭС знания тоже представляются в символьном виде, т.е. наборами символов, соответствующих понятиям предметной области.
Глубина. Экспертная система должна иметь глубокие знания; это значит, что она способна работать эффективно в узкой предметной области, содержащей трудные, нетривиальные задачи. Поэтому правила в ЭС с необходимостью должны быть сложными либо в смысле сложности каждого правила, либо в смысле их обилия. Экспертные системы, как правило, работают с предметными областями реального мира, а не с тем, что специалисты в области ИИ называют игрушечными предметными областями. В предметной области реального мира тот, кто решает задачу, применяет фактическую информацию к практической проблеме и находит решения, которые являются ценными с точки зрения некоторого критерия, определяющего соотношение стоимости и эффективности. В игрушечной предметной области либо задача подвергается чрезвычайному упрощению, либо производится нереалистическая адаптация некоторой сложной проблемы реального мира. Тот, кто решает такую проблему, обрабатывает искусственную информацию, которая в целях облегчения решения упрощена и порождает решения, имеющие чисто теоретический интерес.
В тех случаях, когда по отношению к сложной задаче или данным о ней сделаны существенные упрощения, полученное решение может оказаться неприменимым в масштабах, которые характерны для реальной проблемы. Рекомендации, методы представления знаний, организация знаний, необходимые для применения методов решении задач к этим знаниям, часто связаны с объемом и сложностью пространства поиска, т.е. множества возможных промежуточных и окончательных решений задачи. Если проблема сверхупрощена или нереалистична, то размерность пространства поиска будет, скорее всего, резко уменьшена, и не возникнет проблем с быстродействием и эффективностью, столь характерных для реальных задач.
Самосознание. Экспертные системы имеют знания, позволяющие им рассуждать об их собственных действиях, и структуру, упрощающую такие рассуждения. Например, если ЭС основана на правилах, то ей легко просмотреть цепочки выводов, которые она порождает, чтобы прийти к решению задачи. Если заданы ещё и специальные правила, из которых ясно, что можно сделать с этими цепочками выводов, то можно использовать эти знания для проверки точности, устойчивости и правдоподобия решений задачи и даже построить доводы, оправдывающие или объясняющие процесс рассуждения. Это знание системы о том, как она рассуждает, называется метазнанием, что означает всего лишь знания о знаниях.
У большинства ныне существующих ЭС есть так называемый механизм объяснения. Это знания, необходимые для объяснения того, каким образом система пришла к данным решениям. Большинство этих объяснений включают демонстрацию цепочек выводов и доводов, объясняющих, на каком основании было применено каждое правило в цепочке. Возможность проверять собственные процессы рассуждения и объяснять свои действия – это одно из самых новаторских и важных свойств ЭС.
“Самосознание” так важно для ЭС потому, что:
Экспертные системы делают ошибки. Существует еще одно очень важное отличие ЭС от традиционных программ. Тогда как традиционные программы разрабатываются таким образом, чтобы каждый раз порождать правильный результат, ЭС разработаны с тем, чтобы вести себя как эксперты, которые, как правило, дают правильные ответы, но иногда способны ошибаться.
Традиционные программы для решения сложных задач, напоминающих те, которые подходят для ЭС, тоже могут делать ошибки. Но их ошибки чрезвычайно трудно исправлять, поскольку стратегии, эвристики и принципы, лежащие в основе этих программ, явно не сформулированы в их тексте. Следовательно, эти ошибки нелегко определить и исправить. Подобно своим двойникам-людям ЭС могут делать ошибки. Но в отличие от обычных программ, они имеют потенциальную способность учиться на своих ошибках. С помощью компетентных пользователей можно заставить экспертные системы совершенствовать свое умение решать задачи в ходе практической работы.
6. ВИДЫ ЭС
Экспертные системы
создаются для решения разного
рода проблем, но основные типы их деятельности
можно сгруппировать в категории, приведенные
в табл. 2.
Таблица 2. Категории основных типов деятельности ЭС
Категория | Решаемая проблема |
Интерпретация | Описание ситуации по информации, поступающей от датчиков |
Прогноз | Определение вероятных последствий заданных ситуаций |
Диагностика | Выявление причин неправильного функционирования системы по результатам наблюдений |
Проектирование | Построение конфигураций объектов при заданных ограничениях |
Планирование | Определение последовательности действий |
Наблюдение | Сравнение результатов наблюдений с ожидаемыми результатами |
Отладка | Составление рецептов исправления неправильного функционирования системы |
Ремонт | Выполнение последовательности предписанных исправлений |
Обучение | Диагностика,
отладка и исправление |
Управления | Управление поведением системы как целого |