Автор работы: Пользователь скрыл имя, 24 Февраля 2011 в 21:20, лекция
Экспертная система, ее достоинства и недостатки
2.Организация ЭС
2.1.Организация знаний
Для специалистов в области ИИ термин знания означает информацию, которая необходима программе, чтобы она вела себя «интеллектуально».
Эта информация представляется в форме фактов и правил.
ФАКТ: При включении станка получена травма.
ПРАВИЛО: Если не соблюдались требования безопасности, то применимо законодательство о неосторожном поведении, приведшем к несчастному случаю.
Факты и правила в экспертной системе не всегда либо истинны, либо ложны. Иногда существует некоторая степень неуверенности в достоверности факта или точности правила. Если это сомнение выражено явно, то оно называется «коэффициентом уверенности».
ФАКТ: Станок имеет дефект с коэффициентом уверенности 0.9
ПРАВИЛО: Если станок имеет дефект с коэффициентом уверенности >0.6, то теория строгой ответственности применима с коэффициентом уверенности 1.0.
Многие правила ЭС являются эвристиками, т.е. эмпирическими правилами, которые упрощают или ограничивают поиск решений, когда предметная область сложна или недостаточно изучена и решаемая задача не поддается строгому математическому анализу или алгоритмическому решению.
Рассмотрим различия между алгоритмическим и эвристическим методами на примере
Рис. 3.
Алгоритм полностью исключает возможность попадания оружия на борт самолета и предотвращает захват террористами самолета, но требует много времени, дорог и непопулярен. Эвристический метод более легок и практичен, но не обеспечивает 100% защиту.
Таким образом, алгоритмический метод гарантирует корректное решение задачи, тогда как эвристический метод дает приемлемое решение в большинстве случаев.
В экспертной системе существует четкое разделение знаний на:
Программа, которая работает со знаниями, организованными подобным образом(т.е. база знаний + мех-м вывода), называется системой, основанной на знаниях.
База знаний экспертной системы содержит факты и правила, использующие эти факты как основу для принятия решений.
Механизм вывода содержит:
Чтобы приносить реальную пользу, экспертная система должна иметь базу знаний, содержащую высококачественные знания о предметной области, а ее механизм вывода должен содержать знания о том, как эффективно использовать знания о предметной области.
Разработка механизма вывода ЭС – нетривиальная задача, поскольку простой и общий метод организации логического вывода отсутствует.
Чтобы ясно понимать суть этой проблемы, необходимо, во-первых, понимать, что структура логического вывода зависит и от специфики предметной области и от того, как знания структурированы и организованы в ЭС, а во-вторых, осознавать возможности инструментальных средств построения экспертных систем.
Эти средства разделяются на четыре основных категории:
Языки программирования, применяемые для работы в области экспертных систем – это или проблемно-ориентированные языки(Фортран, Паскаль) или языки обработки текстов (Лисп, Пролог). Проблемно-ориентированные языки разработаны для специального класса задач: например, Фортран удобен для выполнения алгебраических вычислений и чаще всего применяется в научных, математических и статистических исследованиях.
Наиболее широко используемым языком программирования для задач искусственного интеллекта является Лисп. Его популярность основывается на таких его свойствах, как легкое и гибкое манипулирование символами, автоматическое управление памятью, развитые редактирование и средства отладки, едином подходе к представлению программ и данных, что позволяет программе на Лиспе модифицировать свой собственный код так же просто, как и данные. Последнее качество благоприятно для написания программ, которые могут вводить новые или модифицировать уже существующие в базе знаний правила.
Рассмотрим, как записывается обычное высказывание на языке Лисп:
Естественный язык | Лисп |
Разлита нефть в строении №5 | (МЕСТОНАХОЖДЕНИЕ (РАЗЛИТА НЕФТЬ) (СТРОЕНИЕ №5)) |
Здесь
элемент МЕСТОНАХОЖДЕНИЕ
Подобные Лисп языки программирования представляют максимальную гибкость разработчику экспертной системы, но не указывают ему, как представлять знания или как построить механизм доступа к базе знаний.
Язык инженерии знаний – это язык построения экспертных систем, погруженный в обширное поддерживающее окружение. Языки инженерии знаний разделяются на скелетные и универсальные. Скелетный язык инженерии знаний – это экспертная система без специальных предметных знаний, включающая только механизм вывода и средства поддержки.
Примеры
Первая ЭС в геологии PROSPECTOR → скелетный язык диагностики и классификации KAS.
ЭС диагностики и лечения бактериальных инфекций MYCIN → скелетная система EMYCIN (EMPTY MYCIN).
Консультационная система по глаукоме CASNET → скелетная система EXPERT.
Скелетные системы обеспечивают структуризацию знаний и готовые механизмы вывода, которые делают разработку системы легкой и быстрой. Но они приложимы лишь к узкому классу проблем и сильно ограничивают возможности разработчика экспертных систем.
Универсальный язык инженерии знаний может быть применим к проблемам разного типа в разных прикладных областях. Он обеспечивает большие возможности управления поиском данных и доступом к ним, чем скелетные системы, но более сложен в использовании.
Все скелетные и универсальные языки находятся на уровне исследовательских разработок. Однако несколько компаний, специализирующихся в области искусственного интеллекта, продают версии языков инженерии знаний коммерческого уровня. Эти языки – между скелетными системами и универсальными языками; многие из них возникли из скелетных систем и были развиты для того, чтобы стать более общими и легко применимыми.
Вспомогательные средства – это программы, оказывающие помощь в приобретении знаний у эксперта-человека и представлении их, и программ, которые помогают разработать проекты экспертных систем.
Эти программы должны выполнять очень сложные задания, из них большинство являются пока что чисто исследовательскими разработками, которые лишь начали превращаться во что-то практически полезное, хотя некоторые системы уже предлагаются как законченные коммерческие продукты.
Средства поддержки(или поддерживающее окружение) представляют собой пакеты программ, которые прилагаются к языку инженерии знаний, чтобы упростить его использование, облегчить диалог и сделать его более эффективным. Подразделяются на средства отладки, средства ввода/вывода, средства объяснения, редакторы базы знаний.
Таким образом, существует два подхода к разработке механизма вывода ЭС:
2.2.Представление знаний
В современных экспертных системах чаще всего используются три метода представления знаний:
2.2.1.Методы, основанные на правилах
Представление знаний, основанное на правилах, построено на использовании выражений вида
ЕСЛИ (условие) — ТО (действие).
Пример:
[1] Если обвиняемый был с семьей в момент совершения преступления, то обвиняемый имеет алиби.
[2] Если обвиняемый имеет алиби, то обвиняемый не виновен.
Когда факты в задаче удовлетворяют части правила ЕСЛИ, то выполняется действие, определяемое частью ТО. Это действие может, например, состоять в распечатке текста на терминале пользователя, проверке и запуске некоторого набора правил или сводиться к указанию системе о добавлении нового факта или гипотезы в базу данных.
Сопоставление частей ЕСЛИ правил с фактами может породить так называемую цепочку выводов.
Рис. 4. Цепочка вывода для получения заключения о невиновности обвиняемого.
Правила обеспечивают естественный способ описания процессов, управляемых сложной и быстро изменяющейся внешней средой. Через правила можно определять, как программа должна реагировать на изменение данных, а схема передачи управления и использования данных уже предопределена. Обработка здесь осуществляется последовательными шагами, а ветвление имеет место только в заранее выбранных точках. Этот способ управления хорошо работает в случае задач, допускающих алгоритмическое решение, если к тому же при этом данные меняются достаточно медленно, например, при решении систем линейных уравнений. Для задач, ход решения которых управляется самими данными, где ветвление скорее норма, чем исключение, этот способ малоэффективен. В задачах такого рода правила дают возможность на каждом шаге оценить ситуацию и предпринять соответствующие действия. Использование правил упрощает объяснение того, как программа пришла к конкретному заключению.
2.2.2.Представление знаний с использованием семантических сетей
Термин семантическая сеть применяется для описания метода представления знаний, основанного на сетевой структуре.
Семантические сети были первоначально разработаны как психологические модели человеческой памяти, но теперь это стандартный метод представления знаний в ИИ и в экспертных системах.
Семантические сети состоят из узлов, и связывающих их дуг. Узлы соответствуют объектам, концепциям или событиям. Дуги описывают отношения между узлами и могут быть определены разными методами, зависящими от вида представляемых знаний. Обычно дуги, используемые для представления иерархии, включают дуги типа isa (является) и has-part (имеет часть).
Например, два предложения «Куин Мэри является океанским лайнером» и «Каждый океанский лайнер является кораблем» удобно представить через семантическую сеть с использованием важного типа дуг: является.