Skip to content

5 Reversible Computation and the Thermodynamics of Computing #1399

Description

@jongfeel

CHAPTER 5 가역 계산과 계산의 열역학

5.1 정보의 물리학

핵심 키워드:
원자의 움직임에 관한 물리학
열역학 법칙과 엔트로피 변화
원자가 표현하는 메시지 비트 1을 0으로 리셋하는데 드는 에너지는 없음
메시지 테이프를 연료로 사용하고 테이프에 들어있는 정보를 연료의 가치(그 연료로부터 얻을 수 있는 에너지의 양) 와 연관시키는 베넷 Bennett 의 방법

5.1.1 맥스웰의 도깨비와 측정의 열역학

스코틀랜드 출신 물리학자인 제임스 클럭 맥스웰이 19세기에 발견한 패러독스와 관련된 내용을 살펴보면 여러모로 도움이 될 것이다.
맥스웰의 도깨비 Maxwell’s demon 라는 이 패러 독스는 거의 100년 동안 많은 물리학자들을 괴롭히다가 최근에 와서야 해결되었다.
사실 찰스 베넷이나 롤프 란다우어 같은 사람들이 가역 계산이나 계산의 에너지에 대한 연구 끝에 정보와 엔트로피 사이의 관계를 밝혀낸 것도 어느 정도는 이맥스웰의 도깨비의 유혹에 빠졌기 때문이다.
또 한 가지 중요한 점은 그러한 연구 덕분에 측정의 역할에 대해서도 많은 것이 밝혀졌다는 것이다.

비교적 최근까지 도깨비가 분자의 위치를 측정하기 때문에 엔트로피가 증가한다는 것이 정설로 받아들여졌다.
어떻게든 분자를 관측하는 순간에는 불확실성, 즉 엔트로피는 절반으로 줄어들고 결과적으로 그 환경에는 엔트로피가 생성된다.

베넷은 맥스웰의 도깨비가 자신이 얻은 정보를 어떤 특정한 규칙에 따라 기록하고 삭제하기만 한다면 에너지 소모 없이 측정하는 게 가능하다는 것을 증명했다.
도깨비는 측정 전에 일종의 표준 상태(S)에 있어야 하며, 이는 불확실한 상태다.
어떤 분자가 움직이는 방향을 측정하고 나면 도깨비는 왼쪽으로 움직이는 상태 또는 오른쪽으로 움직이는 상태 중 하나로 들어간다(L, R ).
그리고 원래 S였던 상태를 L 또는 R로 덮어쓴다.
베넷은 에너지를 소모하지 않고도 이 과정을 수행할 수 있음을 보였다.

5.1.2 에너지와 섀넌의 정리

5.2 가역 계산과 계산의 열역학

실생활에서 쓰이는 엔진을 보면 움직이는 여러 부품이 서로 마찰하면서 열 에너지를 배출한다.
이런 식으로 손실되는 에너지는 상당히 크다.
하지만 많은 물리학자들이 좋아하는 카르노 기관Carnot’s engine에 대해서는 최대 작동 효율을 계산할 수 있다.
이를 연구하는 과정에서 많은 물리학자들이 열역학에 대해 새로운 것을 알아냈다는 사실이다.
여기에서 가장 중요한 것은 가역성reversibility이다.

컴퓨터에도 비슷한 아이디어를 적용할 수 있다.
컴퓨터가 가역적이라 충분히 신중하고 느리게 작동하면 에너지 소모량을 무한히 작게 줄일 수 있다.

5.2.1 가역 컴퓨터

입력선이 2개, 출력선이 1개 있을 때, 0이 출력될 수 있는 상태는 총 3가지 인데, 3가지 모두 결과가 출력될 수 있기 때문에 입력에 대한 정보를 비가역적으로 잃어버린 셈이 되어 AND 게이트는 비가역적이다.
마찬가지로 OR 게이트도 비가역적이지만, NOT 게이트는 가역적이다.
즉, 입력의 위상 공간이 출력의 위상 공간만큼의 크기로 줄어들기 때문에 엔트로피가 감소할 수밖에 없다.

조금 더 복잡한 것으로 프레드킨의 CONTROLLED CONTROLLED NOT (CCN)게이트가 있다.

출력 데이터를 다른 CCN 게이트에 집어넣으면 입력 데이터가 다시 나오기 때문에 이 게이트는 가역 게이트라고 할 수 있다.

데이터와 그 복사본이 테이프에 들어있는 메시지 형태로 저장된다고 하고, 원본 메시지를 알고 있을 때와 모르고 있을 때로 나눠 생각해 보자.
원본 메시지를 알고 있다면 테이프에 있는 내용을 삭제할 때 자유 에너지가 전혀 소모되지 않는다.
복사본도 마찬가지다.
필요하면 앞에서 얘기한 방법대로 데이터를 뒤집어 복원하면 된다.

원본 메시지를 모르고 있다면 테이프를 소거할 때 자유 에너지가 소모되지만, 복사본에 들어있는 내용을 소거할 때는 자유 에너지가 소모되지 않는다.
첫 번째 테이프에 들어있는 내용을 알고 있으므로 그 정보를 가지고 비트를 뒤집으면 되기 때문이다.

5.2.2 복사 연산

0과 1을 저장할 수 있는 원본 대상(모델 model)이 있다고 하자.
이 모델은 일종의 쌍안정bistable state물리 소자라고 한다.
마찬가지로 0 또는 1을 저장할 수 있는 또 다른 대상(복사기copier)이 있다고 하자.
쌍안정 소자는 퍼텐셜 우물potential well로 모형화할 수 있다.

image

5.2.3 물리적인 구현

앞서 살펴본 예로 다시 돌아가 그것을 물리적으로 어떻게 구현할 수 있을지 알아 보자.
여기에는 일종의 쌍안정 물리 소자가 필요하다.
두 개의 나침반 바늘, 즉 회전축 위에 올려진 자기 쌍극 두 개가 있다고 생각하면 나침반 바늘의 한쪽은 N극, 다른 쪽은 S극이며, 같은 극끼리는 서로 밀어내고 다른 극끼리는 서로 당긴다.
그리고 모델과 복사기 둘 다 각각 한 쌍의 나침반으로 이루어져 있다고 하자.

편의상 한 쌍의 나침반은 서로 결합되어 있어서 항상 같은 방향만을 가리킨다고 하면 바늘이 수평 방향과 이루는 각도를 나타내는 변수 φ 하나만 가지고도 각 시스템을 분석할 수 있다.

이 복사 방법은 모델의 상태를 전혀 모르는 상태에서도 작동한다.
그리고 천천히 수행하면 에너지가 소모되지 않는다는 것도 어렵지 않게 알 수 있다.

5.2.4 살아있는 컴퓨터

복사하는 데 필요한 에너지의 절대적인 최솟값은 없다.
하지만 어느 정도 이상의 속도로 복사를 해야 한다면 에너지 소모는 불가피하다.

5.3 계산: 에너지 비용 vs. 속도

지금까지 가역 계산의 예로 DNA를 복사하는 화학적 프로세스에 대해 알아보았다.
앞으로 가기도 하고 뒤로 가기도 하며 들쭉날쭉하긴 하지만, 어떤 방향성 덕분에 결국 계산(이 경우에는 복사)을 해내는 기계의 작동 방식이었다.
이 모형을 조금 더 일반화시켜 브라운 Brownian 개념을 사용해 계산 과정에서의 에너지 소모를 나타내는 공식을 도출해 보자.
이 공식은 일반적인 계산 과정에서의 에너지 소모 에는 적용되지 않지만, 적어도 이런 계산이 어떻게 이루어지는지를 보여줄 수는 있을 것이다.

5.4 일반적인 가역 컴퓨터

가역 게이트의 주된 제약 조건을 정리하면 다음과 같다.
우선 컴퓨터가 앞으로 작동하게 하려면 앞으로 가는 단계가 분명해야 한다.
즉, ‘go to’를 써서 어디론가 가려면 어디로 갈지 분명하게 알고 있어야 한다.
그런데 가역 컴퓨터에는 한 가지 중요한 조건이 추가된다.
뒤로 가는 단계도 분명해야 한다는 것이다.
어디로 돌아 가야 할지 모르는 상황이 생기면 절대 안 된다.
바로 이런 특징 때문에 가역 계산과 일반적인 비가역 계산 사이에 극명한 차이가 생기게 된다.

5.5 당구공 컴퓨터

실제로 계산을 할 수 있는 가역 컴퓨터의 예로 프레드킨, 토폴리 등이 고안한 간단한 컴퓨터를 살펴보자.
이 장치에서는 논리 게이트를 통과하는 전자 신호(비트)의 움직임을 한 평면 위에서 당구공이 움직이는 것으로 흉내 낸다.
컴퓨터로 발사되는 공은 입력 신호를, 컴퓨터에서 나가는 공의 분포는 출력 신호를 나타낸다.
공은 모두 평면 그리드 위에서 대각선 방향으로 움직이며 이상적인 고전 역학의 법칙을 따른다(즉, 마찰은 없고 모든 충돌은 완전 탄성 충돌이다).

5.6 양자 계산

원자 몇 개 정도의 크기에 불과한 아주 작은 컴퓨터를 만들고 싶다고 하자.
그렇다면 고전역학이 아닌 양자역학 법칙을 사용해야 할 것이다.

이상적인 양자역학계(아주 작은 것)에서 시작하고, 그 계가 둘 중 한 상태에 있을 수 있다고 가정하자.
들뜬 상태는 ‘업up’, 들뜨지 않은 상태는 ‘다운down’이라고 부르며, 이 두 상태는 양자계의 스핀을 나타낼 수도 있다.
업은 1, 다운은 0을 나타낸다.
이 양자역학계를 원자라고 부르기는 할 텐데, 꼭 원자가 한 개여야 하는 것은 아니고 더 복잡하거나 더 간단하게 전자 한 개(전자에도 두 개의 스핀 상태가 있음)가 될 수도 있음을 잘 기억해 두자.
이러한 원자들을 특정한 방식으로 엮어서 컴퓨터를 만들 수있다는 것이 바로 양자 컴퓨터의 기본 개념이다.

Metadata

Metadata

Assignees

Labels

2025Feynman Lectures on Computation Anniversary Ed파인만의 컴퓨터 강의 - 양자 컴퓨터를 고안한 천재가 들려주는 계산 이야기 | 20세기 최고의 물리학자가 남긴 마지막 강의, 2판

Projects

Status
Done

Relationships

None yet

Development

No branches or pull requests

Issue actions