이 영역을 누르면 첫 페이지로 이동
컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

페이지 맨 위로 올라가기

컴퓨터와 수학, 몽상 조금

컴퓨터공학, 딥러닝, 수학 등을 다룹니다.

5. 불 대수 (Boolean Algebra)

  • 2020.04.11 21:13
  • 학부 수업/디지털시스템
반응형

불 대수란, 어떤 명제의 참과 거짓을 이진수 1과 0에 대응시켜 명제와 명제간의 관계를 수학적으로 표현하는 학문이다.

대수학이란?

대수학Algebra은 아래의 요소를 포함한다.

  • 다루는 요소 (Boolean, Linear, etc..)
  • 연산자
  • 공리와 가정 (Axioms and Postulates)

이는 우리가 다루는 요소를 어떻게 다뤄야 할지를 정의하는 학문이기 때문에 중요하다.

Switching Expression vs Schematic Diagram

불 대수를 표현하는 방법으로는 Switching Expression이 사용된다. 잠시 전에 배운 논리 회로와 이를 비교해보자.

각 게이트는 3개의 핀(입출력)을 갖는다. 게이트를 이용한 위 논리 회로에는 총 9개의 signal net과 12개의 핀, 4개의 게이트가 활용되었다.

그러나 Switching Expression을 활용하면 변수 5개와 4개의 연산자를 이용하는 한 줄짜리 수식으로 정리가 된다.

불 대수의 덧셈과 곱셈

불 대수의 덧셈은 OR gate, 곱셈은 AND 게이트에 의해 처리된다. 그 이유는 OR과 AND의 진리표를 보면 직관을 얻을 수 있다.

$a$ $b$ $y$
0 0 0
0 1 1
1 0 1
1 1 1

OR(논리합) 진리표

$a$ $b$ $y$
0 0 0
0 1 0
1 0 0
1 1 1

AND(논리곱) 진리표

 

교환법칙Commutative Law

논리합이나 논리곱에서, 항의 순서를 바꿔도 결과는 같다.

$ A + B = B + A\\
A \cdot B = B \cdot A$

쌍대성 원리Duality Principle

AND를 OR로, OR을 AND로 1을 0으로, 0을 1로 바꿔 만든 방정식을 쌍대라고 한다.
예를들어, $A + B$의 쌍대는 $\overline{A} \cdot \overline{B}$이다.

이때, 어떤 부울식이 참이면, 그 쌍대도 참이다.

결합법칙Associative Law과 분배법칙Distributive Law

논리합과 논리곱에도 결합법칙과 분배법칙이 적용된다.

$ 
A + (B + C) = (A + B) + C\\
A \cdot (B + C) = A\cdot B + A\cdot C
$

드모르간 법칙Demorgan law

$
\text{First Theorem}\\
\overline{A \cdot B} = \overline{A} + \overline{B}\\\\
\text{Second Theorem}\\
\overline{A+B} = \overline{A} \cdot \overline{B}
$

즉, NAND 게이트는 $\overline{A}$와 $\overline{B}$의 OR 연산과, NOR 게이트는 $\overline{A}$와 $\overline{B}$의 AND 연산과 같다는 것이다.

사실 AND와 OR는 같은 구조의 함수이다. 항등원끼리 연산하면 항등원, 이외에는 항등원이 아닌 것이라는 점이 공통점인데, 이때 AND의 항등원은 1(NOT 0)이고 OR의 항등원이 0(NOT 1)일 뿐이다. 두 항에 모두 NOT을 씌워줌으로서 이 항등원을 역전시키므로 두 연산자가 바뀐 것과 같은 효과를 가진다.
A($\overline{A}$) B($\overline{B}$) AND($\overline{A} \cdot \overline{B}$)
0(1) 0(1) 0(1)
0(1) 1(0) 0(0)
1(0) 0(1) 0(0)
1(0) 1(0) 1(0)

최소항Minterm과 최대항Maxterm

임의의 3가지 변수 $X,Y,Z$를 갖는 함수 $f$가 있다고하자. 이 함수가 가질 수 있는 경우의 수는 $2^3$개이고, 이에 대응하는 출력이 아래와 같다고 보자. 이때, 세 변수 $X, Y, Z$를 논리곱한 값이 Minterm이다.

