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

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

불은 부분 정보로 확률의 범위를 어떻게 살폈을까요?

전체 인원과 두 조건의 인원만 알 때, 두 조건에 함께 해당하는 사람 수가 어디까지 가능한지 표로 찾습니다.

n(1)=100 · n(x)=60 · n(y)=50 · 교집합의 수적 한계

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

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

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

조지 불(George Boole)은 불 논리의 부류를 기호로 계산한 뒤, 그 부류에 속하는 사람이나 사건의 수에도 계산 규칙을 적용했습니다. 전체가 100명이고 조건 x에 60명, 조건 y에 50명이 해당한다는 정보만으로는 겹침이 한 값으로 정해지지 않습니다. 그래도 가능한 범위는 정확히 구할 수 있습니다. 이번에는 불이 제19장 ‘통계적 조건’에서 다룬 상한과 하한을 네 칸 표에서 확인합니다.

01 · 불이 풀려던 문제

두 집단의 크기만으로 겹침을 어디까지 알 수 있을까요?

가상의 독서 프로그램 참가자 100명 가운데 토론 신청자는 60명, 글쓰기 신청자는 50명이라고 하겠습니다. 두 활동을 모두 신청한 인원은 아직 집계되지 않았습니다. 60과 50을 곱하거나 더하는 것만으로 겹침을 정할 수 있을까요? 불은 이런 부족한 정보에서도 결론의 ‘한계’를 찾으려 했습니다.

겹침을 c명이라고 두면 네 칸은 함께 움직입니다. 두 활동 모두 c명, 토론만 60−c명, 글쓰기만 50−c명, 둘 다 선택하지 않은 사람은 100−60−50+c=c−10명입니다. 네 칸은 모두 사람 수이므로 음수가 될 수 없습니다. 이 간단한 조건이 c의 범위를 정합니다.

불의 제안과 이번 실험
불은 원전에서 n을 부류의 개수를 나타내는 기호로 쓰고, n(1)·n(x)·n(y)가 주어졌을 때 n(xy)의 수적 상한과 하한을 구했습니다. 아래 표는 그 문제를 현대적인 2×2 분할표로 옮긴 것입니다.

02 · 불의 제안

교집합의 최대 인원과 최소 인원을 구합니다

교집합은 x와 y에 동시에 속하므로 두 집단 중 작은 쪽인 50명을 넘을 수 없습니다. 이것이 상한입니다. 한편 60명과 50명을 겹침 없이 놓으면 110명이 필요합니다. 전체는 100명이므로 적어도 10명은 겹쳐야 합니다. 이것이 하한입니다.

일반식으로 쓰면 max(0, n(x)+n(y)−n(1)) ≤ n(xy) ≤ min(n(x),n(y))입니다. 불의 원전은 상한을 두 집단 수 중 작은 값으로 설명하고, 하한 계산에서는 부류 수의 비음수 조건과 n(x)+n(y)−n(1)을 함께 다룹니다. 오늘의 max·min 표기는 그 내용을 한 줄로 정리한 현대적 표현입니다.

10 ≤ n(xy) ≤ 50

03 · 불의 제안을 표에서 확인하기

겹치는 인원을 바꾸어 네 칸이 모두 가능한 수인지 살펴보세요

가상 독서 프로그램 신청표전체 100명, 토론 x 60명, 글쓰기 y 50명은 고정합니다. 겹침 c를 바꾸면 다른 세 칸도 함께 바뀝니다.
30명
가능한 하한10
현재 겹침30
가능한 상한50
현재 합집합80
분할식인원가능 여부

9명을 선택하면 ‘둘 다 아님’이 −1명이 되어 불가능합니다. 51명을 선택하면 글쓰기만 신청한 사람이 −1명이 됩니다. 10명과 50명 사이에서는 네 칸이 모두 0 이상이고 합계가 정확히 100명이 됩니다.

04 · 표에서 얻은 발견

부분 정보는 하나의 답 대신 정확한 범위를 줄 수 있습니다

