Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

540

.pdf
Скачиваний:
11
Добавлен:
07.01.2021
Размер:
645.31 Кб
Скачать

31

Логическая функция – это функция, в которой переменные принимают только два значения: 0 или 1. Эту функцию называют булевой функцией.

Вбулевой алгебре простым высказываниям соответствуют алгебраические переменные, например: x, y, z, а сложным – алгебраические функции, например: f ( x, y, z). Функции могут получаться путем объединения переменных с помощью логических операций.

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

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

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

2.Конъюнкция.

3.Дизъюнкция.

4.Импликация и эквивалентность.

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

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

1.Определить количество наборов входных переменных– все-

возможных сочетаний значений переменных, входящих в выражения, по формуле: Q=2n , где n – количество входных переменных (n определяет количество строк таблицы, не считая строки заголовка).

2.Внести в таблицу все наборы входных переменных.

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

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

32

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

Способ 1. Для функции от трех переменных последовательность данных можно получить следующим путем:

1.Разделить колонку значений первой переменной пополам и заполнить верхнюю половину нулями, а нижнюю – единицами.

2.В следующей колонке для второй переменной половинку снова разделить пополам и заполнить группами нулей и единиц; аналогично заполнить вторую половинку.

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

Способ 2. Воспользоваться известной таблицей истинности для двух аргументов. Добавляя третий аргумент, сначала записать первые четыре строки таблицы, сочетая их со значением третьего аргумента, равным 0, а затем еще раз записать эти же четыре строки, но теперь уже со значением третьего аргумента, равным 1. В результате в таблице для трех аргументов окажется восемь строк (табл. 6).

Таблица 6

000

010

100

110

001

011

101

111

Пример 15. Определить таблицу истинности булевой -функ ции: f (x, y) = x Ù y ® (x Ú y) .

Решение. Данная функция содержит две переменные, поэтому ее таблица истинности содержит Q = 22 = 4 строки. В таблице истинности в заголовках столбцов приведем операции в порядке очередности их выполнения и проверим их истинность (табл. 7).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

33

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 7

x

y

 

 

 

x Ù

 

 

 

 

 

 

 

Ú y

x Ù

 

® (

 

Ú y)

 

y

y

x

x

 

 

 

 

 

 

y

x

0

0

1

0

 

 

1

1

1

 

 

 

0

1

0

0

 

 

1

1

1

 

 

 

1

0

1

1

 

 

0

0

0

 

 

 

1

1

0

0

 

 

0

1

1

 

 

 

Искомая таблица истинности имеет следующий вид (табл. 8):

Таблица 8

x

y

x Ù

 

® (

 

Ú y)

y

x

0

0

1

 

 

0

1

1

 

 

1

0

0

 

 

1

1

1

 

 

Составленная таблица истинности показывает, что данная функция ложна только на наборе переменных х = 1, у = 0.

Пример 16. Построить таблицу истинности для логической функ-

ции f(a, b, c) = a Ù b Ú a Ù c ® b .

Решение. Данная функция содержит три переменные (а, b, с), поэтому таблица истинности будет содержать Q = 23 = 8 строк (не считая строки заголовка). В таблице истинности в заголовках столбцов приведем переменные, а затем операции в порядке очередности их выполнения и проверим их истинность (табл. 9).

 

 

 

 

 

 

 

 

 

 

 

Таблица 9

а

b

с

a Ùc

 

 

 

a Ù b

a Ù b Ú

 

 

a Ù b Ú

 

® b

a Ùc

a Ù c

a Ù c

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

1

 

0

1

 

0

 

0

0

1

0

1

 

0

1

 

0

 

0

1

0

0

1

 

0

1

 

1

 

0

1

1

0

1

 

0

1

 

 

1

 

1

0

0

0

1

 

0

1

 

 

0

 

1

0

1

1

0

 

0

0

 

 

1

 

1

1

0

0

1

 

1

1

 

 

1

 

1

1

1

1

0

 

1

1

 

 

1

 

34

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

Искомая таблица истинности имеет следующий вид (табл. 10):

Таблица 10

а

b

с

a Ù b Ú

 

® b

a Ù c

 

 

 

 

 

0

0

0

0

 

0

0

1

0

 

0

1

0

1

 

0

1

1

1

 

1

0

0

0

 

1

0

1

1

 

1

1

0

1

 

1

1

1

1

 

Пример 17. Построить таблицу истинности для логической функ-

ции f (x, y, z) = (x ® y) Ù ( y ® z) ® (x ® z) .

Решение. Данная функция содержит три переменные(x, y, z), поэтому таблица истинности будет содержать Q = 23 = 8 строк (не считая строки заголовка). В таблице истинности в заголовках столбцов приведем переменные, а затем операции в порядке очередности их выполнения и проверим их истинность (табл. 11).

 

 

 

 

 

 

 

Таблица 11

x

y

z

x ® y

y ® z

(x ® y) Ù ( y ® z)

