Автор: Пользователь скрыл имя, 20 Марта 2011 в 14:02, реферат
Технология экспертных систем является одним из направлений новой области исследования, которая получила наименование искусственного интеллекта. Исследования в этой области сконцентрированы на разработке и внедрении компьютерных программ, способных имитировать, воспроизводить те области деятельности человека, которые требуют мышления, определенного мастерства и накопленного опыта.
Введение.
Глава 1. Введение в сущность экспертных систем. 4 ст.
1.1. История развития экспертных систем. 4 ст.
1.2. Определение экспертных систем. Главное достоинство и назначение
экспертных систем. 9 ст.
Глава 2. Инструментальные средства разработки. 13 ст.
2.1. Общая характеристика инструментальных средств для построения экспертных систем. 13 ст.
2.2. Оболочки экспертных систем. 15 ст.
2.3. Языки программирования высокого уровня. 18 ст.
2.3.1. Языки описания порождающих правил. 19 ст.
2.3.2. Объектно-ориентированные языки. 20 ст.
2.3.3. Языки логического программирования экспертных систем. 22 ст.
2.3.4. Многофункциональные программные среды. 23 ст.
Глава 3. Использование инструментальных средств. 25 ст.
3.1. Характерные сложности и способы их избежать. 25 ст.
3.2. Выбор подходящего инструментария для разработки экспертной
системы. 26 ст.
3.3. Практическое освоение инструментальных средств. 30 ст.
Заключение .
Список используемой литературы. 33 ст.
Процедурно-
Программирование, ориентированное на правила. Эта парадигма аналогична предыдущей, но роль процедур играют правила "условие-действие". В среде LOOPS наборы правил сами по себе являются объектами, которые можно рекурсивно вкладывать один в другой. Таким образом, часть "действие" одного правила, в свою очередь, может активизировать подчиненный набор правил. С множествами правил связываются управляющие компоненты, с помощью которых в простейшей форме выполняется разрешение конфликтов.
Объектно-ориентированное
программирование. Структурированные
объекты обладают свойствами и процедур,
и данных, причем побочные эффекты
обычно локализуются в пределах объекта.
Обработка поступающих
Программирование, ориентированное на данные. Доступ к данным и обновление данных запускает определенные процедуры, причем не имеет значения, почему изменен компонент данных, — то ли это результат побочного эффекта, то ли результат действия других процедур. С переменными, в которых хранятся значения данных, связываются определенные процедуры, подобно тому, как это делается в слотах фрейма, причем такие переменные часто называют активными величинами. В таких приложениях, как моделирование, этот стиль программирования оказывается довольно продуктивным, поскольку позволяет распространить эффект изменения какого-либо компонента на прочие, с ним связанные.
В рамках основной объектно-ориентированной парадигмы модули среды, поддерживающие разные стили программирования, можно комбинировать. Обычно условия в порождающих правилах и логические фразы связываются со значениями слотов структурированных объектов, а правила модифицируют значения этих слотов. Именно такой стиль объединения парадигм в настоящее время реализован в языке CLIPS.
В
системах КЕЕ и LOOPS поведение объектов
описывается в терминах множества
порождающих правил, как это сделала
Эйкинс (Aikins) в системе CENTAUR. В средах
КЕЕ и Knowledge Craft к перечисленным
выше парадигмам добавлено и логическое
программирование в стиле языка
PROLOG. Новая версия КЕЕ, известная
под названием КАРРА-РС, предоставляет
в распоряжение программиста еще
более широкий набор стилей для
комбинирования правил, объектов и
процедур.
Глава
3. Использование инструментальных средств
Хотя
на этапе внедрения экспертной системы
возникает очень много
3.1. Характерные
сложности и способы их
В своей книге Уотерман перечисляет следующие "ловушки", поджидающие разработчика экспертной системы на этапе внедрения, и дает рекомендации, как их избежать [Waterman, 1986, Chapter 19].
Знания, касающиеся предметной области, слишком тесно переплетены с остальной частью программы. В частности, невозможно разделить эти знания и знания общего применения, касающиеся способов поиска в пространстве решений. Уотерман предполагает, что этого можно достичь, положив в основу организации базы знаний набор правил, хотя из замечаний, сделанных Кленси и Эйкинс, следует, что такая организация отнюдь не гарантирует достижение ожидаемого результата.
Та
база знаний, которая сформировалась
после извлечения и представления
сотен правил в процессе опроса экспертов,
может оказаться все-таки настолько
неполной, что не позволит решить и
простую задачу, поскольку в ней
отсутствуют фундаментальные
Среда разработки не располагает встроенными средствами формирования функций пояснения экспертной системы, а добавление таких функций в уже спроектированную систему — задача не из легких. Уотерман советует позаботиться о прозрачности экспертной системы с первых же шагов ее разработки. Это очень ценный совет, поскольку без хорошего "окна", через которое можно заглянуть в "машинный зал" программы, даже ее создатель не сможет понять, что же она на самом деле делает.
Система содержит чрезмерно большое количество слишком специфических правил. Это, во-первых, приводит в замедлению работы системы, а во-вторых, затрудняет управление ею. Уотерман рекомендует объединять, где только возможно, мелкие правила в более общие.
В следующих трех разделах мы остановимся на важных и сложных вопросах, которые следуют из представленного ниже перечня.
Как подобрать подходящий инструментарий для проектирования экспертной системы?
Насколько в действительности такие средства просты в обращении?
Что
такое "хороший стиль
Ответы
на эти вопросы отнюдь не очевидны,
но любой разработчик экспертных
систем не избежит необходимости
отыскать их. Тот поход, которым я
воспользовался при поиске этих ответов,
базируется частично на авторитетном
мнении ведущих специалистов в этой
области, а частично на анализе имеющегося
опыта проектирования. В конце
главы будут приведены
3.2. Выбор
подходящего инструментария
В работе [Hayes-Roth et al, 1983, Chapter 1] собраны рекомендации по выбору подходящих инструментальных средств построения экспертной системы. В основу рекомендаций положено сопоставление характеристик задач, решаемых проектируемой экспертной системой, и необходимых функциональных возможностей инструментального комплекса.
Общность. Выбрать инструмент со степенью общности, не превышающей той, которая необходима для решения данной задачи. Например, если для данной задачи сложный механизм управления не является жизненно необходимым, использовать его не только расточительно, но и нежелательно.
Выбор. Выбор инструментария должен определяться в первую очередь характеристиками задачи, решаемой экспертной системой, а не другими привходящими обстоятельствами, например тем, что какой-то инструмент уже есть под рукой или знаком вам лучше остальных. Авторы цитируемой работы затем развили свою мысль, опираясь на классификацию экспертных систем, о которой речь пойдет ниже.
Быстрота. Если успех проекта зависит от срока разработки, то следует выбирать инструментальную среду со встроенными средствами формирования пояснений и развитым пользовательским интерфейсом. Разработка интерфейса — одна из наиболее трудоемких стадий проектирования системы, и чем большую часть этой работы можно переложить на среду разработки, тем быстрее будет завершен проект.
Испытание. Постарайтесь как можно быстрее провести испытания новой для вас инструментальной среды. Без сомнения, это полезный совет, однако открытым остается вопрос о том, как определить степень совершенства инструмента по результатам испытаний.
Важнейшим для выбора инструментальной среды является вопрос о способе определения характеристик проблемы, решаемой проектируемой экспертной системой. Этот вопрос обсуждается в работе [Stefik et al, 1983], где предлагается схема анализа, основанная на свойствах пространства поиска решения. Я позволил себе несколько обобщить предлагаемые авторами работы категории проблем и свел Категорий к четырем, хотя основные принципы классификации остались прежними.
Малое
пространство решений, надежные данные
и знания. Предполагается, что количество
альтернатив, которые следует принимать
во внимание при поиске решения, невелико
и что все данные достоверны, а
истинность правил не вызывает сомнений.
В таком случае возможно выполнять
исчерпывающий поиск в
Ненадежные данные или знания.
Если данные и/или знания
Большое, но факторизуемое пространство решений. В литературе можно найти два варианта толкования термина "факторизуемый". Пространство поиска можно назвать факторизуемым, если существует "правило исключения", которое помогает уменьшить размер пространства на ранней стадии решения проблемы [Stefik et al, 1983, p. 99]. Есть и другое определение — пространство поиска является факторизуемым, если возможно разделить его на несколько независимых подпространств, которые можно обрабатывать по отдельности, причем для разных подпространств могут быть использованы и разные множества правил или отдельные подмножества одного и того же множества правил [Nilsson, 1980, р. 37]. Обычно такое разбиение выполняется на уровне решаемой проблемы, т.е. большая общая проблема разбивается на несколько более мелких. Успех в достижении главной цели, таким образом, оценивается по совокупности успехов в достижении более или менее независимых подцелей. .Если система потерпит неудачу в достижении одной из подцелей, то это будет означать неудачу и решения проблемы в целом. В любом случае для решения проблем такого класса наиболее предпочтительным является метод порождения и проверки (generate-and-test). Этот метод позволяет "обрезать" ветви, уводящие нас от решения, и разделить большое пространство решений на подпространства.
Большое нефакторизуемое пространство решений. Пространство решений может оказаться и нефакторизуемым, в каком бы смысле мы не трактовали этот термин. Очень часто оказывается, что проблема проектирования допускает выработку частного решения какого-либо компонента только в контексте всего проекта. При сборке головоломки нельзя предсказать, найдено ли верное решение, пока последний элемент мозаики не станет на свое место. Общий подход к работе в большом пространстве поиска состоит в том, чтобы последовательно рассматривать его на разных уровнях абстракции, т.е. использовать варианты описания пространства с разным уровнем учета деталей. Решение проблемы таким методом часто называют нисходящим уточнением (top-down refinement). Применение метода нисходящего уточнения требует исключить, по возможности, обратное прослеживание между уровнями, реализация которого требует значительных вычислительных ресурсов. Но это срабатывает только в случае, если между уровнями нет тесного взаимодействия.
Информация о работе Представление знаний в информационных системах