КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Логічні функціїРозглядаючи формули алгебри логіки (табл. 2.1) та приклад таблиці істинності (табл. 2.2), неважко бачити, що ліві та праві частини тотожностей по суті являють собою функції логічних змінних, якими є прості висловлення, причому ці функції приймають значення 0 або 1 у функціональній залежності від набору значень істинності аргументів. В подальшому значення істинності логічних змінних і функцій цих змінних будемо називати просто їх значеннями. Тому можемо увести наступне формалізоване означення логічної функції. Означення 2.2.Функція f(x1, x2, ..., xn) называється логічною (перемикальною, булевою), якщо вона, так само як її аргументи (логічні змінні) xi, i= , може приймати тільки два значення: 0 та 1. Означення 2.3.Упорядкована множина значень аргументів логічної функції називається набором і позначається кортежем (а1, а2, ..., аі, ..., аn), аіÎ{0, 1}, i= . Областю визначення логічної функції (ЛФ) n змінних є сукупність всіх можливих упорядкованих наборів. Набір уявляє собою число у двійковій системі числення, якому відповідає певне число в десятковій системі числення (Додаток А). Ці числа можна розглядати як номер набору у відповідній системі числення. У такий спосіб встановлюється порядкова нумерація наборів для будь-якої ЛФ, як це показано в таблиці 2.2. Таким чином, будь-яким набором (а1,а2,...,аі,...,аn) задається його власний порядковий номер у двійковій та десятковій системах числення і в той же час в його i-му розряді (i = 1, 2, …, n) знаходиться значення 0 або 1 змінної xi даного набору. Приймаючи до уваги поняття набору, логічній функції можна дати також наступне означення. Означення 2.4. логічною функцією (функцією алгебри логіки) називається функція f(x1, x2, ..., xn), яка приймає значення 0 або 1 на наборах логічних змінних x1, x2, ..., xn. Оскільки кожний з n аргументів логічної функції може приймати два можливих значення, то очевидно, що областю визначення логічної функції n змінних є сукупність m=2n можливих наборів. Оскільки логічна функція n аргументів може приймати тільки два з можливих значень (0 і 1) на кожному з m наборів, то кількість всіх різних логічних функцій n аргументів дорівнює k=2m. Значення величин m і k обчислюються за формулами комбінаторики (Додаток Б). Означення 2.5. Якщо логічна функція n змінних визначена на всіх 2n наборах, її називають повністю визначеною, в протилежному випадку – неповністю визначеною. Для наборів, на яких ЛФ не визначена, її значення можна прийняти будь-яким із множини {0, 1} і таким чином привести її до повністю визначеної. Логічну функцію можна задати її вербальним описом. Наприклад: “Функція трьох аргументів приймає значення 1, якщо два аргумента або всі три дорівнюють 1, а в інших випадках вона приймає значення 0”. Для задання логічної функції можна застосувати табличний спосіб, коли функція представляється своєю таблицєю істинності. Прикладом може служити таблиця 2.2 істинності функції F= . При більшій ніж 2 кількості аргументів табличний спосіб незручний через великий розмір таблиці. Логічна функція може бути задана також у вигляді формули, наприклад: f(x1,x2,x3)=x1Ú Úx3. Логічні функції одного і двох аргументів називають елементарними. Їх можна задати як формулами, так і таблицями істинності. Для логічної функції одного аргумента існують два набори, кількість таких функцій – чотири, згідно переліку: f(x)=0, має назву “Константа нуль”; f(x)=x, має назву “Змінна x” (повторення x); f(x)= , має назву “Інверсія (заперечення) x”; f(x)=1, має назву “Константа одиниця”. Цей перелік по суті співпадає з переліком логічних операцій над простим висловленням, наведеним у п.2.2. Опис цих функцій подано таблицєю 2.3. Таблиця 2.3 – Таблиця істинності логічних функцій f(x)
Для логічної функції двох аргументів існують чотири набори, кількість таких функцій – шістнадцять. Відповідність цих функцій переліку операцій алгебри логіки, наведеному в п.2.2, зручніше буде пояснити на підставі таблиці 2.4. Таблиця 2.4 – Таблиця істинності логічних функцій f(x1,x2)
У 16 клітинках першого рядка таблиці 2.4 розміщені номери i=0, …, 15 функцій fі(x1,x2), а в тих же за номерами клітинках інших рядків – виділені жирним шрифтом значення функцій fі(x1,x2) для відповідних наборів. Неважко бачити, що немає жодної пари функцій з однаковими значеннями на всіх наборах, тобто всі функції різні. Наведемо назви цих функцій у відповідності до логічних операцій, які вони реалізують: f0(x1,x2)=0, має назву “Константа нуль”; f1(x1,x2)=x1Ùx2, має назву “Кон’юнкція” (функція “І”); f2(x1,x2)= , має назву “Заборона x2”; f3(x1,x2)=x1, має назву “Змінна x1”; f4(x1,x2)= , має назву “Заборона x1”; f5(x1,x2)=x2, має назву “Змінна x2”; f6(x1,x2)=x1Åx2, має назву “Сума за модулем 2” (логічна нерівнозначність, виключне “або” ); f7(x1,x2)=x1Úx2, має назву “Диз’юнкція” (функція “Або”); f8(x1,x2)=x1¯x2, має назву “Функція (стрілка) Пірса” (функція “Або-Не”); f9(x1,x2)=x1~x2, має назву “Рівнозначність”; f10(x1,x2)= , має назву “Інверсія x2” (функція “Не”); f11(x1,x2)=x2®x1, має назву “Імплікація від x2 до x1” (функція “Якщо-То”); f12(x1,x2)= , має назву “Інверсія x1” (функція “Не”); f13(x1,x2)=x1®x2, має назву “Імплікація від x1 до x2” (функція “Якщо-То”); f14(x1,x2)=x1|x2, має назву “Функція (штрих) Шеффера” (функція “І-Не”). f15(x1,x2)=1, має назву “Константа одиниця”. З числа ЛФ двох змінних f0 – f15 (табл. 2.4) можна виділити базисні, за допомогою яких можна одержати будь-які інші ЛФ. У той же час базисні ЛФ неможливо одержати за допомогою інших. До базисних належать такі елементарні ЛФ: f0, f1, f3, f5, f7, f10, f12, f15. За допомогою елементарних ЛФ можна будувати складні ЛФ від довільної скінченної кількості аргументів. Будь-яка складна ЛФ може бути поданою у вигляді формули, яка вказує послідовність елементарних логічних операцій над логічними змінними. Пріоритет виконання операцій у формулах такий: спочатку виконуються операції всередині дужок, після чого – операції заперечення, потім кон’юнкції, а далі – диз’юнкції та всі інші операції в порядку запису зліва направо. Логічні вирази, тобто формули, які містять операції диз’юнкції та кон’юнкції, можна перетворювати (розкривати дужки, виносити загальний множник, переставляти місцями члени і т.п.) за правилами алгебри чисел,вважаючи формально диз’юнкцію операцією додавання, а кон’юнкцію - операцією множення. Але потрібно чітко пам’ятати, що в алгебрі логіки, на відміну від алгебри чисел, знаки додавання і множення означають логічні зв’язки “Або” та“І”. Формулу будь-якої ЛФ можна, використовуючи операції алгебри логіки та опис елементарних функцій, перетворити до такого виду, щоб усі логічні зв’язки проміж логічними змінними визначалися операціями диз’юнкції, кон’юнкції та інверсії. Покажемо це для ЛФ двох змінних f2, f4, f6, f8, f9, f11, f13, f14 (табл. 2.4), які не є базисними: f2(x1,x2)= = =x1Ù ; f4(x1,x2)= = =x2Ù ; f6(x1,x2)=x1Åx2= = =(x1Ù )Ú( Ùx2); f8(x1,x2)=x1¯x2= = Ù ; f9(x1,x2)=x1~x2=x1Ùx2Ú Ù ; f11(x1,x2)=x2®x1= Úx1; f13(x1,x2)=x1®x2= Úx2; f14(x1,x2)=x1|x2= = Ú . Розглянемо особливі випадки, коли мають місце такі співвідношення між аргументи ЛФ: один з двох аргументів є константою 1 або 0; обидва аргументи дорівнюють один одному (x1=x2=x); один з аргументів є інверсією іншого (x1=x, x2= ). У таких випадках мають місце наступні тотожності: xÚ1=1, xÙ1=x, x~1=x, xÅ1= , x®1=1, 1®x=x, x|1= , x¯1=0; xÚ0=x, xÙ0=0, x~0= , xÅ0=x, x®0= , 0®x=1, x|0=1, x¯0= ; xÚx=x, xÙx=x, x~x=1, xÅx=0, x®x=1, x|x= , x¯x= ; xÚ =1, xÙ =0, x~ =0, xÅ =1, x® = , ®x=x, x| =1, x¯ =0. Доведення правильності наведених вище перетворень формул логічних функцій легко здійснюється за допомогою таблиць істинності (аналогічно табл. 2.2), за збіжністю значень лівої та правої частин рівності, що доводиться. Розглянути так само логічні функції трьох аргументів неможливо, оскільки їх кількість становить 28= 256. Проте це не має принципового значення, бо аргументи будь-якої ЛФ також можуть бути логічними функціями. Це означає, що створювати складні ЛФ можна шляхом підстановки інших ЛФ в якості аргументів. Означення 2.6. Функція F(f1,…, fn), що одержується із функції F(x1,…, xn) шляхом підстановки функцій f1(x1,…, xn),…, fn(x1,…, xn) замість аргументів x1,…, xn, називається суперпозицією функцій f1,…, fn. Таким чином, знаючи властивості логічних функцій та принцип суперпозиції, можна з простих логічних висловлень утворювати складніші, або, що те ж саме, з простих логічних функцій одержувати складні. Слід помітити, що при виконанні операції підстановки функцій f1,…, fn замість аргументів у формулу функції F(x1,…, xn) не виключається можливість заміни не всіх аргументів. Крім того, серед аргументів функцій f1,…, fn можуть бути відсутніми деякі зі змінних x1,…, xn. тоді, після перейменування аргументів, буде одержана функція G(y1,…, ym) з числом аргументів m<n. Саме такі випадки віддзеркалює наступний приклад. Результати наведених вище перетворень формул ЛФ та використання суперпозиції є такими, що всі логічні зв’язки проміж логічними змінними визначаються операціями диз’юнкції, кон’юнкції та інверсії. Це означає, що відповідні цим операціям елементарні функції fІ(x1,x2)=x1Ùx2 (функція “І”), fАбо(x1,x2)=x1Úx2 (функція “Або”), fНе(x)= (функція “Не”) створюють систему логічних функцій, яка володіє властивістю функціональної повноти. Наведемо формальне означення цього поняття. Означення 2.7. Набір елементарних ЛФ, за допомогою якого можна подати будь-яку ЛФ, використовуючи закони алгебри логіки, суперпозиції та підстановки, називається функціонально повним. Система всіх розглянутих вище елементарних ЛФ є функціонально повною, однак надлишковою. Меншою за складом є згадана вище система базисних фнкцій f0, f1, f3, f5, f7, f10, f12, f15 (табл. 2.4), але й ця система є надлишковою. Найменшою надлишковістю володіє згадана вище функціонально повна система “І–Або–Не”: (2.1) Система (2.1) надлишкова, оскільки з неї можна вилучити або диз’юнкцію, або кон’юнкцію без втрати повноти. Вилучену функцію можна дістати з інших двох, що залишилися, відповідно до законів алгебри логіки. Наприклад, виключивши із (2.1) кон’юнкцію fІ(x1,x2), останню одержують, застосувавши заперечення у функції до окремих доданків і до всього виразу в правій частині: Отже, через вилучення із системи (2.1) кон’юнкції fІ(x1,x2) набір функцій та fНе(x) не втрачає функціональної повноти. Однак, якщо із набору та fНе(x) вилучити хоча б одну з цих функцій, то отриманий набір у складі однієї функції вже не буде функціонально повним. Означення 2.8. Якщо з функціонально повного набору елементарних ЛФ не можна вилучити жодної функції без втрати його повноти, то такий набір називають базисом. Базисами логічних функцій є: {Ù,` } – кон’юнктивний базис; {Ú,` } – диз’юнктивний базис; {®} – імплікативний базис, де x1®x2= Úx2; {¯} – базис Вебба (Пірса), де х1¯х2= f8(х1,х2)= =х1Úх2; {|} – базис Шеффера, де х1|х2=f14(х1,х2)=`х1Ú`х2= . Для кожної складної ЛФ можна отримати еквівалентну до неї функцію в будь-якому з перерахованих базисів. Наприклад, `х1Úх2Ùх3=х1®( ). Помітимо, що функціонально повна система (2.1) “І–Або–Не” формально не є базисом. Проте, вона широко застосовується при аналітичному поданні й перетвореннях логічних функцій та при технічній реалізації останніх у пристроях дискретної дії (дискретних пристроях). Тому набір функцій (2.1) умовно відносять до числа базисів. Завершуючи розгляд властивостей логічних функцій та їх перетворень, уведемо ще три специфічні поняття. Означення 2.9. Логічна функція називається інверсною по відношенню до іншої, якщо вона одержується із останньої шляхом інверсії її значень на всіх наборах. Кожна з функцій f0 – f15 має інверсну (табл. 2.4). Наприклад, f0=Øf15, f1=Øf8, f2=Øf15. Означення 2.10. Дві логічні функції з однаковою кількістю аргументів рівносильні одна одній, якщо вони приймають на всіх наборах однакові значення. Означення 2.11. Логічна змінна xi є дійсною, якщо значення логічної функції f(x1, x2, ..., xn) змінюється при зміні значення xi. В протилежному випадку ця змінна для даної функції є фіктивною, тобто не є її аргументом. Поняття рівносильності ЛФ, дійсності та фіктивності їх аргументів необхідні для розуміння того, що в практичних застосуваннях може бути необхідним здійснити аналіз ЛФ з невизначеним числом аргументів, для якої потрібно створити аналітичний вираз, маючи на увазі, що частина аргументів, включених з надлишковістю у список аргументів ЛФ, можуть дійсно бути аргументами даної функції. Цей факт з’ясовується у підсумку проведеного аналізу ЛФ.
|