본문 바로가기
프로그래밍

카르노맵(Karnaugh-Map)에 대해서

by bantomak 2023. 7. 17.

카르노맵이란?

복잡한 논리식을 간소화시킬 수 있는 방법 중에 하나로, 1이 나오는 경우(최소항)만을 추려서 그때의 입력값을 식으로 표현한 것이다. 정리하자면 카르노맵은 식 간소화 기법!

카르노맵 표현 순서

  1. 변수의 개수를 파악한 수, 2^n개의 테이블을 생성한다.
  2. 변수의 조합이 0인지 1인지 값을 채워준다.
  3. 묶을 수 있는 규칙에 따라 묶어준다.
  4. 묶어진 값을 간소하게 표현한다.

 

변수가 2개일 때

테이블을 그린다. 그 후, 변수의 조합에 따라 값을 채워준다.

 

 

진리표를 그려보자. A와 B, 그리고 그에 따른 결과를 정리한다.

그리고 그 진리표를 가지고 테이블을 채워보자

 

 

채워진 테이블에서 결과가 1인 항목들을 묶어주자.

이때 주의해야할 점은 2의 제곱(2, 4, 8,...)의 수로 묶어주어야 한다.

 

 

 

변수가 3개일 때

변수가 3개일때도 위의 방식을 그대로 적용하면 된다.

 

값이 1인 항목을 2의 제곱수로 묶어준다.

중요한 것은 최대한 많이 묶는 것이다. 그래야 더 쉽게 정리할 수 있다.

 

위와 같이 직접 붙어있지 않아도 그룹 지어서 단순화시킬 수 있다.

010과 110도 묶일수 있지만 이는 중복항이 되므로 묶지 않는다. (두항 모두 겹치는건 안되지만 하나의 항만 겹치는건 가능)

 

출처

 

카르노맵(Karnaugh-Map)

카르노맵에 대한 이야기

velog.io

댓글