양자컴퓨팅 (Quantum Computing)
편집하기 (부분)
둘러보기로 이동
검색으로 이동
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
== 양자 게이트 (Quantum Gate) 개요 == 양자 컴퓨팅을 할 때 크게 두 가지 방향이 있다. 첫 번째 방식은 [[양자 시스템]]을 초기화 시킨 다음 해밀토니안을 제어를 해서 원하는 문제의 답을 높은 확률로 줄 수 있는 [[양자 상태]]를 만드는 것이다. 이 때 사용하는 양자 상태는 0 또는 1 상태만 사용하는 것이 아니고, 해밀토니안이 연속적으로 변하기 때문에 본질적으로 [[양자 정보]]는 아날로그이다. 이러한 방식을 아날로그 양자 컴퓨팅이라 하고 단열 양자 컴퓨팅, [[양자 어닐링]] 등을 포함한다. 두 번째 방식은 오늘날의 컴퓨터 에서의 접근 방법처럼 문제를 가장 기초적인 연산인 게이트 단위로 나눠서 해결하는 것이다. 이러한 방식은 게이트 기반 양자 컴퓨팅이라 불린다. [[File:기술백서_전체수정_6차_10.jpg|thumb|300px| 하나의 큐비트의 양자 상태를 Bloch sphere에 표현한 예시. 참고문헌 <ref name=NASEM>National Academies of Sciences, Engineering, and Medicine, ''Quantum computing: Progress and prospects''. (The National Academies Press, 2019). doi:[https://doi.org/10.17226/25196 10.17226/25196].</ref>의 그림을 재구성함. ]] 기존 컴퓨터에서는 반도체 소자가 증폭기 및 스위치 역할을 할 수 있고, 반도체 제작 기술이 발달하면서<ref>https://ko.wikipedia.org/wiki/집적_회로</ref>, 하나의 집적 회로에 수 억 개의 게이트를 넣을 수 있게 되었다. 각각의 게이트의 출력들은 0 또는 1의 값을 나타내는 전기 신호로 전선을 통해 다른 게이트의 입력으로 들어간다. 게이트를 공정을 통해 만들 때의 오차, 칩 안에서 한 부분이 다른 부분들로부터 받는 영향 등으로 신호에 잡음이 생기게 되는데, 디지털 논리 게이트는 이러한 잡음이 있더라도 게이트의 논리 연산에는 영향을 받지 않을 정도로 잡음에 둔감하고, 전기 신호가 많은 수의 게이트를 통과하더라도 실제 출력 결과의 논리식은 의도한 것과 같도록 오류 정정을 할 수가 있다. 따라서 이 경우 신호를 여러 게이트들로 계속 전달시키는 것이 가능하다. 반면에 [[양자 신호]]는 아날로그 신호로 잡음에 민감하기 때문에 기존 컴퓨터 칩을 설계할 때와는 다른 방식을 사용한다. 설계를 할 때 크게 고려를 하는 부분은 양자 신호에 가해지는 잡음을 최소화하는 것이다. 따라서 일반적으로 양자 신호를 게이트에 통과시키며 전달하기보다는 양자 정보를 가지는 [[큐비트]]를 두고 큐비트의 양자 상태를 의도한대로 변화시키도록 시스템을 설계한다. 기존 컴퓨터에서는 0과 1을 이용해 정보를 나타내기 때문에 게이트 연산을 표현하기 위해서 논리 게이트 추상화를 사용했지만 양자 컴퓨터에서 사용하는 양자 상태는 0 또는 1 하나로 나타내는 상태가 아니기 때문에 게이트 연산을 나타내기 위해서도 다른 추상화를 사용한다. 하나의 양자 게이트는 레이저와 전자기장 같은 물리적 변화의 적용을 통해 하나 또는 여러 개의 큐비트의 해밀토니안을 특정 시간만큼 바꾸어 원하는 양자 상태의 변환을 만드는 것으로 구현된다. 이러한 기초적인 단계의 연산은 기존 컴퓨터의 논리 게이트에 대응되기 때문에 이러한 방식을 사용한 양자 컴퓨터를 디지털 양자 컴퓨터라고 부른다. 양자 게이트는 양자 역학의 법칙을 따른다. 첫 번째로 양자 게이트는 에너지를 방출하지 않는다. 이것은 시스템에서 외부로 열이 빠져나가지 않는다는 것을 의미하고, 양자 상태가 외부의 영향으로 [[결맞음]]을 잃지 않는다는 것을 말한다. 이러한 경우 하나의 입력 양자 상태에 양자 게이트를 적용하여 출력된 양자 상태를 얻었을 때, 반대로 출력된 양자 상태에 반대의 양자 게이트를 적용해 기존의 입력한 양자 상태를 얻을 수 있고, 이를 가역 게이트(reversible gate)라 한다. 두 번째로 연산을 하는 동안 가능한 양자 상태들의 진폭의 크기의 제곱의 합은 1이다. $$n$$개의 큐비트의 양자 상태를 $$2^{n}$$ 차원의 복소수 벡터로 나타내면 크기가 1인 벡터가 된다. 모든 양자 게이트는 상태 벡터의 크기를 1로 보존하면서 다른 상태의 벡터로 회전시키는 연산이다. 큐비트의 수가 증가할수록 차원의 크기는 지수적으로 증가하지만 벡터의 크기는 여전히 1이다. 벡터의 크기를 보존하며 변화시키는 연산을 $$2^{n} \times 2^{n}$$ 크기의 행렬로 표현한 것을 유니타리(unitary) 행렬이라 한다. 기존의 논리 게이트에서 구현하는 것처럼 양자 게이트를 구현할 때, 많은 수의 입력을 한꺼번에 받는 게이트를 만드는 것 대신 적은 수의 입력을 간단한 게이트들을 여러개 적절히 구성하여 최종적으로 많은 수의 입력을 받는 게이트를 구현한다. 일반적으로 최소 단위로 사용하는 양자 게이트의 입력 큐비트 수는 세 개 이하이다. 그 중 예를 하나 들면 하다마드 게이트(Hadamard gate)는 |0⟩ 상태를 입력으로 받아서 $$\frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle$$을 출력하고 |1⟩ 상태를 입력으로 받아서 $$\frac{1}{\sqrt{2}}\left| 0 \right\rangle - \frac{1}{\sqrt{2}}|1\rangle$$을 출력한다. 2-큐비트 CNOT 게이트는 XOR 논리 연산을 한다. T 게이트, Hadamard 게이트, CNOT 게이트 만을 이용해서 다른 모든 유니타리(unitary) 게이트를 만들 수 있는데 이러한 게이트 조합을 범용(universal) 게이트라 한다. 양자 게이트는 가역(reversible) 연산이고 유니타리(unitary) 행렬로 나타낼 수 있는데 반해, 일반적인 양자 상태 측정은 원래의 양자 상태를 붕괴(collapse)시키기 때문에 가역적 작용이 아니다. $$n$$개의 큐비트의 양자 상태는 $$2^{n} $$차원의 양자 상태이므로 이를 측정하면 $$n$$개의 비트를 얻는다.<ref name=NASEM /> [[File:기술백서_전체수정_6차_11.jpg|none|thumb|800px|자주 사용되는 양자 게이트. 참고문헌 <ref>https://en.wikipedia.org/wiki/Quantum_logic_gate</ref>의 그림을 재구성함. |center]]
요약:
한국양자정보학회 위키에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은
한국양자정보학회 위키:저작권
문서를 보세요).
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
계정 만들기
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보