Добавил:
інстаграм _roman.kob, курсові роботи з тєрєхова в.в. для КІ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

discrete_mathematics

.pdf
Скачиваний:
244
Добавлен:
31.05.2020
Размер:
3.68 Mб
Скачать

буде хорошою (d). Значення істинності елементарних вислов-

лень такі: a = 1, b = 0, c = 0, d = 1.

(б) Якщо ми успішно виконаємо домашнє завдання з математичної логіки (a), то ми отримаємо заліковий бал (b) або візьмемо участь у науковому семінарі (c), водночас якщо ми візьмемо участь у науковому семінарі й отримаємо заліковий бал, то достроково складемо іспит з математичної логіки (d). Зна-

чення істинності елементарних висловлень: a = 0, b = 1, c = 0, d = 1.

7. Скласти таблицю істинності для формули алгебри висловлень:

(а) (a → ¬ (b c)) (c → ¬ a); (б) ((¬ a b) ~ (a ¬ c)) (a b); (в) ((a b) ~ (b → ¬c)) (c a); (г) (a b) ((b c) (a c)).

8. Побудувати таблицю істинності й показати, що дана формула алгебри висловлень є тотожно істинною (тавтологією):

(а) ¬ a ¬ b a b; (б) a (b a);

(в) (a b) ((b c) (a c));

(г) (a c) ((b c) ((a b) c)).

9. Способом відшукання контрприкладу встановити, що наведена формула алгебри висловлень є тавтологією:

(а) ((a b) (c d)) ((a c) (b d)); (б) (a (b c)) ((d b) (a (d c)));

(в) (a (b c)) ((a b) (a c)); (г) (a b) ((a c) (a (b c))).

10. Довести, що формула ((a b) (b c)) (a c) є тавтологією (транзитивна властивість імплікації). Чи буде тавтологією обернена імплікація (a c) ((a b) (b c))?

11. Довести, що формула ((a ~ b) (b ~ c)) (a ~ c) є тавтологією (транзитивна властивість еквівалентності). Чи буде тавтологією обернена імплікація (a ~ c) ((a ~ b) (b ~ c))?

12. Довести, що формула ((a b) (b c)) ((a b) c) є тавтологією. Чи буде тавтологією обернена імплікація

((a b) c) ((a b) (b c))?

26

13. Довести, що формула (a b) (b c) (a (b c)) є тавтологією. Чи буде тавтологією обернена імплікація

(a (b c)) ((a b) (b c))?

14. У різні способи показати, що дана формула алгебри висловлень не є тавтологією:

(а) (a b) (b a);

(б) ((a b) c) ~ ((a b) c); (в) (a ~ (b c)) ~ ((a ~ b) (a ~ c)); (г) (a (a b)) (b ~ a).

15. Перевірити (довести чи спростувати), чи є наведена формула алгебри висловлень тавтологією:

(а) ((a b) (c d)) ((a c) (b d)); (б) (b (a (b c))) (a c);

(в) ((a b) (c b)) ~ ((a c) b);

(г) ((a b) (c d)) ((a c) (b d)).

16. Порівняти формули A та B. Переконатись, що одна з них є тавтологією, а інша – ні:

(а) A = a ((a b) b), B = (a (a b)) b; (б) A = ((a b) (a → ¬b)) → ¬ a,

B = (a b) ((a → ¬b) → ¬a); (в) A = (b c) ((a b) (a c)),

B = ((b c) (a b)) (a c).

17.Показати, що формулаалгебри висловлень є виконуваною: (а) (a (b → ¬c)) (a b) (c ~ ¬b);

(б) (a b) (a → ¬b) (b c) (b → ¬c) (c a) (c → ¬a); (в) (¬a b) (¬b c) (a → ¬b).

18.Переконатися в тому, що наведена формула алгебри висловлень є суперечністю:

(а) ¬ ((a b) ((a ¬ b) b)); (б) (a b) ~ (¬ a (b → ¬ b));

