카르노맵이란?
복잡한 논리식을 간소화시킬 수 있는 방법 중에 하나로, 1이 나오는 경우(최소항)만을 추려서 그때의 입력값을 식으로 표현한 것이다. 정리하자면 카르노맵은 식 간소화 기법!
카르노맵 표현 순서
- 변수의 개수를 파악한 수, 2^n개의 테이블을 생성한다.
- 변수의 조합이 0인지 1인지 값을 채워준다.
- 묶을 수 있는 규칙에 따라 묶어준다.
- 묶어진 값을 간소하게 표현한다.
변수가 2개일 때
테이블을 그린다. 그 후, 변수의 조합에 따라 값을 채워준다.
진리표를 그려보자. A와 B, 그리고 그에 따른 결과를 정리한다.
그리고 그 진리표를 가지고 테이블을 채워보자
채워진 테이블에서 결과가 1인 항목들을 묶어주자.
이때 주의해야할 점은 2의 제곱(2, 4, 8,...)의 수로 묶어주어야 한다.
변수가 3개일 때
변수가 3개일때도 위의 방식을 그대로 적용하면 된다.
값이 1인 항목을 2의 제곱수로 묶어준다.
중요한 것은 최대한 많이 묶는 것이다. 그래야 더 쉽게 정리할 수 있다.
위와 같이 직접 붙어있지 않아도 그룹 지어서 단순화시킬 수 있다.
010과 110도 묶일수 있지만 이는 중복항이 되므로 묶지 않는다. (두항 모두 겹치는건 안되지만 하나의 항만 겹치는건 가능)
출처
'프로그래밍' 카테고리의 다른 글
프로그래밍에서 주소(Addresses)와 데이터(Data)는 어떻게 다른가? (4) | 2023.08.08 |
---|---|
도메인 주도 개발(Domain Driven Development) - DAO, DTO, VO에 대해서 (8) | 2023.07.18 |
드 모르간(De-Morgan)의 법칙이란? (8) | 2023.07.14 |
플랫 버퍼(FlatBuffers)에 대해서 - C# 환경에서 빌드하기 (16) | 2023.07.12 |
빅-오(Big-O) 표기법 (26) | 2023.06.12 |
댓글