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

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

불 대수로 사람 사이의 연결 계산하기

직접 연결을 정사각형 표에 적고, 곱셈은 ‘그리고’, 덧셈 자리는 ‘하나라도’로 읽어 두 단계 연결을 찾습니다.

관계 · 불 행렬 · 관계 합성 · 중간 연결

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

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

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

조지 불(George Boole)은 어떤 부류에 속하면 1, 속하지 않으면 0이 되는 선택 기호를 사용하고, 두 조건을 함께 만족하는 부분을 곱셈으로 계산했습니다. 이번에는 그 발상을 사람 사이의 연결표에 적용합니다. 불이 관계 행렬을 직접 만든 것은 아닙니다. 행과 열로 관계를 나타내고 불 연산으로 합성하는 방법은 불 대수가 확장된 후대의 응용입니다.

01 · 불이 풀려던 문제

한 사람씩 따라가지 않고 연결 전체를 계산할 수 있을까요?

가상의 학습 모임에 지민·서윤·도윤·하린 네 사람이 있습니다. “행의 사람이 열의 사람에게 자료를 요청할 수 있다”를 직접 연결이라고 하겠습니다. 지민이 서윤에게, 서윤이 도윤에게 요청할 수 있다면 지민은 서윤을 거쳐 도윤에게 닿습니다. 사람이 많아질수록 문장을 하나씩 따라가는 일은 빠뜨리기 쉽습니다. 불 논리는 이런 조건을 반복 가능한 계산 규칙으로 정리하는 출발점을 줍니다.

불이 해결하려 했던 더 넓은 문제는 언어로 표현한 부류와 조건을 기호 계산으로 옮기는 일이었습니다. 그의 곱셈 xy는 x이면서 y인 부분을 고르고, 각 선택 기호는 x²=x를 만족합니다. 연결표에서도 “첫 연결이 있고 두 번째 연결도 있다”를 곱으로 읽을 수 있습니다.

불의 제안과 이번 실험
불은 0·1 선택과 곱셈으로 조건의 동시 성립을 계산했습니다. 후대의 불 행렬은 그 연산을 여러 행·열에 반복해 관계의 합성을 한꺼번에 구합니다.

02 · 불의 연산을 행렬로 옮기기

중간 사람마다 곱하고, 하나라도 성립하면 1입니다

직접 연결 행렬을 A라고 하겠습니다. Aik=1은 i가 k에게 직접 이어짐을, 0은 직접 이어지지 않음이 확인되었음을 뜻합니다. 미확인은 0으로 넣지 않고 먼저 조사해야 합니다. 정확히 두 단계를 거쳐 i에서 j로 이어지는지는 모든 중간 사람 k를 확인해 계산합니다.

(A ⊙ A)ij = ORk(Aik AND Akj)

보통 행렬곱은 곱한 수를 더해 0, 1, 2처럼 경로 수를 남깁니다. 불 행렬곱은 각 곱을 AND로, 더하는 자리를 OR로 바꾸므로 가능한 중간 사람이 한 명 이상이면 결과가 1입니다. 따라서 결과 1은 “두 단계 경로가 존재한다”는 뜻이며 경로가 몇 개인지는 별도 개수표가 필요합니다.

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

직접 연결을 누르고 두 단계 결과를 비교하세요

가상 학습 모임의 연결 행렬행 → 열 방향입니다. 직접 연결표의 0·1을 누르면 두 단계 표, 중간 사람, 합계가 함께 바뀝니다.
직접 연결0
두 단계 연결0
서로 다른 두 단계 쌍0

직접 연결 A — 값을 눌러 바꾸세요

두 단계 연결 A ⊙ A — 자동 계산

‘한 줄 연결’에서는 지민→서윤→도윤과 서윤→도윤→하린이 보여 두 단계 결과에 지민→도윤, 서윤→하린이 생깁니다. 지민→하린은 세 단계이므로 A⊙A에는 아직 나타나지 않습니다. 표의 1을 누르며 중간 사람의 증거가 어떻게 바뀌는지 확인해 보세요.

04 · 표에서 얻은 발견

두 단계 1에는 반드시 중간 사람이라는 증거가 있습니다

