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

Методичка (дискретка)

.pdf
Скачиваний:
139
Добавлен:
17.03.2016
Размер:
1.6 Mб
Скачать

5. Логіка висловлювань

Приклади розв’язання типових задач

Задача 1. Довести, що P (P (Q R)) P ( Q R).

Розв’язання. Доведемо вказану рівність двома способами.

A. Позначимо

F1 P (P (Q R)),

F2 P ( Q R) .

Побудуємо таблиці істинності для формул F1 та

F2 . У кожній з формул

занумеруємо порядок виконання логічних операцій:

4

3

2

1

F P (P (Q R)),

1

 

 

 

F2

4

5

1

3

2

P ( Q R)

.

 

 

Кожна з формул містить по три атомарних висловлювань:

P, Q, R .

Тому потрібно знайти істинносні значення формул

 

F1

та

F2

при восьми

різних інтерпретаціях ( 2

3

8 ). Результати обчислень запишемо у вигляді

 

таблиць істинності:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F1

:

 

 

 

 

 

 

 

 

 

F2 :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

Q

R

1

2

3

4

 

P

Q

R

 

1

2

3

4

5

 

 

 

 

 

 

 

 

 

0

 

0

0

0

1

0

 

1

 

0

0

0

 

1

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

1

1

0

0

 

1

 

0

0

1

 

1

0

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

0

1

0

0

 

1

 

0

1

0

 

0

1

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

1

1

0

0

 

1

 

0

1

1

 

0

0

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

0

0

1

1

 

1

 

1

0

0

 

1

1

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

1

1

0

0

 

0

 

1

0

1

 

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

0

1

0

0

 

0

 

1

1

0

 

0

1

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

1

1

0

0

 

0

 

1

1

1

 

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Істинносні значення формул F

та

F

наведені в останньому

1

 

2

 

стовпчику кожної таблиці. З таблиць видно, що при однакових

інтерпретаціях формули

F1 та F2 набувають однакових значень, тобто

формули рівносильні: F1

F2 .

B. Доведемо, що F1 F2 за допомогою рівносильних перетворень:

P (P (Q R)) P (P (Q R)) P (P ( Q R))

( P P) ( P ( Q R)) 1 ( P ( Q R)) P ( Q R).

31

При перетвореннях послідовно

застосовувались:

X Y X Y , закон дистрибутивності,

формули

X

1 X X.

 

 

Задача 2. Довести, що формула

( B (A B))

тавтологією.

 

 

формула

X 1

та

A

є

Розв’язання. Доведемо, що вказана формула є тавтологією, декількома способами.

A.Можна побудувати таблицю істинності і показати, що при будь-якій інтерпретації істиносне значення даної формули дорівнює 1.

B.Доведемо, що дана формула є тавтологією від супротивного. Припустимо, що існує така інтерпретація, при якій вказана формула

приймає істиностне значення 0, тобто

( B (A B)) A 0. Це

рівносильне системі:

 

 

 

 

 

 

 

 

 

 

 

B 1

 

B 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( B ( A B)) 1

 

A B

1 A B 1.

 

0

 

A

 

 

 

 

 

 

 

 

 

 

 

A 1

A

1

 

 

 

 

 

 

 

 

 

 

 

 

 

Отримали суперечність, оскільки 1 0 0. Отже,

наше припущення

невірне.

 

 

 

 

 

 

 

 

C. Виконаємо рівносильні перетворення даної формули:

( B (A B)) A ( B ( A B)) A ( B ( A B)) A

B ( A B) A ( A B) ( A B) 1.

При перетвореннях послідовно

застосовувались: формула

X Y X Y (двічі), закон де Моргана, асоціативний та комутативний

закони, формула

X X 1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача 3.

Записати формулу

(A (B C)) B

у диз’юнктивній

нормальній формі (ДНФ) та кон’юнктивній нормальній формі (КНФ).

Розв’язання. Застосовуючи формулу X Y X Y (тричі), закон де Моргана, закон подвійного заперечення та асоціативний закон, маємо:

(A (B C))( A ( B

B C))

(A (B (A

B

C)) ( B

BC

( A )) B (

( B C)) A B C)

B

B

.

Врезультаті цих перетворень отримали формулу, рівносильну даній

ізаписану у ДНФ. Для того, щоб дістати КНФ, продовжимо перетворення, застосувавши закон дистрибутивності та ідемпотентності:

