책이야기… 『처음 읽는 양자컴퓨터 이야기』

2025-02-14

이동준의 책이야기- 열 두 번째

이동준은 광주에서 출생했다. 책을 좋아하고 공상을 많이 한다. 현실로 돌아온지 얼마 안 됐다. 비판적인 사고를 하지만 동시에 긍정의 힘을 믿고 있다. 호기심도 많아서 여러가지 일에 관심이 많고 치과의사로서도 보람을 느끼고 있다. 순진하진 않지만 순수한 편이며 겁도 없다. 도전을 좋아하고 나이가 들수록 오히려 적극적으로 변해가고 있는 자신을 자랑스러워 하고 있다. 조선대학교 치과대학을 졸업했으며 목포교도소를 거쳐 현재는 전주교도서에서 공중보건의로 근무하고 있다.

.- 편집자 주

고등학교에서 배우는 물리학 과정 중에 이중 슬릿 실험이 있다. 파동의 회절과 간섭의 성질을 이용한 실험이다. 이 실험으로 빛이 파동성을 띈다는 것이 입증됐었다. 내가 어렸을 적 이 실험은 직관적으로 이해가 잘 돼 잘 넘어갔던 기억이 난다.

그런데 전자를 단일 슬릿이나 이중 슬릿에 통과시켜도 간섭이 일어나 무늬가 나타난다는 결과에는 직관적으로 이해가 잘 되지 않아서 굉장히 어렵다고 생각했던 기억이 있다. 도대체 어떻게 저런 결과가 나올 수 있는지 받아들이지 못했던 것이다. 전자는 이중성을 가지는 빛과는 달리 파동성이 아예 없는 그냥 입자라는 생각을 가지고 있었던 것이다.

하지만 양자역학이 직관적으로 잘 이해되지 않는다고 자책할 필요는 없다. 천재 중의 천재인 아인슈타인도 ‘신은 주사위 놀이를 하지 않는다’는 유명한 문구로 양자역학을 온전히 받아들이지 못했다.

또한 리처드 파인만은 ‘당신이 양자역학을 이해하고 있다고 생각한다면 양자역학을 이해하지 못하는 것이다’고 말했다. 과학이라는 학문이 신비주의로 소비되는 것에는 반대하지만 양자역학은 거시세계와는 다른 점이 너무 많아서 매우 흥미롭다.

현대 컴퓨터는 물리현상을 사용해서 계산하지만 양자역학의 물리현상은 사용하지 않는다. 그렇다면 미시세계 특유의 새로운 물리현상을 이용해 계산도구로 사용할 수 있지 않을까 하는 생각이 들지는 않는가? 그것을 사용한 것이 바로 양자컴퓨터다.

양자컴퓨터라는 아이디어는 언제 처음 등장했을까? 양자컴퓨터 연구는 1980년대 초반에 물리학자인 리처드 파인만의 아이디어에서 시작됐다. 자연현상은 양자역학의 원리를 따르고 있으므로 자연현상을 컴퓨터로 시뮬레이션하고 싶다면 양자역학의 원리를 따르는 컴퓨터가 필요하다는 것이 그의 아이디어였다.

그 후 1985년 데이비드 도이치가 양자역학 원리를 따르는 컴퓨터를 이용한 계산을 수학적으로 어떻게 표현할 수 있을지에 관한 기초이론을 완성했다. 이는 양자컴퓨터 연구의 출발점이 되었다.

도이치의 이론에 따르면 양자컴퓨터는 기존의 컴퓨터가 쉽게 따라 할 수 없는 계산기능을 갖추었다. 하지만 그 후 한동안은 양자컴퓨터가 도대체 어떻게 계산에 도움을 주는지 아무도 몰랐다.

그러다가 1994년에 전환기를 맞이한다. 피터 쇼어가 양자컴퓨터로 소인수 분해를 고속으로 처리할 수 있는 해법을 찾아낸 것이다. 소인수 분해는 자릿수가 늘어나면 매우 어려워진다. 숫자가 수백 자리까지 커진다면 지금 컴퓨터로 푸는 데도 수천 년, 아니 수만 년이라는 방대한 시간이 걸린다. 그런데 쇼어는 양자컴퓨터 특유의 해법을 사용하면 압도적으로 빨리 소인수분해를 할 수 있다는 사실을 알아냈다.

