Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по дискретной математике.doc
Скачиваний:
35
Добавлен:
23.09.2019
Размер:
453.12 Кб
Скачать
  1. Логика высказываний. Операции логики высказываний. Таблицы истинности

ОСНОВЫ ЛОГИКИ

Логика – наука о законах и формах мышления

Высказывание (суждение) – некоторое предложение, которое может быть истинно (верно) или ложно

Утверждение – суждение, которое требуется доказать или опровергнуть

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

Умозаключение – логическая операция, в результате которой из одного или нескольких данных суждений получается (выводится) новое суждение

Логическое выражение – запись или устное утверждение, в которое, наряду с постоянными, обязательно входят переменные величины (объекты). В зависимости от значений этих переменных логическое выражение может принимать одно из двух возможных значений: ИСТИНА (логическая 1) или ЛОЖЬ (логический 0)

Сложное логическое выражение – логическое выражение, составленное из одного или нескольких простых (или сложных) логических выражений, связанных с помощью логических операций.

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

Опр. Отрицанием функции f (инерцией) назовем новую функцию , которая принимает значение 1, если f равна 0, и значение 0, если f равна 1.

Опр. Конъюнкцией 2-х переменных называется функция f(x1,x2)= x1 x2, которая принимает значение 1, если и только если обе переменные равны 1 (и, значит, равна 0, если хотя бы одна из этих переменных равна 0).

A

 F

 1

 1

1

 1

 0

 0

 1

 0

 0

Опр. Дизъюнкцией 2-х переменных называется такая функция f(x1,x2)= x1 x2 , которая принимает значение 0, если и только если обе переменные равны 0 (и, значит, равна 1, если хотя бы одна из этих переменных равна 1).

Замечание1.

Определение операций конъюнкции и дизъюнкции легко может быть перенесено на любое число переменных.

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

Под дизъюнкцией мы понимаем логическое сложение, поэтому ее элементы мы будем называть слагаемыми.

Опр. Импликацией 2-х переменных (логическим следованием) называется такая функция f(x1,x2)= x1 x2 , которая равна 0, тогда и только тогда, когда первая переменная равна 1, а вторая принимает значение 0.

Опр. Эквиваленцией 2-х переменных (логическим равенством) называется такая функция f(x1,x2)= x1 x2 , которая принимает значение 1, если и только если обе переменные принимают одинаковые истинностные значения.

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

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

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

Построение таблиц истинности для сложных выражений:

Количество строк = 2n + две строки для заголовка  (n - количество простых высказываний)

Количество  столбцов = количество переменных + количество логических операций

Алгоритм построения таблицы истинности

  1. Определить число переменных

  2. Определить число строк в таблице истинности

  3. Записать все возможные значения переменных

  4. Определить количество логических операций и их порядок

  5. Записать логические операции в таблицу исинности и определить для каждой значение

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

x y z x

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

Составим сводную таблицу истинности для данных формул (в наших обозначениях мы придерживаемся следующей символики: 1 – истина, 0 - ложь):

x

y

z

x y

F1 x y z

x

F2 x

0

0

0

0

1

1

0

1

1

0

0

1

0

1

0

0

1

1

0

1

0

0

1

1

0

0

1

0

1

1

0

1

0

0

0

1

1

0

0

0

1

1

1

1

1

1

0

1

0

1

0

0

1

1

1

1

0

1

0

1

1

0

0

1

1

1

1

1

0

0

0

1

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

  1. Тождественность формул ЛВ. Основные тождества ЛВ

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

Высказывания   и   называются равносильными (или просто равными), если для любых наборов   имеет место равенство:

Обозначим  .

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

Примеры

1)  .

Доказательство

0

1

1

1

0

0

Основные логические тождества

1. XX Закон тождества.

2. Закон противоречия

3. Закон исключенного третьего

4. Закон двойного отрицания

5. XXX  Законы идемпотентности

XX

6   Законы коммутативности

 (переместительности)

 } Законы ассоциативности

 (сочетательности)

8.  } Законы дистрибутивности

 (распределительности)

9. } Законы де Моргана

10. X1 

11.  

12.  } Законы поглощения



13.   } Законы склеивания

 

14.

Закон контрапозиции: прямое предложение равносильно обратно противоположному.

  1. СДНФ

  2. СКНФ

  3. Составление СДНФ с помощью таблиц истинности

  4. Составление СКНФ с помощью таблиц истинности

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

Опр. СДНФ (совершенной дизъюнктивной нормальной формой) для булевой функции F (x1, x2,…, xn ), не равной тождественно 0, называется такая формула: 1) которая является ДНФ; 2) среди элементарных конъюнкций, входящих в нее, нет одинаковых;

3) каждая элементарная конъюнкция содержит все переменные, от которых формула зависит, и каждая элементарная конъюнкция содержит ровно n элементов, где n - число переменных, от которых зависит формула. В аналогичной форме дадим определение СКНФ. Опр. СКНФ (совершенной конъюнктивной нормальной формой) для булевой функции F (x1, x2,…, xn ), не равной тождественно 1, называется такая формула: 1) которая является КНФ; 2) среди элементарных дизъюнкций, входящих в нее, нет одинаковых;

3) каждая элементарная дизъюнкция содержит все переменные, от которых формула зависит, и каждая элементарная дизъюнкция содержит ровно n элементов, где n - число переменных, от которых зависит формула. Существует два способа построения СДНФ и СКНФ - с помощью равносильных преобразований и по таблице истинности. В данном случае нас интересует алгоритм построения СДНФ и СКНФ по таблице истинности.

Алгоритм построения СДНФ по таблице истинности: 1. Выбираем строки, где функция принимает значение 1; 2. По каждой строке строим элементарные конъюнкции из переменных, от которых зависит формула, следующим образом: - если переменная в строке принимает значение 1, то она непосредственно в неё входит; - если же значение 0, то она входит в нее с отрицанием. 3. Из данных элементарных конъюнкций строим ДНФ, в результате получаем СДНФ.

Алгоритм построения СКНФ по таблице истинности: 1. Выбираем строки, где функция принимает значение 0; 2. По каждой строке строим элементарные дизъюнкции из переменных, от которых зависит формула, следующим образом: - если переменная в строке принимает значение 0, то она непосредственно в неё входит; - если же значение 1, то она входит в нее с отрицанием. 3. Из данных элементарных дизъюнкций строим КНФ, в результате получаем СКНФ.

Задача 2. Для булевой функции F(01010101 ), заданной вектором значений, определить: 1 ) СДНФ

Решение: Выполнение этого задания начнем с построения таблицы истинности для функции.

x

y

z

F(x, y, z)

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

Итак, перейдем к выполнению обозначенных пунктов нашего задания. 1) Построим СДНФ для заданной булевой функции F = (01010101). Выбираем четные строки в нашей таблице, где функция принимает значение 1.

Строим элементарные конъюнкции:

z (2) x z (6) y z(4) x y z(8)

Из данных элементарных конъюнкций строим ДНФ, которая удовлетворяет всем условиям в определении СДНФ: ( z) ( y z) ( x z) ( x y z) – СДНФ.

Правила приведения в СДНФ с помощью равносильных преобразований:

1) Приводим к нормальному виду

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

2) Из всех одинаковых членов дизъюнкции оставляем только один

3) Если в каком-то слагаемом не хватает переменной x0, то домножаем на 

4) Раскрываем скобки

 

Правила приведения в СКНФ:

1) Приводим к нормальному виду

2) Из всех одинаковых членов конъюнкции оставляем только один

3) Если в каком-то слагаемом не хватает переменной x0, то прибавляем 

4) Раскладываем на множители