Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 3170 / 268 | Оценка: 4.08 / 3.92 | Длительность: 15:40:00
ISBN: 978-5-9556-0110-6
Специальности: Программист, Математик
Лекция 3:

Булевы функции и их представления

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >

Булевы функции и логика высказываний

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

Булевы функции могут служить полезным инструментом при решении многих логических задач.

Каждую переменную можно рассматривать как некоторое элементарное высказывание, принимающее одно из двух значений: 1 (истина) или 0 (ложь). Сложным высказываниям сооответствуют формулы, построенные из элементарных высказываний с помощью логических связок. Вычисляя значения задаваемых ими функций, можно устанавливать зависимости истинностных значений сложных высказываний от значений входящих в них элементарных высказываний. Рассмотрим следующий пример.

Пример 3.1.Пусть известно, что в дорожном проишествии участвовали три автомобиля с водителями A, B и C. Свидетели проишествия дали следующие показания:

  • 1-ый свидетель: если A виновен, то из остальных B и C хоть один не виновен;
  • 2-ой свидетель: если C не виновен, то виновен кто-то один из пары A, B но не оба вместе;
  • 3-ий свидетель: в столкновении виновны не менее двух водителей.

Опишите показания свидетелей в виде булевых формул и постройте таблицу значений их конъюнкции. Можно ли на основании этих показаний сделать вывод, что C является виновником проишествия? Можно ли однозначно определить второго виновника?

Для ответа на эти вопросы введем три переменные, соответствующие следующим высказываниям: X1 : " виновен A ", X2 : " виновен B " и X3 : " виновен C ". Тогда показания 1-го свидетеля описываются формулой \Phi _{1}=(X_{1} \to (\neg X_{2} \vee  \neg X_{3})), показания 2-го свидетеля - \Phi _{2}= (\neg  X_{3} \to  (( X_{1} \vee  X_{2}) \wedge  \neg (X_{1} \wedge  X_{2}))), а 3-го свидетеля - \Phi _{3}= ((X_{1} \wedge  X_{2})\setminus vee ((X_{1} \wedge  X_{3}) \vee ( X_{2} \wedge  X_{3}))). Показаниям всех трех свидетелей соответствует конъюнкция этих формул \Psi = (\Phi _{1} \wedge (\Phi _{2} \wedge  \Phi _{3})). Составим таблицы значений для функций f_{\Phi i} (i=1,2,3)      , а затем - для f_{\Psi }.

Таблица 3.5. Функция f_{\Phi 1}
X1 X2 X3 (X1 \to (\neg X2 \vee \neg X3))
0 0 0 0 1 1 0 1 1 0
0 0 1 0 1 1 0 1 0 1
0 1 0 0 1 0 1 1 1 0
0 1 1 0 1 0 1 0 0 1
1 0 0 1 1 1 0 1 1 0
1 0 1 1 1 1 0 1 0 1
1 1 0 1 1 0 1 1 1 0
1 1 0 1 1 0 1 1 1 0
1 1 1 1 0 0 1 0 0 1
Таблица 3.6. Функция f_{            \Phi 2          }
X1 X2 X3 (\neg X3 \to (( X1 \vee X2) \wedge \neg (X1 \wedge X2)))
0 0 0 1 0 0 0 0 0 0 1 0 0 0
0 0 1 0 1 1 0 0 0 0 1 0 0 0
0 1 0 1 0 1 0 1 1 1 1 0 0 1
0 1 1 0 1 1 0 1 1 1 1 0 0 1
1 0 0 1 0 1 1 1 0 1 1 1 0 0
\ 1 0 1 0 1 1 1 1 0 1 1 1 0 0
1 1 0 1 0 0 1 1 1 0 0 1 1 1
1 1 1 0 1 1 1 1 1 0 0 1 1 1
Таблица 3.7. Функция f_{            \Phi 3          }
X1 X2 X3 ((X1 \wedge X2) \vee ((X1 \wedge X3) \vee ( X2 \wedge X3)))
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 1 0 0 0 1
0 1 0 0 0 1 0 0 0 0 0 1 0 0
0 1 1 0 0 1 1 0 0 1 1 1 1 1
1 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 1 1 0 0 1 1 1 1 1 0 0 1
1 1 0 1 1 1 1 1 0 0 0 1 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1
Таблица 3.8. Функция f_{            \Psi }
X1 X2 X3 (\Phi1 \wedge (\Phi2 \wedge \Phi3))
0 0 0 1 0 0 0 0
0 0 1 1 0 1 0 0
0 1 0 1 0 1 0 0
0 1 1 1 1 1 1 1
1 0 0 1 0 1 0 0
1 0 1 1 1 1 1 1
1 1 0 1 0 0 0 1
1 1 1 0 0 1 1 1

Из этой таблицы следует, что f_{\Psi }(X_{1},X_{2},X_{3})=1 на двух наборах: (X1=0, X2=1, X3=1) и (X1=1, X2=0, X3=1) (строки с этими наборами подчеркнуты). Поскольку в обоих случаях X3=1 , можно сделать вывод, что С является одним из виновников проишествия. Однозначно определить второго виновника полученная от свидетелей информация не позволяет, так как в одном случае им является А, а в другом - В.

Важную роль в логике играют понятия тождественно истинной и выполнимой формулы.

Определение

Булева формула \Phi называется тождественно истинной, если она истинна при любых значениях входящих в нее переменных, т.е. функция f_{\Phi } тождественно равна 1.

Булева формула \Phi называется выполнимой, если существует такой набор значений переменных, на котором она истинна, т.е. функция f_{\Phi } равна 1 хоть на одном наборе аргументов.

Как проверить тождественную истинность или выполнимость формулы \Phi? На первый взгляд кажется, что ответ прост - построим по \Phi таблицу для функции f_{\Phi }, и, если в столбце значений стоят только единицы, то заключаем, что \Phi тождественно истинна, если там есть хоть одна единица, то \Phi выполнима. К сожалению, этот способ пригоден только для формул с небольшим числом переменных. Уже для нескольких десятков и сотен переменных он не годится из-за большого размера получающейся таблицы - нетрудно подсчитать, что число 290 превосходит количество атомов во всей видимой вселенной.

В математической логике построены аксиоматические системы, позволяющие формализовать человеческие рассуждения о выводимости одних тождественно истинных формул из других (см., например, [15]). В некоторых случаях они позволяют доказать тождественную истинность достаточно длинных формул, имеющих регулярную структуру. Но в общем случае и они практически не применимы для произвольных формул с большим числом переменных.

В теории сложности алгоритмов имеется ряд результатов (они выходят за рамки нашего курса), которые свидетельствуют о том, что эффективных алгоритмов для проверки выполнимости или тождественной истинности произвольной булевой формулы не существует. Вместе с тем для некоторых подклассов формул эти задачи решаются достаточно эффективно. Один такой подкласс - Хорновские формулы - будет рассмотрен далее в "Хорновские формулы и задача получения продукции"

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Елена Алексеевская
Елена Алексеевская

Это в лекции 3.

Татьяна Дембелова
Татьяна Дембелова

Почему в вводной лекции курса Основы дискретной математики одним из свойств отношения частичного порядка упоминается антирефлексивность? Посмотрела в других источниках, там -0  рефлексивность... http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0