쇼어의 발견은 매우 충격적이었다. 소인수분해를 빨리 할 수 있다면 지금 인터넷 등에서 안전한 통신을 보장해주는 암호기술은 간단히 깨지기 때문이다. 지금 사용하는 RSA 암호라는 방식은 ‘큰 수를 소인수 분해하는 계산은 어렵다’는 사실을 전제로 하며 해독하기 어려운 것으로 알려졌다. 그런데 양자컴퓨터가 등장해서 소인수분해를 간단히 계산해버리면 RSA 암호는 깨지고 말 것이다.

앞으로 쓸만한 양자컴퓨터가 완성된다면 과연 어떤 일에 도움이 될까? 양자컴퓨터가 빨리 풀 수 있는 문제는 제한된 몇 종류만 알려져 있다. 그밖의 문제에 관해서는 양자컴퓨터든 현재의 컴퓨터든 계산속도가 크게 차이나지 않는다.

양자컴퓨터가 미래에 가장 도움이 될 것으로 보이는 분야는 화학계산이다. 모든 물체는 모두 원자로 이루어져 있다. 우리가 사용하고 있는 많은 신소재들은 여러 원자들의 다양한 조합으로 만들어졌다.

하지만 쓸만한 기능을 가진 신소재를 만들고 싶다고 무턱대고 원자를 조합한들 원하는 기능을 얻지는 못한다. 그래서 슈퍼컴퓨터를 사용해서 어떤 조합이 좋은지 미리 조사한다. 양자컴퓨터를 사용하면 이런 화학계산을 더 효율적이고 정확하게 처리할 수 있다.

현재 태양전지 패널의 에너지변환 효율은 불과 20퍼센트에 지나지 않아서 태양에서 오는 에너지의 5분의 1만 활용할 수 있다. 에너지변환 효율이 더 좋은 소재를 설계할 수 있다면 전 지구적인 에너지 문제를 해결하는 방법으로 이어질 수도 있다.

화학계산은 약을 개발할 때도 도움이 된다. 양자컴퓨터를 사용하면 특정 병에 효과가 좋은 약, 부작용이 없는 약, 나아가 각 환자에게 맞게 디자인된 약 등 자유자재로 약을 설계할 수 있을지도 모른다. 의료기술은 지금보다 훨씬 더 진보하게 될 것이다.

양자컴퓨터가 빛을 발하는 또 다른 예로는 최적화 문제가 있다. 최적화 문제란 여러 가지 패턴 중에서 가장 좋은 패턴을 골라내는 문제다. 주변에서 쉽게 접할 수 있는 사례로는 택배트럭의 배달경로를 최적화하는 것이다.

창고에서 배달할 화물을 트럭에 실은 다음 열 군데에 화물을 배달하고 창고로 돌아와야 한다면 어떤 순서로 돌아야 최단 경로가 될까? 이것이 다양한 경로 중에서 최적 경로를 찾아내는 최적화 문제다.

제조업이라면 공장의 인력배치와 제조 프로세스를 최적화해서 상품제조 비용을 낮출 수 있고 금융업에서 주식과 부동산 등의 상품 중 어디에, 얼마만큼 투자할지 최적화할 수 있다면 더 큰 이익을 거둘 수 있을 것이다. 이처럼 조합을 최적화해야 하는 분야는 많으므로 각각의 분야에서 효율을 높이는데 도움이 될 것이다.

현대의 일반적인 컴퓨터는 전기 스위치를 켜거나 끄면 전기가 통하거나 통하지 않는 물리현상을 사용해 계산한다. 모두 익숙한 물리현상을 사용하기 때문에 계산원리를 연상하기가 비교적 쉽다.

그렇다면 양자컴퓨터는 기존의 컴퓨터와 근본적으로 무엇이 다를까? 왜 기존 컴퓨터보다 고속으로 풀 수 있는 문제가 있을까? 그런 의문의 밑바닥에는 양자역학이라는 물리현상이 깊이 관여하고 있다.

양자란 매우 작은 물질이나 양의 단위를 가리키는 단어다. 물질을 잘게 쪼개면 모두 원자라고 하는 작은 알갱이로 이루어져 있다. 원자는 물질의 구성단위이며 양자의 종류이기도 하다.

