서론

필자는 본래 양자컴퓨터에 대하여 큰 관심이 없었다.

그도 그럴께 엄청나게 내용은 어려우면서 지금 당장 실현될꺼 같지는 않은 존재이기 때문에 관심을 안갖아도 크게 문제될께 없기 때문이다.

그러던중 논산 육군훈련소에서 양자컴퓨터(혹은 그와 비슷한 존재)에 대해 제대로 공부하신분을 만났고 그 순간부터 양자컴퓨터에 대한 관심이 깊어졌다.

이 포스트는 필자 본인이 오늘(2017-10-03)부터 매일 조금씩 양자컴퓨터에 대해 공부하는걸 적는 일종의 일기이다.

본론

2017-10-03

양자컴퓨터에대하여 본격적으로 관심을 가지고 찾아보기 시작하였다. 일단 육군훈련소에서 얻어온 키워드로는

Quantum Ising Model

Quantum Monte Carlo
이다.

전자의 경우 우리가 화학시간에 각 원자가 왜 업스핀과 다운스핀을 가지게 되는지에 대해 설명한 미시세계에 대한 모델이고 (물리학적인 내용이라서 이해는 못하고 그런가보다 하고 넘어갔다) 양자컴퓨터를 만들지도 못했으면서 뭐가 가능한지에 대하여 설명하는 모든 논문의 기반이 되는 모델이라고 한다. (Wikipedia)

후자의 경우 일반적인 몬테카를로 방법을 적용해 뭔가 퀀텀매지컬하게 한순간에 의미있는 결과를 출력하게 하는 방법이라 생각하고 접근했는데....... 전혀 이해를 못하겠다. 좀더 기초를 쌓고 봐야할 것 같다.

일단

Variational Monte Carlo
Diffusion Monte Carlo
Reptation Monte Carlo
Gaussian quantum Monte Carlo

를 주의깊게 찾아봐야할 꺼 같다.

좀 더 고전 컴퓨터적인 내용으로 와보면 양자게이트가 양자 컴퓨터를 컴퓨터과학적으로 이해하기 가장 쉬운 키워드가 아닌가 싶다.

오늘 찾아본 내용 + 전에 들었던 내용을 생각해보면 양자컴퓨터는 근본적으로 모든 Linear System을 순식간에 풀도록 유도해낼 수 있다는것 같다. 다음에 찾아볼때는 이부분을 좀 알아봐야할 꺼 같다.

만약 이게 사실이면 인공지는분야에서 아주 핵심적인 역할을 할 수 있을것으로 기대되는것 같지만 관련 내용이 적은거로 보아 뭔가 제약사항이 있는듯하다.

2017-10-05

양자컴퓨터의 연산은 기본적으로 관측이다.

일단 해결할 문제에 맞는 양자상태를 준비한뒤 (초기화과정)

방치하고 (Unitary Evolution이란 멋진 이름이 있지만 근본적으로는 인위적인 조작없이 자연스럽게 해를 구하도록 방치하는 것이다.)

바뀐 양자상태를 관측해서 그걸 그대로 해로 이용하는것이다.

다만 한계가 존재하는데 Qunatum Ising Model에 의하여 이게 가능한게 절대영도 혹은 무한대에 수렴하는 초고온밖에 없다는 것이다. 물론 현재 기술력으로는 양쪽다 불가능하므로 현재 연구방향은 극저온쪽으로 가서 어느정도 오차는 나오더라도 의미있는 값을 관측하는쪽으로 가고있다는것 같다.

이부분은 물리학적 얘기이고 컴과적인 얘기로 가보도록 하자.

현재 고전적인 튜링완전한 범용 컴퓨터가 하고있는 연산은 모두 근본적으로 AND OR NOR NAND같은 기본적인 논리연산게이트로 구성되어있다. 우리가 꿈에 그리는 범용 양자컴퓨터도 이와 유사하게 Quantum Gate 라는 기본적인 계산단위가 존재한다.

다만 고전적인 논리연산게이트가 2개의 정해진 input으로부터 하나의 output을 내놓는것과는 다르게 Quantum Gate는 행렬을 입력으로 받아 행렬을 출력으로 내놓는다고 한다.

언젠가 양자컴퓨터가 본질적으로는 Linear System에서 Eigen Value를 순식간에 구해낼수 있는 존재라는 소리를 들은적이 있는데, 아마 이게 그와 관련된 내용으로 이어지지 않을까 싶다.

(이게 진짜라면 선형대수문제는 그냥 바로 풀어버린다는건데...... 아마 이부분을 뉴럴넷 학습이라쓰고 최적해 찾기놀이에 적용시키면 정말 엄청난 존재가 되지 않을까 싶다. 랄까 그래서 찾아보고 있는거고)

양자컴퓨터 하면 언젠가 Qubit라는 단위를 들어본적 있을꺼라 믿는다.