[이산수학] 8강 - 부울대수

2026. 5. 18. 17:59·방송통신대학교/🕸️이산수학

✅ 1. 기본사항

(1) 디지털 논리회로

  • 디지털 논리회로: 0과 1같은 이산적인(끊어진) 신호를 이용해 정보를 처리하는 전자 회로를 의미한다.
  • 쉽게 말해, 입력과 출력이 디지털 신호로 들어오거나 나오게 되는데, 이때 중간에서 디지털 논리회로가 이를 처리를 해주는데, 이것은 0과 1로만 표현되는 하나의 반도체 회로로 볼 수 있음.
  • 또한, 0과 1을 통해 논리회로로써 참(True)과 거짓(False)을 전기 신호로 표현해 논리 연산을 수행하는 구조임.
  • 즉, 논리회로 자체는 AND, OR, NOT, ... 으로 실제로 물리적으로 구현이 되어있음을 알 수 있음.

(2) 기본 논리게이트 ( AND, OR, NOT )

  • AND 게이트: 디지털 신호(0,1)가 입력값 X, Y에 들어오게 될 때, (0,0)인 경우 0(False), (0,1) or (1,0)인 경우 0(False), (1,1)인 경우에만 1(True)로써, 논리곱(AND 연산)이라 불리며, p^q 또는 X · Y 로 표현이 됨.
  • 논리곱인 이유는, 0 * 0 = 0; 0 * 1 = 0; 1 * 0 = 0; 1 * 1 = 1 과 같이 두 수를 곱했을 때 나오는 결과 중 1은 둘 다 True 인 경우이기 때문에 이러한 과정을 통해 논리곱으로 보는 이유를 알 수 있음.

  • OR 게이트: 논리합으로 불리며, 두 이진수를 더했을 때, 값이 0이면 False, 1이면 True 인 논리게이트임.
  • 기호 표현: X + Y 또는 p ∨ q 로 표현이 됨.

  • NOT 게이트: 일항 연산에 쓰이며, 입력에 들어온 값을 반전시키는 논리게이트임.
  • 이러한 기본 논리게이트를 활용해서 NAND, NOR, XOR, XNOR 을 구성 할 수 있으며, 기본 논리게이트(AND, OR, NOT)로 모든게 이루어져있다고 보면 됨.

(3) 기타 논리게이트 (NAND, NOR, XOR, XNOR)

  • NAND: AND 게이트에 NOT 을 붙힌 논리게이트로, AND의 결과에 NOT이 붙어 반전되어 출력이 되는 논리게이트임.

  • NOR: OR 게이트에 NOT 을 붙힌 논리게이트로, OR의 결과에 NOT이 붙어 반전되어 출력이 되는 논리게이트임.

  • XOR: 베타적 논리합으로, 두 개의 입력값이 서로 다를 때만 1(True)을 출력하고, 같은 경우에는 0(False)을 출력하는 게이트

  • XOR 게이트 기호: A ⊕ B 로 표현하며, 논리식은 위와같이 표현하기도 함.
  • AB = A * B = A and B 로 AND 연산이며, 해당 연산 두개에 대해서 각각 A, B에 NOT을 붙혀주고 최종적으로 OR 연산 진행

  • XNOR 게이트: XOR 게이트의 최종적으로 NOT이 붙은 게이트이며, XOR 게이트의 결과값의 NOT이 되는 원리임.

✅ 2. 부울대수

