Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лещинский Б.С. 2ой семестр.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
240.13 Кб
Скачать

Представление знаний

1 Виды знаний и модели их представления

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

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

  1. логическая модель

  2. продукционная модель

  3. семантическая модель

  4. фреймовая модель

Любая модель представления знаний является специальным языком с присущими ему определенными синтаксисом и семантикой. В любом языке должны быть определены:

  1. множество знаков, которые допустимо использовать (алфавит)

  2. множество синтаксических правил определения слов через знаковые последовательности и образование предложений и слов

  3. множество семантических правил, определяющих смысл знаков, слов и предложений

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

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

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

Логическая модель

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

1) Синтаксис

Определим множество знаков, которые допустимо использовать в языке предикатов. Знак – условное обозначение какого-либо понятия предметной области. Они могут состоять как из одного символа (х, у и т.д.), так и из группы символов (например, Петя, Начальник). Это множество знаков называется алфавитом. В нем присутствуют:

1) Знаки обозначающие объекты предметной области (константы и переменные). Константы это конкретные объекты, а переменные используются для записи утверждений относящихся ко всем объектам или к некоторым из них, когда неизвестно или неважно к каким именно.

2) Знаки, обозначающие свойства, атрибуты объектов, а также отношения истинности между объектами (предикатные знаки)

3) Знаки, обозначающие функциональные зависимости между объектами (функциональные знаки)

4) Специальные знаки, которые используются для удобства записи ( ,) и т.д.) и формирование сложных утверждений (например, логические связки «и» «или»).

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

Предикат позволяет записать простейшее утверждение относительно своих аргументов, результатом которых является истина или ложь. Предикаты обозначаются прописными буквами и их описание включает в себя обозначения, синтаксис и семантику. Например, предикат, обозначающий отношение соседства трех объектов описывается следующим образом: СОСЕДИ: СОСЕДИ(х,у,z)=«истина», если объекты, обозначенные знаками х,у,z являются соседями. Аналогично можно определить предикат БОЛЬШЕ: БОЛЬШЕ(х,у)=«истина», если объект, обозначенный за х больше объекта, обозначенного знаком у. Определение подобного предиката позволяет записывать простейшие утверждения. Например, БОЛЬШЕ(3,5), очевидно значит, что значением этого утверждения является ложь. Также очевидно, что утверждение БОЛЬШЕ(5,3) равно истине.

Для того, чтобы выяснить истинность утверждения БОЛЬШЕ(Степа, Столб) мы должны сопоставить каждый знак, используемый в этом утверждении тому, что есть в предметной области, т.е. произвести интерпретацию. Это означает, что мы должны выяснить чем являются знаки Степа и Столб – константами или переменными. Если это константы, то необходимо их сопоставить конкретным объектом, которым им обеспечен. Затем в соответствии с описанием предиката БОЛЬШЕ мы должны выяснить значение этого утверждения. Если в реальности объект, обозначенный знаком Степа окажется выше объекта Столб, то данное утверждение истинно, иначе ложно.

Предикат каждому кортежу констант, которые являются его аргументами, ставят в соответствие значение «истина» или «ложь». Следовательно предикат это отображение множества всех кортежей констант в множестве значений I={«истина», «ложь»}. Другими словами, предикат это полное отображение декартова произведения множества всех констант (D) cамого на себя (DxD...xD) столько раз, сколько аргументов у данного предиката в множестве I. Подобные декартовы произведения записываются обычно с помощью верхнего числового индекса.

Следовательно, например, БОЛЬШЕ:D2→I. Здесь D2 обозначает декартово произведение DxD. В общем случае, если Pn предикатный знак от n аргументов, то Pn:Dn→I. Здесь Dn обозначает декартово произведение DxD...xD (n). В качестве аргумента предикат может иметь константы, переменные, функции (с указанием аргументов) и предикаты (с указанием аргументов). Если в качестве аргументов в предикатах допускаются предикаты, то имеем язык предикатов второго порядка и т.д. Для представления знаний обычно используется логика предикатов первого порядка. В таком языке в качестве аргументов в предикатах не допускается предикаты. В этом языке в качестве таких аргументов можно указывать только константы, переменные и функции (с указанием аргументов).

