古典プログラマが量子プログラミングをさわろうとした話 / FFTT #383

古典プログラマが量子プログラミングをさわろうとした話 / FFTT #383

社内勉強会 FFTT で発表した内容です。

6afbe110d33ef7e859fb8649b86bae55?s=128

Masaya Nakamura

January 24, 2020
Tweet

Transcript

  1. ݹయϓϩάϥϚ͕ ྔࢠϓϩάϥϛϯάΛ ͞ΘΖ͏ͱͨ͠࿩ ೥݄೔ !NBTIBCPX

  2. งғؾͱ͔ײ৮͙Β͍͸఻͍͑ͨ ͜Μʹͪ͸ w !NBTIBCPX w ιʔγϟϧ1-64ϑϩϯτΤϯυΤϯδχΞ w લճ͸ϕδΤۂઢʹ͍ͭͯޠͬͨΜͰ͕͢ w ࠓճ͸ྔࢠίϯϐϡʔλͷ࿩Λ͠·͢

    
  3. ࡢ೥݄͸͡Ί w ʻ͋ʔɺϑϩϯτΤϯυ.5(ͷωλ୳ͯ͠͠ͳ͍΍ʜ w ͸ͯϒͰVTFST͙Β͍৳ͼ͍ͯͨ w શવΘ͔ΒΜ͚Ͳ঺հ͠ͱ͜ w ͳΜ͔͔͍͍ͬ͜͠ 

  4. ղܾ✅ ྔࢠྗֶΘ͔Βͳ͍໰୊ w ೾ಈؔ਺ɺγϡϨσΟϯΨʔํఔࣜɺεϐϯɺʜ w  w ྔࢠྗֶʹ͸ཱͪೖΒͳ͍͜ͱʹͨ͠ 

  5. දݱྗ͕ߴ͍ ྔࢠϏοτ w ݹయϏοτͷঢ়ଶ͸͔ͩͬͨ w ྔࢠϏοτͷঢ়ଶ͸ɺϒϩοϗٿ্ͷ఺Ͱද͞ΕΔΒ͍͠ 

  6. ͳΔ΄Ͳʁ ೖྗͷྔࢠήʔτ w ೖྗͷݹయήʔτ͸ɺ/05ήʔτ͚ͩʢˠ ˠʣ w ྔࢠήʔτͰ͸9 : ; )ͳͲͳͲɺ͍Ζ͍Ζ͋Δ

    w ྔࢠϏοτΛೖΕΔͱɺྔࢠϏοτ͕͙Δ͙ΔճΔ 
  7. ্޲͖͔Լ޲͖͔↕ ྔࢠϏοτͷଌఆ w ྔࢠϏοτΛଌఆ͢Δͱɺ͔͕֬཰తʹग़ͯ͘Δ w ग़ͯ͘Δׂ߹͸ྔࢠϏοτͷঢ়ଶʹΑܾͬͯ·Δ  ͕ ͕ ͕

    ͕
  8. ׬શʹཧղͨ͠ جຊͷϧʔϧ w ྔࢠϏοτ͸ٿΈ͍ͨͳΠϝʔδ w ྔࢠήʔτʹ௨͢ͱ͙Δ͙ΔճΔ w ଌఆ͢Δͱ͔͕֬཰తʹग़ͯ͘Δ 

  9. ཧܥֶ෦೥ੜ͙Β͍ͷ਺ֶ͸ඞཁͩͬͨ ߦྻ͕ग़ͯ͘Δ w ྔࢠϏοτ͸cʫ ͱcʫ ͷॏͶ߹ΘͤͰදݱ͞ΕΔ w ྔࢠήʔτ͸ϢχλϦߦྻͰදݱ͞ΕΔ  |ψ⟩

    = ( α β) = α ( 1 0) + β ( 0 1) = α|0⟩ + β|1⟩ (α, β ∈ ℂ, |α|2 + |β|2 = 1) X = ( 0 1 1 0) X|0⟩ = ( 0 1 1 0) ( 1 0) = ( 0 1) = |1⟩ ͳͷͰɺ
  10. ྔࢠϏοτ͸్தͰ૿͑ͨΓݮͬͨΓ͠ͳ͍☝ ೖྗͷྔࢠήʔτ w $/05ήʔτ͕͍ͪ͹Μ༗໊ͬΆ͍ w ੍ޚϏοτ͕cʫ ͷͱ͖͚ͩɺඪతϏοτΛ൓స  ੍ޚϏοτ ඪతϏοτ

    CNOT |00⟩ = |00⟩ CNOT |01⟩ = |01⟩ CNOT |10⟩ = |11⟩ CNOT |11⟩ = |10⟩ 903తͳ CNOT = 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
  11. ͜ΕΛ࢖ͬͯ͏·͍͜ͱ΍͍ͬͯ͘Β͍͠ ΋ͭΕ w ྔࢠϏοτؒʹ૬ؔؔ܎Λ࡞Δ͜ͱ͕Ͱ͖Δ w ยํͷྔࢠϏοτΛଌఆ͢Δͱɺ΋͏ยํͷྔࢠϏοτͷ஋͕ܾ·Δɺͱ͔  1 2 (|00⟩

    + |11⟩) ग़ྗɿ ยํ͕ͩͬͨΒ΋͏ยํ΋ ยํ͕ͩͬͨΒ΋͏ยํ΋
  12. None
  13. ͚ͬ͜͏௿ϨΠϠ ։ൃ؀ڥ w ઐ༻ͷݴޠͩͬͨΓɺ1ZUIPOͷϥΠϒϥϦͩͬͨΓɺ͍Ζ͍Ζ͋Δ w γϛϡϨʔλʔ͕͍͍ͭͯΔͷͰɺݹయίϯϐϡʔλ্Ͱ΋࣮ߦͰ͖Δ w ن໛͕େ͖͘ͳΔͱܭࢉ͕௥͍͔ͭͳ͍ w جຊతʹ͸ɺྔࢠήʔτΛฒ΂ͯྔࢠճ࿏Λ࡞͍͚ͬͯͩ͘

    
  14. 2VBOUVN,BUBT w .JDSPTPGU੡ͷྔࢠϓϩάϥϛϯάݴޠ2Λ࢖ͬͨ࿅श໰୊ w ೥຤ʹ࠷ॳͷํ͚ͩղ͍ͯΈͨɻύζϧͬΆ͍  ݴޠʹ׳ΕΔ·Ͱ͕ʜ

  15. *#.ͷ$JSDVJU$PNQPTFS w (6*Ͱϙνϙν͢Δͱྔࢠճ࿏͕૊ΊΔ w ࣮ߦ΋Ͱ͖Δ  Ϋϥ΢υ্ͷ࣮ػͰ΋࣮ߦͰ͖Δ

  16. σϞ *#.ͷ2JTLJU/PUFCPPL w 1ZUIPOϥΠϒϥϦ2JTLJU +VQZUFS/PUFCPPL w ͪ͜Β΋ϒϥ΢β্͔Β͙͢ʹಈ͔ͤΔ 

  17. ྔࢠϓϩάϥϜͷ࢖͍ํ w ྔࢠϓϩάϥϜ͸ྔࢠճ࿏ʹίϯύΠϧ͞ΕΔ w ͦͷճ࿏ΛԿճ΋࣮ߦͯ͠ɺଌఆ݁Ռͷ෼෍ΛݟΔ w ·ͩྔࢠϝϞϦ͸ͳ͍ɻྔࢠ௨৴΋Ͱ͖ͳ͍ w ݹయϓϩάϥϜʹ૊Έ߹ΘͤͯཁॴͰ࢖͏Πϝʔδ 

    ࠷ॳͷΠϝʔδͱҧͬͨ ճͱ͔܁Γฦ͢
  18. ؊৺ͳͱ͜Ζ͕ ੵΈ࢒͠ w ͲΜͳྔࢠΞϧΰϦζϜ͕͋Δͷʁ w ྔࢠίϯϐϡʔλ͸Կ͕ಘҙͳͷʁ w ྔࢠήʔτܕͱྔࢠΞχʔϦϯάܕͬͯʁ w Ͳ͜·Ͱ࣮༻తͳͷʁ

    
  19. ͓͠·͍