(1) 부울대수 소개

  • 부울대수: 수학의 한 분야로써, 컴퓨터의 논리 연산의 기초가 되는 체계로 0(False), 1(True)만으로 표현하는 수학을 의미함.
  • 쉽게 말해, 일반적인 수학에서는 1,2,3, ... 같은 무한한 숫자를 다루지만, 부울 대수에서는 0과 1만을 가지는 부울값을 통해서 정해진 부울연산과 합쳐 부울식으로써 부울 대수를 정의하고 있음.
  • 부울값(부울상수): 0 = 거짓(False), 1 = 참(True) 와 같이 두 값이 부울값임.
  • 부울변수: A, B, X 와 같이 0 또는 1 값을 가질 수 있는 변수를 의미함.
  • 부울연산: AND, OR, NOT, ... 등의 부울값끼리 계산하는 연산을 의미함.
  • 부울식: 부울값과 부울연산을 이용해서 만든 식으로 예를 들면, A AND B, (A OR B) AND NOT C ... 등이 있음.
  • 이런것들을 포함하고 있는 수학 체계가 부울 대수인 것임.

  • 부울식: 부울상수 0,1 은 부울식으로 보며, 부울변수 또한 부울식으로 보며, X,Y가 부울식일 때, 합쳐진 부울 연산을 부울식으로 보는 것임. 즉, 아주 작은 단위도 이미 부울식으로 본다는 의미임.

(2) 부울대수의 성질

  • X + 0 = X 에서 + 는 OR(논리합)을 의미 할 수 있음.
  • X * 1 = X 에서 * 는 AND(논리곱)을 의미 할 수 있음.

  • 위와 같이 여러 법칙이 존재함.
  • (15) 번과 같은 것은 일반적인 실수 법칙에서는 성립하지 않고, 부울 대수에서만 성립이 되는 법칙임. ( 18번, 19번도 일듯 )

  • 왼쪽은 논리이며, 오른쪽은 부울대수 표기법이며, 둘의 관련성을 나타냄.
  • 논리상에서 p, q, r 은 명제를 의미하지만, 부울대수에선 X, Y, Z 로 부울 변수로 보고 있음.
  • 논리상에서 T, F 는 명제에 대한 참, 거짓을 의미하지만 부울대수에선 1, 0 으로 표현함.
  • 그 외에도 동일함.

  • 논리 및 집합에서의 기본정리이며, 부울대수 법칙에 적용이 될 수 있음.

(3) 쌍대성 원리

  • 쌍대성 원리: 부울식에서 논리곱, 논리합인 상태를 서로 바꾸고, 논리상수 0과 1을 서로 바꾸면 원래 부울식의 동일한 결과를 얻을 수 있는데, 이것을 쌍대라고 함. ( 쌍대: 주어진 부울식과 그것의 진리값이 서로 같음을 의미함. )
  • 쉽게 말해, 어떤 부울식이나 부울 법칙에서 논리합, 논리곱 서로 바꾸고, 0과 1을 서로 바꾸었을 때, 새로 얻어진 식도 역시 참이 된다는 원리를 의미할 수 있음.

  • 쌍대성 원리 예제: 위와 같이 X + 0 = X 의 경우 논리합(+) 와 0을 각각 논리곱(*) 과 1로 바꾸게 된다면 X * 1 = X 가 됨.

  • 드 모르간 법칙: 전체를 부정하면, 연산이 반대로 바뀐다는 의미를 가지는 법칙으로, 쉽게 말해 OR 연산을 부정하면 AND 로 바뀌고 AND를 부정하면 OR로 바뀌는 것을 의미함.
  • 정리하면 드 모르간 법칙은 보수를 구하기 위한 법칙으로 볼 수 있는 것임.

(4) 부울함수의 보수

  • 보수: 결과를 반대로 뒤집는 것으로, 0인 경우에는 1로, 1인 경우에는 0으로 뒤집는 것을 의미함.

  • 부울함수의 보수: 부울함수에서의 결과를 뒤집는 것을 의미하며, NOT 논리게이트가 붙어있다고 생각하면 됨.

  • 부울함수의 보수 예제1: 드 모르간 법칙을 활용해서 예제를 풀고 있으며, 전체에 부정을 취하게 되면 법칙에 따라 논리합이 논리곱으로 바뀌게 되고, 각 부울변수에서 AND로 연결된 식 전체를 부정하면, 각각을 부정하고 더하기(OR)로 바꾼 것과 동일하기 때문에 X'' + Y' + Z" * X'' + Y'' + Z' 이 만들어지게 되며, 여기서 이중 부정의 법칙으로 부정을 두 번 하면 원래 자기 자신이 되기 때문에 최종적으로 (X + Y' + Z)(X + Y + Z') 가 되는 것임.

  • 부울함수의 보수 예제2: 쌍대를 활용해서 예제를 풀고 있으며, 각 문자를 보수(반전)로 바꾸면 위와같은 결과를 얻을 수 있음.

