Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/2256: Рейтинг темы: голосов - 2256, средняя оценка - 4.63
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16374 / 7686 / 1080
Регистрация: 11.11.2010
Сообщений: 13,761
14.11.2013, 07:10  [ТС]
ГЛАВА 8
БУЛЕВА АЛГЕБРА
(часть 2/2)


Булева алгебра
Булевой алгеброй называется непустое множество https://www.cyberforum.ru/cgi-bin/latex.cgi?\Re с двумя двуместными операциями https://www.cyberforum.ru/cgi-bin/latex.cgi?\wedge (аналог конъюнкции), https://www.cyberforum.ru/cgi-bin/latex.cgi?\vee (аналог дизъюнкции), одноместной операцией ¬ (аналог отрицания) и двумя выделенными элементами: 0 (или «Ложь») и https://www.cyberforum.ru/cgi-bin/latex.cgi?1 (или «Истина») такими, что для всех https://www.cyberforum.ru/cgi-bin/latex.cgi?A, https://www.cyberforum.ru/cgi-bin/latex.cgi?B и https://www.cyberforum.ru/cgi-bin/latex.cgi?C из множества https://www.cyberforum.ru/cgi-bin/latex.cgi?\Re верны следующие аксиомы:
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+B+C=(A+B)+C=A+(B+C) https://www.cyberforum.ru/cgi-bin/latex.cgi?ABC=(AB)C=A(BC) ассоциативность
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+B=B+A https://www.cyberforum.ru/cgi-bin/latex.cgi?AB=BA коммутативность
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+AB=A https://www.cyberforum.ru/cgi-bin/latex.cgi?A(A+B)=A законы поглощения
https://www.cyberforum.ru/cgi-bin/latex.cgi?A(B+C)=AB+AC https://www.cyberforum.ru/cgi-bin/latex.cgi?A+BC=(A+B)(A+C) дистрибутивность
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+\bar{A}=1 https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot\bar{A}=0 дополнительность
Первые три аксиомы означают, что (https://www.cyberforum.ru/cgi-bin/latex.cgi?\Re, https://www.cyberforum.ru/cgi-bin/latex.cgi?\vee, https://www.cyberforum.ru/cgi-bin/latex.cgi?\wedge) является решёткой. Таким образом, булева алгебра может быть определена как дистрибутивная решётка, в которой выполнены две последние аксиомы. Структура, в которой выполняются все аксиомы, кроме предпоследней, называется псевдобулевой алгеброй.
Булева алгебра имеет практическое приложение в цифровой технике, основанной на двоичной логике. Как существуют булевы функции, так существуют и булевы производные. Булевы производные – единственный математический аппарат для разработки тестов цифровой техники.
Абстрактное определение булевой алгебры
Множество элементов с заданными на них двуместными операциями «логическое И» и «логическое ИЛИ» (конъюнкция и дизъюнкция), удовлетворяющими законам коммутативности, ассоциативности, идемпотентности и поглощения, называется структурой, а если выполняется еще и закон дистрибутивности, то и дистрибутивной структурой. В случае, когда к указанным выше операциям добавляется еще одна одноместная инволютивная операция НЕ (отрицание), причем удовлетворяются законы де Моргана и законы нейтральности, говорят о булевой структуре или булевой алгебре.


Используя данные тождества и законы, можно получать новые логические выражения, а также доказывать справедливость тех или иных законов.
Например, с помощью закона дистрибутивности https://www.cyberforum.ru/cgi-bin/latex.cgi?A+BC=(A+B)(A+C) и тождества https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{A} +A=1 получаем соотношение Блейка-Порецкого:
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+ \bar{A} B=(A+ \bar{A})(A+B)= A+B
Используя закон дистрибутивности https://www.cyberforum.ru/cgi-bin/latex.cgi?A(B+C)=AB+AC тождества https://www.cyberforum.ru/cgi-bin/latex.cgi?A+1=1 и https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot A=A закон ассоциативности https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot B\cdot C=(A\cdot B)\cdot C=A\cdot (B\cdot C), получаем доказательство закона поглощения:
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot (A+B)=A\cdot A+A\cdot B=A+A\cdot B=A\cdot (1+B)=A
Склеивания
https://www.cyberforum.ru/cgi-bin/latex.cgi?(A+B)(\bar{A} +B)=A\bar{A} +AB+B\bar{A} +BB=0+AB+B\bar{A}+B=B(A+\bar{A})+B =B+B=B
Закон поглощения:
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+AB=A(1+B)=A\cdot 1=A
Закон дистрибутивности:
https://www.cyberforum.ru/cgi-bin/latex.cgi?(A+B)(A+C)= AA+AC+BA+BC= A+AC+BA+BC= A(1+C)+BA+BC= A\cdot 1+BA+BC= A(1+B)+BC=A\cdot 1+BC=A+BC
Закон дистрибутивности:
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+BC=A\cdot 1 +BC =A(1+B)+BC =A\cdot 1+BA+BC= A(1+C)+BA+BC= A+AC+BA+BC= AA+AC+BA+BC= A(A+C)+B(A+C)=(A+B)(A+C)
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+\bar{A}B=B+A\bar{B}=(A+\bar{A})(A+B)= A+B
Используя логические соотношения https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{A} \cdot A=\bar{B} \cdot B=0, можно получитьhttps://www.cyberforum.ru/cgi-bin/latex.cgi?A\oplus B =\bar{A} \cdot A+A\cdot \bar{B} +B \cdot \bar{A} +B\cdot \bar{B} = A\cdot (\bar{A} + \bar{B})+B\cdot (\bar{A}+\bar{B})=A\cdot(\bar{AB})+B\cdot(\bar{AB})=(A+B)\cdot \bar{AB}
Принцип двойственности
В булевых алгебрах существуют двойственные утверждения, они либо одновременно верны, либо одновременно неверны. Если в формуле, которая верна в некоторой булевой алгебре, поменять все конъюнкции на дизъюнкции, 0 на 1, ? на ? и наоборот, то получится формула, также истинная в этой булевой алгебре. Это следует из симметричности аксиом относительно таких замен.
Булевы операции и математическая логика
Булевы операции очень близки (хотя и не тождественны) логическим связкам в классической логике. Бит можно рассматривать как логическое суждение — его значениями являются 1 «истина» и 0 «ложь». При такой интерпретации известные в логике связки конъюнкции, дизъюнкции, импликации, отрицания и другие имеют представление на языке битов. И наоборот, битовые операции легко описываются на языке исчисления высказываний.
Связкам математической логики более соответствуют логические операции в том числе в программировании, чем собственно битовые операции.
Высказывания могут быть простыми и сложными. Сложное высказывание образуется в результате объединения простых высказываний с помощью логических связей. Сложные высказывания, получаемые из простых, будут истинными или ложными в зависимости от истинности или ложности простых высказываний, входящих в сложные. Значение сложного высказывания, так же как и простого, может принимать значение 0 или 1. Сложное высказывание можно рассматривать как электрический сигнал на выходе некоторой преобразующей схемы. Значение его будет равно 0 или 1 в зависимости от значений сигналов (простых высказываний) на входе рассматриваемой схемы. Это позволяет применять символику алгебры логики для анализа и синтеза цифровых схем.
Булевы операции как основа цифровой техники
Булевы операции лежат в основе обработки цифровых сигналов. Через булевы операции можно из одного или нескольких сигналов на входе получить на выходе новый сигнал, который, в свою очередь, может быть подан на вход одной или нескольким таким операциям. Булевы операции в сочетании с запоминающими элементами (например, триггерами) реализуют всё богатство возможностей современной цифровой техники.
Основные булевы операции
Операция НЕ (Инверсия)
«Логическое НЕ (NOT)», инвертирование — аналог отрицания в логике. Данная одноместная операция (с одним входом) заменяет 0 на 1 и наоборот. Реализующий её элемент называется инвертором. НЕ инвертирует любую двоичную цифру или группу цифр.
Вход Выход
https://www.cyberforum.ru/cgi-bin/latex.cgi?Ahttps://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{A}
0 1
1 0
Аксиомы, законы и следствия
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{0} =1
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{1} =0
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{\bar{A}} = A
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{A}=1-A
Операция Логическое И
«Логическое И (AND)» — аналог конъюнкции в логике. Иногда называется логическим умножением. Выход вентиля И принимает значение 1 только в том случае, если обе входные переменные A и B, то на выходе появляется 1, во всех остальных случаях выход принимает значение 0. В общем случае число входов вентиля не ограничено.
ВходыВыход
A BA and B
0 0 0
0 1 0
1 0 0
1 1 1
Аксиомы, законы и следствия
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot A=A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot 1=A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot 0=0
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot \bar{A} =0
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot B=B\cdot A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\cdot B\cdot C=(A\cdot B)\cdot C=A\cdot (B\cdot C)
Логическое ИЛИ
«Логическое ИЛИ (OR)» — аналог дизъюнкции в логике. Выход вентиля ИЛИ принимает значение 0 если обе входные переменные A и B принимают значение 0, во всех остальных случаях выход равен 1. В общем случае число входов вентиля не ограничено. Операция двойственна AND: при инвертировании выхода и всех входов (то есть при замене 0 и 1 местами) «И» и «ИЛИ» взаимно превращаются друг в друга.
ВходыВыход
A BA or B
0 0 0
0 1 1
1 0 1
1 1 1
Аксиомы, законы и следствия
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+A=A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+1=1
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+0=A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A +\bar{A}=1
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+B=B+A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A+B+C=(A+B)+C=A+(B+C)
Прочие битовые операции
Операции могут совмещать инвертирование с выполнением функций И и ИЛИ.
«ИЛИ-НЕ (NOR, «стрелка Пирса»)». Стрелка Пирса является результатом инвертирования результата «ИЛИ» своих аргументов, выдаёт значение 1 только когда оба входа 0.
«И-НЕ (NAND, штрих Шеффера)». Двойственная стрелке Пирса операция: является результатом инвертирования результата «И» своих аргументов, выдаёт значение 0 только когда оба входа 1.
Импликация («если-то») – аналог импликации в логике. Совпадает с «ИЛИ» с инвертированным первым аргументом, выдаёт значение 0 только когда первый вход 1 а второй — 0. Данная операция не является коммутативной, в отличие от всех вышеописанных бинарных операций. Её можно понимать как арифметическое https://www.cyberforum.ru/cgi-bin/latex.cgi?\leq (меньше или равно).
Эквиваленция. Выдаёт 1 если и только если оба аргумента равны между собой. Является результатом инвертирования результата «исключающего ИЛИ» своих аргументов. Она же и двойственна исключающему «ИЛИ» в вышеописанном смысле.
Исключающее ИЛИ
«Исключающее ИЛИ (XOR, сложение по модулю 2)» – аналог исключающего ИЛИ в логике. Если входные переменные A и B имеют разное значение, то выход принимает значение 1, во всех остальных случаях выход равен 0. Операция обозначается символом https://www.cyberforum.ru/cgi-bin/latex.cgi?\oplus. Результат операции XOR отличается от результата OR только в случае одновременного равенства аргументов 1: https://www.cyberforum.ru/cgi-bin/latex.cgi?A\oplus B=A+B-AB. Значение данной логической связки можно передавать союзом «либо».
Результат операции XOR является сложением в кольце вычетов по модулю 2, в отличие от операций «И» и «ИЛИ» данная операция является обратимой, или инволютивной: https://www.cyberforum.ru/cgi-bin/latex.cgi?(A \oplus B) \oplus B = A.
ВходыВыход
A BA xor B
0 0 0
0 1 1
1 0 1
1 1 0
Аксиомы, законы и следствия
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\oplus 0 = A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A \oplus A = 0
https://www.cyberforum.ru/cgi-bin/latex.cgi?A \oplus \bar{A} = 1
https://www.cyberforum.ru/cgi-bin/latex.cgi?A \oplus 1= \bar{A}
https://www.cyberforum.ru/cgi-bin/latex.cgi?A \oplus B = B \oplus A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A \oplus B \oplus C = (A \oplus B) \oplus C = A \oplus (B \oplus C)
https://www.cyberforum.ru/cgi-bin/latex.cgi?(A \oplus B) \oplus B = A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\oplus B=A\bar{B}+\bar{A}B
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{A}\oplus B=A\oplus\bar{B}=\bar{A\oplus B}
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{A}\oplus\bar{B}=A\oplus B
https://www.cyberforum.ru/cgi-bin/latex.cgi?A\oplus B\oplus C=A\bar{B}\bar{C}+\bar{A}B\bar{C}+\bar{A}\bar{B}C+ABC
В компьютерной графике «исключающее ИЛИ» применяется в компьютерной анимации при выводе элементов изображения (спрайтов) на экран – повторное применение операции XOR к тем же элементам изображения стирает спрайты с экрана. Благодаря инволютивности операция XOR нашла применение в криптографии как простейшая реализация шифра Вернама. «Исключающее ИЛИ» также может использоваться для обмена двух переменных, используя алгоритм обмена при помощи исключающего ИЛИ.
Операции от многих аргументов
Операции «И», «ИЛИ» и «исключающее ИЛИ» являются не только коммутативными, но и ассоциативными, и потому легко обобщаются на случай нескольких аргументов (входов).
Операции над битовыми векторами
Обобщение операций на булеву алгебру
Теперь вместо одиночных битов рассмотрим векторы из фиксированного количества битов (для нас это регистры и ячейки памяти). Регистр можно рассматривать, как двоичное разложение целого числа:
b = b0 + 2b1 + 22b2 + ... + 2N?1bN?1
(N – количество битов в регистре) и булевые операции проводят по-компонентно (значение в k-ом бите – результат операции над k-ми битами аргументов). Булевы операции распространяются таким образом на произвольную булеву алгебру. Таким образом мы получаем операции побитового AND, OR, NOT, XOR и так далее. Побитовое NOT для чисел в дополнительном коде совпадает с вычитанием из минус единицы.
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{A} =-1-A
https://www.cyberforum.ru/cgi-bin/latex.cgi?-A= \bar{A} +1
https://www.cyberforum.ru/cgi-bin/latex.cgi?2^{N}-1=1111...11 (единицы повторятся https://www.cyberforum.ru/cgi-bin/latex.cgi?N раз)
https://www.cyberforum.ru/cgi-bin/latex.cgi?2^{N}=1000...00 (нули повторятся https://www.cyberforum.ru/cgi-bin/latex.cgi?N раз)
https://www.cyberforum.ru/cgi-bin/latex.cgi?A \cdot (-1) = A
https://www.cyberforum.ru/cgi-bin/latex.cgi?A \oplus (-1) = \bar{A}
https://www.cyberforum.ru/cgi-bin/latex.cgi?A + (-1) = -1
https://www.cyberforum.ru/cgi-bin/latex.cgi?A \oplus \bar{A} = -1
Физическая реализация битовых операций
Реализация логических и битовых операций может в принципе быть любой: механической, электромеханической, гидравлической, пневматической, оптической и даже химической. В первой половине XX века до изобретения транзисторов в вычислительной технике применяли электромеханические реле и электронные лампы. С 50-х годов XX века распространяются электронные реализации логических и битовых операций при помощи транзисторов.
Использование в программировании
Благодаря аппаратной реализации в арифметическом логическом устройстве (АЛУ) процессора многие регистровые битовые операции аппаратно доступны в языке ассемблера. В большинстве процессоров реализованы в качестве инструкции регистровый НЕ; регистровые двухаргументные И, ИЛИ, исключающее ИЛИ; проверка равенства нулю; три типа битовых сдвигов, а также циклические битовые сдвиги.
Регистровая операция И используется для сброса конкретных битов по битовой маске, ИЛИ – для установки, исключающее ИЛИ – для инвертирования битов регистра по маске.
Логические соотношения
Теоретической основой проектирования цифровых систем является алгебра логики или булева алгебра. В алгебре логики различные выражения (высказывания) могут иметь только два значения ? «истинно» или «ложно». Для обозначения истинности или ложности высказываний пользуются символами 1 или 0. Это хорошо согласуется с двоичной системой счисления и с работой двухпозиционных элементов, используемых в микропроцессоре. Например, истинность высказывания может быть представлена в микропроцессоре сигналом положительного (отрицательного) электрического напряжения, а ложность – отрицательным (положительным) напряжением или отсутствием сигнала вообще.

Контрольные вопросы и упражнения
  1. Чему равны следующие соотношения?
    1. https://www.cyberforum.ru/cgi-bin/latex.cgi?0\cdot 1
    2. https://www.cyberforum.ru/cgi-bin/latex.cgi?0+1
    3. https://www.cyberforum.ru/cgi-bin/latex.cgi?1\cdot 1
    4. https://www.cyberforum.ru/cgi-bin/latex.cgi?1+1
    5. https://www.cyberforum.ru/cgi-bin/latex.cgi?A(A+B)
    6. https://www.cyberforum.ru/cgi-bin/latex.cgi?A(\bar{A}+B)
    7. https://www.cyberforum.ru/cgi-bin/latex.cgi?A\oplus A
    8. https://www.cyberforum.ru/cgi-bin/latex.cgi?A\oplus \bar{A}
    9. https://www.cyberforum.ru/cgi-bin/latex.cgi?A(A+A\cdot B)
  2. Как модифицировать операцию «Исключающее ИЛИ» что бы получилась инверсия?
  3. C помощью логических преобразований покажите, что
    https://www.cyberforum.ru/cgi-bin/latex.cgi?A\oplus B=\bar{AB+\bar{A}\bar{B}}
    https://www.cyberforum.ru/cgi-bin/latex.cgi?A\oplus B=(A+B)(\bar{A}+\bar{B})
  4. Докажите, что https://www.cyberforum.ru/cgi-bin/latex.cgi?a\rightarrow (b\rightarrow a)=1
  5. найти
    1. https://www.cyberforum.ru/cgi-bin/latex.cgi?a+(a\rightarrow a)
    2. https://www.cyberforum.ru/cgi-bin/latex.cgi?a\rightarrow (a+b)
    3. https://www.cyberforum.ru/cgi-bin/latex.cgi?(b+a)\rightarrow (a+b)
    4. https://www.cyberforum.ru/cgi-bin/latex.cgi?(a\rightarrow b)\rightarrow((a+b)\rightarrow(a+c))
  6. Докажите, что https://www.cyberforum.ru/cgi-bin/latex.cgi?AC+B\bar{C}+AB=AC+B\bar{C}
  7. C помощью логических преобразований выведите уравнение Хантингтона https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{(\bar{A}+B)}+\bar{(\bar{A}+\bar{B})}=A
  8. Доказать, что https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{\bar{b}\bar{c}+\bar{a}c}=ac+b\bar{c}
  9. C помощью логических преобразований выведите уравнение Роббинса
    https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{\bar{(A+B)}+(A+\bar{B})}=A
  10. Докажите чтоhttps://www.cyberforum.ru/cgi-bin/latex.cgi?B+C+A\bar{B}\bar{C}=A+B+C
  11. Используя взаимные замены операций AND и OR и символов 0 и 1 расположите в одной таблице тождества и законы алгебры логики.
AND OR XOR
   
   
Миниатюры
Электронный учебник   Электронный учебник   Электронный учебник  

Электронный учебник   Электронный учебник   Электронный учебник  

Электронный учебник  
Изображения
 
0
Закрытая тема Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru