이 단원 목차
1. 초기화가 하는 일 정하기
초기화는 두 입력 비트 상태를 모두 0으로 보냅니다. 출력만 보면 이전에 어느 상태였는지 알 수 없습니다. 두 메모리 상태의 에너지와 내부 엔트로피가 같고, 온도 의 열저장고를 사용하며 제어기는 처음 상태로 돌아간다고 가정합니다. 열저장고는 처음에 메모리와 상관되어 있지 않고, 연산 중 입력의 외부 기록을 사용하지 않습니다. 이런 조건은 메모리에서 줄어든 엔트로피가 어디로 이동하는지 규정합니다. Landauer의 계산 과정 비가역성 연구
2. 엔트로피 수지에서 하한 구하기
처음 상태가 1일 확률이 이면 자연로그로 정의한 이진 엔트로피는 입니다. 으로 둡니다. 완전한 초기화 뒤에는 입니다. 메모리의 다른 엔트로피 성분을 고정하면 메모리 엔트로피가 만큼 감소합니다. 하나의 열저장고를 쓰는 이상 모형에서 제2법칙은 다음 하한을 줍니다.
열저장고로 들어가는 열을 양수로 둡니다. 등호는 과정이 열역학적으로 가역적인 극한을 뜻합니다. 두 입력이 같은 확률이면 이고 입니다.
3. 가정을 하나씩 바꾸어 보기
초기 비트가 이미 확실하면 이진 엔트로피는 0입니다. 정보 감소에 따른 열 하한 항도 0입니다. 초기화 뒤에도 확률 로 상태 1이 남으면 같은 모형에서 엔트로피 감소량은 입니다. 두 입력이 같은 확률이고 일 때 무차원 감소량은 약 입니다. 허용 오차에 따라 수행한 초기화가 달라집니다.
4. 물리적 한계와 실험값 비교하기
300 K에서 두 상태가 같은 확률인 비트를 완전히 초기화할 때 열저장고가 받는 평균 열의 하한은 약 J입니다. 콜로이드 실험에서는 이중 우물 속 입자가 비트를 표현합니다. 제어 과정을 통해 우물을 바꾸어 입자가 한쪽에 남도록 합니다. 반복 실험으로 평균 소산을 추정하고, 제어를 느리게 한 극한을 와 비교합니다. 유한한 속도, 계측 회로, 초기화 제어에 추가 비용이 생길 수 있습니다. Bérut 외의 Landauer 원리 검증 실험
5. 균등 입력, 편향 입력, 초기화 오차 검산하기
from math import isclose, log
k_B, temperature = 1.380649e-23, 300
def entropy(p):
return -sum(x * log(x) for x in (p, 1 - p) if x > 0)
def heat_floor(p, error):
return k_B * temperature * (entropy(p) - entropy(error))
fair = heat_floor(.5, 0)
assert isclose(fair, k_B * temperature * log(2), rel_tol=1e-12)
assert 0 < heat_floor(.1, 0) < fair
assert 0 < heat_floor(.5, .1) < fair
assert heat_floor(0, 0) == 0
for p, error in [(.5, 0), (.1, 0), (.5, .1)]:
print(f"p={p:.1f}, error={error:.1f}, floor={heat_floor(p, error):.3e} J")
6. 계산 비용 주장에 포함된 연산 확인하기
이 논증은 정해진 물리 메모리 연산의 엔트로피 감소를 셉니다. 계산에 적용할 때는 어느 상태가 합쳐지는지, 각 확률을 어떻게 구했는지, 어느 기록이 남는지, 제어의 어떤 부분이 초기 상태로 돌아가는지 명시합니다. 실제 시스템의 에너지는 작업량과 측정 경계를 정해 실측합니다. 논리적으로 가역적인 업데이트도 실제 구현에서 열을 낼 수 있습니다.
설명할 수 있나요?
실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.
선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.