본문으로 건너뛰기
김신건의 로그

부울 대수 (Boolean Algebra)

· 수정 · 📖 약 4분 · 1,288자/단어 #discrete-math #boolean-algebra #logic-circuit
Boolean Algebra, 부울 대수, 부울 함수, 논리 회로, 카르노 맵, 정규형, SAT

정의

부울 대수 (Boolean Algebra) 는 두 값 (참/거짓, 1/0) 과 세 연산 (AND, OR, NOT) 을 다루는 대수 시스템입니다. 1854년 George Boole 이 창시.

컴퓨터의 심장: 모든 디지털 회로는 부울 함수의 물리적 구현.

기본 연산

정의역:

연산기호대안
AND 또는
OR 또는
NOT 또는

진리표:

00001
01011
10010
11110

부울 대수 법칙

항등원

지배원 (Domination)

멱등 (Idempotent)

이중 부정

교환

결합

분배

드모르간

흡수

여원

쌍대성 (Duality)

부울 대수의 모든 등식은 AND ↔ OR, 0 ↔ 1 을 교체해도 성립. 이것이 쌍대 원리.

:

  • 의 쌍대:
  • 의 쌍대:

부울 함수

변수 부울 함수: .

개의 입력 조합에 대해 각각 0 또는 1 -> 개의 서로 다른 부울 함수.

예: 2변수는 개 함수, 3변수는 개.

정규형

논리합 정규형 (DNF, Sum of Products)

민텀 (minterm) = 모든 변수를 포함하는 AND 항.

DNF = 민텀들의 OR.

:

3변수 민텀은 개.

논리곱 정규형 (CNF, Product of Sums)

맥스텀 (maxterm) = 모든 변수를 포함하는 OR 항.

CNF = 맥스텀들의 AND.

:

DNF/CNF 유도

진리표에서:

  • DNF: 출력 1인 행마다 민텀 (해당 행의 변수 조합) OR
  • CNF: 출력 0인 행마다 맥스텀 OR

시각화: 진리표 → 회로

:

000000
001011
010000
011011
100000
101000
110101
111101

회로:

flowchart LR
  A[a] --> AB[AND: ab]
  B[b] --> AB
  A --> NOTA[NOT: ā]
  NOTA --> ANC[AND: āc]
  C[c] --> ANC
  AB --> OUT[OR: f]
  ANC --> OUT

카르노 맵 (Karnaugh Map)

진리표를 격자로 정리 하여 부울 함수를 시각적으로 최소화.

2변수 카르노 맵

01
00

이 맵의 함수 = .

3변수 카르노 맵

01
01
11
00

Gray code 순서로 배치 () 하여 인접 셀이 한 변수만 다름.

최소화

인접한 1 셀들을 최대 2의 거듭제곱 크기로 묶어 항 축소.

  • 1 개 셀 = 3변수 민텀
  • 2 개 인접 셀 = 2변수 항
  • 4 개 인접 셀 = 1변수 항
  • 8 개 인접 셀 = 상수 1

목적: DNF 의 항 수와 리터럴 수 최소화 -> 회로 게이트 최소화.

논리 게이트

물리적 회로:

  • AND 게이트:
  • OR 게이트: (곡선 표현)
  • NOT 게이트: ▷○
  • NAND: AND + NOT
  • NOR: OR + NOT
  • XOR: 배타적 OR ()

보편 게이트

NAND 하나만 있으면 모든 부울 함수 구현 가능.

  • NOT() = NAND(, )
  • AND(, ) = NOT(NAND(, ))
  • OR(, ) = NAND(NOT(), NOT())

NOR 도 마찬가지.

부울 함수의 응용

하드웨어 설계

  • ALU (Arithmetic Logic Unit): 덧셈, AND, OR 등의 회로
  • 디코더: n 비트 입력 -> 개 출력 (하나만 1)
  • 멀티플렉서: 여러 입력 중 하나 선택
  • 레지스터, 플립플롭: 순차 회로

CPU 명령어

  • 비트 연산 (AND, OR, XOR, NOT, SHL, SHR)
  • 조건 플래그 (Zero, Negative, Overflow)

프로그래밍

  • 비트마스킹: 상태 저장 (권한, 플래그)
  • 부울 표현식 최적화: 컴파일러가 카르노 맵 유사 알고리즘

SAT (Satisfiability)

CNF 논리식이 만족 가능한가? NP-완전.

응용:

  • 하드웨어 검증
  • 소프트웨어 검증
  • 스케줄링
  • 계획 (planning)
  • 조합 최적화

완전 함수 집합

부울 함수 유한한 연산 집합 으로 표현할 수 있으면 “완전 (functionally complete)”.

대표 완전 집합:

불완전 집합: 는 NOT 필요.

함정

1. AND 우선순위

수식에서 곱 이 합 보다 우선. .

2. 드모르간 실수

. 부정하면 연산자도 바뀜.

3. 카르노 맵 순서

인접한 열/행이 한 변수만 달라야 함 -> Gray code ().

4. NAND 만으로 모든 것

가능하지만 실제 회로는 비효율. 표준 게이트 조합이 나음.

관련 위키

이 글의 용어 (4개)
명제 논리 (Propositional Logic)discrete-math
정의 명제 (Proposition) 는 참 (T) 또는 거짓 (F) 값을 가지는 서술문입니다. 참/거짓을 판단할 수 없는 문장 (질문, 명령, 감탄) 은 명제가 아닙니다. 예 (…
이산수학 (Discrete Mathematics)discrete-math
정의 이산수학 (Discrete Mathematics) 은 이산 (discrete, 셀 수 있는) 대상을 다루는 수학의 분야입니다. 연속 (continuous) 대상 을 다루는 …
증명 기법 (Proof Techniques)discrete-math
정의 증명 (proof) 은 명제가 참임을 논리적으로 확립하는 절차입니다. 컴퓨터 과학에서는 알고리즘 정확성, 자료구조 불변식, 암호 안전성, 형식 검증 등에 필수. 이 문서는 …
집합, 관계, 함수 (Sets, Relations, Functions)discrete-math
정의 - 집합 (set): 서로 다른 원소들의 모음 - 관계 (relation): 두 집합 사이의 원소들의 대응 규칙 - 함수 (function): 정의역의 각 원소를 치역의 유…

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기