Реферат Булевы Функции Функциональная полнота. Реферат булевы функции


Реферат: Булевы Функции Функциональная полнота

Булевы Функции: Функциональная полнота.

В алгебре булевых функций P2=<P2;S>

S – Операцией является подстановка функции в функцию, суперпозиция.

Порождающее множество алгебры P2, принято называть полной системой булевых функций.

Система булевых функций является независимой, если не одной функцией этой системой нельзя выразить через остальные.

Система функций полна, если через неё можно выразить любую булеву функцию. Примеры полных систем:

Любую булеву функцию можно представить в нормальной форме используя только операции +,*,not.

{&, v, not}. Конъюнкцию с помощью законов Деморгана можно выразить через остальные элементы системы:

X&Y=not (not(X) v not(Y)) – поэтому система {v, not}. Аналогично по другому закону Деморгана можно получить v через &, not поэтому (&, not).

Импликация выражается через Дизъюнкцию и Отрицание: X v Y = not(X) - Y, следовательно {-, not} также полная.

Через сложение (по модулю 2), умножение и 1 можно выразить основные логические операции:

1) X&Y=X*Y

2) X v Y=X+Y+XY

3) Not(X)=X+1

4) X -- Y=X+Y+1

Поэтому {+,*,1} система полна, и каждую булеву функцию в виде многочлена от Н переменных, который в честь автора Полином И.И. Жегалкина.

Представление функции в форме Полинома Жегалкина. Следовательно, можно говорить о линейных булевых функциях, то есть функции вида f(X1,…,Xn)=A1X1+…+AnXn+B, обозначим буквой L множество всех линейных функций данного вида.

Система булевых функций полна, если через нее можно выразить какую-нибудь полную систему. Не пустое, собственное подмножество множество P2, замкнутое относительно суперпозиции образует под-алгебру.

F,g1,…,gn€H=>f(g1,g2,…,gn)€H, H<P2

Под-алгебра задается нетривиальным функцией, сохраняющимся при суперпозиции.

Любая подсистема, целиком лежащая в некоторой под алгеброй, неполна.

Примеры под алгебр:

1) Множество линейных функций L образует под алгебру. L – замкнутая относительно суперпозиции. Любое множество линейных функций не образует полную систему: линейные функции порождают снова линейные функции. Поэтому, например система {0,1,+, not, --} не полна.

2) Функция f сохраняет ноль если f(0,…,0). Множество C0 всех таких функций образует под алгебру. Любое множество функций целиком лежащее в С0 не образует полную систему. Например {&, v, +, 0}.

3) Функция F сохраняет 1 если f(1,1,…,1)=1 Любое множество функций сохраняющих единицу не когда не образуют полную группу.

4) Функция называется монотонной если для любых наборов. Множество М всех монотонных функций образует под алгебру. Любое множество монотонных функций не является полной системой.

5) NotF(notX1, notX2,…,notXn) называется двойственной для функции Х. Например & и v. Отображение F|-notF согласованно с суперпозицией. Значит что отображение. Функция самодвойственная если F=notF. Множество Д самодвойственных функций образует подалгебру.

Теорема (Поста): Система функций полна тогда и только тогда когда она не содержится целиком не в одной из под алгебр.

1) Множество линейных функций L образует под алгебру. L – замкнутая относительно суперпозиции. Любое множество линейных функций не образует полную систему: линейные функции порождают снова линейные функции. Поэтому, например система {0,1,+, not, --} не полна.

2) Функция f сохраняет ноль если f(0,…,0). Множество C0 всех таких функций образует под алгебру. Любое множество функций целиком лежащее в С0 не образует полную систему. Например {&, v, +, 0}.

3) Функция F сохраняет 1 если f(1,1,…,1)=1 Любое множество функций сохраняющих единицу не когда не образуют полную группу.

4) Функция называется монотонной если для любых наборов. Множество М всех монотонных функций образует под алгебру. Любое множество монотонных функций не является полной системой.

5) NotF(notX1, notX2,…,notXn) называется двойственной для функции Х. Например & и v. Отображение F|-notF согласованно с суперпозицией. Значит что отображение. Функция самодвойственная если F=notF. Множество Д самодвойственных функций образует подалгебру.

