Способы представления знаний- логические модели
Логические модели.
Мышление связано с решением какой-либо проблемы. Формализация мысли сводится к построению математической формы – например,логической, с использованием четко-выделенных объектов мышления. Решение проблемы связано с необходимостью делать логический вывод. Решение проблемы – это цепочка логических построений . Дж. Пирс в качестве методов логического вывода называет метод дедукции, индукции, метод построения гипотез.
Логические модели строятся на основе логики высказываний и исчисления предикатов []. Логика высказываний используется для решения логических задач алгебраическим методом. Каждое утвердительное предложение называется высказыванием. Высказывание рассматривается как истинное или ложное. Над высказыванием можно выполнять логические операции. Примеры высказываний; “Сигналы поступают на шину адреса”, ”Студенты сдают экзамен”. Из простых высказываний строятся составные, используя логические связки (и, или, не). Выражения, которые представляются простыми и сложными высказываниями образуют формулу. Идея решения задач с использованием логики высказывания состоит в том, чтобы сначала описать ситуацию, используя формулы логики высказывания, а затем доказать общезначимость или противоречивость всей совокупности этих формул. Общезначимая формула истинна при всех интерпретациях, а противоречивая – ложна при всех толкованиях.
Простые высказывания | Иванов студент. Студент сдает экзамен. | (А) (В) |
Сложное высказывание | Если Иванов студент То Иванов сдает экзамен | (А®В) |
Чтобы удовлетворительно описать предметную область, для обозначения различных объектов вводятся переменные.
Для создания логических моделей можно использовать формулы логики предикатов 1-го порядка [].
Предикат – это логическая функция, которая состоит их предикатного символа и упорядоченного множества аргументов. Предикатный символ используется для представления отношений между объектами.
В отличие от логики высказываний число интерпретаций этой формулы велико.
Задача записывается как набор высказываний, отношений между высказываниями и правил вывода одних высказываний из других. Далее проверяется истинность исходных высказываний.
Для представления информации можно использовать конструкции языка Пролог.
Правило на языке высказываний: 1 .Иванов — студент. 2. Студенты сдают экзамены. 3. Вывод: Иванов сдает экзамен. | Правило на языке Пролог: сдает_экзамен (X):– student (X). student (“Иванов”). |
Способы представления знаний — семантические сети.
Семантические сети.
При разработке ЭС для графического представления знаний могут использоваться семантические сети. Семантический подход – попытка воспроизвести графически сложные ассоциации, которые возникают у человека при обмене мыслями, это метод организации сложных массивов знаний. Сеть состоит из узлов, изображаемых окружностями, и соединяющих их линиями со стрелками. В узлах располагаются объекты, понятия и события, а связи между узлами указывают на природу взаимозависимостей. Итак, семантическая сеть — это соединение узлов знаний. При логическом выводе, который использует такую сеть, свойства, которыми обладает объект, указанный в вышестоящих узлах через связи наследует свойства заключенные в нижестоящих узлах. Семантическую сеть можно использовать для задания структур и объектов, а также для создания правил БЗ. Семантическая сеть представляющая фрагмент базы знаний приведена на рис. 3.2.
|
рис.3.2. Семантическая сеть, отражающая взаимоотношения между атрибутами микропроцессора и программы.
Можно создать объект, для этого разрабатываем структуру, описывающую все объекты с общим названием МИКРОПРОЦЕССОР.
СОЗДАТЬ_СТРУКТУРУ (имя = микропроцессор,
атрибут = система команд,
атрибут = выполнять программу)
На основе этой структуры можно создать объект и ряд правил
ТО объект= микропроцессор
Чем чаще используется слово, тем более оно семантически значимо.
Источник
Логическая модель представления знаний
Декларативные и процедурные знания
Любая предметная область характеризуется своим набором понятий и связей между ними, своими законами, связывающими между собой объекты данной предметной области, своими процессами, событиями. Знания о предметной области и способах решения в ней задач весьма разнообразны. Возможны различные классификации этих знаний.
В общем случае знания подразделяются на:
— Процедурные знания описывают последовательности действий, которые могут использоваться при решении задач.Это,например,
программы для ЭВМ, словесные записи алгоритмов, инструкция по сборке некоторого изделия.
— Декларативные знания — это все знания, не являющиеся процедурными, например статьи в толковых словарях и
энциклопедиях, формулировки законов в физике, химии и других науках и т.п.В отличие от процедурных знаний,отвечающих навопрос: «Как сделать X?», декларативные знания отвечают, скорее, на вопросы: «Что есть X?» или «Какие связи имеются между Х и Y?», «Почему X?» и т.д.
Языки представления знаний можно разделить на типы по формальным моделям представления знаний, которые лежат в их основе:
Логическая модель представления знаний
Логическая модель представляет собой формальную систему в которой все знания о предметной области описываются в виде формул этого исчисления или правил вывода. Описание в виде формул дает возможность представить декларативные знания, а правила вывода — процедурные знания.
Логическая модель знаний строится на базе предикатов.
Предикатом называется функция, принимающая два значения ИСТИНА и ЛОЖЬ – и предназначенная для выражения свойств объекта или связей между ними.
Имена предикатов неделимы, т.е. являются так называемыми атомами. Аргументы могут быть атомами или функциями f(x1, x2, . xm), где f – имя функции, а x1, x2, . xm, так же как и аргументы предикатов являются переменными или константами предметной области .
Например, предикат «отец («Иван», «Петр Иванович»)» может означать, что сущности «Иван» и «Петр Иванович» связаны родственным отношением, а именно, последний является отцом Ивана.
Предикат «компьютер (память, клавиатура, процессор, монитор)» может обозначать понятие «компьютер» как отношение, связывающее между собой составные части компьютера, предикат «внутри (процессор_Pentium, компьютер)» – то, что внутри компьютера находится процессор Pentium.
При записи формул (выражений) помимо логических связок «конъюнкция» (&), «дизъюнкция» (∨), «отрицание» (), «следование» («импликация») (→) , заимствованных из логики высказываний, в логике предикатов используются кванторы всеобщности (∀) и существования (∃) [3].
означает, что для всех значений x, y, z из предметной области справедливо утверждение «если y – отец и z – мать x, то y и z – родители x».
означает, что существует хотя бы один студент, который работает в должности инженера.
Переменные при кванторах называются связанными переменными в отличии от свободных переменных [3]. Например, в выражении
(∀x) (владелец (x, y) → частная_собственность(y) ), x –связанная переменная, y –свободная переменная.
Примером логического знания формализованного в виде логики предикатов высших порядков является знание: «Когда температура в печи достигает 120 0 и прошло менее 30 мин с момента включения печи, давление не может превосходить критическое. Если с момента включения печи прошло более 30 мин, то необходимо открыть вентиль №2».
Логическая модель представления этого знания имеет вид:
Первая строчка в записи представляет декларативные знания, а вторая
Решение задач в логике предикатов сводится к доказательству целевого утверждения в виде формулы или предиката (теоремы), используя известные утверждения (формулы) или аксиомы.
Языки представлений знаний логического типа широко использовались на ранних стадиях развития интеллектуальных систем, но вскоре были вытеснены (или во всяком случае сильно потеснены) языками других типов. Объясняется это громоздкостью записей, опирающихся на классические логические исчисления. При формировании таких записей легко допустить ошибки, а поиск их очень сложен. Отсутствие наглядности, удобочитаемости (особенно для тех, чья деятельность не связана с точными науками) затрудняло распространение языков такого типа.
Дата добавления: 2017-08-01 ; просмотров: 1704 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
Источник
1.3.Представление знаний в интеллектуальных системах
Человек одновременно использует самые различные методы представления знаний: языковое описание, графическая информация, математические формулы и т.д. В зависимости от специфики той или иной области деятельности один или несколько видов описания будут превалировать над остальными. Например, в математике формулы и графики будут преобладать над текстовой информацией, в юриспруденции доминирует текстовая информация, в искусствоведении преобладает текстовая и графическая информация. В случае выбора средств представления знаний в технических системах такой универсализм представления знаний невозможен, поскольку потребует аппаратной и программной реализации интеллектуальных функций, недостижимых в настоящее время. Поэтому, существует несколько базовых специализированных машинных языков представления знаний, каждый из которых наиболее предпочтителен для той или иной предметной области [10] — [14] .
1) Язык продукционных правил.
Продукционные правила – это правила, имеющие форму: ЕСЛИ «Условие» – ТО «Событие». Продукционные правила описывают знания в виде взаимосвязей типа: «причина» – «следствие», «явление» – «реакция», «признак» – «факт» и.т.п. Конкретизация продукционных правил меняется в зависимости от сущности представляемых знаний.
- ЕСЛИ «Температура в реакторе превышает 120 ° C » ТО «Снизить подачу топлива на 5%»;
- ЕСЛИ «Вышел из строя вентилятор кондиционера» ТО «Температура в помещении повышается»;
Продукционное представление знаний с человеческой точки зрения является прямым описанием логических выводов при решении конкретных задач. Совокупность знаний о конкретной предметной области в этом случае представляется соответствующим набором продукционных правил, который образует базу знаний. При построении продукционных правил допустимо использование логических операторов И, ИЛИ, например:
- ЕСЛИ «Температура в реакторе превышает 120 ° C » И «Температура хладагента превышает 90 ° C » ТО «Прекратить подачу топлива»;
- ЕСЛИ «Температура в реакторе превышает 90 ° C » ИЛИ «Температура хладагента превышает 60 ° C » ТО «Снизить подачу топлива на 40%».
Недостатком языка продукционных правил можно считать отсутствие явных связей между правилами и целями, к достижению которых необходимо стремится. Таким образом, для активизации одного из продукционных правил необходимо проверка всей продукционной базы знаний, что при больших объемах информации приводит к существенным затратам временных и технических ресурсов интеллектуальной системы. Возможность решения этой проблемы заключается в разработке перспективных продукционных баз знаний, в которых одни продукционные правила могут активировать и дезактивировать другие продукционные правила, влияя на количество перебираемых правил в текущем цикле и, следовательно, на выбор пути достижения цели управления.
Отличительной чертой и основным преимуществом продукционной базы знаний является простота анализа, дополнения, модификации и аннулирования определенных продукционных правил. Помимо этого, представление знаний в таком синтаксически однотипном виде существенно облегчает техническую реализацию системы использования знаний. Вследствие этого в настоящее время продукционные базы знаний получили наибольшее распространение в интеллектуальных технических системах.
2) Язык семантических сетей.
Знаниями можно назвать описания отношений между абстрактными понятиями и сущностями, являющимися конкретными объектами реального мира. Изначально семантические сети разрабатывались как модели долговременной человеческой памяти в психологии, но впоследствии эта модель перекочевала в инженерию знаний. В семантической сети абстрактные понятия и отношения между ними описываются в виде узлов и дуг. Сущности и понятия в такой сети являются узлами, а отношения между ними – дугами. Атрибуты семантических сетей можно разделить на лингвистические (объект, условие, место, инструмент, цель и т.п.), атрибутивные (форма, размер, цвет и т.п.), характеристические (род, время, наклонение и т.п.), логические (да, нет, отрицание, объединение и т.п.).
Рис.1.5. Семантическое представление знаний биолога
Допустим, фрагмент знаний ихтиолога о биологии рыб можно описать следующей семантической сетью (рис.1.5). В качестве другого примера рассмотрим представление знаний, содержащихся в высказывании: «Робот сверлит отверстие в детали с помощью сверла 10» (рис.1.6).
Рис.1.6. Семантическое представление технического знания
Недостаток семантических сетей – дублирование информации при построении сетей и смешение групп знаний, относящихся к различным ситуациям. Например, семантическая сеть, представленная на рис.1.5, имеет дубляж понятия «море», а отношение «температура» может использоваться не только для описания среды обитания животных. Выходом из данной ситуации стала наметившаяся в последнее время тенденция к построению разделенных семантических сетей.
Основным преимуществом семантических сетей является то, что они имитируют понимание и использование человеком естественного языка, что позволяет применять их при техническом моделировании рассуждений, доказательстве теорем, построении незаданных явно причинно-следственных связей и лингвистических конструкций, т.е. семантические сети позволяют реализовать устройства, имитирующие мыслительные акты более высокого уровня по сравнению с продукционными правилами. Представление знаний в виде семантических сетей широко используется в интеллектуальных системах интерпретации естественного языка и автоматического машинного перевода, в диалоговых вопросно-ответных системах естественного человеко-машинного общения, в блоках логической интерпретации систем технического зрения.
3) Язык логики предикатов.
Логика предикатов является разделом математики – математической логикой, имеющей большую историю. Данная область математики традиционно составляла математический фундамент, закладываемый в основу формального описания систем. В качестве примера построения и вывода знаний на языке логики предикатов достаточно привести известный силлогизм Сократа: Все люди – смертны, человек – один из людей, Сократ – человек, следовательно Сократ – смертен.
Основные положения логики предикатов заключаются в следующем. Допустим, имеется некоторое множество объектов, составляющих предметную область, знания о которой необходимо описать. Произвольные элементы этого множества называются предметными переменными x i , а конкретные элементы этого множества, называются предметными константами y i . Выражение P x 1 , x 2 , … , x n , зависящее от предметных переменных и принимающее значение «0»-(ложь) или «1»-(истина), называется логической функцией или предикатом. Выражение P y 1 , y 2 , … , y m , зависящее от предметных констант и принимающее значение «0»-(ложь) или «1»-(истина), называется элементарной формулой. Из элементарных формул с помощью логических связок « ∧ »-(И), « ∨ »-(ИЛИ), « ¬ »-(отрицание), « -(импликация), « ↔ »-(эквивалентность) строятся предикатные формулы. Помимо логических связок в рассмотрение вводят квантор общности и квантор существования « ∃ ». Знания о конкретной предметной области будут описываться предикатами и предикатными формулами. Для организации логического вывода « ↦ »-(символ выводимости) на языке логики предикатов используются различные правила. Например, правило Moduspones ( A → B , A ↦ B ) – если из A следует B и если A является логически непротиворечивой предикатной формулой, то B также является логически непротиворечивой предикатной формулой. В качестве примера рассмотрим основной набор базовых действий и производных правил поведения транспортного робота-тележки, записанные на языке исчисления предикатов:
A — «накопитель готовых деталей около станка пуст»;
B -«тележка транспортного робота пуста»;
C -«освободить накопитель готовых деталей около станка»;
D -«перейти к следующему станку»;
E -«отвезти детали на склад, освободить тележку робота»;
F -«вернуться к текущему станку»;
Основной недостаток языка логики предикатов при представлении знаний состоит в ограниченной выразимости, поскольку существует множество фактов и взаимосвязей, которые тяжело или даже невозможно выразить средствами математической логики. Например, такое логичное с точки зрения человека умозаключение, как «Человек колет дрова топором, топор – острый, следовательно человеку колоть дрова легко», на языке логики предикатов непредставимо, поскольку содержит так называемый сценарный, а не логический вывод.
Преимущество логики предикатов при представлении знаний заключается в том, что данный способ обладает хорошо развитым и понятным математическим аппаратом. Логика предикатов всесторонне исследована как формальная система. Синтаксис и интерпретация логических функций, элементарных и предикатных формул, правил логического вывода образуют единую стройную теорию математической логики. Это позволяет легко программировать различные операции над знаниями, в том числе логический вывод новых знаний на основе имеющихся знаний. Язык логики предикатов почти так же популярен в технических системах, как и язык продукционных правил, который можно рассматривать как упрощенный язык логики предикатов. Действительно, базовая конструкция языка продукционных правил: ЕСЛИ «причина»/«условие» ТО «следствие»/«действие», по сути является всего лишь одной из логических связок языка логики предикатов – импликацией A → B (из A следует B ). Однако, в отличие от языка логики предикатов, язык продукционных правил обладает одним существенным преимуществом – полной независимостью элементов базы знаний, поскольку отдельные продукционные правила логически не связаны между собой. Это, несмотря на некоторые осложнения при обработке знаний, обусловленные опасностью нарушения их целостности и непротиворечивости, позволяет языку продукционных правил охватить больший круг различных предметных областей за счет возможности описания знаний, опирающихся не на логические, а на традуктивные и сценарные выводы [1] , [10] , [13] . Поэтому по частоте использования в интеллектуальных системах язык логики предикатов на данный момент все таки немного уступает языку продукционных правил.
Фреймовая система представления знаний является моделью описания человеческих знаний в виде связанной совокупности крупных структурных единиц, каждая из которых содержит данные, описывающие определенную ситуацию. Во фреймовой системе единицей представления является объект, называемый фреймом. Фрейм содержит совокупность некоторых понятий и сущностей, с помощью которой можно описать конкретную ситуацию. Фрейм имеет уникальное имя и внутреннюю структуру, состоящую из множества упорядоченных элементов – слотов. Каждый слот имеет уникальное в пределах своего фрейма имя и содержит определенную информацию. Таким образом, каждый фрейм это структура данных, описывающая определенную ситуацию, место, объект и т.п. Структура данных внутри фрейма может иметь различный вид: граф, таблица и т.п., а также может представлять комбинацию различных способов представлений данных. Фреймы могут быть связаны между собой посредством своих слотов и образовывать иерархические структуры. Например, в системе технического зрения, имеющей три пары независимо пространственно ориентированных датчиков, составная арка может быть представлена в виде следующего фрейма (рис.1.7):
Рис.1.7. Фрейм, описывающий различные ракурсы обзора арки.
Описание арки таким фреймом, позволяет распознавать арку и ее ориентацию в системах технического зрения. Допустим, система технического зрения оценивает панораму арки при виде сверху. Результат оценки – «А». Далее система начинает сличать оценку «А» со значениями различных слотов в различных фреймах и составлять список фреймов- кандидатов на идентификацию детали. Результатом отбора будут описывающие различные конструкции фреймы, содержащие слот со значением «А». Системе остается изменить угол зрения, оценить новую панорамную картину и сузить список фреймов, проверяя на соответствие новому значению слоты первоначально отобранных фреймов. К примеру, фрейм – балка выпадет из списка после первой же процедуры отсева, поскольку как балку не крути, результат оценки панорамы всегда будет – «А». Последовательно повторяя этот процесс, можно идентифицировать деталь абсолютно точно (по всем шести ракурсам) или с определенной степенью вероятности (если ракурсов анализа меньше). Машина может идти и по другому пути анализа: не составлять список фреймов-кандидатов, а остановиться на первом попавшемся подходящем фрейме и провести сравнительную оценку всех ракурсов детали с соответствующими слотами фрейма. Если хотя бы один из слотов текущего фрейма противоречит оценке панорамы, то анализу подвергается фрейм-аналог и т.д., пока при движении по цепочке фреймов не будет достигнуто совпадение всех ракурсов, или их наибольшего числа.
Недостатком фреймовой системы является то, что иерархическая сеть знаний с перекрестными ссылками пригодна для решения сравнительно простых проблем, поскольку при расширении проблемной области фреймовая сеть имеет свойство разрастаться до значительных размеров. Проблемы поиска решения в таких сетях становятся трудноразрешимыми, поскольку связи между фреймами в сетях, описывающих объемные знания, как правило, неоднозначны и устанавливаются по нескольким слотам. Кроме того, фреймовые сети менее приспособлены к адаптации, так как внесение новых фреймов и измерение слотов в имеющихся фреймах может повлечь противоречия и зацикливания в ссылках при движении по иерархической структуре фреймовой сети.
Достоинством фреймового языка представления знаний является то, что он предоставляет пользователю большую свободу при описании знаний, так как допускает различные способы описания данных в пределах одного фрейма. Благодаря этому, фреймовые системы можно отнести к самым универсальным системам описания знаний. Однако ограничение сложности решаемых на основе таких систем проблем пока не позволяет фреймовым системам доминировать при разработке интеллектуальных систем.
Источник