Реферат: Экспертные системы 12
Для специалистов в области ИИ термин знания означает информацию, которая необходима программе, чтобы она вела себя «интеллектуально».
Эта информация представляется в форме фактов и правил.
ФАКТ: При включении станка получена травма.
ПРАВИЛО: Если не соблюдались требования безопасности, то применимо законодательство о неосторожном поведении, приведшем к несчастному случаю.
Факты и правила в экспертной системе не всегда либо истинны, либо ложны. Иногда существует некоторая степень неуверенности в достоверности факта или точности правила. Если это сомнение выражено явно, то оно называется «коэффициентом уверенности».
ФАКТ: Станок имеет дефект с коэффициентом уверенности 0.9
ПРАВИЛО: Если станок имеет дефект с коэффициентом уверенности >0.6, то теория строгой ответственности применима с коэффициентом уверенности 1.0.
Многие правила ЭС являются эвристиками, т.е. эмпирическими правилами, которые упрощают или ограничивают поиск решений, когда предметная область сложна или недостаточно изучена и решаемая задача не поддается строгому математическому анализу или алгоритмическому решению.
Рассмотрим различия между алгоритмическим и эвристическим методами на примере
Рис. 3.
Алгоритм полностью исключает возможность попадания оружия на борт самолета и предотвращает захват террористами самолета, но требует много времени, дорог и непопулярен. Эвристический метод более легок и практичен, но не обеспечивает 100% защиту.
Таким образом, алгоритмический метод гарантирует корректное решение задачи, тогда как эвристический метод дает приемлемое решение в большинстве случаев.
В экспертной системе существует четкое разделение знаний на:
- знания о предметной области, называемые базой знаний;
- знания о том, как решать задачи, называемые механизмом вывода;
- знания о том, как взаимодействовать с пользователем.
Программа, которая работает со знаниями, организованными подобным образом(т.е. база знаний + мех-м вывода ), называется системой, основанной на знаниях.
База знаний экспертной системы содержит факты и правила, использующие эти факты как основу для принятия решений.
Механизм вывода содержит:
- интерпретатор, определяющий, как применять правила для вывода новых знаний;
- диспетчер, устанавливающий порядок применения правил.
Чтобы приносить реальную пользу, экспертная система должна иметь базу знаний, содержащую высококачественные знания о предметной области, а ее механизм вывода должен содержать знания о том, как эффективно использовать знания о предметной области.
Разработка механизма вывода ЭС – нетривиальная задача, поскольку простой и общий метод организации логического вывода отсутствует.
Чтобы ясно понимать суть этой проблемы, необходимо, во-первых, понимать, что структура логического вывода зависит и от специфики предметной области и от того, как знания структурированы и организованы в ЭС, а во-вторых, осознавать возможности инструментальных средств построения экспертных систем.
Эти средства разделяются на четыре основных категории:
1. Языки программирования;
2. Языки инженерии знаний
3. Вспомогательные средства
4. Средства поддержки
Языки программирования, применяемые для работы в области экспертных систем – это или проблемно-ориентированные языки(Фортран, Паскаль) или языки обработки текстов (Лисп, Пролог). Проблемно-ориентированные языки разработаны для специального класса задач: например, Фортран удобен для выполнения алгебраических вычислений и чаще всего применяется в научных, математических и статистических исследованиях.
Наиболее широко используемым языком программирования для задач искусственного интеллекта является Лисп. Его популярность основывается на таких его свойствах, как легкое и гибкое манипулирование символами, автоматическое управление памятью, развитые редактирование и средства отладки, едином подходе к представлению программ и данных, что позволяет программе на Лиспе модифицировать свой собственный код так же просто, как и данные. Последнее качество благоприятно для написания программ, которые могут вводить новые или модифицировать уже существующие в базе знаний правила.
Рассмотрим, как записывается обычное высказывание на языке Лисп:
Естественный язык | Лисп |
Разлита нефть в строении №5 | (МЕСТОНАХОЖДЕНИЕ (РАЗЛИТА НЕФТЬ) (СТРОЕНИЕ №5)) |
Здесь элемент МЕСТОНАХОЖДЕНИЕ действует как отношение, которое указывает, что его первый аргумент размещается в его втором аргументе.
Подобные Лисп языки программирования представляют максимальную гибкость разработчику экспертной системы, но не указывают ему, как представлять знания или как построить механизм доступа к базе знаний.
Язык инженерии знаний – это язык построения экспертных систем, погруженный в обширное поддерживающее окружение. Языки инженерии знаний разделяются на скелетные и универсальные. Скелетный язык инженерии знаний – это экспертная система без специальных предметных знаний, включающая только механизм вывода и средства поддержки.