(в) (a (b c)) (a b) (a ¬ c); ( (г) ¬ b a (a b);

(д) (a ¬ a) (b ¬ b).

19. Довести, що формула A алгебри висловлень є сильнішою за формулу B:

(а) A = (a b) (b c), B = a c;

27

(б) A = (a b) (b c), B = a → (b c); (в) A = (a ~ b) (b ~ c), B = a ~ c;

(г) A = a → (b c), B = (a b) → (a c).

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

(а) ((a b) → c) → ((a c) (b c)); (б) (a c b d) → ((a b) (c d)); (в) (a b c d) → ((a b) (c d)); (г) ((a ~ b) → (c ~ d)) → ((a c) ~ (b d));

(д) ((a b) a b) ~ ((a b) a); (е) ((← a b) (← b c) a) → ← c.

21.Чи може тавтологія містити тільки операції із множини { , }? Відповідь обґрунтувати.

22.Довести, що будь-яка формула алгебри висловлень, опе-

раціями якої є тільки операції з множини { , }, є нейтральною.

23.Довести, що довільна формула алгебри висловлень, яка містить із символів логічних операцій лише , , →, ~, є виконуваною.

24.Довести чи спростувати твердження:

(а) Із двох формул A та ← A алгебри висловлень принаймні одна – тавтологія.

(б) Якщо A та B – тавтології, то A B – тавтологія. Чи правильне обернене твердження?

(в) Якщо A та B – тавтології, то A B – тавтологія. Чи правильне обернене твердження?

(г) Якщо A та B – тавтології, то A B – тавтологія. Чи правильне обернене твердження?

(д) Якщо формула A ~ B – тавтологія, то A та B – тавтології. Чи правильне обернене твердження?

25. Довести чи спростувати твердження:

(а) Якщо A – виконувана формула алгебри висловлень, то формула ← A є невиконуваною.

(б) Формула A невиконувана тоді й тільки тоді, коли A – суперечність.

(в) Із двох формул A та ← A алгебри висловлень хоча б одна є виконуваною.

28

(г) Якщо A та B – виконувані формули, то A B – виконувана. Чи правильне обернене твердження?

(д) Якщо A та B – виконувані формули, то A B – виконувана. Чи є правильним обернене твердження?

(е) Якщо A ~ B – виконувана формула, то A та B – виконувані. Чи правильне обернене твердження?

26. Довести твердження:

(а) Якщо A B і ¬ B – тавтології, то ¬A – тавтологія (правило заперечення, або modus tolens).

(б) Якщо A B і ¬ A – тавтології, то B – тавтологія (правило диз'юнктивного силогізму).

(в) Якщо A B і B C – тавтології, то A C – тавтологія (правило ланцюгового висновку).

(г) Якщо A B та A → ¬ B – тавтології, то ¬A – тавтологія (метод доведення від супротивного).

27. Довести твердження:

(а) Якщо (A B) і (¬ A C) – тавтології, то (B C) – тавтологія. (б) Якщо формули (A B), (A C) і (B D) – тавтології, то

(C D) – тавтологія.

(в) Якщо (¬ A B) і (¬ B ¬ C) – тавтології, то (A → ¬ C) – тавтологія.

28. Відомо, що формула A B є тавтологією, а формула A ~ B – суперечністю. Що можна сказати про формулу B A?

29.Формула A ~ B є суперечністю. Що можна стверджувати про формули ¬ A ~ B і ¬ A ~ ¬ B?

30.Відомо, що B B C. Чи можна стверджувати, що для

довільної формули A алгебри висловлень формула (A B) (A C) є тавтологією?

31. Розставити дужки у формулах:

(а) a b c (a c (b c)); (б) a c b d (a b) c d; (в) a b c d a b c d;

(г) (a ~ b) (c ~ d) a c ~ b d;

(д) a b a b ~ (a b) a; (е) ¬ a b ¬ b c a → ¬ c.

32. Побудувати дерева синтаксичного аналізу для формул із завдання 31.

29

1.3.Рівносильні формули алгебри висловлень

Формули A та B алгебри висловлень називають рівносиль ними, якщо їм відповідає та сама функція істинності, тобто вони набувають однакових значень на всіх наборах значень їхніх пропозиційних змінних.

Рівносильність формул A та B позначають за допомогою знака (= або ): записують A B.

Рівносильні формули ще часто називають еквівалентними. Рівносильність формул можна перевірити складанням таблиць

істинності відповідних функцій і порівнюванням цих таблиць.

Рівносильним перетворенням формули A називають дію або процедуру, у результаті якої дістаємо формулу B, рівносильну формулі A.

Неважко довести (побудовою відповідних таблиць істиннос-

ті) основні тотожності (рівносильності, закони) алгебри ви

словлень.

1.(a b) c a (b c), (a b) c a (b c) – асоціативність;

2.a b b a, a b b a – комутативність;

3.a (b c) (a b) (a c), a (b c) (a b) (a c) –

дистрибутивність;

4.a a a, a a a – ідемпотентність;

5.¬ (a b) ≡ ¬ a ¬ b, ¬ (a b) ≡ ¬ a ¬ b законидеМоргана;

6.¬ ¬ a a закон подвійного заперечення;

7.a 0 a, a 1 a; a 1 1, a 0 0 властивості елемен

тів 0 та 1;

8.a ¬ a 1, a ¬ a 0 властивості заперечення;

9.a (a b) a; a (a b) a правила поглинання.

Приклад 1.12.

1. Довести такі рівносильності алгебри висловлень:

(а) a b ≡ ¬ a b;

(б) a b ≡ ¬ b → ¬ a;

(в) a ~ b (a b) (b a);

(г) a ~ b (¬ a b) (a ¬ b);

(д) a ~ b (a b) (¬ a ¬b);

(е) a ~ b ≡ ¬ (a ¬b) ¬ (¬ a b).

 

30

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

Важливим висновком із цих рівносильностей є те, що операції та ~ є надлишковими в алгебрі висловлень. Кожну підформулу, що містить такі операції, можна замінити на рівносильну їй (згідно з наведеними рівносильностями), що міститиме лише операції кон'юнкції, диз'юнкції та заперечення.

2. Використавши тотожності попередньої задачі, замінити формулу алгебри висловлень ¬ (a b) ~ (¬ a → ¬ b) рівносильною, що містить лише операції кон'юнкції, диз'юнкції та заперечення.

Замінимо спочатку підформули, що містять символ операції . Матимемо ¬ (¬a b) ~ (¬ ¬ a ¬ b). Використавши тотожність 4 попередньої задачі, отримаємо рівносильну формулу

(¬ ¬ (¬ a b) (¬ ¬ a ¬ b)) (¬ (¬ a b) ¬ (¬ ¬ a ¬ b)).

Застосуємо до цієї формули закон подвійного заперечення зі списку основних тотожностей алгебри висловлень. Отримаємо формулу ((¬ a b) (a ¬b)) (¬(¬ a b) ¬ (a ¬ b)). Од-

нак і після спрощення дістали рівносильну формулу, що майже вдвічі довша від початкової. Саме цим пояснюється наявність надлишкових операцій та ~ в алгебрі висловлень.

3. Дано два складені висловлення:

1)Якщо один доданок кратний 3 і сума кратна 3, то й другий доданок кратний 3.

2)Якщо один доданок кратний 3, а другий – не кратний 3, то сума не кратна 3.