원자를 더 쪼개면 마이너스 전기를 띠는 전자, 플러스 전기를 띠는 양성자, 플러스도 마이너스도 아닌 중성자라는 더 작은 단위입자가 된다. 전자, 양성자, 중성자는 모두 양자의 종류이다.

빛을 구성하는 양자도 있다. 광자라고 불리는데 더 정확하게 표현하자면 광자는 빛 에너지의 최소 단위다. 이 사실을 처음 밝혀낸 사람이 아인슈타인으로 1905년 광양자 가설이라는 이름으로 이 현상을 발표했다.

중앙에 가느다란 틈이 있는 판을 향해 전자를 하나씩 발사해서 부딪히게 한다. 그러면 틈을 통과한 전자는 앞쪽의 벽 한가운데에 부딪힌다. 전자는 작은 입자와 같으므로 틈을 통과하면 당연히 그대로 직진해서 벽에 부딪힐 것이다.

이어서 가늘고 긴 틈을 두 개 만들었다고 하자. 이번에는 벽의 어디에 전자가 부딪힐까? 전자가 왼쪽 틈을 통과했다면 그대로 직진해서 벽의 왼쪽에 부딪힐 것이다. 오른쪽 틈을 통과했다면 벽의 오른쪽에 부딪힐 것이다. 그런데 실제로 해보면 실험결과는 예상과 다르게 나온다.

이 결과는 이상해 보인다. 일상적인 감각으로는 전자는 벽의 왼쪽 부분이나 오른쪽 부분, 둘 중 어느 한 쪽에만 부딪혀야 할 것 같다. 하지만 벽에는 각각의 결과를 합친 것이 아니라 줄무늬가 나타난다. 그러므로 두 슬릿을 동시에 통과할 수 있는 조건이 성립될 때만 우리가 알지 못하는 ‘어떤’ 현상이 일어나서 벽에 줄무늬가 나타나는 것으로 생각할 수 있다.

두 슬릿을 동시에 통과할 수 있는 조건이 되면 왜 앞쪽 벽에 줄무늬가 나타나는 것일까? 이런 현상은 전자가 왼쪽 슬릿을 통과했는지, 오른쪽 슬릿을 통과했는지 하는 두 가지 선택지만 고려하면 설명할 수가 없다.

전자를 발사하면 벽에 줄무늬가 나타나는 현상은 수면의 파동실험에서 나타난 줄무늬와 비슷하다. 수면파동에서는 두 틈을 통과한 파동이 간섭해서 보강 또는 상쇄하는 현상이 일어나면서 줄무늬가 나타났다. 그러므로 전자에서도 비슷한 간섭이 일어난다고 예상할 수 있다.

하지만 전자는 하나뿐이므로 파동과는 달리 두 틈을 동시에 통과할 수 없다. 그래서 전자에서도 간섭이 일어났다고 생각할 수밖에 없는 것이다. 즉 전자는 둘 중 어느 쪽인가의 틈을 통과했다는 양자택일의 가능성이 아니라 ‘중첩’이라는 상태에 있으며 양쪽의 틈을 동시에 빠져 나갔다고 생각하는 것이다.

이 이상한, 간섭에 의한 줄무늬를 구체적으로 설명하려면 전자는 ‘입자이면서 파동’이라고 생각해야 한다. 전자는 발사된 직후에는 하나의 입자다. 하지만 그 후에는 마치 파동처럼 공간으로 퍼져나간다.

실체는 하나이고 한 곳에만 있어야 하는 존재인 전자가 파동으로 공간에 퍼져나가고 다른 곳에서 존재할 가능성을 가지며 움직인다. 이것이 바로 중첩이라는 상태다. 파동으로 진행한 전자는 수면파동처럼 두 틈을 동시에 통과해서 간섭현상을 일으킨다.

그렇지만 전자의 파동을 벽에 부딪혀서 전자가 어디에 있는지 조사하려는 순간, 전자는 다시 하나의 입자로 돌아와서 한 곳에 나타난다. 진폭(파동의 크기)은 전자가 그곳에 존재할 가능성의 크기를 나타낸다.

보강해서 큰 파동이 된 위치에는 전자가 나타날 가능성이 크고 상쇄돼 작은 파동이 된 위치에는 전자가 나타날 가능성이 적다. 전자를 몇 번이고 발사해서 결과를 누적해보면 줄무늬가 나타난다.