В доказательстве лишь нуждается достаточность. В действительности всегда найдется функция не попавшая сразу в 2. И поэтому число элементов меньше либо равно 4. Это число уменьшить нельзя: существуют полностью независимые системы булевых функций в точности из 4х элементов.

Упр1. Полна и независима???? Кто??? Для доказательство полноты достаточно выразить отрицание. Для доказательства независимости достаточно указать разделяющую под алгебру. Наименьшее число в полной системе = 1.

Упр2. X|Y = not(x) v not(y) Шефферт . Доказать что {|}{⬇} - полные системы

Упр3. Выяснить Существуют ли полные системы отличные от Стрелки Пирса и Штриха Шефферта.(будем искать функцию с помощью ее таблицы значений)

X

Y

0

0

1

1

1

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

0

0

0

Стр(207) Задача 2.1 Выясните при каких значениях а и в функции f(x,y)=not((x v a)v(a&b)) g(x,y)=(x v b)-(a & y) – в зависимости от значений а и в возникают 4 случая, если одна из функций является штрихом шейфера то независимо от другой система полна, если из полученной системы можно получить какую либо полную, то полна. Если она целиком содержится в одной из подалгебрах

F(x,y,z)=x+y+z

{0,1,*,f} – полна и независима

Not(x)=X+1+0=f(x,1,0)

Покажем что С1.

Пусть система булевых функций удовлетворяет условию теоремы, те там найдется покрайней мере одна функция не попавшая в особые под алгебры. В частности там найдется функция не принадлежащая С0. Перенумеруем переменные в этой функции обозначив их одной буквой Х. Таким образом мы получаем функцию f(x) такая что f(0)=1 - F(1)=0 & 1. Аналогично из данной системы можно получить функцию G(x) такую что G(1)=0 и G(0)=0 & 1.

Случай 1.

F(x)=not(x), G(x)=0 - В этом случае имеем {not(x),x,0,1}.

Случай 2.

F(x)=g(x)=not(x) - {not(x),x}

Случай 3.

{1,0}

Случай 4.

{1,not(x),x,0}

Четвертый случай фактически совпадает с первым, второй и третий недобор функций.

Упр.1

Доказать что с помощью not и не самодвойственной функции можно получить константу(Указания: С(x) является константой если С(not(x)), случай 2 сводится к случаю 1).

Упр.2

Доказать что через не монотонные функции можно получить отрицание(Указание: T(x1,x2,…,xn) не монотонная если существуют наборы J1,j2,…jn; B1,B2,…,Bn так чтоб f(J)>f(B), тк функция дискретна изменение функции осуществляется скачком за счет изменения лишь одного значения элемента.)

Упр.3

Итак, во всех четырех случаях мы получаем набор {not(x),x,0,1} . Доказать что с помощью нашего множества и не линейной функции можно получить умножение(Указание: Пусть функция S(x1,x2,…,xn), то есть в ее полиноме Жигалкина есть одночлены выше первой степени, пусть для определенности переменные x1,x2 создают эту степень, вынесем x1,x2 из всех одночленов затем вынесем Х1, а затем Х2, в результате мы получим представление S(x1,x2,…,xn)=x1,x2,g1(x3,…,xn)+x1,g2(x3,…,xn)+x2g3(X3,…,xn)+g4(x3,…,xn) ) g1(x3,…,xn) – не является 0, те при определенном наборе таким образом из нашей системы можно получить систему.

Замечание: Теорема Поста, означает что C0,C1,D,M,L – все максимальные под алгебры от P2. В P2 любая под алгебра содержится в максимальной под алгебре; поэтому результат Поста улучшить нельзя.

superbotanik.net

Реферат Булевы Функции Функциональная полнота

Булевы Функции: Функциональная полнота.В алгебре булевых функций P2=<P2;S>

S – Операцией является подстановка функции в функцию, суперпозиция.

Порождающее множество алгебры P2, принято называть полной системой булевых функций.

Система булевых функций является независимой, если не одной функцией этой системой нельзя выразить через остальные.