결과 칸이 1이면 직접 연결 두 개가 동시에 1인 중간 사람을 적어도 한 명 찾을 수 있습니다. 결과 칸이 0이면 네 사람 가운데 어느 누구도 두 연결을 모두 만족하지 못합니다. 이처럼 불 행렬곱은 “가능한 모든 중간 후보를 검사하고 하나라도 성공하는가”를 한 식으로 묶습니다.

직접 연결 수와 두 단계 연결 수는 사람 수가 아닙니다. 둘 다 방향이 있는 순서쌍의 개수입니다. 같은 사람으로 돌아오는 대각선의 1도 한 쌍으로 셉니다. ‘모두 1’에서는 16개 직접 쌍과 16개 두 단계 쌍이 나오지만, 이것을 16명이라고 읽으면 안 됩니다.

발견을 검산하는 법
두 단계 칸 (i,j)을 고르고 중간 k를 찾습니다. Aik=1과 Akj=1을 함께 제시하면 결과 1의 증거가 됩니다. 어느 k도 두 칸을 함께 만족하지 않으면 결과는 0입니다.

05 · 오늘의 실제 적용

권한·이동·의존 관계에서 두 단계 후보를 찾습니다

조직의 승인 전달, 교통의 환승, 소프트웨어 모듈의 의존 관계처럼 방향이 있는 연결은 인접 행렬로 나타낼 수 있습니다. A⊙A는 직접 연결 하나를 더 거쳐 닿는 후보를 보여 줍니다. 예를 들어 직접 연락망에서 한 사람을 경유해 전달 가능한 대상을 찾거나, 부품 의존표에서 두 단계 뒤에 영향을 받는 모듈을 점검할 수 있습니다.

1962년 Stephen Warshall은 불 행렬을 갱신해 그래프의 추이적 폐쇄, 곧 몇 단계를 거치든 도달 가능한 모든 쌍을 구하는 알고리즘을 발표했습니다. 이번 표는 정확히 두 단계인 A²만 계산합니다. A, A², A³…을 합치거나 Warshall 방식으로 갱신해야 전체 도달 관계가 됩니다.

현대 적용 순서
① 관계의 방향과 1의 뜻을 고정합니다. ② 미확인과 확인된 0을 나눕니다. ③ 직접 행렬을 검수합니다. ④ 불 행렬곱으로 두 단계 후보를 찾습니다. ⑤ 실제 권한·안전 규칙은 중간 경로까지 확인한 뒤 적용합니다.

06 · 역사와 한계

불의 부류 계산과 후대의 관계 행렬을 구별합니다

불의 1847년과 1854년 저술은 부류와 명제를 선택 기호와 대수식으로 계산했습니다. 오늘의 불 행렬, 그래프 인접 행렬, 관계 합성 표기는 그 원리를 이어받은 후대의 수학입니다. Warshall의 1962년 논문도 불 이후 약 한 세기가 지난 연구입니다.

이 실험의 사람과 연결은 모두 가상입니다. 연결 1은 정해 둔 관계가 성립한다는 뜻입니다. 실제 사람 관계를 0·1로 단순화할 때는 자료 수집 동의, 갱신 시점, 누락값, 관계의 방향을 함께 기록해야 합니다.

세 가지로 정리하기
불의 문제: 언어의 조건을 선택 기호와 연산으로 계산하기. 후대의 제안: 직접 관계를 행렬에 적고 AND·OR 곱으로 합성하기. 오늘의 쓰임: 한 단계를 경유한 권한·환승·의존 후보를 빠짐없이 찾기.

07 · 자료와 출처

불의 원전과 불 행렬 연구

  1. 조지 불, “The Calculus of Logic”(1848) — 선택 기호, 전개, 기호 연산의 원전.
  2. 조지 불, 『An Investigation of the Laws of Thought』(1854) — 부류 연산과 논리 방정식의 체계.
  3. Stephen Warshall, “A Theorem on Boolean Matrices”(1962) — 불 행렬의 추이적 폐쇄 알고리즘 원논문.
  4. ACM Digital Library, Warshall 논문 기록 — Journal of the ACM 9권 1호, 1962년 서지.
  5. Discrete Mathematics: An Open Introduction, Relations — 관계의 방향·합성과 행렬 표현을 설명하는 공개 교재.
  6. 조지 불 초상 판화 · Wikimedia Commons — 1865년 1월 21일 게재, 공개 영역.