생각그림 연구소 / 조지 불 특집 / 제13회

조지 불 특집 · 생각을 계산하는 법 13

불의 계산으로 규칙의 빈틈과 겹침 찾기

두 조건이 만드는 네 부류를 빠짐없이 살피며 결과 누락과 충돌 가능성을 고칩니다.

1854년 부류 기호와 전개 · 현대 결정표 검토

조지 불의 역사적 초상 판화
조지 불(1815–1864)논리의 관계를 기호와 계산으로 나타낸 수학자
초상화 출처

『일러스트레이티드 런던 뉴스』, 1865년 1월 21일 게재. 작가 미상. 퍼블릭 도메인.

위키미디어 공용에서 원본 보기
본문 크기

규칙을 읽을 때는 자연스러워 보이는데, 실제로 적용하면 아무 결과도 없는 경우나 두 결과가 동시에 나오는 경우가 생깁니다. 조지 불(George Boole)은 부류를 기호로 나타내고, 조건의 모든 조합을 서로 겹치지 않는 부분으로 전개했습니다. 이번에는 그 계산을 현대의 결정표 점검에 적용해 규칙의 빈틈과 겹침을 찾아봅니다.

01 · 불이 풀려던 문제

복잡한 부류 관계에서 빠진 부분을 어떻게 보일까요?

불이 다룬 부류는 서로 겹칠 수 있습니다. x가 ‘예약 확인’, y가 ‘안전교육 이수’를 뜻한다면 xy는 둘 다 해당하는 부류이고, x(1−y)는 예약은 확인됐지만 교육은 이수하지 않은 부류입니다. 말로만 규칙을 적으면 이 중 어떤 부류를 놓쳤는지 알아보기 어렵습니다.

1854년 『Laws of Thought』 제2장에서 불은 1을 논의 중인 전체 부류로, 1−x를 x에 속하지 않는 나머지로 다룹니다. 제5장에서는 함수를 x=1일 때와 x=0일 때로 나누는 전개 원리를 제시합니다. 두 조건이면 전체를 xy, x(1−y), (1−x)y, (1−x)(1−y)의 네 부분으로 펼칠 수 있습니다.

불의 제안과 이번 실험
불의 부류 계산은 모든 조합을 드러내어 어느 부분이 포함되고 제외되는지 확인하게 합니다. ‘결정표’와 완전성 검사는 후대의 실무 형식이며, 불이 오늘의 DMN 표를 직접 만든 것은 아닙니다.

02 · 불의 제안에서 검사식으로

전체를 네 부분으로 나누면 빈틈과 겹침이 계산됩니다

가상의 시설 이용 규칙을 만들겠습니다. 결과 A는 ‘즉시 이용’, 결과 B는 ‘안내 데스크 확인’입니다. 각 입력 행에서 A와 B가 정확히 하나만 1이면 처리 경로가 분명합니다. 둘 다 0이면 어느 결과도 정하지 않은 빈틈이고, 둘 다 1이면 서로 다른 두 처리가 동시에 선택된 겹침입니다.

불 논리를 불 대수 식으로 쓰면 빈틈을 (1−A)(1−B), 겹침을 AB로 표시할 수 있습니다. 두 식이 어느 행에서 1인지 보면 문제가 있는 부류가 드러납니다. A+B를 보통 덧셈처럼 계산해 2라고 말하는 대신, 이 활동에서는 A와 B의 소속 여부를 각각 유지해 겹침을 확인합니다.

겹침이 언제나 오류인 것은 아닙니다. 두 결과를 함께 모으는 규칙이라면 의도된 동작일 수 있습니다. 하지만 결과가 하나여야 하는 표에서는 충돌입니다. 현대 DMN 표는 여러 규칙이 동시에 맞을 때 결과를 고르는 방식을 ‘히트 정책’으로 명시합니다. 따라서 먼저 업무가 한 결과를 요구하는지 여러 결과를 허용하는지 정해야 합니다.

빈틈=(1−A)(1−B)  ·  겹침=AB

03 · 불의 부류를 결정표로

각 행의 결과를 눌러 규칙을 고쳐보세요

시설 이용 규칙 실험 · 네 입력 부류x=예약 확인, y=안전교육 이수. A와 B 버튼을 눌러 결과를 바꿉니다.
입력 부류xyA 즉시 이용B 추가 확인검토

처음 표에서는 11행만 A이고 나머지는 B라서 모든 행에 결과가 정확히 하나 있습니다. ‘빈틈 만들기’는 01과 10을 둘 다 0으로 만듭니다. ‘빈틈·겹침 보기’는 00이 비고 11이 겹칩니다. 표의 A·B 버튼을 직접 눌러 문제 행을 없애보세요.

04 · 표에서 얻은 발견

완전함과 충돌 없음은 서로 다른 질문입니다

