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

Автор работы: Пользователь скрыл имя, 18 Января 2014 в 12:31, курс лекций

Краткое описание

Технология экспертных систем является одним из направлений новой области исследований, называемой искусственным интеллектом(ИИ, AI – Artificial Intellegence). По известному определению Бара и Файгенбаума: Искусственный интеллект(ИИ) – это область информатики, которая занимается разработкой интеллектуальных компьютерных систем, т.е. систем, обладающих возможностями, которые мы традиционно связываем с человеческим разумом, - понимание языка, обучение способность рассуждать, решать проблемы и т.д.

Вложенные файлы: 1 файл

Lektsii_ES_dlya_studentov.doc

— 178.00 Кб (Скачать файл)

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

Рассмотрим, как записывается обычное высказывание на языке Лисп:

 

Естественный язык

Лисп

Разлита нефть в строении №5

(МЕСТОНАХОЖДЕНИЕ (РАЗЛИТА  НЕФТЬ) (СТРОЕНИЕ №5))


 

Здесь элемент  МЕСТОНАХОЖДЕНИЕ действует как  отношение, которое указывает, что его первый аргумент размещается в его втором аргументе.

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

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

Примеры

Первая ЭС в геологии PROSPECTOR → скелетный язык диагностики и классификации KAS.

ЭС диагностики и  лечения бактериальных инфекций MYCIN → скелетная система EMYCIN (EMPTY MYCIN).

Консультационная система по глаукоме CASNET → скелетная система EXPERT.

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

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

 

 

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

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

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

 

Таким образом, существует два подхода к разработке механизма вывода ЭС:

  1. Использование предназначенного для построения экспертных систем языка высокого уровня(EMYCIN, KAS, EXPERT), в который уже встроен механизм вывода. Это облегчает разработку ЭС, но ограничивает разработчика в выборе способа организации знаний и доступа к ним. Предлагаемая схема управления процессом поиска решения даже может быть негодна для данной предметной области.
  2. Использование языка более низкого уровня(LISP, PROLOG, FORTRAN) без механизма вывода. Требует больших усилий на разработку, но позволяет разработать программные блоки для схемы управления процессом решения, который будет адекватен данной предметной области.

 

2.2.Представление знаний

В современных экспертных системах чаще всего используются три  метода представления знаний:

  • правила (самый популярный);
  • семантические сети;
  • фреймы.

2.2.1.Методы, основанные на правилах

Представление знаний, основанное на правилах, построено на использовании выражений вида

ЕСЛИ (условие) — ТО (действие).

Пример:

[1] Если обвиняемый был с семьей в момент совершения преступления, то обвиняемый имеет алиби.

[2] Если обвиняемый имеет алиби, то обвиняемый не виновен.

Когда факты в задаче удовлетворяют части правила ЕСЛИ, то выполняется действие, определяемое частью ТО. Это действие может, например, состоять в распечатке текста на терминале пользователя, проверке и запуске некоторого набора правил или сводиться к указанию системе о добавлении нового факта или гипотезы в базу данных.

Сопоставление частей ЕСЛИ правил с фактами может породить так называемую цепочку выводов.







 

Рис. 4. Цепочка вывода для получения заключения о невиновности обвиняемого.

 

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

2.2.2.Представление знаний с использованием семантических сетей

Термин семантическая сеть применяется для описания метода представления знаний, основанного на сетевой структуре.

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

Семантические сети состоят  из узлов, и связывающих их дуг. Узлы соответствуют объектам, концепциям или событиям. Дуги описывают отношения между узлами и могут быть определены разными методами, зависящими от вида представляемых знаний. Обычно дуги, используемые для представления иерархии, включают дуги типа isa (является) и has-part (имеет часть).

Например, два предложения «Куин Мэри является океанским лайнером» и «Каждый океанский лайнер является кораблем» удобно представить через семантическую сеть с использованием важного типа дуг: является.

Так как отношение является транзитивно(a→b и b→c, то a→c), из сети можно вывести третье утверждение: «Куин Мэри является кораблем». Отношение является и другие отношения, как например имеет-часть, устанавливают свойство иерархии наследования в сети. Т.е. в сети элементы более низкого уровня могут наследовать свойства элементов более высокого уровня.

Рассмотрим семантическую сеть, представляющую корабль.

 

Части корабля, такие, как двигательная установка, корпус, котельная, включены один раз на уровне корабля, и не нужно повторять эти узлы на более низком уровне иерархии, вроде типа корабля или конкретного корабля. На практике это свойство семантической сети позволяет сберечь огромные объемы памяти. Зная смысл отношений, обозначаемых дугами, можно осуществлять поиск по сети, например, чтобы установить факты вроде «Куин Мэри имеет котельную». Семантические сети – один из самых удачных методов представления знаний о предметной области, который сильно упрощает поиск решения задач.

2.2.3.Методы, основанные на фреймах

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

Предложивший идею фрейма Марвин Минский, описывает его так:

«Фрейм – это структура данных, представляющая стереотипную ситуацию, вроде нахождения внутри некоторого рода жилой комнаты, или сбора на вечеринку по поводу дня рождения ребенка. К каждому фрейму присоединяется несколько видов информации. Часть этой информации – о том, как использовать фрейм. Часть – о том, чего можно ожидать далее. Часть – о том, что следует делать, если эти ожидания не подтвердятся»

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

2.3.Основные характеристики экспертных систем

Специалисты в области ИИ имеют несколько более сложное представление о том, что такое экспертные системы.

Рис. 5. Особенности экспертной системы, отличающие ее от обычных программ.

Компетентность

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

Символьные  рассуждения

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

При решении задачи экспертная система способна выполнять определенные математические расчеты, но в основном она манипулирует символами, которые соответствуют понятиям предметной области. На жаргоне ИИ символ – это строка знаков, соответствующая содержанию некоторого понятия реального мира. Ниже приведены примеры символов,

продукт

ответчик

0.8

Эти символы можно  объединить, чтобы выразить отношения между ними. Когда эти отношения представлены в программе ИИ, они называются символьными структурами. Далее приведены примеры символьных структур:

(ДЕФЕКТНЫЙ продукт) 

(ВЫПУЩЕННЫЙ ответчиком  продукт) 

(РАВНО (ОТВЕТСТВЕННОСТЬ ответчик) 0.8)

Эти структуры можно  интерпретировать следующим образом: «продукт является дефектным», «продукт был выпущен в продажу ответчиком» и «ответственность ответчика равна 0.8».

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

Глубина

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

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

Самосознание

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

«Самосознание» важно  для экспертной системы, поскольку:

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

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

Информация о работе Экспертные системы