양자 알고리즘 실험실
유명한 양자 알고리즘들을 단계별로 실행하고 분석하세요
알고리즘 선택
Deutsch-Jozsa 알고리즘
함수가 상수인지 균형인지 한 번의 호출로 판별
큐비트: 3개단계: 4개
Grover 알고리즘
정렬되지 않은 데이터베이스에서 O(√N) 시간에 검색
큐비트: 2개단계: 4개
Shor 알고리즘
큰 수를 효율적으로 소인수분해
큐비트: 4개단계: 4개
단계별 실행
1
초기 상태: |000⟩
회로:
|0⟩ → |0⟩ → |0⟩
상태:
|000⟩
✓
2
Hadamard 게이트로 중첩 상태 생성
회로:
H|0⟩ → H|0⟩ → |0⟩
상태:
(|00⟩ + |01⟩ + |10⟩ + |11⟩)|0⟩/2
3
Oracle 함수 적용
회로:
H|0⟩ → H|0⟩ → Uf|0⟩
상태:
±(|00⟩ + |01⟩ + |10⟩ + |11⟩)|f⟩/2
4
다시 Hadamard 적용
회로:
H²|0⟩ → H²|0⟩ → Uf|0⟩
상태:
상수: |00⟩|f⟩, 균형: |xy⟩|f⟩
알고리즘 정보
Deutsch-Jozsa 알고리즘
함수가 상수인지 균형인지 한 번의 호출로 판별
3
큐비트
4
단계
실행 로그
알고리즘을 실행하면 로그가 표시됩니다
복잡도 분석
시간 복잡도:
O(1)
고전: O(2^(n-1)+1) → 양자: O(1)
💡 양자 우위는 특정 문제에서만 나타납니다
🎓 사용 가이드
• 알고리즘을 선택하고 "실행" 버튼 클릭
• 각 단계의 양자 상태 변화 관찰
• 실행 로그로 세부 과정 확인
• 복잡도 분석으로 양자 우위 이해