CODE 정리글

이번 글에서는 주로 논리와 논리게이트에 대한 글이다. 부울 대수의 탄생에 대해서 알아보고, 이게 회로에서 어떤 식으로 작동할 수 있는지 살펴보겠다.

Chapter 10: 논리와 스위치

아래와 같은 삼단논법을 생각해보자. 삼단논법은 미리 알려진 두 판단을 활용하여 새로운 판단을 할 수 있게한다.

사람은 죽는다.

소크라테스는 사람이다.

소크라테스는 죽는다.

수학자들은 이런 논리를 수학적으로 표현하려고 노력했다. 그리고 조지 부울은 논리학에서 매우 중요한 역할을 하였다. 조지 부울은 일반적인 대수학과 매우 유사한 구조로 논리를 표현하려고 했다. 연산자와 피연산자의 구조를 가지고 있다.

예를 들어, 대수학 $1 + 2 $의 경우 $1, 2$는 피연산자이고 $+$연산자이다. 조지부울은 여기서 연산자의 적용범위를 ‘수’에 한정하지 않고 ‘집합’에 적용함으로서 부울대수를 만들었다. 즉, 연산자의 역할을 추상화함으로서 개념을 확장한 것이다.

아래의 이미지는 왼쪽은 합집합, 오른쪽은 교집합을 나타낸다. 각각의 개념에 대해서는 자세히 다루지 않겠다.

이제 위의 삼단논법을 수학적인 방법으로 풀어보자.

$P$는 사람을 의미하고 $S$는 소크라테스 $M$은 죽는 것들을 의미한다.

'’사람은 모두 죽는다’‘라는 명제는 아래와 같이 나타낼 수 있다. PM=PP \cap M = P ‘소크라테스는 사람이다’는 아래와 같이 나타낼 수 있다. PS=SP \cap S = S

위의 두 표현을 바탕으로 ‘‘소크라테스는 죽는다’‘라는 결론은 아래와 같은 수학적인 과정을 통해서 증명할 수 있다. (PM)S=S(PS)M=SSM=S(P \cap M) \cap S = S \\ (P \cap S) \cap M = S \\ S \cap M = S

위에서 언급한 교집합(AND)와 합집합(OR) 다음과 같이 표의 형태로 나타내보자. AND는 X, Y가 모두 1이어야 1이고 OR는 X, Y중 하나라도 1이면 1이다. 예를 들어서, 다음과 같은 조건을 걸 수 있다. 수컷고양이면서, 중성화가 되었으며, 황갈색 혹은 하얀색이면 좋겠다. 이를 수학적으로 표현하면 아래와 같다. 그리고, 하나의 예시를 밑의 식에 대입해보면, 원하는 조건에 맞는지 확인할 수 있다.

  • $\times$: AND
  • $+$: OR
M×N×(B+W)=?M \times N \times (B + W) = ?

AND, OR를 표로 표현해보면 아래와 같다. 컴퓨터가 이진법 숫자체계를 활용한다는 점을 생각해보면, 이런 연산자들이 컴퓨터 공학과 매우 밀접한 연관이 있다는 것을 알 수 있다.

이러한 연산자는 회로에서도 표현할 수도 있는데, AND와 OR를 나타내보자.

AND는 왼쪽의 이미지처럼 직렬 스위치로 나타낼 수 있다. 이는 모든 스위치가 켜져야 작동한다는 의미이다. 반면에, OR는 병렬연결로 표현된다. 이는 둘중에 하나라도 켜진다면 작동한다는 것을 의미한다.

References

[1] https://ko.wikipedia.org/wiki/%EC%A7%91%ED%95%A9