학교에서 양자역학과 불확정성 원리에 대해서 다들 간단히 배우셨겠지만은...(맞나요?)
양자컴퓨터의 컨셉은 간단하게 이 양자의 불확정성을 이용하는 것입니다.
(불확정성에 원리에 대해서는 나중에 따로 한번 쓰기로 합죠.. 책좀 봐야해서...)
아래 그림은 D-Wave 양자 컴퓨터 Tutorial 에서 제시하고 있는 문제입니다.
각 스위치 마다 할당된 값에 ON이면+1 OFF이면 -1 이라는 값을 곱해서
모든 스위치의 합이 최소가 되게하는 문제입니다. 모두 - 값이 나오게 스위치를 맞추면 됩니다.
자 위에 문제는 아주 쉽죠? 그럼 아래 문제를 볼까요?
이번에는 각 스위치마다 중간에 각각 관계를 갖는 값을 한개씩 놓고
연결된 각각의 2개 스위치에 그 정해진 값을 곱하는 겁니다.....????????
머리가 복잡합니다. 사실 2개의 연결된 스위치마다 2의 제곱수만큼 경우의 수가 늘어나니까
100개 스위치가 있으면 2의 100제곱만큼의 경우의 수가 있게 됩니다.
최신형 인텔 I7 컴퓨터로 풀면 된다고요?
현재의 컴퓨터는 일단 1과 0의 반복이 순차적으로 연산이 가능하니까 단순하게 계산을 해봅시다.
2의 100제곱이면, 약 10의 30제곱정도 되는데요.. 최근 나오는 빠른 I7이 약 4GHZ(40억 헤르츠, 1초에 40억번)
니까 1초에 40억번, 쿨하게 100억번이라고 하죠... (10의 10제곱입니다)
그러면 1초에 10의 10제곱개의 경우의 수를 헤아려 볼 수 있고, 단순계산으로 10의 20제곱 초가 걸리겠네요.
24시간, 즉 하루가 86,400초, 약 10만초(10의 6승)이니까 10의 14제곱 일 이 걸리는 것이고요.............
약 10의 11제곱 년이 걸립니다. 100억년이네요. 즉, 여러분의 I7 컴퓨터로는 못풀겁니다.
자 그럼 양자컴퓨터가 이 문제를 푸는 컨셉은 무엇일까요?
양자컴퓨터의 연산 단위는 큐빗(Qbit) 이라는 것입니다.
이 큐빗은 일반 컴퓨터의 비트(Bit)와 유사한 단위입니다. 다른 점은 무엇일까요?
큐빗이 비트와 다른점은 동시에 두가지 상태를 모두 가질 수 있다는 점입니다. +1인 동시에 -1이라는 말이죠.
아까 문제의 스위치로 따지면 켜져있으면서, 꺼져있는거죠...
자 그럼 저런 큐빗은 1개당 2개의 상태를 모두 가질 수 있으니, 2개가 있으면 어떻게 될까요?
네, 2개면 2의 2제곱의 상태를 동시에 나타내게 됩니다. 이것을 양자 중첩 또는 Superposition이라고
표현하는데요, 자 이제 이해가 가실겁니다. (이해가 가시나요???)
만약 100개의 큐빗이 있다고 한다면 2의 100제곱의 상태를 동시에 가질 수 있는거죠.
이런 컴퓨터에 적절한 프로그램 로직을 입력하여 원하는 답의 상태를 찾아내는 것이
양자컴퓨터의 컨셉입니다.
자, 그럼 위에 얽히고 섥힌 100개짜리 스위치 문제를 단순하게 다시 생각해보면.
여러분의 I7 컴퓨터로 100억년이 걸렸던 문제가 100 큐빗의 양자컴퓨터로는 바로 풀린단 말이네요..
물론 이렇게 단순하진 않고, 아직 기술적 발전이 많이 필요하겠지만 미래를 기대하게 만드는
기술임에는 틀림없는 것 같습니다. ^^