ГЛАВА 8. Логическое программирование - Самоучитель по экспертным системам

[AD-IMG]

Soft32 - каталог нужных программ

Новости | Добавить | Изменить | Платные услуги | Хостинг | Заработай | Реклама

[AD-IMG]

Разделы софта:

Все разделы
Бизнес
Графика и дизайн
Дом, семья, хобби
Заставки
Игры и развлечения
Интернет и сети
Мультимедиа
Образование
Текст
Система
Эхо прошлого
Pocket PC
Рабочий стол
Программирование
Веб разработка

Литература
Публикации
Сотовые телефоны

Сделать стартовой
Добавить в избранное

Программирование:

Delphi
JavaScript
Perl
WinAPI

Ресурсы:

Фоны
Глифы

Прочее:

Скрипты
Чаты
Ссылки
Платные услуги
Заработай

Купить книги
Купить софт
Хостинг
PC Советы
PC Юмор
Полезные ссылки
Контакты

Рассылка Soft32.ru
Да: Нет:

Наши проекты:

Mp3 Музыка для Вас !!! Pen007.RU - секретная ручка агента 007!

Windows | Система | Безопасность | Сеть | Программирование | Ассемблер | C++ | C++ Builder | Visual C++ | DirectX | OpenGL | HTML | JavaScript | Perl | Создание игр | Графика | Мультимедиа | CAD | Математика | Офис | Прочее |

Программирование \ Самоучитель по экспертным системам \ ГЛАВА 8. Логическое программирование

Самоучитель по экспертным системам

ГЛАВА 8. Логическое программирование

8.1.2. Исчисление предикатов

Исчисление высказываний имеет определенные ограничения. Оно не позволяет оперировать с обобщенными утверждениями вроде "Все люди смертны". Конечно, можно обозначить такое утверждение некоторой пропозициональной константой р, а другой константой q обозначить утверждение "Сократ — человек". Но из (р л q) нельзя вывести утверждение "Сократ смертен".

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

Аргументы могут быть отдельными константами, или составным выражением "функция-аргумент", которое обозначает сущности некоторого мира интересующих нас объектов, или отдельными квантифицируемыми переменными, которые определены в этом пространстве объектов. Специальные операторы — кванторы — используются для связывания переменных и ограничения области их интерпретации. Стандартными являются кванторы общности (V) и существования (3). Первый интерпретируется как "все", а второй — "кое-кто" (или "кое-что").

Ниже приведены синтаксические правила исчисления предикатов первого порядка.

Любой символ (константа или переменная) является термом. Если rk является символом k-местной функции и а1 ..., <xk являются термами, то Гk(a1..., ak) является термом.

