단서가 여러 개일 때 정답은 언제 하나로 정해질까요? 조지 불(George Boole)은 문장을 부류의 방정식으로 바꾸고, 알고 싶은 관계만 남도록 불필요한 기호를 소거했습니다. 이번 표에서는 그 문제의식을 작은 가상 사례로 옮겨, 단서를 하나씩 켤 때 여덟 가능성이 어떻게 줄어드는지 직접 확인합니다.
01 · 불이 풀려던 문제
여러 관계를 한꺼번에 만족하는 경우를 어떻게 찾을까요?
불은 ‘모든 Y는 X다’처럼 말로 적힌 관계를 기호의 등식으로 나타냈습니다. 두 전제에 공통으로 들어 있는 Y를 소거하면 X와 Z 사이의 결론을 얻을 수 있었습니다. 1848년 논문은 두 전제를 식으로 바꾸고 공통 기호를 없애 결론을 얻는 예를 제시하며, 같은 글에서 논리 방정식의 일반해도 설명합니다.
중요한 점은 계산이 언제나 단 하나의 대상을 가리키지는 않는다는 사실입니다. 조건이 약하면 여러 가능성이 남고, 조건이 충분하면 하나만 남으며, 서로 맞지 않는 조건은 아무 해도 허용하지 않습니다. 불은 임의의 나머지가 남는 해와 성립할 수 없는 항을 구별해 해석했습니다.
불은 추론을 ‘가능한 관계를 식으로 풀어내는 일’로 만들었습니다. 아래의 0·1 표는 불의 소거법과 해법을 오늘의 조합 검사로 살펴보는 학습 도구입니다.
02 · 불의 제안
관계를 식으로 묶고, 필요 없는 기호를 없앱니다
세 조건을 x, y, z라 하겠습니다. ‘x이면 y’는 x가 1인데 y가 0인 경우를 금지하고, ‘y이면 z’는 y가 1인데 z가 0인 경우를 금지합니다. 두 관계를 모두 만족하는 해만 찾는다면, 오늘의 표에서는 각 행에 두 검사를 적용해 통과 행을 남길 수 있습니다.
불의 원전과 불 논리의 부류 기호는 0 또는 1이라는 개인별 진릿값만을 뜻하지 않습니다. x는 한 부류를 선택하는 연산이고, xy는 두 부류의 공통 부분입니다. 다만 각 가능한 부분을 000부터 111까지 나누어 보면 어떤 부분이 조건에 의해 비어야 하는지 눈으로 확인할 수 있습니다. 이 표의 행 수는 사람 수나 확률이 아닙니다.
관계만 켜면 네 행이 남습니다. 여기에 x=1을 더하면 111만 남습니다. 다시 z=0을 강요하면 같은 식 안에서 z가 동시에 1과 0이어야 하므로 해가 없습니다. 해의 개수는 단서들이 어떻게 결합되는지에 따라 결정됩니다.
03 · 불의 제안을 표로
단서를 켜고 끄며 가능한 행을 줄여보세요
| 입력 | x | y | z | x→y | y→z | 결과 |
|---|
‘여러 해’를 누르면 두 관계만 적용되어 000, 001, 011, 111이 남습니다. ‘한 해’에서는 x=1이 추가되어 111만 남고, ‘해 없음’에서는 z=0이 더해져 통과 행이 사라집니다. 어느 단서를 더했을 때 결과가 바뀌었는지 설명해보세요.
04 · 표에서 얻은 발견
남은 해를 모두 비교해 결론을 정합니다
네 행이 남았을 때 x, y, z의 값은 모두 하나로 정해지지 않습니다. 예를 들어 z는 0인 해도 있고 1인 해도 있으므로 z=1이라고 결론 내릴 수 없습니다. 반면 x=1이라는 단서를 더한 뒤에는 모든 남은 해에서 y=1, z=1입니다. 모든 해에 공통으로 나타나는 값을 결론으로 삼아야 합니다.
해가 0개라면 주어진 단서들을 동시에 만족할 수 없다는 뜻입니다. 먼저 입력 오류가 없는지, 어느 단서를 완화해야 하는지 살펴야 합니다. 해가 여러 개인데 하나를 임의로 고르는 것과 모순 때문에 해가 없는 것은 전혀 다른 상태입니다.
표의 0은 확인된 비해당 또는 거짓입니다. 미확인을 0으로 넣으면 실제로는 가능했던 해를 지울 수 있습니다. 모르는 값은 ‘상관없음’으로 남기거나 별도의 미확인 상태로 관리해야 합니다.
05 · 오늘의 실제 적용
설정 조합과 정책 조건이 함께 성립하는지 검사합니다
가상의 서비스 설정에서 x를 ‘외부 공유 허용’, y를 ‘감사 기록 켜짐’, z를 ‘관리자 승인 완료’라고 하겠습니다. 정책이 x→y와 y→z를 요구한다면, 외부 공유를 켠 설정은 감사 기록과 관리자 승인도 켜져야 합니다. 배포 전에 모든 조합을 검사하면 허용 설정 목록, 유일한 설정, 충돌하는 요구를 분리할 수 있습니다.
① 입력값과 관계를 명확히 적습니다. ② 가능한 조합을 만듭니다. ③ 각 제약을 모든 조합에 적용합니다. ④ 남은 해의 개수와 공통값을 보고합니다. ⑤ 해가 없으면 처음 충돌한 제약을 찾아 수정합니다.
스프레드시트에서는 각 제약을 별도 열로 계산하고 모든 제약 열이 1인 행만 필터링할 수 있습니다. 프로그래밍의 설정 검사기나 SAT 해결기는 훨씬 많은 변수를 효율적으로 다루지만, ‘조건을 식으로 바꾸고 가능한 해를 찾는다’는 핵심 질문은 이어집니다. SAT와 진리표는 불 이후의 현대적 발전이며, 불이 오늘의 알고리즘을 직접 제안한 것은 아닙니다.
06 · 바르게 쓰는 기준
확인한 범위와 남아 있는 자유를 함께 밝힙니다
세 입력의 두 값 조합을 전부 검사했다면 이 표의 여덟 경우에서는 완전한 검사입니다. 그러나 실제 업무의 입력이 세 개보다 많거나 한 입력이 여러 값을 가진다면 표 밖의 경우가 있습니다. ‘반례 없음’은 모델과 입력 범위를 함께 적어야 정확합니다.
남은 행이 하나라고 해서 현실의 대상이 한 명이라는 뜻도 아닙니다. 그것은 조건값의 조합이 하나라는 뜻입니다. 반대로 네 행이 남아도 네 사람이 있다는 의미는 없습니다. 행 수, 대상 수, 관찰 비율, 확률을 서로 바꾸어 읽지 않습니다.
불의 역사적 방법과 오늘의 검사를 구별하겠습니다. 불은 부류 방정식을 전개하고 기호를 소거해 관계를 해석했습니다. 이 회차는 그 제안을 0·1 조합표로 재구성한 현대적 학습 활동입니다.
불의 문제: 여러 전제에서 가능한 관계와 결론을 구하기. 불의 제안: 문장을 방정식으로 바꾸고 공통 기호를 소거해 해석하기. 오늘의 쓰임: 설정·정책의 가능한 조합과 충돌을 배포 전에 검사하기.
07 · 자료와 출처
불의 원전과 현대 검사 자료
- 조지 불, 「The Calculus of Logic」(1848), General Solution of Elective Equations — 논리 방정식의 일반해와 임의로 남는 부분.
- 같은 글, On Syllogism — 두 전제의 공통 기호를 소거해 결론을 얻는 예.
- 조지 불, 『An Investigation of the Laws of Thought』(1854), 제7장 — 논리 방정식의 소거.
- Project Gutenberg, 『Laws of Thought』 서지 페이지 — 1854년 원전의 판본과 내려받기 자료.
- Microsoft Support · Filter by using advanced criteria — 여러 조건을 한 행에 두어 모두 만족하는 기록을 거르는 공식 자료.
- 조지 불 초상 판화 · Wikimedia Commons — 1865년 1월 21일 게재, 공개 영역.
