Реферат: Бульові функції
Название: Бульові функції Раздел: Рефераты по астрономии Тип: реферат | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Реферат на тему: Бульові функції 1. Алгебри бульових виразів і бульових функцій 7.1.1. Основні поняття Множину {0, 1} позначимо літерою B. Множину всіх можливих послідовностей з 0 і 1 – Bn . Такі послідовності за традицією будемо називати наборами або векторами довжини n. Очевидно, Bn містить 2n елементів. Значення 0 і 1 називаються протилежними одне до одного. Означення . Всюди визначена функція з Bn у B називається n-місною функцією алгебри логіки або n-місною бульовою функцією . Послідовність змінних (x1 , x2 , …, xn ) із значеннями у B позначимо . Бульова функція f() задається у вигляді таблиці , або графіка зі стандартним розташуванням наборів:
Зауважимо, що в стандартному розташуванні набори можна розглядати як двійкові записи послідовних чисел від 0 до 2n -1. Функцію, задану зі стандартним розташуванням наборів, можна ототожнити з набором довжини 2n . Наприклад, двомісну функцію, задану таблицею
можна ототожнити з вектором (1011). Далі іноді будемо позначати n-місну функцію f() як f(n) (), підкреслюючи кількість змінних, від яких вона залежить. Очевидно, що множина всіх можливих наборів довжини 2n , тобто множина n-місних бульових функцій, складається з 22n елементів. При n=0 це 2, при n=1 – 4, при n=2 – 16, при n=3 – 256 тощо. Нуль-місними функціями є сталі 0 і 1. Одномісні функції подано у наступній таблиці разом з виразами, якими ці функції позначаються:
Функції 0 і 1 називаються тотожними нулем і одиницею , функція x – тотожною , Øx – запереченням . Замість виразу Øx вживається ще вираз . Ці вирази читаються як "не x". Подамо також деякі з 16 двомісних функцій разом із їх позначеннями:
Функція, позначена виразом 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), графік якої має такий вигляд:
Її назва зумовлена тим, що її значення на кожному наборі збігається з більшістю значень змінних у цьому наборі. Множину всіх 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) задається наступною таблицею:
2. h2(x, y)=S(Ù; xÚy, y®x) задається таблицею:
Нехай є множина бульових функцій 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 ) називається суттєвою , якщо існує хоча б одна пара наборів значень змінних (a1 , a2 , …, ai-1 , 0, ai+1 , …, an ) і (a1 , a2 , …, ai-1 , 1, ai+1 , …, an ), така, що f(n) (a1 , a2 , …, ai-1 , 0, ai+1 , …, an ) ¹ f(n) (a1 , a2 , …, ai-1 , 1, ai+1 , …, an ). Змінна xi називається несуттєвою у противному разі, тобто коли за всіх можливих пар наборів значень (a1 , a2 , …, ai-1 , 0, ai+1 , …, an ) і (a1 , a2 , …, ai-1 , 1, ai+1 , …, an ) мають місце рівності: f(n) (a1 , a2 , …, ai-1 , 0, ai+1 , …, an ) = f(n) (a1 , a2 , …, ai-1 , 1, ai+1 , …, an ). Наприклад, неважко переконатися, що всі змінні функції h1 з прикладу 1 є суттєвими. Функція h2 має суттєву змінну x і несуттєву y. Функція двох змінних, задана як вектор (1111), не має суттєвих змінних. Еквівалентні формули та закони Одна й та сама бульова функція задається, взагалі кажучи, багатьма різними формулами. Наприклад, неважко переконатися, що формули x®y і ØxÚy обидві задають функцію (1101). Таким чином, можна говорити про еквівалентність цих двох формул. Означення . Нехай **** Формули F1 і F2 називаються еквівалентними , якщо 2. Бульові функції та комбінаційні схеми
Розглянемо реалізацію бульових функцій у вигляді комбінаційних схем . Найпростішими з них є логічні елементи , відповідні бульовим функціям: кон'юнкції Ù, диз'юнкції Ú, додавання за модулем 2 Å та заперечення Ø. Вони позначаються й зображаються таким чином: Входи перших трьох елементів вважаються симетричними згідно законів комутативності, яким задовольняють кон'юнкція, диз'юнкція та додавання за модулем 2. З наведених логічних елементів будуються складніші схеми, які в загальному випадку мають n входів і m виходів і реалізують набір з m функцій від n аргументів:
Тут bj =fj (a1 , a2 , …, an ), j=1, 2, …, m.. Приклади. 1. Побудуємо схему з І-, АБО- та НЕ-елементів, яка реалізує функцію Å. Виразимо її за допомогою функцій набору {Ù, Ú, Ø}: xÅy = xÙØyÚØxÙy.
Звідси відповідна схема має вигляд: 2. Побудуємо схему з І- та Å-елементів, яка реалізує функцію Ú. Виразимо її за допомогою функцій набору {Ù, Å, 1}: xÚy = xÅyÅxÙy. Звідси відповідна схема має вигляд:
3. Побудуємо схему з І-, АБО- та НЕ-елементів, яка реалізує так званий "однорозрядний напівсуматор"[****] з двома симетричними входами x, y і двома виходами: s = xÅy, в = xÙy. З цих формул видно, що схема має реалізувати додавання двох однорозрядних чисел із переносом. Виразимо s за допомогою функцій набору {Ù, Ú, Ø}: s = xÙØyÚØxÙy. Тоді схема має вигляд:
3. Замкнені та повні набори функцій. Критерій Поста повноти набору функцій У підрозділі 7.1 ми побачили, що будь-яку бульову функцію можна задати як суперпозицію функцій з набору {Ù, Ú, Ø} або з набору {Å, Ù, 1}. Означення . Множина всіх функцій, що є суперпозиціями функцій деякого набору F, і лише їх, називається замиканням цього набору й позначається [F]. Таким чином, якщо P2 позначає множину всіх бульових функцій, то [{Ù, Ú, Ø}] = [{Å, Ù, 1}] = P2 . Означення . Множина функцій F називається функціонально повною , якщо [F]=P2 . Отже, множини {Ù, Ú, Ø} і {Å, Ù, 1} є функціонально повними. Природним є питання про те, які властивості повинні мати функціонально повні множини функцій. Видатний математик Еміль Пост сформулював і обгрунтував критерій повноти множини функцій у загальному випадку алгебри функцій з операцією суперпозиції. У цьому критерії, тобто необхідній і достатній умові, використовується поняття передповного класу. Розглянемо його. Нехай F позначає множину всіх можливих функцій деякої алгебри функцій A з операцією суперпозиції. Означення . Множина функцій S називається передповним класом алгебри A, якщо [S]¹F і за будь-якої функції f з множини F\S набір SÈ{f} є повним: [SÈ{f}]=F. Критерій Поста . Нехай S1 , S2 , … – усі передповні класи алгебри функцій F. Множина функцій M є повною тоді й тільки тоді, коли для кожного передповного класу Si множина M містить fÎM\Si . Приймемо це твердження без доведення. Пост також дослідив передповні класи алгебри бульових функцій. Їх виявилося лише 5. Це множини всіх функцій: що зберігають сталу 0, що зберігають сталу 1, самодвоїстих, лінійних, монотонних. Означимо вказані функції. Означення . Функція f(n) зберігає сталу 0 , якщо на нульовому наборі має значення 0: f(n) (0, 0, …, 0)=0. Означення . Функція f(n) зберігає сталу 1 , якщо на одиничному наборі має значення 1: f(n) (1, 1, …, 1)=1. Наприклад, тотожна функція f(x)=x зберігає сталі 0 і 1, функція f(x)=Øx не зберігає жодної. ****Двоїста до … Означення . Функція f(n) є самодвоїстою , якщо для всіх пар протилежних наборів вона приймає на них протилежні значення: f(n) (a1 , a2 , …, an ) = ****f(n) (a1 , a2 , …, an ) зберігає сталу 0, якщо на нульовому наборі має значення 0: f(n) (0, 0, …, 0)=0. Означення . Функція f(n) зберігає сталу 1, якщо на одиничному наборі має значення 1: f(n) (1, 1, …, 1)=1. Неважко переконатися, що множини означених функцій, позначені відповідно T0 , T1 , S, L, M, є замкненими класами. Список рекомендованої літератури 1. Виленкин Н.Я. Популярная комбинаторика.–М.: Наука, 1975. 2. Гаврилов Г.П., Сапоженко А.А. Сборник задач по дискретной математике.–М.: Наука, 1973. 3. Гильберт Д., Бернайс П. Основания математики. Логические исчисления и формализация арифметики.–М.: Наука, 1982 4. Глушков В.М., Цейтлин Г.Е., Ющенко Е.Л. Алгебра. Языки. Программирование.–К.: Наукова думка, 1988. 5. Ершов Ю.Л., Палютин Е.А., Математическая логика.–М.:Наука, 1979. 6. Карри Х.Б. Основания математической логики.–М.: Мир, 1969. 7. Клини С.К. Математическая логика.– М.: Мир, 1973. 8. Колмогоров А.Н. Фомин С.В. Элементы теории функций и функционального анализа.–М.: Наука, 1981. 9. Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для инженера.–М.:Энергоатомиздат, 1988. 10. Курош А.Г. Лекции по общей алгебре.–М.: Наука, 1973. 11. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов.–М.: Наука, 1984. 12. Линдон Р. Заметки по логике.– М.: Мир, 1968. 13. Мендельсон Э. Введение в математическую логику.–М.: Наука, 1984. 14. Новиков П.С. Элементы математической логики.–М.: Наука, 1973. 15. Ставровський А.Б., Коваль Ю.В. Методичні рекомендації та вказівки до курсу "Дискретна математика" (розділ "Множини та відповідності").– К.:"Київський університет", 1994. 16. Трохимчук Р.М. Збірник задач з дискретної математики (розділ "Множини і відношення") для студентів факультету кібернетики.–К.:"Київський університет", 1997. 17. Трохимчук Р.М. Множини і відношення. Навчальний посібник для студентів факультету кібернетики.–К.:"Київський університет", 1993. 18. Грэхем Р., Кнут Д., Паташник О. Конкретная математика. М.: Мир, 1998. 19. Липский В. Комбинаторика для программистов. М.: Мир, 1988. |