Система функций полна, если через неё можно выразить любую булеву функцию. Примеры полных систем:

Любую булеву функцию можно представить в нормальной форме используя только операции +,*,not.

{&, v, not}. Конъюнкцию с помощью законов Деморгана можно выразить через остальные элементы системы:

X&Y=not (not(X) v not(Y)) – поэтому система {v, not}. Аналогично по другому закону Деморгана можно получить v через &, not поэтому (&, not).

Импликация выражается через Дизъюнкцию и Отрицание: X v Y = not(X) à Y, следовательно {à, not} также полная.

Через сложение (по модулю 2), умножение и 1 можно выразить основные логические операции:

1)      X&Y=X*Y

2)      X v Y=X+Y+XY

3)      Not(X)=X+1

4)      X ßà Y=X+Y+1

Поэтому {+,*,1} система полна, и каждую булеву функцию в виде многочлена от Н переменных, который в честь автора Полином И.И. Жегалкина.

Представление функции в форме Полинома Жегалкина. Следовательно, можно говорить о линейных булевых функциях, то есть функции вида f(X1,…,Xn)=A1X1+…+AnXn+B, обозначим буквой L множество всех линейных функций данного вида.

Система булевых функций полна, если через нее можно выразить какую-нибудь полную систему. Не пустое, собственное подмножество множество P2, замкнутое относительно суперпозиции образует под-алгебру.

F,g1,…,gn€H=>f(g1,g2,…,gn)€H, H<P2

Под-алгебра задается нетривиальным функцией, сохраняющимся при суперпозиции.

Любая подсистема, целиком лежащая в некоторой под алгеброй, неполна.

Примеры под алгебр:

1)      Множество линейных функций L образует под алгебру. L – замкнутая относительно суперпозиции. Любое множество линейных функций не образует полную систему: линейные функции порождают снова линейные функции. Поэтому, например система {0,1,+, not, ßà} не полна.

2)      Функция f сохраняет ноль если f(0,…,0). Множество C0 всех таких функций образует под алгебру. Любое множество функций целиком лежащее в С0 не образует полную систему. Например {&, v, +, 0}.

3)      Функция F сохраняет 1 если f(1,1,…,1)=1 Любое множество функций сохраняющих единицу не когда не образуют полную группу.

4)      Функция называется монотонной если для любых наборов. Множество М всех монотонных функций образует под алгебру. Любое множество монотонных функций не является полной системой.

5)      NotF(notX1, notX2,…,notXn) называется двойственной для функции Х. Например & и  v. Отображение F|ànotF согласованно с суперпозицией. Значит что отображение. Функция самодвойственная если F=notF. Множество Д самодвойственных функций образует подалгебру.

Теорема (Поста): Система функций полна тогда и только тогда когда она не содержится целиком не в одной из под алгебр.

1)      Множество линейных функций L образует под алгебру. L – замкнутая относительно суперпозиции. Любое множество линейных функций не образует полную систему: линейные функции порождают снова линейные функции. Поэтому, например система {0,1,+, not, ßà} не полна.

2)      Функция f сохраняет ноль если f(0,…,0). Множество C0 всех таких функций образует под алгебру. Любое множество функций целиком лежащее в С0 не образует полную систему. Например {&, v, +, 0}.

3)      Функция F сохраняет 1 если f(1,1,…,1)=1 Любое множество функций сохраняющих единицу не когда не образуют полную группу.

4)      Функция называется монотонной если для любых наборов. Множество М всех монотонных функций образует под алгебру. Любое множество монотонных функций не является полной системой.

5)      NotF(notX1, notX2,…,notXn) называется двойственной для функции Х. Например & и  v. Отображение F|ànotF согласованно с суперпозицией. Значит что отображение. Функция самодвойственная если F=notF. Множество Д самодвойственных функций образует подалгебру.

В доказательстве лишь нуждается достаточность. В действительности всегда найдется функция не попавшая сразу в 2. И поэтому число элементов меньше либо равно 4. Это число уменьшить нельзя: существуют полностью независимые системы булевых функций в точности из 4х элементов.

