Найти в Дзене
Работа, учёба и отдых

Основные базисы и нормальные формы для логических формул

В лекции [https://zen.yandex.ru/media/id/603a418d1684900aa2499416/vozmojnosti-wolframalpha-dlia-logiki-vyskazyvanii-62425b1063dc376f1cb81248] показана возможность построения таблиц истинности для формул логики высказываний в вопросно-ответной системе Wolfram|Alpha.

Однако это не единственная функциональность этой вопросно-ответной системы Wolfram|Alpha для логики высказываний.

Рассмотрим следующее Упражнение.

Для заданной формулы необходимо:

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

2) записать заданную формулу в базисе {И, НЕ};

3) записать заданную формулу в базисе {ИЛИ, НЕ};

4) построить для заданной формулы таблицу истинности.

5) записать для заданной формулы СДНФ и СКНФ;

6) построить для формул п. 1-3, 5 таблицы истинности.

Рассмотрим это задание для формулы:

Заданная формула
Заданная формула

Пункт 1. Заданную логическую формулу необходимо преобразовать, исключив знаки отрицания над выражением (используем для этого законы де Моргана, их можно посмотреть в лекции [https://zen.yandex.ru/media/id/603a418d1684900aa2499416/zakony-logiki-vyskazyvanii-i-sposoby-postroeniia-formul-po-tablice-istinnosti-62397163c3d71e0fa91fb4e6]):

Преобразованная для п.1. формула
Преобразованная для п.1. формула

Заметим, что и заданная формула, и формула, полученная в п.1., записаны в базисе {И, ИЛИ, НЕ}.

Пункт 2. Воспользовавшись логическими законами (ссылка на лекцию дана выше), преобразуем исходную формулу к виду, содержащему только формулы И, НЕ:

Эквивалентные преобразования (начало)
Эквивалентные преобразования (начало)

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

Эквивалентные преобразования (завершение)
Эквивалентные преобразования (завершение)

Заменим символ y на конъюнкцию, получим результат:

Заданная формула в базисе {И, НЕ}
Заданная формула в базисе {И, НЕ}

Пункт 3. Воспользовавшись логическими законами (ссылка на лекцию дана выше), преобразуем исходную формулу к виду, содержащему только формулы ИЛИ, НЕ:

Преобразования, приводящую заданную формулу к формуле в базисе {И, НЕ}
Преобразования, приводящую заданную формулу к формуле в базисе {И, НЕ}

Пункт 4. Построение таблицы удобно проводить поэтапно, выделяя столбец для отдельных выражений исходной формулы.

Таблица истинности для заданной формулы
Таблица истинности для заданной формулы

Для построения таблицы истинности в вопросно-ответной системе Wolfram|Alpha необходимо зайти по ссылке: https://www.wolframalpha.com/ и в командную строку внести команду с формулой логики высказываний, например, введём команду: Truth table not(x1 or x2) and x3 or x4.

Получим результат, показанный ниже.

Таблица истинности для заданной формулы в вопросно-ответной системе Wolfram|Alpha
Таблица истинности для заданной формулы в вопросно-ответной системе Wolfram|Alpha

Следует заметить, что построение таблицы истинности в в вопросно-ответной системе Wolfram|Alpha происходит, начиная с единиц, т.е. в первом столбце таблицы истинности верхняя половина заполняется сначала единицами, а нижняя - нулями, остальные столбцы заполняются по такому же принципу.

Пункт 5. В лекции [https://zen.yandex.ru/media/id/603a418d1684900aa2499416/zakony-logiki-vyskazyvanii-i-sposoby-postroeniia-formul-po-tablice-istinnosti-62397163c3d71e0fa91fb4e6] представлены алгоритмы, позволяющие для произвольной таблицы истинности построить формулу в виде СДНФ и СКНФ. По таблице истинности, представленной в п.4 составим формулы следующим образом.

СДНФ (дизъюнкция элементарных конъюнкций) заданной формулы:

СДНФ
СДНФ

СКНФ ( конъюнкция элементарных дизъюнкций) заданной формулы:

СКНФ
СКНФ

Пункт 6. Построим для формул п. 1 и 2 таблицы истинности, для остальных формул предлагается сделать это самостоятельно, результаты укажите в комментариях к лекции.

Итак, для построения таблицы истинности в вопросно-ответной системе Wolfram|Alpha введём команду : Truth table not x1 and not x2 and x3 or x4.

Получим результат, показанный ниже.

Таблица истинности для формулы  not x1 and not x2 and x3 or x4
Таблица истинности для формулы not x1 and not x2 and x3 or x4

Для построения таблицы истинности формулы в п.2 в вопросно-ответной системе Wolfram|Alpha введём команду: Truth table not(not ( not x1 and not x2 and x3) and not x4).

Получим результат, показанный ниже.

Таблица истинности для формулы not(not ( not x1 and not x2 and x3) and not x4)
Таблица истинности для формулы not(not ( not x1 and not x2 and x3) and not x4)

Следует также заметить, что если в вопросно-ответную систему Wolfram|Alpha ввести команду без словосочетания "Truth table", то система выдаст в том числе и формулы, записанные в некоторых основных базисах и нормальных формах.

-13

DNF - от disjunctive normal form - дизъюнктивная нормальная форма

CNF - от conjunctive normal form - конъюнктивная нормальная форма

ANF - от algebraic normal form - алгебраическая нормальная форма (полином Жегалкина)

NOR - от not or - форма, включающая отрицание и ИЛИ-НЕ (отрицание дизъюнкции или Стрелка Пирса или функция Вебба)

NAND - от not and - форма, включающая отрицание и И-НЕ (отрицание конъюнкции или Штрих Шеффера)

AND - форма, включающая отрицание и операцию "И"

OR - форма, включающая отрицание и операцию "ИЛИ"

В качестве Упражнения предлагаются следующие варианты формул:

Варианты формул логики высказываний для выполнения задания, описанного в лекции
Варианты формул логики высказываний для выполнения задания, описанного в лекции