Записати ці висловлення формально й визначити, чи вони рівносильні.

Позначимо елементарні висловлення, з яких складено наве-

дені висловлення, так: a один доданок кратний 3, b сума кратна 3, c другий доданок кратний 3. Відповідні формули,

що задають логічну структуру цих висловлень, є такими:

(a b) c і (a ¬ c) → ¬ b.

Побудувавши таблиці істинності для кожної із цих формул, переконаємося, що вони рівносильні.

31

4. Перевірити, чи є логічно еквівалентними (рівносильними)

такі твердження: Неправильно, що a тоді й тільки тоді, коли b та ¬ a тоді й тільки тоді, коли ¬ b.

Запишемо дані твердження (висловлення) формально. Матимемо відповідно: ¬ (a ~ b) і (¬ a ~ ¬ b). Таблиці істинності цих формул відрізняються, тому наведені твердження не є логічно еквівалентними (рівносильними).

У той самий час, наприклад, твердження Неправильно, що a

та b і Неправильно, що a, або неправильно, що b є рівносильни-

ми. Це один із законів де Моргана, записаний словами.

Завдання для самостійної роботи

1. Довести таку рівносильність:

(а) a ¬ b ¬ a b (a b) (¬ a ¬ b); (б) a b c d (¬a ¬b ¬c) d;

