Why are we building Quantum Computer?

J.H.·2022년 1월 21일
0

Quantum Computer

목록 보기
1/6
post-thumbnail

Prefix

이 글은 Coursera의 “The Introduction to Quantum Computing” 을 공부하고 정리한 내용입니다. Velog의 컨셉과는, 그리고 Computing이라는 말이 무색하게 이론적인 내용에 초점이 맞춰져 있습니다.

What the Computer do

Definition & Theoretical Background

양자 컴퓨팅을 만들어야 하는 이유에 대해서는 많은 이유가 거론되나, 이해가 쉽지 않습니다. 중첩이니 엃힘이니... 본 포스팅에서는 좀 더 쉬운 이유를 말하고자 합니다.

Computer의 정의를 생각해봅시다.

이름을 보면 “Compute하는 것” 이라는 뜻이죠? Computer는 Information을 Compute 해주는 장치입니다.

이번에는 Information과 Computation의 물리학적 정의를 생각해봅시다.

💡 Information: 어떤 시스템의 구분 가능한 states에 대한 해석

💡 Computation: 그러한 states에 대해서 유한한 시간 내에 행해지는 physical process

말이 현학적이고 어렵죠? 조금만 더 어렵게 해보겠습니다.

위 정의의 Information과 Computation을 활용한다, 의미있게 쓴다는 것은 어떤 것일까요? 바로 저 위의 두 정의를 measure하거나 save하는 것입니다. 이를 위해서는 두 요소를 quantify해야 합니다.

셰넌의 정의에 따르면 NN개 상태가 있는 시스템이 가질 수 있는 Information은

I=i=1NPilogb(Pi)I = - \sum^N_{i=1} P_i log_b(P_i)

위의 식으로 정의됩니다. ii번째 state에 대해서 PiP_i의 확률이 있고, 그거를 모두 적절히 계산해준 다음(로그 어쩌구 저쩌구) 더해준 값(시그마)이라고 보시면 되요.

설명도 성의없고 이해도 안될겁니다. 조금 더 special한 케이스로 풀어쓰겠습니다. 모든 state가 일어날 확률이 같은, equiprobable state입니다.

i,j,Pi=Pj=1/nI=i=1NPilogb(Pi)=i=1N1nlogbn=n1nlogbn=logbn\forall i,j, P_i = P_j =1/n \\ I = - \sum^N_{i=1} P_i log_b(P_i) \\ =\sum^N_{i=1} {1\over n} log_b n\\ = n*{1\over n}log_b n \\ =log_bn

모든 state의 확률이 같을 경우, 우리는 bb라는 값을 base로 가지는 로그를, 시스템 상태의 수(nn)에 취한 결과값을 정보량이라고 정의합니다.

Closer look to bits

bb의 값은 무엇이 되야 할까요?

bb의 값은, 어떤 값이 되어도 됩니다.

단 결과값에 대해서, 예를 들어 bb를 42라고 썼으면 결과값 xx에 대해

💡 System with N state의 정보량은 X입니다. 측정 단위는 42입니다.

라고 써주어야죠.

그리고 bb = 2의 값을 썼을 때, 우리가 익숙한 bit라는 단위로 표현되는 겁니다.

bit는 약속일 뿐이에요!

bb = 1이면 결과값이 무한으로 뻗어나가니까(까먹으셨다면 구글에 로그 그래프를 검색해보세요!) 1.1, 1.4보다 우리에게 익숙한 integer중 가장 작은 수로 표현한 정보량을 재는 단위일 뿐이에요.

독자분이 억지로 bb를 333으로 주셔도 되요.

제가

log333N=log2Nlog2333log_{333}N = {log_2N\over log_2333}

이렇게 바꿔버리면 되거든요.

요지는, bb의 값은 쉽게 살자는 거지 그리 중요치 않다는 겁니다.

만약 bb=ee (exponential number)로 썼다면 우리는 이걸 nat이라고 표현합니다.

참고로 bit = binary digit, nat = natural number digit의 약자입니다.

우리에게 익숙한 bit로 예시를 줘 볼까요?

log21=0,       log22=1log_21 = 0, \ \ \ \ \ \ \ log_22 =1

System의 State가 1개일때는 정보량이 없고,

System의 State가 2개일때는 정보량이 1이라는 뜻입니다.