이처럼 2중 슬릿 실험에서 전자는 ‘입자이기도 하고 파동이기도 한’ 것처럼 움직인다. 그리고 벽에 나타난 줄무늬를 설명하려면 ‘중첩’이라는 새로운 개념이 필요하다. 전자뿐만 아니라 원자 한 개와 광자 한 개로 2중 슬릿 실험을 해도 같은 결과가 나온다. 이런 성질은 양자세계에서는 공통된 것이라는 것을 알게 됐다.

전자가 벽에 부딪혀서 한 곳에만 존재하는 입자로 나타나는 순간, 중첩돼 있던 여러 곳 중에 어디에서 전자가 나타날지는 확률적으로 정해진다. 그러니까 매번 전자가 부딪히는 위치를 확실하게 예측하는 것은 원리적으로 불가능하다.

양자컴퓨터는 ‘중첩’과 ‘간섭’을 잘 이용해서 문제를 푼다. 그 계산원리는 2중 슬릿 실험과 비슷하다. 어떻게 비슷한지 설명하기 위해 문제를 하나 제시한다.

비밀번호를 모르는 다이얼 자물쇠가 있는데 어떻게든 번호를 알아내려 한다. 다이얼의 비밀번호는 네 가지 패턴뿐이라고 하자. 현대 컴퓨터로 이 문제를 푼다면 네 가지 번호를 하나씩 차례대로 시도한다. 몇 번 시도해보면 자물쇠가 열리는 ‘딱 맞는’ 번호를 찾을 수 있다. 이는 하나씩 전부 조사해서 답을 찾는 해법이라 조금 번거롭다.

반면 양자컴퓨터는 좀 더 효율적인 해법으로 답을 찾는다. 양자컴퓨터는 중첩을 사용해서 네 가지 번호를 전부 중첩해 동시에 시도할 수 있다. 그러면 자물쇠가 열리지 않는 세 가지 패턴과 열쇠가 열리는 한 가지 패턴의 가능성이 전부 중첩된다. 마지막으로 네 가지 패턴을 잘 ‘간섭’시켜서 열쇠가 열리는 패턴만을 찾아내는 것이다.

열쇠 다이얼의 네 가지 패턴에 해당하는 네 개의 슬릿을 사용한 4중 슬릿 실험을 생각할 수 있다. 네 개의 슬릿 중에는 한 개의 당첨 슬릿이 있어서 거기에만 전자의 타이밍을 늦출 수 있는 장치가 있다고 한다. 자물쇠의 네 가지 번호패턴 가운데 하나만이 자물쇠를 열 수 있는 딱 맞는 패턴이라는 뜻이다. 남은 세 개의 슬릿은 꽝이며 전자를 그대로 통과시킬 뿐이다.

현대의 컴퓨터는 각 슬릿에 차례대로 전자를 발사해 조사해보는 것으로 전자를 한 번 발사할 때마다 벽에 전자가 부딪히는 타이밍을 보고 전자가 슬릿을 그냥 통과했는지, 조금 늦어졌는지 조사하면 당첨 여부를 판단할 수 있다.

반면에 양자컴퓨터는 다르다. 전자는 중첩돼 여러 슬릿을 동시에 통과할 수 있다. 마찬가지로 전자를 단 한 번만 발사해서 네 개의 슬릿을 동시에 조사한다. 전자가 파동처럼 네 개의 슬릿을 빠져나가면 당첨 슬릿을 지나간 파동만 위상이 달라진다.

이 어긋남을 활용해 세 개의 꽝 슬릿을 통과한 파동과 하나의 당첨 슬릿을 통과한 파동을 잘 간섭시키면 당첨 슬릿을 통과한 파동만 보강돼 커지고 남은 슬릿을 통과한 파동은 상쇄돼 작아진다. 최종적으로 벽에 전자가 부딪히는 위치를 조사하면 당첨 슬릿이 어디에 있는지 알 수 있다.

양자컴퓨터가 계산을 빨리하는 원리는 다중 슬릿 실험과 같다. 하나씩 계산하는 대신에 몇 가지 계산을 중첩해서 동시에 한 다음, 간섭을 통해 답에 해당하는 계산패턴만 찾아내는 것이다. 간섭에는 꽤 많은 고안이 필요하지만 잘만 하면 답을 찾아내는 수고를 확 줄일 수 있다.