(A B C) B (A B) (B B) ( C B) (A B) B ( C B) .

32

Задача 4. Надворі може бути вітер або тиха погода. Якщо надворі вітер, то дерева хитаються. Дерева не хитаються. Чи означає це, що надворі тиха погода.

Розв’язання. Виділимо прості висловлювання і введемо позначення:

A “надворі

вітер”, B “надворі тиха погода”, C “дерева

хитаються”.

Тоді дані в умові задачі міркування можна записати у вигляді: A B ,

A C,

C

(це наші посилки). Потрібно з’ясувати, чи буде

B логічним

наслідком цих трьох посилок. Скористаємось означенням логічного наслідку і побудуємо таблицю істинності:

A

B

0

0

0

0

0

1

01

10

10

11

11

A

C

00

10

01

11

01

11

01

11

B

,

A C ,

C ╞═ (?)

1

1

1

0

1

1

1 0

01

10

01

10

B

1

З таблиці істинності видно, що при всіх інтерпретаціях, при яких всі посилки приймають істинносне значення 1 (у нашому випадку існує лише

одна така інтерпретація), істинносне значення висновку B

теж дорівнює 1.

Отже, B є логічним наслідком трьох даних посилок.

Зауважимо, що

істинносне значення висновку можна не обчислювати (у таблиці стоїть знак “─”), якщо хоча б одна посилка є хибною.

Задача 5. Якщо надворі йде дощ, то на небі є хмари. На небі є хмари. Чи означає це, що надворі йде дощ.

Розв’язання. Як і в попередній задачі, виділимо прості

висловлювання і введемо позначення:

D “надворі йде дощ”,

X “на небі

є хмари”. Маємо посилки: D X ,

X . З’ясуємо, чи буде

D логічним

наслідком цих посилок. Побудуємо таблицю істинності:

 

 

D X

D

X

 

0

0

1

0

1

1

1

0

0

1

1

1

,

X

0

1

0

1

╞═ (?) D

0

1

З таблиці істинності видно, що існує дві інтерпретації, при яких обидві посилки приймають істинносне значення 1, але на одній з них

33

висновок має істинносне значення 0. Отже, вказаних двох посилок.

D

не є логічним наслідком

A5

1. Нехай

P

означає “

n

2

 

– парне”,

Q

означає “ n

– парне”. Записати

символічні Показати, що

вирази

P Q

PQ

Q

та

P .

Q P

у вигляді висловлювань.

2. Скільки моделей має формула

( A B C)

A

?

3. При якій кількості інтерпретацій формула значення 1?

A B C D

набуває

4. Не формули

будуючи

A (B

таблиці

A)

та

(

 

 

істинності,

P Q) (Q

показати двома

T) (P T)

способами, що є тавтологіями.

5. Довести двома способами, що формула суперечністю.

(P Q) (P Q)

є

6. Довести, що

A (B C)

(A

B)

(A

C)

.

7. Чотири студентки Аня, Валя, Галя і Даша зайняли перші чотири місця на змаганнях з гімнастики, причому жодні дві з них не ділили між собою ніякі два місця. На питання “Яке місце зайняла кожна з них?” троє глядачів дали три різні відповіді: 1) Аня зайняла друге місце, Даша – третє; 2) Аня – перше місце, Даша – друге; 3) Галя – друге місце, Даша – четверте. В кожній з цих відповідей одне висловлювання є істинним, а друге – хибним. З’ясувати, яке місце зайняла кожна студентка.

8. Спростити формулу

( (A

B) A

B)

B

.

9. З’ясувати, чи буде сумісною сукупність наступних тверджень: 1) Якщо йде дощ, то сонце не світить і небо захмарене; 2) Весною або літом часто буває гарна погода; 3) Якщо погода гарна, то невірно, що може бути сильний вітер або неймовірна спека; 4) Зараз літо, небо не захмарене і дуже сильний вітер.

10.Привести формулу

(A B) (C D)

до ДНФ та КНФ.

11.Купівельна спроможність грошей падає, якщо зростають податки. Люди незадоволені, коли падає купівельна спроможність грошей. Податки зростають. Чи означає це, що люди незадоволені.

12.Чи буде логічним наслідком формула B (A C) множини формул

A B C, B C, B A?

34

1. Нехай

P

B5

означає “Я здам цей екзамен”,

Q

означає “Я буду