Упр1.  Полна и независима???? Кто??? Для доказательство полноты достаточно выразить отрицание.  Для доказательства независимости достаточно указать разделяющую под алгебру. Наименьшее число в полной системе = 1.

Упр2. X|Y = not(x) v not(y) Шефферт . Доказать что {|}{⬇}  - полные системы

Упр3. Выяснить Существуют ли полные системы отличные от Стрелки Пирса и Штриха Шефферта.(будем искать функцию с помощью ее таблицы значений)

X Y
0 0 1 1 1 1
0 1 0 0 1 1
1 0 0 1 0 1
1 1 0 0 0 0

Стр(207) Задача 2.1 Выясните при каких значениях а и в функции f(x,y)=not((x v a)v(a&b))    g(x,y)=(x v b)à(a & y) – в зависимости от значений а и в возникают 4 случая, если одна из функций является штрихом шейфера то независимо от другой система полна, если из полученной системы можно получить какую либо полную, то полна. Если она целиком содержится в одной из подалгебрах

F(x,y,z)=x+y+z

{0,1,*,f} – полна и независима

Not(x)=X+1+0=f(x,1,0)

Покажем что С1.

Пусть система булевых функций удовлетворяет условию теоремы, те там найдется покрайней мере одна функция не попавшая в особые под алгебры. В частности там найдется функция не принадлежащая С0. Перенумеруем переменные в этой функции обозначив их одной буквой Х. Таким образом мы получаем функцию f(x) такая что f(0)=1 è F(1)=0 & 1. Аналогично из данной системы можно получить функцию G(x) такую что G(1)=0 и G(0)=0 & 1.

Случай 1.

F(x)=not(x), G(x)=0 è В этом случае имеем {not(x),x,0,1}.

Случай 2.

F(x)=g(x)=not(x) è {not(x),x}

Случай 3.

{1,0}

Случай 4.

{1,not(x),x,0}

Четвертый случай фактически совпадает с первым, второй и третий недобор функций.Упр.1

Доказать что с помощью not и не самодвойственной функции можно получить константу(Указания: С(x) является константой если С(not(x)), случай 2 сводится к случаю 1).

Упр.2

Доказать что через не монотонные функции можно получить отрицание(Указание: T(x1,x2,…,xn) не монотонная если существуют наборы J1,j2,…jn; B1,B2,…,Bn так чтоб f(J)>f(B), тк функция дискретна изменение функции осуществляется скачком за счет изменения лишь одного значения элемента.)

Упр.3

Итак, во всех четырех случаях мы получаем набор {not(x),x,0,1} . Доказать что с помощью нашего множества и не линейной функции можно получить умножение(Указание: Пусть функция S(x1,x2,…,xn), то есть в ее полиноме Жигалкина есть одночлены выше первой степени, пусть для определенности переменные x1,x2 создают эту степень, вынесем x1,x2 из всех одночленов затем вынесем Х1, а затем Х2, в результате мы получим представление S(x1,x2,…,xn)=x1,x2,g1(x3,…,xn)+x1,g2(x3,…,xn)+x2g3(X3,…,xn)+g4(x3,…,xn) ) g1(x3,…,xn) – не является 0, те при определенном наборе таким образом из нашей системы можно получить систему.

Замечание: Теорема Поста, означает что C0,C1,D,M,L – все максимальные под алгебры от P2. В P2 любая под алгебра содержится в максимальной под алгебре; поэтому результат Поста улучшить нельзя.

bukvasha.ru

Реферат - Булевы функции (лабораторные работы)

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

Лабораторная работа №1

Булевы функции

Функцией алгебры логики (булевой функцией) < от переменных называется функция, принимающая значения 1,0 и аргументы которой также принимают значения 1,0.>

Всякая булева функция от < переменных может быть задана с помощью таблицы истинности>

< >

< >

< >

< >

< >

< >

< >

1

< >

1

< >

< >

< >

< >

< >

1

< >

1

1

< >

1

< >

< >

< >

< >

< >

Данная таблица состоит из < строк, причем в ней все наборы ( ) расположены в порядке возрастания их номеров. Следующие булевы функции мы будем называть элементарными.>

