Path: blob/main/translations/ko/algorithms/phase-kickback.ipynb
3855 views
위상 반동
여기에서는 "위상 반동"으로 알려진 제어된 양자 게이트의 동작을 다룰 것입니다. 이 흥미로운 양자 효과는 쇼어(Shor)의 인수분해 알고리즘과 그루버(Grover)의 탐색 알고리즘을 비롯한 많은 유명한 양자 알고리즘의 중요한 구성 요소입니다.
고유 벡터
여러분이 이미 고유벡터와 고유값에 익숙하다면 다행이지만, 그렇지 않다면 이 곳 에서 자세한 소개를 확인할 수 있습니다. 여러분이 해당 내용을 잘 알고 있다면 고유벡터 방정식에 익숙할 것입니다.
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{_matrix-A}{A}\…양자 컴퓨팅에서 이 식은 훨씬 더 간단합니다. 모든 상태 벡터는 크기가 1이기때문에 고유값도 크기도 1이어야 합니다. 즉, 입니다. 따라서 양자 게이트 및 고유 상태 에 대해 다음이 성립됩니다.
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{_matrix-U}{U}\…요약: 게이트가 상태 벡터의 모든 진폭을 동일한 양만큼 회전(및 회전만)하는 경우, 해당 상태는 해당 게이트의 고유 상태 입니다.
고유 벡터 탐색
아래 위젯을 사용하여 단일 큐비트 게이트가 단일 큐비트의 상태를 어떻게 변환하는지 확인하십시오. 어떤 상태가 어떤 게이트의 고유 상태인지 찾아낼 수 있습니까?
제어 게이트 및 고유 상태
고유 상태의 개념에 익숙해지고 나면, 이 회로들로 다른 큐비트의 상태를 제어하려고 할 때 어떤 일이 발생하는지 생각할 수 있습니다. 예를 들어 Z-gate는 상태에 작용하여 음의 전역 위상()을 발생 시키는 데, 이 작업이 제어에 사용될 때 어떤 일이 발생하는지 확인해 보도록 하겠습니다.
제어된 Z 게이트
|10〉
만일 제어 큐비트가 이면 동작은 간단합니다; 아무런 변화도 일어나지 않습니다.
|11〉
제어 큐비트가 이면 게이트는 전역 위상을 발생시키지만(오른쪽 이미지의 빼기 기호 참고) 큐비트의 상태는 변경되지 않습니다.
|1+〉
제어된 Z 게이트는 컨트롤이 일 때 아무 동작도 하지 않고 컨트롤이 일 때 음의 위상을 발생시킵니다. 제어 큐비트가 중첩의 상태라면 게이트는 제어 큐비트의 과 상태 간의 상대(relative) 위상을 변경합니다.
제어가 이고 대상이 이면 제어된 Z 게이트는 제어 큐비트의 상태를 변경하지만 대상 큐비트의 상태는 변하지 않습니다. 이 효과는 고유값이 제어 큐비트의 상태에 되돌아가 작용하기 때문에 "위상 반동"이라고 합니다.
보다 일반적으로, 양자 게이트 의 고유 상태가 일 때, 에 작용하는 는 위에서 본 것처럼 전역 위상 를 추가합니다.
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{_matrix-U}{U}\…과 의 중첩 상태로 다른 큐비트에 제어된 연산을 가하면, Z축을 중심으로 제어 큐비트를 각도 만큼 회전시키는 효과가 발생합니다. 즉:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{_matrix-CU}{CU…위의 예제에서, 제어된 Z 게이트의 '제어'가 실제로 Z 회전을 수행하고 있음을 알 수 있습니다. 즉, 관찰만 해야 하는 큐빗까지 변화를 겪게 되는 것이지요. 이러한 이유로 제어된-Z 게이트는 두 개의 컨트롤 큐비트를 가진것으로 묘사되곤 합니다.
CNOT 게이트
이어서 다른 두-큐비트 게이트를 사용한 위상 반동 효과를 살펴보겠습니다. 상태는 고유값이 인 X-gate의 고유 상태이므로 다음을 만족합니다:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{_matrix-CX}{CX…다시 한번, 이 경우 위상 변화 이므로 제어 큐비트는 Z축을 중심으로 반전됩니다.
사용 예제
H-gate가 및 (또는 그 반대로)의 변환을 수행한다는 것을 기억할 때, 다음을 얻습니다:
Deutsch의 문제
큐비트의 상태에 대한 조건적(Conditioning) 작업이 실제로 제어 큐비트의 상태를 변경할 수 있음을 방금 살펴보았습니다적인. 이것은 '양자' 효과입니다. 즉, 클래식 비트에서는 나타나지 않는 현상입니다.
양자 컴퓨팅을 사용해서 고전적인 컴퓨터가 수행 할 수 없는 알고리즘을 만들고자 할 때, 방금 살펴본 양자 효과를 해결하고자 하는 문제에 맞추어 재구성하고 시도해 보는 것은 좋은 시작점이 될 것입니다. 이런 식으로 양자 컴퓨터가 고전 컴퓨터보다 적어도 조금 더 낫다는 것을 증명할 수 있습니다.
Deutsch의 문제가 정확히 이것입니다. Deutsch의 문제는 '블랙박스' 문제입니다. 비트에 함수를 적용할 수는 있지만 함수가 어떻게 작동하는지 볼 수 없는 인위적인 문제입니다. 도전 과제는 다양한 입력 및 출력을 시도하여 블랙박스의 일부 속성을 발견하는 것입니다.
Deutsch의 문제는 다음과 같습니다. & 의 두 비트에서 작동하는 고전적이고 가역적인 함수(라 부름)가 제공됩니다. 이 함수는 비트 를 그대로 두지만 비트 를 뒤집을 수도 있고 그렇지 않을 수도 있습니다. Deutsch의 문제는 가 의 값에 따라 다르게 행동하는지("균형된(Balanced)" 행동) 또는 를 무시하고 에 대해 항상 동일한("일정한(Constant)" 행동) 작업을 수행하는지 알아내도록 요구합니다. 도전적인 지점은 를 가능한 한 적게 적용하면서 이 작업을 수행하는 것입니다.
이 문제에 대한 최고 성능의 고전 알고리즘은 의 다른 값으로 를 두 번 적용한 다음 가 다르게 동작하는지 확인하는 방식입니다.
Deutsch의 알고리즘
짐작한대로, 위상 반동을 사용하여 고전적인 알고리즘보다 좋은 성능의 양자 알고리즘을 만들 수 있습니다. 큐비트 를 상태에, 큐비트 를 상태에 놓으면 의 상태에 따라 제어되는 모든 반전 연산은 제어 큐비트 를 에서 로 뒤집는 음의 상대 위상 반동이 됩니다. 제어 연산에 이어서 H-gate를 에 적용하면 반동이 발생했는지 여부를 확인할 수 있습니다.
보충 설명
상수이면 함수는 아무 것도 하지 않거나 큐비트 를 뒤집을 수 있습니다. 균형 함수라면 함수는 가 일 때만 를 뒤집거나 가 일 때만 를 뒤집을 수 있습니다. 아래 이미지에서 네 가지 시나리오를 모두 살펴 봅시다.
두 상수 함수 모두에서 최상위 큐비트는 변경되지 않고 유지되며(아무것도 하지 않기 때문에) 균형 함수에서 반동 효과는 최상위 큐비트를 에서 로 뒤집습니다.
지금 살펴본 예제는 가장 인상적인 양자 속도 향상의 예제는 아닙니다; 이 문제는 몹시 특별한 유형이며 실생활에서 이런 블랙박스 문제를 찾기는 쉽지 않습니다. 하지만 Deutsch의 문제는 양자 속도 향상에 있어서 고무적인 결과와 이후의 연구를 위한 흥미로운 효과를 제공해 줍니다. 이 과정의 나머지 부분에서는 이 간단한 실험을 확장하여, 인수분해를 포함하여 훨씬 더 흥미로운 문제들을 해결할 것입니다.
연습
Deutsch 함수를 QuantumCircuit으로 구현한 deutsch()함수를 만들어, 양자 시뮬레이터를 사용해 Deutsch 알고리즘을 해결해 봅시다. 함수는 Deutsch 함수가 균형(Balance) 함수이면 True 를 반환하고, 상수(Constant) 함수이면 False 를 반환하도록 설계합니다.
deutsch_problem() 함수를 사용하여 deutsch() 함수의 입력으로 사용할 수 있는 QuantumCircuit을 생성할 수 있습니다.
요약
이 페이지에서, 여러분은:
고유값과 고유벡터의 개념을 다시 살펴보았습니다.
위상 반동 효과를 탐구하고 몇 가지 구체적인 예를 다뤘습니다.
양자 컴퓨터가 고전 컴퓨터보다 유리한 시나리오로 도이치의 문제를 살펴보았습니다.
이 곳에서 배운 다른 모든 것을 잊어버린다 하더라도, 아래에 있는 위상 반동의 정리는 반드시 기억하고 습득해야 함을 명심하십시오.
다시 살펴보기: 위상 반동
양자 게이트 의 고유 상태가 이면, 에 작용하는 는 전역 위상 를 발생시킵니다. 즉:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{_matrix-U}{U}\…과 의 중첩 상태에 있는 제어 큐비트가 연산으로 다른 큐비트를 제어하면, Z축을 중심으로 제어 큐비트를 각도 만큼 회전시키는 효과가 발생합니다. 즉:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{_matrix-CU}{CU…