⚛️ CQM Quantum Simulator 시작하기
CQM Quantum Simulator는 브라우저에서 실행되는 강력한 양자 회로 시뮬레이터입니다. 설치 없이 바로 양자 컴퓨팅을 체험할 수 있습니다.
🖥️ 인터페이스 이해하기
CQM Simulator는 세 개의 주요 패널로 구성됩니다.
왼쪽 패널: 게이트 팔레트
16가지 양자 게이트가 카테고리별로 정리되어 있습니다. 게이트를 드래그하여 회로에 배치하세요.
- Basic: H, X, Y, Z
- Rotation: RX, RY, RZ, P
- Control: CNOT, CZ, SWAP, CCX
- Composite: BELL, QFT
- Measure: M, Reset
중앙 패널: 회로 편집기
양자 회로를 시각적으로 편집할 수 있는 영역입니다. 4가지 뷰 모드를 지원합니다:
- Classical: 전통적인 회로 다이어그램
- Radial: 원형 궤도 시각화
- 3D: Three.js 기반 3D 렌더링
- Hybrid: 두 뷰를 동시에 표시
오른쪽 패널: SDK & 결과
시뮬레이션 결과와 SDK 코드 생성 기능을 제공합니다.
🚀 첫 번째 회로 만들기
간단한 Bell State 회로를 만들어 봅시다.
1단계: H 게이트 배치
왼쪽 팔레트에서 H 게이트를 드래그하여 q[0]의 첫 번째 칸에 놓습니다.
2단계: CNOT 게이트 배치
CNOT 게이트를 드래그하여 q[0]의 두 번째 칸에 놓습니다. 제어 큐비트는 자동으로 설정됩니다.
3단계: 시뮬레이션 실행
Run Simulation 버튼을 클릭합니다.
결과 확인
오른쪽 패널에 다음과 같은 결과가 표시됩니다:
|00⟩: 50%
|11⟩: 50%
이것이 Bell State입니다! 두 큐비트가 완벽하게 얽혀 있습니다.
🔧 양자 게이트 참조
CQM Simulator는 16가지 양자 게이트를 지원합니다.
기본 게이트 (Basic)
| 게이트 | 이름 | 설명 | 효과 |
|---|---|---|---|
| H | Hadamard | 중첩 상태 생성 | |0⟩ → (|0⟩+|1⟩)/√2 |
| X | Pauli-X | 비트 플립 (NOT) | |0⟩ ↔ |1⟩ |
| Y | Pauli-Y | Y축 회전 | |0⟩ → i|1⟩, |1⟩ → -i|0⟩ |
| Z | Pauli-Z | 위상 플립 | |1⟩ → -|1⟩ |
제어 게이트 (Control)
| 게이트 | 이름 | 큐비트 | 설명 |
|---|---|---|---|
| CX | CNOT | 2 | 제어 큐비트가 |1⟩일 때 타겟 플립 |
| CZ | Controlled-Z | 2 | 두 큐비트 모두 |1⟩일 때 위상 플립 |
| SW | SWAP | 2 | 두 큐비트 상태 교환 |
| CCX | Toffoli | 3 | 두 제어가 |1⟩일 때 타겟 플립 |
회전 게이트 (Rotation)
| 게이트 | 이름 | 파라미터 | 설명 |
|---|---|---|---|
| RX | X-Rotation | θ (각도) | X축 기준 회전 |
| RY | Y-Rotation | θ (각도) | Y축 기준 회전 |
| RZ | Z-Rotation | θ (각도) | Z축 기준 회전 |
| P | Phase | θ (위상) | 위상 게이트 |
💻 SDK 코드 생성
설계한 양자 회로를 7개의 주요 양자 컴퓨팅 플랫폼용 코드로 변환합니다.
지원 플랫폼
| 플랫폼 | 언어 | 특징 |
|---|---|---|
| IBM Qiskit | Python | 가장 인기 있는 프레임워크, 실제 하드웨어 접근 |
| Google Cirq | Python | Google 양자 컴퓨터 지원 |
| Rigetti pyQuil | Python | Forest SDK, 실제 하드웨어 |
| Microsoft Q# | Q# | Azure Quantum 통합 |
| D-Wave Ocean | Python | 양자 어닐링 특화 |
| Xanadu PennyLane | Python | 광자 양자 컴퓨팅 |
| AWS Braket | Python | 다양한 백엔드 지원 |
IBM Qiskit 예시
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram
# 회로 생성
qc = QuantumCircuit(2, 2)
# 게이트 적용
qc.h(0)
qc.cx(0, 1)
# 측정
qc.measure([0, 1], [0, 1])
# 시뮬레이션
simulator = Aer.get_backend('qasm_simulator')
job = execute(qc, simulator, shots=1024)
result = job.result()
counts = result.get_counts(qc)
print(counts)
plot_histogram(counts)
🤖 Multi-Agent AI 기능
3개의 AI(GPT, Claude, Gemini)가 동시에 양자 회로를 설계하고 최적의 결과를 제안합니다.
API 키 설정
| AI | 비용 | 발급처 |
|---|---|---|
| Google Gemini | 무료 | aistudio.google.com |
| Anthropic Claude | 유료 | console.anthropic.com |
| OpenAI ChatGPT | 유료 | platform.openai.com |
사용 방법
- 화면 우하단의 🤖 AI 버튼 클릭
- API 키 입력 (처음 한 번만)
- 모드 선택 (Single/Multi)
- 원하는 회로 설명 입력
- Design Circuit 클릭
- 결과 확인 후 Apply to Circuit
❓ 자주 묻는 질문
게이트가 배치되지 않아요
게이트를 드래그하여 회로 그리드의 빈 셀에 놓아주세요. 해당 큐비트가 존재하는지 확인하세요.
AI 기능이 작동하지 않아요
API 키가 올바르게 입력되었는지 확인하세요. Gemini는 무료, Claude/ChatGPT는 유료 API입니다.
시뮬레이션 결과가 매번 달라요
양자 역학의 특성상 결과는 확률적입니다. 같은 회로도 측정할 때마다 다른 결과가 나올 수 있습니다.
생성된 코드를 어떻게 실행하나요?
각 플랫폼의 SDK를 설치 후 실행하거나, IBM Quantum, Google Quantum AI 등의 클라우드 서비스를 이용하세요.
회로를 저장할 수 있나요?
Save Circuit 버튼으로 JSON 파일로 저장하거나, Share 버튼으로 URL을 생성할 수 있습니다.