nn비트의 시스템이란 뜻은 2n2^n개의 state가 있다는 뜻이죠.

여태까지는 수학이나 컴퓨터 이론적인 설명이었으니, 이거를 물리 시스템으로 바꿔 설명하겠습니다.

Computing in Physics

맨해튼 프로젝트로 유명한 물리학자 Leo Szilard의 사고 실험입니다. 아 그런거 관심 있는 분들은 아실거에요. 핵 반응이 그... 연쇄 폭팔로 일어나잖아요. 그래서 막 체르노빌 드라마 보면 흑연 넣었다 빼고 하고, 이 분이 그 흑연 기반의 chain reaction에 지대한 공을 주신 분입니다. 왜 이런 애기를 하냐, 핵 에너지, 이분,,, 추상적이거나 사고 속에서 존재한다고 생각한 정보를 에너지라는 물리량으로 환산한 분입니다. 아래 그림을 봅시다.

image

파티션이 쳐있는 박스 양쪽에는 피스톤이 달려있습니다. 안에는 어떤 입자가 단 하나 있고 그것의 온도는 T입니다. 가스가 왼쪽 방에 있으면 0, 오른쪽 방에 있으면 1으로 해석하기로 약속합시다.

아, 참고로 파티션은 구멍이 숭숭 나서 입자가 자유롭게 다닐 수 있습니다. 아예 닫혀있으면 closed system 두 개가 되니 system with 2 states를 표현하기 위해 파티션이라는 단어를 썼다고 이해해 주세요 🙂

안의 입자가 둥둥 떠다니겠죠? 이래서는 0인지 1인지 모릅니다...

저 System에 0의 값을 주겠습니다.

image

입자가 어딨는지 알 수 있습니다. 우리에게 정보가 생겼습니다.

그런데, 얼마의 에너지를 들여서 정보를 얻은 걸까요? 이는 Boltzman의 Entropy 공식으로 알 수 있습니다.
Boltzman Entropy에 대한 설명은 다른 포스팅으로 대신하겠습니다. 하여튼 정보를 얻는 에너지는

E=kbTlnV1V2E = k_bTln{V_1\over V_2}

만큼이 듭니다. 참고로 kbk_b는 특정 상수, V1V1은 원래 부피이고 V2V2는 나중의 부피입니다. 여기서는 부피가 절반으로 줄었으니 V1V2V1 \over V2가 2가 되겠네요.

그럼 우리가 익숙한 NOT게이트를 위해서는 얼만큼의 일이 들까요? NOT 게이트, 즉 0을 1로 바꿔야 합니다.

image

이전 부피랑 이후의 부피가 똑같죠? 이론적으로는 에너지가 들지 않습니다. 피스톤은 누가 움직였나? 라고 물어보신다면 그건 System 바깥에서 해준 일이라 우리의 박스는 신경쓰지 않습니다.

에너지로 정보를 만들었으니, 그 반대도 성립할까요?

image

입자가 피스톤을 밀면서 일을 할겁니다. 이렇게 되면 다시, 우리 입자가 어디있는지 모르게 되죠? 즉 정보가 사라지는 겁니다. 정보가 에너지로 변환됐네요!

Why we need small processor

우리는 정보를 저장하고, NOT gate를 통해 정보의 computation도 행했습니다. 그때의 base element of computation process는 입자가 있는 방이었죠.

사고 실험이 아닌 현실이라 생각할 때, 저게 엄청나게 크면 어떻게 될까요?
State 몇 개만 저장하려 해도 엄청나게 큰 volume이 필요할거고, 바꾸는데 inertia도 커서 어떤 compute를 할 때마다 많은 energy를 dissipate 할 것입니다.

현재 컴퓨터에 사용되는 base element, 즉 비트를 저장하는 computer processor는 수소 원자보다 고작 200배 큰 것으로 알려져 있습니다. Processor는 점차 작아지는 쪽으로 발전하고 있고, 언젠가는 p-n junction보다 작은 "버튼"이 필요해 질 날이 올겁니다.

더욱 작은 computation element, 이 점만 해도 왜 산업과 학계에서 quantum computer를 주목하는지 알 수 있으실거라 생각합니다.

ref:

https://stats.stackexchange.com/questions/87182/what-is-the-role-of-the-logarithm-in-shannons-entropy
https://www.geogebra.org/m/kcNnPTA7

profile
Junior Scientist

0개의 댓글