(в) (a b) c (a ¬ c) → ¬ b; (г) (a ~ b) (a ¬ b b) a b.

2. Довести, що формули алгебри висловлень

(a b) c, (a ¬ c) → ¬ b, (b ¬ c) → ¬ a та a (b c)

рівносильні.

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

формулі ¬ (a b):

 

1) ¬ a → ¬b;

3) ¬ a b;

2) a → ¬b;

4) a ¬ b.

4.Довести, що a b ≡ ¬ b → ¬ a (закон контрапозиції).

5.Перевірити (довести або спростувати), чи має місце така рівносильність:

(а) ¬ (a ~ ¬ b) a b ¬ a ¬ b;

(б) (a c) (b d) (a b) (c d); (в) a (a ~ b) (a b);

(г) a (b c) (a b) c;

(д) (a b ¬ c) a (b a) (¬ a c); (е) (a (a c) (b c)) ((a b) (a c)).

6. Перевірити, чи є логічно еквівалентними (рівносильними) такі пари тверджень:

32

(а) Якщо a, то b та Якщо неправильно, що b, то неправильно, що a.

(б) Якщо a, то b" та Якщо неправильно, що a, то неправильно, що b.

(в) Якщо a, то b та Неправильно, що a, і неправильно, що b. (г) Із a випливає b та a тільки тоді, коли b.

(д) b випливає з a та ← b достатня умова для a. (е) b необхідна умова для a та b тільки тоді, коли a.

(є) b – необхідна умова для a та ← b достатня умова для a. (ж) Неправильно, що a або b та Неправильно, що a, і непра-

вильно, що b.

(з) Неправильно, що a та b та Неправильно, що a, або справджується b.

7. Визначити, які із висловлень логічно рівносильні:

1)Студент розв'язав цю задачу, але не склав іспит з математичної логіки.

2)Студент розв'язав цю задачу або не склав іспит з математичної логіки.

3)Неправильно, що студент не розв'язав цю задачу або склав іспит з математичної логіки.

4)Студент розв'язав цю задачу і склав іспит з математичної логіки або він не розв'язав цю задачу й не склав іспит з математичної логіки.

5)Якщо студент склав іспит з математичної логіки, то він розв'язав цю задачу.

6)Студент склав іспит з математичної логіки тоді й тільки тоді, коли він розв'язав цю задачу.

1.4.Нормальні форми логічних функцій.

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

У п. 1.2 описано спосіб побудови таблиці істинності для заданої пропозиційної формули, тобто побудови таблиці логічної функції, яку задає ця формула.

Не менш важливою є обернена задача: для функції, заданої таблицею, графіком, словесно тощо, визначити (побудувати)

33

формулу, що цю функцію задає. У багатьох розділах математики побудувати таку формулу для довільної функції не вдається. Замість формули, яка абсолютно точно визначає вихідну функцію, використовують методи побудови різних формул, що відтворюють цю функцію наближено (або апроксимують її) з певною точністю.

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

Розглянемо дві такі процедури.

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

