Смекни!
smekni.com

Разработка элективного курса "Основы искусственного интеллекта" (стр. 3 из 12)

Продукции по сравнению с другими формами представления знаний имеют сле­дующие преимущества:

· модульность;

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

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

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

Однако продукционные системы не свободны от недостатков:

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

· этот процесс трудно поддается управлению;

· сложно представить родовидовую иерархию понятий.

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

Логические модели

Логические модели представления знаний реализуются средствами логики пре­дикатов.

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

Наиболее простым языком логики является исчисление высказываний, в котором отсутствуют переменные. Любому высказыванию можно приписать значение истинно или ложно. Отдельные высказывания могут соединяться связками И, ИЛИ, НЕ, которые называются булевыми операторами. Основу исчисления выс­казываний составляют правила образования сложных высказываний из атомар­ных.

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

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

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

М = (Т, Р, А, П),

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

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

Логические модели представления и манипулирования знаниями были особен­но популярны в 70-х годах. Тогда казалось, что с появлением языков программи­рования типа ПРОЛОГ процедуры логического вывода в исчислении предика­тов будут достаточны для решения всех типов задач в интеллектуальных системах. Вместе с тем, по мере того как в поле зрения исследователей включались все новые интеллектуальные задачи, стало ясно, что говорить о доказательном выводе можно только в небольшом числе случаев, когда проблемная область, в которой реша­ется задача, формально описана и полностью известна. Но большинство задач, где интеллект человека позволяет находить нужные решения, связано с областя­ми, где знания принципиально неполны, неточны, некорректны и характеризу­ются еще немалым числом характеристик, начинающихся с частицы «не». При таких условиях речь может идти только о правдоподобном выводе, при ко­тором окончательный результат получается лишь с некоторой оценкой уверен­ности в его истинности. Кроме того, специалисты, работающие в плохо форма­лизованных областях (например, в медицине), рассуждают совсем не так, как представители точных наук. Для них весомым аргументом в пользу принятия какого-либо положения может быть мнение ряда признанных в этих областях авторитетов или, например, сходство доказываемого положения с другим, для которого решение уже известно. Поэтому дальнейшее развитие баз знаний по­шло по пути работ в области индуктивных логик, логик «здравого смысла», ло­гик веры и других логических систем, имеющих мало общего с классической ма­тематической логикой.

Фреймы

Фрейм чаще всего определяют как структуру данных для представления стерео­типных ситуаций. Модель представления знаний на основе фреймов использует концепцию организации памяти, понимания и обучения человека, предложен­ную М. Минским (1979). Фрейм (дословно — «рамка») — это единица представ­ления знаний, детали которой могут изменяться в соответствии с текущей ситу­ацией. Фрейм в любой момент может быть дополнен различной информацией, касающейся способов применения данного фрейма, последствий этого примене­ния и т. п.

Структура фрейма состоит из характеристик описываемой стереотипной ситуации и их значений, которые называются, соответственно, слотами и заполнителями слотов.

Имя фрейма:

Имя первого слота, значение первого слота

Имя второго слота, значение второго слота

Имя К-го слота, значение К-го слота

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

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

Как уже отмечалось, помимо конкретного значения в слоте могут храниться процедуры и правила, которые вызываются при необходимости вычисления это­го значения. Среди них выделяют процедуры-демоны и процедуры-слуги. Первые запускаются автоматически при выполнении некоторого условия, а вторые ак­тивизируются только по специальному запросу. Если, например, фрейм, описы­вающий человека, включает слоты ДАТА РОЖДЕНИЯ и ВОЗРАСТ и в первом из них находится некоторое значение, то во втором слоте может стоять имя про­цедуры-демона, вычисляющей возраст по дате рождения и текущей дате и акти­визирующейся при каждом изменении текущей даты.

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

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

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