부울대수 (Boolean Algebra) 란?
부울대수는 현존하는 모든 컴퓨터 동작의 원리가 된다고 한다. 왜일까?
대수학 (Algebra)이란 일련의 공리들을 만족하는 수학적 구조들의 일반적인 성질을 연구하는 수학의 한 분야이다.
그 중, 부울대수 (Boolean Algebra)는 참(True), 거짓(False)라는 논리로만 이루어진 대수학이라 할 수 있다.
다들 이미 알다시피 컴퓨터는 0,1 이라는 두개의 숫자만으로 모든 것을 표현한다. True, False라는 논리를 0과 1이라는 두 숫자로 나타낼 수 있기 때문에 부울대수가 컴퓨팅의 기반이 되는 것이다.
논리연산자 - NOT, AND, OR
부울대수를 연산하는 연산자에는 3가지 - NOT, AND, OR - 가 있다. 하나 하나 살펴보도록 하자.
NOT(논리부정)
영어 not의 뜻을 생각하면 연산자 NOT을 쉽게 이해할 수 있다. 알다시피 영어에서 not은 ~가 아니다의 뜻을 가진다.
표현방법 :
(*게이트란 부울대수 연산을 시각적으로 보기 쉽게 만든 것이다. ex. 변수 A를 게이트에 넣으면 결과값 Q가 나온다.)
A를 NOT 게이트에 넣었을 때 나오는 결과값 Q는 A'가 될 것이다.
AND(논리곱)
영어 and는 그리고 라는 뜻이다. 그러므로 A AND B는 A 그리고 B라는 뜻이 될 것이다. 만약 A AND B의 결과가 True가 되려면 A, B 둘다 True가 되야 할 것이다. 둘 중 하나라도 False라면 True라는 결과가 나올 수 없을 것이다.
표현방법 : Q = A⋅ B ( ⋅ 는 생략가능)
INPUT OUTPUT A B Q 0 0 0 0 1 0 1 0 0 1 1 1
게이트로는 아래와 같이 표현된다.
OR(논리합)
영어 or의 뜻은 또는 이다. 그러므로 A OR B는 A 또는 B라는 뜻이 될 것이다. 만약 A OR B의 결과가 True가 되려면 A, B 둘 중 하나만 True가 되어도 True가 될 것이다.
표현방법 : Q = A+ B
INPUT OUTPUT A B Q 0 0 0 0 1 1 1 0 1 1 1 1
게이트로는 아래와 같이 표현된다.
부울대수의 주요 법칙
1. 기본 공리
A⋅A=A, A+A=A, A⋅0=0, A+0=A, A⋅1=A, A+1=1
2. 부정법칙
A⋅A'=0, A+A'=1, A''=A
3. 교환법칙
A⋅B=B⋅A, A+B=B+A
4. 결합법칙
A⋅(B⋅C)=(A⋅B)⋅C, A+(B+C)=(A+B)+C
5. 분배법칙
A⋅(B+C)=A⋅B+A⋅C, A+(B⋅C)=A+B⋅A+C
6. 흡수법칙
A⋅(A+B)=A, A+(A⋅B)=A
이것을 그냥 외우려하면 당연히 잘 안될 것이다.
이럴땐 게이트를 이용하여 직접 계산해보면 왜 이러한 법칙이 성립하는지 이해할 수 있게 된다.
예를 하나 들어보겠다.
A+A'=1
#case1
#case2
다른 법칙도 이런 식으로 직접 연산해보면 왜 그러한 법칙이 성립되는지 이해할 수 있을 것이다.