[ Ch.10 ]
< p.149 부울대수를 위한 예시 ~ >
수컷 고양이 : M
암컷 고양이 : F
황갈색 고양이 : T
검정 고양이 : B
흰색 고양이 : W
다른 모든 색 고양이 : O
중성화 O : N
중성화 X : U
부울 대수에서 + 기호는 합집합을 의미한다. ex) B+W = 검은색이거나 하얀색인 고양이 모두
부울 대수에서 * 기호는 교집합을 의미한다. ex) F * T = 암컷이면서 황갈색인 고양이 모두
부울대수에서도, 기존 대수학에서 적용되던 교환, 결합, 분배 법칙은 모두 적용된다.
게다가 부울 대수에서는, *연산에 대한 +연산의 결합법칙도 성립된다.
==> W + (B * F) = (W + B) * (W + F)
하얀색 고양이 + 검정 암컷 고양이 = 하얀색 고양이 + 검정 고양이 * 하얀색 암컷 고양이
좌항에는 하얀색 고양이(성별모두) + 검정색 암컷 고양이 이고
우항에는 하얀색 고양이(성별모두) + (검정 고양이(성별모두) ∩ 하얀색 암컷 고양이 => 암컷이 교집합으로 성립되어, 모든 성별이 있는 검정 고양이중, 암컷이 뽑힌다.)
=> 하얀색 고양이(성별모두) + 검정 암컷 고양이 이다.
따라서 성립하게 된다.
부울 대수에서 1이라는 기호는 전부(Universe)를 의미한다.
M + F = 1
T + B + W + O = 1
N + U = 1
1 - M = F
등...
부울 대수에서 0이라는 기호는 공집합을 의미한다.
F * M = 0
0 * F = 0
0 + F = F
1 + F = 1
등...
부울 대수와 일반 대수학의 차이점
<부울 대수>
F * F = F (암컷과 암컷의 교집합은 암컷)
F + F = F (암컷과 암컷의 합집합은 암컷)
<대수학>
F * F = F^2
F + F = 2F
이 부울 대수에서, 논리게이트 (AND, OR ...) 가 탄생하게 됐다.
AND 는 * 로 표현하고 아래와 같은 표에 부합한다.
AND | 0 | 1 |
0 | 0 | 0 |
1 | 0 | 1 |
OR 는 + 으로 표현한다.
OR | 0 | 1 |
0 | 0 | 1 |
1 | 1 | 1 |
이를 바탕으로 예시를 하나 들어보자
중성화된 수컷 고양이, 하얀색이나 황갈색, 혹은 중성화된 암컷 고양이, 하얀색을 제외 한 고양이를 원한다고 가정
위와 같은 조건을 만족하는 고양이를 원한다고 해볼때 이를 부울대수 수식으로 나타내면
(M * N * (W + T)) + (F * N * (1 - W)) + B
다음과 같다.
만약 중성화되지 않은 수컷 황갈색 고양이를 가져오면,
수컷이므로 M = 1
황갈색이므로 T = 1
이외엔 모두 0이다.
위의 식에 대입해보면, (1 * 0 * (0 + 1)) + (0 * 0 * (1 - 0)) + 0
결과는 예상가듯이 0이다.
스위치와 전구가 있는 회로에서도 위와 같은 원리들이 모두 똑같이 적용된다.
스위치가 꺼져있으면 0, 켜져있으면 1로 구분지어서 위의 표처럼 논리연산을 할 수 있는 것이다.
한가지 덧붙이자면, 회로는 직렬, 병렬로 연결을 할 수가 있다.
여기서 직렬은 AND연산(*기호), 병렬은 OR(+기호)로 나타내어 회로를 구성할 수 있다.