* 본 포스팅은 서울대학교 김태현 교수님의 '양자 컴퓨팅과 양자 암호 기술의 현재와 미래' 강의를 참고하여 작성 되었습니다.
양자 시뮬레이터는 실제 양자 역학을 말 그대로 '시뮬레이팅'하기 위함이다. 다시 말해, 가상의 환경에서 양자 역학 관련 실험을 해본다는 것인데, 과연 어떻게 시뮬레이팅하는 것일까? 또한 단열 양자 컴퓨터는 머신러닝 분야에도 활용된다고 한다.
이번 포스팅에서는 양자 컴퓨팅 중 양자 역학에 이용된다는 양자 시뮬레이팅이 무엇인지 알아보자.
어떻게 시뮬레이팅하는가?
스핀(Spin)이란, 입자의 방향성을 나타내는 성질이다. 특정 입자는 위와 아래 뿐 아니라 여러 방향을 가질 수 있다. 하지만 대각선방향의 빛이 가로방향의 빛과 세로방향의 빛의 합인 것과 같이, 결국 위(N극)와 아래(S극)의 중첩이라고 볼 수 있다.
입자의 방향성이 중첩이 되어있기 때문에 스핀을 가지고 실험하는 것은 굉장히 어렵다. 한편 양자 컴퓨터는 Qubit으로 이루어져 있고, 하나의 Qubit은 0과 1의 중첩을 가질 수 있다. 뭔가 감이 오는가? Qubit이 원자의 스핀과 비슷한 성질을 가진다!
따라서 하나의 원자의 스핀을 하나의 Qubit으로 대응시키면 된다. 이를 통해 양자 시뮬레이팅이 가능해진다. 특히나 Qubit은 제어가 쉽기까지 하다. 이처럼 Qubit을 이용한 양자 컴퓨터를 활용해 양자 역학 문제를 풀 수 있다.
왜 고전 컴퓨터가 문제가 될까?
단일 입자의 중첩된 양자의 상태를 나타내기 위해서는 'a|0> + b|1>' 식에서 알 수 있듯 계수 a와 계수 b를 알고 있어야 한다. 다시 말해, 특정 원자의 상태에 대한 계수 정보를 알고 있어야 한다는 말이다. 만약 2개의 입자의 중첩된 양자의 상태를 나타내기 위해서는 a|00> + b|01> + c|10> + d|11>과 같이 계수 a, b, c, d를 알아야 한다.
만약 N개의 입자의 중첩된 양자의 상태를 나타내기 위해서는 얼마나 많은 계수를 알아야 할까? 이전에 계산했던 논리를 적용해보면 2^N개의 계수를 알고 있어야 한다. 만약 52개의 입자의 양자 상태를 나타내려면? 2^52 개의 계수 저장이 필요하다. 고전 컴퓨터의 경우 하나의 계수를 1Byte라고 했을 때, 2^52 Byte = 4Peta Byte가 필요하다. 현재 세계 최고의 슈퍼컴퓨터의 용량이 4.8Peta Byte이다. 입자의 개수가 53개만 되더라도 세계 최고의 슈퍼컴퓨터로도 계산이 불가하다.
양자 컴퓨터는 어떤가?
양자 컴퓨터의 경우, 52개 입자 상태를 보려면 52개의 Qubit만 있으면 된다. 만약 53개 입자 상태를 보려면 53개의 Qubit만 있으면 된다. 고전 컴퓨터에 비해 입자 개수가 증가하는 것에 드는 노력이 덜하다. 왜냐하면 1개의 Qubit만 추가해주면 되기 때문이다. 물론 현대 기술로 아직 Qubit 1개를 추가하는 것이 어렵긴 한 실정이지만 그래도 이러한 기술이 상용화가 된다면, 다시 말해 1개의 Qubit을 추가하는 것이 식은죽 먹기가 되는 날이 온다면, 양자 역학의 분야에서 이는 굉장한 혁신이다.
참고) 양자 우월성? (Quantum Supremacy)
고전 컴퓨터로 해결할 수 없는 문제를 양자 컴퓨터가 해결할 수 있다고 주장하는 것. 53개의 Qubit을 갖는 양자 컴퓨터는 결과를 200초만에 예측할 수 있다고 한다. 슈퍼컴퓨터의 경우 (Google이 추정하길) 1만년이 걸릴 것이라고 한다. (IBM은 2.5일 정도 추정했다.)
참고) Google이 한 양자 우월성 실험
레이저를 물이 담긴 페트병에 투과시킬 때 발생하는 간섭. 투과된 레이저의 모양(패턴)을 예측하기 위해 고전컴퓨터를 이용하면 각 레이저의 광자와 물과 페트병의 각 분자의 상호작용을 일일이 계산해야 한다. 하지만 위 그림처럼 단순히 '물이 담긴 페트병에 레이저를 투과'시킨다면, 그냥 레이저를 쏘는 것만으로도 결과 확인 가능하다. 즉, 물리적인 시스템으로 간단히 문제를 해결! Google이 실험한 것이 이런 실험과 비슷하다고 생각하면 된다.
단열 양자 컴퓨터
양자 컴퓨터의 종류 중 단열 양자 컴퓨터가 있다. 단열 양자 컴퓨터는 머신 러닝 최적화 문제에 사용될 수 있다.
방식은 이러하다. 예를 들어, f(x) = x^4-3x^3-200x^2와 같은 함수가 최소값을 갖는 x값을 구하는 문제를 보자. 함수식이 굉장히 복잡하기 때문에 최소값을 찾기 어렵다. 변수가 더 많아지면 더 어렵다. (e.g. f(x, y, z)) 하지만 조금 간단한 함수를 선택한다. finit(x) = 100x^2, 최종 함수를 ffinal(x) = r*finit(x) + (1-r)*ffinal(x)로 설정하고, r을 1부터 0으로 변화시킨다.
그럼 자연스럽게 그래프 형태가 f(x)로 변화하게 될 것이다.
D-Wave 社가 단열 양자 컴퓨터로 가장 유명하다. 하지만 현재 '결맞음 시간(coherence time)'이라는 한계점이 존재한다.
결맞음 시간?
Qubit에 데이터를 저장했다고 해서 영원히 저장되지 않는다. 마치 DRAM에 데이터를 저장했다고 영원히 저장되지는 않고, 수시로 Refresh해줘야하는 것과 같은 맥락이라고 보면 된다.
양자 컴퓨터 향후 전망
현재 이온트랩(10qubit 정도)과 초전도체(50qubit 정도) 제어 가능한 수준이다. 이러한 양자 컴퓨터는 향후 양자 화학 계산 분야(배터리, 신약 개발)나 암호 해독(한 10~20년 정도 소요될 것으로 보임)에 응용될 수 있다고 한다.
이번 포스팅에서는 간단하게 양자 시뮬레이팅에 대해 알아보았다. 결국 Qubit이 원자 하나에 mapping된다고 생각하면 이해가 쉬울 것 같다.
'가벼운 공학 과학 IT > 양자역학 & 양자컴퓨팅' 카테고리의 다른 글
양자 컴퓨터 (6) - 양자 컴퓨터 구현 (0) | 2021.09.07 |
---|---|
양자 컴퓨터 (5) - 양자 암호 및 양자 난수 (0) | 2021.09.07 |
양자 컴퓨터 (3) - 양자 컴퓨팅 종류 : 범용 양자컴퓨터 (0) | 2021.09.06 |
양자 컴퓨터 (2) - 양자의 중첩 원리 (0) | 2021.08.27 |
양자 컴퓨터 (1) - 양자 현상 및 양자의 특성 (0) | 2021.08.27 |