К типичным моделям представления знаний относятся логическая, продукционная, фреймовая и модель семантической сети.
Каждой модели отвечает свой язык представления знаний.
Логическая модель представления знаний
Логическая модель основана на системе исчисления предикатов первого порядка. В основе логики предикатов лежит исчисление высказываний.
Высказыванием называется предложение, смысл которого можно выразить значениями: истина (Т) или ложь (F). Например, предложения «лебедь белый» и «лебедь черный» будут высказываниями. Из простых высказываний можно составить более сложные:
«лебедь белый или лебедь черный»,
«лебедь белый и лебедь черный»,
«если лебедь не белый, то лебедь черный».
В свою очередь, сложные высказывания можно разделить на частичные, которые связаны между собой с помощью слов: И, ИЛИ, НЕ, ЕСЛИ — ТО. Элементарными называются высказывания, которые нельзя разделить на части. Логика высказываний оперирует логическими связями между высказываниями, т.е. она решает вопросы типа: «Можно ли на основе высказывания А получить высказывание В?»; «Истинно ли В при истинности А?» и т.п. При этом семантика высказываний не имеет значения. Элементарные высказывания рассматриваются как переменные логического типа, над которыми разрешены следующие логические операции:
отрицание (унарная операция);
? конъюнкция (логическое умножение);
? дизъюнкция (логическое сложение);
импликация (если — то);
— эквивалентность.
Операция импликации должна удовлетворять следующим требованиям.
1. Значение результата импликации зависит от двух операндов.
2. Если первый операнд (А) — истинный, то значение результата совпадает со значением второго операнда (В).
3. Операция импликации не коммутативна.
4. Результат импликации совпадает с результатом выражения A?B.
Значения результатов логических операций над переменными А и В, являющимися элементарными высказываниями, приведены в таблице 11.
Таблица 11 — Результаты вычисления логических операций
А | А | В | А?В | А?В | АВ | А-В |
Т | F | Т | Т | Т | Т | Т |
Т | F | F | F | Т | F | F |
F | Т | Т | F | Т | Т | F |
F | Т | F | F | F | Т | Т |
Рассмотрим ставший классическим пример рассуждения о Сократе:
Р: «Все люди смертны»
Q: «Сократ — человек»
R: «Сократ — смертен»
Используя для обозначения высказываний логические переменные Р, Q, R, можно составить формулу: (P?Q)R,которая может быть интерпретирована как «Если все люди смертны и Сократ является человеком, то Сократ является смертным».
Чтобы осуществить этот примитивный логический вывод, высказывание Q следует разделить на две части: «Сократ» (субъект) и «человек» (свойство субъекта) и представить в виде отношения «субъект — свойство», которое можно записать с помощью функции человек (Сократ).
Очевидно, что свойство конкретного субъекта с именем «Сократ» быть «человеком» может быть присуще и ряду других субъектов, что позволяет заменить константу «Сократ» на некоторую переменную, например X. Тогда получим запись человек (X), которая обладает внутренней структурой, т.е. значение такого высказывания будет зависеть от его компонент. Записанная функция уже не является элементарным высказыванием, она называется предикатом.
Для определения области действия переменных в логике предикатов необходимы кванторы. Так, в логическом выводе о Сократе высказывание «Все люди смертны» можно уточнить следующим образом:
«Для всех X, если X является человеком, то Х является смертным».
Введя предикаты ЧЕЛОВЕК(Х) и CMEPTEH(Х), можно составить логическую формулу ЧЕЛОВЕК(Х)СМЕРТЕН(Х). Чтобы показать справедливость этой формулы для любого X, используется квантор общности: Х— «для любого X».
Тогда рассматриваемое утверждение запишется в виде
(Х)ЧЕЛОВЕК(Х)СМЕРТЕН(Х).
Кроме квантора общности в логике предикатов есть квантор существования: Х — «существует хотя бы один такой X, что …» или «найдется хотя бы один X, такой, что …».
Операции в логике предикатов имеют неодинаковые приоритеты. Самый высокий приоритет имеет квантор общности, самый низкий — операция эквивалентности. Расположение операций по убыванию приоритета будет выглядеть следующим образом:
, , , ?. ?, , -.
Записать знания с помощью логической модели не удается в тех случаях, когда затруднен выбор трех групп элементов (констант, функций и предикатов) или когда знания являются неполными, ненадежными, нечеткими и т.д.
Логическая модель применяется в основном в исследовательских системах, так как предъявляет очень высокие требования к качеству и полноте знаний предметной области.