PART I · 01—5
사례에서 출발하기
스위치 두 개를 연결하는 일이 어떻게 논리학의 문제가 되나요?
작은 전시 모형의 양 끝을 연결한다고 생각해 봅시다. 접점 A와 B가 모두 닫혀 있을 때만 연결되게 만들 수도 있고, 둘 가운데 하나만 닫혀 있어도 연결되게 만들 수도 있습니다. 접점은 전기가 통하는 연결 부분을 뜻하며, 닫히면 길이 이어지고 열리면 그 부분의 길이 끊깁니다.
두 접점을 한 줄에 놓는 직렬 연결에서는 둘 다 닫혀야 합니다. 두 갈래 길에 하나씩 놓는 병렬 연결에서는 어느 한 갈래가 이어지면 됩니다. 같은 부품 두 개로도 ‘둘 다’와 ‘하나 이상’이라는 서로 다른 조건을 만들 수 있습니다.
클로드 엘우드 섀넌(Claude E. Shannon, 당시 미국 MIT 전기공학 연구조교)의 1938년 논문은 스위칭 회로를 기호로 다루었습니다. 이 글에서는 우리가 만든 전시 모형을 따라, 원하는 조건을 식으로 쓰고 그 식에 맞는 접점 연결을 찾겠습니다. 실제 전원·전압·전류량은 계산하지 않는 학습 모형입니다.
직렬: 두 접점을 모두 지나야 함
한 길의 중간이 끊겼으므로 양 끝이 연결되지 않습니다.
병렬: 한 갈래만 이어져도 됨
A가 놓인 갈래를 통해 양 끝이 연결됩니다.
원문을 보니 닫힌 회로가 0이네요. 닫혀서 통하면 1이라고 생각했는데요?
숫자에 어떤 상태를 붙일지 먼저 약속해야 합니다. 원문의 막힘 값(hindrance)은 닫혀서 통하는 회로에 0, 열려서 끊긴 회로에 1을 붙입니다. 이 글에서는 그 값을 H라고 부르겠습니다. 실제 저항의 크기를 옴 단위로 표시한 값은 아닙니다.
한편 이 글의 현대식 설명에서는 도통 값 c를 사용합니다. 도통은 양 끝이 연결되어 전기가 통할 수 있다는 뜻입니다. c=1이면 도통, c=0이면 개방입니다. 두 값은 H=1−c라는 관계를 갖습니다. 같은 접점이 닫혀 있을 때 H=0과 c=1이 동시에 맞습니다.
이후 A·B·C라는 입력은 특별히 표시하지 않는 한 도통 값입니다. 원문의 표기를 설명할 때만 H와 원문의 연산 기호를 쓰겠습니다. 접점의 물리적 상태를 먼저 읽고 숫자를 붙이면, 0과 1이 뒤집혀도 연결 조건을 혼동하지 않을 수 있습니다.
| 접점 상태 | 현대 도통 값 c | 원문 막힘 값 H |
|---|---|---|
| 닫힘 · 통하는 길 | 1 | 0 |
| 열림 · 끊긴 길 | 0 | 1 |
| 두 값의 관계 | c=1−H | H=1−c |
직렬 연결은 두 표기에서 각각 어떻게 계산하나요?
도통 값으로 읽으면 직렬의 출력은 A∧B입니다. 기호 ∧는 두 조건이 모두 참이라는 뜻입니다. A=1, B=0을 넣으면 1∧0=0입니다. A를 통과해도 B에서 막히므로 회로 전체는 연결되지 않습니다.
원문의 막힘 값은 같은 상황을 HA=0, HB=1로 적습니다. 직렬에서는 둘 중 하나라도 막혀 있으면 전체가 막힙니다. 그래서 원문의 식은 HA+HB이고, 여기의 +는 두 막힘 조건을 합치는 불 논리의 OR입니다.
따라서 같은 회로에 대해 도통 값은 0, 막힘 값은 1이 나옵니다. 서로 모순되는 결과가 아닙니다. 각 값이 대답하는 질문이 ‘통하는가?’와 ‘막혔는가?’로 다르기 때문입니다. 이후 식을 회로로 읽을 때도 어떤 값을 쓰는지 먼저 확인해야 합니다.
통하는가?
1∧0=0
두 접점이 모두 닫힌 상태가 아닙니다.
막혔는가?
0+1=1
하나 이상의 접점에서 길이 끊깁니다.
병렬에서는 막힌 접점이 하나 있어도 괜찮은 이유가 무엇인가요?
병렬 회로는 양 끝을 잇는 길을 두 갈래로 마련합니다. A가 닫히고 B가 열려 있으면 B 쪽 길은 끊겼지만 A 쪽 길은 이어집니다. 도통 값으로는 A∨B이며, ∨는 적어도 하나가 참이라는 뜻입니다. 1∨0=1이므로 전체가 도통합니다.
이 회로 전체가 막히려면 두 갈래가 모두 막혀야 합니다. 원문의 막힘 값에서는 HAHB로 나타냅니다. 이번 입력은 0·1=0입니다. 막힘 값 0은 회로 전체가 닫혀 있다는 뜻이므로 앞의 도통 값 1과 같은 상태를 말합니다.
첫 실험에서 접점 A와 B를 움직인 뒤 직렬과 병렬을 바꾸어 보세요. 마지막에는 접점 상태를 그대로 두고 표기만 전환해 보세요. 표기 전환은 결과 숫자를 반전시키지만 연결된 경로를 바꾸지 않습니다. 연결 방식의 변경과 숫자 약속의 변경을 따로 관찰하는 것입니다.
A만 닫힘
도통 값 1∨0=1
막힘 값 0·1=0
A와 B 모두 열림
도통 값 0∨0=0
막힘 값 1·1=1
A·B 선택기는 도통 값으로 적었습니다. 물리적 접점 상태를 정한 뒤, 직렬·병렬과 결과 표기를 바꾸어 보세요.
기본 상태는 A 닫힘, B 열림, 직렬입니다. 도통 값은 1∧0=0이며 회로가 끊깁니다. 원문 막힘 값으로는 0+1=1입니다. 같은 두 접점을 병렬로 연결하면 도통 값 1, 막힘 값 0이 됩니다.
몇 번 눌러 보니 맞아요. 이 정도면 두 연결의 규칙을 확인한 건가요?
A와 B가 각각 0 또는 1만 가질 수 있다면 가능한 입력은 네 가지입니다. (0,0), (0,1), (1,0), (1,1)을 모두 적을 수 있습니다. 이 네 행에서 출력 값을 계산하면, 우리가 정한 두 상태 모형의 모든 경우를 확인합니다.
직렬과 병렬은 첫 행과 마지막 행에서 같은 결과를 냅니다. 둘 다 열린 상태와 둘 다 닫힌 상태만 실험하면 두 연결의 차이를 놓치게 됩니다. 하나만 닫힌 가운데 두 행에서 결과가 달라집니다. 따라서 관찰하기 편한 입력만 고르면 중요한 차이를 빠뜨릴 수 있습니다.
이 표는 두 입력이 이진 상태라는 범위 안에서 완전합니다. 접점의 중간 저항, 시간 지연, 고장처럼 모형에 넣지 않은 상태까지 확인한 것은 아닙니다. ‘모든 경우’라고 말할 때는 무엇을 가능한 입력으로 정했는지도 함께 말해야 합니다.
| A B | 직렬 A∧B | 병렬 A∨B |
|---|---|---|
| 0 0 | 0 | 0 |
| 0 1 | 0 | 1 |
| 1 0 | 0 | 1 |
| 1 1 | 1 | 1 |
PART II · 06—10
조건과 추론 따라가기
A와 B가 둘 다 닫히면 길이 두 개인데, 병렬의 결과는 왜 2가 아닌가요?
지금 출력으로 묻는 것은 이어진 갈래의 개수가 아닙니다. 양 끝이 연결되었는지를 묻습니다. 두 갈래가 모두 이어지면 연결되어 있다는 답은 여전히 1입니다. 한 갈래만 이어져도 출력은 1입니다.
따라서 불 논리에서는 1∨1=1입니다. 원문의 +도 OR에 해당하므로 1+1=1이 됩니다. 같은 + 기호를 사용하더라도 여기서는 정수 1과 1을 더해 2를 얻는 산술 연산을 뜻하지 않습니다. 기호의 모양만 보고 계산 규칙을 옮길 수 없는 이유입니다.
갈래 수, 전류량, 부품 수를 알고 싶다면 각각 다른 변수를 도입해야 합니다. 이 글에서는 도통 출력과 접점 수를 따로 표시합니다. 도통 결과가 같다는 말에서 전류량이나 모든 물리적 특성까지 같다고 결론 내리지 않겠습니다.
이어진 갈래는 몇 개인가?
2개
갈래를 세는 자연수입니다.
양 끝이 연결되었는가?
1∨1=1
도통 여부를 판정하는 불 값입니다.
A와 B를 지난 길, A와 C를 지난 길이 있으면 A를 한 번만 놓아도 되나요?
두 갈래 중 위쪽에는 A와 B, 아래쪽에는 A와 C를 직렬로 놓아 봅시다. 전체의 도통 식은 (A∧B)∨(A∧C)입니다. 두 A는 별개의 접점이지만 같은 제어 상태를 공유합니다. A=1이면 둘 다 닫히고 A=0이면 둘 다 열리는 이상적인 접점들입니다.
어느 갈래를 통하든 A가 닫혀 있어야 합니다. 그러므로 갈라지기 전에 공통 접점 A를 두고, 그 뒤를 B와 C의 병렬로 만들 수 있습니다. 이 식은 A∧(B∨C)입니다. 앞 회로의 접점은 네 개, 뒤 회로의 접점은 세 개입니다.
접점을 하나 줄였다는 사실과 출력이 같다는 사실을 함께 확인해야 합니다. 부품이 줄었다는 이유만으로 올바른 변형이 되는 것은 아닙니다. 또한 여기서 센 것은 접점의 수이며, 릴레이 코일의 수나 가격을 계산한 것이 아닙니다.
전: 접점 4개
(A∧B)∨(A∧C)
후: 접점 3개
A∧(B∨C)
두 회로가 같은지는 그림만 보고 믿어도 되나요?
A를 기준으로 두 경우로 나누면 확인할 수 있습니다. A=0이면 원래 회로의 두 갈래가 각각 A에서 끊깁니다. 변형한 회로도 갈라지기 전 A에서 끊깁니다. 따라서 B와 C가 무엇이든 양쪽의 출력은 0입니다.
A=1이면 원래 회로의 A 접점들은 통과할 수 있습니다. 남는 조건은 B 또는 C 가운데 하나 이상이 닫혔는지입니다. 변형한 회로도 A를 통과한 뒤 B와 C의 병렬을 만나므로 같은 조건 B∨C가 남습니다.
A는 0 또는 1이므로 이 두 경우가 전부입니다. 따라서 이 모형에서 (A∧B)∨(A∧C)=A∧(B∨C)입니다. 다음 실험은 A·B·C의 8가지 조합도 모두 계산합니다. 하나의 현재 입력에서 일치하는지와 전체 입력에서 동치인지를 구별해 표시합니다.
A=0일 때
원래: (0∧B)∨(0∧C)=0
변형: 0∧(B∨C)=0
B·C에 관계없이 일치
A=1일 때
원래: (1∧B)∨(1∧C)=B∨C
변형: 1∧(B∨C)=B∨C
남는 조건도 일치
그냥 아래쪽 A만 없애도 접점은 세 개잖아요. 그것도 괜찮지 않나요?
아래쪽 A만 지우면 식은 (A∧B)∨C가 됩니다. 이제 아래쪽 C가 닫히면 A의 상태와 관계없이 길이 이어집니다. 공통 구간에 A를 남긴 앞의 변형과는 연결 조건이 다릅니다.
A=0, B=0, C=1을 넣어 봅시다. 원래 회로에서는 두 갈래의 A가 모두 열려 있으므로 출력이 0입니다. 아래쪽 A를 지운 후보에서는 C만으로 이어진 경로가 생겨 출력이 1입니다. 같은 입력에서 다른 결과가 나오므로 이 한 가지 반례로 동치가 아님을 알 수 있습니다.
다른 입력에서 일치할 수 있다는 사실은 반례를 없애지 않습니다. 실험에서 변형 방식을 바꾸어 보세요. 두 후보 모두 접점 수는 세 개이지만, 올바르게 공통 A를 둔 후보만 8개 입력 전체에서 원래와 일치합니다.
원래: 출력 0
위·아래 경로가 모두 끊깁니다.
A 하나를 지운 후보: 출력 1
아래 경로에서 A 조건이 사라졌습니다.
공통 A를 남기는 올바른 변형과 아래쪽 A만 지우는 후보를 비교합니다. 현재 입력뿐 아니라 전체 8개 입력의 차이도 계산합니다.
기본 A=0, B=0, C=1에서는 원래 회로와 공통 A를 둔 후보가 모두 출력 0입니다. 공통 A를 둔 변형은 8개 조합 모두 일치합니다. 아래쪽 A만 지운 후보는 (0,0,1)과 (0,1,1)에서 출력이 1이 되어 원래와 다릅니다.
A가 열렸을 때만 닫히는 접점도 식으로 나타낼 수 있나요?
도통 값 A와 반대 값을 갖는 접점을 ¬A라고 쓰겠습니다. A=1이면 ¬A=0, A=0이면 ¬A=1입니다. 기호 ¬는 부정, 즉 참과 거짓의 반전을 뜻합니다. 원문은 같은 반전 연산을 작은 따옴표 모양의 프라임으로 표시합니다.
모형에서는 하나의 제어 상태에 따라 정반대로 움직이는 두 접점을 생각합니다. 한쪽이 닫힐 때 다른 쪽은 열립니다. ¬A는 눈앞의 도선에 기호 하나를 붙여 전류의 방향을 뒤집는다는 뜻이 아닙니다. 반대 조건에서 닫히는 접점을 지정하는 표기입니다.
반대 상태를 사용할 수 있으면 ‘A이면서 B는 아님’ 같은 조건도 만들 수 있습니다. 다만 이 글의 계산은 두 접점이 지연 없이 반대 상태가 된다고 가정합니다. 실제 전환 중의 움직임은 뒤에서 따로 다루겠습니다.
제어 A=0
A는 열림, ¬A는 닫힘입니다.
제어 A=1
A는 닫힘, ¬A는 열림입니다.
PART III · 11—15
결론의 범위 확인하기
두 신호 중 정확히 하나가 켜졌을 때만 연결하려면 무엇부터 적나요?
먼저 ‘정확히 하나’가 요구하는 네 가지 출력을 적겠습니다. A=0, B=0이면 아무 신호도 없으므로 출력은 0입니다. (1,0)과 (0,1)에서는 하나만 있으므로 출력이 1입니다. (1,1)에서는 두 신호가 함께 있으므로 출력은 0입니다.
이 조건은 배타적 논리합, 흔히 XOR이라고 부릅니다. 단순한 ‘하나 이상’과는 마지막 행에서 다릅니다. 일상어의 ‘또는’은 상황에 따라 둘 다를 허용하거나 제외하므로, 회로를 만들기 전에 여기서는 어느 뜻인지 분명히 적어야 합니다.
이번 모형의 요구는 이 네 행으로 정해집니다. 앞으로 만들 회로가 모든 행과 맞는지 비교하면 됩니다. 원문에 제시된 장치의 재현이라고 주장하지 않고, 원전의 기호 방법으로 우리가 새 요구를 구현하는 예를 살펴보겠습니다.
| A B | 1인 입력의 수 | 요구 출력 |
|---|---|---|
| 0 0 | 0개 | 0 |
| 0 1 | 1개 | 1 |
| 1 0 | 1개 | 1 |
| 1 1 | 2개 | 0 |
표에서 출력이 1인 두 행을 실제 접점으로 어떻게 옮기나요?
출력이 1인 첫 행은 A=1, B=0입니다. 이 조건은 A∧¬B로 쓸 수 있습니다. A 접점과 반대 B 접점을 직렬로 놓으면 됩니다. 둘째 행 A=0, B=1은 ¬A∧B이며, 반대 A 접점과 B 접점을 직렬로 놓습니다.
둘 중 어느 행이든 만족하면 연결되므로 두 직렬 경로를 병렬로 합칩니다. 전체 식은 (A∧¬B)∨(¬A∧B)입니다. A=1, B=0에서는 위 경로가 이어지고, A=0, B=1에서는 아래 경로가 이어집니다.
A=B=0이면 각 경로에 열린 접점이 하나씩 있습니다. A=B=1이어도 반대 접점들이 열려 두 경로가 모두 끊깁니다. 따라서 네 행 전체에서 요구와 일치합니다. 실험은 선택한 입력의 접점 그림과 모든 입력의 비교표를 함께 보여 줍니다.
A=1, B=0인 행 → A∧¬B라는 직렬 경로
A=0, B=1인 행 → ¬A∧B라는 직렬 경로
둘 중 한 조건이면 연결 → 두 경로의 병렬 (A∧¬B)∨(¬A∧B)
배타적 선택 회로와 단순 병렬을 같은 요구 표에 대조합니다. A와 B가 함께 1인 경우를 꼭 확인해 보세요.
기본 A=B=1에서 요구 출력은 0입니다. XOR 회로는 두 반대 접점이 열려 출력 0으로 일치합니다. 단순 병렬은 출력 1이므로 불일치합니다. XOR 회로는 4개 입력 모두, 단순 병렬은 3개 입력만 요구와 일치합니다.
A와 B를 병렬로만 놓으면 더 간단한데, 무엇이 잘못되나요?
A와 B를 단순 병렬로 놓은 식은 A∨B입니다. 이 회로는 (0,0), (0,1), (1,0)에서 앞의 요구와 같은 출력을 냅니다. 네 행 가운데 세 행만 보면 올바른 후보처럼 보일 수 있습니다.
그러나 A=B=1을 넣으면 단순 병렬은 두 경로가 모두 이어져 출력이 1입니다. 요구는 정확히 하나만 1인 경우를 허용하므로 출력이 0이어야 합니다. 반대로 XOR 회로에서는 ¬A와 ¬B가 모두 열려 두 경로가 끊깁니다.
실험의 후보를 ‘단순 병렬’로 바꾸고 입력을 (1,1)로 놓으면 이 차이를 볼 수 있습니다. 목적이 ‘하나 이상’으로 바뀌었다면 단순 병렬이 맞습니다. 후보를 평가할 때는 처음의 요구를 유지하는지, 요구 자체를 바꾸는지도 구별해야 합니다.
정확히 하나: 출력 0
두 반대 접점이 각 경로를 끊습니다.
하나 이상: 출력 1
함께 켜진 경우까지 허용합니다.
모든 입력에서 맞으면 실제 접점이 움직이는 순간에도 항상 맞나요?
앞의 표는 접점들이 정해진 상태에 도달해 있다고 가정합니다. 예를 들어 A와 ¬A를 병렬로 놓으면 논리식 A∨¬A는 항상 1입니다. 그러나 실제 두 접점이 전환할 때 한쪽이 먼저 열리고 다른 쪽이 나중에 닫힌다면, 잠깐 둘 다 열린 상태가 생길 수 있습니다.
그 순간의 두 물리적 접점은 서로의 정확한 부정이 아닙니다. 따라서 같은 입력 A에 대해 도통 값이 언제나 A와 ¬A라는 앞의 가정이 깨집니다. 아래 그림은 그런 전환을 상상한 설명용 순서이며, 특정 릴레이의 측정값이나 실제 지연 시간을 제시한 것이 아닙니다.
우리 실험은 이상적인 동시 전환 모형만 계산합니다. 실제 장치를 검토하려면 접점의 전환 순서와 지연, 바운스, 전기적 정격 등을 별도로 다루어야 합니다. 여기의 도통 진리표만으로 실제 장치의 모든 동작을 보장했다고 말할 수는 없습니다.
| 가상 순서 | 첫 접점 | 반대쪽 접점 | 병렬 출력 |
|---|---|---|---|
| 전환 전 | 열림 0 | 닫힘 1 | 1 |
| 접점 사이의 틈 | 열림 0 | 열림 0 | 0 |
| 전환 후 | 닫힘 1 | 열림 0 | 1 |
다른 스위칭 문제를 만났을 때는 어디서부터 시작하면 좋을까요?
먼저 입력이 무엇인지, 입력마다 어떤 출력이 필요한지 적어 보세요. ‘또는’처럼 여러 뜻으로 읽힐 수 있는 말은 허용하는 경우를 표로 밝혀 두는 편이 좋습니다. 이번에는 정확히 하나라는 요구를 네 행으로 풀어 쓴 뒤 회로를 만들었습니다.
다음에는 숫자의 뜻과 연산을 고정합니다. 이 글의 도통 값에서는 직렬이 ∧, 병렬이 ∨입니다. 식을 바꾸어 접점을 줄였다면, 처음 회로와 새 회로가 모든 허용 입력에서 같은지 확인합니다. 하나라도 다른 입력이 나오면 그 반례를 따라 어떤 조건이 사라졌는지 찾아봅니다.
마지막으로 어떤 가정에서 같다고 말했는지 남겨야 합니다. 이진 접점, 같은 제어 상태를 공유하는 접점, 지연 없는 반대 전환이 이번 계산의 조건이었습니다. 요구·표기·동치 확인·가정을 함께 적으면, 결과를 읽는 사람이 무엇을 확인했고 어디부터 추가 검토가 필요한지 알 수 있습니다.
요구 — 어떤 입력 조합에서 양 끝이 연결되어야 하는가?
표기 — 1이 도통인가, 막힘인가? 각 연산은 무엇인가?
구현 — 조건식의 ∧·∨·¬가 어떤 접점을 뜻하는가?
검증 — 모든 허용 입력에서 요구와 일치하는가? 반례는 없는가?
범위 — 상태·시간·물리적 특성 가운데 무엇을 모형에 포함했는가?
함께 읽은 원전
원전의 주장, 현대적인 표기와 교육용 사례를 각 문답의 출처 메모에서 구분했습니다.
- Claude E. Shannon (1938), A Symbolic Analysis of Relay and Switching Circuits ↗
Caltech가 제공하는 논문 전문. PDF 첫 페이지 §I의 합성 문제, 2–7쪽 §II의 막힘 값·직렬/병렬·부정·불 연산·동치·접점 전환 가정을 대조했습니다. 도통 값 c, 전시 모형, 세 실험과 반례는 이 글의 교육용 구성입니다.
- 논문 식별자 · DOI 10.1109/T-AIEE.1938.5057767 ↗
1938년 발표 논문의 서지 식별 링크입니다. 본문의 원전 해석에는 위 공개 전문을 사용했습니다.
국가 분류의 근거: 원논문 첫 페이지의 저자 주석은 섀넌을 미국 케임브리지 MIT 전기공학과 연구조교로 소개합니다. 논문에 명시된 연구 활동 장소를 따라 미국편으로 분류합니다.
편집 · LTCT KOREA. 문헌 기반의 학습용 대담이며 실제 인터뷰를 기록한 글이 아닙니다.