(x ® z)

(x ® y) Ù ( y ® z) ® (x ® z)

0

0

0

1

1

1

1

1

0

0

1

1

1

1

1

1

0

1

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

0

0

0

1

0

0

1

1

0

1

0

0

0

1

1

1

1

0

1

0

0

0

1

1

1

1

1

1

1

1

1

Замечание 3. Логические функции (сложные высказывания), имеющие на любом наборе значений истинности входящих в них пере-

35

менных (элементарных высказываний) только истинное значение, на-

зываются тождественно истинными или тавтологиями.

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

ются тождественно ложными.

Искомая таблица истинности имеет следующий вид (табл. 12):

 

 

 

Таблица 12

x

y

z

(x ® y) Ù ( y ® z) ® (x ® z)

 

 

 

 

 

 

0

0

0

1

 

0

0

1

1

 

0

1

0

1

 

0

1

1

1

 

1

0

0

1

 

1

0

1

1

 

1

1

0

1

 

1

1

1

1

 

Составленная таблица

истинности для логической

функции

f (x, y, z) = (x ® y) Ù ( y ® z) ® (x ® z) показывает, что на любом на-

боре значений истинности переменных x, y, z данная функция всегда

истинна. Следовательно,

f (x, y, z) = (x ® y) Ù ( y ® z) ® (x ® z)

тавтология.

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

Пример 18. Выяснить, равносильны ли функции x Ù y ® (x Ú y) и х ® y .

Решение. Таблица истинности функции х ® y имеет вид (табл. 13):

Таблица 13

x

y

х ® y

0

0

1

0

1

1

1

0

0

1

1

1

36

Таблица истинности функции x Ù y ® (x Ú y) имеет вид (мы использовали результат примера 15) (табл. 14):

Таблица 14

x

y

x Ù

 

® (

 

Ú y)

y

x

0

0

1

 

 

0

1

1

 

 

1

0

0

 

 

1

1

1

 

 

Сравнивая таблицы истинности функций x Ù y ® (x Ú y) и х ® y (см. табл. 13 и 14), получаем, что данные функции будут равносильными, так как они принимают одинаковые значения на любом наборе значений входящих в эти функции переменных, т. . х ® y = = x Ù y ® (x Ú y) .

Перечислим основные равносильности:

1)x Ù 1 = x ;

2)x Ù 0 = 0 ;

3)x Ú 1 = 1 ;

4)x Ú 0 = x ;

5)x Ù x = x ;

6)x Ú x = x ;

7)x Ù x = 0 – закон непротиворечивости;

8)x Ú x = 1 – закон исключения третьего;

9)x = x – закон двойного отрицания;

10)x Ù( x Ú y ) = x – поглощение дизъюнкции;

11)x Ú ( x Ù y ) = x – поглощение конъюнкции;

12)x Ù y = y Ù x – коммутативность конъюнкции;

13)x Ú y = y Ú x – коммутативность дизъюнкции;

14)x Ù y = x Ú y – закон де Моргана;

15)x Ú y = x Ù y – закон де Моргана;

16)( x Ù y ) Ù z = x Ù( y Ù z ) – ассоциативность конъюнкции;

17)( x Ú y ) Ú z = x Ú( y Ú z ) – ассоциативность дизъюнкции;

37

18)x Ù( y Ú z ) = ( x Ù y ) Ú ( x Ù z ) – дистрибутивность конъюнкции (определяет правила раскрытия скобок);

19)x Ú( y Ù z ) = ( x Ú y ) Ù( x Ú z ) – дистрибутивность дизъюнкции (определяет правила раскрытия скобок).

§5. Решение логических задач с помощью булевых функций

Решение логических задач с помощью булевых функций заключается в следующем:

1.По данным условиям задачи составляется соответствующая булева функция.

2.Равносильными преобразованиями эта функция приводится к более простому виду, что и позволяет найти искомое решение.

Пример 19. Петр спросил у мамы: «Можно пойти в кино или на футбол?». Мама ответила отрицательно. Как должен поступить Петр?

Решение. По условию задачи составим булеву функцию, т.е. запишем условие задачи в символическом виде:

Введем логические переменные: x: «пойти в кино»;

y: «пойти на футбол».

Тогда булева функция x Ú y означает следующее: «Нельзя пойти в кино или на футбол». Применяя закон де Моргана, получим следующее равенство: x Ú y = x Ù y , т.е. функция x Ú y равносильна

функции x Ù y , которая означает следующее: «Нельзя пойти в кино и нельзя пойти на футбол».

Пример 20. По делу об ограблении были допрошены три свидетеля, которые дали противоречивые показания о том, на какой машине скрылись преступники.

Свидетель Х сказал: «Синяя “Волга”». Свидетель Y сказал: «Черный “Москвич”». Свидетель Z сказал: «“Жигули”, но не синяя».

Следствие установило, что либо цвет, либо марку машины каждый свидетель назвал неправильно. На какой машине скрылись преступники?

