Смекни!
smekni.com

Бульові функції (стр. 1 из 2)

Реферат

на тему:

Бульові функції

1. Алгебри бульових виразів і бульових функцій

7.1.1. Основні поняття

Множину {0, 1} позначимо літерою B. Множину всіх можливих послідовностей з 0 і 1 – Bn. Такі послідовності за традицією будемо називати наборами або векторами довжини n. Очевидно, Bn містить 2n елементів. Значення 0 і 1 називаються протилежними одне до одного.

Означення. Всюди визначена функція з Bn у B називається n-місною функцією алгебри логіки або n-місною бульовою функцією.

Послідовність змінних (x1, x2, …, xn) із значеннями у B позначимо . Бульова функція f() задається у вигляді таблиці, або графіка зі стандартним розташуванням наборів:

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

Зауважимо, що в стандартному розташуванні набори можна розглядати як двійкові записи послідовних чисел від 0 до 2n-1. Функцію, задану зі стандартним розташуванням наборів, можна ототожнити з набором довжини 2n. Наприклад, двомісну функцію, задану таблицею

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

можна ототожнити з вектором (1011).

Далі іноді будемо позначати n-місну функцію f() як f(n)(), підкреслюючи кількість змінних, від яких вона залежить.

Очевидно, що множина всіх можливих наборів довжини 2n, тобто множина n-місних бульових функцій, складається з 22n елементів. При n=0 це 2, при n=1 – 4, при n=2 – 16, при n=3 – 256 тощо.

Нуль-місними функціями є сталі 0 і 1.

Одномісні функції подано у наступній таблиці разом з виразами, якими ці функції позначаються:

x 0 1 x Øx
0 0 1 0 1
1 0 1 1 0

Функції 0 і 1 називаються тотожними нулем і одиницею, функція x – тотожною, Øx – запереченням. Замість виразу Øx вживається ще вираз . Ці вирази читаються як "не x".

Подамо також деякі з 16 двомісних функцій разом із їх позначеннями:

x y xÙy xÚy x®y x«y xÅy x | y x¯y
0 0 0 0 1 1 0 1 1
0 1 0 1 1 0 1 1 0
1 0 0 1 0 0 1 1 0
1 1 1 1 1 1 0 0 0

Функція, позначена виразом xÙy, називається кон'юнкцією і позначається ще як x&y, x×y або xy. Усі ці вирази читаються як "x і y".

Функція, позначена виразом xÚy, називається диз'юнкцією. Вираз читається як "x або y".

Функція, позначена виразом x®y, називається імплікацією і позначається ще як xÉy. Ці вирази читаються як "x імплікує y" або "з x випливає y".

Функція, позначена виразом x«y, називається еквівалентністю і позначається ще як x~y або xºy. Ці вирази читаються як "x еквівалентно y", що в даному випадку збігається з "x дорівнює y".

Функція, позначена виразом xÅy, називається додаванням за модулем 2 або "виключним або". Зауважимо, що її значення є протилежними до значень еквівалентності.

Функція, позначена виразом x|y, називається штрихом Шеффера і має значення, протилежні значенням кон'юнкції. Її вираз читається як "не x або не y".

Функція, позначена виразом x¯y, називається стрілкою Пірса і має значення, протилежні значенням диз'юнкції. Її вираз читається як "не x і не y".

Зауважимо, що інфіксні позначення наведених функцій вигляду x f y, де f – відповідний знак, склалися історично. Їх так само можна позначати й у вигляді f(x, y), наприклад, Ù(x, y).

З тримісних функцій наведемо лише так звану функцію голосування m(x, y, z), графік якої має такий вигляд:

x y z m(x, y, z)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

Її назва зумовлена тим, що її значення на кожному наборі збігається з більшістю значень змінних у цьому наборі.

Множину всіх n-місних функцій позначимо P(n), а множину всіх функцій, тобто об'єднання P(n) по всіх n – P2.

Перейдемо до означення таких понять, як алгебра бульових функцій і алгебра формул.

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

Означення. Нехай є n-місна функція f(n)() і n функцій g1(y1,1, y1,2, …, y1,m1), g2(y2,1, y2,2, …, y2,m2), …, gn(yn,1, yn,2, …, yn,mn), залежні від змінних з деякої їх множини Y={y1, y2, …, yk}. Суперпозицією, або підстановкою функцій g1, g2, …, gn у функцію f(n) називається функція h(m)(y1, y2, …, ym), кожне значення якої h(a1, a2, …, am) визначається як

