- •Основные понятия и определения
- •Понятие искусственного интеллекта
- •1.2. История развития искусственного интеллекта за рубежом
- •1.3. История развития искусственного интеллекта в России
- •1.4. Цели и задачи искусственного интеллекта
- •1.5. Основные направления исследований по ии
- •1.6. Контрольные вопросы и упражнения
- •2. Истоки формальных рассуждений
- •2.1. Левополушарное и правополушарное мышления
- •2.2. Контрольные вопросы и упражнения
- •3.Формальные системы
- •3.1. Понятие формальной системы
- •3.2. Разрешимость формальной системы
- •3.3. Интерпретация формальной системы
- •3.4. Доказательство и истинность
- •3.5. Контрольные вопросы и упражнения
- •4.1. Основные принципы силлогистики
- •4.2. Решение силлогизмов
- •4.3. Расширенная силлогистика
- •4.4. Моделирование силлогистики
- •4.5. Контрольные вопросы и упражнения
- •5. Исчисление высказываний
- •5.1. Синтаксис исчисления высказываний
- •5.2. Семантика исчисления высказываний
- •5.3. Классы формул исчисления высказываний
- •5.4. Понятие семантического дерева
- •5.5. Алгоритм Куайна
- •5.6. Алгоритм редукции
- •5.7. Алгебраический подход к определению класса формул
- •5.7.1. Нормальные формы и алгоритм нормализации
- •5.7.2. Алгоритм Куайна для днф
- •5.7.3. Принцип резолюций
- •5.7.4. Хорновские дизъюнкты
- •5.8. Применение исчисления высказываний
- •5.8.1. Пример базы знаний на основе логических высказываний
- •5.8.2. Применение исчисления высказываний в конструировании релейно-контактных схем
- •5.9. Контрольные вопросы и упражнения
- •6. Исчисление предикатов
- •6.1. Определение исчисления предикатов первого порядка
- •6.1.1. Операции над предикатами
- •6.1.2. Общезначимость и выполнимость формул исчисления предикатов
- •6.2 Исчисление предикатов как формальная система
- •6.4. Сколемовские стандартные формы исчисления предикатов
- •6.5. Процедура вывода Эрбрана
- •6.6. Принцип резолюции для логики предикатов
- •Контрольные вопросы и упражнения
- •7. Индуктивные рассуждения
- •7.1. Схема индуктивных рассуждений
- •7.2. Индукция Милля
- •1. Принцип единственного различия
- •2. Принцип единственного сходства
- •3. Принцип единственного остатка
- •7.3. Особенности индуктивных схем рассуждений
- •7.4. Индуктивные методы и алгоритмы
- •7.4.2. Метод пятизначной логики
- •7.4.3. Алгоритм древ
- •7.4.4. Алгоритм амх (алгоритм, основанный на метрике Хемминга)
- •7.4.5. Индукция решающих деревьев (id3)
- •7.4.6. Метод фокусирования
- •7.5. Контрольные вопросы и упражнения
- •8. Рассуждения по аналогии
- •8.1. Виды аналогий и приемы работы с ними
- •8.2. Простая аналогия
- •8.3. Другие виды аналогии
- •8.4. Аналогия в доказательстве теорем
- •8.5. Формализация аналогии
- •8.7. Методы реализаций рассуждений по аналогии
- •8.8. Проблемы рассуждений по аналогии
- •8.9. Контрольные вопросы и упражнения
- •9. Автоматизация нечетких рассуждений
- •9.1. Модальные логики
- •9.2. Применение нечеткой математики
- •9.3. Нечеткая силлогистика
- •9.5. Контрольные вопросы и упражнения
- •10. Представление задач в пространстве состояний
- •10.1. Примеры представления задач в пространстве состояний
- •10.2. Методы поиска в пространстве состояний
- •10.3. Контрольные вопросы и упражнения
- •11. Распознавание образов
- •Выделяются следующие основные типы задач распознавания образов:
- •11.1. Искусственный нейрон
- •11.2. Искусственные нейронные сети
- •Персептроны
- •11. 3.1. Персептронная представляемость
- •11.3.2. Преодоление ограничения линейной разделимости
- •11.3.3. Обучение персептрона
- •11.4. Процедура обратного распространения
6.6. Принцип резолюции для логики предикатов
В главе 5 был изложен принцип резолюций для исчисления высказываний, где нахождение контрарных пар не вызывало трудностей. Для логики предикатов это не так. Действительно, пусть имеются дизъюнкты типа
C1: P(x) R(x),
C2: P(g(x)) Q(y),
то резольвента может быть получена только после применения к C1 подстановки g(x) вместо x. После такой подстановки получим:
C1': P(g(x)) R(g(x)),
C2': P(g(x)) Q(y),
резольвента C = R(g(x)) Q(y). Однако для случая
C1: P(f(x)) R(x),
C2: P(g(x)) Q(y),
никакая подстановка неприменима и никакая резольвента не образуется. Отсюда следует определение подстановки.
Подстановкой называется конечное множество вида {t1/x1, t2/x2, …, tn/xn}, где любой ti – терм, а любая xi – переменная (1 i n), отличная от ti.
Пусть = {t1/x1, t2/x2, …, tn/xn} – подстановка, а W – выражение. Тогда W называется примером выражения W, полученным заменой всех вхождений в W переменной xi (1 i n) на вхождение терма ti.
Пусть = {t1/x1, t2/x2, …, tn/xn} и = {u1/y1, u2/y2, …, um/ym} – две подстановки. Тогда композицией двух подстановок и называется подстановка, состоящая из множества {t1/x1, t2/x2, …, tn/xn, u1/y1, u2/y2, …, um/ym }, в котором вычеркиваются ti/xi в случае ti = xi и ui/yi , если yi находится среди x1, x2, …, xn.
Подстановка называется унификатором для множества выражений {W1, W2, …, Wk}, если W1 = W2 = … = Wk. Говорят, что множество выражений {W1, W2, …, Wk} унифицируемо, если для него имеется унификатор.
Унификатор для множества выражений {W1, W2, …, Wk} называется наиболее общим унификатором (НОУ) тогда и только тогда, когда для каждого унификатора для этого множества выражений найдется подстановка такая, что = .
Пример. Пусть W = {P(x, a, f(g(a))), P(z, y, f(u)}. Тогда = {z/x, a/y, g(a)/u} есть НОУ, а = {b/x, a/y, b/z, g(a)/u} есть унификатор.
Существует алгоритм унификации, который позволяет находить НОУ, если множество выражений W унифицируемо.
Установить k = 0, Wk = W, k = .
Если Wk не является одноэлементным множеством, то перейти к п. 3, в противном случае положить = k и окончить работу алгоритма.
Каждая из литер в Wk рассматривается как цепочка символов и выделяются первые подвыражения литер, не являющихся одинаковыми у всех элементов Wk, т. е. образуется так называемое множество рассогласований типа {xk, tk}. Если в этом множестве xk – переменная, а tk – терм, отличный от xk, то перейти к п.4, в противном случае множество W неунифицируемо.
Пусть k+1 = k{tk/xk} и Wk+1 = Wk {tk/xk}.
Установить k = k+1 и перейти к п. 2.
Пример. Найти НОУ для W = {P(y, g(z), f(x)), P(a, x, f(g(y)))}.
o = , Wo = W.
Так как Wo не является одноэлементным множеством, то составить множество рассогласований {y, a} и подстановку {a/y}.
Найти унификатор 1 = o{a/y} = {a/y} = {a/y} и W1 = Wo{a/y} = {P(a, g(z), f(x)), P(a, x, f(g(a)))}.
Так как W1 опять неодноэлементно, то множество рассогласований будет {g(z), x}, т. е. { g(z)/x }.
2 = 1{g(z)/x} = {a/y, g(z)/x}, W2 = W1{g(z)/x} = {P(a, g(z), f(g(z))), P(a, g(z), f(g(a)))}.
Множество рассогласований {z, a}, т. е. {a/z}.
3 = 2{a/z} = {a/y, g(a)/x, a/z}, W3 = W2{a/z} = {P(a, g(a), f(g(a))), P(a, g(a), f(g(a)))} ={P(a, g(a), f(g(a)))}, 3 есть НОУ для W.
Если две или более одинаковые литеры (одного и того же знака) дизъюнкта С имеют НОУ , то С называется фактором дизъюнкта С. Пусть С1 и С2 – два дизъюнкта, не имеющие общих переменных и пусть L1 и L2 = L1 – литеры в дизъюнктах С1 и С2 соответственно, имеющие НОУ . Тогда бинарной резольвентой для С1 и С2 является дизъюнкт вида С = (С1 - L1)(С2 - L2). Бинарная резольвента может быть получена одним из четырех способов:
резольвента для С1 и С2;
резольвента для С1 и фактора дизъюнкта С2;
резольвента для фактора дизъюнкта С1 и С2;
резольвента для фактора дизъюнкта С1 и фактора дизъюнкта С2.
Пример. Пусть С1 = P(f(g(a))) R(b), С2 = P(x) P(f(y)) Q(y).
Тогда С2 = С2 = P(f(y)) Q(y) и резольвентой для С1 и С2 будет C = R(b) Q(g(a)).
Принцип резолюций обладает важным свойством – полнотой, которое устанавливается теоремой Робинсона: множество дизъюнктов S невыполнимо тогда и только тогда, когда существует вывод из S пустого дизъюнкта.
Однако в силу неразрешимости логики предикатов для выполнимого множества дизъюнктов процедура, основанная на принципе резолюций, будет работать бесконечно долго.
Пример. Рассмотрим следующие утверждения:
Существуют студенты, которые любят всех преподавателей.
Ни один из студентов не любит невежд.
Следовательно, ни один из преподавателей не является невеждой.
На языке логики предикатов эти утверждения имеют вид:
x(C(x)y(P(y)L(x,y)))
x(C(x)y(H(y)L(x,y)))
y(P(y) H(y))
Применим принцип резолюций.
С(a).
P(y)L(a, y).
C(x) H(y) L(x,y).
y( P(y) H(y)) = y(P(y) H(y)).
P(b).
H(b).
L(a, b) (2, 4). = {b/y}.
H(y) L(a,y) (1, 3). = {a/x}.
L(a,b) (5, 7). = {b/y}.
(6, 8).
Принцип резолюций является более эффективной процедурой вывода, чем процедура Эрбрана. Но и он имеет существенный недостаток, заключающийся в формировании всевозможных резольвент, большинство из которых оказывается излишними и ненужными. С 1965 г. и по сей день появляются всевозможные модификации принципа резолюций, направленные на нахождение более эффективных стратегий поиска нужных дизъюнктов. Однако подробное рассмотрение этих модификаций выходит за рамки данного учебного пособия.
