Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Реалізація функцій формулами






Булевою називають функцію ƒ (x1, …, xn)область значень якої складається з 0 та 1, і яка залежить від змінних х1,..., хn, що прийма­ють також лише ці два значення.

Множину всіх булевих функцій позначають Р2.Булеві функції широко застосовують у математичній і технічній кібернетиці, зокре­ма, для конструювання мікропроцесорів.

Булеву функцію відnзмінних називаютьп-місною. Областю її визначення є множина усіх можливих n-місних наборів (векто­рів) значень змінних. Ці набори називають двійковими наборами, або просто наборами. Отже, область визначення n -місної булевої функції є скінченною і складається з2п наборів значень змінних. Для набору (а1,..., ап) використовують позначення або .

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

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

Віддаллю Хемінга між наборами та називають число

Це число дорівнює кількості компонент, у яких набори та відрізняються. Набори та називають сусідніми, якщо і протилежними, якщо . Отже, сусідні набори відрізняються в одній компоненті, а протилежні - в усіх n компонентах. Наприклад, набори (0100) та (1100) - сусідні, а (0100) та (1011) - протилежні.

Скінченність області визначення довільної булевої функції дає змогу задавати таку функцію таблицею. Розташуємо всі набори значень змінних у стовпчик у лексикографічному порядку і вкажемо значення функції на кожному з них Тоді одержимо таблицю булевої функції (див. табл. 8.1).

Правий стовпчик цієї таблиці (стовпчик значень функції) склада­ється з2п нулів та одиниць. Отже, n -місних булевих функцій існує стільки, скільки існує наборів довжини2n з 0 та 1. Томуправильнішє наступне твердження.

Таблиця 8.1

x1, x2, …, xn-1, xn f(x1, x2, …, xn-1, xn)
0 0... 0 0 0 0... 0 1 0 0... 1 0 …………. 1 1... 1 1 f(0, 0,..., 0, 0) f(0, 0,..., 0, 1) f(0, 0,..., 1, 0) …………….... f(1, 1,..., 1, 1)

 

Теорема 8.1. Кількість p 2(n) всіх функцій з Р2 які залежать від n змінних х 1,...., xn дорівнює . ▲

Далі завжди будемо передбачати лексикографічне розташуванні наборів. Тому функцію можна задавати век­тором , у якому компонента є значення функції на i -му наборі значень змінних, i =0, 1,..., 2n-1.

Множину наборів значень змінних, на яких булева функція приймає значення 1, позначають Nf:

Множина , очевидно, повністю визначає функцію f.

Змінну хi функції , називають істотною, якщо існує такий набір значень решти змін­них, що

Змінну, яка істотною не є, називаютьнеістотною, або фіктив­ною. Отже, змінна хi функції неістотна (фіктивна), якщо

для довільних значень решти змінних. Це означає, що зміна знамен­ня в довільному наборі значень не змінює значення функ­ції. У цьому випадку функція по суті залежить від (n -1) змінної, тобто є функцією . У такому разікажуть, що функція g отримана із функції f вилученням фіктивної змінної, а функція f отримана ізg уведенням фіктивної змінної.Функції f та g називають рівними, якщо функцію g можна отримати з f шляхом уведення або вилучення фіктивних змінних.

Мета вилучення фіктивних змінних полягає в тому, що вони не впливають на значення функції, і з цієї точки зору є зайвими. Проте, іноді буває корисним уводити фіктивні змінні. Завдяки цьому довільну функцію п змінних можна зробити функцією довільної більшої кількості змінних. Тому, якщо задана скінченна множина булевих функцій { f 1,..., fs }9 то можна вважати, що всі ці функції зале­жать від одних і тих самих змінних x 1,..., хп. Зокрема, твердження, що всіх и-місних булевих функцій є передбачає, що беруть до уваги всі булеві функції від n змінних, у тому числі й функції з фік­тивними змінними.

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

Таблиця 8.2

x     x
         

Таблиця 8.3

x1 x2 x1x2 x1∨ x2 x1→ x2 x1∼ x2 x1⊕ x2 x1|x2 x1↓ x2
0 0              
0 1              
1 0              
1 1              

Розглянемо аналітичний метод задания булевих функцій, тобто задания функцій формулами. Спочатку за допомогою табл. 8.2 та 8.3 визначимо функції, які називаютьлементарними.

Уведені елементарні функції мають такі назви.

1. f 1(х)=0 - константа 0.

2. f 2(х)=1 - константа 1.

3. f3(х)=х - тотожна функція.

4. f 4(х) = -заперечення х, читають " не х".

5. f 5(х 1, х 2)= х 1 х 2-- кон'юнкція, читають " х 1 і х 2". Іноді для кон'юнкції використовують символи ∧ та &.

6. f 6(х 1, х 2=х∨ х2 -диз'юнкція, читають " х1 або х2".

7. f 7(х 1, х 2)= х1→ х2 -імплікація, читають " із х1 випливає х2". Для імплікації іноді використовують символ ⊃.

8. f 8(х 1, х 2)=х1∼ х2-- еквівалентність. Для її позначення використовують також символ ≡.

9. f 9(х 1, х 2)= х1⊕ х2 -- додавання за mod2, читають як альтернативне " або" (" або..., або")

10. f 10(х 1, х 2)=х12 -- штрих Шеффера.

11. f 11(х 1, х 2)= х1↓ х2 - стрілка Пірса.

За допомогою елементарних функцій можна зобразити будь-яку булеву функцію в аналітичній формі, тобто у вигляді формули. Для булевих функцій f 1,..., fm, по-перше, можливі будь-які підстановки одних функцій замість змінних в інші функції. По-друге, можливі будь-які перейменування змінних, наприклад, перейменування x 3 в х 2 породжує з функції f (хі, х 2, х 3, х 4) функцію трьох змінних f (хі, х 2, х 3, х 4) (у такому разі кажуть, що змінні х 2 та х 3 ототож­нені). Функцію, що одержана з f 1,..., fm деякою підстановкою їх одна в одну й перейменуванням змінних, називають суперпозицієюf 1,..., fm. Вираз, який описує суперпозицію та містить функціональні символи, круглі дужки та символи змінних, називають формулою.

Приклад 8.1. Тримісна булева функція задана формулою. Вона є суперпозицією функцій

f 7(х 1, х 2)= х1→ х2, f 4(х) = , f 9(х 1, х 2)= х1⊕ х2. ▲

Формулу, яка містить лише змінні, дужки й символи функцій із множини Q називаютьформулою над Q.

Приклад 8.2. НехайQ={ , ху, х∨ у}, тоді вираз є формулою над Q.

З метою зменшення кількості дужок у формулах уводять пріоритет операцій, які визначені відповідними функціями: 1) заперечення; 2) кон'юнкція; 3) усі інші операції. Крім того, уводять домовленість, що символ заперечення відіграє роль дужок, якщо він є над частиною формули

Приклад 8.3. Функція задана формулою . Задамо її таблицею. Процес розв'язування цієї задачі наведено у табл. 8.4. ▲

 

Таблиця 8.4

x y z xz y⊕ xz
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1            

 

Про формулу, яка задає функцію, кажуть також, що вона реалізує або зображає цю функцію.

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

Приклад 8.4. Формули х→ y та( ∨ у)∨ z еквівалентні: х→ y=( ∨ у)∨ z . У цьому можна переконатись, побудувавши таблиці відповідних булевих функцій. Очевидно, змінна z у другій формулі фіктивна. ▲

Крім побудови таблиць є інший метод доведення еквівалентності формул - рівносильні (еквівалентні) перетворення.

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.