Upgrade to Pro — share decks privately, control downloads, hide ads and more …

高専カンファレンス新春 in 大阪

高専カンファレンス新春 in 大阪

『2019-01-12 高専カンファレンス新春 in 大阪』で発表した資料です。

Hiroki Nomura

January 12, 2019
Tweet

More Decks by Hiroki Nomura

Other Decks in Programming

Transcript

  1. ৽य़ɾߴઐΧϯϑΝ
    in େࡕ
    2019/01/12 kosenconf-123shinshun

    ͷΉͷΉʢ@nomunomu0504ʣ

    View Slide

  2. ڈ೥ʹҾ͖ଓ͖…
    • ڈ೥ͷ৽य़ΧϯϑΝʹ΋ࢀՃͯ͠·ͨ͠
    • @John_bardera ͔Β࣮ߦҕһ௕৆Λ໯͍·ͨ͠

    ʢϞϯΤφϑϧηοτʣ

    View Slide

  3. πΠʔτ͢Δͱ͖ʹ͸…
    #ͷΉͷΉ

    View Slide

  4. ࠓ೔ͷൃද಺༰
    • ྔࢠίϯϐϡʔλʹ͍ͭͯ

    - ྔࢠίϯϐϡʔλͱݹయతίϯϐϡʔλͱͷҧ͍

    - ͲͷΑ͏ʹԋࢉΛߦͳ͍ͬͯΔͷ͔

    View Slide

  5. ࠓ೔ͷൃද಺༰
    ྔࢠίϯϐϡʔλΛઐ໳ͱ͞Ε͍ͯΔํ
    • ྔࢠίϯϐϡʔλʹ͍ͭͯ

    - ྔࢠίϯϐϡʔλͱݹయతίϯϐϡʔλͱͷҧ͍

    - ͲͷΑ͏ʹԋࢉΛߦͳ͍ͬͯΔͷ͔

    View Slide

  6. ࠓ೔ͷൃද಺༰
    ྔࢠ࿦ɾྔࢠྗֶઐ߈ͷํ
    • ྔࢠίϯϐϡʔλʹ͍ͭͯ

    - ྔࢠίϯϐϡʔλͱݹయతίϯϐϡʔλͱͷҧ͍

    - ͲͷΑ͏ʹԋࢉΛߦͳ͍ͬͯΔͷ͔
    ྔࢠίϯϐϡʔλΛઐ໳ͱ͞Ε͍ͯΔํ

    View Slide

  7. ࠓ೔ͷൃද಺༰
    • ྔࢠίϯϐϡʔλʹ͍ͭͯ

    - ྔࢠίϯϐϡʔλͱݹయతίϯϐϡʔλͱͷҧ͍

    - ͲͷΑ͏ʹԋࢉΛߦͳ͍ͬͯΔͷ͔
    ྔࢠ࿦ɾྔࢠྗֶઐ߈ͷํ
    ྔࢠίϯϐϡʔλΛઐ໳ͱ͞Ε͍ͯΔํ
    झຯൣғͰֶश͍ͯ͠Δ಺༰Ͱ͢

    ʢߨٛ౳Ұ੾औ͍ͬͯ·ͤΜɻऔΓͨͯ͘΋ߴઐʹ͋Γ·ͤΜʣ
    ؒҧ͍͕͋Γ·ͨ͠Β%.౳ૹ͍͚ͬͯͨͩΔͱ

    ϓϨθϯλʔ͸تͼ·͢

    View Slide

  8. ྔࢠίϯϐϡʔλͱ͸
    • ྔࢠྗֶͷੑ࣭Λ࢖ͬͯߴ଎ʹܭࢉͰ͖Δίϯϐϡʔλ
    • ͋Δఔ౓ͷαΠζͷྔࢠίϯϐϡʔλ͕͋Ε͹

    ໰୊ʹΑͬͯ͸εύίϯΑΓ΋ߴ଎ʹܭࢉͰ͖Δ
    • ྔࢠίϯϐϡʔλͷ࣮ݱํ๏͸̎छྨ͋Δ
    • ྔࢠήʔτํࣜ
    • ྔࢠΞχʔϦϯάํࣜ
    > ࠓճઆ໌͢Δͷ͸ʰྔࢠήʔτํࣜʱ

    View Slide

  9. ྔࢠίϯϐϡʔλͰߴ଎ܭࢉͰ͖Δ͜ͱ
    1. ਺࿦ܥ
    • Ҽ਺෼ղ
    • ཭ࢄର਺໰୊
    • ϕϧํఔࣜ
    • Ψ΢ε࿨
    • ߹ಉθʔλؔ਺
    2. زԿܥ
    • ݁ͼ໨ෆมྔ
    • Persistent Homology
    3. ઢܗ୅਺ܥ
    • ߦྻͷྦྷ৐
    • ߦྻͷ֊৐
    ͳͲ

    View Slide

  10. 1. ਺࿦ܥ
    • Ҽ਺෼ղ
    • ཭ࢄର਺໰୊
    • ϕϧํఔࣜ
    • Ψ΢ε࿨
    • ߹ಉθʔλؔ਺
    ޙ൒Ͱ࣮ࡍʹ
    ಋग़΍ͬͯΈ·͢ʂ
    ྔࢠίϯϐϡʔλͰߴ଎ܭࢉͰ͖Δ͜ͱ
    2. زԿܥ
    • ݁ͼ໨ෆมྔ
    • Persistent Homology
    3. ઢܗ୅਺ܥ
    • ߦྻͷྦྷ৐
    • ߦྻͷ֊৐
    ͳͲ

    View Slide

  11. Ͳͷ͙Β͍ૣ͘ܭࢉͰ͖Δͷ͔
    • nϏοτ੔਺ͷҼ਺෼ղ
    • ݹయతίϯϐϡʔλ(Ұൠ਺ମ;Δ͍๏)
    (e1.9(ln n)
    1
    3(ln ln n)
    2
    3)
    • ྔࢠίϯϐϡʔλ(ShorΞϧΰϦζϜ)
    ((log n)2(log log n)(log log log n))
    • 1024Ϗοτ੔਺ͷҼ਺෼ղʹ͔͔Δܭࢉྔ
    • ݹయతίϯϐϡʔλɿ
    • ྔࢠίϯϐϡʔλɹɿ
    (10278)
    (1061)

    View Slide

  12. • 1024Ϗοτ੔਺ͷҼ਺෼ղʹ͔͔Δܭࢉྔ
    • ݹయతίϯϐϡʔλɿ
    • ྔࢠίϯϐϡʔλɹɿ
    Ͳͷ͙Β͍ૣ͘ܭࢉͰ͖Δͷ͔
    • nϏοτ੔਺ͷҼ਺෼ղ
    • ݹయతίϯϐϡʔλ(Ұൠ਺ମ;Δ͍๏)
    (e1.9(ln n)
    1
    3(ln ln n)
    2
    3)
    • ྔࢠίϯϐϡʔλ(ShorΞϧΰϦζϜ)
    ((log n)2(log log n)(log log log n))
    (10278)
    (1061)

    View Slide

  13. ͲͷΑ͏ͳܭࢉΛ͍ͯ͠Δͷ͔
    • ݹయతίϯϐϡʔλͳΒɺ͋Δॲཧܥ͓͍ͯ

    ೖྗ஋͕ಉ͡ͳΒৗʹಉ݁͡Ռ͕ಘΒΕΔɻ
    • ྔࢠίϯϐϡʔλͰ͸ɺ͋Δԋࢉࢠܥʹ͓͍ͯ

    ೖྗ஋͕ಉ͡Ͱ΋ʰԋࢉ݁Ռʱ͸ҟͳΔՄೳੑ͕͋Δɻ
    ྔࢠίϯϐϡʔλ͸ܭࢉͷਖ਼֬͞ʢ֬཰ʣΛग़ྗ͢Δ

    View Slide

  14. ֤ίϯϐϡʔλͷ
    جૅԋࢉʹ͍ͭͯ

    View Slide

  15. ݹయతίϯϐϡʔλͷجૅ
    • ๻Β͕͍ͭ΋ར༻͍ͯ͠ΔίϯϐϡʔλΛ

    ʮݹయతίϯϐϡʔλʯͱݺͿ
    • ݹయతίϯϐϡʔλͷܭࢉ୯Ґ͸ʮbitʯ

    0 ͔ 1 ͷͲͪΒ͔ͷঢ়ଶΛऔΓ͏Δɻ2ਐ਺Ͱද͢
    • bitͷঢ়ଶ͸ిѹͷ on/off Ͱอ࣋͞Ε͍ͯΔɻ

    View Slide

  16. ݹయతίϯϐϡʔλͷԋࢉ
    • ࿦ཧήʔτʢAND, OR, NOTʣͰԋࢉճ࿏Λ૊Ή
    • AND, NOTήʔτͷ2छྨ (΋͘͠͸NANDήʔτͳΒ1छྨ) ͕͋Ε͹

    ೚ҙͷ࿦ཧճ࿏Λ࣮ݱͰ͖Δ

    View Slide

  17. ྔࢠίϯϐϡʔλͷجૅ
    • ྔࢠྗֶతͳঢ়ଶͷॏͶ߹ΘͤͰฒྻੑΛ࣮ݱ͢Δ
    • ܭࢉ୯Ґ͸ʮQubit (Quantum bit) ʯ

    ˠ 0 ͔ 1 ʹͳΔʮ֬཰Λอ࣋ʯͯ͠ԋࢉΛߦ͏
    • ྔࢠϏοτ͸ʮϒϥɾέοτه๏ʯͰදݱ͞ΕΔ
    جຊతʹྔࢠྗֶ͸ʮγϡϨσΟϯΨʔܗࣜʢඍੵ෼ʣʯ͕ͩίϯϐϡʔλͰ

    ѻ͏ͨΊʮσΟϥοΫܗࣜʢߦྻʣʯΛ༻͍Δ
    ԋࢉͰ͸ʮςϯιϧੵʯΛଟ༻͢Δ

    View Slide

  18. ྔࢠίϯϐϡʔλͷԋࢉʢςϯιϧੵʣ
    • ߦྻੵ
    (
    0 0
    0 1) ⋅ (
    1 0
    0 1) = (
    0 0
    0 1)
    ֤ߦྻͷཁૉಉ࢜ͷԋࢉʢੵɾ࿨ʣ
    ͦΕͧΕͷߦྻͷαΠζ͸ n×m, m×p Ͱͳ͚Ε͹ͳΒͳ͍
    ԋࢉޙͷߦྻͷαΠζ͸ n×p ͱͳΔ

    View Slide

  19. • ςϯιϧੵ
    ཁૉͱߦྻͷԋࢉ
    ͦΕͧΕͷߦྻͷαΠζΛ n×m, p×q ͱ͢Ε͹

    ԋࢉޙͷߦྻαΠζ͸np × mq ͱͳΔ
    ςϯιϧੵ͸ߦྻͷ֦ு
    (
    0 0
    0 1) ⊗ (
    1 0
    0 1) =
    0 0 0 0
    0 0 0 0
    0 0 1 0
    0 0 0 1
    ྔࢠίϯϐϡʔλͷԋࢉʢςϯιϧੵʣ

    View Slide

  20. ཁૉͱߦྻͷԋࢉ
    ͦΕͧΕͷߦྻͷαΠζΛ n×m, p×q ͱ͢Ε͹

    ԋࢉޙͷߦྻαΠζ͸np × mq ͱͳΔ
    ςϯιϧੵ͸ߦྻͷ֦ு
    ྔࢠίϯϐϡʔλͷԋࢉʢςϯιϧੵʣ
    • ςϯιϧੵ
    (
    0 0
    0 1) ⊗ (
    1 0
    0 1) =
    0 0 0 0
    0 0 0 0
    0 0 1 0
    0 0 0 1
    0 ⋅ (
    1 0
    0 1)
    0 ⋅ (
    1 0
    0 1) 1 ⋅ (
    1 0
    0 1)
    0 ⋅ (
    1 0
    0 1)

    View Slide

  21. ྔࢠίϯϐϡʔλͷԋࢉʢϒϥɾέοτه๏ʣ
    • ϒϥɾέοτه๏
    α, β Λෳૉ਺ͱ͢Ε͹
    |⟩
    ɿϒϥ
    ⟨|
    |A⟩ = (
    α
    β) ⟨A| = (α* β*) ɹɹɿɹͷෳૉڞ໾
    X* X
    γ, δ Λෳૉ਺ͱ͢Ε͹
    |B⟩ = (
    γ
    δ) ⟨B| = (γ* δ*)
    ɿέοτ

    View Slide

  22. ྔࢠίϯϐϡʔλͷԋࢉʢϒϥɾέοτه๏ͷܭࢉྫʣ
    |A⟩ = (
    α
    β) ⟨A| = (α* β*) ⟨B| = (γ* δ*)
    |B⟩ = (
    γ
    δ)

    View Slide

  23. ྔࢠίϯϐϡʔλͷԋࢉʢϒϥɾέοτه๏ͷܭࢉྫʣ
    ⟨A|B⟩ = (α* β*) (
    γ
    δ) = α*γ + β*δ ← ߦྻA, Bͷ಺ੵ
    |A⟩ = (
    α
    β) ⟨A| = (α* β*) ⟨B| = (γ* δ*)
    |B⟩ = (
    γ
    δ)

    View Slide

  24. ྔࢠίϯϐϡʔλͷԋࢉʢϒϥɾέοτه๏ͷܭࢉྫʣ
    |A⟩ ⊗ |B⟩ = (
    α
    β) ⊗ (
    γ
    δ) =
    αγ
    αδ
    βγ
    βδ
    |A⟩ ⊗ ⟨B| = (
    α
    β) ⊗ (γ* δ*) = (
    αγ* αδ*
    βγ* βδ*)
    ⟨A|B⟩ = (α* β*) (
    γ
    δ) = α*γ + β*δ ← ߦྻA, Bͷ಺ੵ
    |A⟩ = (
    α
    β) ⟨A| = (α* β*) ⟨B| = (γ* δ*)
    |B⟩ = (
    γ
    δ)

    View Slide

  25. ྔࢠίϯϐϡʔλͷԋࢉʢϒϥɾέοτه๏ͷܭࢉྫʣ
    |A⟩ ⊗ |B⟩ = (
    α
    β) ⊗ (
    γ
    δ) =
    αγ
    αδ
    βγ
    βδ
    |A⟩ ⊗ ⟨B| = (
    α
    β) ⊗ (γ* δ*) = (
    αγ* αδ*
    βγ* βδ*)
    ⟨A|B⟩ = (α* β*) (
    γ
    δ) = α*γ + β*δ ← ߦྻA, Bͷ಺ੵ
    |A⟩ = (
    α
    β) ⟨A| = (α* β*) ⟨B| = (γ* δ*)
    |B⟩ = (
    γ
    δ)
    ߦྻA, Bͷςϯιϧੵ

    ˠ ԋࢉࢠʢߦྻʣ

    View Slide

  26. ྔࢠίϯϐϡʔλͷԋࢉʢϒϥɾέοτه๏ͷܭࢉྫʣ
    |B⟩
    ⟨B| ͸ ͷ
    Τϧϛʔτڞ໾ͱ͍͏
    ߦྻA, Bͷςϯιϧੵ

    ˠ ԋࢉࢠʢߦྻʣ
    |A⟩ ⊗ |B⟩ = (
    α
    β) ⊗ (
    γ
    δ) =
    αγ
    αδ
    βγ
    βδ
    |A⟩ ⊗ ⟨B| = (
    α
    β) ⊗ (γ* δ*) = (
    αγ* αδ*
    βγ* βδ*)
    ⟨A|B⟩ = (α* β*) (
    γ
    δ) = α*γ + β*δ ← ߦྻA, Bͷ಺ੵ
    |A⟩ = (
    α
    β) ⟨A| = (α* β*) ⟨B| = (γ* δ*)
    |B⟩ = (
    γ
    δ)

    View Slide

  27. • ςϯιϧੵͷলུ
    ෳ਺ͷςϯιϧੵͰද͞Ε͍ͯΔϕΫτϧ͸·ͱΊΔ͜ͱ͕Ͱ͖Δɻ

    έοτɺϒϥಉ࢜͸লུͰ͖Δ͕ɺࠞࡏ͍ͯ͠Δͱ͖͸஫ҙ͕ඞཁ
    ྔࢠίϯϐϡʔλͷԋࢉʢςϯιϧੵʣ
    |0⟩ ⊗ |1⟩ ⊗ |1⟩ ⊗ |0⟩ ⊗ |1⟩ = |0⟩|1⟩|1⟩|0⟩|1⟩
    = |01101⟩
    (⟨A| ⊗ ⟨B|) (|X⟩ ⊗ |Z⟩) = ⟨A|X⟩⟨B|Z⟩
    ৔߹ʹΑͬͯ͸ςϯιϧੵΛؚΜͰͯ΋ܭࢉ݁Ռ͸಺ੵʹͳΔͱ͔
    1 1
    2 2 1
    1 2
    2

    View Slide

  28. • ԋࢉࢠUΛఆٛ͢Δ
    ྔࢠίϯϐϡʔλͷԋࢉʢΤϧϛʔτڞ໾ʣ
    → సஔͷෳૉڞ໾
    U = (
    α
    β)
    ԋࢉࢠUͷసஔ͸
    tU = (α β)
    ԋࢉࢠUͷసஔͷෳૉڞ໾͸
    tU* = (α* β*)
    ຖճɹ Λॻ͘ͷ͸໘౗ → লུه߸͋Γ·͢
    tU*
    U† = tU* ɿUͷΤϧϛʔτڞ໾( ɿ μΨʔ )
    U† †

    View Slide

  29. • nྔࢠϏοτͷঢ়ଶɹɹ͕͋Δͱ͖
    ྔࢠίϯϐϡʔλͷԋࢉʢྔࢠ཭ࢄతϑʔϦΤม׵ʣ
    |j⟩
    |j⟩ =
    1
    2n
    2n−1

    k=0
    ei 2πkj
    2n
    |k⟩
    |j⟩ =
    1
    2n
    2n−1

    k=0
    e−i 2πkj
    2n
    |k⟩
    • ٯྔࢠ཭ࢄతϑʔϦΤม׵

    View Slide

  30. • nྔࢠϏοτͷঢ়ଶɹɹ͕͋Δͱ͖
    |j⟩
    |j⟩ =
    1
    2n
    2n−1

    k=0
    ei 2πkj
    2n
    |k⟩
    |j⟩ =
    1
    2n
    2n−1

    k=0
    e−i 2πkj
    2n
    |k⟩
    • ٯྔࢠ཭ࢄతϑʔϦΤม׵
    ྔࢠίϯϐϡʔλͷԋࢉʢྔࢠ཭ࢄతϑʔϦΤม׵ʣ

    View Slide

  31. • nྔࢠϏοτͷঢ়ଶɹɹ͕͋Δͱ͖
    |j⟩
    |j⟩ =
    1
    2n
    2n−1

    k=0
    ei 2πkj
    2n
    |k⟩
    |j⟩ =
    1
    2n
    2n−1

    k=0
    e−i 2πkj
    2n
    |k⟩
    • ٯྔࢠ཭ࢄతϑʔϦΤม׵
    ྔࢠίϯϐϡʔλͷԋࢉʢྔࢠ཭ࢄతϑʔϦΤม׵ʣ
    ʂपظղੳʹ༻͍Δʂ

    View Slide

  32. ྔࢠͷੑ࣭ʹ͍ͭͯ

    View Slide

  33. • ཭ࢄੑ
    • ෆ֬ఆੑ − ෆ֬ఆੑݪཧ( ϋΠθϯϕϧάͷݪཧ )
    • ೋॏੑ
    ྔࢠίϯϐϡʔλͷجૅʲྔࢠͷੑ࣭ʳ

    View Slide

  34. ྔࢠίϯϐϡʔλͷجૅʲྔࢠͷੑ࣭ʳ
    • ཭ࢄੑ

    ྔࢠ͸࿈ଓతͳΤωϧΪʔͰ͸ͳ͘཭ࢄతͳΤωϧΪʔΛ࣋ͭ

    ϚΫϩʢڊࢹతʣͰ͸࿈ଓతͰ͋Δ͕ɺϛΫϩʢඍࢹతʣͰ͸ಛఆͷ৔߹ʹ཭ࢄ
    తͳΤωϧΪʔ४Ґ͔࣋ͯ͠ͳ͘ͳΔ • ཻࢠ̍ݸ͕࣋ͭΤωϧΪʔ
    ℏω ( ∵ ℏ =
    h
    2π ) hɿϓϥϯΫఆ਺

    View Slide

  35. ྔࢠίϯϐϡʔλͷجૅʲྔࢠͷੑ࣭ʳ
    • ෆ֬ఆੑ − ෆ֬ఆੑݪཧʢϋΠθϯϕϧάͷݪཧʣ
    Δx ⋅ Δpx


    2
    ΔxɿҐஔͷෆ֬ఆੑ Δpx ɿӡಈྔͷෆ֬ఆੑ
    ిࢠͷӡಈྔʢ଎౓ʣͱҐஔΛಉ࣌ʹਖ਼֬ʹ஌Δ͜ͱ͸Ͱ͖ͳ͍

    ɾӡಈྔ͕෼͔Ε͹ʢɹɹ = 0 ʣɺҐஔ͕ෆ໌ʢɹɹ= ∞ ʣ

    ɾҐஔ͕෼͔Ε͹ʢɹɹ = 0 ʣɺӡಈྔ͕ෆ໌ʢɹɹ = ∞ ʣ
    Δpx
    Δx
    Δx Δpx
    υΠπͷ෺ཧֶऀ ϋΠθϯϕϧάʹΑͬͯఏҊ͞Εͨ

    View Slide

  36. ྔࢠίϯϐϡʔλͷجૅʲྔࢠͷੑ࣭ʳ
    • ೋॏੑ − ೋॏεϦοτͷ࣮ݧ
    • ཻࢠͳΒ͹εϦοτΛ௨ͬͯ

    ਅͬ௚͙εΫϦʔϯʹͿ͔ͭΔ

    ͞Βཻࢠ̍ͭ̍ͭͷ੻͕࢒Δ
    • ೾ͳΒ͹εϦοτΛ௨ΔͷͰ

    ׯবࣶ͕εΫϦʔϯʹͰ͖Δ

    View Slide

  37. ྔࢠίϯϐϡʔλͷجૅʲೋॏੑʳ
    • ిࢠΛೋॏεϦοτʹ௨͢ͱʁ
    ཻࢠͷੑ࣭͕εΫϦʔϯʹΈΒΕΔʢཻࢠͷ੻ʣ
    ೾ͷੑ࣭͕εΫϦʔϯʹΈΒΕΔʢׯবࣶʣ
    ͲͪΒͩͱࢥ͍·͔͢ʁ

    View Slide

  38. ྔࢠίϯϐϡʔλͷجૅʲೋॏੑʳ
    • ిࢠΛೋॏεϦοτʹ௨͢ͱʁ
    • ʮཻࢠͷੑ࣭ʹݟΒΕΔిࢠͷিಥͷ੻ʯ

    ʮ೾ͷੑ࣭ʹݟΒΕΔׯবࣶʯͷ྆ํ͕εΫϦʔϯʹΈΒΕΔ
    ͭ·Γʮిࢠʯ͸

    ˠʮ೾ʯͷΑ͏ʹׯব͠߹͍

    ʮཻࢠʯͷΑ͏ʹεΫϦʔϯʹিಥͨ͠ͱ͍͏͜ͱʹͳΔ
    ʮ೾ʯͱʮཻࢠʯͷೋॏੑ

    View Slide

  39. ྔࢠίϯϐϡʔλͷجૅʲೋॏੑʳ
    • ిࢠΛೋॏεϦοτͷલͰ؍ଌͨ͠Βʁ
    ʮ೾ʯͷੑ࣭͚ͩΛ͍࣋ͬͯΔͷ͔
    ʮཻࢠʯͷੑ࣭͚ͩΛ͍࣋ͬͯΔͷ͔
    ిࢠ͕෼ׂ͞Ε͍ͯΔͷͰ͸ͳ͍͔

    View Slide

  40. ྔࢠίϯϐϡʔλͷجૅʲೋॏੑʳ
    • ిࢠΛೋॏεϦοτͷલͰ؍ଌͨ͠Βʁ
    • ʮ؍ଌʯͱ͍͏ߦҝΛߦ͏ͱʮཻࢠʯͷੑ࣭͔͠ΈΒΕͳ͔ͬͨ

    ˠʮ؍ଌʯΛߦ͏ͱঢ়ଶ่͕Εͯ͠·͏
    ޙड़ɿʮྔࢠॏͶ߹Θͤͷঢ়ଶʯʹؔ࿈͍ͯ͠Δ

    View Slide

  41. ྔࢠίϯϐϡʔλͷجૅʲྔࢠঢ়ଶʹ͍ͭͯʳ
    • ྔࢠॏͶ߹Θͤঢ়ଶ
    • ྔࢠׯবޮՌ
    • ྔࢠ΋ͭΕঢ়ଶʢΤϯλϯάϧϝϯτʣ

    View Slide

  42. ྔࢠίϯϐϡʔλͷجૅʲྔࢠॏͶ߹Θͤঢ়ଶʳ
    • ྔࢠॏͶ߹Θͤঢ়ଶ

    ཭ࢄతͳঢ়ଶ͕ࠞ͟Γ߹ͬͨঢ়ଶɻ

    ؍ଌʹΑͬͯͲͪΒ͔ͷঢ়ଶʹऩॖ͠ɺॏͶ߹Θͤঢ়ଶ่͕ΕΔ

    View Slide

  43. ྔࢠίϯϐϡʔλͷجૅʲྔࢠॏͶ߹Θͤঢ়ଶʳ
    • ྔࢠॏͶ߹Θͤঢ়ଶ

    ཭ࢄతͳঢ়ଶ͕ࠞ͟Γ߹ͬͨঢ়ଶɻ

    ؍ଌʹΑͬͯͲͪΒ͔ͷঢ়ଶʹऩॖ͠ɺॏͶ߹Θͤঢ়ଶ่͕ΕΔ

    View Slide

  44. ྔࢠίϯϐϡʔλͷجૅʲྔࢠॏͶ߹Θͤঢ়ଶʳ
    |α|2 %
    |β|2 %
    |0⟩
    |1⟩
    α|0⟩ + β|1⟩
    • ྔࢠॏͶ߹Θͤঢ়ଶ

    ཭ࢄతͳঢ়ଶ͕ࠞ͟Γ߹ͬͨঢ়ଶɻ

    ؍ଌʹΑͬͯͲͪΒ͔ͷঢ়ଶʹऩॖ͠ɺॏͶ߹Θͤঢ়ଶ่͕ΕΔ

    View Slide

  45. ྔࢠίϯϐϡʔλͷجૅʲྔࢠॏͶ߹Θͤঢ়ଶʳ
    ϧϏϯͷᆵ
    • ྔࢠॏͶ߹Θͤঢ়ଶ

    ཭ࢄతͳঢ়ଶ͕ࠞ͟Γ߹ͬͨঢ়ଶɻ

    ؍ଌʹΑͬͯͲͪΒ͔ͷঢ়ଶʹऩॖ͠ɺॏͶ߹Θͤঢ়ଶ่͕ΕΔ

    View Slide

  46. ྔࢠίϯϐϡʔλͷجૅʲྔࢠׯবޮՌʳ
    • ྔࢠׯবޮՌ

    ৭ʑͳঢ়ଶ͕ڧΊ߹ͬͨΓऑΊ߹ͬͨΓ͢Δ͜ͱ

    ೾ͷׯবͱࣅͨΑ͏ͳݱ৅

    View Slide

  47. ྔࢠίϯϐϡʔλͷجૅʲྔࢠ΋ͭΕঢ়ଶʳ
    • ྔࢠ΋ͭΕঢ়ଶʢΤϯλϯάϧϝϯτʣ

    ৭ʑͳঢ়ଶؒͰ૬ޓؔ܎͕͋Γ෼཭Ͱ͖ͳ͍

    ˠ ʰγϡϨσΟϯΨʔͷೣͷύϥυοΫεʱ͕༗໊
    |0⟩ |1⟩
    ෳ߹ܥͷঢ়ଶΛςϯιϧੵΛ

    ༻͍ͯද͢͜ͱ͕Ͱ͖ͳ͍࣌

    ྔࢠ΋ͭΕঢ়ଶͱ͍͏ |0⟩ ⊗ |1⟩ ≠ |0⟩ + |1⟩

    View Slide

  48. ྔࢠίϯϐϡʔλͷجૅʲྔࢠ΋ͭΕঢ়ଶʳ
    • ྔࢠ΋ͭΕঢ়ଶʢΤϯλϯάϧϝϯτʣ

    ৭ʑͳঢ়ଶؒͰ૬ޓؔ܎͕͋Γ෼཭Ͱ͖ͳ͍

    ˠ ʰγϡϨσΟϯΨʔͷೣͷύϥυοΫεʱ͕༗໊
    |0⟩ |1⟩
    |0⟩ ⊗ |1⟩ ≠ |0⟩ + |1⟩
    ͲΏ͜ͱʁ
    ෳ߹ܥͷঢ়ଶΛςϯιϧੵΛ

    ༻͍ͯද͢͜ͱ͕Ͱ͖ͳ͍࣌

    ྔࢠ΋ͭΕঢ়ଶͱ͍͏

    View Slide

  49. ྔࢠίϯϐϡʔλͷجૅʲྔࢠ΋ͭΕঢ়ଶʳ
    • Τϯλϯάϧϝϯτঢ়ଶͱඇΤϯλϯάϧϝϯτঢ়ଶ
    ࣍ͷ̎ͭͷঢ়ଶA, Bʢ ɹɹɹɹ ɹʣΛߟ͑Δ
    |ψA
    ⟩, |ψB

    |ψA
    ⟩ =
    1
    2
    (|00⟩ + |01⟩) |ψB
    ⟩ =
    1
    2
    (|00⟩ + |11⟩)

    View Slide

  50. ྔࢠίϯϐϡʔλͷجૅʲྔࢠ΋ͭΕঢ়ଶʳ
    → ঢ়ଶA͸ςϯιϧੵͰද͢͜ͱ͕Ͱ͖Δ͕ঢ়ଶB͸Ͱ͖ͳ͍
    • Τϯλϯάϧϝϯτঢ়ଶͱඇΤϯλϯάϧϝϯτঢ়ଶ
    ࣍ͷ̎ͭͷঢ়ଶA, Bʢ ɹɹɹɹ ɹʣΛߟ͑Δ
    |ψA
    ⟩, |ψB

    |ψA
    ⟩ =
    1
    2
    (|00⟩ + |01⟩) |ψB
    ⟩ =
    1
    2
    (|00⟩ + |11⟩)

    View Slide

  51. ྔࢠίϯϐϡʔλͷجૅʲྔࢠ΋ͭΕঢ়ଶʳ
    |ψA
    ⟩ = |0⟩ ⊗ 1
    2
    (|0⟩ + |1⟩)
    • Τϯλϯάϧϝϯτঢ়ଶͱඇΤϯλϯάϧϝϯτঢ়ଶ
    → ঢ়ଶA͸ςϯιϧੵͰද͢͜ͱ͕Ͱ͖Δ͕ঢ়ଶB͸Ͱ͖ͳ͍
    ࣍ͷ̎ͭͷঢ়ଶA, Bʢ ɹɹɹɹ ɹʣΛߟ͑Δ
    |ψA
    ⟩, |ψB

    |ψA
    ⟩ =
    1
    2
    (|00⟩ + |01⟩) |ψB
    ⟩ =
    1
    2
    (|00⟩ + |11⟩)

    View Slide

  52. ྔࢠίϯϐϡʔλͷجૅʲྔࢠ΋ͭΕঢ়ଶʳ
    ঢ়ଶAɿඇΤϯλϯάϧϝϯτঢ়ଶʢ΋ͭΕঢ়ଶʹͳ͍ʣ

    ঢ়ଶBɿɹΤϯλϯάϧϝϯτঢ়ଶʢ΋ͭΕঢ়ଶʹ͋Δʣ
    • Τϯλϯάϧϝϯτঢ়ଶͱඇΤϯλϯάϧϝϯτঢ়ଶ
    |ψA
    ⟩ = |0⟩ ⊗ 1
    2
    (|0⟩ + |1⟩)
    → ঢ়ଶA͸ςϯιϧੵͰද͢͜ͱ͕Ͱ͖Δ͕ঢ়ଶB͸Ͱ͖ͳ͍
    ࣍ͷ̎ͭͷঢ়ଶA, Bʢ ɹɹɹɹ ɹʣΛߟ͑Δ
    |ψA
    ⟩, |ψB

    |ψA
    ⟩ =
    1
    2
    (|00⟩ + |01⟩) |ψB
    ⟩ =
    1
    2
    (|00⟩ + |11⟩)

    View Slide

  53. ͔͜͜Βຊ൪
    ౖ౭ͷ਺ֶ & ྔࢠྗֶ

    View Slide

  54. ࣌ؒͷ౎߹্
    ༷ʑͳ৚݅ͷղઆ͸লུ͠·͢


    ✨ ϒϩάͰߦؒຒΊ͠·͢ ✨

    View Slide

  55. 1. ਺࿦ܥ
    • Ҽ਺෼ղ
    • ཭ࢄର਺໰୊
    • ϕϧํఔࣜ
    • Ψ΢ε࿨
    • ߹ಉθʔλؔ਺
    ͜Ε΍Γ·͢
    ྔࢠίϯϐϡʔλͰߴ଎ܭࢉͰ͖Δ͜ͱ
    2. زԿܥ
    • ݁ͼ໨ෆมྔ
    • Persistent Homology
    3. ઢܗ୅਺ܥ
    • ߦྻͷྦྷ৐
    • ߦྻͷ֊৐
    ͳͲ

    View Slide

  56. • ֬཰తΞϧΰϦζϜʢෳ਺ճ࣮ߦ͢Ε͹ɺߴ֬཰Ͱ౰ͨΔʣ
    1. NΛҼ਺෼ղ͢Δͱ͖ɺࣗવ਺ p < N ΛϥϯμϜʹܾΊΔ
    2. gcd(p, N)Λܭࢉ͢Δ → ݁Ռ͕ > 1 ͳΒ͹ɺඇࣗ໌ͳNͷҼ਺
    3. ɹɹɹɹɹɹɹɹɹͷपظTΛݟ͚ͭΔʢྔࢠΞϧΰϦζϜʣ
    1. T͕ح਺ͳΒɺ1.͔Β΍Γ௚͢
    2. ɹɹɹɹɹɹɹɹɹ ͳΒɺ1.͔Β΍Γ௚͢
    4. ɹɹɹɹɹɹɹ͕ඇࣗ໌ͳNͷҼ਺




    ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    fN
    (x) = px mod N
    pT
    2 + 1 ≡ 0 mod N
    gcd(pT
    2
    ± 1,N)
    pT ≡ 1 mod N ⇔ (pT
    2 + 1)(pT
    2 − 1) ≡ 0 mod N
    ≠ 0 ≠ 0
    p, Nͷ࠷େެ໿਺
    Ґ਺ൃݟΞϧΰϦζϜ
    ɾҐ਺ਪఆ໰୊

    ɾҐ਺ൃݟ໰୊

    ɾؔ਺पظൃݟ໰୊

    ݁Ռ͕ͳΒ͹

    ʰޓ͍ʹૉʱͰ͋Δ

    View Slide

  57. • N = 57ͱ͢Δɻp = 5ͩͬͨͱ͖
    1. ɹɹɹɹɹɹɹͱͳΔΑ͏ͳɹɹɹɹΛબͿ

    ɹɹɹɹɹɹɹɹ ΑΓ
    2. ྔࢠϏοτΛ࡞੒͢Δɿ

    3. ྔࢠϑʔϦΤม׵Λ࡞༻ͤ͞Δɿ
    ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    N2 ≤ q < 2N2 q = 2k
    572 ≤ q < 2 ⋅ 572 q = 212 = 4096
    1
    q
    q−1

    x=0
    |x⟩ ⊗ |f(x)⟩
    (
    1
    q )
    2 q−1

    y=0
    q−1

    x=0
    ei 2πxy
    q
    |y⟩ ⊗ |f(x)⟩
    4. ɹͷӈϏοτΛଌఆ͠ɺ

    ࠨϏοτΛଌఆ͢Δͱ࣍ͷ֬཰Ͱ

    yΛಘΒΕΔ

    1
    q⌊q
    r

    ⌊ q
    r
    ⌋−1

    x=0,f(x)=z
    ei 2πrxy
    q
    2
    f57
    (x) = 5x mod 57

    View Slide

  58. • N = 57ͱ͢Δɻp = 5ͩͬͨͱ͖
    1. ɹɹɹɹɹɹɹͱͳΔΑ͏ͳɹɹɹɹΛબͿ

    ɹɹɹɹɹɹɹɹ ΑΓ
    2. ྔࢠϏοτΛ࡞੒͢Δɿ

    3. ྔࢠϑʔϦΤม׵Λ࡞༻ͤ͞Δɿ
    ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    N2 ≤ q < 2N2 q = 2k
    572 ≤ q < 2 ⋅ 572 q = 212 = 4096
    1
    q
    q−1

    x=0
    |x⟩ ⊗ |f(x)⟩
    (
    1
    q )
    2 q−1

    y=0
    q−1

    x=0
    ei 2πxy
    q
    |y⟩ ⊗ |f(x)⟩
    4. ɹͷӈϏοτΛଌఆ͠ɺ

    ࠨϏοτΛଌఆ͢Δͱ࣍ͷ֬཰Ͱ

    yΛಘΒΕΔ

    1
    q⌊q
    r

    ⌊ q
    r
    ⌋−1

    x=0,f(x)=z
    ei 2πrxy
    q
    2
    f57
    (x) = 5x mod 57

    View Slide

  59. 2. ྔࢠϏοτͷ࡞੒
    ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    1
    q
    q−1

    x=0
    |x⟩ ⊗ |f(x)⟩ =
    1
    q
    (|0⟩ ⊗ |50⟩ + |1⟩ ⊗ |51⟩ + |2⟩ ⊗ |52⟩ + . . .
    +|18⟩ ⊗ |50⟩ + |19⟩ ⊗ |51⟩ + |20⟩ ⊗ |52⟩ + . . .
    +|4086⟩ ⊗ |50⟩ + |4087⟩ ⊗ |51⟩ + |4088⟩ ⊗ |52⟩
    + . . . + |4095⟩ ⊗ |59⟩)

    View Slide

  60. ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    1
    q
    q−1

    x=0
    |x⟩ ⊗ |f(x)⟩ =
    1
    q
    (|0⟩ ⊗ |50⟩ + |1⟩ ⊗ |51⟩ + |2⟩ ⊗ |52⟩ + . . .
    +|18⟩ ⊗ |50⟩ + |19⟩ ⊗ |51⟩ + |20⟩ ⊗ |52⟩ + . . .
    +|4086⟩ ⊗ |50⟩ + |4087⟩ ⊗ |51⟩ + |4088⟩ ⊗ |52⟩
    + . . . + |4095⟩ ⊗ |59⟩)
    2. ྔࢠϏοτͷ࡞੒

    View Slide

  61. 2. ྔࢠϏοτͷ࡞੒
    ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    1
    q
    q−1

    x=0
    |x⟩ ⊗ |f(x)⟩ =
    1
    q
    (|0⟩ ⊗ |50⟩ + |1⟩ ⊗ |51⟩ + |2⟩ ⊗ |52⟩ + . . .
    +|18⟩ ⊗ |50⟩ + |19⟩ ⊗ |51⟩ + |20⟩ ⊗ |52⟩ + . . .
    +|4086⟩ ⊗ |50⟩ + |4087⟩ ⊗ |51⟩ + |4088⟩ ⊗ |52⟩
    + . . . + |4095⟩ ⊗ |59⟩)
    ((|0⟩ + |18⟩ + . . . + |4086⟩)|50⟩
    +(|1⟩ + |19⟩ + |37⟩ + . . . + |4087⟩)|51⟩
    + . . .
    +(|17⟩ + |35⟩ + |53⟩ + . . . + |4085⟩)|517⟩)
    ੔ཧ͢Δͱ…

    View Slide

  62. ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    ((|0⟩ + |18⟩ + . . . + |4086⟩)|50⟩
    +(|1⟩ + |19⟩ + |37⟩ + . . . + |4087⟩)|51⟩
    + . . .
    4. पظTͷಋग़ͱҼ਺෼ղ

    View Slide

  63. Λࣔ͢ɻ͜ͷͱ͖ࠨϏοτͷ0Λআ͘
    ࠷খۮ਺͕ʰҐ਺ʱʹͳΔɻ

    Αͬͯ T=18 ͱͳΔ
    ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    ((|0⟩ + |18⟩ + . . . + |4086⟩)|50⟩
    +(|1⟩ + |19⟩ + |37⟩ + . . . + |4087⟩)|51⟩
    + . . .
    |50⟩ = f57
    (x) = 5x mod 57 = 1
    4. पظTͷಋग़ͱҼ਺෼ղ

    View Slide

  64. ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    ((|0⟩ + |18⟩ + . . . + |4086⟩)|50⟩
    +(|1⟩ + |19⟩ + |37⟩ + . . . + |4087⟩)|51⟩
    + . . .
    |50⟩ = f57
    (x) = 5x mod 57 = 1
    gcd(pT
    2
    ± 1,N) ͕ඇࣗ໌ͳҼ਺ͳͷͰ…
    Λࣔ͢ɻ͜ͷͱ͖ࠨϏοτͷ0Λআ͘
    ࠷খۮ਺͕ʰҐ਺ʱʹͳΔɻ

    Αͬͯ T=18 ͱͳΔ
    4. पظTͷಋग़ͱҼ਺෼ղ

    View Slide

  65. 4. पظTͷಋग़ͱҼ਺෼ղ
    ShorͷΞϧΰϦζϜʹΑΔҼ਺෼ղ
    ((|0⟩ + |18⟩ + . . . + |4086⟩)|50⟩
    +(|1⟩ + |19⟩ + |37⟩ + . . . + |4087⟩)|51⟩
    + . . .
    |50⟩ = f57
    (x) = 5x mod 57 = 1
    gcd(518
    2 + 1,57) = gcd(1953126,57) = 3
    gcd(518
    2 − 1,57) = gcd(1953124,57) = 19

    Ҽ਺෼ղͰ͖ͨʂ
    gcd(pT
    2
    ± 1,N) ͕ඇࣗ໌ͳҼ਺ͳͷͰ…
    Λࣔ͢ɻ͜ͷͱ͖ࠨϏοτͷ0Λআ͘
    ࠷খۮ਺͕ʰҐ਺ʱʹͳΔɻ

    Αͬͯ T=18 ͱͳΔ

    View Slide

  66. ·ͱΊ
    • ྔࢠίϯϐϡʔλ͸׬੒͢Ε͹ͱΜͰ΋ͳ͍Խ͚෺

    ˠ ݱࡏͷPCੑೳΛӽ͑ΔͨΊʹ͸·ͩ·͕͔͔ͩ࣌ؒΔ
    • ܭࢉ݁Ռ͸͋͘·Ͱʰ֬཰஋ʱͰ͋Γɺ൓෮ܭࢉΛߦ͏ඞཁ͋Γ

    ˠ ౎౓ܭࢉʹલճͷ֬཰஋Λ༻͍ͯܭࢉ͞ΕΔͨΊ
    • Q#͍ͬͯ͏ྔࢠϓϩάϥϛϯάݴޠ΋͋ΔͷͰݕࡧͯ͠ΈͯͶʂ

    ˠ ϓϩάϥϜͰ͜ͷΞϧΰϦζϜ͕؆୯ʹ͔͚Δʂ

    View Slide

  67. ͝੩ௌ 

    ͋Γ͕ͱ͏͍͟͝·ͨ͠
    εϥΠυɾղઆ౳͸

    ϒϩάʹUp͠·͢ͷͰੋඇΈ͍ͯͩ͘͞ ✨

    View Slide