Третью группу алфавита составляют функциональные знаки. Их чаще называют функцией, которая обозначается строчными буквами и описывается аналогично предикатам. Например, g:g(x)=1/х или Группа: группа(х)=номер группы, в которой учиться студент, обозначенный знаком х.

Функция каждому кортежу констант, являющихся ее аргументами, ставит в соответствие константу, т.е. полное отображение множества всех кортежей констант в множество констант. Другими словами, функция это отображение декартова произведения DxD...xD. (количество D в этом произведении равно количеству аргументов функции) в множестве D. Например, ПЛЮС:D2→D ГРУППА:D→D. В общем случае, если fn функция от аргументов, то fn→Dn→D. Как функции так и предикаты могут иметь различное количество аргументов. Если у функции или предиката один аргумент они называются одноместными (одноместной функцией или одноместным предикатом). Если 2 аргумента, то двухместными и т.д.

Важным понятием языка предикатов является терм. Это понятие охватывает весь спектр возможных аргументов предиката и определяется рекурсивно: (правила)

  1. константа есть терм

  2. переменная есть терм

  3. если fn – n-местный функциональный знак и t1,t2...tn – термы, то fn (t1,t2...tn) есть терм

  4. термы порождаются конечным числом применений правил 1,2,3

Любое конечное выражение (т.е. состоящее из конечного числа знаков алфавита) в языке предикатов называется логической (предикатной) формулой.

Еще одним базовым понятием является атом (атомарная формула), которая в разговорном языке соответствует предложению наиболее простого вида – нераспространенному предложению. Атом (атомарная формула) определяется как Pn (t1,t2...tn), где Pn – n-местный предикатный знак, а t1,t2...tn – термы.

Предикаты описывают свойства объектов (одноместные предикаты) или отношения истинности между объектами. Отображение с помощью предиката осуществляется в процессе интерпретации, которая заключается в следующем. Обозначим множество объектов предметной области R, а множество всех констант, обозначающих эти объекты D, тогда в процессе интерпретации каждой константе, имеющейся в формуле, ставиться в соответствие определенный объект из R. Для каждого n-местного функционального знака fn, имеющемся в формуле кортежу констант, которые являются его аргументами ставиться в соответствие объект, обозначаемый константой, полученной в результате отображения fn:Dn→D. И наконец, для n-местного предикатного знака Рn кортежу констант, которые являются его аргументами ставятся в соответствии результат отображения Pn Dn→I. Здесь I={истина, ложь}, характеризующий истинность или ложность соответствующего отношения в предметной области.

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

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

┐ - отрицание

Λ (&) – конъюнкция (АΛВ – А и В)

V – дизъюнкция (АVВ – А или В)

→ - импликация (А→В – если А, то В)

↔ - эквивалентность (А↔В – А эквивалентно В)

Здесь А и В формулы.

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

А

В

┐А

АΛВ

АVВ

А→В

А↔В

И

И

Л

И

И

И

И

И

Л

Л

Л

И

Л

Л

Л

И

И

Л

И

И

Л

Л

И

И

Л

Л

И

И


В случае когда А=Л, В=И А→В=И. В естественном языке выражению если А, то В не может быть дано однозначное определение. Если А=Л, В=И, поэтому такое выражение становиться неопределенным. Это вызывает неудобство. Поэтому в подобных случаях выражение «если А, то В» доопределяется. В языке предикатов такая неопределенность устраняется тем, что в этом случае А→В считается истинным по определению. Таким образом, импликация А→В в языке предикатов не полностью соответствует выражению «если А то В». В обычном языке в такое выражение привноситься упорядоченность (например, А является посылкой, а В заключением). В импликации А→В языка предикатов такая упорядоченность отсутствует.

