1.3.Представление знаний в интеллектуальных системах
Человек одновременно использует самые различные методы представления знаний: языковое описание, графическая информация, математические формулы и т.д. В зависимости от специфики той или иной области деятельности один или несколько видов описания будут превалировать над остальными. Например, в математике формулы и графики будут преобладать над текстовой информацией, в юриспруденции доминирует текстовая информация, в искусствоведении преобладает текстовая и графическая информация. В случае выбора средств представления знаний в технических системах такой универсализм представления знаний невозможен, поскольку потребует аппаратной и программной реализации интеллектуальных функций, недостижимых в настоящее время. Поэтому, существует несколько базовых специализированных машинных языков представления знаний, каждый из которых наиболее предпочтителен для той или иной предметной области [10]-[14].
1) Язык продукционных правил.
Продукционные правила – это правила, имеющие форму: ЕСЛИ «Условие» – ТО «Событие». Продукционные правила описывают знания в виде взаимосвязей типа: «причина» – «следствие», «явление» – «реакция», «признак» – «факт» и.т.п. Конкретизация продукционных правил меняется в зависимости от сущности представляемых знаний.
Например:
- ЕСЛИ «Температура в реакторе превышает » ТО «Снизить подачу топлива на 5%»;
- ЕСЛИ «Вышел из строя вентилятор кондиционера» ТО «Температура в помещении повышается»;
Продукционное представление знаний с человеческой точки зрения является прямым описанием логических выводов при решении конкретных задач. Совокупность знаний о конкретной предметной области в этом случае представляется соответствующим набором продукционных правил, который образует базу знаний. При построении продукционных правил допустимо использование логических операторов И, ИЛИ, например:
- ЕСЛИ «Температура в реакторе превышает » И «Температура хладагента превышает » ТО «Прекратить подачу топлива»;
- ЕСЛИ «Температура в реакторе превышает » ИЛИ «Температура хладагента превышает » ТО «Снизить подачу топлива на 40%».
Недостатком языка продукционных правил можно считать отсутствие явных связей между правилами и целями, к достижению которых необходимо стремится. Таким образом, для активизации одного из продукционных правил необходимо проверка всей продукционной базы знаний, что при больших объемах информации приводит к существенным затратам временных и технических ресурсов интеллектуальной системы. Возможность решения этой проблемы заключается в разработке перспективных продукционных баз знаний, в которых одни продукционные правила могут активировать и дезактивировать другие продукционные правила, влияя на количество перебираемых правил в текущем цикле и, следовательно, на выбор пути достижения цели управления.
Отличительной чертой и основным преимуществом продукционной базы знаний является простота анализа, дополнения, модификации и аннулирования определенных продукционных правил. Помимо этого, представление знаний в таком синтаксически однотипном виде существенно облегчает техническую реализацию системы использования знаний. Вследствие этого в настоящее время продукционные базы знаний получили наибольшее распространение в интеллектуальных технических системах.
2) Язык семантических сетей.
Знаниями можно назвать описания отношений между абстрактными понятиями и сущностями, являющимися конкретными объектами реального мира. Изначально семантические сети разрабатывались как модели долговременной человеческой памяти в психологии, но впоследствии эта модель перекочевала в инженерию знаний. В семантической сети абстрактные понятия и отношения между ними описываются в виде узлов и дуг. Сущности и понятия в такой сети являются узлами, а отношения между ними – дугами. Атрибуты семантических сетей можно разделить на лингвистические (объект, условие, место, инструмент, цель и т.п.), атрибутивные (форма, размер, цвет и т.п.), характеристические (род, время, наклонение и т.п.), логические (да, нет, отрицание, объединение и т.п.).
Рис.1.5. Семантическое представление знаний биолога
Допустим, фрагмент знаний ихтиолога о биологии рыб можно описать следующей семантической сетью (рис.1.5). В качестве другого примера рассмотрим представление знаний, содержащихся в высказывании: «Робот сверлит отверстие в детали с помощью сверла 10» (рис.1.6).
Рис.1.6. Семантическое представление технического знания
Недостаток семантических сетей – дублирование информации при построении сетей и смешение групп знаний, относящихся к различным ситуациям. Например, семантическая сеть, представленная на рис.1.5, имеет дубляж понятия «море», а отношение «температура» может использоваться не только для описания среды обитания животных. Выходом из данной ситуации стала наметившаяся в последнее время тенденция к построению разделенных семантических сетей.
Основным преимуществом семантических сетей является то, что они имитируют понимание и использование человеком естественного языка, что позволяет применять их при техническом моделировании рассуждений, доказательстве теорем, построении незаданных явно причинно-следственных связей и лингвистических конструкций, т.е. семантические сети позволяют реализовать устройства, имитирующие мыслительные акты более высокого уровня по сравнению с продукционными правилами. Представление знаний в виде семантических сетей широко используется в интеллектуальных системах интерпретации естественного языка и автоматического машинного перевода, в диалоговых вопросно-ответных системах естественного человеко-машинного общения, в блоках логической интерпретации систем технического зрения.
3) Язык логики предикатов.
Логика предикатов является разделом математики – математической логикой, имеющей большую историю. Данная область математики традиционно составляла математический фундамент, закладываемый в основу формального описания систем. В качестве примера построения и вывода знаний на языке логики предикатов достаточно привести известный силлогизм Сократа: Все люди – смертны, человек – один из людей, Сократ – человек, следовательно Сократ – смертен.
Основные положения логики предикатов заключаются в следующем. Допустим, имеется некоторое множество объектов, составляющих
предметную область, знания о которой необходимо описать. Произвольные элементы этого множества называются предметными переменными
, а конкретные элементы этого множества, называются предметными константами
. Выражение
, зависящее от предметных переменных и принимающее значение «0»-(ложь) или «1»-(истина), называется логической функцией или
предикатом. Выражение
, зависящее от предметных констант и принимающее значение «0»-(ложь) или «1»-(истина), называется элементарной формулой. Из
элементарных формул с помощью логических связок «
»-(И), «
»-(ИЛИ), «
»-(отрицание), «
- «накопитель готовых деталей около станка пуст»;
-«тележка транспортного робота пуста»;
-«освободить накопитель готовых деталей около станка»;
-«перейти к следующему станку»;
-«отвезти детали на склад, освободить тележку робота»;
-«вернуться к текущему станку»;
;
;
.
Основной недостаток языка логики предикатов при представлении знаний состоит в ограниченной выразимости, поскольку существует множество фактов и взаимосвязей, которые тяжело или даже невозможно выразить средствами математической логики. Например, такое логичное с точки зрения человека умозаключение, как «Человек колет дрова топором, топор – острый, следовательно человеку колоть дрова легко», на языке логики предикатов непредставимо, поскольку содержит так называемый сценарный, а не логический вывод.
Преимущество логики предикатов при представлении знаний заключается в том, что данный способ обладает хорошо развитым и понятным математическим аппаратом. Логика предикатов всесторонне исследована как формальная система. Синтаксис и интерпретация логических функций, элементарных и предикатных формул, правил логического вывода образуют единую стройную теорию математической логики. Это позволяет легко программировать различные операции над знаниями, в том числе логический вывод новых знаний на основе имеющихся знаний. Язык логики предикатов почти так же популярен в технических системах, как и язык продукционных правил, который можно рассматривать как упрощенный язык логики предикатов. Действительно, базовая конструкция языка продукционных правил: ЕСЛИ «причина»/«условие» ТО «следствие»/«действие», по сути является всего лишь одной из логических связок языка логики предикатов – импликацией (из следует ). Однако, в отличие от языка логики предикатов, язык продукционных правил обладает одним существенным преимуществом – полной независимостью элементов базы знаний, поскольку отдельные продукционные правила логически не связаны между собой. Это, несмотря на некоторые осложнения при обработке знаний, обусловленные опасностью нарушения их целостности и непротиворечивости, позволяет языку продукционных правил охватить больший круг различных предметных областей за счет возможности описания знаний, опирающихся не на логические, а на традуктивные и сценарные выводы [1], [10], [13]. Поэтому по частоте использования в интеллектуальных системах язык логики предикатов на данный момент все таки немного уступает языку продукционных правил.
4) Язык фреймов.
Фреймовая система представления знаний является моделью описания человеческих знаний в виде связанной совокупности крупных структурных единиц, каждая из которых содержит данные, описывающие определенную ситуацию. Во фреймовой системе единицей представления является объект, называемый фреймом. Фрейм содержит совокупность некоторых понятий и сущностей, с помощью которой можно описать конкретную ситуацию. Фрейм имеет уникальное имя и внутреннюю структуру, состоящую из множества упорядоченных элементов – слотов. Каждый слот имеет уникальное в пределах своего фрейма имя и содержит определенную информацию. Таким образом, каждый фрейм это структура данных, описывающая определенную ситуацию, место, объект и т.п. Структура данных внутри фрейма может иметь различный вид: граф, таблица и т.п., а также может представлять комбинацию различных способов представлений данных. Фреймы могут быть связаны между собой посредством своих слотов и образовывать иерархические структуры. Например, в системе технического зрения, имеющей три пары независимо пространственно ориентированных датчиков, составная арка может быть представлена в виде следующего фрейма (рис.1.7):
Рис.1.7. Фрейм, описывающий различные ракурсы обзора арки.
Описание арки таким фреймом, позволяет распознавать арку и ее ориентацию в системах технического зрения. Допустим, система технического зрения оценивает панораму арки при виде сверху. Результат оценки – «А». Далее система начинает сличать оценку «А» со значениями различных слотов в различных фреймах и составлять список фреймов- кандидатов на идентификацию детали. Результатом отбора будут описывающие различные конструкции фреймы, содержащие слот со значением «А». Системе остается изменить угол зрения, оценить новую панорамную картину и сузить список фреймов, проверяя на соответствие новому значению слоты первоначально отобранных фреймов. К примеру, фрейм – балка выпадет из списка после первой же процедуры отсева, поскольку как балку не крути, результат оценки панорамы всегда будет – «А». Последовательно повторяя этот процесс, можно идентифицировать деталь абсолютно точно (по всем шести ракурсам) или с определенной степенью вероятности (если ракурсов анализа меньше). Машина может идти и по другому пути анализа: не составлять список фреймов-кандидатов, а остановиться на первом попавшемся подходящем фрейме и провести сравнительную оценку всех ракурсов детали с соответствующими слотами фрейма. Если хотя бы один из слотов текущего фрейма противоречит оценке панорамы, то анализу подвергается фрейм-аналог и т.д., пока при движении по цепочке фреймов не будет достигнуто совпадение всех ракурсов, или их наибольшего числа.
Недостатком фреймовой системы является то, что иерархическая сеть знаний с перекрестными ссылками пригодна для решения сравнительно простых проблем, поскольку при расширении проблемной области фреймовая сеть имеет свойство разрастаться до значительных размеров. Проблемы поиска решения в таких сетях становятся трудноразрешимыми, поскольку связи между фреймами в сетях, описывающих объемные знания, как правило, неоднозначны и устанавливаются по нескольким слотам. Кроме того, фреймовые сети менее приспособлены к адаптации, так как внесение новых фреймов и измерение слотов в имеющихся фреймах может повлечь противоречия и зацикливания в ссылках при движении по иерархической структуре фреймовой сети.
Достоинством фреймового языка представления знаний является то, что он предоставляет пользователю большую свободу при описании знаний, так как допускает различные способы описания данных в пределах одного фрейма. Благодаря этому, фреймовые системы можно отнести к самым универсальным системам описания знаний. Однако ограничение сложности решаемых на основе таких систем проблем пока не позволяет фреймовым системам доминировать при разработке интеллектуальных систем.