< — константа 0;>

< — константа 1;>

< — тождественная функция;>

< — отрицание ;>

< — конъюнкция и ;>

< — дизъюнкция и ;>

< — импликация и ;>

< — эквивалентность и ;>

< — сложение и по 2;>

< — функция Шеффера;>

< — функция Пирса.>

Данные функции задаются следующими таблицами истинности

< >

< >

< >

< >

< >

< >

< >

< >

< >

< >

< >

< >

< >

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

Приведем определение формулы алгебры логики:

каждая элементарная булева функция — формула;

если некоторое выражение < есть формула, то тоже формула;>

если некоторые выражения < и есть формулы, то выражения

,

,

,

, + ,

,

тоже формулы;>

других формул: кроме построенных по п.п.

С целью упрощения записи формул, договоримся, что операция конъюнкция «сильнее» других логических операций, т.е. если в формуле нет скобок, то вначале выполняется операция конъюнкция.

Две формулы < и называются равносильными, если они определяют одну и ту же булеву функцию (запись = будет означать, что формулы и равносильны).>

Приведем перечень важнейших равносильностей (законов) алгебры логики.

1. < — закон тождества;>

2. < — закон противоречия;>

3. < — закон исключения третьего;>

4. < — закон двойного отрицания;>

5. < , — законы идемпотентности;>

6. < , >

— законы коммутативности;

7. < , >

— законы дистрибутивности;

< >

8. < , >

— законы ассоциативности;

9. < , — законы де Моргана;>

< >

10. < , ,>

< , .>

11. < , >

— законы поглощения;

12. < , >

— законы склеивания.

Отметим следующие важнейшие равносильности

13. < >

14. < >

15. < >

16. < >

17. < >

18. < >

19. < >

Формула алгебры логики называется тавтологией (тождественно истинной), если при любых значениях переменных она принимает истинное значение.

Формула алгебры логики называется противоречием (тождественно ложной), если при любых значениях переменных она принимает ложное значение.

Формула алгебры логики называется выполнимой, если найдется такой набор значений переменных при котором ее значение истинно.

Пример 1. Является ли формула < тавтологией?>

1 способ (табличный)

< >

<p style=«text-indent: 0.00mm; text

www.ronl.ru

Булевы функции

1.Основные понятия булевой алгебры

Технические вопросы, связанные с составлением логических схем ЭВМ, можно решить с помощью математического аппарата, объектом исследования которого являются функции, принимающие, так же как и их аргументы, только два значения - “0” и “1”.

Таким аппаратом является математическая логика (алгебра логики, булева алгебра).

Логика - это наука о законах и формах мышления.

Математическая логика занимается изучением возможностей применения формальных методов для решения логических задач. Один из разделов математической логики является алгебра логики.

Основное понятие алгебры логики - высказывание. Высказывание - это некоторое предложение, о котором можно утверждать, что оно истинно или ложно.

Любое высказывание можно обозначить символом х и считать, что х=1, если высказывание истинно, а х=0 - если высказывание ложно. Истинному высказыванию соответствует утверждение -“Да”, ложному высказыванию - утверждение - “Нет”.

Логическая (булева) переменная - такая величина х, которая может принимать только два значения х={0,1}.

Высказывание абсолютно истинно, если соответствующая ей логическая величина принимает значение х=1 при любых условиях.

Высказывание абсолютно ложно, если соответствующая ей логическая величина принимает значение х=0 при любых условиях.

Функция f, зависящая от n переменных x1,x2,...,xn, называется булевой, или переключательной, если функция f и любой из ее аргументов  принимают значения только из множества {0,1}. Аргументы булевой функции также называются булевыми.

2.Способы задания булевых функций

Произвольная булева функция задается одним из трех способов: матричным (табличным), геометрическим и аналитическим.

При матричном способе булева функция f(x1,...,xn) задается таблицей истинности (табл. 1 и 2), в левой части которой представлены все возможные двоичные наборы длины n, а в правой указывается значение функции на этих наборах.