양자컴퓨터의 계산원리는 일반적인 컴퓨터의 계산원리를 기반으로 한 것이므로 기본적인 사고방식은 비슷하다. 현대의 컴퓨터는 비트 0과 1로 정보를 표시하고 논리연산으로 비트를 변환하면서 계산을 수행한다. 양자컴퓨터는 양자비트의 중첩방식으로 정보를 나타내고 양자 논리연산으로 그 중첩방식을 변화시키면서 계산을 수행한다.

양자컴퓨터는 결국 양자 논리연산을 사용해 중첩방식을 나타내는 많은 파동을 교체하거나, 타이밍을 어긋나게 하거나, 간섭시켜서 답을 끌어내는, 파동을 사용한 계산장치다.

현대의 컴퓨터 성능은 매우 높아서 일상생활에서 하는 계산은 거의 순식간에 답이 나온다. 하지만 세상에는 슈퍼컴퓨터로도 답을 구하기 어려운 문제가 쌓여 있다. 양자컴퓨터는 그런 문제를 풀어주는 구세주가 될 가능성이 있다.

하지만 양자컴퓨터든 일반적인 컴퓨터든 풀 수 있는 문제의 범위는 같다. 대규모 슈퍼컴퓨터를 충분히 오랫동안 사용해도 된다면 양자컴퓨터의 동작을 일반적인 컴퓨터로도 흉내 낼 수 있기 때문이다. 원리적으로 양자컴퓨터가 풀 수 있는 문제는 돈과 시간만 있다면 일반적인 컴퓨터로도 풀 수 있다는 것이다.

하지만 ‘원리적으로 풀 수 있다’는 것과 ‘현실적으로 풀 수 있다’는 것은 다른 문제다. 문제를 푸는 순서를 안다고 해도 그 과정에서 지구상의 모든 컴퓨터를 총동원해도 전부 기록할 수 없을 정도의 데이터를 기억해야 한다거나 계산을 마치는 데 1억 년이 걸린다면 현실적으로 풀 수 없다는 것과 같은 의미다.

양자컴퓨터 특유의 해법을 사용하면 계산횟수가 증가하는 속도가 완만해지는 사례가 있다. 이런 경우에는 문제의 규모가 커질수록 계산횟수에서 차이가 벌어진다. 그 결과 양자컴퓨터가 1회 계산하는 데 걸리는 시간이 현대의 컴퓨터보다 길어도, 문제의 규모가 어느 수준 이상이 되면 양자컴퓨터로 계산하는 데 걸리는 시간이 짧아지는 것이다.

그렇다면 양자컴퓨터는 어떻게 만드는 것일까? 양자컴퓨터는 0과 1의 중첩인 양자비트 정보를 어떤 물리적 수단으로 표현하고 그것을 물리적으로 변화시켜서 계산을 처리한다.

단 이는 양자역학을 따르며 중첩하거나 간섭을 일으키는 것이어야만 한다. 양자역학은 원래 미시세계를 담당하는 보편적인 물리법칙으로 물질을 구성하는 단위인 양자는 전부 양자역학을 따른다.

양자컴퓨터를 구현하는 것이 어려운 이유 가운데 하나는 양자가 매우 예민하기 때문이다. 2중 슬릿 실험에서는 전자 한 개가 두 슬릿을 동시에 통과하고 중첩돼 벽에 줄무늬를 만들지만 전자가 지나는 경로에 방해하는 원자나 분자가 있으면 충돌이 발생해 중첩이 파괴되고 줄무늬가 나타나지 않았다. 그래서 2중 슬릿 실험은 가능한 한 방해 원자와 분자를 모두 제거한 진공용기 안에서 실시한다.

방해요소는 원자나 분자만이 아니다. 우주를 날아온 빛이 양자에 부딪혀 방해하기도 한다. 또 플러스와 마이너스 전기가 서로 끌어당기는 전기력이나 S극과 N극이 서로 끌어당기는 자석의 힘은 떨어진 물체 사이에서 작용한다.

그러므로 주위의 전기와 자석도 양자에 악영향을 줄 수 있다. 이처럼 다양한 영향력을 피해 양자의 성질을 유지하기 위해 될 수 있는 대로 양자를 주위로부터 격리할 수 있는 곳에 가둬둔다.

