양자컴퓨터 주식을 예전부터 모으고 있다... 5년내에 유의미한 발전이 있을것이라는 결론과 함께 ㅋㅋ
예전에 양자역학과 양자컴퓨터에 관심이 있었고,
결국은 술좋아하면, 알콜중독으로 가듯이..
양자역학, 양자컴퓨터 좋아하면, 관련 주식들을 사게 되더라는 ㅋ
이미 주식은 많이 보유하고 있지만, 꾸준하게 사모을 예정이긴하다. (여윳돈이 생기면ㅎ)
최근에는 양자컴퓨터에 대해서 너무 러프하게만 알고있다고 생각이 들어서,
책한권을 도서관에서 빌려서 읽게 되었다.
꽤 내용이 상세하면서 그간 궁금했던부분에 대해서, 이야기를 다루고 있어서 도움이 많이 된것 같다.
책 제목은 "처음 읽는 양자컴퓨터 이야기"라는 책이다.
(참 유익한 책이다. 추천!!!)

주의!!! 책팔이 아님!!!!!
너무나 궁금했던 부분이 있었는데, 이책을 읽고 많이 해소가 되었다.
궁금했던것이 무엇이었냐면,
"기존 컴퓨터에서는 전기의 on/off에 따라 트랜지스터를 이용하여,
0과1로 신호를 바꾼 2진수로 모든 컴퓨터는 동작한다는것은 알고있었고,
양자컴퓨터는 0과1뿐만이 아닌, 0과1이 혼재되어있는 중첩상태가 더 있기에,
2^n승으로 동작한다는 것은 충분히 이해가 가는 부분이긴했다."
그런데 정말 궁금했던것은 아래 부분이다.
"양자컴퓨터는 이런 0과1 그리고 0과1이 동시에 존재하는 중첩상태를 이용해서 더 빠르게 모든 경우의 수를 거의 동시에 찾아낸다.
그리고 우리는 이 모든 상황에 대한 답 꾸러미가 있는 곳에서 우리가 원하는 답을 골라내서 값을 찾는다" 라는 부분이다.
양자컴퓨터가 어마어마하게 빨라서 우리가 계산해야하는 모든경우의 수(답)을 이미 알고있고,
양자역학이론으로 우리는 그 꾸러미에서 최종적으로 올바른 답을 관측을 하여 답을 찾아야하는 시스템이라는것은 알고있는데,
여기서 그 답을 골라낸다는 이야기가 결국은 우리가 답을 알고있다는 이야기인가??
우리는 답을 몰라서 양자컴퓨터로 답을 찾아달라고 한건데,
결국 우리가 양자 컴퓨터가 계산한 모든 경우의수에서 우리가 답을 골라내야 한다니..이건 뭐...혼란이었다..
답을 모르는데, 답을 골라내야한다는 말도 안되는 말 같았다..
이 부분이 가장 혼란스럽고, 이해를 할수없었던 부분이였긴했고, 해당 부분을 다른곳에서 찾아보려고 했으나,
정확한 답을 찾지는 못했다.
두루뭉실한 이야기뿐이였다
이 책을 읽고, 이부분에 대해서 드디어 궁금증이 해소가 되었다.
양자 컴퓨터가 동작하는 원리를 드디어 이해했다고 해야하나
(물론 100%는 아니지만, 내가 이해할수있을정도면 됐다 ㅋㅋ)!!
양자컴퓨터의 동작 방식은 아래와 같다.
큐비트를 이용하여, 양자의 중첩, 얽힘등을 이용하여, 우리가 구해야하는 답을 모두 어마어마한 속도로 구하게 한다.
(마치, 빅데이터에서 hadoop을 돌리는 느낌이랄까? 하나의 데이터를 얻기위해 모든 경우의 수를 우선 모두 찾는다)
해당 구한 답들중에서 우리가 찾아야 하는 답을 찾기위해서, 우리는 검증함수를 이용한다. f(x) = A
검증함수란 해당 x가 답이라면, 반듯이 성립되야하는 수식(함수)다.
우리가 원하는 답은 반드시 f(x)검증함수가 true(참)이여야 한다.
따라서, 양자컴퓨터에서 구한 모든 경우의수를 해당 검증함수 f(x)를 통하여 가장 답에 가까운 답들을 뽑아낸다.
양자컴퓨터에서는 측정을 하는순간 오류가 발생하기에, 100% 정답이라는 보장을 할수없기에,
결국 100%에 가까운 정답들은 다수가 나올수도 있다.
해당 정답 후보군들은 기존 오답 후보와는 반대로 파동(위상)을 역행시킨다(파동그래프를 거꾸로 만든다)
그러면, 정답 후보군의 값들은 파동이 다른 틀린 후보들과는 파동이 반대로 되고,
여기서 간섭을 이용하여, 틀린 후보의 파동을 상쇄한다.
결국 반대 파동을 보내서, 파동이 상쇄되게 한다.
이렇게 하면, 정답 후보들은 파동이 더 강하게 되고, 나머지 오답들은 파동이 상쇄되어 약하게 된다.
중요!!! 여기서 파동을 이용해서 상쇄하는것이라는 의미는, 양자는 관측하기전에는 파동으로 존재하기에, 마치 호숫가에 돌이 던져졌을때, 물파동이 일어나는것과 같다고 생각하면된다. 파동은 결국 그 반대 파동을 이용해서 간섭을 시키면(혼합), 파동이 상쇄된다.
(마치, 노이즈켄슬링 기능이, 노이즈 주파수와 반대 주파수를 쏴서 주파수를 상쇄시키고 감소시키는 것과 비슷하다고 생각하면 된다)
이런 과정을 여러번 한다.
계산 --> 검증 --> 파동 상쇄
이렇게 하면, 결국 상쇄가 되지않고, 오히려 증폭된, 파동이 가장 센 놈 하나가 남게 되고,
이때 측정을 하면, 파동이 센놈은 높은 확률로 측정값으로 나타나게 된다.
여기서 중요한건 높은 확률로 측정이 된다는것이지, 100% 측정이 된다는것은 아니라는점이 매우 중요하다.
양자역학은 불학실성이 기본이기에 100% 정확한것은 없다고 생각하는게 훨씬 이해하기가 좋다.
결국 양자컴퓨터는 저 검증함수(f(x))가 있는 문제를 빨리 풀수있고, 계산가능한것이지, 검증할수없는 문제에 대해서는 동작을 할수없는 구조라는것을 이번에 깨달았다. 와!! 지금 생각해도..미쳤다.
(이때 그래서 이해가 되었다, 양자컴퓨터가 가장 잘 동작하는 곳은 암호학, 길찾기, 경우의수 찾기, 소수찾기등이구나.. 이런 문제는 답을 찾기는 어려워도, 해당 답이 정답이라는 검증은 가능한 문제들이다 - 따라서 양자컴퓨터의 활약이 가능한 분야이다!!!)
프로그래머로써, 항상 프로그램은 정확하고, 입력값에 대한 출력값은 100% 예상가능하고 정확하다는 생각으로 지냈지만,
양자역학에서는 이런 100%라는 것이 존재하지 않고 모든것이 확률로만 이야기를 할수있다는점,
그리고 이런 불확실성을 가장 확실해야하는 컴퓨터에 적용한다는 부분이 정말 아이너니하다고 생각이 든다.
가장 정확해야하는 분야해서 가장 불확실한 학문으로 풀려고 하는것이 양자컴퓨터다...
참, 세상은 너무 신기한것 같다.
닐스 보어 선생님...
대단하십니다!
'MY개발생각' 카테고리의 다른 글
| [개발생각] REDIS vs RDB 안전성에 대해서.. (0) | 2026.04.21 |
|---|---|
| [개발생각] 온라인 사용자에게만 통계가 필요한 경우 (1) | 2026.04.18 |
| [개발생각] 캐시 스탬피드 (0) | 2026.04.13 |
| [개발생각] 내가 생각하는 개발자란? (0) | 2026.04.05 |
| [개발생각] 트랜잭션 시간을 줄이자 (0) | 2026.04.05 |