регулярно виконувати домашні завдання”. Записати у символічній формі наступні висловлювання.

a)Я здам цей екзамен тільки у тому випадку, коли буду регулярно виконувати домашні завдання.

b)Регулярне виконання домашніх завдань є необхідною умовою того, що я здам цей екзамен.

c)Здача цього екзамену є достатньою умовою того, що я регулярно виконував домашні завдання.

d)Я здам цей екзамен тоді і тільки тоді, коли я буду регулярно виконувати домашні завдання.

e)Регулярне виконання домашніх завдань є необхідною і достатньою умовою для того, щоб я здав екзамен.

2. Відомо, що імплікація A B є істинною, а еквівалентність A B – хибною. Що можна сказати про істинносне значення імплікації B A?

3. Вказати, чи є наведені формули тавтологіями, суперечностями чи нейтральними:

a)

(A (

b)

B

A A

B)) B(A B) ;

;

c) ( (A B) (A d) (A B) ( A

B))

B) .

;

4.Три учні різних шкіл міста Києва приїхали на відпочинок у літній табір. На питання вожатої, в яких школах Києва вони вчаться, кожен дав таку відповідь:

Антон: “Я вчусь у школі № 4, а Сергій – у школі № 8”; Сергій: “Я вчусь у школі № 4, а Антон – у школі № 3”; Коля: “Я вчусь у школі № 4, а Антон – у школі № 8”.

Вожата, здивована протиріччями у відповідях хлопців, попросила їх пояснити, де правда, а де брехня. Тоді хлопці признались, що у відповідях кожного з них одне твердження є вірним, а інше – ні. В якій школі вчиться кожен з хлопців?

5.У ході розслідування про пограбування банку було отримано свідчення трьох обвинувачених: Джонса, Брауна та Сміта.

Джонс: “Браун є винним, а Сміт не винен”. Браун: “Джонс не є винним, або Сміт винен”.

Сміт: “Я не винен. Джонс або Браун пограбували банк”.

Перевірити сумісність всіх показань, тобто чи можуть свідчення всіх трьох обвинувачених бути правдивими. Чи можна з’ясувати, хто саме пограбував банк. Чи можуть всі вони говорити неправду?

6. Довести двома способами закон поглинання A (A B) A.

7. Довести двома способами, що (A B) (B C) A A B C .

35

8. Спростити формулу

(A B) (A

B)

.

9. Довести суперечність формули перетворивши її у ДНФ.

(P (Q P))

(Q

P)

,

10.Довести тавтологічність формули ((P Q) P) Q , перетворивши

її до КНФ.

 

 

11.Привести формулу

P ((Q R) S)

до ДНФ та КНФ.

де

12.Довести логічне слідування (метод доведення

H, H (P Q), P C, Q C

H – гіпотеза, P і Q – два можливих випадки, C

розбором випадків): ╞═ C ,

– наслідок.

C5

1. Довести, що

(A B) C

A

(B

C)

.

2.

Перевірити еквівалентність формул, перетворивши формули в лівій

та правій частинах рівності до однієї й тієї ж нормальної форми:

a)

(P Q) (P R) P (Q R) ;

b)

c)

d)

(P Q) (P Q) ( P Q) (Q P) P Q ( P Q) P Q (P Q) ; P (P (P Q)) P Q (P Q).

;

3. Привести формулу

(A B) (C B)

до ДНФ та КНФ.

4. Чи буде

A (B C),

логічним наслідком формула A C множини формул

B ?

5.Якщо завтра буде холодно, я одягну тепле пальто, якщо рукав буде полагоджений. Завтра буде холодно, а рукав не буде полагоджений. Чи означає це, що я не одягну тепле пальто?

6.Якщо я піду завтра на першу пару, то повинен буду прокинутись рано. Якщо я піду ввечері на дискотеку, то ляжу спати пізно. Якщо я ляжу спати пізно, а прокинуся рано, то я мушу задовольнитись лише п’ятьма годинами сну. Я просто не можу обійтися п’ятьма годинами сну. Отже, я мушу або пропустити першу пару, або не ходити на дискотеку. Перевірити, чи має місце логічне слідування.

36

6. Булеві функції

Приклади розв’язання типових задач

Задача 1. Звести формулу ((x y) (x | y)) (x y ( y z)) до

диз’юнктивної нормальної форми (ДНФ) та досконалої диз’юнктивної нормальної форми (ДДНФ).