(S 40

Если Tk является символом k-местного предиката

и а1 ..., ak являются термами,

то U(а1 ..., ak) является правильно построенной формулой (ППФ).

(S. -) и (S. v)

Правила заимствуются из исчисления высказывании.

(S. V) Если U является ППФ и % является переменной,

то (любой Х) U является ППФ.

Для обозначения используются следующие символы:

  • U — произвольный предикат;
  • Г — произвольная функция;
  • a — произвольный терм;
  • X — произвольная переменная.

Действительные имена, символы функций и предикатов являются элементами языка первого порядка.

Использование квантора существования позволяет преобразовать термы с квантором общности в соответствии с определением

(EX)U определено как -(любой X)-U.

Выражение (EХ)(ФИЛОСОФ(Х)) читается как "Кое-кто является философом", а выражение (любой Х)(ФИЛОСОФ(Х)) читается как "Любой является философом". Выражение ФИЛОСОФ(Х) представляет собой правильно построенную формулу, но это не предложение, поскольку область интерпретации для переменной X не определена каким-либо квантором. Формулы, в которых все упомянутые переменные имеют определенные области интерпретации, называются замкнутыми формулами.

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

(1) Исключить операторы эквивалентности, а затем импликации.

(2) Используя правила Де Моргана и правила замещения (E X)U на -(любой X)-U (а следовательно, и (любой X) U на -(E X)-U), выполнить приведение отрицания.

(3) Выполнить приведение переменных. При этом следует учитывать особенности определения области интерпретации переменных кванторами. Например, в выражении (E Х)(ФИЛОСОФ(Х))&(E Х)(АТЛЕТ(Х)) переменные могут иметь разные интерпретации в одной и той же области. Поэтому вынесение квантора за скобки — (E Х)(ФИЛОСОФ(Х))&.(АТЛЕТ(Х))— даст выражение, которое не следует из исходной формулы.

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

(5) Преобразование в префиксную форму. На этом шаге все оставшиеся кванторы (останутся только кванторы общности) переносятся "в голову" выражения и таким образом оказываются слева в списке квантифицированных переменных. За ними следует матрица, в которой отсутствуют кванторы.

(6) Разнести операторы дизъюнкции и конъюнкции.

(7) Отбросить кванторы общности. Теперь все свободные переменные являются неявно универсально квантифицированными переменными. Экзистенциальные переменные станут либо константами, либо функциями универсальных переменных.

(8) Как и ранее, отбросить операторы конъюнкций, оставив множество фраз.

(9) Снова переименовать переменные, чтобы одни и те же имена не встречались в разных фразах.

8.1. Снова о роботах и комнатах

В главе 3 мы уже упоминали об исчислении предикатов в упрощенном виде. Там выражение вида

at(робот, комнатаА)

означало, что робот находится в комнате А. Термы робот и комнатаА в этом выражении представляли собой константы, которые описывали определенные реальные объекты. Но что будет означать выражение вида

at(X, комнатаА) ,

в котором х является переменной? Означает ли оно, что нечто находится в комнате А? Если это так, то говорят, что переменная имеет экзистенциальную подстановку (импорт). А может быть, выражение означает, что все объекты находятся в комнате А? В таком случае переменная имеет универсальную подстановку. Таким образом, отсутствие набора четких правил не позволяет однозначно интерпретировать приведенную формулу.

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

В частности, фраза

at(X, комнатаА )<—at (X, ящик1) интерпретируется как

"для всех X X находится в комнате А, если X находится в ящике 1". В этой фразе переменная имеет универсальную подстановку. Аналогично, фраза

at(X, комнатаА) <-интерпретируется как "для всех X X находится в комнате А". А вот фраза

<— at(X, комнатаА) интерпретируется как "для всех XX не находится в комнате А".

Иными словами, это не тот случай, когда некоторый объект X находится в комнате А и, следовательно, переменная имеет экзистенциальную подстановку.

Теперь можно преобразовать фразовую форму, в которой позитивные литералы сгруппированы слева от знака стрелки, а негативные — справа. Если фраза в форме

P1, ..., Рт <— q1,...qn содержит переменные х1,..., хk, то правильная интерпретация имеет следующий вид:

для всех x1, ..., хk

p1 или ... или pm является истинным, если q1 и ... и qn являются истинными.

Если п = 0, т.е. отсутствует хотя бы одно условие, то выражение будет интерпретироваться следующим образом:

для всех x1, ..., xk

p1 или ... или рт является истинным.

Если т = 0, т.е. отсутствуют термы заключения, то выражение будет интерпретироваться следующим образом:

для всех x1, ..., xk

не имеет значения, что q1 и ... и qn являются истинными.

Если же т = п = 0, то мы имеем дело с пустой фразой, которая всегда интерпретируется как ложная.

Рекомендуем:

1 | AltarSoft Download Manager 1.1
2 | Image Watermarks 1.1
3 | Clean Up Drive 1.0
4 | Easy Image Resizer 1.0
5 | Image Effects 1.0
6 | Моя Веб Галерея 1.0
7 | Type Fast 1.0
8 | Разрушитель Кубиков 1.4
9 | Живые линии 1.1
10 | попасть сюда

Новые 10:

1 | Radioclicker (Радио и ТВ) 6.03.4
2 | Гость 6.12
3 | TouchPicture 1.3.1
4 | iNetAdviser 4.5.35
5 | Инвeнтаризация ПК 2.1
6 | SpamBlocker 2.3.34
7 | AVP Clock 1.0
8 | Outlook NewTask Addin 1.5.721
9 | Exiland Assistant 3.0
10 | SearchInform Free 3.0.04

Лучшие 10:

1 | Справочник по полупроводниковым приборам 1
2 | Craagle 1.91 1.91
3 | PassView 3.3
4 | учебник по Delphi 7 1.1
5 | CD-ex 14
6 | SMILE Курсы Валют 1.5
7 | Русский Бильярд 1.0
8 | VisiCon 1.1
9 | Удивительные часы 1.1
10 | Autobonus 2.9

[AD]

[AD-SIZE]

Все права сохранены © Soft32.ru, 2005 - 2006

[AD-SIZE]


Работа Программистам
Работа для настоящих гуру. Вакансии для программистов.
ITpeople.ru
Геодезия, геология, земля
Топография, геодезия, экология Оформление земли в собственность.
www.ab-pro.ru
ХорошийАнглийский.RU
Персональное обучение английскому. Начните завтра - без предоплаты.
www.goodenglish.ru
7 видов ипотечн. программ
Индивидуальный подбор. Финансовые гарантии. Ипотека доступна каждому.
ipoteka-miel.ru/


document.write('
'); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write('
МАГАЗИН ПОСТЕРОВ www.MirPosterov.ru

Гарфилд

купить постер >>

Форсаж 2

купить постер >>

Расслабься!

купить постер >>

Симпсоны

купить постер >>

Crazy Frog

купить постер >>

MirPosterov.ru
');