Логические исчисления


Методы представления экспертных знаний

 

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

· эксперт (эксперты) в той проблемной области, на которую ориентирована ЭС;

· инженер по знаниям – специалист по разработке ЭС;

· программист.

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

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

Программист разрабатывает компоненты ЭС.

Обычно в развитых ЭС выделяют четыре типа знаний:

- фактуальные (декларативные, предметные);

- процедурные (правила);

- управляющие (понятийные);

- метазнания.

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

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

Управляющие знания представляют собой некоторый набор стратегий и эвристик.

Метазнания – это знания о знаниях, т.е. знания ЭС о себе, своей работе, своей структуре, своей базе знаний и схеме рассуждения.

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

- логические исчисления;

- фреймы;

- семантические сети;

- продукционные системы;

- нечеткие множества.

 

 

Логические исчисления в большинстве случаев ограничиваются исчислением предикатов. Предикат – это логическая функция вида P(x,y,z,…), где P – отношение, а x,y,z,…- объекты (термы), на которых оно задано. Число аргументов предиката P(x,y,z,…) называется его порядком. Как и всякая логическая функция, предикат может принимать два значения: 1 (истинно) и 0 (ложно).

Примеры:

1) предикат первого порядка СТОЛИЦА (х)

СТОЛИЦА (Москва): Москва – столица – Р=1;

СТОЛИЦА (Воронеж): Воронеж – не столица – Р=0.

2) предикат второго порядка СТОЛИЦА (x,y)

СТОЛИЦА (Москва, Россия): Москва – столица России – Р=1;

СТОЛИЦА (Москва, Чехия): Москва – не столица Чехии – Р=0;

СТОЛИЦА (Прага, Чехия): Прага – столица Чехии – Р=1.

Логические модели представления фактов с помощью предикатов носят название атомарных формул. Следующие примеры являются правильно построенными логическими формулами:

1) (x)[слон(х)цвет(серый)]: все слоны имеют серую окраску. В последнюю формулу входят квантор общности (), операция логического объединения () и предикаты слон(х) и цвет(серый).

2) великая теорема Ферма, не доказанная до сих пор, утверждает, что для любого целого n>2 не существует натуральных чисел x,y,z, удовлетворяющих равенству

xn+yn=zn . (4.1)

Если этому равенству поставить в соответствие предикат PF(x,y,z,n), истинный тогда и только тогда, когда оно выполняется, а через N(X) обозначить предикат «x – натуральное число», то теорема Ферма на языке логических исчислений формулируется следующим образом:

(xyz n)[N(x)&N(y)&N(z)&N(n)&(n>2)]PF(x,y,z,n),

т.е. для любых x,y,z,n, если x,y,z,n – натуральные числа и n>2, соотношение (4.1) не выполняется.

Как видно из рассмотренных примеров алфавит языка предикатов включает множество следующих символов:

- разделители: запятая, открывающаяся и закрывающаяся скобки и т.п.;

- константы, обозначаемые строчными буквами или соединением таких букв, например: «а», «друг» и т.п.;

- переменные, обозначаемые прописными буквами, например: X, АДРЕС и т.п.;

- предикаты, обозначаемые прописными буквами, например P,Q, БОЛЬШЕ;

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

- логические операции: «» - (отрицание или дополнение), «» - конъюнкция, - «» - дизъюнкция, «» - импликация (читается если А, то В, оно ложно только когда А истинно, а В – ложно), «» - эквивалентность (А тогда и только тогда, когда В);

- кванторы: «» - существования (существует А), «» - общности (для любого А).

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

К недостаткам логического представления знаний можно отнести сложность создания подсистемы объяснений – важной части ЭС. Кроме того, следует отметить, что на сегодняшний день, к сожалению, не создано логики, адекватно отражающей человеческое мнение. Действительность не укладывается в рамки классической логики, почему приходиться изобретать новые логики или модернизировать старые (в частности, появилось понятие «нечеткой логики»).