Научная статья на тему 'Метод резолюций'

Метод резолюций Текст научной статьи по специальности «Математика»

CC BY
710
62
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОД РЕЗОЛЮЦИЙ

Аннотация научной статьи по математике, автор научной работы — Рыбин Сергей Витальевич

В издательстве «Академия» готовится к изданию книга «Дискретная математика» (авторы С.Н. Поздняков, С.В. Рыбин). На основе одного из разделов этой книги С.В. Рыбин написал статью, цель которой подготовить читателя к эффективному использованию программного продукта, описанного в следующей статье (авторы В.И. Шульженко, П.А. Эмман).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Метод резолюций»

Рыбин Сергей Витальевич

МЕТОД РЕЗОЛЮЦИЙ

В издательстве «Академия» готовится к изданию книга «Дискретная математика» (авторы С.Н. Поздняков, С.В. Рыбин). На основе одного из разделов этой книги С.В. Рыбин написал статью, цель которой подготовить читателя к эффективному использованию программного продукта, описанного в следующей статье (авторы В.И. Шуль-женко, П.А. Эмман).

Рассмотрим метод резолюций применительно к логике высказываний.

ВВЕДЕНИЕ

Напомним некоторые основные понятия логики высказываний.

Определение.

Символы истины 1 и лжи 0 назваются логическими константами (или в дальнейшем просто константами).

Логическими переменными (в дальнейшем просто переменными) называются буквы X, У, ^ ... с индексами и без них, значениями которых могут быть 1 или 0.

Формулами логики вы1сказы1ваний называются:

1) логические переменные и константы;

2) выражения вида (Г) л (О), (Г) V (О), 0Г), (Г) ^ (О), (Г) о (О), где Е и в -формулы логики высказываний.

Замечание.

Формулу Е, в которую входят переменные Х1,Х2,...,Хп, будем обозначать Г(Х1,Х2,...,Хп). Более того, будем пользоваться последним обозначением, даже если некоторые из переменных отсутствуют в записи формулы Е, то есть являются фиктивными переменными.

Благодаря введению фиктивных переменных, можно считать, что наборы переменных у двух формул логики высказываний совпадают.

Если строго следовать определению, то в формуле надо писать много скобок. Это неудобно для восприятия формулы. Чтобы уменьшить количество скобок, примем следующие соглашения:

1) внешние скобки в формуле можно опускать;

2) внутренние скобки в формуле можно опускать с учетом приоритета (силы связывания) для связок.

Будем считать, что 0 имеет наивысший приоритет, затем в порядке уменьшения приоритета следуют связки л, V, ^, и самый маленький приоритет имеет связка о. Связки одного старшинства применяются в порядке их следования слева направо.

Будем опускать символ конъюнкции л, то есть, вместо выражения Х л У, писать просто ХУ, если его присутствие будет очевидно из контекста.

Вместо символа отрицания 0Х, будем писать Х .

Задание формулы позволяет определять соответствие формулы синтаксису ло-

гики высказываний (проводить синтаксический анализ). Введем понятие значения (смысла) формулы, то есть семантику логики высказываний.

Рассмотрим формулу Е (Х1, X 2,..., Хп). Если задать значения всех входящих в формулу переменных,

X = а, Х2 =а2,.., Хп =ап, а = 0,1,

то, используя таблицу истинности для логических связок, можно вычислить значение всей формулы на этом наборе:

Е(а1,а2,...,ая) = Ь, Ь = 0,1.

В этом случае говорят, что задана интерпретация формулы ¥ на наборе (а,...ап). Такие наборы из нулей и единиц называются булевыми наборами.

Таким образом, чтобы определить значение формулы, нужно задать ее интерпретацию на всех возможных булевых наборах значений входящих в нее переменных.

Таблица 1 называется таблицей истинности для формулы ¥. Каждая строка таблицы соответствует интерпретации формулы ¥ на данном булевом наборе.

Нетрудно привести примеры формул, которые, являясь синтаксически различными, имеют одинаковые значения. Например, формулы Е(X, У) = X V У и 0(Х, У) = У V X. Подобные формулы будем называть равносилъныши и писать Е = О. Для доказательства равносильности двух формул достаточно показать, что их таблицы истинности идентичны. В дальнейших рассуждениях мы будем использовать следующие равносильности:

Е о О = (Е ^ О)л(О ^Е), Е ^ О = Е V О,

