- •Глава 1. Основные концепции искусственного интеллекта 1
- •Глава 2. Механизмы вывода в интеллектуальной системе 38
- •Глава 3. Место и роль интеллектуальных систем в автоматизированном проектировании 65
- •Глава 1. Основные концепции искусственного интеллекта
- •1.1. Основные понятия и структура исследований в области искусственного интеллекта
- •1.2. Способы представления знаний
- •1.2.1. Определение понятия знание
- •1.2.2. Продукционные модели
- •1.2.3. Семантические сети
- •1.2.4. Фреймовые модели
- •1.2.5. Исчисление предикатов
- •1.2.6. Применение теории нечетких множеств при формализации знаний
- •Глава 2. Механизмы вывода в интеллектуальной системе
- •2.1. Стратегия управления и механизм вывода в сии
- •2.2. Общие методы поиска решений в пространстве состояний
- •2.3. Дедуктивные методы поиска решений
- •Глава 3. Место и роль интеллектуальных систем в автоматизированном проектировании
- •3.1. Процесс проектирования как поиск решений
- •3.2. Структура и принципы функционирования интеллектуальной сапр
- •3.3. Интеллектуальные системы в сапр
- •3.4. Инструментальная экспертная система протей для задач проектирования и диагностики
- •3.5. Экспертная оболочка экспрэс для построения экспертных консультирующих систем в сапр
- •3.6. Экспертные системы в управлении производством на основе имитационного моделирования
2.3. Дедуктивные методы поиска решений
Одной из форм представления знаний о проблемных областях с небольшим пространством поиска решений и достаточно определенными фактами и знаниями, являются логические модели. Последние иногда удобны также для формального описания мышления человека, так как часто его рассуждения при решении задач носят дедуктивный характер. Для построения подобных рассуждений СИИ должна быть способна выводить новые факты и результаты исходя из известных ей фактов и знаний. Новые логические конструкции и формы создаются путем применения правил вывода к имеющимся логическим формулам.
Распространенным типом логических моделей является логика предикатов первого порядка. Логика предикатов является расширением логики высказываний, так как основным объектом здесь является переменное высказывание (предикат), истинность и ложность которого зависят от значений его переменных.
Рассмотрим вначале коротко основные положения и правила вывода логики высказываний.
Высказывание есть утвердительное, предложение, которое либо истинно
(И), либо ложно (Л). Логическим значением высказывания называется И или Л, приписываемые ему.
Примеры высказываний:
Новгород стоит на реке Волхов.
Берлин - столица Дании.
Число 12 делится на 3 и на 4.
Если молодой человек успешно окончил среднюю школу, то он получает аттестат зрелости.
Существует человек, который моложе своего отца.
Легко видно, что высказывания 1), 3), 4) истинны, а высказывания 2) и 5) — ложны.
В
логике высказываний символы P,Q,R
и
т. д., используемые для обозначения
высказываний. Например, пусть Р
-
высказывание «Студент Иванов изучает
язык программирования СИ
»,
Q
-
высказывание «Студент Иванов хорошо
знает математику». Высказывания называют
атомарными формулами.
Из
высказываний с помощью логических
операторов
(не),
(и),
(или),
(если..., то...),
(тогда
и только тогда, равнозначность) строятся
составные высказывания. Выражение,
которое представляет высказывание или
составное высказывание, называется
правильно построенной формулой (ППФ),
короче — формулой. Если Р
и
Q
—
ППФ, то (
Р),
(Р
Q).
(Р
Q),
(Р
Q)
и
(Р
Q)
тоже
есть ППФ. Например, (Р
Q)
R
есть
ППФ.
Пусть
G
—
данная пропозициональная формула
(пропозиция — высказывание) и
,
,...,
—
ее атомарные формулы. Интерпретацией
формулы G
является
такое приписывание истинностных значений
атомарным формулам
,...,
при
котором каждому
приписано
либо И, либо Л (но не оба вместе).
Формула
G
истинна
при некоторой интерпретации, тогда и
только тогда, когда G
получает
значение И в этой интерпретации; в
противном случае говорят, что G
ложна
при этой интерпретации. Если формула
истинна при всех возможных интерпретациях,
то говорят, что она является общезначимой
формулой (тавтологией). Обозначим ее
.
Если формула ложна при всех своих
интерпретациях, то говорят, что она
является противоречивой (противоречием).
Противоречивая формула невыполнима.
Обозначим ее
.
Говорят, что две формулы Р и G эквивалентны или что Р эквивалентна Q (P=Q), когда истинные значения Р и Q совпадают при каждой интерпретации Р и Q. Существует множество эквивалентных формул, называемых законами, которые используются при преобразованиях формул из одной формы в другую, — особенно — в «нормальную форму».
Литера — это атомарная формула или ее отрицание. Формула Р находится в конъюнктивной нормальной форме (КНФ), тогда и только тогда, когда Р имеет вид
Р
....
.
,
п
1,
где
каждая из
,
,...,
есть
дизъюнкция литер. Здесь знак "
"
означает «равно по определению».
Формула Р находится в дизъюнктивной нормальной форме (ДНФ), тогда и только тогда, когда Р имеет вид
Р
...
,
п
1,
где
каждая из
,
,...,
есть
конъюнкция литер.
Всякая формула может быть преобразована в нормальную форму путем использования законов эквивалентных преобразований. Приведем некоторые из них:
(1)
(2)
(За)
дистрибутивные законы
(3б)
-
закон двойного отрицания (4)
;
-
законы де Моргана (5а); (56)
закон
исключения третьего (6)
закон
противоречия (7)
;
(8а); (86)
;
" (9а);
(96)
При логическом выводе в рамках данной формальной системы стоит задача образования из некоторой совокупности исходных ППФ новых формул, которые являются тавтологиями. Эта задача решается с помощью правил вывода и законов.
Рассмотрим основные правила вывода в логике высказываний. Правило подстановки. Пусть Р — ППФ, содержащая атомарную формулу X. Тогда если Р — тавтология, то, заменяя в ней X всюду, где она входит, произвольной ППФ В, получают также тавтологию.
Modus ponens (правило заключения, или правило дедуктивного вывода). Положительная форма условно категорического силлогизма:
,
(означает
«выводимость»).
Modus fallens. Отрицательная форма условно категорического силлогизма:
Modus tollendo ponens. Форма разделительно категорического силлогизма. Отрицающе-утверждающий модус:
Modus ponendo tollens. Форма разделительно категорического силлогизма. Утверждающе-отрицающий модус:
Правило силлогизма (правило цепного умозаключения):
Правило контрапозиции:
Формула является выводимой, если она может быть получена из конечной совокупности исходных формул путем конечного числа шагов применения правил вывода. Для сокращения многократного применения основных правил вывода используются специальные правила.
Пусть
даны формулы
,
,...,
и
формула Q.
Говорят,
что Q
есть
логическое следствие формул
,...,
тогда
и только тогда, когда для всякой
интерпретации /, в которой
истинна,
Q
также
истинна. Здесь
,
,...,
называются
аксиомами (или постулатами, или посылками)
Q.
В дедуктивных системах поиска, по существу, необходимо доказывать, что некоторая формула логически следует из других формул. Утверждение, что формула логически следует из формул, называют теоремой. Проблема поиска решений сводится к проблеме доказательства теоремы, т. е. построения рассуждения, устанавливающего, что формула логически следует из других формул. При автоматизации логического рассуждения в рамках какой-либо системы ИИ встает проблема описания задачи или проблемной области средствами некоторой прикладной системы математической логики и реализации процедур поиска решений в процессе логического вывода.
В логике высказываний доказаны две теоремы (все известные теоремы будут приводиться без доказательств), на которых основывается более краткий и простой способ вывода.
Теорема
дедукции.
Пусть
даны формулы
и
формула Q.
Формула
Q
есть
логическое следствие формул
тогда
и только тогда, когда формула
общезначима.
Теорема
о противоречивости.
Пусть
даны формулы
и
формула Q.
Формула
Q
есть
логическое следствие формул
тогда
и только тогда, когда формула
противоречива.
Эти две теоремы имеют важное значение, так как позволяют прийти к следующему выводу: доказательство того, что отдельная формула есть логическое следствие конечного множества формул, эквивалентно доказательству того, что некоторая связанная с ними формула общезначима или противоречива.
Применение некоторых рассмотренных понятий и правил вывода проиллюстрируем на простом примере. Пусть в некоторой предметной области справедливы следующие утверждения: если скорость движения конвейера непостоянна, то точность захвата роботом заготовки и установки ее под пресс уменьшается; если точность установки заготовки под пресс уменьшается, то увеличивается процент изготовления бракованных изделий. Предположим, что скорость движения конвейера непостоянна. Из этого можно заключить, что увеличился процент изготовления брака. Чтобы установить это заключение, обозначим утверждения:
1.F1 : если скорость движения конвейера непостоянна (S), то точность захвата роботом заготовки и установки ее под пресс уменьшается (Р).
2.F2 : если точность установки роботом заготовки под пресс уменьшается (Р), то увеличивается процент бракованных изделий (U).
3. F3: скорость движения конвейера непостоянна (S).
4. F4: увеличивается процент бракованных изделий (U).
Эти утверждения выразим в символической форме:
F1
:
S
P;
F2:
Р
U;
F3:
S; F4:
U.
Покажем,
что F4
истинно,
как только
истинно.
Преобразуем формулу
в
нормальную форму:
(
по формуле (2))
(по
коммутативному закону)
(
по формуле (36))
(по
формуле (7))
(по
формуле (8а))
(по
формуле (36)
(по
формуле (7))
(по
формуле (96))
(по
формуле (8 а)) Следовательно, если формула
истинна,
то
формула
тоже
истинна.
Так как
истинна,
только если S,
Р и
U
все
истинны, заключаем, что U
истинна.
Таким образом, U
есть
логическое следствие формул F1
, F2
и
F3.
При использовании для вывода теоремы дедукции или теоремы о противоречивости сначала задачу описывают формулами, а затем доказывают, что эти формулы общезначимы или противоречивы.
Перейдем к логике предикатов первого порядка.
В логике предикатов первого порядка вводятся еще три логических понятия: термы, предикаты и кванторы.
Вначале рассмотрим понятие атомарной формулы в логике предикатов. Оно шире аналогичного понятия в логике высказывай, так как там атомарная формула рассматривается как единое целое, ее структура и состав не анализируется. Поэтому реализация многих рассуждений в логике высказываний невозможна.
Для построения атомарных формул используются следующие типы символов:
индивидные символы (имена объектов), или константы (строчные буквы а, b, с,...);
символы
предметных переменных (строчные буквы
x,y,z....),которые
пробегают значения из некоторых множеств
,
,
,...;
функциональные символы (строчные буквы f, g, h,... или осмысленные слова из строчных букв);
предикатные символы (прописные буквы Р, Q, R,... или осмысленные слова из прописных букв).
Всякая
функция или предикатный символ имеет
определенное число аргументов (тогда
говорят: n-местный
функциональный символ или п-местный
предикатный символ). Терм есть всякая
константа или переменная. Если f
есть
n-местный
функциональный символ и
,...
—
термы, то f(
,...
)
— терм.
Предикат
есть отображение, которое отображает
список констант в И и Л. Предикат Р(
,...
),
где
Р
—
n-местный
предикатный символ и
,...
—
термы, является атомарной формулой
логики предикатов первого порядка.
С
помощью атомарных формул и введенных
ранее пяти логических связок можно
строить различные формулы и выражения.
Кроме того, дополнительно используются
два специальных символа
и
,
чтобы характеризовать переменные.
Символы
и
называются
соответственно кванторами общности и
существования. Областью действия
квантора, входящего в формулу, является
формула, к которой он применяется. В
формулах, состоящих более чем из одной
предикатной буквы, используют фигурные
скобки для обозначения области действия
кванторов. Так,
х{
} означает,
что любая переменная х
в
этих скобках относится к квантору
.
Вхождение переменной х в формулу называется связанным, когда х является переменной входящего в эту формулу квантора или находится в области действия входящего в эту формулу квантора. В противном случае вхождение переменной х в данную формулу называется свободным.
Одна
и та же переменная может иметь свободные
и связанные вхождения в одну и ту же
формулу. Например, в формуле
первое
вхождение переменной х
свободно,
а второе и третье — связанные. Переменная
у
свободна,
так как единственное вхождение у
свободно.
Переменная называется свободной
(связанной) в данной формуле, если
существуют свободные (связанные) ее
вхождения в эту формулу.
Формула
логики предикатов Р(х)
(в
скобках можно показывать зависимость
Р
именно
от х,
хотя
в Р(х)
помимо
х
могут
быть другие свободные переменные)
свободна для переменной у,
если
в Р
отсутствуют
свободные вхождения х,
входящие
в область действия кванторов
у
или
у.
Подставить
переменную у
вместо
переменной х
в
предикатную формулу Р
—
это значит заменить каждое свободное
вхождение переменной х
в
Р
вхождением
у.
Например,
если формула Р(х)
есть
Н(х,
z)
yQ(y),
то
она свободна для у,
но
если Р(х)
есть
Н(х)
yQ(x,
у), то
она не свободна для у
(подробнее
об этом см., например, в [108, 110]).
Выражение,
которое строится из атомарных формул,
логических связок и кванторов, есть
правильно построенная формула (или
формула) логики предикатов. Атомарная
формула есть ППФ. Если Р
и
Q
—
ППФ, то (
P),
(P
Q),(P
Q),
(P
Q),
(P
Q)
—
ППФ.Если
Р - ППФ,а x-пе-ременная
в Р,
то
хР
и
хР
—
ППФ.
Формула имеет определенный смысл, т. е. обозначает определенное утверждение, если существует какая-либо интерпретация.
Интерпретация
формулы Р
логики
предикатов состоит из непустой предметной
области D
и
указания значений всех констант,
функциональных символов и предикатов
из Р.
Каждой
константе ставится в соответствие
определенный элемент из D;
каждому
n-местному
функциональному символу — n-местная
функция, отображающая
в
D
;
каждому n-местному
предикатному символу — отображение
в {И, Л}.
В логике предикатов в качестве нормальной формы выступает предваренная нормальная форма (ПНФ). Целью преобразования исходных формул в ПНФ является упрощение процедуры доказательства, что будет рассмотрено дальше.
Формула Р находится в ПНФ, если она имеет вид
где
каждое
,
i=1,...,n,
есть
или
;
М—формула,
не содержащая кванторов; выражение
,...,
называется
префиксом, М
—
матрицей формулы Р.
Помимо рассмотренных эквивалентных формул логики высказываний в логике предикатов используются другие пары эквивалентных формул, содержащие кванторы. Их также называют законами. Формулы содержат только переменную х для акцентирования вхождения этой переменной, хотя формулы могут содержать и другие переменные:
(10а)
(106)
(11а)
(116)
(12а)
(126)
(13а)
(136)
(14а)
(146)
В
выражениях (14а) и (146) производится
переименование связанных переменных
при условии, что переменная у
не
появляется в формуле Р(х).
Если
в
(14а) и
в
(146), то не надо переименовывать х
в
хН(х)
. Можно
использовать выражение (13).
Применяя законы (1) — (9) и законы (10) — (14), можно преобразовать формулу Р в предваренную нормальную форму ПНФ.
Рассмотрим основные правила в логике предикатов.
Правила
обобщения
(правило
связывания квантором общности). Пусть
Q
—
формула, не содержащая свободных
вхождений переменной х;
Р(х) —
формула. Тогда, если формула
выводима,
то формула
также
выводима.
Правило
связывания квантором существования.
Пусть
Q
—
формула, не содержащая свободных
вхождений переменной х;
Р(х) —
формула. Тогда если формула
выводима,
то формула также
выводима.
Правило
универсальной конкретизации.
Пусть
Р(х)
—
формула, свободная для переменной у.
Тогда
из формулы
выводится
формула
Р(у) подстановкой в Р(х) вместо переменной х переменной у, т. е. если предикат Р выполняется для всех х, то он выполняется также для любого у.
Правило
специализации.
Это
правило применяется для определения
конкретного значения квантора общности,
т. е. если некоторому классу объектов
присуще какое-либо свойство, то любой
объект этого класса будет обладать этим
свойством:
хР(х),
а
Р(а).
Правило
конкретизации для квантора существования.
Это
правило позволяет перейти от формулы
хР(х)
к
высказыванию Р(а).
Пусть
а
—
определенный элемент, такой, что если
хР(х)
истинно,
то Р(а)
также
истинно. Тогда
хР(х)
Р(а).
Эти правила вывода наряду с приведенными правилами подстановки, заключения (Modus ponens), теоремой дедукции и др., а также законы эквивалентных преобразований обладают для логики предикатов универсальной истинностью и могут применяться либо для установления истинности утверждений в целом, либо для вывода заключения или доказательства логических следствий.
При представлении знаний о предметной области с использованием логики предикатов первого порядка, когда знания выражаются в форме ППФ, реализация рассуждений возможна не только путем использования приведенных правил и теорем, но и таких методов, как обратная и прямая цепочка рассуждений.
Рассмотрим это на небольшом примере. Предположим, имеется следующая информация, данная как утверждения:
1.R1 является реакцией п-го порядка.
2.Порядок реакции R1 есть 2.
З.Если х есть реакция п-го порядка и п>0, то кривая нормальной концентрации реакции х повышается монотонно.
4.Кривая нормальной концентрации реакции R1 вогнута.
5.Если кривая нормальной концентрации реакции х повышается монотонно, то реакторы должны быть связаны в серию.
6.Если кривая нормальной концентрации реакции х вогнута, растет монотонно и реакторы связаны в серию, то реакторам должно быть задано поддерживать концентрацию в реакторах насколько возможно высокой.
Эти утверждения могут быть переведены в логику первого порядка.
Для этого введем следующие предикатные символы:
R — тип реакции; Q — порядок реакции, Н — больше; С — кривая линия нормальной концентрации; S — связь реакторов; А — задание реакторам.
Тогда приведенные выше утверждения будут иметь следующий вид:
1. R(R1,n - порядок),
2. Q(R1,2).
3.
x{R(x,n
- порядок)
Q(x,n)
H(x,0)}
С(х,
повышается монотонно
4. С(х, вогнута).
5.
хС(х,
повышается монотонно)
S(x,
серия).
6.
хС(х,
повышается
монотонно)
S(x,
серия)
С(х,
вогнута}
A(х,
максимум - концентрация
— реактор).
Рассмотрим вначале прямую цепочку рассуждений.
1) Применив посылки 1 и 2 к утверждению 3, получим следующее выражение:
{R(R1,
п-порядок)
Q{R1,2)
H(R1,0)j
C(R1,
повышается монотонш
2) Применив
полученный результат к утверждению 5,
получим: C(R1,
повышается монотонно)
S(R1,
серия).
3) Применяем утверждение 4 и полученные результаты к утверждению 6:
C(R1,
повышается монотонно)
S(R1,
серия)
C(R1,
вогнута)
A(R1,
максимум - концентрации - реактор) .
Здесь двумя категориями ППФ, которые представляют утвердительные знания о специальной области, являются факты и правила. Утверждения 1, 2 и 4 являются примерами фактов, а утверждения 3, 5, 6 — примерами правил.
Рассмотрим возможность использования обратной цепочки рассуждений для получения заключения. Попытаемся доказать, что реакторы для реакции R1 должны быть связаны в серию. Для этого вызывается правило 5: S (х, серия). Это целевое утверждение может быть доказано, если будет доказана его подцель: С (х, повышается монотонно). Последнее доказывается использованием правила 3, если могут быть доказаны следующие три подцели:
1) R(R1, n-порядок);
2)Q(R1,n);
3) Н(п,0).
Это может быть удовлетворено фактами 1 и 2, содержащимися в БЗ, и знанием отношений числовых величин, которые предполагаются содержащимися в системе. Результатом является доказательство того, что цель S (х, серия) может быть удовлетворена имеющимися значениями.
Достоинством логики предикатов является во-первых, возможность генерации нового знания из имеющихся, во-вторых - наличие формальной процедуры доказательства и вывода логических следствий, и, в третьих, -достаточная изученность этого традиционного аппарата и хорошая воспринимаемость.
Однако в реальных системах искусственного интеллекта непосредственное применение правил и законов логики предикатов не дает желаемого результата, так как бесконтрольное применение правил вывода часто приводит к комбинаторному взрыву. Кроме того, к недостаткам этих методов относится сложность применения эвристических знаний в - процессе доказательства.
Были разработаны более эффективные методы доказательства теорем на базе логики предикатов. Они легли в основу машинных методов поиска доказательств теорем, т. е. логического следования утверждений из исходных. В этих методах для нахождения доказательств правила вывода используются механически.
К таким методам относятся метод Эрбрана и метод резолюции. Для поиска доказательства методом Эрбрана и методом резолюций необходимо выполнять процедуру стандартизации, т. е. преобразования формул в предложения. Предложение представляет собой множество дизъюнктов. В свою очередь, дизъюнкт есть дизъюнкция литер.
Процедура стандартизации состоит из следующих восьми шагов:
1.
Удаление операторов
и
. Для этого применяют законы
(1) и (2).
2.
Уменьшение области действия оператора
отрицания
,
введение его внутрь формулы. Для этого
применяют законы (4), (5) и (12).
Стандартизация переменных, т. е. переименование связанных переменных; если это необходимо. В области действия квантора связываемую им переменную можно заменить другой переменной и это не приведет к изменению значения истинности ППФ. Стандартизация переменных выполняется для того, чтобы каждый квантор имел свою собственную переменную.
Приведение к предваренной нормальной форме (ПНФ). Для этого используют законы (10), (13) и (14) для вынесения кванторов, получения префикса и матрицы формулы.
5. Приведение матрицы формулы к конъюнктивной нормальной форме (КНФ), применяя закон (За).
6.
Удаление квантора существования
.
Для этого производят так называемую
сколемизацию
предваренной нормальной формы (ПНФ).
Пусть F
есть
некоторая ПНФ. Возможны два варианта:
1)
;
2)
В
первом случае
вводится константа с,
отличающаяся от других констант из
матрицы М.
Предметная переменная
везде
заменяется этой константой с.
Квантор
вычеркивается
из префикса.
Во
втором случае
выбирается новый (r
- 1) - местный функциональный символ f,
отличающийся от других функциональных
символов. Всюду предметная переменная
заменяются
в матрице М
на
,
а квантор
вычеркивается
из префикса. Этот процесс повторяется
для всех оставшихся кванторов
.
В результате получают сколемовскую
стандартную форму формулы F,
в
которой константы и функции для замены
переменных квантора
называются сколемовскими.
7.
Удаление квантора общности
.
Все переменные в преобразованной ППФ
связанные и управляются кванторами
общности. Порядок расположения кванторов
несуществен, поэтому их можно явно не
указывать, условившись, что все переменные
в матрице относятся к кванторам
8.
Удаление оператора
.
Полученная форма является конъюнкцией
множества дизъюнктов. Она может быть
представлена множеством дизъюнктов.
В результате этих преобразований можно получить стандартную форму в виде множества дизъюнктов.
При использовании метода Эрбрана к стандартной форме формулы применяют процедуры поиска опровержения. Это делается для удобства реализации поиска, т. е. вместо доказательства общезначимости формулы доказывается, что отрицание формулы противоречиво.
Пусть S — стандартная форма формулы F, представленная в виде множества дизъюнктов. Тогда F противоречива в том случае, когда противоречива стандартная формула S.
При реализации процедуры опровержения при доказательстве теорем под формулой F подразумевается отрицание исходной теоремы, а под S — стандартная форма для формулы F. Исходная теорема общезначима, когда стандартная форма для формулы F, т.е. S противоречива. Таким образом, на входе процедуры опровержения будет стоять множество дизъюнктов S, являющееся стандартной формой отрицания исходной теоремы.
Множество дизъюнктов невыполнимо тогда, когда оно ложно при всех интерпретациях на всех областях. Из-за невозможности рассмотрения интерпретаций на всех областях строится такая область Н, что если не существует удовлетворяющей интерпретации в этой области, то ее вообще не существует, т. е. S невыполнимо тогда, когда оно ложно при всех интерпретациях в этой области. Такая область называется универсумом Эрбрана и обозначается H(S).
Пусть
—
множество констант, появляющихся в
формуле S.
Если
в S
нет констант, то в
включается
произвольная константа, например
={а}.
Для
i
= 0,1,2,...полагают
,
где
—
все пместные
функциональные символы, встречающиеся
в S,
а
—
элементы множества
.
Тогда каждое
называется
множеством констант i-го
уровня для S,
а
называется
универсумом
Эрбрана для формулы S.
При выборе любой интерпретации, т. е. при произвольном приписывании значений И и Л литерам в S, другие объекты предметной области , кроме области H(S), не потребуются. Поэтому H(S) — наиболее общая область. Если показывается, что формула S невыполнимо в предметной области H(S), то это означает, что она невыполнима и в любой области D. Доказано, что универсум Эрбрана бесконечен, но счетен.
Основное выражение — это выражение, в котором не встречаются никакие переменные.
Основной пример дизъюнкта С множества дизъюнктов S есть дизъюнкт, полученный заменой всех переменных в С элементами универсума Эрбрана S.
В том
случае, когда задается интерпретация
в области H(S)
для
множества S,
его
атомарным формулам приписываются
значения И или Л. Допустим, .
—
n-местная
атомарная формула в S.
Означивание
атомарной формулы
производится
приписыванием значений И или Л независимо
для всех ее основных примеров, получающихся
подстановкой элементов в области H(S)
вместо
переменных
.
Число основных примеров может быть
бесконечно большим для каждой атомарной
формулы. Однако если множество S
невыполнимо,
то, прежде чем будет закончено формирование
всех основных примеров каждого дизъюнкта
в этом множестве S,
станет
явным, что никакая интерпретация не
может удовлетворить S.
Множество
основных атомарных формул (основных
выражений) вида
для
всех n-местных
предикатов,
встречающихся в S,
где
—
элементы универсума Эрбрана, называется
множеством атомарных формул множества
S
или
эрбрановской базой для множества S.
Задание
интерпретации в области H(S)
заканчивается
для множества S
тогда, когда каждой атомарной формуле
эрбрановской базы приписано значение
истинности.
Рассмотрим важную теорему математической логики — теорему Эрбрана. Она гласит: множество дизъюнктов S невыполнимо тогда и только тогда, когда существует конечное невыполнимое множество S' основных примеров дизъюнктов S.
Таким
образом, метод Эрбрана базируется на
его теореме, которая предполагает
процедуру опровержения. Иначе, для
доказательства невыполнимости множества
дизъюнктов S
необходимо порождать множества
основных
примеров дизъюнктов из S
и
последовательно проверять
их на
ложность, Эта процедура, согласно теореме
Эрбрана, обнаружит такое конечное число
п,
что
невыполнимо.
Недостатком
метода Эрбрана является экспоненциальный
рост множества
основных
примеров дизъюнктов при увеличении /.
Для ограничения порождения множества
основных примеров предлагались различные
методы, но наиболее эффективным явился
метод резолюций, предложенный Дж.
Робинсоном.
Перейдем
теперь к методу резолюций.
Процедура поиска доказательства методом
резолюций может применяться к любому
множеству дизъюнктов с целью проверки
его невыполнимости. Идея метода резолюций
заключается в проверке наличия в
множестве S
пустого
(ложного) дизъюнкта
.
Если S
содержит
,
то оно невыполнимо; если не содержит —
то выводятся новые дизъюнкты до тех
пор, пока не будет получен
(это всегда имеет место для невыполнимого
S).
Метод
резолюции является правилом вывода,
при использовании которого порождаются
новые дизъюнкты из множества S.
Правило
резолюции гласит: если в любых двух
дизъюнктах
и
существует
контрарная пара литер (L
и
L),
то,
вычеркнув их, можно построить дизъюнкцию
из оставшихся частей дизъюнктов
и
.
Новый дизъюнкт есть резольвента
дизъюнктов
и
Множество
{L,
L)
называется
контрарной парой, если две литеры L
и
L
контрарные
друг другу (L
—
атомарная формула). Любая резольвента
С
двух
дизъюнктов
и
есть
логическое следствие
и
.
Это свойство доказывается в соответствующей
теореме.
Если
имеются два однолитерных дизъюнкта,
образующих контрарную пару, то их
резольвента есть пустой дизъюнкт
.
Для невыполнимого S,
применив
правила резолюций, можно породить
.
Вывод пустого дизъюнкта
из S
есть
такая конечная последовательность
дизъюнктов,
что каждый
или
является дизъюнктом из S,
или
есть резольвента предыдущих дизъюнктов,
полученная методом резолюции, и
Важным положением метода резолюций является следующее свойство полноты (оно доказывается): множество дизъюнктов S невыполнимо тогда и только тогда, когда существует вывод пустого дизъюнкта из S. Распространяя метод резолюций на логику предикатов, для образования и нахождения контрарных пар используют подстановку и унификацию. Для иллюстрации вывода на основе метода резолюций вернемся к примеру, приведенному при рассмотрении логики высказываний.
Было четыре утверждения:
,
,
,
.
Чтобы
показать, что
следует
из
,
и
,
сначала преобразуем эти утверждения в
стандартную форму. В результате получим
,
,
,
.
Докажем
путем опровержения, что U
—
логическое следствие из утверждений
и
Отрицаем
и
получаем такое доказательство:
1.
2.
3.S.
4.
(отрицание
заключения F4').
5. Р (резольвента 3 и 1).
6. U (резольвента 5 и 2).
7.
резольвента 6 и 4. Рассмотрим еще три
примера. Пример
1
Надо доказать следующее утверждение:
Если каждый человек, обманывающий других, является мошенником и если каждый, кто потворствует мошеннику, тоже считается мошенником, и существует робкий человек, потворствующий мошеннику, то некий мошенник является робким человеком.
Решение.
Для обозначения соответственно мошенничества, обмана и робости введем следующие атомарные формулы: М(х), О(х), R(x), т.е. М(х) есть истина, если х - мошенник; О(х) есть истина, если х есть обманщик, R(x) есть истина, если х есть робкий человек.
Пусть также П(х,у) еще одна атомарная формула, которая истинна, если х потворствует у.
Сформулируем утверждения в виде предложений логики предикатов первого порядка.
Тот
факт, что каждый обманщик является
мошенником, можно выразить следующим
образом:
То,
что каждый, кто потворствует мошеннику,
является обманщиком, можно записать
так:
Существование робкого человека, потворствующего мошеннику, можно представить в виде следующих предложений:
Необходимо доказать следующее утверждение:
В соответствии требованиями применения правила резолюций преобразуем высказывания к предваренной нормальной форме:
1.
2.
Р(а);
O(b);
П(а,b).
Отрицание заключения, что некий мошенник является робким человеком, означает, что любой человек либо не является мошенником, либо не является робким человеком. Это можно записать в виде следующей формулы:
6.
.
Рассмотрим резолюцию предложения 3 со вторым литералом предложения 6. Это приведет к следующему предложению:
7.
Рассмотрим резолюцию предложения 4 со вторым литералом предложения 1. Получим:
8. М(b).
Рассмотрим резолюцию предложения 8 с первым литералом предложения 6. Получим:
9.
Рассмотрим резолюцию предложения 5 с первым литералом предложения 3. Получим:
10.
Рассмотрим резолюцию предложения 7 со вторым литералом предложения 10. Получим:
11.
Получили противоречие между 8 и 11 предложениями. Утверждение доказано.
Пример 2
Надо доказать, что утверждение «Бобик смертен» следует из утверждений:
«Бобик - собака», «Собаки - это животные» и «Все животные смертны».
Решение.
Преобразуем эти предложения в предикатную форму:
Собаки - это животные:
(x)(dog(x)
ammal(x)).Бобик - это собака: dog(bobik).
Бобик - собака: animal(bobik).
Все животные смертны:
(y)(fmmal(y)
die(y)).Бобик смертен: die{bobik).
По принципу резолюции эти предикаты необходимо преобразовать в дизъюнктивную форму:
Предикатная форма
dog(bobik)
|
Дизъюнктивная форма
dog(bobik)
|
Запишем отрицание целевого утверждения «Бобик смертен»:
|
|
1. Рассмотрим резолюцию второго литерала предложения 1 с первым литералом предложения 3. Получим предложение
dog(y)
die(y).
2. Рассмотрим резолюцию второго предложения и полученного предложения с заменой у на bobik. Получим предложение: die(bobik).
Получили
предложение, которое противоречит
утверждению
die(bobik).
Пример 3
Пусть Р(х, у) - функция, которая принимает значение «истинно», если х есть часть у и значение «ложно», если х не есть часть у.
Пусть,
далее формула Р(х,у)
P{y,z)
P(x,z)
есть выражение аксиомы транзитивности. Используя эту аксиому необходимо доказать методом резолюции следующее утверждение:
если П есть часть К, К есть часть R и R есть часть Н, то П есть часть Н.
Используя функцию Р(х,у), это утверждение можно записать так:
Р(П,К)
P(K,R)
P(R,H)
Р(П,Н).
Для
доказательства этого утверждения
методом резолюции составим следующую
систему правил (предложений), причем
каждое из этих правил имеет смысл
«истина»:
1. .
.
(Перефразированная аксиома транзитивности).
2. Р(П,К). (Факт).
3. P(K,R). (Факт).
4. P(R,H). (Факт).
5.
Р(П,Н).
(Отрицание
доказываемого утверждения согласно
методу резолюции)
Символы TI,K,R,H - это константы, имеющие от предложения к предложению одно и тоже значение. Символы x,y,z - это переменные, появляющиеся в предложениях, которые истинны, какие бы новые величины в них не подставлялись. При этом вместо символов x,y,z допускаются их подстановки, если они, конечно, делаются целиком во всем том или ином предложении.
Будем искать в различных предложениях два литерала (слова), такие, что после допустимых подстановок один из них становится отрицанием другого. Очевидно, что такой литерал может быть исключен из рассматриваемого предложения, если о нем точно известно, что он имеет значение «истинно». В результате получаем новое предложение, о котором известно, что оно имеет значение «истинно». Эту операцию называют операцией получения резолюции одного литерала с другим.
Получим
вначале резолюцию литерала из предложения
2 со вторым литералом из предложения 1.
Этими литералами являются соответственно
Р(П,
К) и
Р(х,
у). Подставим
в первое предложение везде вместо
переменной х
ее
значение, равное П,
а вместо переменной у
ее
значение, равное К.
В
результате получаем новое предложение
вида
Так как предложение 2 утверждает, что высказывание Р(П,К) истинно, то второй литерал в модифицированном предложении 1 можно исключить. Поэтому получаем следующее новое предложение, которое истинно:
6.
Получим теперь резолюцию литерала из предложения 3 со вторым литералом из предложения 6. Для этого подставим в предложение 6 вместо переменной z константу R. В результате получим следующее предложение:
Так как согласно предложению 3 истинно высказывание P(K,z), то получаем следующее новое истинное высказывание:
7. Р(П,R).
Получим резолюцию литерала предложения 3 со вторым литералом предложения 1. Для этого в предложении 1 сделаем следующие подстановки: переменную х заменим на константу К, а переменную у - на константу R. В результате получим следующее предложение:
Так как согласно 3 предложение P(K,R) истинно, то получаем новое истинное предложение:
8.
Получим резолюцию литерала предложения 4 со вторым литералом предложения 8. Для этого в предложении 8 вместо переменной z подставим константу Н. В результате получим следующее предложение:
Так как согласно 4 предложение P(R,H) истинно, то получим следующее новое истинное высказывание:
9. Р(К,Н).
Получим резолюцию литерала из предложения 5 с первым литералом из предложения 6. Для этого в предложении 6 переменную z заменим на константу Я. Получим следующее предложение:
Так
как согласно 5 истинно предложение
Р(П,
Н), то получим еще одно истинное
предложение:
10.
Р{К,Н).
Получили противоречие, состоящее в том, что одновременно справедливы два противоположных высказывания, а именно высказывание 9 и высказывание 10.
Тем самым доказано, что высказывание 5 неверно, а значит верно противоположное ему высказывание, что если П есть часть К, К есть часть R и R есть часть Н, то П есть часть Н.
Недостатком метода резолюций является то, что неограниченное применение правила резолюций может вызывать порождение большого числа дизъюнктов, многие из которых лишние и не относятся к делу, хотя и являются вполне корректными. Кроме того, для выполнимого множества дизъюнктов процедура, основанная на методе резолюций, будет продолжаться бесконечно.
Надо отметить, также, что методы резолюций неприемлемы в случае сложных проблем, так как пространство поиска, образуемое ими, возрастает экспоненциально числу формул, используемых для описания проблемы.
Из-за указанных недостатков дедуктивные методы поиска решений не находят в настоящее время широкого применения на практике и используются для проблемных областей с небольшим пространством поиска. Для более эффективного поиска решений необходимо использовать в системе эвристические знания о самом процессе решения задачи.
Слабостью универсальных формальных дедуктивных систем является то, что они не в состоянии учитывать специфику конкретных предметных областей. Поэтому другим направлением развития дедуктивных методов поиска решений явилась разработка планирующих систем и интеллектуальных решателей, ориентированных на проблемную область. Логический вывод в этих системах также преимущественно базируется на методе резолюций . В этих системах производятся аксиоматизация знаний о проблемной области и манипулирование ими при функционировании системы. Планирующие системы ориентированы преимущественно для нахождения целесообразного поведения интеллектуального робота.
Преимущества глубоко изученных логических моделей и дедуктивных методов (универсальность и определенность как формальной системы) послужили основой разработки специальных логических языков высокого уровня, таких, как Пролог. Эти языки помогают структурировать дедуктивную проблему и обеспечивают различные встроенные функции, соединяются с характеризующими проблему формулировками и правилами эвристического руководства. Они определяют направление, которое использует вычислительная логика в попытке управлять сложными проблемами реального мира.