38

Решение. Имеем шесть элементарных высказываний: «синяя машина», «Волга», «черная машина», «Москвич», «Жигули», «не синяя машина».

Вводим формальные обозначения, т.е. логические переменные: a: «синяя машина»»;

b: «Волга»;

c: «черная машина»; d: «Москвич»;

e: «Жигули»;

a: «не синяя машина».

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

Х = а Ú b – истина; Y = c Ú d – истина; Z = e Ú a – истина,

т.е.: à Ú b = 1; ñ Ú d = 1; å Ú à = 1 . Поскольку высказывания Х, Y и Z ис-

тинны, то истинна и их конъюнкция: ( à Ú b ) Ù ( ñ Ú d ) Ù( å Ú à ) = 1. Соблюдая последовательность выполнения операций, раскроем

скобки:

( a Ù c Ù e ) Ú ( a Ù d Ù e ) Ú ( b Ù c Ù e ) Ú ( b Ù d Ù e ) Ú ( a Ù c Ù a ) Ú

Ú ( a Ù d Ù a ) Ú ( b Ù c Ù a ) Ú ( b Ù d Ù a ) = 1.

Рассмотрим высказывания данной дизъюнкции:

a Ù c Ù e = 0 (высказывания a и c противоречивы); a Ù d Ù e = 0 (высказывания d и e противоречивы); b Ù c Ù e = 0 (высказывания b и e противоречивы);

b Ù d Ù e = 0 (высказывания b, d и e противоречивы); a Ù ñ Ù a = 0 (высказывания a, c и a противоречивы); a Ù d Ù a = 0 (высказывания a и a противоречивы);

b Ù c Ù a = 1 (черная машина «Волга», не синяя – противоречивых высказываний нет);

b Ù d Ù a = 0 (высказывания b и d противоречивы). Итак, преступники скрылись на черной «Волге».

39

Пример 21. Сколько различных решений имеет уравнение

( k Ú l Ú m ) Ù ( l Ù m Ù n ) = 1 , где k, l, m, n – логические переменные? Решение. Данное логическое выражение истинно только в том

случае, когда ( k Ú l Ú m ) = 1 и ( l Ù m Ù n ) = 1 , а ( l Ù m Ù n ) = 1 только

при l = 0, m = 0, n = 1.

При найденных значенияхl = 0, m = 0

( k Ú l Ú m ) = 1 только при

k = 1 . Итак, уравнение имеет одно реше-

ние: l = 0, m = 0, n = 1, k = 1.

 

§6. Утверждения, зависящие от переменных

Вматематике постоянно встречаются различные утверждения, зависящие от одной или нескольких переменных. Например:

1.2x + 5 = 11.

2.В городе N построили метро.

3.х < 12.

4.х y = 1.

Такие предложения называют неопределенными высказываниями.

Утверждение, зависящее от переменной, в общем случае не является высказыванием.

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

Пример 22.

Неопределенное

высказывание2x + 5 = 11

при

x = 3 обращается в истинное высказывание: «2 × 3 + 5 = 11» ,

а при

x = 1 – в ложное: «2 × 3 + 5 = 11».

 

 

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

волы p( x ), q( x ), z( x, y ) и т.д.

Для каждого неопределенного высказывания должно быть указано, на каком множестве оно определено или задано(например, множество М).

Множество М можно разбить на два подмножества (рис. 2.5):

- одно подмножество содержит только те элементы, при которых неопределенное высказывание становится истинным высказыванием, –

множество истинности;

40

- другое подмножество является дополнением первого до всего множества М подмножество ложности.

Рис. 2.5

 

Так, для утверждения x - 5 > 0 , зависящего

от переменнойх,

x Î R , множеством истинности будет открытый

числовой интервал

(5; +∞). Другой интервал (∞; 5] дополняет множество истинности до всей числовой прямой.

Два неопределенных высказывания, заданные на одном и том же множестве М, называются равносильными (эквивалентными), если множества их истинности совпадают. Например, неопределенные высказывания x2 £ x и x( x -1 ) £ 0 равносильны, так как множеством истинности для обоих высказываний служит отрезок числовой пря-

мой [0; 1].

К неопределенным высказываниям можно применять такие же логические операции, как и к обычным высказываниям.

Пример 23. Пусть даны два неопределенных высказывания(утверждения, зависящие от переменнойx, x Î R ): p( x ) : { x - 5 > 0 } и q( x ) : { x + 5 ³ 0 }. Указать множество истинности для:

1)p(x) ;

2)q(x) ;

3)p(x) Ù q(x) ;

4)p(x) Ú q(x) ;

5)p(x) ® q(x) ;

6)p(x) « q(x) .

Решение. Решением неравенстваx - 5 > 0 является интервал (5; +∞). Таким образом, интервал (5; +∞) является множеством истинности неопределенного высказывания p( x ) : { x - 5 > 0 } .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]