Информ_02_2_Алгебра_логика.ppt
- Количество слайдов: 29
АЛГЕБРА ЛОГІКА Алгебра логіки — це розділ математики, що вивчає вислови, що розглядаються з боку їх логічних значень (істинності або помилковості) і логічних операцій над ними.
Для запису тих чи інших логічних виразів використовується спеціальна мова, яка прийнята в математичній логіці. Засновником математичної логіки є великий німецький математик Готфрид Вільгельм Лейбніц (1646 - 1716 рр. ). Саме він зробив спробу побудувати універсальну мову, за допомогою якої суперечки між людьми можна було б розв`язати за допомогою обчислень. На закладеному Лейбніцем фундаменті ірландський математик Джордж Буль (1815 - 1864 рр. ) побудував підвалини нової науки математичної логіки, - яка на відміну від звичайної алгебри оперує не числами, а висловлюваннями. На честь Д. Буля логічні змінні в мовах програмування почали називати булівськими. 2
Логічний вислів — це будь-яка оповідна пропозиція, відносно якої можна однозначно сказати, істинна воно або помилкова. Джордж Буль Наприклад: "6 — парне число" слід вважати висловом, оскільки він істинний. "Рим — столиця Франції" теж вислів, оскільки він помилковий. Не всяка пропозиція є логічним висловом. Висловами не є, наприклад, "учень десятого класу" і "інформатика — цікавий предмет". Перший вислів нічого не стверджує про учня, а другий використовує дуже невизначене поняття "цікавий предмет". Алгебра логіки розглядає будь-який вислів тільки з однієї точки зору — чи є воно істинним або помилковим. Відмітимо, що часто важко встановити істинність вислову. 3
. Вислови, утворені з інших висловів за допомогою логічних зв'язок, називаються складеними. Вислови, що не мають логічних зв’язків, називають елементарними. Так, наприклад, з елементарних висловів "Петров — лікар", "Петров — шахіст" за допомогою зв'язки «і» можна отримати складений вислів "Петров — лікар і шахіст “. Позначимо через А вислів "Тимур поїде влітку на морі", а через В — "Тимур влітку відправиться в гори". Тоді складений вислів "Тимур влітку побуває на морі і в горах" можна стисло записати як А і В. Тут "і" — логічна зв'язка, А, В — логічні змінні, які можуть приймати тільки два значення, — "істина" або "брехня", що позначаються, відповідно, "1" і "0". НЕ операція називається запереченням і позначається рискою над висловом. Вислів істинний, коли A помилка, і помилковий, коли A істина. Приклад. "Місяць — супутник Землі" (А); "Місяць — не супутник Землі (A ). 4
І Операція називається кон'юнкцією (лат. conjunctio — з'єднання) або логічним множенням і позначається точкою " " (може також позначатися знаками Λ або &). Вислів А∙В істинний тоді і тільки тоді, коли обидва вислови А і В істинні. Наприклад, вислів "10 ділиться на 2 і 5 більше 3" істинна, а вислови "10 ділиться на 2 і 5 не більше 3", "10 не ділиться на 2 і 5 не більше 3" — помилкові. . АБО Операція називається диз'юнкцією (лат. disjunctio — розділення) або логічним додаванням і позначається знаком V (або плюсом). Вислів А V В помилковий тоді і тільки тоді, коли обидва вислови А і В помилкові. Наприклад, вислів "10 не ділиться на 2 або 5 не більше 3" помилковий а вислови "10 ділиться на 2 або 5 більше 3", "10 ділиться на 2 або 5 не більше 3", "10 не ділиться на 2 або 5 більше 3" — істинні. 5
ЯКЩО-ТО Операція називається імплікацією (лат. implico — тісно зв'язані) і позначається знаком . Вислів A В помилковий тоді і тільки тоді, коли А істинно, а В помилково. Наприклад, є вислови: "даний чотирикутник — квадрат" (А) і "біля даного чотирикутника можна описати коло" (В). Розглянемо складений вислів A В, що розуміється як "якщо даний чотирикутник квадрат, то біля нього можна описати коло". Є три варіанти, коли вислів A В істинний: • А істинно і В істинно, тобто даний чотирикутник квадрат, і біля нього можна описати коло; • А помилково і В істинно, тобто даний чотирикутник не є квадратом, але біля нього можна описати коло (зрозуміло, це справедливо не для всякого чотирикутника); • A помилково і B помилково, тобто даний чотирикутник не є квадратом, і біля нього не можна описати коло. Помилковий тільки один варіант, коли А істинно, а В помилково, тобто “даний чотирикутник є квадратом, але біля нього не можна описати коло”. У звичайній мові зв'язка "якщо. . . , то" описує причинно-наслідковий зв'язок між висловами. Але в логічних операціях сенс висловів не враховується. Розглядається тільки їх істинність або помилковість. Тому не треба бентежитися "безглуздям" імплікацій, утворених висловами, абсолютно не зв'язаними за змістом. Наприклад, такими: "якщо президент США — демократ, то в Африці водяться жирафи", "якщо кавун — ягода, то в бензоколонці є бензин". 6
РІВНОСИЛЬНО Операція називається еквіваленцією або подвійною імплікацією і позначається знаком або ~. Вислів A В істинний тоді і тільки тоді, коли значення А і В співпадають. Наприклад, вислови "24 ділиться на 6 тоді і тільки тоді, коли 24 ділиться на 3", "23 ділиться на 6 тоді і тільки тоді, коли 23 ділиться на 3" істинні, а вислови "24 ділиться на 6 тоді і тільки тоді, коли 24 ділиться на 5", "21 ділиться на 6 тоді і тільки тоді, коли 21 ділиться на 3" помилкові. Вислови А і В, які створюють складний вислів, можуть бути абсолютно не зв'язані за змістом, наприклад: "три більше двох" (А), "пінгвіни живуть в Антарктиді" (В). Запереченнями цих висловів є вислови "три не більше двох" (Ā), "пінгвіни не живуть в Антарктиді" (В). Утворені з висловів А і В складені вислови A В і Ā В істинні, а вислови Ā В і А В — помилкові. 7
Імплікацію можна виразити через диз'юнкцію і заперечення: А В = Ā V В. Еквіваленцію можна виразити через заперечення, диз'юнкцію і кон'юнкцію: А В = (Ā V В)∙(B) V А). Таким чином, операцій заперечення, диз'юнкції і кон'юнкції вистачає, щоб описувати і обробляти будь-які логічні вислови. Порядок виконання логічних операцій задається круглими дужками. Але для зменшення числа дужок домовилися вважати, що спочатку виконується операція заперечення ("не"), потім кон'юнкція ("і"), після кон'юнкції — диз'юнкція ("або") і в останню чергу — імплікація. 8
ЛОГІЧНА ФОРМУЛА За допомогою логічних змінних і символів логічних операцій будь-який вислів можна формалізувати, тобто замінити логічною формулою. Визначення логічної формули: • Всяка логічна змінна і символи "істина" ("1") і "брехня" ("0") — формули. • Якщо А і В — формули, то Ā, А∙В, А V В, А B, А В — формули. • Ніяких інших формул в алгебрі логіки немає. Є вислів "якщо я куплю яблука або абрикоси, то приготую фруктовий пиріг". Цей вислів формалізується у вигляді (A V B) C. Така ж формула відповідає вислову "якщо Ігор знає англійську або японську мову, то він отримає місце перекладача". При певних поєднаннях значень змінних A, B і C вона приймає значення "істина", а при деяких інших поєднаннях — значення "брехня". Такі формули називаються здійснимими. 9
Деякі формули приймають значення "істина" при будь-яких значеннях істинності що входять в них змінних. Наприклад, формула А V Ā, що відповідає вислову "Цей трикутник прямокутний або косокутний". Ця формула істинна і тоді, коли трикутник прямокутний, і тоді, коли трикутник не прямокутний. Такі формули називаються тотожно дійсними формулами або тавтологиями. Вислови, які формалізуються тавтологиями, називаються логічно дійсними висловами. Як інший приклад, формулі А Ā відповідає, наприклад, вислів "Катя найвища дівчинка на курсі, і на курсі є дівчатка вище Каті". Ця формула помилкова, оскільки або А, або Ā обов'язково є помилкою. Такі формули називаються тотожно помилковими формулами або суперечностями. Вислови, які формалізуються суперечностями, називаються логічно помилковими висловами. 10
Якщо дві формули А і В одночасно приймають однакові значення, то вони називаються рівносильними. Рівносильність двох формул алгебри логіки позначається символом "=" або символом " “. Заміна формули інший, їй рівносильною, називається рівносильним перетворенням даної формули. ЗВ'ЯЗОК МІЖ АЛГЕБРОЮ ЛОГІКИ І ДВІЙКОВИМ КОДУВАННЯМ Основною системою числення в комп'ютері є двійкова, в якій використовуються цифри 1 і 0, і значення логічних змінних теж два: “ 1” і “ 0”. З цього випливає два виводи: • одні і ті ж пристрої комп'ютера можуть застосовуватися для обробки і зберігання як числової інформації, представленої в двійковій системі числення, так і логічних змінних; • на етапі конструювання апаратних засобів алгебра логіки дозволяє значно спростити логічні функції, що описують функціонування схем комп'ютера, і, отже, зменшити число елементарних логічних елементів, з десятків тисяч яких складаються основні вузли комп'ютера. 11
ЛОГІЧНИЙ ЕЛЕМЕНТ КОМП'ЮТЕРА Логічний елемент комп'ютера — це частина електронної логічної схеми, яка реалізує елементарну логічну функцію. Логічними елементами комп'ютерів є електронні схеми І, АБО, НЕ, І-НЕ, АБО —НЕ та інші (або вентилями), а також трігер. За допомогою цих схем можна реалізувати будь-яку логічну функцію, що описує роботу пристроїв комп'ютера. Зазвичай у вентилів буває від двох до восьми входів і один або двох виходу. Кожен логічний елемент має своє умовне позначення, яке виражає його логічну функцію, але не указує на те, яка саме електронна схема в нім реалізована. Це спрощує запис і розуміння складних логічних схем. Роботу логічних елементів описують за допомогою таблиць істинності. Таблиця істинності це табличне представлення логічної схеми (операції), в якому перераховані всі можливі поєднання значень істинності вхідних сигналів (операндів) разом із значенням істинності вихідного сигналу (результату операції) для кожного з цих поєднань. 12
ЛОГІЧНИЙ ЕЛЕМЕНТ КОМП’ЮТЕРА Логічний елемент комп’ютера — це частина електронної логічної схеми, яка реалізує елементарну логічну функцію. Логічними елементами комп’ютерів є електронні схеми І, АБО, НЕ, І— НЕ, АБО—НЕ та інші (їх називають також вентилями), а також триггер. За допомогою цих схем можна реалізувати будь-яку логічну функцію, що описує роботу пристроїв комп’ютера. Работу логических элементов описывают с помощью таблиц истинности. Таблиця істинності це табличне представлення логічної схеми (операції), в якій перераховані усі можливі сполучення значень істинності сигналів, що входять (операндів) разом з значенням істинності вихідного сигналу (результату операції) для кожного з цих сполучень. 13
СХЕМА ЛОГІЧНОГО І Схема І реалізує кон’юнкцію двох або більше логічних значень. Умовне позначення на структурних схемах схеми І с двома входами представлено на рис. 1. Одиниця на виході схеми І буде тоді і лише тоді, коли на всіх входах будуть одиниці. Зв’язок між виходом z цієї схеми і входами x та y описується співвідношенням: z = x y Операція кон’юнкції на структурних схемах позначається знаком Λ або "&" ("амперсэнд") запис англійського слова and. Таблиця істинності схеми І x x y 0 0 Рисунок 1. y 1 0 0 1 14
СХЕМА АБО Схема АБО реалізує диз’юнкцію двох або більше логічних значень. Коли хоча б на одному вході схеми АБО будете одиниця, на її виході також буде одиниця. Умовне позначення на структурних схемах схеми АБО з двома входами представлено на рис. 2. Зв’язок між виходом z цієї схеми та входами x та y описується співвідношенням: z = x v y. V Рис. 2 x y 0 0 1 1 0 1 xvy 0 1 15
СХЕМА НЕ Схема НЕ (інвертор) реалізує операцію заперечення. Зв’язок між входом x цієї схеми та виходом z можна записати співвідношенням z = x, це "інверсія х". Якщо на вході схеми 0, то на виході 1. Коли на вході 1 – на виході 0. Умовне позначення на структурних схемах інвертора — на рис. 3. Таблиця істинності схеми НЕ x 0 Рис. 3. x 1 1 0 16
СХЕМА І—НЕ Схема І—НЕ складається з елемента І та інвертора та здійснює заперечення результату схеми І. Зв’язок між виходом z та входами x та y схеми записують таким чином: z = x∙y, "інверсія x та y". Умовне позначення на структурних схемах схеми І—НЕ з двома входами представлено на рис. 4. Таблиця істинності схеми І—НЕ x Рис. 4. y x∙y 0 0 1 1 0 17
ОСНОВНІ ЗАКОНИ АЛГЕБРИ ЛОГІКИ У алгебрі логіки виконуються такі основні закони, що дозволяють проводити тотожні перетворення логічних виразів: Закон Для АБО (+) Для І (∙) X 1 + X 2 = X 2 + X 1∙X 2 = X 2∙X 1 (X 1 + X 2) + X 3 = X 1 + (X 2 + X 3) (X 1 ∙ X 2) ∙ X 3 = X 1 ∙ (X 2∙X 3) (X 1 + X 2) ∙ X 3 = X 1 ∙ X 3 + X 2 (X 1 ∙ (X 2 + X 3) = (X 1 + X 3) + (X 2 +X 3) X 1 + X 2 = X 1 ∙ X 2 X 1∙X 2 = X 2 + X 1 X+X=X X∙X=X Поглинання X 1 + (X 1 ∙ X 2) = X 1 ∙ (X 1 + X 2) = X 1 Склеювання (X 1∙X 2)+(X 1∙ X 2)=X 2 (X 1 + X 2) ∙ (X 1+ X 2)=X 2 X+X=1 X∙X=0 X + 0 = X; X + 1 = 1 X ∙ 1 = X; X ∙ 0 = 0 Переставний Сполучний Розподільний Правила де Моргана Ідемпотенциї (тавтології) Операція змінної з її інверсією Операція з константами Подвійного заперечення X=X 18
СКЛАДАННЯ ТАБЛИЦІ ІСТИННОСТІ Таблиця істинності логічної формули виражає відповідність між всілякими наборами значень змінних і значеннями формули. Для формули, яка містить дві змінні, таких наборів значень змінних всього чотири: (0, 0), (0, 1), (1, 0), (1, 1). Якщо формула містить три змінні, то можливих наборів значень змінних вісім: (0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1) і так далі. Зручною формою запису при знаходженні значень формули є таблиця. Приклади. 1. Складемо таблицю істинності для формули x∙y + (x + y) + x, яка містить дві змінні x і у. В результаті отримаємо таблицю: 19
Змінні Проміжні логічні формули Формула x y x∙y x+y x∙y + (x + y) + x 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 З таблиці видно, що при всіх наборах значень змінних x і у формула x∙y + (x + y) + x приймає значення 1, тобто є тотожно істинною. 20
: 2. Таблиця істинності для формули Змінні Проміжні логічні формули Формула x y x+y y x∙y 0 0 0 1 1 0 0 1 0 1 1 1 0 0 З таблиці видно, що при всіх наборах значень змінних x і у ця формула приймає значення 0, тобто є тотожно помилковою. 21
ЯК СПРОСТИТИ ЛОГІЧНУ ФОРМУЛУ? Під спрощенням формули розуміють рівносильне перетворення, що приводить до формули, яка або містить в порівнянні з початковою менше число операцій кон'юнкції і диз'юнкції і не містить заперечень неелементарних формул, або містить менше число входжень змінних. Деякі перетворення логічних формул схожі на перетворення формул в звичайній алгебрі (винесення загального множника за дужки, використання переместительного і сполучного законів і тому подібне), тоді як інші перетворення засновані на властивостях, якими не володіють операції звичайної алгебри (використання розподільного закону для кон'юнкції, законів поглинання, склеювання, де Моргана і ін. ). Покажемо це прикладах: 1. В цьому прикладі закони алгебри логіки застосовуються в наступній послідовності: правило де Моргана, сполучний закон, правило операцій змінної з її інверсією і правило операцій з константами); 22
2. Застосовується правило де Моргана, виноситься за дужки загальний множник, використовується правило операцій змінної з її інверсією; 3. Повторюється другий співмножник, що дозволене законом ідемпотенції; потім комбінуються два перших і два останні співмножники і використовується закон склеювання. З цих прикладів видно, що при спрощенні логічних формул не завжди очевидно, яким із законів алгебри логіки слід застосувати на тому або іншому кроці. 23
СПОСОБИ ЗАВДАННЯ ЛОГІЧНИХ ФУНКЦІЙ Логічну функцію (складне висловлювання) можна задати трьома способами: словесним, табличним і аналітичним. При словесному способі завдання функції означається словами, при цьому треба однозначно визначити всі випадки, коли логічні аргументи набувають значень 0 і 1. Табличний способом завдання логічної функції є таблиця істинності, в якій враховують всі можливі комбінації значень логічних аргументів і значення функції для кожної комбінації. Аналітичний спосіб – це записування логічної функції у вигляді рівняння, як дістають з таблиці істинності. 24
ПОДАННЯ ЛОГІЧНОЇ ФУНКЦІЇ В ДОСКОНАЛІЙ ДИЗ’ЮНКТИВНІЙ НОРМІЛЬНІЙ ФОРМІ (ДДНФ) Для складання логічного рівняння ДДНФ треба: 1. будують таблицю істинності і і вибирають ті набори аргументів, на яких логічна функція дорівнює 1; 2. записують ряд добутків усіх аргументів і сполучають їх знаком логічної суми; кількість добутків дорівнює числу наборів, на яких функція дорівнює 1; 3. над тими аргументами, які у вибраних наборах дорівнюють 0, ставлять знак інверсії. 25
Приклад. Логічна функція задана таблицею. Записати логічне рівняння у вигляді ДДНФ. X 1 X 2 Y 0 0 1 1 ← 1 0 1 ← 1 1 0 Розв'язок. Вибираємо набори, в яких Y = 1: X 1 ∙ X 2 + X 1 ∙ X 2. Враховуємо значення Х 1 і Х 2 в кожному добутку: Y = X 1 ∙ X 2 + X 1 ∙ X 2. 26
ПОДАННЯ ЛОГІЧНОЇ ФУНКЦІЇ В ДОСКОНАЛІЙ КОНФ’ЮНКТИВНІЙ НОРМІЛЬНІЙ ФОРМІ (ДКНФ) Для складання логічного рівняння ДКНФ треба: 1. будують таблицю істинності і вибирають ті набори аргументів, на яких логічна функція дорівнює 0; 2. записують добуток логічних сум усіх аргументів; кількість добутків дорівнює числу наборів, на яких функція дорівнює 0; 3. над тими аргументами, які у вибраних наборах дорівнюють 1, ставлять знак інверсії. 27
Приклад. Логічна функція задана таблицею. Записати логічне рівняння у вигляді ДДНФ. X 1 X 2 Y 0 0 1 1 1 0 ← ← Розв'язок. Вибираємо набори, в яких Y = 0: (X 1 + X 2) ∙ (X 1 + X 2). Враховуємо значення Х 1 і Х 2 в кожному добутку: Y = (X 1 + X 2) ∙ (X 1 + X 2) Легко довести, що одну форму можна легко перевести в іншу. 28
ЯК РОЗВ’ЯЗУВАТЬ ЛОГІЧНІ ЗАДАЧІ? Різноманітність логічних завдань дуже велика. Способів їх розв’язування теж немало. Але найбільшого поширення набули наступні три способи вирішення логічних завдань: - засобами алгебри логіки; - табличний; - за допомогою міркувань. 29
Информ_02_2_Алгебра_логика.ppt