- •1. Множества и бинарные отношения
- •Множества
- •Определения и примеры
- •1.1.1 Множество
- •Операции над множествами
- •Элементы комбинаторики
- •Бинарные отношения
- •Определения и примеры
- •2.1.2 Отображения
- •Операции над отношениями
- •Выполнение операций над отношениями
- •Свойства отношений
- •Эквивалентность и толерантность
- •2.4.1 Эквивалентность
- •2.4.3 Толерантность
- •2.4.6 Задача о наименьшем покрытии (ЗНП)
- •Алгоритм решения ЗНР
- •Отношения порядка
- •Строгий порядок
- •Свойства строгого порядка
- •Некоторые свойства дерева
- •Анализ отношений порядка
- •2.5.8 Решетки
- •2.5.10 Решетка
- •2.5.11 Булева решетка
- •Нормированные булевы решетки
- •Модели нормированной булевой решетки
- •Булевы функции (БФ)
- •Определения и примеры
- •Равенство булевых функций
- •3.3.1 СДНФ
- •3.3.3 СКНФ
- •3.3.5 Представление формул в СДНФ и СКНФ
- •Минимизация булевых функций
- •3.4.1 Импликанта
- •Полные системы булевых функций
- •2. Математическая логика
- •Логика высказываний
- •Основные понятия
- •4.1.7 Логическое следствие
- •4.1.8 Теоремы о логическом следствии
- •Логика предикатов
- •5.0.13 Связанные и свободные переменные
- •Предваренная нормальная форма
- •Стандартная нормальная форма
- •Подстановки и унификация
- •Метод резолюций для логики первого порядка
- •Исчисление высказываний
- •3. Графы
- •Определения и примеры
- •Определения графа
- •Части графа
- •Изоморфизм графов
- •Задание графов с помощью матриц
- •Матрица инциденций
- •Матрица соседства вершин
- •Матрица смежности
- •Типы графов
- •Обыкновенные графы
- •Графы Бержа
- •Помеченные и взвешенные графы
- •Другие способы задания графа
- •Связность графов
- •Маршруты, цепи, циклы
- •Число маршрутов
- •Компоненты связности
- •Нахождение компонент и бикомпонент
- •Кратчайшие цепи
- •Алгоритм Форда
- •Алгоритм Дейкстры
- •Обходы графа
- •Поиск в глубину на графе
- •Поиск в ширину на графе
- •Эйлеровы цепи и циклы
- •Эйлеровы пути
- •Гамильтоновы цепи и циклы
- •Цикломатика графов
- •Цикломатическое число
- •Деревья
- •Свойства дерева
- •Каркасы
- •Алгоритм нахождения каркаса графа.
- •Кратчайший каркас графа.
- •Алгоритм Прима.
- •Теорема о хорде каркаса.
- •Число каркасов графа.
- •Разрезы
- •Пространства суграфов
- •Пространство циклов
- •Пространство разрезов.
- •Потоки в сетях
- •Задача о максимальном потоке
- •Постановка задачи
- •Экстремальные части графа
- •Основные понятия
- •Покрытия
- •Задача о наименьшем покрытии
- •Паросочетания
- •Раскраска вершин графа
- •Хроматическое число
- •Оценки хроматического числа
- •Точные алгоритмы раскраски вершин
180 |
Глава 5. Логика предикатов |
|
|
¾3 = fa=z; f(a)=x; g(y)=ug –НОУ для E. JПример 5.16.
Множество выражений: E = fQ(f(a); g(x)); Q(y; y)g Рассмотрим вкратце попытку унифицировать эти выражения.
¾1 = ff(a)=yg; E1 = fQ(f(a); g(x)); Q(f(a); f(a))g;
E1 содержит более одного выражения; множество рассогласований D1 = fg(x); f(a)g. В D1 нет переменной, нет НОУ. Отсюда заключаем, что E не может быть унифицировано. J
Теорема 5.2 (теорема унификации) Если E – конечное непустое унифицироемое множество выражений, то алгоритм унификации всегда закончит работу на шаге 2 и последняя ¾k будет наиболее общим унификатором для E.
(Без доказательства).
5.5Метод резолюций для логики первого порядка
Влогике высказываний резольвента определяется как дизъюнкция двух клозов, из которых удалена пара контрарных литералов. Обобщим теперь понятие резольвенты на логику первого порядка.
Определение. Если два или более литералов (с одинаковым знаком) клоза C имеют НОУ ¾, то C¾ называется склейкой клоза C.
Пример склейки 5.17.
Клоз C : P (x) _ P (f(y)) _ :Q(x); НОУ: ¾ = ff(y)=xg;
|
|
|
|
|
склейка |
|
||
C¾ = P (f(y)) |
_ |
P (f(y)) |
_ : |
z |
|
}| |
|
{ |
|
|
|||||||
|
|
Q(f(y)) = P (f(y)) _ :Q(f(y)). J |
Пример 5.18. Если C¾ – единичный клоз, то склейка называется единичной склейкой.
З а м е ч а н и е. Клоз, содержащий m литералов называется m-литерным клозом. Однолитерный клоз называется единичным, 0-литерный – это пустой клоз 2. I
5.5. Метод резолюций для логики первого порядка |
181 |
|
|
|
|
Для удобства будем рассматривать множество литералов как синоним клоза. Например, клоз P _Q_:R представляется в виде множества литералов fP; Q; :Rg.
Пусть C1; C2 – клозы (клозы-посылки), которые не имеют общих переменных. Пусть L1; L2 – литералы в C1 и C2 соответственно.
Определение. Если L1 и :L2 имеют НОУ ¾, то клоз
C = (C1¾ n L1¾) [ (C2¾ n L2¾)
называется бинарной резольвентой клозов C1 и C2.
Литералы L1; L2 называются отрезаемыми литералами.
Пример 5.19.
C1 : P (x) _ Q(x); C2 : :P (a) _ R(x).
Так как x входит в оба клоза (они имеют общую переменную), заменим переменную в C2 : :P (a) _ R(y).
L1 = P (x); L2 = :P (a).
L1 и L2 имеют НОУ: ¾ = fa=xg. Тогда
(C1¾ n L1¾) [ (C2¾ n L2¾) =
=ffP (a); Q(a)g n P (a)g [ ff:P (a); R(y)g n :P (a)g =
=fQ(a); R(y)g = Q(a) _ R(y).
Таким образом, Q(a)_R(y) – бинарная резольвента клозов C1 и C2; P (x) и :P (a) – отрезаемые литералы. J
Определение. Резольвентой клозовпосылок C1 и C2 является одна из следующих резольвент:
1.Бинарная резольвента C1 и C2.
2.Бинарная резольвента C1 и склейки C2.
3.Бинарная резольвента C2 и склейки C1.
4.Бинарная резольвента склейки C1 и склейки C2.
Пример 5.20.
C1 : P (x) _ P (f(y)) _ R(g(y));
C2 : :P (f(g(a))) _ Q(b).