수학 깨달음/논리 회로 깨달음

카르노 맵 Karnaugh Map 에 대한 깨달음

깨달은도영 2025. 4. 2. 15:35

카르노 맵의 기본적인 목적은 어떤 함수 F를 이루는 term들의 간소화이다.

논리회로를 만들고 간소화 과정을 거치지 않으면 이를 실제로 구성할 때 너무 복잡한 형태이면 열도 많이 나고, 효율도 낮아질 것이다.

때문에 input에 대한 동일한 output을 출력할 수 있는 가장 간단한 식을 찾아내는 것이 중요하다.

 

불 연산을 생각해 보면, 식을 간소화할 수 있는 방법은 겹치는 항을 없애고, x + x' = 1 임을 이용해 리터럴을 줄여가는 과정이라고 예상할 수 있다. 이 과정을 그냥 term들이 줄줄이 나열되어 있는 식을 보고 간소화할 수도 있지만 좀 더 편한 방법을 고안하였고, 그것이 카르노 맵이다.

 

카르노 맵을 배우면서 우리가 영역을 묶을 수 있는 방법을 여러가지 배우는데 그렇게 영역을 묶어서 계산을 편하게 할 수 있는 이유를 좀 더 고민해서 정리해 보았다.

 

일단 시작은 truth table을 통해 SOP 즉, min term들의 합으로 표현하는 것이다. 이를 Canonical form(정규형)이라고 칭한다. 이 내용을 아직 제대로 숙지하지 않은 사람들은 이 포스트를 먼저 보고 오는 걸 추천한다.

https://mharry345.tistory.com/3

 

민텀 min term과 맥스텀 max term 에 대한 깨달음

논리회로를 공부하게 되면 min term, max term, SOP( Sum of Product ), POS( Product of Sum ) 을 볼 것이다.하지만 이를 정확히 이해하지 않고 truth table과 그에 대응되는 term들을 외우기만 하면 자신이 정확히 무

mharry345.tistory.com

 

모든 Boolean function은 기본적으로 SOP 혹은 POS로 표현이 가능하기 때문에, 아마 이 과정은 납득이 될 것이다.

하지만 앞서 말했듯 이렇게 SOP로 표현하면 그 식은 상당히 많은 term들로 이루어져 있을 것이고, 이 상태 그대로 논리 회로를 구성하면 아무도 그 논리 회로를 안 살 것이다. (발열 이슈 + 효율 이슈)

SOP로 표현한 식을 "쉽게" 좀 더 간소화 하는 과정! 그것이 카르노 맵!

 

1bit씩 차이 나게 함으로써 x+x' = 1을 통해 식을 계속하여 간소화하는 과정을 영역 묶기(직사각형 만들기)라고 부르며 이것이 카르노 맵의 모든 아이디어이다.

 

 

그럼 최대로 간소화한 식을 구하려면 어떻게 해야 할까?

가장 큰 영역으로 최대한 묶어서 식을 표현하면 그게 가장 간소화된 term일 것이다.

그러한 term들의 합이 가장 간소화한 식일 것이다.

 

반론이나 질문은 환영입니다.