메뉴
[Truth Table] Minterm and Maxterm Expansions

2012. 2. 10. 23:36

Minterm & Maxterm

n개의 variable, A, B, C ... 가 있다고 하자.
각각의 variable 또는 그의 complement(A' 와 같은)를 한번씩만 사용하여 어떤 곱을 만든것을 minterm이라고 한다.
예를 들면, variable이 A, B, C 3가지가 있다면, ABC, ABC', A'BC ... 와 같은 것들을 minterm이라고 부를 수 있다.

각각의 variable 또는 그의 complement(A' 와 같은)를 한번씩만 사용하여 어떤 합을 만든것을 maxterm이라고 한다. 
예를 들면, variable이 A, B, C 3가지가 있다면, A + B + C, A + B + C' ... 와 같은 것들을 maxterm이라고 할 수 있다.




Minterm & Maxterm Expansions


3개의 variable A, B, C에 대해서, 일반적으로 위와 같이 m, M이라는 알파벳에 번호를 붙여
minterm과 maxterm을 나타낼 수 있다.

예를 들어, 이전 포스트에서 'f = A'BC + AB'C' + AB'C + ABC' + ABC
minterm을 이용해 아래와 같이 나타낼 수 있다.

\begin{array}{rll} f(A, B,C) &=& m_3+m_4+m_5+m_6+m_7\\ &=&\sum m(3,4,5,6,7) \end {array}


어떤 function f가 위와 같이 minterm의 합으로 정의된다면,
우리는 이것을 minterm expansion 또는 standard sum of products 라고 부른다.

마찬가지로 위의 f는 다음과 같이 나타내기도 했었는데, 이 역시 maxterm을 이용한 식으로 나타내 볼 수 있다.

\begin{array}{rll} f(A, B,C) &=& (A + B + C)(A + B + C')(A + B' + C)\\ &=&M_0M_1M_2\\ &=&\Pi M(0,1,2) \end {array}


여기서는 위에서 사용했던 summation이 아니라 대문자 Pi (파이)를 사용하고 있는데, 이는 곱을 의미 한다.
어떤 function f가 위와 같이 maxterm의 곱으로 정의된다면, 
우리는 이것을 maxterm expansion 또는 standard product of sums 라고 부른다.



Minterm & Maxterm Relationship

이전에서와 마찬가지로 이번엔 f'를 살펴보면서 minterm과 maxterm이 어떻게 연관될 수 있는지 살펴보자.
우리는 이전 포스트에서 f' = A'B'C' + A'B'C + A'BC' 라고 구했다.
이것을 minterm의 축약형태로 써 보면,

\begin{array}{rll} f'(A, B,C) &=&  A'B'C' + A'B'C + A'BC'\\ &=&m_0+m_1+m_2\\ &=&\sum m(0,1,2) \end {array}


위에서 구했던 f(A,B,C)와 어떤 연관성이 보이지 않는가?
(f(A,B,C))' 를 직접 구해봄으로써 연관성을 찾아보면,

\begin{array}{rll} f'(A, B,C) &=&  (f(A,B,C))'\\ &=&(\Pi M(0,1,2))'\\ &=&(M_0M_1M_2)'\\ &=&M_0'+M_1'+M_2'\\ &=&(A+B+C)'+(A+B+C')'+(A+B'+C)'\\ &=&A'B'C'+A'B'C+A'BC'\\ &=&m_0+m_1+m_2\\ &=&\sum m(0,1,2) \end {array}


위와 같이 변환이 가능하다.
여기서 주목할 점은 m_i' = M_i 로 변환이 되는 것,
그리고 product와 summation의 변환관계, maxterm과 minterm의 변환관계다.



Example

다음 f의 minterm expansion을 구하라.

f(a,b,c,d) = a'(b' + d) + acd'


문제가 난해하다고 느낄 수 있는데, 사실은 전혀 그럴 것이 없다.
지금까지 했던 것들이 simplification이었다면, 이번에는 식을 부풀려야 하기 때문이다.
먼저, 일단 주어진 식을 sum of products로 만들어 보자.

f = a'b' + a'd + acd'

각 항에서 빠져있는 variable이 각각 무엇인지 바로 보인다.
문제는 XY + XY' = X 라는 공식만 알고 있으면 해결이 가능하다. 단지 이것을 역으로 이용하면 될 뿐이다.
acd' 에서는 b가 빠져있다. 즉 X = acd' 로 놓고 Y = b로 놓으면,
acd' = abcd'+ ab'cd' 로 만들 수 있는 것이다.

이는 a'b'와 a'd에서도 마찬가지로 적용된다.
a'b'에 빠져있는 것은 c, d 이므로,
이 둘이서 만들어 낼 수 있는 조합인 cd, cd', c'd, c'd' 들을 각각 a'b'와 곱하고 더하면 된다.
즉 a'b' = a'b'(cd + cd' + c'd + c'd') 가 되는 것이다.

이러한 방식으로 최종적으로 f는 다음과 같이 정리가 된다.

\begin{array}{rll} f(a,b,c,d) &=&  a'(b'+d)+acd'\\ &=&a'b'+a'd+acd'\\ &=&a'b'c'd' + a'b'c'd + a'b'cd' + a'b'cd + a'bc'd + a'bcd + abcd' + ab'cd'\\ &=&\sum m(0,1,2,3,5,7,10,14) \end {array}


한편, maxterm expansion을 구하는 것도 다음의 공식,
X + YZ = (X + Y)(X + Z) 를 반복적으로 이용하면 된다.
(A + B + D)와 같이 중간에 C가 빠져 있다면, 
(A + B + D) = (A + B + CC' + D) = (A + B + C + D)(A + B + C' + D) 와 같이 확장하면 된다.

최종적으로 다음과 같은 표로써 정리할 수 있겠다.