양자컴퓨터를 실현하기 어려운 또 하나의 이유는 양자 하나하나를 정확하게 조종해야 하기 때문이다. 현대의 일반적인 컴퓨터는 다소 부정확한 부분이 있어도 계산오류가 발생하기 어려운 구조로 돼 있다.

트랜지스터는 전기신호를 보내거나 보내지 않는 것으로 ON과 OFF를 전환하는데 기준보다 큰 신호가 오면 ON, 작은 신호가 오면 OFF로 판단한다. 그래서 어느 정도 노이즈나 제조편차가 있어도 계산오류를 일으키지 않는 구조로 돼 있다.

이와 달리 양자비트는 정보의 성질이 달라서 노이즈나 오차가 조금도 허용되지 않는 구조로 돼 있다. 양자비트는 0과 1의 중첩이며 그 중첩방식으로 정보를 나타낸다. 중첩방식은 진폭의 비와 위상의 차이로 정해진다.

이 값은 연속적으로 변하므로 노이즈나 오차로 인해 조금이라도 어긋나면 계산오류가 발생한다. 트랜지스터처럼 어느 정도의 범위를 허용하지 않는다는 말이다.

양자컴퓨터는 인간이 만드는 것이므로 100퍼센트 완벽하게 노이즈나 오차를 없애는 것은 불가능하다. 현대의 컴퓨터도 100퍼센트 완벽하지는 않아서 계산도중에 오류가 발생하기도 한다.

하지만 현대의 컴퓨터는 1+1을 계산해서 2가 아닌 답이 나오는 법이 없다. 계산도중에 오류가 발생해도 계산오류를 스스로 찾아내 정정하는 오류정정 기능을 갖추었기 때문이다.

양자컴퓨터에서도 신뢰할 수 잇는 계산결과를 내기 위해서는 오류를 정정하는 구조가 필요하다. 하지만 양자비트의 정보를 정정하는 것은 간단한 작업이 아니다. 애초에 비트의 오류는 0과 1이 바뀌는 것 뿐이지만 양자비트는 중첩방식이 조금만 달라져도 오류가 발생한다.

게다가 계산도중에 오류가 발생했는지 여부를 조사하려면 양자비트가 어떤 값인지 측정해서 확인해야 한다. 하지만 양자비트는 직접 측정하면 중첩이 깨지는 성질을 가지므로 그것도 어렵다.

그렇지만 다행히 1990년대에 양자컴퓨터에서도 오류를 정정하는 방법이 발견됐다. 먼저 여러 양자비트를 연계해 한 개 분량의 양자비트 정보를 표시하도록 정보를 넣는다. 계산 도중에 오류가 발생하면 그 연계에 흐트러짐이 발생한다. 그래서 연계의 흐트러짐이 있는지에 관한 정보만 다른 양자비트에 잘 옮긴 후 측정해 오류가 일어났는지 판정하는 것이다. 그래서 어떤 오류가 발생해도 이 방법으로 양자비트의 정보를 잃어버리지 않고 오류를 검출해서 정정할 수 있음을 알게 됐다.

양자컴퓨터는 이처럼 이제 막 험한 산길을 오르기 시작한 것이나 마찬가지다. 엔비디아의 CEO 젠슨 황이 ‘유용한 양자컴퓨터가 나오려면 20년은 걸릴 것’이라고 말했던 것처럼 아직 양자컴퓨터는 갈 길이 멀다.

그래도 20~30년 전 꿈 같은 이야기로 치부했던 양자컴퓨터가 현재는 어느 정도의 모양새는 갖춰가고 있다. 주어진 과제를 하나하나 해결해가는 개발자들의 노력이 있다면 근거가 충분하기 때문에 반드시 유용한 양자컴퓨터가 우리들 생활에 파고들 것이다. 그때의 우리는 AI혁명에 필적할 혁신을 경험할 수 있을 것이다.

저작권자 © 건치신문 무단전재 및 재배포 금지

Menu

Kollo 를 통해 내 지역 속보, 범죄 뉴스, 비즈니스 뉴스, 스포츠 업데이트 및 한국 헤드라인을 휴대폰으로 직접 확인할 수 있습니다.