Е (О V Н ) = ЕО V ЕН, Е V О = ЕО, ЕО = Е V О.

Доказательство равносильности очевидным образом следует из рассмотрения таблиц истинности для левых и правых частей.

Третья равносильность называется законом дистрибутивности и позволяет раскрывать скобки в сложных логических

Таблица 1.

0 0 0 0 Е (0,0,. ..,0,0)

0 0 0 1 Е (0,0,. ..,0,1)

— — — — —

1 1 1 0 Е (1,1,.. ,1,0)

1 1 1 1 Е (1,1,.. ,1,1)

выражениях, а последние две - законами де Моргана. Кроме того, легко показать, что логические операции конъюнкции и дизъюнкции обладают свойствами коммутативности и ассоциативности.

ЛОГИЧЕСКОЕ СЛЕДСТВИЕ

Рассмотрим вопрос: является ли данное утверждение следствием других. Введем необходимые понятия.

Определение.

Формулу О(X,...Xп) называют логическим следствием формул

Е (X,-^),..., Ек (X,... X),

если для любой интерпретации на наборе (а,...ап) из того, что

Е (а1,-ап ) = Ек (а1,-ап ) = 1 следует, что О (а1,...ап ) = 1.

Задача.

На складе совершено хищение. Подозрение пало на трех человек: Брауна, Джонсона и Смита, они были доставлены для допроса. Установлено следующее:

1. Никто, кроме Брауна, Джонсона и Смита, не был замешан в деле.

Таблица 2.

2. Браун никогда не ходит на дело без, по крайней мере, одного соучастника.

3.Смит не виновен.

Ответим на вопрос: виновен ли Джонсон?

Обозначим через Х утверждение -Браун виновен, через У - Джонсон виновен, через 2 - Смит виновен. Запишем факты 1-3 с помощью формул исчисления высказываний:

Г(Х,У,2) = Х V У V 2, Г2(Х,У,2) = Х ^ У V2, Г3(Х,У,2) = 02.

Предполагаемый ответ: Джонсон виновен обозначим через в. Проверим, является ли формула в логическим следствием формул {Г, Г2, Г3}. Построим совместную таблицу истинности для формул {Г,Г2,Г3} и в (см. таблицу 2).

Рассматриваем только те интерпретации, в которых все формулы {Г, Г2, Г3} истинны. Таких интерпретаций только две (в таблице они выделены серым цветом). В этих интерпретациях значение формулы в также истинно. Следовательно, формула в - логическое следствие, то есть Джонсон виновен.

X У 2 Е Е2 Ез в

0 0 0 0 1 1

0 0 1 1 1 0

0 1 0 1 1 1 1

0 1 1 1 1 0

1 0 0 1 1

1 0 1 1 1 0

1 1 0 1 1 1 1

1 1 1 1 0

Понятие логического следствия тесно связано с понятием выполнимости.

Определение.

Множество формул

Г (Х1,кХп),...,Г (Х1,кХп)

называют выполнимым, если существует интерпретация (о,...оп) такая, что

Г (о^-о, )=х..^ рк (о^-о, )=ь

Проверить выполнимость множества формул {Г,к,Гк} можно построением совместной таблицы истинности этих формул. Если найдется хотя бы одна строка, в которой в столбцах формул стоят единицы, то это множество формул выполнимо. Если такой строки нет, то множество формул невыполнимо. Например, множество формул {Г,Г2,Г3,0} из последнего примера - выполнимо.

В дальнейшем будет необходимо следующее утверждение.

Теорема.

Формула в является логическим следствием формул {Г,к,¥к} тогда и только тогда, когда множество формул {Г,••■,Гк,0О} - невыполнимо.

Доказательство проводится непосредственно по определению логического следствия. Подробности можно найти, например, в [1].

КОНЪЮНКТИВНАЯ НОРМАЛЬНАЯ ФОРМА

Нам будет удобно рассматривать, вместо формул общего вида, формулы в не-

которой канонической форме. Дадим необходимые определения.

Определение.

Литералом называют переменную или ее отрицание, элементарной дизъюнкцией, или дизъюнктом называют литерал или дизъюнкцию литералов.

Формула О имеет конъюнктивную нор-малъную форму (КНФ), если она является конъюнкцией элементарных дизъюнкций.

Справедлива следующая теорема.

Теорема.

Для любой формулы ¥ существует формула О, равносильная ¥ и имеющая конъюнктивную нормальную форму.

