Дипломная работа: Разработка элективного курса "Основы искусственного интеллекта"
· модульность;
· единообразие структуры (основные компоненты продукционной системы могут применяться для построения интеллектуальных систем с различной проблемной ориентацией);
· естественность (вывод заключения в продукционной системе во многом аналогичен процессу рассуждений эксперта);
· гибкость родовидовой иерархии понятий, которая поддерживается только как связи между правилами (изменение правила влечет за собой изменение в иерархии).
Однако продукционные системы не свободны от недостатков:
· процесс вывода менее эффективен, чем в других системах, поскольку большая часть времени при выводе затрачивается на непроизводительную проверку применимости правил;
· этот процесс трудно поддается управлению;
· сложно представить родовидовую иерархию понятий.
Представление знаний с помощью продукций иногда называют «плоским», так как в продукционных системах отсутствуют средства для установления иерархии правил. Объем базы знаний продукционных систем растет линейно, по мере включения в нее новых фрагментов знаний, в то время как в традиционных алгоритмических системах, использующих деревья решений, зависимость между объемом базы знаний и количеством собственно знаний является логарифмической.
Логические модели
Логические модели представления знаний реализуются средствами логики предикатов.
Предикатом называется функция, принимающая только два значения — истина и ложь — и предназначенная для выражения свойств объектов или связей между ними. Выражение, в котором утверждается или отрицается наличие каких-либо свойств у объекта, называется высказыванием. Константы служат для именования объектов предметной области. Логические предложения или высказывания образуют атомарные формулы. Интерпретация предиката — это множество всех допустимых связываний переменных с константами. Связывание представляет собой подстановку констант вместо переменных. Предикат считается общезначимым, если он истинен на всех возможных интерпретациях. Говорят, что высказывание логически следует из заданных посылок, если оно истинно всегда, когда истинны посылки.
Наиболее простым языком логики является исчисление высказываний, в котором отсутствуют переменные. Любому высказыванию можно приписать значение истинно или ложно. Отдельные высказывания могут соединяться связками И, ИЛИ, НЕ, которые называются булевыми операторами. Основу исчисления высказываний составляют правила образования сложных высказываний из атомарных.
Здесь переменные обозначают логические высказывания, о которых можно сказать, что они истинны или ложны. Логические операторы имеются в большинстве языков программирования. Однако исчисление высказываний — недостаточно выразительное средство для обработки знаний, поскольку в нем не могут быть представлены предложения, включающие переменные с кванторами.
Исчисление предикатов с кванторами (логика предикатов) является расширением исчисления высказываний, в котором для выражения отношений между объектами предметной области могут использоваться предложения, включающие не только константы, но и переменные.
В общем случае модели, основанные на логике предикатов, описываются формальной системой, которая задается четверкой:
М = (Т, Р, А, П),
где Т — множество базовых элементов или алфавит формальной системы; Р — множество синтаксических правил, с помощью которых можно строить синтаксически корректные предложения; А — множество аксиом или некоторых синтаксически правильных предложений, заданных априорно; П — правила продукций (правила вывода или семантические правила), с помощью которых можно расширять множество А, добавляя в него синтаксически правильные предложения.
Главное преимущество логических моделей представления знаний заключается в возможности непосредственно запрограммировать механизм вывода синтаксически правильных высказываний. Примером такого механизма служит, в частности, процедура вывода, построенная на основе метода резолюций. Однако с помощью правил, задающих синтаксис языка, нельзя установить истинность или ложность того или иного высказывания. Причем это распространяется абсолютно на все языки. Высказывание может быть построено синтаксически правильно, но оказаться совершенно бессмысленным.
Логические модели представления и манипулирования знаниями были особенно популярны в 70-х годах. Тогда казалось, что с появлением языков программирования типа ПРОЛОГ процедуры логического вывода в исчислении предикатов будут достаточны для решения всех типов задач в интеллектуальных системах. Вместе с тем, по мере того как в поле зрения исследователей включались все новые интеллектуальные задачи, стало ясно, что говорить о доказательном выводе можно только в небольшом числе случаев, когда проблемная область, в которой решается задача, формально описана и полностью известна. Но большинство задач, где интеллект человека позволяет находить нужные решения, связано с областями, где знания принципиально неполны, неточны, некорректны и характеризуются еще немалым числом характеристик, начинающихся с частицы «не». При таких условиях речь может идти только о правдоподобном выводе, при котором окончательный результат получается лишь с некоторой оценкой уверенности в его истинности. Кроме того, специалисты, работающие в плохо формализованных областях (например, в медицине), рассуждают совсем не так, как представители точных наук. Для них весомым аргументом в пользу принятия какого-либо положения может быть мнение ряда признанных в этих областях авторитетов или, например, сходство доказываемого положения с другим, для которого решение уже известно. Поэтому дальнейшее развитие баз знаний пошло по пути работ в области индуктивных логик, логик «здравого смысла», логик веры и других логических систем, имеющих мало общего с классической математической логикой.
Фреймы
Фрейм чаще всего определяют как структуру данных для представления стереотипных ситуаций. Модель представления знаний на основе фреймов использует концепцию организации памяти, понимания и обучения человека, предложенную М. Минским (1979). Фрейм (дословно — «рамка») — это единица представления знаний, детали которой могут изменяться в соответствии с текущей ситуацией. Фрейм в любой момент может быть дополнен различной информацией, касающейся способов применения данного фрейма, последствий этого применения и т. п.
Структура фрейма состоит из характеристик описываемой стереотипной ситуации и их значений, которые называются, соответственно, слотами и заполнителями слотов.
Имя фрейма:
Имя первого слота, значение первого слота
Имя второго слота, значение второго слота
Имя К-го слота, значение К-го слота
Незаполненный фрейм называется протофреймом, а заполненный — экзофреймом. Роль протофрейма как оболочки в экзофрейме весьма важна. Эта оболочка позволяет осуществлять процедуру внутренней интерпретации, благодаря которой данные в памяти системы не безлики, а имеют вполне определенный, известный системе смысл.
Слот может содержать не только конкретное значение, но и имя процедуры, позволяющей вычислить его по заданному алгоритму, а также одну или несколько продукций (эвристик), с помощью которых это значение определяется. В слот может входить не одно, а несколько значений. Иногда этот слот включает компонент, называемый фасетом, который задает диапазон или перечень его возможных значений. Фасет указывает также граничные значения заполнителя слота.