✅ 3. 부울함수의 대수적 간소화

(1) 간소화 목적

  • 간소화 목적: 위의 논리회로 두개는 동일한 기능을 하는 논리회로이며, 한 눈에 보기 편한 오른쪽의 회로가 좋음을 알 수 있음.
  • 처리속도도 빨라지며, 고장도 덜나고, 비용이 절감되는 장점을 가지기 때문에 간소화를 반드시 하는게 좋음.

  • 부울함수와 논리회로는 1:1 대응 관계이며, 진리표, 부울함수, 논리회로에 대한 상관관계를 나타내고 있음.

  • 복잡한 논리회로는 복잡한 부울함수로 인해서 나오게 된것이며, 간소화를 시켜 간단한 부울함수를 통해 논리회로를 얻음.

(2) 간소화 예

  • 항결합: 두 개의 항을 결합하여 하나의 항으로 만드는 방법을 의미함.

  • 문자 소거: 중복된 문자를 제거하는 방법으로 흡수법칙을 이용한 방법임.

  • 중복항 첨가: 부울함수의 진리값이 변하지 않도록 하면서 간소화를 위한 적절한 항을 첨가하는 방법을 의미함.

  • 위와 같이 복잡한 부울함수가 있을 때, 대수적인 방법으로 풀게되면, 결과적으로 X만 남게 됨.
  • 여러가지 대수법칙을 활용해서 간소화 시킬 수 있음.

'방송통신대학교 > 🕸️이산수학' 카테고리의 다른 글

[이산수학] 10강 - 그래프(2)  (0) 2026.05.27
[이산수학] 9강 - 그래프(1)  (0) 2026.05.21
[이산수학] 7강 - 함수  (0) 2026.05.15
[이산수학] 6강 - 관계  (0) 2026.05.13
[이산수학] 5강 - 행렬  (0) 2026.05.06
'방송통신대학교/🕸️이산수학' 카테고리의 다른 글
  • [이산수학] 10강 - 그래프(2)
  • [이산수학] 9강 - 그래프(1)
  • [이산수학] 7강 - 함수
  • [이산수학] 6강 - 관계
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    오늘
    어제
    • 전체보기 (233)
      • 방송통신대학교 (87)
        • ⚙️컴퓨터의 이해 (11)
        • 💻컴퓨터과학 개론 (15)
        • 🔢자료구조 (14)
        • 🧬알고리즘 (10)
        • ⚙️운영체제 (14)
        • 🕸️이산수학 (11)
        • 🌍유비쿼터스 컴퓨팅 (11)
        • 🖥️컴퓨터과학과 (1)
      • 공부 (72)
        • 📚백엔드 공부 (6)
        • ☕Java (23)
        • 🌳Spring (13)
        • ⚙️C (12)
        • ⚡Python (15)
        • JavaScript (1)
        • 🛢️Database (0)
        • Algorithm Problem Solving (2)
      • 네트워크 (7)
        • 📜HTTP (7)
      • 스파르타코딩클럽 (64)
      • 정보 (2)
      • 정리가 필요한 글 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    방통대
    방송대
    컴퓨터과학과
    알고리즘
    배열
    함수
    컴퓨터의 이해
    유비쿼터스
    자바
    spring
    그래프
    이산수학
    컴퓨터과학 개론
    C언어
    자료구조
    방송통신대학교
    파이썬
    운영체제
    Java
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
junbin2
[이산수학] 8강 - 부울대수
상단으로

티스토리툴바