카르노 맵 솔버 (K-Map 계산기)

카르노 맵, 진리표, 부울 표현식, 최소항, 최대항으로 부울 함수를 빠르게 간소화하세요. SOP/POS 결과와 풀이 과정을 단계별로 확인할 수 있습니다.

카르노 맵 입력 방식을 선택하세요

변수
00
01
11
10
00
01
11
10

셀을 클릭하여 0, 1, X(무관항)로 변경하세요

간소화 결과

카르노 맵 그룹

00
01
11
10
00
01
11
10

함수가 상수입니다; 전체 맵이 그룹화되었거나 셀이 전혀 그룹화되지 않았습니다.

간소화된 표현식

F = 0

원래 그룹 분류

그룹화 불필요 (F = 0).
항
0
리터럴
0
게이트
0

논리 게이트 회로

F0GND

동기화된 진리표

카르노 맵 입력을 바탕으로 자동 업데이트됩니다.

ABCD
m
출력
0000
m0
0001
m1
0010
m2
0011
m3
0100
m4
0101
m5
0110
m6
0111
m7
1000
m8
1001
m9
1010
m10
1011
m11
1100
m12
1101
m13
1110
m14
1111
m15

작동 방식

부울 함수 입력부터 간소화된 논리 회로까지 네 단계로 확인할 수 있습니다.

  1. 변수 선택

    간소화할 부울 함수에 맞게 2, 3, 4 또는 5개의 변수를 선택하세요.

  2. 함수 입력

    부울 표현식을 입력하거나 최소항과 최대항을 지정하거나 진리표를 직접 편집하세요.

  3. K-Map 그룹 확인

    카르노 맵이 2, 4, 8개 셀의 그룹을 자동으로 표시하고 가능한 가장 큰 유효 그룹을 찾습니다.

  4. 간소화 결과 확인

    간소화된 SOP 또는 POS 표현식을 복사하고 논리 회로를 확인하거나 풀이를 PDF로 내보내세요.

확인할 수 있는 기능

솔버의 주요 화면을 간단히 살펴보세요. 스크롤하여 각 기능을 확인할 수 있습니다.

카르노 맵

Gray code 순서로 구성된 K-Map에서 2, 4, 8개 셀의 그룹을 바로 확인할 수 있습니다.

진리표

각 출력을 0, 1, X로 바꾸면 부울 함수가 즉시 업데이트됩니다.

부울 표현식

AB' + C와 같은 표현식을 입력하면 진리표와 카르노 맵으로 바로 변환됩니다.

논리 회로

간소화된 표현식을 AND, OR, NOT 게이트로 구성된 회로로 확인할 수 있습니다.

단계별 풀이

Quine-McCluskey의 각 단계와 Petrick's Method의 선택 과정을 이해하기 쉬운 설명과 함께 확인하세요.

카르노 맵으로 부울 함수 간소화하기

카르노 맵(K-Map)은 한 개의 변수만 다른 입력 조합이 서로 인접하도록 부울 함수를 배치합니다. 긴 논리식을 직접 비교하는 대신, 어떤 변수들이 그룹 안에서 변하고 어떤 변수들이 그대로 유지되는지 눈으로 확인할 수 있습니다.

이 solver는 2, 3, 4, 5변수 부울 함수를 지원합니다. 카르노 맵을 직접 클릭할 수도 있고, 진리표를 수정하거나 부울 표현식, 최소항, 최대항을 입력할 수도 있습니다.

각 입력 방식은 같은 함수를 나타냅니다. 한 곳에서 값을 바꾸면 다른 화면도 같은 부울 함수에 맞게 업데이트됩니다.

0, 1, X는 무엇을 뜻하나요?

각 K-Map 셀은 다음 값 중 하나를 가질 수 있습니다.

  • 1 — 해당 입력 조합에서 함수가 참입니다.
  • 0 — 해당 입력 조합에서 함수가 거짓입니다.
  • X — 해당 조합의 출력값이 중요하지 않습니다.

X는 don't-care 조건입니다. 더 큰 그룹을 만들어 표현식을 줄이는 데 도움이 된다면 사용할 수 있지만, 반드시 그룹에 포함할 필요는 없습니다.

진리표에서 K-Map으로 변환하기

진리표는 가능한 모든 입력 조합과 각 조합의 출력을 행으로 보여 줍니다.

카르노 맵은 같은 데이터를 사용하지만 셀을 Gray code 순서로 배치합니다. 그래서 인접한 두 셀은 한 변수에서만 차이가 납니다.

예를 들어:

A'B'

A'B

에서는 B만 달라집니다.

두 항은 다음과 같이 간소화할 수 있습니다.

A'

그룹 안에서 값이 바뀌는 변수는 간소화된 항에서 사라집니다.

이 원리는 2개 셀뿐 아니라 4개, 8개, 16개 셀 그룹에도 적용됩니다.

최소항, 최대항, 부울 표현식 입력

문제에서 최소항 번호가 이미 주어졌다면 K-Map을 셀마다 채울 필요가 없습니다.

예:

Σm(1,3,5,7)

은 함수의 출력이 1인 최소항을 나타냅니다.

반대로:

ΠM(0,2,4,6)