Использование этих логических связок избыточно, поскольку знаки импликации и эквивалентности можно выразить через знаки отрицания, конъюнкции и дизъюнкции. Действительно формулы А→В и ┐АVВ полностью эквивалентны, что следует из таблицы истинности. Аналогично можно убедиться, что формула А↔В полностью эквивалентна формуле (А→В) Λ(В→А), и следовательно эквивалентна формуле (┐АVВ) Λ(┐ВVА). Тем не менее знак импликации включают в алфавит для удобства поскольку выражение А→В аналогично выражению «если А, то В» в естественном языке. Знак эквивалентности также используется для удобства описания знаний поскольку содержит выражения А↔В совпадает с представлением понятия «А и В являются эквивалентными».

Кванторы позволяют в языке предикатов формулировать какие-либо общие утверждения (например, все студенты умеют читать). Они задаются с помощью следующих знаков: - квантор общности. Используется следующим образом ( х)Р(х), читается «для всех х выполняется Р(х). Т.е. формула Р(х) является истинной при любой интерпретации. Это значит, что при подстановке в формулу Р(х) вместо переменной х любой константы (например, d) формула Р(d) равна истине

- квантор существования. Используется ( х)Р(х), читается «существует такой х для которого выполняется Р(х)», т.е. существует по крайней мере одна интерпретация, что формула Р(х) является истинной. Другими словами, в предметной области существует по крайней мере один такой объект, что при подстановке соответствующей константы (например, d) вместо х формула Р(d) равна истине.

Если в формуле имеется несколько переменных, например, ( х)( (у)Р(х,у,z), то переменные, к которым в формуле применяются кванторы называются связанными соответствующими кванторами, а не связанные переменные называются свободными. Порядок связывания переменных определяется при чтении формулы слева направо. В последнем примере переменная х связана квантором общности, у - квантором существование, а z – свободная переменная.

Комбинируя, имеющиеся в алфавите знаки можно определить формулу, удовлетворяющую синтаксическим правилам, которая называется правильно построенной формулой (ППФ). Применительно к естественному языку ППФ соответствует обычному предложению общего вида. ППФ определяется рекурсивно следующим образом:

  1. атом есть ППФ

  2. если F и G есть ППФ, то правильно построенными формулами являются: ┐F, FΛG, FVG, F→G и F↔G

  3. если F есть ППФ, а х, связанная переменная в F, то ( х)F(x), ( х)F(x)

  4. ППФ порождаются конечным числом применений правил 1,2,3

Эти правила определяют синтаксические правила, которым должна удовлетворять ППФ. Второе правило фиксирует допустимость использования логических связок, а третье – применение кванторов. Четвертое правило обеспечивает запись составных формул, в которых логическими связками связываются не только атомарные формулы, но и составные, и кванторы применяются не только к атомарным формулам, но и к составным.

Теперь синтаксис языка предикатов определен полностью. Мы имеем алфавит, т.е. множество знаков, которые допустимо использовать в языке и множество синтаксических правил, с помощью которых можно записать правильно построенные формулы.

2) Семантика

Установление соответствия между элементами языка (константами, переменными, функциями, предикатами, формулами) и элементами предметной области называется интерпретацией. В языке предикатов такая интерпретация производится на основании строго установленных

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

1) Обозначим R – множество объектов рассматриваемой предметной области. Интерпретация знаков алфавита определяется правилами включения этих знаков в алфавит:

  • Для объектов из множества R определяются обозначающие их константы (составляющие множество D) и переменные, включаемые в алфавит

  • Для каждого функционального отношения между объектами предметной области, определенного на множестве n аргумента из R( т.е. определенного на декартовом произведении Rn=RxR...xR) назначается соответствующий n местный функциональный знак, определенный на декартовом произведении Dn=DxD...xD, которое также включается в алфавит

  • Каждому отношению истинности между n объектами из R (т.е. определенному на декартовом произведении Rn) назначается соответствующий n местный предикатный знак, определенный на Dn и его значение истина или ложь (для всех возможных аргументов) после чего он включается в алфавит