모든 행에 적어도 하나의 결과가 있으면 표는 이 입력 범위에서 완전합니다. 그러나 한 행에 두 결과가 있으면 단일 결과 규칙으로서는 여전히 충돌합니다. 반대로 겹침이 하나도 없어도 0·0인 행이 있다면 규칙은 완전하지 않습니다. 두 수치를 따로 세어야 합니다.

네 행은 x와 y가 만드는 서로 배타적인 부류입니다. 어느 대상도 같은 순간 같은 의미에서 x=0과 x=1에 함께 놓이지 않는다고 정했기 때문입니다. 그래서 네 부류를 모두 검사하면 이 두 값 모형의 전체를 덮습니다. 실제 자료에서 미확인 상태가 있다면 네 행 밖에 별도 상태를 두어야 합니다.

발견을 문장으로 씁니다.
“규칙에 문제가 있다”로 끝내지 않고, “예약 미확인·교육 이수인 01행에 결과가 없다” 또는 “예약 확인·교육 이수인 11행에서 A와 B가 함께 선택된다”처럼 입력과 결과를 함께 기록합니다.

05 · 오늘의 실제 적용

접수·권한·요금 규칙을 배포하기 전에 표로 감사할 수 있습니다

고객 접수 규칙에서 ‘긴급 여부’와 ‘계약 여부’를 입력으로, 담당 팀을 결과로 둘 수 있습니다. 네 조합을 모두 채우면 어느 요청도 담당자가 없는 빈틈을 찾을 수 있고, 한 요청이 서로 다른 팀에 동시에 배정되는 겹침도 발견할 수 있습니다. 권한 정책이라면 결과를 ‘허용’과 ‘수동 검토’로 바꾸어 같은 검사를 할 수 있습니다.

규칙 검토 순서
① 입력의 뜻과 0·1 기준을 고정합니다. ② 가능한 조합을 빠짐없이 만듭니다. ③ 각 규칙이 선택하는 결과를 계산합니다. ④ 결과 0개와 2개 이상인 행을 각각 모읍니다. ⑤ 의도된 예외인지 결함인지 책임자와 확인하고 테스트 사례로 남깁니다.

Object Management Group의 DMN 표준은 결정표에서 규칙이 겹칠 수 있을 때 결과를 어떻게 다룰지 히트 정책으로 명시하게 합니다. 이는 불의 1854년 저술보다 훨씬 뒤의 표준입니다. 다만 입력 공간을 부분으로 나누고 각 부분이 어떤 결과 부류에 속하는지 계산한다는 점에서 불의 부류 계산이 제공한 언어를 이어받아 설명할 수 있습니다.

06 · 바르게 쓰는 기준

두 값으로 줄인 전제와 업무의 의도를 함께 밝힙니다

0은 확인된 비해당입니다. 예약 기록을 조회하지 못한 상태를 x=0으로 넣으면 ‘예약 없음’과 ‘확인 못함’이 섞입니다. 미확인은 별도 값이나 보류 결과로 처리하고, 실제 규칙이 그 상태를 어떻게 다룰지 정해야 합니다.

‘겹침 0개’는 네 입력 조합에서 A와 B가 동시에 1인 행이 없다는 뜻입니다. 사람 수가 0명이라는 뜻도, 충돌 확률이 0이라는 뜻도 아닙니다. 빈틈·겹침 행 수와 실제 사건 빈도는 서로 다른 수치입니다.

규칙이 여러 결과를 허용한다면 AB=1은 오류가 아닐 수 있습니다. 이때는 우선순위, 모두 수집, 첫 번째 규칙 등 처리 방식을 적어야 합니다. 반대로 정확히 한 결과가 필요한 업무라면 모든 행에서 A+B의 소속 개수가 1인지 확인합니다.

세 가지로 정리하기
불의 문제: 겹치는 부류 관계를 빠짐없는 기호 계산으로 나타내기. 불의 제안: 전체를 x와 1−x의 서로 다른 부분으로 전개하기. 오늘의 쓰임: 결정표에서 결과가 없는 행과 동시에 여러 결과가 나오는 행을 찾아 규칙을 고치기.

07 · 자료와 출처

불의 원전과 현대 결정표 자료

  1. 조지 불, 『An Investigation of the Laws of Thought』(1854), 제2장 — 기호, 전체 1, 여집합 1−x, 부류 연산의 법칙.
  2. 같은 책, 제5장 — 논리 함수를 구성 부분으로 전개하는 원리.
  3. Project Gutenberg, 『Laws of Thought』 서지 페이지 — 1854년 원전의 판본과 내려받기 자료.
  4. Object Management Group, Decision Model and Notation 1.5 — 결정표와 규칙 겹침을 처리하는 히트 정책의 공식 표준.
  5. OMG, DMN 1.5 공식 명세 페이지 — 명세 버전과 발행 자료.
  6. 조지 불 초상 판화 · Wikimedia Commons — 1865년 1월 21일 게재, 공개 영역.