은 출력이 0인 최대항을 나타냅니다.

부울 표현식을 직접 입력하는 방법도 있습니다.

Solver는 표현식을 평가하고 같은 함수에 해당하는 진리표, K-Map, 최소항, 최대항을 생성합니다.

덕분에 하나의 함수가 여러 형식으로 어떻게 표현되는지 한 화면에서 비교할 수 있습니다.

K-Map 그룹 규칙

유효한 그룹의 셀 수는 2의 거듭제곱이어야 합니다.

1, 2, 4, 8, 16

일반적으로 유효한 그룹이 클수록 결과 항에 남는 리터럴 수가 줄어듭니다.

카르노 맵의 반대쪽 가장자리도 논리적으로 인접합니다.

왼쪽 끝 셀은 오른쪽 끝 셀과 그룹을 만들 수 있고, 위쪽 끝과 아래쪽 끝도 같은 방식으로 연결됩니다.

따라서 네 모서리 셀도 하나의 그룹을 만들 수 있습니다.

필요하면 그룹은 서로 겹칠 수 있습니다. 같은 셀이 두 개 이상의 그룹에 포함되더라도 더 간단한 표현식을 만드는 데 필요하다면 올바른 그룹입니다.

Solver는 사용된 그룹을 K-Map 위에 표시해 최종 식과 쉽게 비교할 수 있도록 합니다.

SOP와 POS 비교

SOP (Sum of Products)는 주로 출력이 1인 셀을 기준으로 간소화합니다.

예:

A'B + BC

POS (Product of Sums)는 출력이 0인 셀에서 시작합니다.

예:

(A + B')(B + C)

SOP가 항상 더 짧은 것은 아닙니다.

어떤 함수는 SOP가 더 단순하고, 다른 함수는 POS가 더 적은 항이나 리터럴을 사용할 수 있습니다.

문제에서 특정 형식을 요구하지 않는다면 두 결과를 비교해 볼 수 있습니다.

Quine-McCluskey와 Petrick's Method

작은 카르노 맵에서는 좋은 그룹을 눈으로 찾기 쉽습니다.

하지만 4변수나 5변수 함수에서는 여러 개의 유효한 커버가 존재할 수 있습니다.

Solver는 Quine-McCluskey를 사용해 implicant를 체계적으로 찾습니다.

더 이상 확장할 수 없는 implicant를 prime implicant라고 합니다.

그중에는 다른 prime implicant가 커버할 수 없는 필수 최소항을 포함하는 항도 있습니다.

이런 필수 항을 선택한 뒤에도 여러 커버가 남으면 Petrick's Method를 이용해 가능한 조합을 비교합니다.

이는 K-Map만 보고 어떤 그룹 조합이 더 좋은지 판단하기 어려운 경우에 특히 유용합니다.

2~5변수 K-Map

2변수 K-Map은 4개의 셀로 구성됩니다.

3변수 K-Map은 8개의 셀을 가지며, 반대쪽 가장자리도 인접한다는 점을 확인하기 좋습니다.

4변수 카르노 맵은 16개의 셀을 가지며 디지털 논리 문제에서 자주 사용됩니다.

5변수 K-Map은 32개의 입력 조합을 표현합니다. prime implicant나 don't-care 조건이 많아지면 손으로 간소화하기가 더 어려워질 수 있습니다.

Solver는 모든 지원 크기에서 K-Map, 진리표, 표현식, 최소항, 최대항을 같은 함수로 동기화합니다.

논리 회로와 PDF 내보내기

간소화 결과는 식으로만 확인할 필요가 없습니다.

결과를 논리 회로로 표시해 SOP 또는 POS 식이 AND, OR, NOT 게이트와 어떻게 연결되는지 볼 수 있습니다.

항 수, 리터럴 수, 게이트 수 같은 정보도 함께 확인할 수 있습니다.

풀이를 나중에 다시 보고 싶다면 K-Map, 그룹, 풀이 단계, 회로를 포함한 PDF로 내보낼 수 있습니다.

자주 묻는 질문

카르노 맵이란 무엇인가요?
인접한 입력 조건을 그룹으로 묶어 부울 함수를 시각적으로 간소화하는 방법입니다.
몇 개의 변수를 지원하나요?
2, 3, 4, 5변수 함수를 지원합니다.
K-Map의 X는 무엇인가요?
X는 don't-care 조건입니다. 더 큰 그룹을 만드는 데 도움이 될 때 사용할 수 있습니다.
진리표를 직접 입력할 수 있나요?
네. 각 출력값을 0, 1, X로 직접 변경할 수 있습니다.
최소항과 최대항을 입력할 수 있나요?
네. Σm(...)과 ΠM(...) 형식을 직접 사용할 수 있습니다.
SOP와 POS의 차이는 무엇인가요?
SOP는 주로 1 출력에서 시작하고, POS는 0 출력에서 시작합니다.
왜 K-Map 그룹이 가장자리를 넘어갈 수 있나요?
Gray code 배열에서는 반대쪽 가장자리도 논리적으로 인접하기 때문입니다.
논리 회로도 확인할 수 있나요?
네. 간소화된 표현식을 게이트 수준 논리 회로로 표시할 수 있습니다.

사용 가능한 언어