(가)[그림 1]은 반지름이 1인 원(단위원)을 나타낸다. 점 B에서 선분 OA에 내린 수선의 발을 D라 하자. 선분 BD를 2:1로 외분하는 점 C는 OC=2(OA⋅OB)OA−OB를 만족한다. 이 과정은 점 B를 점 C로 이동시키는 것이다. 점 B와 점 C는 선분 OA에 대해 대칭이다.
(나)[그림 2]는 단위원 위의 주어진 점 S를 이용하여, 점 Q0을 점 Q2로 이동시키는 GS연산을 나타낸다. GS연산은 g1연산과 g2연산을 순서대로 적용하는 것이다. g1연산은 점 Q0을 x축에 대해 대칭이동시켜 점 Q1을 얻는 것이며, g2연산은 제시문 (가)를 이용하여 점 Q1을 점 Q2로 이동시키는 것이다. 점 Q1과 점 Q2는 선분 OS에 대해 대칭이다.
(다)양자 컴퓨터는 (나)에서 설명한 GS연산을 이용하여 데이터를 검색한다. N개의 서로 다른 데이터를 포함하고 있는 단위벡터를 OS라 하자. 찾고자 하는 데이터는 e2=(0,1)에 있다. 선분 OS와 x축 사이의 각을 θ라 하면, sinθ=N1이다. GS연산을 시작할 때 점 Q0을 점 S로 놓는다. 첫 GS연산에서 얻은 점 Q2를 A1이라 하자. 두 번째 GS연산을 할 때는 점 Q0을 A1로 놓는다. 두 번째 GS연산에서 새롭게 얻은 점 Q2를 A2라 하자. 이와 같이 연속적인 n번째의 GS연산으로 얻은 점을 An이라 하면, 원하는 데이터를 찾을 확률은 pn=(OAn⋅e2)2이다. 원하는 데이터를 찾을 확률이 최대가 될 때 검색을 종료한다.
[3.1] 일반 컴퓨터는 차례대로 검색하면서 원하는 데이터를 찾으면 검색을 종료한다. 일반 컴퓨터를 사용하여 N개의 서로 다른 데이터에서 원하는 데이터를 검색하는 경우 k번째 검색에서 원하는 데이터를 찾을 확률을 구하고, 검색 횟수의 기댓값을 구하시오.
[3.2] 4개의 데이터가 있을 때 (즉, N=4) 양자 컴퓨터를 사용해서 원하는 데이터를 찾으려 한다. 제시문 (가)를 이용하여 A1의 좌표를 구하고, 원하는 데이터를 찾을 확률 p1=(OA1⋅e2)2을 구하시오.
[3.3] 단위원 위 임의의 점 Q0에 대한 GS연산에서 선분 OQ0과 선분 OQ2 사이의 각(α)을 θ에 대한 식으로 나타내고, 이를 이용하여 GS연산을 n번 실행하는 경우에 선분 OAn과 x축 사이의 각(βn)을 θ와 n에 대한 식으로 나타내시오. (단, Q0은 좌표평면의 제 1사분면에 있다.)
[3.4] 양자 컴퓨터를 사용하여 N=213개의 서로 다른 데이터에서 원하는 데이터를 검색할 경우, 검색 종료까지의 GS연산 횟수를 구하시오. (단, sinθ=2131의 해를 θ=0.01로 하고 π=3.14로 한다.)
해설강의 준비중
서울과학기술대 2019학년도 수시 오전 자연계열 3번 · mathesis.kr/archive/seoultech/2019su_am/jayeon_3
[3.1] N개의 데이터가 있을 때 k번째 검색에서 원하는 자료를 찾으려면, 첫 번째 검색부터 k−1번째 검색까지 원하는 자료가 나오지 않아야 한다. 첫 번째에서 검색에 실패할 확률 q1=1−N1=NN−1이며 첫 번째에 이어 두 번째 검색에서도 원하는 데이터를 얻지 못할 확률은q2=q1×(1−N−11)=NN−1×N−1N−2=NN−2이다.이와 같이 연속해서 k−1번째까지 원하는 데이터를 얻지 못할 확률은 다음과 같다.qk−1=qk−2×(1−N−(k−2)1)=(NN−1)(N−1N−2)(N−2N−3)⋯(N−(k−2)N−(k−1))=NN−(k−1)이를 이용하여 k번째에 데이터를 찾을 확률은 확률의 곱셈정리를 통하여 다음과 같이 구한다.pk=qk−1×N−(k−1)1=(NN−(k−1))(N−(k−1)1)=N1검색 완료까지의 횟수에 대한 기댓값은 k=1∑Nk×pk=k=1∑Nk×N1=2N(N+1)×N1=2N+1이다.
[3.2] 제시문 (다)에서 N=4일 때, 선분 OS와 x축 사이의 각도 θ는 sinθ=21을 만족하므로 θ=6π이다. 따라서 점 S의 좌표 (cosθ,sinθ)=(23,21)이다. GS연산을 처음 수행할 때, 점 Q0의 위치는 점 S와 같으므로 점 Q0를 x축 대칭이동 시킨 점 Q1의 좌표는 (23,−21)이다. 점 Q2와 점 Q1은 선분 OS에 대하여 대칭이므로 제시문 (가)를 활용하여 OQ2=2(OS⋅OQ1)OS−OQ1을 얻는다.이를 이용하여 점 Q2의 좌표를 구하기 위해 OS=(23,21) 및 OQ1=(23,−21)를 넣어주면 OQ2=(0,1)임을 알 수 있다. 점 A1의 좌표는 점 Q2의 좌표와 같으므로 A1의 좌표는 (0,1)이다.따라서 확률 p1=(OA1⋅e2)2=1이다.
[3.3] 선분 OQ0과 x축 사이의 각도를 γ라고 하자. 점 Q1은 Q0을 x축에 대칭시킨 점이므로 선분 OQ1과 x축 사이의 각도 역시 γ이다. 따라서 선분 OS와 선분 OQ1이 이루는 각도 ∠SOQ1=θ+γ이다.점 Q2와 Q1은 선분 OS에 대해 대칭이므로 ∠SOQ2=∠SOQ1=θ+γ이다. 따라서 선분 OQ2와 x축 사이의 각도는 ∠SOQ2+θ=2θ+γ이다. 선분 OQ0과 x축 사이의 각도가 γ이므로 선분 OQ0과 선분 OQ2가 이루는 각도 α는 (2θ+γ)−γ=2θ이다.처음으로 GS연산을 하는 경우는 점 Q0을 S로 놓기 때문에 선분 OA1이 선분 OS에 대해 2θ만큼 시계 반대방향으로 회전하게 된다. 이와 같이 GS연산을 n번 연속적으로 실행한 후에는 선분 OAn은 선분 OS에 대해 (2θ)×n만큼 시계 반대방향으로 회전하게 된다. 선분 OS와 x축 사이의 각도가 θ이므로 선분 OAn과 x축과의 각도는 (2θ)×n+θ=(2n+1)θ가 된다.
[3.4] 데이터를 찾을 확률이 최대인 지점은 점 An이 y축에 가장 가깝게 되는 곳이다. 즉 선분 OAn과 x축과의 각도 (2n+1)θ가 2π에 최대한 가까워야 된다. N=213일 때 sinθ=2131이다. 문제의 조건에서 θ=0.01이므로 (2n+1)θ=(2n+1)×0.01≈2π=23.14를 만족하는 n을 구하면 n=78이다. 따라서, 양자컴퓨터가 GS연산을 78번 반복한 후 탐색이 종료된다.