본문 바로가기
양자컴퓨터

[양자컴퓨터 - 07] 양자컴퓨터의 중첩이란?

by 두우우부 2020. 4. 15.
반응형

최근 양자 컴퓨터가 차세대 계산기로 주목받고 있습니다.

 

이번에는 양자 컴퓨터를 이해하는 데 있어서 빠뜨릴 수 없는 원리인 '중첩'에 대해서 알아보고, 양자 컴퓨터의 구체적인 원리를 중심으로 기존 컴퓨터의 기본 원리와 비교하여 양자 컴퓨터의 계산 속도까지 함께 알아보겠습니다.

 

고전 컴퓨터

양자 컴퓨터의 대립 개념으로서 일반적인 컴퓨터를 고전 컴퓨터라고 합니다. 고전 컴퓨터의 소자는 2개의 값(1 또는 0) 중 하나의 상태만 있는 비트이고, 비트와 논리 연산의 조합으로 계산합니다.


시각적으로 알기 쉬운 예가 Minecraft의 레드스톤 회로입니다.

 

레드스톤(붉은 선)이 켜져 있는 상태를 1, 꺼져 있는 상태를 0으로 하면 레드스톤은 1비트 소자로 간주할 수 있습니다. (Minecraft를 해본 적이 있는 사람이라면 "레드스톤 신호 강도의 개념이 있기 때문에 이진수는 아닐 거야'라는 의견이 있을지도 모르겠지만, 이야기가 까다로워 지므로 그 점은 일단 잊어주시길 바랍니다.)

 

 

조금 부품을 늘려서 "입력된 신호의 반전", "A와 B 중 하나에서 1이 입력될 경우 1을 출력", "A와 B 모두 1이 입력될 경우 1을 출력"과 같은 작업을 수행할 수 있습니다.

이러한 작업을 수행하는 회로를 논리 게이트라고 부릅니다. 이미지의 예는 가장 간단한 논리 게이트인 NOT게이트, OR게이트, AND게이트의 예입니다. 이러한 간단한 게이트 조합에 의해 복잡한 계산도 효율적으로 할 수 있습니다.

 

중첩

레드스톤도 그렇지만 고전 컴퓨터의 비트는 2개의 상태 값을 동시에 가질 수 없으며, 같은 조건이라면 여러 번 관측해도 동일합니다. 당연하다고 생각할지도 모르지만 양자 컴퓨터의 세계, 더 일반적으로는 양자 역학의 세계에서 이 상식은 통용되지 않습니다.

'슈뢰딩거의 고양이'라는 사고 실험(실제로 실험을 수행하는 대신 머릿속에서 단순화된 실험 장치와 조건을 생각하고 이론에 따라 추론하여 수행하는 실험. 생각 실험이라고도 함)이 있습니다. 

 

내부 모습을 관찰할 수 없는 상자에 살아있는 고양이를 넣고 상자 뚜껑을 닫습니다. 이 상자 안에는 1시간에 50%의 확률로 치명적인 독가스를 분사하는 장치가 내장되어 있습니다. 그럼 1시간 후, 상자 속 고양이는 살아 있을까? 죽어 있을까?

 

보통의 상식에 따르면 열어볼 것도 없이 상자 속에는 살아있는 고양이가 한 마리 들어있든지 죽은 고양이가 한 마리 들어있든지 둘 중 하나일 것입니다.


그런데 양자 역학의 세계에서는 '여러 상태를 동시에 선택'하는 것이 있을 수 있으므로, 상자를 열기 전에는 '살아있는 고양이가 들어있는' 상태와 '죽은 고양이가 들어있는' 상태가 반반의 확률로 겹쳐진 상태이며, 상자를 연 순간 상태가 결정된다."라는 것이 양자 역학 세계의 모범답안입니다.

 

그럼, 양자 역학의 세계에서는 확인하지 않으면 고양이는 살아있는 상태와 죽은 상태가 반반의 확률로 '중첩된' 상태라고 설명했습니다. 예가 고양이라서 이상하긴 했지만, 실제 양자 역학에 속하는 광자 등은 여러 상태를 동시에 가지고 있는 경우가 발견되고 있습니다. "여러 상태를 동시에 가지고 있다"라고 하여 "중첩"이라고 표현합니다.

또한 "중첩"의 상태가 매우 불안정하다는 것이 양자 컴퓨터 개발의 난관이 되고 있습니다. 또한 양자의 상태는 작은 요인에도 쉽게 변하기 때문에 "중첩"을 이용한 양자 게이트 방식이나 양자 어닐링 방식으로는 초전도 상태(전기 저항이 없는 상태)에서 양자를 다루어야 합니다. 따라서 이러한 구조로 동작하기 위해서는 절대 영도에 가까운 극저온 환경이 필수적입니다.

 

양자 게이트 방식

양자 컴퓨터는 원리에 따라 여러 종류로 분류할 수 있는데, 그중 가장 고전적이고 가장 유명한 것이 양자 게이트 방식으로 불리는 양자 컴퓨터입니다.

 

첫째, 앞에서 언급한 '중첩'을 수식으로 설명하면 어떻게 될까요? 양자의 상태는 "상태 벡터"로서 기술되어, 중첩은 각 상태 벡터에 확률 진폭을 곱한 것의 선형 조합으로 표현됩니다...라는 것인데, 뭔 소린지 잘 안 와 닿지요...


실제 사례를 통해 알아보면, 확률로 0과 1의 값을 취할 수 있는 양자의 중첩 상태 |ψ>를 수식으로 표현하면

가 됩니다. 이 수식에 나오는 |0>과 |1>이 각각 0과 1의 상태를 드러내는 상태 벡터이며, α와 β가 확률 진폭입니다.

또한 확률 진폭을 2승 했지만 절대치가 소위 확률이 됩니다. 확률의 합은 1이 아니면 안 되기 때문에, α와 β는

을 충족시킵니다. 반대로, 그 이외의 제약은 없는, 수학모델 상으로는 α와 β는 음수와 허수인 경우도 있습니다. α와 β가 취할 수 있는 수를 특정 구면상의 점으로 나타내는 식으로 표현하며, 이를 Bloch sphere라고 부릅니다.

 

 

그런데 양자는 여러 상태를 동시에 갖고 비트로 처리할 수 ​​있으며, 이를 양자 비트 내지 Q비트라고 합니다만, 양자 비트는 적당히 말하자면 '점등과 소등이 중첩된 레드스톤' 밖에는 안되기 때문에, 계산에 사용하기 위해서는 레드스톤 회로와 같이 조작을 가능하게 해주는 장치가 필요합니다. 이를 고전 컴퓨터의 논리 게이트에 빗대어 '양자 게이트'라고 부릅니다.

 

실제 양자로 어떻게 작업을 수행하는지는 차치하더라도, 수학적 모델상의 양자 게이트는 Bloch sphere 위의 점을 어떻게 움직일까 라는 조작이 됩니다. 이것은 예를 들면 어떤 축을 따라 구체를 180도 회전시키는 변환이거나, 한쪽의 상태만 취한 양자를 중첩 상태로 변환(아다마르 게이트) 하기도 합니다.

고전 컴퓨터의 계산이 궁극적으로는 매우 간단한 게이트의 조합으로 이루어지고 있었던 것처럼 양자 게이트도 단순한 조작을 통하여 계산합니다.

 

양자 어닐링 방식과 양자 신경망 방식

양자를 어떻게 계산에 이용할 것인가 하는 점에서 양자 게이트 방식은 상당히 고전 컴퓨터에 가깝습니다. 결국 기본적인 조작의 조합으로 범용성을 가질 수 있다는 것이 강점입니다. 한편, 풀 수 있는 문제의 범위는 좁아도 좋으니 특정 문제를 해결하는 속도를 중시하는 접근 방식도 있습니다. 그 대표적인 예가 양자 어닐링 방식입니다.

 

양자 어닐링 방식은 '거대한 선택 중에서 최선의 것을 선택'하는 계산에 특화되어 있습니다. 한 예로 여러 장소를 둘러싼 최단 루트를 구하는 '외판원 문제'가 꼽힙니다.

 

 

그럼 원리를 살펴봅시다. "최선의 선택"행위는 다른 말로 "이익의 극대화" 또는 "손실의 최소화"입니다(외판원 문제는 후자). 따라서 이런 문제를 수치화한 경우 "최선의 선택"은 최대 내지 최소 수치입니다. 좀 더 전문 용어를 더한다면 선택의 "장점"을 비용 함수라 불리는 "실제 수치 함수"로 표시하며, 이것이 가장 낮은 선택을 베스트로 봅니다.

 

이 비용 함수가 가리키는 숫자, 예를 들어 외판원 문제에서 이동 거리 같은 값을 다른 것으로 대체하는 발상이 나왔습니다. "어닐링"을 번역하면 '풀림'입니다. 금속을 고온 상태에서 서서히 저온으로 식히면서 안정되어 갑니다. 이 작업을 모방하는 방법이 "시뮬레이션 소둔(燒鈍)"입니다. 이 기술이 획기적이었던 것은 수학적 처리에 물리학의 개념을 적용할 수 있게 된 점입니다.

 

시뮬레이션 소둔에서는 '열 흔들림'이라는 방법을 사용했지만, 양자의 중첩에도 안정된 상태와 불안정한 상태가 있기 때문에 비용 함수는 양자 중첩으로 대체할 수도 있습니다. 이것이 '양자 어닐링 방식'입니다. 예를 들어 외판원 문제의 루트 하나하나를 양자의 각 상태로 대체하여 가장 안정적인 양자 상태에 대응하는 루트가 최고라는 계산입니다.

 

 

또한, '양자 게이트 방식'이나 '양자 어닐링 방식'과 비슷하게 거론되는 '양자 신경망 방식'이 있습니다. 그러나 발상만 놓고 보면 양자 어닐링 방식의 응용이라고 해도 좋을 정도로 가깝습니다.

 

다만, 실용면에서 양자의 중첩이 아니라 광자 펄스에서 허위로 양자 중첩을 재현하는 방식을 사용하고 있다는 점에서 크게 다릅니다. 무엇보다 큰 차이점은 양자 중첩에 의존하지 않고, 초전도 상태가 아니어도(즉 상온에서도) 동작한다는 것입니다.

 

양자 컴퓨터의 계산 속도

여기까지 장황하게 양자 컴퓨터의 원리에 대해 이야기했지만 그 성능은 어떨까?라는 생각이 당연히 떠오를 것입니다. 양자 컴퓨터를 설명할 때 흔히 '양자 컴퓨터는 양자 중첩을 이용하여 동시 병행처리로 계산하기 때문에 빠르다'라고 표현합니다.


양자 컴퓨터에 동시 병행처리 계산능력이 있는 것은 사실입니다.

이 수식은 양자가 각각 |α|^2, |β|^2의 확률로 중첩되어 있다는 것을 의미하기 때문에, 어떤 의미에서 0, 1이라는 계산을 동시에 수행하고 있다고 할 수 있습니다.


설명을 알기 쉽게 하기 위해, 예를 들어 0의 상태와 1의 상태를 취할 확률은 동일하며, 중첩 상태라고 생각하면 양자 비트를 1개 늘렸을 때

가 되고, n개로 늘리면

가 되며, 비트수를 몇 개로 하든지 모든 패턴을 포함합니다. 예를 들어 "1,1,1"라고 출력하면 정답이 되는 계산을 무차별로 요청하면 고전 컴퓨터는 "0,0,0"부터 순서대로 하나씩 계산할 필요가 있기 때문에 최대 8번이 소요됩니다. 한편 양자 컴퓨터는 이미 전체 패턴을 내포하고 있기 때문에 양자 비트 3개의 양자 컴퓨터를 사용하면 거의 1번 만에 계산이 끝납니다. 대단하네요~

 

 

 

 

... 그러나 위처럼 간단한 것이 아닙니다. 왜냐하면 양자 상태는 관측할 때마다 바뀌므로, 이대로라면 정답을 관측할 확률은 1/8. '시험에서 연필을 굴려 답변하는'수준이며, 그렇다고 정답이 될 때까지 관측하며 기다리자니 확률이 너무 낮아서 "당첨이 될 때까지 로또를 계속 사는 것과 같은 상태"입니다.

 

따라서 정답을 관측할 확률을 높일 필요가 있으며, 이는 또한 양자 컴퓨터 개발의 난관이 되고 있습니다.

또한 양자 컴퓨터는 그 성질상 잘 맞는 것과 그렇지 않은 것이 있습니다.

 

양자 컴퓨터는 본질적으로 양자 중첩을 이용한 병렬 계산이 강점입니다. 특히 복수의 선택지를 동시에 고려하여 소수의 정답만을 남기고 나머지는 쳐내는 경우, 고전 컴퓨터보다 명확하게 계산량이 줄어듭니다. 특히, 선택의 수가 방대하고 기존의 알고리즘이 통하지 않는 경우, 고전 컴퓨터는 한 땀 한 땀 전부 계산해야 하기 때문에 계산량이 기하급수적으로 증가하게 됩니다. 이것이 현재 양자 컴퓨터를 필요로 하는 가장 큰 이유라고 할 수 있습니다. 양자 어닐링 방식이나 양자 신경망 방식이 대응하고 있는 문제의 형식도 이 패턴에 포함됩니다.

 

역으로, 모든 패턴을 전부 다 계산해야 하는 경우라면, 고전 컴퓨터와 양자 컴퓨터 사이에 계산량의 차이가 별로 없습니다.

 

정리

· 양자 컴퓨터는 양자 역학에서 "중첩"의 원리를 이용하고 있는 경우가 많습니다.

· 고전 컴퓨터로는 감당할 수 없는 분야에서의 활약이 특히 기대됩니다.

· 한편, 실용화를 위해서는 아래의 과제들이 있습니다.

  - 중첩 상태의 유지가 어렵다.

  - 종류에 따라 초전도 상태를 위해 극저온의 환경이 아니면 작동하지 않는다.

  - 고전 컴퓨터에 비해 '정답의 관측'시간이 필요하고, 정답을 이끌어낼 확률을 올리는 것이 어렵다.

· 만일 과제를 클리어해도 원리상 만능 계산기가 되는 것은 아니다.

 

반응형