2) Значения формул оцениваются на основании следующих правил:

  • Если значения формул F и G известны, то значения формул ┐F, FΛG, FVG, F→G и F↔G оцениваются по таблице истинности

  • Если для всех констант из множества D формула F(x) истинна, то истинной является формула ( х)F(x)

  • Если хотя бы для одной константы из множества D формула F(x) истинна, то истинной является формула ( х)F(x)

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

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

Важнейшей функцией языка является возможность получения значения логических формул, истинность которых не ясна, используя для этого заранее оцененные формулы, т.е. получение заключений из известных формул, являющихся посылкой (составляющих посылку). Такое определение значения формулы производиться в процессе интерпретации и такая интерпретация не должна противоречить знаниям о предметной области, т.е. при этом должна быть обеспечена семантическая корректность. В языке предикатов семантическая корректность определяется следующим образом. Пусть имеется множество формул ∑={G1,G2...Gn}. Если существует такая интерпретация, что все формулы из этого множества принимают значение «истина», то эта интерпретация называется моделью множества формул ∑. Модель может быть не единственной, их может быть множество. Пусть имеется формула G не принадлежит ∑, если ля всех моделей этого множества формула G равна значению «истина», то эта формула называется логическим заключением. Факт реализации такого логического заключения формально записывается в следующем виде ∑╞ G (индукция). Таким образом, если истинность формулы G не ясна и это надо установить находя из множества формул ∑, то процедура получения логического заключения с помощью интерпретации состоит в выявлении всех моделей для ∑ и проверки для каждой из них истинности формулы G. Такой метод называется методом индукции.

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

Утверждения истинные по определению называются аксиомами. В целом в языке предикатов кроме алфавита и множества синтаксических правил присутствует еще одно множество- множество аксиом.

4) Правила вывода (дедукция)

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

Определим более строго, что такое правило вывода. Пусть Σ есть множество формул G1,G2...Gn, а формула G выводиться из Σ.

Правило вывода – процедура, представленная в определенной форме, которая из множества Σ автоматически выводит такую формулу G, что справедливо: «все модели для формул из множества Σ являются моделями и для формулы G». Следовательно любое правило вывода гарантирует, что если все формулы Σ истинны, то и формула выведенная из этого множества в соответствии с данным правилом также будет истинной. Другими словами, правило вывода гарантирует, что для любой интерпретации истинность формулы G1ΛG2... ΛGn влечет за собой истинность формулы G. Формула G называется логическим следствием формул G1,G2...Gn, полученным применением некоторых правил вывода, если и только если для каждой интерпретации истинность G1ΛG2... ΛGn влечет за собой формулы G. Этот факт обозначается следующим образом: G1ΛG2... ΛGn (посылка)/G (логическое следствие). Получение формулы G применением конечного числа раз правил вывода к заданному множеству формул Σ записывается в виде Σ├ G. При этом говорят, что формула G дедуктивно выводиться из Σ, а процесс вывода называется дедукцией.

Таким образом, как метод индукции, так и метод дедукции существуют для одной цели – получения новых знаний в виде логических формул. Они позволяют установить истинности формулы G исходя из множества формул Σ. Однако, различие между ними очень существенно. Метод индукции состоит в том, что с помощь интерпретаций выявляются все модели для Σ и для каждой из них проверяется истинность формулы G. Очевидно, что этот метод полезен лишь в том случае, если количество таких интерпретаций ограничено и эффективен когда их сравнительно немного. Метод дедукции обеспечивает формальный вывод (с помощью правил вывода) формулы G из множества заранее заданных формул Σ. При этом он гарантирует, что выведенная таким образом формула будет истинной при любых интерпретациях, являющихся моделями для Σ независимо от их количества.

Итак, логическая модель представления знаний – это кортеж четырех множеств <A,T,P,F>

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

Т – множество правил, определяющих какие формулы являются синтаксически правильными, т.е правильно построенными формулами.

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

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

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