Реферат: Экспертные системы 12
Первая ЭС в геологии PROSPECTOR → скелетный язык диагностики и классификации KAS.
ЭС диагностики и лечения бактериальных инфекций MYCIN → скелетная система EMYCIN (EMPTYMYCIN).
Консультационная система по глаукоме 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), из сети можно вывести третье утверждение: «Куин Мэри является кораблем». Отношение является и другие отношения, как например имеет-часть, устанавливают свойство иерархии наследования в сети. Т.е. в сети элементы более низкого уровня могут наследовать свойства элементов более высокого уровня.