Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Продукционные модели




 

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

(i); Q; Р; А Þ В; N.

Здесь i - имя продукции, с помощью которого данная продук­ция выделяется из всего множества продукций.

Элемент Q характеризует сферу применения продукции. Такие сферы легко выделяются в когнитивных структурах человека. Наши знания как бы «разложены по полочкам», и такое разделение помо­гает экономить время на поиск нужных знаний. Такое же разделение на сферы в базе знаний целесообразно и при использовании для их представления продукционных моделей.

Основным элементом продукции является ее ядро: А Þ В. Ин­терпретация ядра продукции может быть различной и зависит от того, что стоит слева и справа от знака секвенции (Þ). Обычное прочте­ние ядра продукции выглядит так: ЕСЛИ А, ТО В, более сложные конструкции ядра допускают в правой части альтернативный выбор, например ЕСЛИ А, ТО В,, ИНАЧЕ В2. Секвенция может истолковы­ваться в обычном логическом смысле как знак логического следова­ния В из истинного. Возможны и другие интерпретации ядра про­дукции: А описывает некоторое условие, необходимое для того, что­бы можно было совершить действие В.

Элемент Р есть условие применимости ядра продукции. Обычно Р представляет собой логическое выражение (как правило, преди­кат). Когда Р принимает значение «истина», ядро продукции акти­визируется. Если Р «ложно», то ядро продукции не может быть ис­пользовано.

Элемент N описывает постусловия продукции. Они актуализи­руются только в том случае, если ядро продукции реализовалось. Постусловия продукции описывают действия и процедуры, которые необходимо выполнить после реализации В.

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

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

Термин «продукция» принадлежит американскому логику Э.Посту и предложен им в 1943 г. В понимании Поста в качестве продукции выступала только та ее часть, которую теперь называ­ют ядром.

Иногда ядро продукции называют правилом. Вообще можно сказать, что правило есть частный случай продукции. В настоящее время системы продукций (правил) широко распространены в экс­пертных системах. С определенными допущениями можно признать тождественность данных понятий — «ПРОДУКЦИЯ — ПРАВИЛО»; «ПРОДУКЦИОННАЯ СИСТЕМА - СИСТЕМА, ОСНОВАННАЯ НА ПРАВИЛАХ».

Считается, что каждое правило (упрощенная продукция, импли­кация) состоит из двух частей АНТЕЦЕДЕНТНОГО УСЛОВИЯ и КОНСЕКВЕНТНОГО ПРЕДЛОЖЕНИЯ и может быть использовано в дедуктивном процессе рассуждений. Антецедент — первый член импликации, которому предпослано слово ЕСЛИ; консеквент - член импликации, вводимый в высказывание словом ТО; импликация — логическая операция, связывающая два высказывания (простых) в сложное с помощью логической связки, которой в обычном языке соответствует конструкция «ЕСЛИ..., ТО...».

Популярность продукционных моделей определяется несколь­кими факторами.

1. Подавляющая часть человеческих знаний может быть записа­на в виде продукций (правил).

2. Системы продукций являются модульными. За небольшим исключением удаление или добавление продукций (правил) не при­водит к изменениям в остальных продукциях (правилах).

3. Наличие в продукциях указателей на сферу применения про­дукции позволяет эффективно организовать память, сократив время поиска в ней необходимой информации.

4. При объединении систем продукций и сетевых представлений получаются средства, обладающие большой вычислительной мощ­ностью.

В то же время продукционные модели имеют ряд недостатков. По крайней мере два из них являются основными.

1. При большом числе продукций усложняется проверка непро­тиворечивости системы продукций. Это заставляет при добавлении новых продукций тратить много времени на проверку непротиворе­чивости новой системы.

2. Из-за присущей системе недетерминированности возникают принципиальные трудности при проверке корректности работы си­стемы.

 

Инструментальные средства построения

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

 

Процесс создания экспертных систем претерпел значительные изменения за последние несколько лет. Благодаря появлению специ­альных инструментальных средств (ИС) построения ЭС сократились сроки разработки, значительно снизилась трудоемкость. Существует достаточно много схожих классификаций инструментальных средств. В частности, их можно разбить на три основных типа:

1) языки программирования;

2) среды программирования;

3) пустые ЭС (оболочки).

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

Создание экспертных систем с широким спектром возможнос­тей, являющихся не механическими исполнителями воли человека, а его равноправными партнерами при поиске решений в сложных ситуациях, требует привлечения эффективных инструментальных средств программирования. К числу таких средств относятся языки обработки символьной информации, наиболее известными из кото­рых являются Пролог и Лисп. Пролог — язык высокого уровня, име­ющий строгое теоретической обоснование и ориентированный на использование концепций и методов математической логики. Как следует из его названия, Пролог предназначен для программирова­ния в терминах логики. Основной особенностью Пролога, отличаю­щей его от всех других языков, является декларативный характер написанных на нем программ. Язык Лисп изобретен в Массачусетском технологическом институте и обладает способностью обрабаты­вать списковые структуры. Языки программирования Лисп и Пролог имеют встроенные механизмы для манипулирования знаниями.

Помимо Лиспа и Пролога создано множество других языков, ориентированных на обработку символьной информации и разра­ботку ЭС: Smalltalk, FRL, Interlisp. Кроме этих специализированных языков для разработки экспертных систем используются и обычные языки программирования общего назначения: Си, Ассемблер, Пас­каль, Фортран, Бейсик и др.

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

Инструментальные средства второго типа — среды программиро­вания — позволяют разработчику не программировать некоторые или все компоненты ЭС, а выбирать их из заранее составленного набора.