Под двоичным набором понимается совокупность значений аргументов x1,x2,...,xn булевой функции f. Двоичный набор имеет длину n, если он представлен n цифрами из множества {0,1}. В табл. 1 и 2 перечислены все двоичные наборы соответственно длины 3 и 4.Таблица 1      Таблица 3

х1 х2 х3 f(х1,х2,,х3) Номер

набора

f(х1,х2,,х3)
0 0 0 0 0 0
0 0 1 1 1 1
0 1 0 0 2 0
0 1 1 0 3 0
1 0 0 1 4 1
1 0 1 1 5 1
1 1 0 0 6 0
1 1 1 1 7 1

Таблица 2                                                  Таблица 4.

x1 x2 x3 x4 f(х1..х4) x1,x2,...,xj-1 xj,xj+1,...,xn
00..0 0...1 ... 11..1
0 0 0 0 1
0 0 0 1 0 00...0 ...
0 0 1 0 0
0 0 1 1 1
0 1 0 0 1
0 1 0 1 0 00...1 ...
0 1 1 0 1 f(х1...хn)
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0 ... ... ... ... ...
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0 11...1
1 1 1 0 1
1 1 1 1 0

Иногда двоичные наборы в таблице истинности булевой функции удобно представлять номерами наборов. Запишем аргументы x1,x2,...,xn в порядке возрастания их индексов. Тогда любой двоичный набор можно рассматривать какцелое двоичное число N, называемое номером набора. Например, двоичные наборы 0101 и 1000 имеют номера 5 и 8 соответственно. Очевидно, любая булева функция может быть задана таблицей истинности, в которой двоичные наборы заменены своими номерами (табл.3).

Булевы функции, зависящие от большого числа переменных, задавать таблицей истинности неудобно в силу ее громоздкости. Например, таблица истинности булевой функции 8 переменных будет содержать 28 = 256 строк. Поэтому для задания функций многих переменных удобно использовать модификацию таблицы истинности.

Рассмотрим способ построения такой таблицы истинности для функции n переменных. Множество из n переменных функции разбивается на два подмножества: x1,x2,...,xj-1 и хj, xj,xj+1,...,xn. Переменными x1,x2,...,xj-1 отмечают строки таблицы истинности, задавая в каждой строке значение соответствующего двоичного набора длины j-1. Переменными xj,xj+1,...,xn отмечают ее столбцы, задавая в каждом столбце значения соответствующего двоичного набора длины n-j+1. Значение функции записывается в клетке на пересечении соответствующей строки и столбца (табл.4.).

При геометрическом способе булева функция f(х1,..., xn) задается с помощью n-мерного куба. В геометрическом смысле каждый двоичный набор есть n-мерный вектор, определяющий точку n-мерного пространства. Исходя из этого, все множество наборов, на которых определена функция n переменных, представляется вершинами n-мерного куба. Отмечая точками вершины куба, в которых функция принимает единичные (либо нулевые) значения, получим геометрическое представление функции. Например, булева функция, заданная табл.1, геометрически представляется 3-мерным кубом (рис. 1.в).

а) n=1 б) n=2 в) n=3

Рисунок 1- Геометрическое задание булевой функции:

а) одной переменной: б) двух переменных; в) трех переменных.При аналитическом способе булева функция задается формулами, т. е. аналитическими выражениями, построенными на основе операций булевой алгебры. Аналитический способ задания булевых функций занимает особое место в проектировании цифровых автоматов. Фактически, все преобразования над булевыми функциями, необходимые для построения цифровых автоматов, ведутся на аналитическом уровне.

Рассмотрим области определения булевых функций. Между двоичными наборами и двоичными числами существует взаимно однозначное соответствие. Следовательно, существует 2n различных наборов двоичных переменных.

Таким образом, областью определения булевой функции n переменных при матричном способе задания является множество всех возможных двоичных наборов длины n, а при геометрическом способе задания — множество всех вершин n-мерного единичного куба.

Булеву функцию, определенную на всех своих наборах, называют полностью определенной.

Булеву функцию n переменных называют неполностью определенной или частичной, если она определена не на всех двоичных наборах длины n.

www.coolreferat.com


Смотрите также