Уведемо такі позначення: для логічної змінної x вважатимемо, що x0 = ← x та x1 = x. Неважко переконатись, що для логічної змінної a B виконується xa = 1, якщо a = x (тобто якщо значення змінних a та x збігаються), а xa = 0, якщо a x.

Розглянемо довільну логічну функцію f(x, y, z) від трьох

змінних. Нехай (a1, b1, c1), (a2, b2, c2),…, (ak, bk, ck) це всі набори значень змінних, для яких функція f істинна (тобто дорівнює

1). Тоді формула, що задає цю функцію, має вигляд:

xa1 yb1 zc1 xa2 yb2 zc2 ... xak ybk zck

(1.1)

 

Справді, якщо до цієї формули підставити замість x, y та z

один із наборів (ai, bi, ci) (тобто покласти x = ai, y = bi і z = ci), то рівно один із логічних доданків формули (1.1), а саме доданок

xai ybi zci , дорівнюватиме 1, i = 1, 2, …, k. Отже, значенням усієї

формули (1.1) на цьому наборі (ai, bi, ci) буде 1. Якщо ж до (1.1) підставити будь-який інший набір значень змінних (тобто набір, що не увійшов до вищезазначеного списку з k елементів), то всі доданки формули (1.1)дорівнюватимуть 0, отже, і значенням усієї формули на такому наборі буде 0.

Таким чином, обґрунтовано, що значення формули (1.1) збігається зі значенням заданої функції f(x, y, z) на будь-якому наборі (a, b, c) значень її змінних, тобто (1.1) задає (реалізує) функ-

цію f(x, y, z).

34

Формулу (1.1) називають досконалою диз'юнктивною нор мальною формою (ДДНФ) логічної функції f(x, y, z).

Операції, що входять до складу ДДНФ це кон'юнкція, диз'юнкція та заперечення.

Приклад 1.13.

1.Побудувати ДДНФ логічної функції, таблицю істинності якої отримано у прикладі 1.7. Ця функція набуває значення 1 на наборах (0,1,1), (1,0,0) і (1,0,1), тому її ДДНФ це

x0y1z1 x1y0z0 x1y0z1 або ←xyz xyz xyz.

2.Побудувати ДДНФ логічної функції f(x, y, z) від трьох змінних, яка набуває такого самого значення, як і більшість її змін-

них (функція голосування).

Функція голосування є істинною на наборах (0,1,1), (1,0,1),

(1,1,0) та(1,1,1), тому її ДДНФ – ←xyz xyz xyz xyz.

Алгоритм побудови ДДНФ для логічних функцій від двох, чотирьох, п'яти та більшої кількості змінних аналогічний.

Приклад 1.14.

1.Побудувати ДДНФ логічної функції f (x, y, z, u) від чотирьох змінних, яка набуває значення 1 на тих і лише тих наборах значень її змінних, у яких кількість одиниць і кількість нулів збігаються.

З умови задачі робимо висновок, що наборами, на яких функція f набуває значення 1, є такі:

(0,0,1,1), (0,1,0,1), (0,1,1,0), (1,0,0,1), (1,0,1,0), (1,1,0,0).

Шукана ДДНФ має вигляд

x0y0z1u1 x0y1z0u1 x0y1z1u0 x1y0z0u1 x1y0z1u0 x1y1z0u0 або

xyzu xyzu xyz u xy zu xyz u xy z u.

2.Побудувати ДДНФ логічної функції f (x, y, z, u, v) від п'яти змінних, яка набуває значення 1 на тих і лише тих наборах значень її змінних, у яких тільки одна зі змінних дорівнює 0.

Отже, за умовою задана функція набуває значення 1 лише на наборах (0,1,1,1,1), (1,0,1,1,1), (1,1,0,1,1), (1,1,1,0,1) та (1,1,1,1,0).

Відповідна ДДНФ:

xyzuv x yzuv xy zuv xyz uv xyzu v.

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

35

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