Розв’язання. Використовуючи означення операцій “стрілка Пірса” та “штрих Шеффера”, маємо

 

((x y) (x | y)) (x y ( y z))

 

x y x y x y y z

 

 

 

(x y) (x y) (x y ( y z)) (x y) (x y) (x y ( y z))

 

 

x x y y x y x y y x y z

x y 0 x y x y z

 

x y x y z .

 

 

Для того, щоб побудувати ДДНФ застосуємо формулу розщеплення:

 

 

 

x y x y z

x y 1 x y z x y (z z) x y z

 

 

 

 

 

 

x y z x y z x y z

x y z x y z .

 

 

 

 

 

 

Задача 2. Використовуючи теорему про диз’юнктивний розклад

булевої функції, розкласти функцію

 

 

f (x, y, z,t) (x y z) t

за змінними

x та z .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Розв’язання. За теоремою про диз’юнктивний розклад маємо:

 

 

f (x, y, z,t) x

0

z

0

f (0, y,0,t) x

0

z

1

1

0

f (1, y,0,t)

 

 

 

 

 

 

 

 

 

f (0, y,1,t) x z

 

1

z

1

f (1, y,1,t) x z

f (0, y,0,t) x z

f (0, y,1,t) x z f (1, y,0,t) x z f (1, y,1,t).

x

 

 

 

Обчислимо:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (0, y,0,t) (0 y 0) t (0 1) t 0 t 0;

 

 

 

 

 

 

f (0, y,1,t) (0 y 1) t (0 0) t 1 t t ;

 

 

 

 

 

 

f (1, y,0,t) (1 y 0) t ( y 1) t 0 t 0 ;

 

 

 

 

 

 

f (1, y,1,t) (1 y 1) t ( y 0) t y t .

 

 

 

 

 

 

Підставивши отримані значення у формулу диз’юнктивного

розкладу, маємо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x, y, z,t) x z 0 x z t x z 0 x z y t x z t x y z t .

Задача 3. Нехай булева функція задана таблицею

37

x

y

z

f

0

0

0

0

 

 

 

 

0

0

1

0

 

 

 

 

0

1

0

1

 

 

 

 

0

1

1

1

 

 

 

 

1

0

0

0

 

 

 

 

1

0

1

0

 

 

 

 

1

1

0

1

 

 

 

 

1

1

1

0

 

 

 

 

Побудувати ДДНФ та досконалу кон’юнктивну нормальну форму (ДКНФ) даної функції.

Розв’язання. Для побудови ДДНФ виділимо в таблиці ті рядки, для

яких значення функції

f

на відповідному булевому наборі дорівнює 1.

 

 

Виписавши елементарні кон’юнкції, які їм відповідають, маємо:

f (x, y, z)

 

x

0

1

z

0

x

0

1

z

1

1

y

1

z

0

 

 

y

 

 

y

 

x

 

 

x

y z x

y z x

y

z

.

Для того, щоб побудувати ДКНФ для функції f , виділимо в таблиці

ті рядки, в яких значення функції дорівнює нулю. Для кожного з булевих наборів будуємо відповідну елементарну диз’юнкцію. Маємо:

f (x, y, z)

(x

0

y

0

z

0

) (x

0

y

0

1

1

0

z

0

1

y

0

1

)

 

 

 

 

 