$X$ $Y$ $Z$ Minterm $f$
0 0 0 $a'b'c'$ 0
0 0 1 $a'b'c$ 1
0 1 0 $a'bc'$ 0
0 1 1 $a'bc$ 1
1 0 0 $ab'c'$ 0
1 0 1 $ab'c$ 1
1 1 0 $abc'$ 1
1 1 1 $abc$ 1

이때, 함수 $f$를 곱의 합Sum of Product:SOP로 표현할 수 있다.
$f = m_1 + m_3 + m_5 + m_6 + m_7 = \Sigma m(1,3,5,6,7)$

Maxterm은 세 변수의 합이다. 역시 이를 통해 함수 $f$를 합의 곱Product of Sum:POS로 나타낼 수 있다. 이때, SOP와는 다르게 $f$의 논리값이 0이 나온 것들을 취한다.
$ f = M_0 \cdot M_2 \cdot M_4 = \Pi M(0,2,4)$

이때, minterm과 maxterm은 서로 보수관계에 있는 특징이 있다.

SOP나 POS를 이용해 함수를 표현하는 방식을 Canonical Form이라 한다.

불 대수 정리

Postulate 1 $x + 0 = x$ $ x \cdot 1 = x$
Postulate 2 $x + x' = 1$ $x \cdot x' = 0$
Theorem 1 $x+ x = x$ $x \cdot x = x$
Theorem 2 $x + 1 = 1$ $x \cdot 0 = 0$
Theorem 3. involution $(x')' = x$  
Postulate 3. commutative $x + y = y + x$ $xy = yx$
Theorem 4. associative $x + (y + z) = (x + y) + z$ $x(yz) = (xy)z$
Postulate 4. distributive $x(y + z) = xy + xz$ $x + yz = (x + y)(x + z)$
Theorem 5. DeMorgan $(x + y)' = x'y'$ $(xy)' = x' + y'$
Theorem 6. absorption $x + xy = x$ $x(x + y) = x$
반응형

'학부 수업 > 디지털시스템' 카테고리의 다른 글

7. 범용 게이트 (Universal Gates)  (0) 2020.04.24
6.SOP, POS 단순화와 카르노 맵 (Karnaugh Map)  (1) 2020.04.15
4. 디지털 논리 회로 (Logic Gates)  (0) 2020.04.11
3. 부동소수점을 활용한 실수 표현 (IEEE 754 Standard Float)  (0) 2020.04.11
2. 수 체계: 진수 변환과 이진수의 실수/음수 표현(Number System)  (0) 2020.04.11

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 7. 범용 게이트 (Universal Gates)

    7. 범용 게이트 (Universal Gates)

    2020.04.24
  • 6.SOP, POS 단순화와 카르노 맵 (Karnaugh Map)

    6.SOP, POS 단순화와 카르노 맵 (Karnaugh Map)

    2020.04.15
  • 4. 디지털 논리 회로 (Logic Gates)

    4. 디지털 논리 회로 (Logic Gates)

    2020.04.11
  • 3. 부동소수점을 활용한 실수 표현 (IEEE 754 Standard Float)

    3. 부동소수점을 활용한 실수 표현 (IEEE 754 Standard Float)

    2020.04.11
다른 글 더 둘러보기

정보

컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

  • 컴퓨터와 수학, 몽상 조금의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (276)
    • Tech Trend (3)
    • Deep Learning (77)
      • 공부 노트 (21)
      • 논문 리뷰 (44)
      • 논문 스키밍 (1)
      • 영상처리 (11)
    • Engineering (3)
      • Tips (2)
      • Experiences (1)
    • Blog (42)
      • 회고 & 계획 (16)
      • 내 이야기 (8)
      • 리뷰 (3)
      • 군대에 간 공돌이 (9)
      • ML엔지니어 취업 도전기 (1)
      • 여행 (4)
    • 학부 수업 (141)
      • 머신러닝 (16)
      • C프로그래밍 (8)
      • 자료구조 (11)
      • 알고리즘 (17)
      • 디지털시스템 (25)
      • 컴퓨터구조 (11)
      • 확률과 통계 (21)
      • 선형대수학 (14)
      • 이산수학 (18)
      • 데이터시각화 (0)
    • 강의 (9)
      • 딥러닝 기초 (7)
      • Python (2)

공지사항

인기 글

정보

백지오의 컴퓨터와 수학, 몽상 조금

컴퓨터와 수학, 몽상 조금

백지오

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
반응형

나의 외부 링크

  • profile
  • github
  • linkedin

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. © 백지오. Designed by Fraccino.

티스토리툴바