n(x)=60과 n(y)=50만으로 n(xy)를 30이라고 단정할 수 없습니다. 30은 가능한 값 가운데 하나이며, 두 조건이 독립이라는 추가 조건을 넣을 때 특별한 의미를 갖습니다. 이번 회차에서 확실히 말할 수 있는 것은 10명 이상 50명 이하라는 범위입니다.

범위 밖의 값은 단순히 드문 값이 아닙니다. 표의 어느 칸이 음수가 되거나 전체 합계가 맞지 않아 주어진 자료와 논리적으로 함께 성립할 수 없는 값입니다. 범위 안의 41개 정수는 현재 정보만으로는 모두 가능합니다.

계산 결과를 이렇게 설명해 보세요.
“겹침은 대략 30명”이라고 추측하기 전에 “전체 100명, x 60명, y 50명이므로 n(xy)는 10~50명이고, 정확한 값에는 교집합 집계가 더 필요하다”고 기록합니다.

05 · 오늘의 실제 적용

검색 결과와 대시보드 수치를 먼저 검산합니다

회원 명단에서 ‘뉴스레터 동의’ 60명과 ‘행사 신청’ 50명만 집계되었을 때, 두 조건을 모두 만족하는 대상은 10~50명입니다. 실제 AND 검색 결과가 8명이라면 원자료의 분모, 중복 제거, 미확인 처리 중 하나를 다시 확인해야 합니다. 55명이어도 두 번째 집단 전체보다 많으므로 바로 오류를 찾을 수 있습니다.

데이터베이스에서는 각 조건을 FILTER와 COUNT로 세고, 두 조건을 AND로 묶어 실제 교집합을 구할 수 있습니다. 범위 계산은 실제 쿼리를 대신하지 않습니다. 집계가 도착하기 전 용량을 계획하거나, 서로 다른 화면에서 가져온 합계가 함께 성립하는지 빠르게 감사하는 안전선으로 씁니다.

현대 검토 순서
① 같은 전체 N을 기준으로 한 두 집단인지 확인합니다. ② 하한 max(0,a+b−N)과 상한 min(a,b)를 계산합니다. ③ 실제 AND 집계가 범위 안인지 검사합니다. ④ 범위 안의 한 값을 사실처럼 채우지 않고, 정확한 교집합을 별도로 조회합니다.

06 · 바르게 쓰는 기준

인원수의 범위와 확률의 범위를 구별합니다

이번 표의 10~50은 100명 명단에서 가능한 사람 수입니다. 100으로 나누면 0.10~0.50이라는 명단 내부 비율 범위가 됩니다. 이 비율을 더 큰 모집단의 확률 범위로 읽으려면 표본 설계와 무작위 선택 같은 추가 전제가 필요합니다.

또한 ‘겹침이 30명일 수 있다’와 ‘겹침이 30명이다’는 다른 말입니다. 불의 방법은 정보가 부족할 때도 가능한 결론의 경계를 계산하도록 돕습니다. 정확한 한 값을 얻으려면 새로운 관찰이나 관계 조건이 필요합니다.

세 가지로 정리하기
불의 문제: 부분적인 부류 수에서 교집합의 가능한 한계를 찾기. 불의 제안: n(1)·n(x)·n(y)로 n(xy)의 상한과 하한을 계산하기. 오늘의 쓰임: 검색·명단·대시보드의 교집합 수가 가능한 범위인지 먼저 검산하기.

07 · 자료와 출처

불의 원전과 공식 기술 자료

  1. 조지 불, 『An Investigation of the Laws of Thought』(1854), 제19장 ‘Of Statistical Conditions’, 원서 229~231쪽 — n(1)·n(x)·n(y)와 n(xy)의 상한·하한 문제.
  2. Project Gutenberg, 『An Investigation of the Laws of Thought』 서지 페이지 — 전자본 제작·공개 정보.
  3. PostgreSQL 공식 문서, Aggregate Expressions — 조건별 행을 세는 COUNT와 FILTER 구문.
  4. PostgreSQL 공식 문서, WHERE Clause — 조건을 만족하는 행을 선택하는 방식.
  5. 조지 불 초상 판화 · Wikimedia Commons — 1865년 1월 21일 게재, 공개 영역.