도구스개발

콰인-매클러스키 논리식 간소화 계산기

최소항 목록을 받아 비트가 하나만 다른 항끼리 묶어가며 불 논리식을 간소화합니다. 변수가 많아도 카르노맵 없이 계산됩니다.

간소화된 논리식A'
찾은 소항(prime implicant) 수1개
검산 완료: 이 식이 지정한 최소항에서만 참이 되는 것을 전체 입력 조합으로 확인했습니다.
변수 3개까지는 카르노맵으로도 눈으로 묶을 수 있지만, 이 알고리즘은 변수 개수와 무관하게 같은 절차(비트 하나만 다른 항끼리 묶기)로 답을 냅니다. 마지막에 남는 항을 고르는 단계는 욕심 알고리즘이라 이론상 절대 최소가 아닐 수 있습니다.

사용 방법

  1. 1변수 개수를 정합니다.
  2. 2함수가 참이 되는 입력 번호(최소항)를 쉼표로 입력합니다.
  3. 3있어도 없어도 되는 입력(돈케어)이 있으면 함께 입력합니다.
  4. 4간소화된 논리식과 검산 결과를 확인합니다.

자주 묻는 질문

카르노맵은 눈으로 인접한 칸을 묶어보는 방법이라 변수 4개까지는 편하지만 5개, 6개로 늘면 3차원·4차원 큐브를 머릿속에 그려야 해 사실상 쓰기 어렵습니다. 콰인-매클러스키는 "비트가 정확히 하나만 다른 두 항을 묶어 그 자리를 돈케어(-)로 바꾼다"는 규칙을 기계적으로 반복하는 알고리즘이라 변수 개수와 무관하게 똑같은 절차로 계산할 수 있습니다.

어떤 최소항을 담당할 수 있는 소항이 단 하나뿐일 때, 그 소항은 반드시 최종 답에 들어가야 합니다. 이런 소항을 필수 소항이라 부르며, 먼저 이것들을 뽑아 놓고 남은 최소항만 추가로 덮으면 계산이 훨씬 간단해집니다.

필수 소항까지는 항상 정확합니다. 다만 필수 소항으로 다 덮이지 않는 최소항이 남으면, 이 계산기는 그 시점에서 가장 많은 최소항을 덮는 소항을 고르는 욕심(greedy) 알고리즘을 씁니다. 이 방식은 대부분 최소이거나 최소에 가깝지만, 이론적으로 절대 최소를 보장하지는 않습니다 — 정확한 최소를 구하려면 집합 덮개 문제를 완전 탐색해야 하는데 이는 NP-난해 문제입니다.

실제 회로에서는 "이 입력 조합은 절대 들어올 리 없다"는 경우가 있습니다(예: 7세그먼트 디코더에서 10~15는 쓰이지 않음). 이런 입력은 결과가 0이든 1이든 상관없으므로, 식을 더 간단하게 만드는 데 자유롭게 이용할 수 있습니다. 다만 돈케어 자체를 "반드시 참으로 만들어야 할 값"으로 취급하지는 않습니다.

알아두면 좋은 점

  • 변수는 최대 6개까지 다룹니다. 그보다 많으면 계산량이 급격히 늘어납니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.