При применении последнего типа инструментария — пустых ЭС, или «оболочек» — разработчик ЭС полностью освобождается от работ по созданию программ и занимается лишь наполнением базы знаний. Однако при использовании этого способа могут возникнуть следующие проблемы: управляющие стратегии, вложенные в процедуры вывода базовой системы, а также принятый язык представления знаний могут не подходить для данного приложения. Все это затрудняет выбор под­ходящей пустой ЭС и их применение. Кроме того, уже в процессе со­здания прикладной системы может выясниться, что возможности, за­ложенные в используемом инструментальном средстве, не позволяют реализовать необходимые процедуры вывода и представление предмет­ных знаний, требующиеся для успешной работы системы. В то же вре­мя в ряде случаев применение пустых ЭС оказывалось вполне оправ­данным и удобным — за короткие сроки разработчик имел возможность производить вполне добротные системы.

Типичным представителем второй и третьей групп инструмен­тальных средств является пакет EXSYS Professional 5.0 for Windows (оболочка — по определению разработчика - компании Exsys Inc., США), предназначенный для создания прикладных экспертных си­стем в различных предметных областях. Система построена на ис­пользовании сложных правил вида ЕСЛИ-ТО-ИНАЧЕ. Для выбора стратегии получения заключения в системе по умолчании использу­ется обратная цепочка вывода. Прямая цепочка может быть задана при настройке системы. Система обладает развитым графическим интерфейсом, способна обращаться к внешним базам данных, про­верять правила на непротиворечивость. При определенной настрой­ке может работать с русскоязычными текстами.

 

Инженерия знаний

 

Как уже отмечалось, технологию построения экспертных систем часто называют инженерией знаний. Как правило, этот процесс требует специфической формы взаимодействия создателя экспертной системы, которого называют инженером знаний, и одного или не­скольких экспертов в некоторой предметной области. Инженер зна­ний ^извлекает» из экспертов процедуры, стратегии, эмпирические правила, которые они используют при решении задач, и встраивает эти знания в экспертную систему. Одной из наиболее сложных про­блем, (возникающих при создании экспертных систем, является пре-образ<|вание знаний эксперта и описания применяемых им способов поиски решений в форму, позволяющую представить их в базе зна­ний системы, а затем эффективно использовать для решения задач в данной предметной области.

Обычно эксперт не прибегает к процедурным или количествен­ным методам; его основные средства - аналогия, интуиция и абст­рагирование. Часто эксперт даже не может объяснить, как именно им было найдено решение. В лучшем случае вы получите от него лишь описание основных приемов или эвристик, которые помогли ему успешно справиться с задачей. На инженера знаний возлагается очень сложная работа по преобразованию этих описаний в строгую, полную и непротиворечивую систему, которая позволяла бы решать прикладные задачи не хуже, чем это сделал бы сам эксперт, посколь­ку процесс построения базы знаний плохо структурирован и по сво­ей природе является скорее циклическим, чем линейным.

Построение базы знаний включает три этапа:

описание предметной области;

выбор модели представления знаний (в случае использования оболочки этот этап исключается);

приобретение знаний.

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

определить характер решаемых задач;

выделить объекты предметной области;

установить связи между объектами;

выбрать модель представления знаний;

выявить специфические особенности предметной области.

Инженер знаний должен корректно сформулировать задачу. В то же время он должен уметь распознать, что задача не структурирова­на, и в этом случае воздержаться от попыток ее формализовать или применить систематические методы решения. Главная цель началь­ного этапа построения базы знаний — определить, как будет выглядеть описание предметной области на различных уровнях абстракА ции. Экспертная система включает базу знаний, которая создается путем формализации некоторой предметной области, а та, ц свою очередь, является результатом абстрагирования определенный сущ­ностей реального мира. I

Выделение предметной области представляет собой первый шаг абстрагирования реального мира.

После того как предметная область выделена, инженер/знаний должен ее формально описать. Для этого ему необходимо выбрать какой-либо способ представления знаний о ней (модель представле­ния знаний). Если в качестве инструментального средства определе­на оболочка (пустая ЭС), то модель представления знаний определя­ется выбранным средством. Формально инженер знаний должен воспользоваться той моделью, с помощью которой можно лучше всего отобразить специфику предметной области.

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

Инженер знаний прежде всего обязан провести опрос эксперта и только потом приступать к построению системы. Эксперт, безус­ловно, должен быть специалистом.в той области, в которой будет работать система. Первым делом необходимо определить целевое назначение системы. Какие, собственно, задачи предстоит решать системе, основанной на знаниях? Цели разработки системы следует сформулировать точно, полно и непротиворечиво.

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

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

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

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

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

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

Разработку системы, основанной на знаниях, рекомендуется проводить в следующей последовательности:

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

2. Определите точно цель решения задачи.

3. Вникните как можно глубже в существо задачи.

4. Установите подцели, разбив задачу на подзадачи.

5. Выявите специфические особенности предметной области.

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

7. Участвуя вместе с экспертом в решении нескольких приклад­ных задач, выявите приемы, которые он применяет. Подробно их опишите.

8. Выберите инструментальные средства, необходимые вам для создания системы. Этот выбор будет зависеть от типа решаемой задачи, ваших финансовых возможностей и сложности предметной области.

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

10. Приступите к созданию базы знаний. Выявите объекты пред­метной области, взаимосвязи между ними, виды иерархий, разбейте объекты на классы. Структурируйте базу знаний в соответствии с представлением эксперта о строении предметной области.

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

12. Разработайте документацию на систему.

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...