f(n)(g1(a1,1, a1,2, …, a1,m1), g2(a2,1, a2,2, …, a2,m2), …, gn(an,1, an,2, …, an,mn)).

Суперпозиція ще позначається як

S(f(n); g1(y1,1, y1,2, …, y1,m1), g2(y2,1, y2,2, …, y2,m2), …, gn(yn,1, yn,2, …, yn,mn)).

Приклади.

1. h1(x, y, z)=S(Ù; xÚy, y®z) задається наступною таблицею:

x y z xÚy y®z h1(x, y, z)
0 0 0 0 1 0
0 0 1 0 1 0
0 1 0 1 0 0
0 1 1 1 1 1
1 0 0 1 1 1
1 0 1 1 1 1
1 1 0 1 0 0
1 1 1 1 1 1

2. h2(x, y)=S(Ù; xÚy, y®x) задається таблицею:

x y xÚy y®x h2(x, y)
0 0 0 1 0
0 1 1 0 0
1 0 1 1 1
1 1 1 1 1

Нехай є множина бульових функцій F. Утворюючи з них та їх суперпозицій усі можливі суперпозиції, ми одержимо множину функцій, яку позначимо [F]. Отже, маємо алгебру ([F]; S), породжену множиною функцій F. Інша множина функцій F1 буде породжувати, взагалі кажучи, іншу алгебру ([F1]; S). Наприклад, алгебри ([{(0111), (0001)}]; S) і ([{(10), (0001)}]; S).

Розглянемо тепер поняття алгебри формул (термів, або виразів). Нехай є множина функцій F. Кожній n-місній функції з F поставимо у взаємно однозначну відповідність символ, що її позначає (функціональнийсимвол) f(n). Нехай X – зліченна множина змінних (точніше, їх імен).

Означення.

1. Ім'я змінної є формулою.

2. Якщо f(n) – функціональний символ, а T1, T2, …, Tn є формулами, то f(n)( T1, T2, …, Tn) є формулою.

3. Інших формул немає.

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

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

Означення. Значенням формули T на наборі значень змінних з множини X є:

1) значення змінної x, якщо T є змінною x;

2) f(n)(a1, a2, …, an), якщо T=f(n)(T1, T2, …, Tn), а формули T1, T2, …, Tn мають на цьому наборі значення відповідно a1, a2, …, an.

Означення. n-місна бульова функція f(n)задається формулою T, якщо всі змінні у формулі T є змінними з множини X, і при будь-якому наборі значень (a1, a2, …, an) цих змінних x1, x2, …, xn значення формули дорівнює значенню f(n)(a1, a2, …, an).

Звідси випливає інше означення суперпозиції функцій.

Означення. n-місна бульова функція f(n) є суперпозицією функцій f1, f2, …, fn, якщо її можна задати формулою, усі функціональні символи якої є серед символів функцій f1, f2, …, fn.

З наведених прикладів 1 і 2 видно, що функція h1(x, y, z) задається формулою Ù(Ú(x, y), ®(y, z)), або в інфіксному записі (xÚy)Ù(y®z). Аналогічно функція h2(x, y) задається формулою Ù(Ú(x, y), ®(y, x)), або (xÚy)Ù(y®x). Як бачимо, обидві функції задаються формулами з тими самими функціональними символами Ù, Ú, ®, тобто є суперпозиціями цих функцій.

Наостанок наведемо узгодження, які склалися в математиці й дозволяють у формулах з функціональними символами Ø, Ù, Ú, ®, Å, «, |, ¯ записувати не всі необхідні дужки. ****

Суттєві та несуттєві змінні

Розглянемо поняття суттєвої залежності функції від її змінних. Почнемо з прикладів: значення функції h2(x, y) з прикладу 2 на кожному з наборів збігаються зі значеннями x. Отже, зміна значення y не впливає на значення функції, тобто вона фактично не залежить від y. В той час як зміна значення x веде до зміни значення h2. Уточнимо ці міркування наступними означеннями.

Означення. Змінна xi функції f(n)(x1, x2, …, xi, …, xn) називається суттєвою, якщо існує хоча б одна пара наборів значень змінних