๐Ÿ” Grover's Algorithm Explained

Lov Groverเชจเซเช‚ เช•เซเชตเชพเชฃเซเชŸเชฎ เชถเซ‹เชง เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ โ€” เช…เชฃเชตเชฏเช•เซเชค เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ O(โˆšN) เชธเชฎเชฏ!

Classical vs Quantum Search

Database Size NClassical StepsGrover StepsSpeedup
1,000500~3215x
1,000,000500,000~1,000500x
1 billion500 million~30,00016,666x

เช•เซเชตเชพเชฃเซเชŸเชฎ เชŸเซเชฐเชฟเช• โ€” Amplitude Amplification

Groverเชจเซเช‚ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชฌเซ‡ เชฎเซเช–เซเชฏ เชชเช—เชฒเชพเช‚ เชงเชฐเชพเชตเซ‡ เช›เซ‡:

  1. Oracle โ€” เชฒเช•เซเชทเซเชฏเชจเซ‡ เชœเชฃเชคเชพ เชœเชตเชพเชฌ เช†เชชเซ‡
  2. Diffusion Operator โ€” เชธเชฎเช•เชฒเซเชชเชจเชพเชจเซ‡ เชตเชฟเชถเซ‡เชท เช•เชฐเซ‡

NovaLang เช‰เชฆเชพเชนเชฐเชฃ

# 3-qubit search (8 states) q0, q1, q2 = qubit(), qubit(), qubit() # Initialize superposition h(q0); h(q1); h(q2) # Oracle: flip target state (เช‰เชฆเชพ: '101') x(q0); cx(q2, q1) # เชœเชตเชพเชฌเชฆเซ‡เชตเซ€เชจเซเช‚ เชฒเช•เซเชทเซเชฏ เชœเชฃเชคเชพ # Diffusion: amplify amplitude # (เช†เชชเชฃเซ‡ เช†เชตเชถเซเชฏเช• เชชเช—เชฒเชพเช‚ เชงเชฐเชพเชตเซ‡) # Measure result measure(q0); measure(q1); measure(q2)

เชตเซเชฏเชพเชชเชพเชฐเชฟเช• เช‰เชชเชฏเซ‹เช—เซ‹

โ† Back to Research Articles
Home Editor Guide Research