당신은 주제를 찾고 있습니까 “양자 알고리즘 – 어서와! 양자 컴퓨팅은 처음이지? 6. 양자 알고리즘은 왜 빠른가?“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 주니온TV 아무거나연구소 이(가) 작성한 기사에는 조회수 679회 및 좋아요 9개 개의 좋아요가 있습니다.
양자 알고리즘은, 양자역학의 원리를 이용해서 틀린 답안이 관측될 확률을 줄이고 맞는 답안이 관측될 확률을 높입니다. 실제로 관측을 하기 전에 말이죠.
양자 알고리즘 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 어서와! 양자 컴퓨팅은 처음이지? 6. 양자 알고리즘은 왜 빠른가? – 양자 알고리즘 주제에 대한 세부정보를 참조하세요
#Qiskit #Hackathon #Korea
어서와! 양자 컴퓨팅은 처음이지?
6. 양자 알고리즘은 왜 빠른가?
본 강의는 양자 컴퓨팅 입문자를 위한 강의이며,
Qiskit Hackathon Korea(21년 2월 18일-19일)에
참여하시고 싶은 분들을 위해 제작했습니다.
양자 컴퓨팅의 세계로, 가즈앗!
전체 재생목록 바로가기:
https://youtube.com/playlist?list=PLHqxB9kMLLaMS6F5RSA973qptBlFsk5RE
Qiskit Hackathon Korea 공식 홈페이지:
https://www.hackerearth.com/challenges/hackathon/qiskit-hackathon-korea/
주니온TV@Youtube – 자세히 보면 유익한 코딩 채널
https://www.youtube.com/c/주니온TV
양자 알고리즘 주제에 대한 자세한 내용은 여기를 참조하세요.
양자 알고리즘의 세계 – 과학의 지평
피터 쇼어Peter Shor의 소인수 분해 알고리즘은 사람들이 양자 컴퓨터에 많은 관심을 갖게 된 시발점이었다. 양자 컴퓨터를 이용해 현실적으로 중요한 …
Source: horizon.kias.re.kr
Date Published: 11/27/2022
View: 4347
양자컴퓨터 – 나무위키
4.1. 양자 알고리즘의 구조4.2. 고속 연산4.3. 보안. 5. 실용화 가능성. 5.1. 양자 우위와 오류5.2. 위상학적 양자컴퓨터5.3. 이온트랩 양자컴퓨터.
Source: namu.wiki
Date Published: 3/16/2021
View: 1459
[논문]양자 알고리즘을 통한 외판원 문제 해결
(2018)은 양자 위상추정(Quantum Phase Estimation, QPE)으로 외판원 … 본 논문에서는 외판원 데이터베이스에서 최단 순환 상태를 양자 알고리즘으로 찾는 방법을 …
Source: scienceon.kisti.re.kr
Date Published: 12/14/2021
View: 9038
양자 컴퓨팅 이해 – Azure Quantum – Microsoft Docs
친숙하고 신뢰할 수 있는 Azure 플랫폼을 사용하여 양자 알고리즘을 개발하는 방법과 여러 공급자의 실제 하드웨어에서 양자 알고리즘을 프로그래밍 …
Source: docs.microsoft.com
Date Published: 11/29/2022
View: 3630
GIST, 양자컴퓨터 ‘최적화 알고리즘’ 개발… 연산 효율 5배
GIST(광주과학기술원) 안창욱 교수 연구팀은 기존 반-고전 양자 유전 알고리즘의 최적화 성능을 유지하면서도 연산 효율성을 획기적으로 끌어올릴 수 …
Source: www.brainmedia.co.kr
Date Published: 5/30/2022
View: 4871
[선행기술원] Quantum Information – 양자 알고리즘 | 현대자동차
[선행기술원] Quantum Information – 양자 알고리즘 | 현대자동차 | 경력 | 책임연구원 | R&D | 판교 | 2022-04-22 ~ 2022-05-08.Source: www.hyundai.co.kr
Date Published: 5/9/2021
View: 4843
양자 알고리즘 – YES24
[도서] 양자 컴퓨터 원리와 수학적 기초 [ 2021년 대한민국학술원 우수학술도서 선정도서 ]. 크리스 베른하트 저/이정문 역 에이콘출판사.Source: m.yes24.com
Date Published: 11/6/2022
View: 2825
핵심적인 양자 컴퓨팅의 내용 – Qiskit
추가적인 알고리즘과 애플리케이션 계층은 보통 고전적인 컴퓨팅 자원과 함께 양자 회로를 이용하여 최적화, 양자 화학, 물리, 기계 학습, 그리고 금융에 관한 문제들을 …
Source: qiskit.org
Date Published: 7/17/2021
View: 4974
주제와 관련된 이미지 양자 알고리즘
주제와 관련된 더 많은 사진을 참조하십시오 어서와! 양자 컴퓨팅은 처음이지? 6. 양자 알고리즘은 왜 빠른가?. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.
주제에 대한 기사 평가 양자 알고리즘
- Author: 주니온TV 아무거나연구소
- Views: 조회수 679회
- Likes: 좋아요 9개
- Date Published: 2021. 2. 10.
- Video Url link: https://www.youtube.com/watch?v=kLZfqkshogw
양자 컴퓨터 시대의 문턱에서
피터 쇼어Peter Shor의 소인수 분해 알고리즘은 사람들이 양자 컴퓨터에 많은 관심을 갖게 된 시발점이었다. 양자 컴퓨터를 이용해 현실적으로 중요한 문제를 해결하는 데 필요한 연산량을 혁신적으로 줄일 수 있다는 사실은 많은 과학자들 사이에서 상당한 반향을 일으켰다. 만약 양자 컴퓨터가 소인수 분해를 더 빠르게 할 수 있다면, 다른 문제들도 빠르게 풀 수 있지 않을까? 양자 컴퓨터가 빠르게 풀 수 있는 문제에는 어떤 것들이 있을까? 이러한 종류의 질문들은 지난 20여 년간 양자 컴퓨터라는 분야를 이끌어 온 중요한 연구 화두였다. 이번 글에서는 양자 컴퓨터를 이용해서 할 수 있는 여러 유용한 일들에 대해 살펴보고자 한다.
신물질 개발
1 HORIZON “고체물리학의 관점에서 본 구석기, 신석기, 청동기, 철기 시대”를 참고할 수 있다. 인류의 역사를 돌이켜 보면, 새로운 시대의 도래에는 거의 빠짐없이 신물질의 발견이 수반되었다. 먼 과거로 시간을 되돌려보면 인류의 역사는 사람들이 사용하는 도구의 종류로 구분되곤 했었다. 석기 시대의 인류는 자연에 존재하는 돌을 이용해 도구를 만들었지만, 시간이 지나면서 인간은 차츰 제련을 통해 더 강하고 유용한 도구를 만들어냈다. 이것이 청동기 시대의 도래이고, 이후 철기 시대는 우리에게 알려진 수많은 문명들의 시발점이 되었다.1 비교적 최근의 역사를 짚어봐도 마찬가지다. 우리 주변에서 항상 볼 수 있는 플라스틱, 전지, 유리 등의 물질이 없는 삶은 상상하기 힘들다. 이처럼 신물질의 발견은 인류의 삶이 직접적으로 크게 바뀌는 중요한 계기가 되곤 한다. 20세기에 들어선 뒤 물리학자들은 자연에 존재할 수 있는 모든 물질의 특성을 설명할 수 있는 이론을 만들어낸다. 바로 양자 역학이다. 우리에게 무한한 연산 능력만 있다면, 양자역학을 기술하는 공식을 이용해서 자연에 존재할 수 있는 모든 물질의 특성을 정확하게 계산해서 예측할 수 있다. 하지만 근사 없이 이러한 계산을 하기 위해 필요한 전체 연산량은 현재 지구상에 존재하는 컴퓨터를 전부 동원해도 턱없이 부족할 만큼 크다. 기존의 컴퓨터로 양자역학적인 효과를 다루기 위해서는 엄청나게 많은 연산이 필요하기 때문이다. 미국 에너지부에서 몇 년에 걸쳐 책정한 슈퍼컴퓨팅 관련 예산만 해도 2조 원이 넘는데[1], 이러한 엄청난 예산에도 불구하고 양자역학적인 효과가 강하게 나타나는 물질의 특성을 이론적으로 예측하기에는 아직도 많은 어려움이 많다.
연재글 양자 컴퓨터 시대의 문턱에서 양자 컴퓨터의 기원 양자 알고리즘: 소인수 분해 알고리즘 양자 알고리즘의 세계 양자 오류보정 양자 우월성 NISQ 시대의 양자 컴퓨터 그렇기 때문에, 많은 경우 물질의 특성을 파악하기 위해서는 직접 물질을 만들어 보는 수고를 할 수밖에 없다. 예를 들어 새로운 태양 전지를 만드는 것이 목표라고 가정해 보자. 두 가지의 물질을 혼합해서 태양 전지를 만들고자 한다면, 분명 최대의 효율을 낼 수 있는 혼합 비율이 존재할 것이다. 그렇다면 최대 효율의 혼합 비율은 어떻게 찾을 수 있을까? 각각의 혼합 비율에 대한 전지의 효율을 하룻밤 만에 직접 계산할 수 있다면, 최대의 효율이 얼마인지와 이를 위한 혼합 비율을 모두 알 수 있을 것이다. 이는 실로 중요한 정보다. 최대 효율의 계산을 통해 기존의 전지에 비해 새로운 전지가 얼마나 뛰어난지 알 수 있고, 최적화된 혼합 비율의 구체적인 정보를 통해 새로운 전지를 직접 만들어내는 공정 과정으로 바로 넘어갈 수 있기 때문이다. 그에 반해 이러한 연산을 할 수 없다면, 직접 각각의 혼합 비율 샘플을 여러 개 만들어서 매번 효율을 시험해보는 수밖에 없다. 이를 위해 필요한 인적, 물적 자원이 적지 않다는 것은 독자들도 쉽게 이해할 수 있으리라 생각한다. 일단 이러한 실험을 하기 위해서는 물질을 혼합하는 실험실 자체가 만들어져야 하고, 또 효율을 테스트하는 데 시간이 필요하기 때문이다. 일련의 실험을 직접 수행할 사람들이 필요하다는 사실은 두말할 나위 없다.
양자 컴퓨터가 소인수 분해를 더 빠르게 할 수 있다면, 다른 문제들도 빠르게 풀 수 있지 않을까? 양자 컴퓨터가 빠르게 풀 수 있는 문제에는 어떤 것들이 있을까? 이러한 질문은 지난 20여 년간 양자 컴퓨터라는 분야를 이끌어 온 중요한 연구 화두였다. 물질들의 특성을 예측하기 위해 만들어진 계산 방식이 있긴 하지만, 문제는 물질 속에 존재하는 수많은 전자들 사이의 강한 전기적 상호 작용의 효과를 정확히 계산하기에는 많은 어려움이 있다는 점이다. 결과적으로 전자 간의 상호작용 때문에 일어나는 현상을 이해하는 데에도 어려움이 생기게 된다. 양자 컴퓨터는 전자 간의 상호 작용이 강한 물질이 작동하는 원리를 이해하는 데 큰 도움을 줄 것으로 예상된다. 이론으로 설명되는 초전도 물질과 비교했을 때, 고온 초전도 현상을 나타내는 물질은 훨씬 높은 온도에서도 전기를 에너지 손실 없이 보낼 수 있다. 하지만 안타깝게도 고온 초전도체가 어떤 방식으로 작동하는지에 대한 미시적인 이해는 아직도 크게 부족하다. 만약 상온에서도 이런 초전도 현상을 나타내는 물질을 만들어 낼 수 있다면, 이는 인류의 에너지 소모를 크게 줄일 수 있는 중요한 일이 될 것이다. 양자 컴퓨터를 이용하면 고온 초전도체 물성의 미시적인 이해를 돕는 데 필요한 시간을 크게 줄일 수 있을 것으로 기대된다.[3] 또 다른 중요한 예로 질소 고정 과정을 들 수 있다. 질소 고정 과정은 공기 중에 있는 질소를 암모니아로 바꾸는 일을 말하는데, 현대 사회에서 비료를 만들 때 가장 중요한 화학 작용 중 하나이다. 이렇게 암모니아를 만드는 방식은, 1900년대 초반 하버Fritz Haber라는 화학자가 만든 공정 방식을 아직까지도 이용한다.2 이 공정 과정에는 400도에 달하는 고온과 200기압에 달하는 고압 환경이 필요하고 이러한 환경을 유지하기 위해서는 상당한 에너지 소모가 수반된다. 실제로 현재 전 인류가 쓰는 에너지의 1% 내지 2% 정도가 해당 공정에 쓰인다고 알려져 있다.[2] 하지만 자연에서는 평범한 환경에서도 박테리아가 아무런 문제 없이 질소를 암모니아로 바꿀 수 있다. 만약 박테리아가 어떠한 방식으로 암모니아를 생성하는지 이해하면 에너지 효율이 훨씬 높은 공정 과정을 만들 수 있을지도 모른다. 최근 연구자들은 양자 컴퓨터를 이용해서 이러한 화학 반응이 어떻게 일어날 수 있는지 효율적으로 예측할 수 있다는 사실을 발견했다.3[4] 비록 필자가 제시한 예는 두 개에 불과하지만, 이처럼 우리는 아직도 인류에게 큰 영향을 미칠 수 있는 물질이 어떠한 원리로 작동하는지 정확하게 알지 못하는 경우가 많다. 물질의 특성을 예측할 수 있는 공식은 이미 우리에게 알려져 있지만, 공식을 통해서 특성을 계산하는 데에는 많은 어려움이 있기 때문이다. 양자 컴퓨터를 이용하면 물질의 특성을 파악하기 위한 계산량을 크게 줄일 수 있을 것으로 예상된다.
2 하버는 이 공로로 노벨 화학상을 받았다.
3 HORIOZN “양자정보: 생물학에서 컴퓨터까지”를 참고할 수 있다.
이러한 계산을 수행하기 위해서는 최소한 수만 내지 수십만 개의 큐빗을 갖고 있는 양자 컴퓨터가 필요할 것이라는 것이 학계의 정설이다. 현재 나와 있는 양자 컴퓨터의 큐빗이 100개도 안 되는 것을 생각하면, 아직도 갈 길이 멀어 보이는 것이 사실이다. 하지만 필자는 이러한 실험과 이론 사이의 간극이 계속해서 좁혀져 왔다는 사실을 강조하고 싶다. 큐빗의 숫자는 계속해서 늘어나고 있고, 대규모의 양자 컴퓨터를 만들기 위해서 쏟아붓는 자원과 노력은 시간이 지날수록 계속해서 더 많아지고 있다. 뿐만 아니라, 물성 계산에 필요한 연산량도 연구자들의 노력으로 계속 줄어들고 있다. 이러한 발전이 계속되면 생각보다 머지않은 시일 내에 큰 규모의 양자 컴퓨터를 이용해서 유용한 계산을 할 수 있게 될지도 모른다. 물론 그 시기가 정확히 언제일지는 예측하기 힘들지만 말이다. 필자는 간혹 이런 생각을 한다. 이렇게 물질들의 특성을 손쉽게 계산할 수 있는 때가 오면, 인류의 발전 양상은 이전과는 전혀 다른 모습을 보일 수도 있지 않을까? 여태껏 인류가 신물질을 발견해온 방법은 실험을 바탕으로 한 예측이었다. 만약 실험을 하는데 필요한 자원과 시간을 줄일 수 있다면 새로운 물질을 발견하고 공정 과정을 만들어내는 시간을 크게 단축할 수 있을지도 모른다. 인류의 거대한 발전의 이면에 항상 신물질의 발견이 있었다는 사실을 기억해 보면, 어쩌면 양자 컴퓨터의 도래는 인류의 발전 속도가 비약적으로 증가하는 중요한 역사의 한순간이 될지도 모르겠다는 생각이 든다.
빠른 최적화 수많은 산업체나 금용, 정부기관에서 결정을 내릴 때 어느 것이 최적의 선택인지 알아내는 데 많은 시간과 자원이 들어간다. 특히 요즘처럼 수많은 데이터가 산재하고 처리해야 할 결정의 수가 많아진 시대에는 어떠한 결정을 내려야 하는지 선택하기 쉽지 않은 경우가 많다. 이렇게 많은 경우의 수 중에서 최대의 효율이나 이득을 내는 방법을 찾는 문제를 최적화 문제라고 부른다. 최적화 문제와 관련해, 양자 컴퓨터는 기존의 컴퓨터들보다 적은 연산량으로도 같은 최적화 값을 찾아낼 수 있다.
4 안타깝게도 양자역학적인 효과를 이용하기 위해서는 상자들을 양자역학적인 중첩상태로 만들 수 있어야 한다. 이러한 거시적인 물체를 중첩 상태로 만드는 일은 아직 물리적으로 매우 어렵다. 양자 컴퓨터가 최적화 문제 해결의 속도를 향상시킬 수 있는 비결의 이면에는 놀라운 사실이 하나 있다. 만약에 독자들이 필자에게 1000개의 닫힌 상자를 가져왔다고 생각해 보자. 이 중 하나의 상자에는 100만 원짜리 상품권이 들어있고 나머지 상자들은 전부 꽝이다. 상품권이 들어있는 상자를 찾기 위해서는 상자를 총 몇 번 열어봐야 할까? 최악의 경우에는 1000번을 열어봐야 할 테고, 평균적으로는 수백 번은 열어봐야 높은 확률로 상품권을 찾을 수 있을 것이다. 하지만 양자역학적인 효과를 이용하면 상자를 단 25번만 열어서 100%에 가까운 확률로 상품권을 찾는 것이 가능하다.4 이 놀라운 사실은 그로버Lov Grover의 알고리즘으로 알려져 있다.[6] 1990년대 벨 연구소에서 일하고 있던 그로버는 쇼어의 소인수 분해 알고리즘에 자극을 받아 양자 알고리즘에 대한 연구를 시작했다. 그는 다음과 같은 사실을 발견했다. 두 개의 값을 갖는 함수 \(f(x)\)를 생각해 보자. 이 함수가 단 하나의 \(x\)에 대해서는 \(f(x)=1\)의 값을 지니고 나머지 \(x\)에 대해서는 \(f(x)=0\)의 값을 지닌다고 가정해보자. 만약 가능한 \(x\)의 범위가 \(1\)부터 \(N\)이라면 \(f(x)\)를 대략 \(\frac{\pi}{4}\sqrt{N}\)번 계산해서 \(f(x)=1\)인 \(x\)를 찾을 수 있다. 여기에 \(N=1000\)의 값을 대입해 보면 대략 \(f(x)\)를 \(25\)번 정도 계산해서 답을 찾아낼 수 있다는 것을 알 수 있다. 위의 예에서 상자의 내용물을 확인하는 행위를, 함수를 계산하는 것으로 해석할 수 있다. 즉 상자를 열어 상품권이 나오는 경우를 \(1\)로, 꽝이 나오는 경우를 \(0\)으로 생각하면 된다. 그로버의 알고리즘은 이처럼 함수의 값을 계산하는 것 자체는 쉽지만, 특정한 조건을 만족하는 \(x\)의 값을 찾기는 어려운 경우에 유용하게 쓰일 수 있다. 그로버의 알고리즘을 이용하면 다양한 최적화 문제를 기존 컴퓨터에서 사용하는 알고리즘보다 빠르게 풀 수 있다. 최적화 값을 구하기 위해 기존 컴퓨터를 이용하는 알고리즘으로 \(N\)번의 계산이 필요하다면, 이 알고리즘을 그로버의 접근 방식을 이용한 양자 컴퓨터상에서는 대략 \(\sim \sqrt{N}\)번의 연산으로 계산할 수 있다는 식이다.
이 알고리즘의 작동 원리는 중고등학교 때 배우는 평면기하학을 통해 이해해 볼 수 있다. 알고리즘은 모든 상태가 같은 확률로 동시에 존재하는 중첩상태로부터 출발한다. 총 가능한 상태의 수가 \(N\)개이고 \(f(x)=1\)을 만족하는 \(x\)가 단 한 개 있다면, 이 중첩상태 \(|\psi\rangle\)는 다음과 같이 나타낼 수 있을 것이다.
\begin{equation}
|\psi\rangle = \frac{\sqrt{N-1} |\text{오답}\rangle + |\text{정답}\rangle}{\sqrt{N}}.
\quad \cdots \quad (1)
\end{equation}
이 상태는 정답, 즉 \(f(x)=1\)을 만족하는 \(x\)일 확률이 정확히 \(1/N\)이기 때문이다. 이 상태 \(|\psi\rangle\)를 그림으로 나타내보면 [그림1]과 같은 결과를 얻게 된다. 좀 더 풀어서 설명해 보자면 \(|\psi\rangle\)는 “오답”인 상태와 “정답”인 상태의 중첩상태이고, 우리는 이 상태를 2차원 평면에 존재하는 벡터로 이해할 수 있다. 그로버의 알고리즘은 [그림1]에 그려져 있는 벡터 \(|\psi\rangle\)를 두 가지의 간단한 연산을 이용해서 “정답”이라고 쓰여 있는 \(x\)축으로 옮기는 것이 목표이다. 이 상태에서 측정을 하게 되면 높은 확률로 정답을 얻을 수 있다. 첫 번째 연산은 양자 역학적으로 \(f(x)\)를 계산해서 \(f(x)=1\)인 양자 상태의 위상을 180도 바꾸는 일이고, 두 번째 연산은 상태가 \(|\psi\rangle\)에 있으면 위상을 180도 바꾸는 연산이다. 이 연산들은 이전 글 “양자 컴퓨터의 기원”에서 말했듯이, 양자 컴퓨터가 손쉽게 할 수 있는 계산들이다. 양자 컴퓨터에서 첫 번째 연산을 하기 위해서는 고전 컴퓨터에서 \(f(x)\)를 계산하는데 필요한 정도의 연산량으로 충분하고, 두 번째 연산을 위해서는 \(n\)개의 큐빗이 있을 경우 \(n\)에 비례하는 연산량으로 충분하다. 이 연산 과정들이 어떠한 일을 하는지는 그림으로 쉽게 이해할 수 있다. 첫 번째 연산은 “정답” 축에 대하여 대칭 이동을 하는 것이고 두 번째 연산은 \(|\psi\rangle\)에 대해서 대칭 이동을 하는 것이다. 때문에, 이러한 대칭 이동을 통해서 어떻게 \(|\psi\rangle\)을 “정답”축으로 이동시킬 수 있는지 이해하면 그로버의 알고리즘이 어떠한 원리로 작동하는지 쉽게 이해할 수 있다. 이제 이 두 연산을 어떻게 이용할 수 있는지 알아보자. 우선 “정답”축에 대한 대칭 이동을 하게 되면 우리는 [그림2]와 같은 결과를 얻게 된다. 그다음 \(|\psi\rangle\)에 대한 대칭 이동을 하게 되면 우리는 [그림3]과 같은 결과를 얻게 된다. 두 번의 연산을 통해서 “오답”축에 대한 각도인 \(\theta\)가 \(\theta + 2\theta = 3\theta\)로 바뀌게 된다. 이를 \(n\)번 반복하면 각도는 \((2n+1)\theta\)로 바뀐다. 정답상태에 가까워지기 위해서는 \((2n+1)\theta\)가 \(90\)도, 즉 \(\frac{\pi}{2}\)에 가까워져야 한다. 이를 위해서는 \(n\)이 다음과 같은 식을 만족해야 한다:
\begin{equation}
\begin{aligned}
n= \frac{\pi}{4}(\arcsin(N^{-\frac{1}{2}}))^{-1}-1.
\end{aligned}\quad \cdots \quad (2)
\end{equation}\(N\)이 충분히 커지게 되면 이 식은 \(n\approx \frac{\pi \sqrt{N}}{4}\)로 단순화된다. 이는 정확히 앞에서 필자가 말했던 식이다. 이를 통해 평균적으로 \(\sim N\)번 \(f(x)\)를 계산해 보아야 하는 고전적인 방법보다 훨씬 적은 시도로도 \(f(x)=1\)을 만족하는 \(x\)를 찾아낼 수 있다. 이것이 가능한 이유는 양자역학적인 간섭 및 보강효과 때문이다. 고전적인 방식으로는 직접 \(f(x)\)를 계산해서 그 결과를 확인해야 하지만, 양자 역학적인 방식을 이용하면 상쇄간섭을 통해 오답이 나올 확률을 줄일 수 있다.
5 비록 \(f(x)=1\)인 \(x\)가 하나밖에 없다고 가정했지만 그러한 \(x\)가 여러 개인 경우에도 비슷한 속도 향상을 가져올 수 있다. 그로버의 알고리즘이 중요한 이유는 범용성에 있다. 실제로 위에서도 보았듯 우리는 함수 \(f(x)\)에 대해서 그다지 특별한 가정을 하지 않았다.5 이는 쇼어의 소인수 분해에서 함수가 주기적인 특성을 보였다는 점과는 매우 다르다. 이 때문에 그로버의 접근 방식을 이용하면 훨씬 더 다양한 연산문제들에 대해서 속도 향상을 가져올 수 있다. 그로버의 접근 방식을 이용해서 기존 컴퓨터보다 문제를 빠르게 풀 수 있는 예로 최근에 나온 논문 하나를 소개해 보겠다.[7] 다음과 같은 상황을 생각해 보자. 독자 중 한 명이 새로 카페를 연다고 생각해 보자. 커피 메뉴로 두 가지 종류의 커피를 생각 중이다. 첫 번째 종류는 에스프레소 기계를 이용한 아메리카노, 라떼 같은 커피들이고, 두 번째 종류의 커피는 비교적 손쉽게 만들 수 있는 드립 커피다. 에스프레소 기계를 이용하면 더 비싼 값을 받고 다양한 손님을 모을 수 있지만, 대신에 더 많은 투자 비용이 필요하고 기계가 카페의 자리도 많이 차지한다. 드립 커피를 만들면 아메리카노나 라떼를 사려는 손님들을 받을 수는 없겠지만 대신에 투자 비용도 적고 자리도 적게 차지한다. 더 많은 투자를 해서 더 비싼 값을 받아야 할까, 아니면 더 적은 투자를 해서 박리다매를 해야 할까? 만약 카페 주인의 투자금이 천만 원이라고 가정해 보자. 그리고 에스프레소 기계 하나를 사는 데에는 75만 원, 드립 커피 기구에는 10만 원이 든다고 생각해 보자. 주인이 생각해 봤을 때, 에스프레소 기계 하나를 사면 대략 기계 하나로 시간당 15만 원을 벌어들일 수 있고, 드립 커피를 이용하면 시간당 만원을 벌어들일 수 있다. 또한 카페에는 대략 20평 정도만큼의 공간밖에 없다고 하자. 에스프레소 기계 하나를 설치하려면 3평 정도의 공간이 필요하지만 드립 커피를 만드는 데는 1평 정도의 공간이면 충분하다. 그렇다면 주인은 에스프레소 기계와 드립 커피 기구를 각각 몇 개씩 사야 할까? 이는 다음과 같은 문제로 나타낼 수 있다. \(x\)와 \(y\)를 에스프레소 기계와 드립 커피 기계의 숫자라고 하자. 우리는 다음과 같은 조건을 만족하는 \(x\)와 \(y\)중에서 최대한의 이득을 얻을 수 있는 \(x\)와 \(y\)를 찾아야 한다.
\begin{equation}
\begin{aligned}
75x + 15y &\leq 1000 \\
3x+ y &\leq 20
\end{aligned}\quad \cdots \quad (3)
\end{equation}여기서 총 이득은 \(15x+y\)이다. 어떻게 하면 최대한의 수익을 낼 수 있을까? 이는 혼합 정수 선형 계획법Mixed Integer Programming이라고 불리는 문제의 한 종류이고, 변수의 숫자가 많아질수록 최적값을 찾아내는데 필요한 연산량이 변수의 숫자에 대해 지수함수적으로 증가한다. 비록 그로버의 알고리즘이 푸는 문제는 위에서 제시한 문제와는 완전히 달라 보이지만, 그 밑바탕에 있는 아이디어를 이용해서 비슷한 속도 향상을 가져올 수 있다. 기존의 컴퓨터에서 최대한의 이득을 얻는 조건을 구하는데 필요한 연산량이 \(N\)이라고 하면 양자 알고리즘을 이용하면 대략 \(\sim \sqrt{N}\) 정도의 연산량만 필요하다.[7]
그로버의 알고리즘이 중요한 이유는 범용성에 있다. 실제로 위에서도 보았듯 우리는 함수 \(f(x)\) 대해서 그다지 특별한 가정을 하지 않았다. 이는 쇼어의 소인수 분해에서 함수가 주기적인 특성을 보였다는 점과는 매우 다르다. 이처럼 일상생활에서 쉽게 생각할 수 있는 일반적인 최적화 문제에 대해서도 양자 컴퓨터는 기존 컴퓨터보다 훨씬 적은 연산량으로 같은 계산을 할 수 있다. 최적화 문제는 사회 전반에 걸쳐 다양한 곳에 쓰이기 때문에, 양자 컴퓨터가 기존 컴퓨터보다 최적화 문제를 빠르게 풀기 시작하는 날이 오면, 신물질 발견보다 더 큰 영향을 인류에 미칠지도 모른다. 아쉽게도 이러한 문제들로부터 얻을 수 있는 속도 향상은 양자 시뮬레이션으로부터 얻을 수 있는 속도 향상에 비해서는 작은 편이다. 양자 시뮬레이션 같은 경우에는 기존 컴퓨터에서 지수함수적으로 늘어나는 연산량을 대수적으로 늘어나는 연산량으로 줄일 수 있지만, 이러한 최적화 문제들은 그렇지가 않다. 필요 연산량이 고전 컴퓨터에서 지수함수적으로 늘어나면 양자 컴퓨터에서도 지수함수적으로 늘어나게 된다. 단지, 지수함수적으로 늘어나는 속도가 다를 뿐이다. 예를 들어서, 고전 컴퓨터에서 필요한 연산량이 \(2^n\)이라고 하면 양자 컴퓨터에서는 필요한 연산량이 \(2^{n/2}\)인 식이다. 이 때문에 양자 컴퓨터를 이용한 속도 향상을 가져오기 위해서는 상당히 큰 규모의 양자 컴퓨터가 필요할 것으로 예상된다. 이렇게 속도 향상이 제한적인 이유는 위에서 다루었던 그로버 알고리즘의 작동 원리를 통해서 유추해 볼 수 있다. 그로버의 알고리즘을 액면 그대로 사용하면 우리는 함수를 \(\sim \sqrt{N}\)번 계산하는 것을 피할 수가 없다. 이는 “오답”축과 떨어져 있는 각도 \(\theta\)가 단조적으로 증가하기 때문이다. 이 때문에 그로버의 알고리즘에서 사용하는 대칭이동을 \(\sim\sqrt{N}\)번보다 적게 사용하면 정답 확률은 \(\sim\sqrt{N}\)번 했을 때보다 작을 수밖에 없다. 특히 \(N=2^n\)이라고 가정했을 때 대칭 이동을 \(n\)에 대해서 대수적으로 증가하는 횟수만큼만 적용하면 정답 확률은 여전히 \(n\)에 대해서 지수함수적으로 작을 수밖에 없다. 실제로 그로버의 알고리즘처럼 모든 함수에 대해서 답을 찾아낼 수 있는 알고리즘은 함수를 최소한 \(\sim \sqrt{N}\)번 계산해야 한다는 사실이 알려져 있다.[8] 물론 주기함수처럼 좀 더 특별한 특성을 지니는 함수들의 경우에는 그 특성을 이용해서 더 빠르게 답을 찾아낼 수 있을지도 모른다. 하지만 그러한 함수들의 특성을 이용하기 위해서는 그로버의 알고리즘과는 다른 알고리즘을 사용해야 할 것이다. 어떠한 특성을 이용하면 그로버의 알고리즘보다 더 많은 속도 향상을 가져올 수 있는지에 관한 연구는, 현대 양자 알고리즘 연구에서 중요한 화두이다.
마치며 대규모의 양자 컴퓨터가 만들어지면 인류 사회는 지금과 비교했을 때 상당한 변화가 있을 것으로 예상한다. 양자 컴퓨터를 이용하면 정확한 계산을 통해서 물질들의 작동 원리와 특성을 손쉽게 파악할 수 있고, 다양한 산업체에서 쓰이는 최적화 문제들에 대해서도 많은 속도 향상을 가져올 수 있기 때문이다. 하지만 그런 미래에 도달하기 위해서는 아직도 많은 노력이 필요하다는 점을 강조하고 싶다. 이러한 문제들을 푸는데 쓰이는 알고리즘을 사용하기 위해 필요한 양자 컴퓨터의 크기는 현재 나와 있는 양자 컴퓨터의 크기에 비해 너무나도 크다. 이 때문에 알고리즘들을 수행하기 위해 필요한 양자 컴퓨터의 크기와 연산량을 줄이는 연구는 앞으로도 계속되어야 할 중요한 연구 방향이다. 더불어 이러한 알고리즘을 직접 수행할 수 있는 대규모 양자 컴퓨터의 개발이 중요한 것은 두말할 나위도 없다. 다음 글에는 그러한 컴퓨터를 만들기 위해서 반드시 수반되어야 하는 양자 오류 보정이라는 분야에 대해서 이야기해보도록 하겠다.
[논문]양자 알고리즘을 통한 외판원 문제 해결
초록
▼
외판원 문제(Traveling Salesman Problem, TSP)는 모든 도시를 방문하고 원래 도시로 돌아오는 최단 순환(cycle)을 찾는 문제다. 최근 Srinivasan el al. (2018)은 양자 위상추정(Quantum Phase Estimation, QPE)으로 외판원 데이터베이스(TSP database)를 만드는 방법을 제안하였다. 외판원 데이터베이스에서 최단 순환을 찾아 외판원 문제를 풀 수 있다. 한편, 외판원 데이터베이스에서 최단 순환을 찾기 위해 그로버 연산자(Grover operator)를 구성해야 한다…
외판원 문제(Traveling Salesman Problem, TSP)는 모든 도시를 방문하고 원래 도시로 돌아오는 최단 순환(cycle)을 찾는 문제다. 최근 Srinivasan el al. (2018)은 양자 위상추정(Quantum Phase Estimation, QPE)으로 외판원 데이터베이스(TSP database)를 만드는 방법을 제안하였다. 외판원 데이터베이스에서 최단 순환을 찾아 외판원 문제를 풀 수 있다. 한편, 외판원 데이터베이스에서 최단 순환을 찾기 위해 그로버 연산자(Grover operator)를 구성해야 한다. 그러나 그들의 연구에서 그로버 연산자를 구성하는 체계적인 방법은 논의되지 않았다. 여기에 더해, 그들은 오직 순환 하나에 대응하는 고유벡터 하나를 고려하여 가장 단순한 외판원 문제를 시뮬레이션하였다. 본 논문에서는 외판원 데이터베이스에서 최단 순환 상태를 양자 알고리즘으로 찾는 방법을 제안한다. 먼저 주어진 길이 보다 짧은 순환을 표적(target)으로 그로버 연산자를 구성한다. 다음으로 양자 카운팅 알고리즘(Quantum Counting Algorithm, QCA)으로 주어진 길이 보다 짧은 순환이 있는지 판단한다. 만약 주어진 길이 보다 짧은 순환이 있으면 그로버 검색 알고리즘(Grover’s Search Algorithm, GSA)으로 찾는다. 본 연구의 검증을 위해, 도시가 4곳인 외판원 문제의 세부적인 해결과정을 시뮬레이션한다.
양자 컴퓨팅 이해 – Azure Quantum
목차
양자 컴퓨팅 이해
아티클
07/25/2022
읽는 데 26분 걸림
기여자 7명
이 문서의 내용
양자 컴퓨팅은 환경, 농업, 의료, 에너지, 기후, 재료 과학 및 아직 접하지 않은 다른 분야에서 지구의 가장 큰 도전 과제 중 일부를 해결할 것이라고 약속하고 있습니다. 이러한 문제 중 일부에서는 시스템 크기가 증가하면서 일반 컴퓨팅이 점점 어려워지고 있습니다. 스케일링이 가능하도록 설계할 경우 아마도 양자 시스템은 가장 강력한 슈퍼컴퓨터를 능가하는 기능을 갖게 될 것입니다. 전 세계 양자 연구자, 과학자, 엔지니어, 비즈니스 리더 커뮤니티가 양자 생태계 발전을 위해 지속적으로 협력하고 있으며, 따라서 모든 업계에서 양자 영향이 빠르게 확산될 것입니다.
비트가 클래식 컴퓨팅에서 정보의 기본 단위인 것처럼 큐비트(양자 비트)는 양자 컴퓨팅에서 정보의 기본 단위입니다. 비트 또는 이진수는 0 또는 1을 값으로 가질 수 있지만 큐비트는 0, 1 또는 0 및 1의 양자 중첩을 값으로 가질 수 있습니다.
양자 컴퓨팅의 시작 및 동기에 대한 자세한 내용은 양자 컴퓨팅의 역사 및 배경을 참조하세요.
Azure Quantum은 오늘날의 다양한 양자 하드웨어에서 양자 컴퓨팅 솔루션을 빌드할 수 있는 개방형 에코시스템이며 Cirq, Qiskit 및 Q#을 지원하므로 선호하는 개발 도구를 유연하게 사용할 수 있습니다. 친숙하고 신뢰할 수 있는 Azure 플랫폼을 사용하여 양자 알고리즘을 개발하는 방법과 여러 공급자의 실제 하드웨어에서 양자 알고리즘을 프로그래밍하고 실행하는 방법을 알아볼 수 있습니다.
실제 양자 하드웨어에서 Azure Quantum 작업 영역을 만들고 양자 프로그램을 제출하는 방법을 알아보세요. 처음 사용자는 작업 영역을 만들 때 참여하는 각 양자 하드웨어 공급자(각각 500 USD)와 함께 사용할 수 있는 무료 Azure Quantum 크레딧을 자동으로 받습니다. 크레딧이 더 필요하면 Azure Quantum 크레딧 프로그램에 신청할 수 있습니다.
팁 무료 평가판. Azure 구독이 없는 경우 Azure 체험 계정을 만들 수 있습니다(학생용 무료 Azure 계정 확인).
양자 컴퓨팅과 Azure Quantum은 어디에 사용할 수 있나요?
양자 컴퓨터는 모든 작업을 더 빠르게 수행할 수 있는 슈퍼컴퓨터는 아닙니다. 양자 컴퓨팅 연구의 목표는 기존 컴퓨터를 사용할 때보다 양자 컴퓨터를 사용할 때 더 빠르게 해결할 수 있는 문제와 가속 수준을 연구하는 것입니다.
양자 컴퓨터는 수많은 조합을 계산해야 하는 문제 처리에 매우 적합합니다. 이러한 유형의 문제는 양자 시뮬레이션, 암호화, 양자 기계 학습, 검색 문제와 같은 여러 영역에서 볼 수 있습니다.
Microsoft의 양자 컴퓨팅 연구에 대한 최신 정보는 Microsoft Research Quantum Computing 페이지를 참조하세요.
양자 시뮬레이션
양자 역학은 우주의 기본 ‘운영 체제’입니다. 자연의 기본 구성 요소가 어떻게 작동하는지를 알려주죠. 화학 반응, 생물학적 반응, 물질 형성과 같은 자연의 행태에는 다체 양자 상호 작용이 관여하고 있는 경우가 많습니다. 분자와 같은 양자 역학 시스템의 본질적인 시뮬레이션에서는 양자 컴퓨팅이 유망합니다. 큐비트는 궁금한 자연 상태를 나타내는 데 사용할 수 있기 때문입니다. 우리가 모델링할 수 있는 양자 시스템의 예로는 광합성, 초전도 및 복합 분자 형성이 있습니다.
QDK(Quantum Development Kit)는 양자 컴퓨터에서 전자 구조 문제 및 양자 역학을 시뮬레이션할 수 있도록 양자 화학 라이브러리와 함께 제공됩니다. 이러한 시뮬레이션의 예로는 분자 지상 상태의 간단한 분자 에너지 추정이 있습니다. 이 예제와 더 많은 QDK 및 Azure Quantum 샘플은 코드 샘플에서 찾을 수 있습니다.
양자 가속
양자 컴퓨팅 연구의 목표는 기존 컴퓨터를 사용할 때보다 양자 컴퓨터를 사용할 때 더 빠르게 해결할 수 있는 문제와 가속 수준을 연구하는 것입니다. 잘 알려진 두 가지 예는 Grover 알고리즘과 Shor 알고리즘으로, 고전적 알고리즘에 비해 각각 다항식 및 기하급수적 속도 향상이 가능합니다.
양자 컴퓨터에서 실행되는 Shor 알고리즘은 데이터를 안전하게 전송하기 위해 전자상거래에서 널리 사용되는 RSA(Rivest–Shamir–Adleman) 체계와 같은 기존 암호화 체계를 뚫을 수 있습니다. 이 체계는 기존 알고리즘을 사용하여 소수 인수 분해의 실질적 어려움을 기반으로 합니다. 양자 암호화를 이용하면 복잡성 추정이 아닌 기본 물리학을 사용하여 정보 보안을 보장할 수 있습니다.
Shor의 팩터링 알고리즘과 마찬가지로, 숨겨진 시프트 문제는 양자 컴퓨터가 가장 잘 알려진 클래식 알고리즘보다 기하급수적으로 성능 우위를 점하는 근본적인 이유입니다. 이는 결국 디콘볼루션 문제를 해결하는 데 도움이 될 수 있으며 복잡한 데이터 세트 속에 숨겨진 패턴을 효율적으로 찾을 수 있습니다. 양자 컴퓨터는 원칙적으로 콘볼루션을 고속으로 계산할 수 있으며, 이는 푸리에 변환을 매우 빠르게 컴퓨팅하는 양자 컴퓨터의 기능을 기반으로 합니다. Azure Quantum 작업 영역의 샘플 갤러리에서 숨겨진 시프트 Jupyter Notebook 샘플을 찾을 수 있습니다(Azure 계정 필요).
Grover 알고리즘은 비정형 데이터를 검색하는 솔루션의 속도를 획기적으로 높여 그 어떤 클래식 알고리즘보다도 빠르게 검색을 실행합니다. 사실, 특정 값 $x$가 유효한 해(“예 또는 아니요 문제”)인지 확인할 수 있는 문제는 검색 문제의 측면에서 작성할 수 있습니다. 예는 다음과 같습니다.
부울 충족 가능성 문제: 부울 값 집합 $x$가 지정된 부울 수식을 충족하는 해석(변수에 대한 값 할당)인가?
외판원 문제: $x$가 모든 도시를 연결하는 가능한 최단 루프를 설명하는가?
데이터베이스 검색 문제: 데이터베이스 테이블에 레코드 $x$가 포함되어 있는가?
정수 소인수분해 문제: 고정소수점 수 $N$를 수 $x$로 나눌 수 있는가?
수학 문제를 해결하기 위한 Grover 알고리즘의 실제 구현 방법은 Azure Quantum 작업 영역의 샘플 갤러리에서 Grover의 검색 Jupyter Notebook을 살펴보거나(Azure 계정 필요) 이 Grover 검색 알고리즘 구현 자습서를 참조하세요.
더 많은 양자 알고리즘 샘플은 코드 샘플을 참조하세요.
양자 기계 학습
클래식 컴퓨터의 기계 학습은 과학과 비즈니스의 세계를 혁신적으로 변화시키고 있습니다. 그러나 모델 학습에 들어가는 높은 계산 비용은 이 분야의 개발 및 범위를 넓히는 데 방해가 됩니다. 양자 기계 학습 영역은 클래식 컴퓨터보다 더 빠르게 실행되는 기계 학습을 가능하게 하는 양자 소프트웨어를 고안하고 구현하는 방법을 검색합니다.
QDK(Quantum Development Kit)는 하이브리드 양자/클래식 기계 학습 실험을 실행할 수 있는 양자 기계 학습 라이브러리와 함께 제공됩니다. 이 라이브러리는 샘플과 자습서를 포함하고 있으며, 감독된 분류 문제를 해결하기 위해 새 하이브리드 양자 클래식 알고리즘인 회로 중심 양자 분류자를 구현하는 데 필요한 도구를 제공합니다.
양자 컴퓨팅은 문제를 어떻게 해결하나요?
양자 컴퓨터는 양자 물리학의 속성을 활용하여 계산을 수행하는 제어 가능한 양자 역학 장치입니다. 일부 계산 작업의 경우 양자 컴퓨팅이 기하급수적인 속도 향상을 제공합니다. 이러한 속도 향상은 양자 역학의 세 가지 현상인 중첩, 간섭 및 얽힘 덕분에 가능합니다.
중첩
거실에서 운동하고 있다고 상상해 보세요. 왼쪽으로 완전히 돈 다음, 오른쪽으로 완전히 돕니다. 이제 왼쪽 및 오른쪽으로 동시에 돌아 보세요. 이렇게 돌 수는 없습니다(적어도 자신을 둘로 쪼개지 않는 한). 분명히 두 상태에 동시에 있을 수 없습니다. 즉 왼쪽 및 오른쪽으로 동시에 향할 수는 없습니다.
그러나 양자 입자인 경우 중첩(또는 결집이라고도 함)이라는 현상으로 인해 좌향 및 우향에 대한 특정 확률이 있을 수 있습니다.
클래식 입자와 달리 $A$ 및 $B$의 두 상태가 양자 입자의 유효한 양자 상태인 경우 상태의 선형 조합도 유효한 양자 상태 $\text{qubit state}=\alpha A + \beta B$입니다. $A$ 및 $B$ 양자 상태의 이 선형 조합을 중첩이라고 합니다. 여기서 $\alpha$ 및 $\beta$는 각각 $A$ 및 $B$의 확률 진폭으로 $|\alpha|^{2} + |\beta|^{2} = 1$입니다.
이온, 전자 또는 초전도 회로와 같은 양자 시스템만 양자 컴퓨팅을 사용할 수 있는 중첩 상태에서 존재할 수 있습니다. 전자와 같은 양자 입자에는 자체 “왼쪽 또는 오른쪽을 향한” 속성이 있습니다(예: 스핀이라고 함). 따라서 전자의 양자 상태는 “스핀업” 및 “스핀다운”의 중첩입니다.
일반적으로 양자 시스템이 두 개의 양자 상태에 있을 수 있는 경우 기존 이진 컴퓨팅과 더 관련성이 높도록 하기 위해 이러한 상태를 0 상태 및 1 상태라고 합니다.
큐비트 및 확률
클래식 컴퓨터는 정보를 비트 단위로 저장하고 처리합니다. 이 비트의 상태는 1 또는 0일 수 있지만 둘 다일 수는 없습니다. 양자 컴퓨팅에서의 해당 항목은 큐비트입니다. 큐비트는 양자 상태 0과 1의 중첩에 있을 수 있는 모든 양자 시스템입니다. 가능한 각 양자 상태에는 연결된 확률 진폭이 있습니다. 큐비트를 측정한 후에만 해당 상태가 연결된 확률에 따라 0 상태 또는 1 상태로 축소되므로 가능한 상태 중 하나가 특정 확률로 획득됩니다.
큐비트가 한쪽 방향 또는 다른 방향으로 붕괴될 확률은 양자 간섭에 의해 결정됩니다. 양자 간섭은 측정하는 동안 특정 결과의 확률에 영향을 주기 위해 큐비트의 상태에 영향을 주며, 이 확률 상태는 양자 컴퓨팅의 뛰어난 기능이 됩니다.
예를 들어 클래식 컴퓨터에서 두 개의 비트를 사용하면 각 비트에서 1 또는 0을 저장할 수 있으므로 네 개의 가능한 값(00, 01, 10 및 11)을 저장할 수 있지만 한 번에 하나의 값만 저장할 수 있습니다. 그러나 중첩 상태의 두 개의 큐비트를 사용하면 각 큐비트가 1, 0 또는 둘 다일 수 있으므로 동일한 네 개의 값을 동시에 나타낼 수 있습니다. 세 개의 큐비트를 사용하면 8개의 값, 네 개의 큐비트를 사용하면 16개의 값 등을 나타낼 수 있습니다.
자세한 정보는 양자 컴퓨팅의 큐비트를 참조하세요.
얽힘
양자 역학의 가장 흥미로운 현상은 둘 이상의 양자 시스템이 서로 얽히는 능력입니다. 얽힘은 양자 시스템 간의 양자 상관 관계입니다. 큐비트가 얽히면 개별 하위 시스템의 양자 상태를 독립적으로 설명할 수 없도록 전역 시스템을 형성합니다. 글로벌 시스템의 상태를 하위 시스템의 선형 조합으로 작성할 수 없는 경우 두 시스템이 얽혀 있는 것입니다.
얽힌 양자 시스템은 먼 거리에서 분리된 경우에도 이러한 상관 관계를 유지할 수 있습니다. 즉, 한 하위 시스템에 적용하는 작업 또는 프로세스가 다른 하위 시스템과도 관련이 있습니다. 얽힌 큐비트 간에 상관 관계가 있으므로 한 큐비트의 상태를 측정하면 다른 큐비트의 상태에 대한 정보가 제공됩니다. 이 특정 속성은 양자 컴퓨팅에 매우 유용합니다.
참고 두 큐비트 간의 모든 상관 관계가 두 큐비트의 얽힘을 의미하는 것은 아닙니다. 고전적 비트도 상관 관계를 가질 수 있습니다. 두 개의 큐비트가 고전적 비트를 사용하여 재현할 수 없는 상관 관계를 보일 경우 이들은 얽힌 것입니다. 고전적 상관 관계와 양자 상관 관계 간의 이러한 차이는 미묘하지만 양자 컴퓨터에서 제공되는 속도 향상에 반드시 필요합니다.
자세한 내용은 Q# 및 Azure Quantum으로 양자 얽힘 살펴보기 자습서를 참조하세요.
양자 컴퓨터와 양자 시뮬레이터의 비교
양자 컴퓨터는 기존 컴퓨팅과 양자 컴퓨팅의 성능을 결합하는 컴퓨터입니다. 현재 양자 컴퓨터는 하이브리드 모델, 즉, 양자 프로세서를 제어하는 기존 컴퓨터에 해당합니다.
양자 컴퓨터 개발은 아직 초기 단계입니다. 양자 하드웨어는 가격이 비싸고 대부분의 시스템은 대학과 연구소에 있습니다. 클래식 컴퓨터는 익숙한 실리콘 기반 칩을 사용하지만, 양자 컴퓨터는 원자, 이온, 광자 또는 전자와 같은 양자 시스템을 사용합니다. 그러나 이 기술은 발전하고 있으며 양자 시스템에 제한적인 퍼블릭 클라우드 액세스가 가능합니다.
Azure Quantum은 특정 시스템에 대해 동일한 알고리즘을 튜닝할 수 있는 유연성을 유지하면서도 한 번에 여러 플랫폼에 대한 양자 알고리즘을 만들 수 있습니다. Qiskit, Cirq 및 Q#과 같은 여러 프로그래밍 언어 중에 선택하고 여러 양자 시스템에서 알고리즘을 실행할 수 있습니다. Azure Quantum에서는 오늘날의 양자 시스템을 탐색하는 동시에 미래의 확장된 양자 시스템에 대비할 수 있습니다.
팁 처음 사용자는 작업 영역을 만들 때 참여하는 각 양자 하드웨어 공급자에서 사용할 수 있는 무료 $500(USD)Azure Quantum 크레딧을 자동으로 받습니다. 크레딧을 모두 사용했는데 더 필요한 경우 Azure Quantum Credits 프로그램에 신청할 수 있습니다. 자세한 내용은 Azure Quantum 크레딧 프로그램 애플리케이션을 참조하세요.
Azure Quantum 하드웨어
양자 컴퓨터는 크게 다음과 같은 세 부분으로 구성됩니다.
큐비트를 보관하는 디바이스
큐비트에서 양자 연산(양자 게이트라고도 함)을 수행하고 측정하는 방법
프로그램을 실행하고 지침을 보내는 클래식 컴퓨터
큐비트는 쉽게 손상되고 환경 간섭에 매우 민감합니다. 큐비트를 저장하는 일부 방법의 경우 큐비트를 저장하는 장치는 결집을 최대화하기 위해 절대 0(영)도 바로 위의 온도로 유지됩니다. 다른 유형의 큐비트 저장에서는 진동을 최소화하고 큐비트를 안정화하는 데 도움이 되는 진공 챔버를 사용합니다.
큐비트 유형에 따라 극초단파, 레이저, 전압 등의 다양한 방법으로 연산을 수행할 수 있습니다.
양자 컴퓨터는 올바르게 작동하기 위한 많은 과제를 마주하고 있습니다. 양자 컴퓨터의 오류 수정은 중요한 문제이며, 확장(더 많은 큐비트 추가)은 오류 비율을 높입니다. 이러한 제한으로 인해 데스크톱용 양자 PC는 아직 멀지만 상업적으로 실행 가능한 랩 기반 양자 컴퓨터는 가까이 있습니다.
Microsoft는 양자 하드웨어에 대한 클라우드 액세스를 제공하기 위해 양자 하드웨어 회사와 파트너 관계를 맺고 있습니다. Azure Quantum 플랫폼과 QDK가 있으면 다양한 양자 하드웨어에서 양자 프로그램을 살펴보고 실행할 수 있습니다. 다음은 현재 사용 가능한 양자 대상입니다.
Quantinuum: 충실도가 높고 완전히 연결된 큐비트와 중간 회로 측정을 수행 능력을 갖춘 트랩 이온 시스템입니다.
시스템입니다. IonQ: 최대 11개의 완전히 연결된 큐비트에 대해 동적으로 재구성 가능한 트랩된 이온 양자 컴퓨터로, 모든 쌍 간에 2큐비트 게이트를 실행할 수 있습니다.
자세한 내용은 전체 양자 컴퓨팅 대상 목록을 참조하세요.
Azure Quantum 시뮬레이터
지금은 리소스 및 예산으로 인해 실제 양자 하드웨어의 사용이 제한적입니다. 양자 시뮬레이터는 양자 알고리즘을 실행하여 알고리즘을 쉽게 테스트 및 디버그하고, 결과가 예상과 일치한다는 확신이 들면 실제 하드웨어에서 양자 알고리즘을 실행합니다.
양자 시뮬레이터는 클래식 컴퓨터에서 실행되며 큐비트가 서로 다른 연산에 어떻게 반응하는지 예측하는 환경에서 양자 프로그램을 실행하고 테스트할 수 있는 소프트웨어 프로그램으로, 알고리즘을 쉽게 테스트 및 디버그한 후 결과가 예상과 일치할 것이라는 확신이 생기면 실제 하드웨어에서 알고리즘을 실행할 수 있습니다.
QDK(Quantum Development Kit)에는 대규모 시스템을 시뮬레이션하는 스파스 시뮬레이터, 노이즈가 있을 때 양자 알고리즘을 시뮬레이션하는 노이즈 시뮬레이터 및 리소스 예측 도구를 포함하여 동일한 양자 알고리즘을 시뮬레이션하는 다양한 방법을 나타내는 다양한 양자 시뮬레이터 클래스가 포함되어 있습니다. 자세한 내용은 양자 시뮬레이터를 참조하세요.
Azure 계정이 있는 경우 Azure Quantum 작업 영역의 샘플 갤러리에서 양자 시뮬레이터를 사용하는 여러 가지 Jupyter Notebook 샘플을 찾을 수 있습니다. Q# 및 Azure Quantum Notebook을 시작하는 방법을 참조하세요.
다음 단계
[선행기술원] Quantum Information – 양자 알고리즘
현대자동차 선행기술원은 인류의 더 멋진 삶을 위하여 미래 모빌리티 혁신 기술을 발굴, 개발하는 연구개발 전문 조직입니다. 모빌리티 핵심 기술과 시스템 개발을 위해 다양한 기술분야를 탐색하며 도전적인 창의와 기술융합을 시도합니다. 이를 위하여 민첩하고 수평적인 조직문화를 실천합니다.
핵심적인 양자 컴퓨팅의 내용 — Qiskit 0.37.0 문서
핵심적인 양자 컴퓨팅의 내용¶
양자 컴퓨팅은 양자역학의 기본 원리를 활용하는 계산의 새로운 패러다임을 나타낸다. 이걸 읽고 있다면, 양자 컴퓨팅의 전망은 규모가 커지면 가장 성능이 좋은 고전 컴퓨터로도 수행할 수 없는 계산들을 효율적으로 수행할 수 있는가의 여부에 달려 있다는 것을 알 것이다. 이러한 작업들에는 소인수 분해, 양자 시뮬레이션, 검색, 최적화, 그리고 기계 학습과 같은 대수 프로그램이 있다.
양자 컴퓨팅의 힘은 양자역학의 두 주춧돌에서 나오는데, 바로 양자 계산의 파동의 성질을 강조하는 간섭 과 입자의 성질을 강조하는 얽힘 이다. Qiskit은 양자 회로 의 언어를 사용하여 이러한 양자역학의 원리들을 적용해 양자 계산을 수행하는 SDK이다. 양자 게이트, 명령어, 그리고 고전적 제어 논리로 이루어진 양자 회로는 복잡한 알고리즘과 애플리케이션을 양자 컴퓨터에서 실행될 수 있는 추상적인 방식으로 나타낸다. Qiskit은 본질적으로 양자 회로 구축, 최적화, 그리고 실행 엔진이다. 추가적인 알고리즘과 애플리케이션 계층은 보통 고전적인 컴퓨팅 자원과 함께 양자 회로를 이용하여 최적화, 양자 화학, 물리, 기계 학습, 그리고 금융에 관한 문제들을 해결한다. 다음으로는 양자 컴퓨팅에 대한 간단한 개요와 Qiskit이 각 단계에서 어떻게 사용되는지 설명할 것이다. 더 심도 있는 내용에 관심이 있는 독자들을 위해 추가자료도 제공될 것이다.
간섭¶ 고전 컴퓨터와 마찬가지로, 양자 컴퓨터는 비트로 동작한다. 하지만 고전 비트가 0이나 1 상태로만 있을 수 있는 반면에 양자 비트, 또는 큐비트는 0이나 1 뿐만 아니라 둘의 선형 결합으로도 존재할 수 있다. 이러한 선형 결합은 중첩 (또는 중첩 상태) 이라고도 알려져 있다. 이러한 개념이 어떻게 양자 계산에 사용되는지 알아볼려면 먼저 고전 컴퓨팅에서 상응하는 개념인 노이즈 캔슬링을 알아야 한다. 노이즈 캔슬링 헤드폰에서 사용되는 것과 같이 노이즈 캔슬링은 중첩과 간섭 의 원리를 이용해 원치 않는 소리와 비슷한 주파수와 진폭의 톤을 위상만 \(\pi\) (아니면 \(\pi\) 의 홀수 배수) 만큼 어긋나게 생성해 원치 않는 소리를 상쇄시킨다. 상술된 바와 같이, 위상차가 \(\pi\) 의 홀수 배수에 가까울 때, 2개의 파동들의 중첩은 간섭을 초래하고, 출력은 원본에 비하여 현저하게 감소된다. 그 결과는 노이즈에 의해 방해받지 않는 관심신호이다. 이러한 처리는 디지털 회로에 의해 수행되지만, 진폭 및 위상은 완벽하게 매칭될 수 없는 연속 변수이며, 이는 불완전한 보정을 초래한다. 양자 컴퓨터의 일반적인 계산은 잡음 제거와 거의 같은 방식으로 진행된다. 우선, 모든 가능한 계산 상태들의 중첩을 준비한다. 그러면 이는 규정된 알고리즘에 따라 초위치의 구성요소를 선택적으로 방해하는 quantum circuit 의 입력으로 사용된다. 입력 상태의 상대 진폭 및 위상을 취소한 후에 남는 것은 양자 회로에 의해 수행되는 계산에 대한 해법이다.
얽힘¶ 양자 계산이 활용할 수 있는 양자역학의 두 번째 원리는 entanglement 의 현상이다. 얽힘 (Entanglement) 은 한 개 이상의 큐비트 (또는 일반적으로 입자들) 의 상태를 지칭하는데, 여기서 큐비트들의 결합된 상태는 큐비트들이 독립적으로 행하는 것보다 더 많은 정보를 포함한다. 다수의 큐비트 양자 상태들의 압도적인 다수는 얽히고, 가치 있는 자원을 나타낸다. 예를 들어, 큐비트들 사이의 얽힌 상태들은 큐비트의 상대적인 물리적 근접성에 상관없이, 두 개의 큐비트들의 공유된 얽힌 상태가 하나의 큐비트로부터 다른 큐비트로 정보를 전송하도록 조작될 수 있는 양자 이동을 위해 사용될 수 있다. 양자 시스템의 자연스러운 상태로서의 얽힘 상태는 양자 화학 (quantum chemistry) 과 양자 시뮬레이션 (quantum simulation) 과 같은 해법들이 종종 얽힌 다중-큐비트 (multi-qubit) 상태의 형태를 취하는 분야들에서도 중요하다. 또한, 인증 가능한 정도의 무작위성을 가진 난수들을 생성하기 위해 다수의 큐비트들의 고도로 얽힌 양자 상태들을 이용할 수도 있다. 이를 시행하기 위한 Qiskit 패키지 도 이미 있다.
양자 회로¶ 양자 기계 자원을 이용하는 알고리즘 및 애플리케이션은 양자 회로 의 언어로 쉽고 효율적으로 작성될 수 있다. 양자 회로는 양자으로 유지되는 것과 같은 양자 데이터에 대한 결맞음 양자 동작 (coherent quantum operations), 및 동시 실시간 고전적인 계산으로 구성되는 계산 루틴이다. 회로에 있는 각각의 수평선 또는 선은 큐비트를 나타내고, 와이어의 왼쪽 끝은 초기 양자 데이터이고, 우측은 양자 회로의 계산에 의해 생성되는 최종 양자 데이터이다. 큐비트들에 대한 동작들은 이러한 와이어들 상에 배치될 수 있고, 박스들로 표현된다. 양자 회로는 양자 컴퓨터가 고전적인 정보를 받아들이고 고전적인 솔루션을 출력할 수 있게 하는데, 이 때 간섭 과 얽힘 과 같은 양자 원리를 사용하여 계산을 한다. 일반적인 양자 알고리즘 워크플로우는 다음으로 구성됩니다. 우리가 해결하고자 하는 문제는
양자 회로에 대한 설명을 생성하는 고전적인 알고리즘,
양자 하드웨어에서 실행되어야 하는 양자 회로는
그리고 생성된 문제를 해결하기 위해 출력된 고전적 해법. 양자 게이트는 양자 데이터에 적용되는 기본적인 연산을 구성한다. 양자 게이트는 큐비트 상에 저장된 양자 데이터에 적용되는 변환을 나타내며 이는 정보를 보존하고 가역적이다. 이러한 《유니터리》 변환은 양자 회로의 양자역학적 핵심을 보여준다. \(X\) (\(\oplus\) 형태로도 표기) 및 \(CX\)) 게이트와 매개변수를 가진 \(rX(\theta)\) 및 \(rY(\theta)\) 회전은 중첩 상태를 생성하는 한편 \(Z\), \(rZ(\theta)\), \(S\), 그리고 \(T\) 게이트는 간섭을 일으킬 수 있도록 위상을 변화시킨다. \(CX\) 게이트와 같은 2큐비트 게이트는 큐비트 묶음에 얽힘을 만들거나 어느 한 큐비트로부터 다른 하나의 큐비트로 위상을 《킥(kick)》하기 위해 사용한다. 다음으로 앞서 언급한 게이트와는 달리 《측정》(상자 내의 계량 기호와 《표적》 와이어로 연결된 선으로 표현)과 같은 연산은 큐비트의 상태에 관한 부분적인 정보를 추출하며 이 과정에서 고전적인 비트로 표현하고 표적 와이어(해독 장치의 대체로 완전히 고전적인 연결)에 그것을 기록하기 위해 보통 위상 정보를 잃게 된다. 이는 양자 데이터로부터 정보를 얻어내 고전적 장치로 보내는 일반적인 방법이다. 참고로 \(H\), \(rZ(\theta)\), \(CX\), 그리고 측정 게이트, 즉, 유니버설 게이트 집합만으로도 모든 종류의 양자 회로를 생성할 수 있으며 그러한 양자 회로에는 자연에 존재하는 물리계의 역학을 효율적으로 계산할 수 있는 회로까지 포함된다. 일부 작업부하들은 양자 회로들과 고전적인 계산이 교차로 합쳐진 확장된 시퀀스를 포함한다. 예를 들어, 다양한 변분 양자 알고리즘들은 최적화 루프 내에서 양자 회로들을 실행한다. 이러한 작업부하에 있어서, 양자 회로가 매개 변수화되고, 회로 실행과 비유동적 고전적 계산 사이의 상태 변화가 효율화되면 시스템 성능이 실질적으로 증가한다. 결과적으로, 계산 시간을 가속화하기 위해 개발된 하드웨어를 가진 양자 회로를 반복적으로 사용하는 알고리즘을 사용하는 계산으로 근-시간 계산 을 정의한다. 근-시간 계산에서 고전적인 계산은 양자 연산의 결맞음보다 더 긴 시간 단위에서 발생한다. 이는 고전적인 계산이 양자장치의 결어긋남 시간 내에서 발생하는 실시간 계산 과 대조된다. 복잡한 양자 회로를 적은 노력으로 구성하게 해주는 것이 Qiskit의 핵심이며, 다양한 기능의 연산들을 지원하며, 다양한 범위의 양자 컴퓨터들 이나 클래식 시뮬레이터로 전달될 수 있다. 코드 몇 줄만 있으면 위와 같은 복잡한 회로를 구성할 수 있다. qr = QuantumRegister ( 3 , ‘q’ ) cr = ClassicalRegister ( 2 , ‘zx_meas’ ) qc = QuantumCircuit ( qr , cr ) qc . reset ( range ( 3 )) qc . barrier () qc . h ( 1 ) qc . cx ([ 1 , 0 ],[ 2 , 1 ]) qc . h ( 0 ) qc . barrier () qc . measure ([ 0 , 1 ], [ 0 , 1 ]) qc . barrier () qc . z ( 2 ) . c_if ( cr , 1 ) qc . x ( 2 ) . c_if ( cr , 2 )
양자 컴퓨터¶ 양자 회로를 사용하여 프로그램되는 양자 컴퓨터들은 큐비트의 원소를 정의할 수 있는 아무 양자 기술을 사용하여 구축될 수 있고, 고충실도의 단일과 다중 큐비트 게이트 연산을 시행할 수 있다. 현재 초전도 회로, 이온 트랩, 양자점 반도체, 광자, 그리고 중성 원자를 기반으로 다양한 양자 컴퓨터 구조가 개발되고 있으며, 대다수는 이미 인터넷을 통해 사용해 볼 수 있다. Qiskit은 양자 시스템의 구조에 대한 전문 지식이 없어도 사용 가능하며, 양자 회로를 컴파일해 특정 양자 장치와 뒤엉킴 게이트의 위상을 일치시킬 수 있고, 회로 명령어를 장치의 기본 게이트 세트에 매핑시킬 수 있으며, 더 높은 충실도를 위해 양자 회로를 최적화시킬 수도 있다. 위의 노이즈 제거 예에서와 같이, 큐비트들의 진폭 및 위상은 동작들이 정확하게 수행될 수 없는 연속적인 자유도 (degree of freedom) 이다. 이들 게이트 에러들은, 양자 컴퓨터가 상주하는 환경으로부터의 잡음과 함께, 컴파일 프로세스에서 설명되지 않는 경우 계산을 방해할 수 있고, 잡음에 민감한 현재의 양자 시스템들 상에서 고충실도 출력을 획득하기 위해 추가적인 완화 절차들을 요구할 수 있다. Qiskit은 컴파일 전략에서 광범위한 장치 교정 메트릭 (아래 그림 참조) 을 고려할 수 있고, 주어진 양자 회로를 실행할 최적의 큐비트 세트를 선택할 수 있다. 또한, Qiskit은 양자 회로 출력의 충실한 표현을 추출하기 위한 잡음 완화 기술의 집합을 호스트한다.
키워드에 대한 정보 양자 알고리즘
다음은 Bing에서 양자 알고리즘 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 어서와! 양자 컴퓨팅은 처음이지? 6. 양자 알고리즘은 왜 빠른가?
- Qiskit Hackathon Korea
- 양자 컴퓨터
- 양자 컴퓨팅
- 양자 역학
- 양자 알고리즘
- 양자 컴퓨터 프로그래밍
어서와! #양자 #컴퓨팅은 #처음이지? #6. #양자 #알고리즘은 #왜 #빠른가?
YouTube에서 양자 알고리즘 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 어서와! 양자 컴퓨팅은 처음이지? 6. 양자 알고리즘은 왜 빠른가? | 양자 알고리즘, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.