Доказательство будет следовать из рассмотрения алгоритма, который по данной исходной формуле выдает формулу, удовлетворяющую условию теоремы.

Алгоритм.

Шаг 1. Используя приведенные выше равносильности, исключаем из исходной формулы эквиваленцию и импликацию.

Шаг 2. С помощью законов де Моргана заносим знак отрицания к переменным.

Шаг 3. Если формула содержит подформулу вида Е (О V Н), то, согласно закону дистрибутивности, заменяем ее на равносильную формулу ЕО V ЕН.

Пример.

В качестве примера работы алгоритма рассмотрим формулу

Е(X,У,г) = (( Vг)( ^ У).

Приводим формулу к КНФ: ((уХ)( ^ У) = Xz((VУ) = Xz VXУ .

В последнем преобразовании мы использовали очевидную равносильность (закон поглощения конъюнкции) XX = X, а также свойство коммутативности конъюнкции.

МЕТОД РЕЗОЛЮЦИЙ В ЛОГИКЕ ВЫСКАЗЫВАНИЙ

Рассмотрим еще один метод доказательства того, что формула О является логическим следствием формул {Е, — Ек},

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

который называют методом резолюций. Особенность метода состоит в том, что он оперирует не с произвольными формулами, а с дизъюнктами.

Замечание.

Условимся не различать дизъюнкты, которые получаются один из другого с помощью коммутативности и ассоциативности дизъюнкции, а также закона поглощения дизъюнкции (X V X = X). Например, X V у V X V г = у V г V X.

Введем в рассмотрение пустой дизъюнкт, то есть дизъюнкт, не содержащий литералов. В методе резолюций его обычно обозначают . Считаем, что пустой дизъюнкт ложен при любой интерпретации, то есть равен константе 0. Например, формула Е а равносильна , а формула Е V равносильна ¥.

Определение.

Литералы X и X называют противоположными, или контрарными.

Правилом резолюций в логике высказываний называют следующее правило: из дизъюнктов X V Е и X V О выводим дизъюнкт Е V О.

Последний называют резолъвентой исходной пары дизъюнктов.

Пример.

Из дизъюнктов X V У V 2 и X V У выводим дизъюнкт У V X V У. Заметим, что в данных дизъюнктах есть еще одна пара противоположных литералов.

Применять правило резолюций не обязательно к самым левым литералам (поскольку не различаются дизъюнкты, отличающиеся порядком записи литералов). Тогда правило резолюций, примененное к литералам У и У этих дизъюнктов, даст

X V г V X.

Замечание.

В дизъюнктах не будем писать повторяющиеся литералы и пустой дизъюнкт , если есть другие литералы.

Обоснуем правило резолюций. Справедливо утверждение.

Лемма.

Резольвента есть логическое следствие породивших ее дизъюнктов.

Рассмотрим дизъюнкты X V Е и X V О. Составим совместную таблицу истинности порождающих дизъюнктов и резольвенты (таблица 3).

Согласно определению формула Е V О есть логическое следствие формул X V Е и X V О.

Определение.

Пусть 5 - множество дизъюнктов. Резолютивным вышодом, или просто выводом из 5, называют последовательность дизъюнктов Д,—,Дп такую, что каждый дизъюнкт этой последовательности принадлежит 5 или следует из предыдущих по правилу резолюций.

Дизъюнкт А вы1водим из 5, если существует вывод из 5, последним дизъюнктом которого является А.

Вывод пустого дизъюнкта из 5 называют опровержением Б.

Пример.

Пусть 5 = {X V У, г V X V У, У}, тогда последовательность Д = 2 V X V У, Д2 = У, Д = г V X, Д4 = X V У, Д = У V г является выводом из 5. Дизъюнкт У V 2 выводим из 5.

Применение метода резолюций основано на следующем утверждении.

Теорема.

Множество дизъюнктов логики высказываний 5 невыполнимо тогда и только

Таблица 3.

тогда, когда из 5 выводим пустой дизъюнкт.

Доказательство можно найти в [1-3].

Используя теорему, построим алгоритм для определения того, является ли формула О логическим следствием множества формул {;,—,Ек}.

Алгоритм.

Шаг 1. Составляем множество формул Т = {Е1, —, Ек, О}.

Шаг 2. Каждую из формул множества Т приводим к КНФ и в полученных формулах зачеркиваем знаки конъюнкции. Получаем множество дизъюнктов 5.

Шаг 3. Строим опровержение 5.

Если на шаге 3 построено опровержение 5, то формула О есть логическое следствие формул {¡, —,Ек}. Иначе О не является их логическим следствием.

Обоснованием алгоритма служит следующая теорема.

Теорема.

Множество формул Т и множество дизъюнктов 5 полученное на шаге 2 алгоритма, одновременно выполнимы (или невыполнимы).

Действительно, пусть формула О, есть КНФ формулы Е е Т. Тогда о1 = дк а вк а • • • Д . В силу определения конъюнкции, очевидно, что выполнимость формулы О, равносильна выполнимости множества дизъюнктов Дк, Дн,..., Д .

Пример.

Применим метод резолюций для решения задачи о хищении на складе. Множество формул Т имеет вид:

т={е = X V у V г, Е2 = X ^ у V г, Е3 = 2, О=У}.

После выполнения шага 2 получаем множество дизъюнктов:

5 = {Д = X V у V г, Д2 = X V у V г,

Аз = 2, д = У}.

Строим опровержение 5. Над знаком равенства будем указывать пару порож-

X Е О X V Е X V О Е V О

0 0 0 0 1 1

0 0 1 0 1 1

0 1 0 1 1 1

0 1 1 1 1 1

1 0 0 1 0 1

1 0 1 1 1 1

1 1 0 1 0 1

1 1 1 1 1 1

дающих дизъюнктов, если очередной дизъюнкт получен по правилу резолюций.

а2, а о5а3

А, А, а = У V 2, А, А = У,

А А

, А, А = .

Следовательно, формула в - логическое следствие, то есть Джонсон виновен.

В множестве дизъюнктов часто существует не одна пара дизъюнктов, к которым можно применить правило резолюций. Способ выбора дизъюнктов и литералов в них, к которым применяется правило резолюций для получения резольвенты, называют стратегией метода. Рассмотрим простейшую стратегию, которую называют стратегией насыщения уровней.

Далее считаем, что множество дизъюнктов 5 упорядочено.

Стратегия насыщения уровней есть, по сути, наиболее простой способ организации полного перебора возможных вариантов. Сформулируем ее в виде алгоритма.

Алгоритм.

Шаг 1. Положим Б0 = £. Пусть А пробегает по порядку множество дизъюнктов

, начиная со второго. В качестве А рассматриваем последовательно дизъюнкты из £0, предшествующие А, начиная с первого, и формируем последовательность

, состоящую из всевозможных резольвент дизъюнктов А и А.

Шаг п. Пусть получены последовательности £0, £1,к, £п-1. Строим последовательность Бп следующим образом. В качестве А берутся по порядку дизъюнкты

из Бп _1, а в качестве А1 - дизъюнкты из £0 и и к и £п-1, предшествующие А2. Последовательность Бп будет состоять из всевозможных резольвент дизъюнктов А1 и А. При этом, если резольвента совпадает с одним из дизъюнктов, принадлежащим уровням £0, £1,к, Бп _1, она не включается в текущий уровень.

Процесс порождения резольвент прекращается, как только получается пустой дизъюнкт.

Уровнями называют построенные последовательности дизъюнктов £0, £1,к, Бп.

Пример.

Применим стратегию насыщения уровней для решения задачи о хищении на складе. Как и ранее над знаком равенства будем указывать пару порождающих дизъюнктов.

Шаг 1. Строим уровень :

Г Аг, А АзА

£ = ^ А5 = У V 2, А6 = Х V У,

А. А

А = X V 7. А = X v Z. А = X v z у. Шаг 2. Строим уровень S2:

D5. D3 D5A4 D6.Di

S2 =í D9 = 7. Ac = z. Djj = X.

d,2 = X у.

Шаг 3. Строим уровень £3:

S3 =í Аз =

Более глубоко метод резолюций и его различные стратегии описаны в [1].

Литература

1. Ч. Чень, Р. Ли. Математическая логика и автоматическое доказательство теорем. М.: Мир, 1983.

2. Карпов Ю.Г. Теория автоматов. СПб.: Питер, 2003.

3. Новиков Ф.А. Дискретная математика для программистов. СПб.: Питер, 2005.

Рысбин Сергей Витальевич, кандидат физико-математических наук, доцент кафедры1 ВМ-2 СПбГЭТУ «ЛЭТИ».

© Наши авторы. 2006 Ourauthors. 2006.

i Надоели баннеры? Вы всегда можете отключить рекламу.