- •1. Деревья решений. Прямая и обратная цепочка рассуждений. Прямой и обратный вывод
- •Дерево решений Построение обратной цепочки рассуждений
- •Построение прямой цепочки рассуждений
- •2. Алгоритм cls
- •3. Алгебра высказываний.
- •4. Булева алгебра. Основные функции.
- •5. Законы булевой алгебры и следствия из них.
- •6. Приведение к днф, кнф, сднф, скнф. Нормальные формы
- •7. Синтез логических выражений. Синтез логических выражений.
- •8. Минимизация булевых функций. Импликанты. Минимальная нф. Приведенная нф.
- •Метод Петрика.
- •Алгоритм Квайна
- •9. Синтаксис, семантика и правила вывода для исчисления высказываний.
- •10. Логика предикатов. Основные понятия.
- •Предикат Нераспространенное простое предложение
- •11/13. Синтаксис логики предикатов. Ппф. Правила вывода.
- •Предложения
- •Правила вывода логики предикатов
- •12. Особенности использования кванторов.
- •14. Логическое програмирование. Метод доказательства от противного.
- •Модели и опровержения
- •Доказательство от противного Неаксиоматическое описание процедуры
- •15. Приведение к префисной нормальной форме. Основные правила. Префиксная нормальная форма
- •16. Скалемизация. Скалемовская нормальная форма
- •17. Приведение к клаузальной нормальной форме.
- •Метод резолюций для высказываний
- •19.Алгоритм унификации. Ноу. Правила допустимости подстановок.
- •20. Метод резолюции для логики предикатов
- •21.Стратегии очищения
- •1)Стратегия предпочтения одночленов
- •2)Факторизация
- •3)Использование подслучаев
- •4)Гиперрезолюция
- •5)С – упорядочение
- •23. Нечеткие множества.
- •24. Нечеткий вывод.
1. Деревья решений. Прямая и обратная цепочка рассуждений. Прямой и обратный вывод
При использовании прямой цепочки рассуждений решается задача по известным условиям найти последствия. Обратная цепочка рассуждений применяется для того, чтобы по известным результатам найти причины их вызвавшие.
Такие задачи часто записывают в терминах продукционных систем представления знаний, в которых знания записываются в виде продукций/правил, имеющих вид:
Если <условие>,То <вывод>.
Дерево решений Построение обратной цепочки рассуждений
Рассмотрим сначала построение обратной цепочки рассуждений. Обратная цепочка рассуждений всегда начинается со следствия (часть То правила). Если в правилах, относящихся к проблемной области, не удается найти условную часть с выполняющимися условиями, необходимо ввести дополнительную информацию. Цепочка означает процедуру логической связи ряда правил.
Для представления таких задач принято использовать дерево решений - специальную диаграммудля представления возможных решений. Дерево решений состоит из вершин двух типов. Вершины решений, содержащие вопросы, обозначаются окружностями. Цели или логические выводы обозначаются прямоугольниками. Вершины нумеруются. Каждая вершина может иметьне более одноговхода. Рассмотрим простейший пример с приемом на работу, часто используемый в литературе [1].
Дерево решений будем хранить в следующей таблице [2]:
Таблица представления дерева решений
№ вершины |
переменная логического вывода |
Значение переменной логического вывода |
Исходная (предыдущая) вершина |
Дуга (условие перехода) |
Тип вершины |
1 |
Звание |
- |
отсутствует |
отсутствует | |
2 |
Должность (1) |
Отказ |
1 |
«нет» | |
3 |
Возможность |
да |
1 |
«да» | |
4 |
Открытия |
- |
1 |
«да» | |
5 |
Средний балл |
- |
3 |
«да» | |
6 |
Должность (2) |
Научный сотрудник |
4 |
«да» | |
7 |
Стаж |
- |
5 |
«< 3.5» | |
8 |
Должность (3) |
Конструктор |
5 |
«> 3.5» | |
9 |
Должность (4) |
Отказ |
7 |
«< 2» | |
10 |
Должность (5) |
Администратор |
7 |
«> 2» |
Для сохранения результатов будем использовать следующую таблицу вывода:
Таблица вывода
№ варианта |
Переменная |
Значение |
|
|
|
(в начальный момент таблица пуста).
Алгоритм
Определить переменную логического вывода и ее значение.
Найти первое вхождение этой переменной в таблицу дерева решений с заданным значением и типом вершины «вывод». Если переменная не найдена – неудача. Установить переменную var= 1.
Выбрать исходную по отношению к полученной вершине вершину. Если ее нат, перейти к шагу 5. Если есть, записать в таблицу вывода новую строку со значениями полей:
№ варианта = var, Переменная = Переменная из исходной вершины таблицы дерева решений, Значение = Дуга текущей вершины.
Сделать исходную вершину текущей. Перейти к шагу 3.
Найти следующее вхождение переменной вывода в таблицу дерева решений. Если нет, конец, иначе var =var+ 1. Перейти к шагу 3.
Пусть отказано в приеме на работу. Тогда в ходе выполнения алгоритма таблица вывода будет формироваться следующим образом (здесь пропущена таблица вывода на предпоследнем этапе).