z

) (x y

 

 

) (x

 

z

(x

y

 

z

)

 

(x y z) (x y z) (x y z) (x y z) (x y

1

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача 4. Скільки існує самодвоїстих функцій від

n змінних?

 

 

цих

z) .

Розв’язання. Множина наборів, значення на яких визначають

самодвоїсту функцію, містить

2

n 1

елементів (половина всіх можливих

 

 

 

наборів). Оскільки булева функція на кожному наборі може приймати два

значення 0 та 1, то існує

2

2

n 1

 

 

 

самодвоїстих функцій від

n

змінних.

Задача 5. Довести, що на протилежних наборах самодвоїста функція приймає протилежні значення.

Розв’язання. Нехай

f (x1, ,

Маємо

f (x

, , x

n

) f

1

 

 

f (x1, , xn ) – самодвоїста функція, тобто

 

 

) f * (x , , x

 

 

 

 

x

n

n

) f (x1, , xn ) .

 

1

 

 

 

*

 

 

 

 

 

 

(x1, , xn ) f (x1, , xn ) f (x1, , xn ) .

38

f

(x,

Задача

y, z) x

6. Побудувати булеву функцію

y z 0 .

f

* (x,

y, z)

, двоїсту до функції

Розв’язання. Замінимо в даній функції всі знакита 0 на 1. Використавши дужки для того, щоб операцій залишився тим же, маємо

на (двічі), на порядок виконання

Задача 7.

f

f

*

(x, y, z) x ( y z) 1.

 

Мінімізувати за допомогою методу Квайна булеву функцію

(x, y, z) x y z x y z x y z x y z x y z x y z .

За допомогою методу Петрика виписати всі тупикові ДНФ та вибрати серед них мінімальні.

Розв’язання. Виконавши всі можливі операції склеювання,

отримаємо диз’юнкцію всіх

можливих

імплікант

функції f (x, y, z)

(скорочену ДНФ):

 

 

 

 

 

f (x, y, z) x y z x y z x y z x y z x y z x y z

1

2

3

4

5

6

x y x z y z x z x y

1, 2

1, 6

2, 3

3, 4

4, 5

y z . 5, 6

Очевидно, що операція поглинання не може бути застосованою до отриманої формули. Будуємо імплікантну таблицю.

A

B

C

D

E

F

x y

x z

y z

xz x y

yz

x y z

A B

x y z

A C

x y z

x y z

C D

D E

x y z

x y z

 

E F

B F

У таблиці відміченими є ті клітинки, для яких проста імпліканта, що маркує рядок, є власною частиною повної елементарної кон’юнкції, що маркує стовпчик (імпліканта поглинає відповідну повну елементарну кон’юнкцію). Сформуємо набори покриттів і випишемо мінімальні тупикові ДНФ.

Очевидно, що не існує таких наборів покриттів, у яких використовується одна чи дві прості імпліканти. В той же час існують два набори покриттів, у яких використовуються по три імпліканти (замість шести початкових):

39

ТДНФ

1

x y x z

y z

;

ТДНФ

2

x z

 

y z

x

y

.

Ці тупикові форми і будуть мінімальними.

Для того, щоб за допомогою методу Петрика виписати всі тупикові форми, поставимо у відповідність кожній простій імпліканті даної функції деяку літеру (ідентифікатор) – перший стовпчик таблиці. Кожному стовпчику приписується диз’юнкція літер, які відповідають тим рядкам, в яких у даному стовпчику стоїть значок “•” – останній рядок таблиці. Далі утворюємо кон’юнкцію цих диз’юнкцій:

(A

B) (A C) (C D) (D E) (E F) (B

F)

.

Це і буде формула покриття конституент одиниці простими імплікантами. Перетворимо цю формулу до ДНФ, застосовуючи при цьому закони

дистрибутивності, ідемпотентності, поглинання та комутативності. Маємо:

(A B) (A C) (C D) (D E) (E F) (B F)

(A AC AB BC) (C D C E D D E) (B E E F B F F)

(A BC) (C E D) (B E F) (AC E AD BC E BC D) (B E F)

ABC E AC E F AB D E AD F BC E BC E F BC D E BC D F

(

 

AD F BC E AC E F

B C E

поглинає

ABC E, BC E F

та

 

 

 

 

кон’юнкція утвореної ДНФ відповідає функції, тобто

AB D E BC D E одній

BC D F

). Кожна тупиковій

елементарна формі даної

ТДНФ1

x y x z y z ;

ТДНФ 2

x z y z x y ;

ТДНФ 3

x y y z x y

ТДНФ 4 x y x z x z

ТДНФ 5 x z y z x z

Очевидно, що перші дві тупикові форми і

y z ; x y ; y z .

будуть мінімальними.

A6

1. На інтерпретаціях № 2 та № 5 знайти істинносне значення функції

f(x, y, z) (x y) z x ( y

2.Чи буде функція дорівнювати 0 чи 1?

~ z)

 

.

 

f (x, y, z) ((x y) ~ z) (x y z)

тотожно

3. Нехай задана функція

f (x, y) (x y) (x x

y)

.

a)Який порядковий номер цієї функції?

b)Застосовуючи тотожні перетворення, спростити формулу, яка

задає

f

(x,

y)

.

c)Розкласти функцію f (x, y) за змінною x .

d)Побудувати ДКНФ функції f (x, y) .

40