45
Meklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā Eiropas Sociālā fonda projekts “Datorzinātnes pielietojumi un tās saiknes ar kvantu fiziku” Nr.2009/0216/1DP/1.1.1.2.0/09/APIA/VIAA/044 A.Ambainis, A.Bačkurs, N.Nahimovs, R.Ozols, A.Rivošs

Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Meklēšanas algoritmi,

izmantojot kvantu klejošanu

2012.gada 10.maijā

Eiropas Sociālā fonda projekts

“Datorzinātnes pielietojumi un tās saiknes ar kvantu fiziku”

Nr.2009/0216/1DP/1.1.1.2.0/09/APIA/VIAA/044

A.Ambainis, A.Bačkurs, N.Nahimovs, R.Ozols, A.Rivošs

Page 2: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Gadījumu klejošana (pavisam īss ieskats)

Eiropas Sociālā fonda projekts

“Datorzinātnes pielietojumi un tās saiknes ar kvantu fiziku”

Nr.2009/0216/1DP/1.1.1.2.0/09/APIA/VIAA/044

Page 3: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Gadījuma klejošana taisnē

Klasiskā gadījumu klejošana taisnē

Sākam punktā x=0

Katrā solī:

ar varbūtību 1/2 – pārvietojamies pa labi *)

ar varbūtību 1/2 – pārvietosimies pa kreisi

0

x

1 -1 n -n ... ...

½ ½

*) Laiks un telpa – diskrētie

Page 4: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

0

x

1 -1 n -n ... ...

½ ½

x

t

Gadījuma klejošanas piemērs

Gadījuma klejošana taisnē

Page 5: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

0

x

1 -1 n -n ... ...

½ ½

0,00

0,05

0,10

0,15

0,20

-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9

Varbūtība atrasties noteiktajā pozīcijā

Gadījuma klejošana taisnē

Page 6: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

0

x

1 -1 n -n ... ...

½ ½

Varbūtība atrasties pozīcijā i pēc T soļiem, veicot gadījuma

klejošanu uz taisnes (ja sākam pozīcijā 0).

Gadījuma klejošana taisnē

Page 7: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana

Eiropas Sociālā fonda projekts

“Datorzinātnes pielietojumi un tās saiknes ar kvantu fiziku”

Nr.2009/0216/1DP/1.1.1.2.0/09/APIA/VIAA/044

Eiropas Sociālā fonda projekts

“Datorzinātnes pielietojumi un tās saiknes ar kvantu fiziku”

Nr.2009/0216/1DP/1.1.1.2.0/09/APIA/VIAA/044

Page 8: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Vēsture

Y. Aharonov, L. Davidovich and N. Zagury

“Quantum random walks”

Phys. Rev. A, 48(2):1687–1690, 1993

D.Aharonov, A.Ambainis, J.Kempe, U.Vazirani.

“Quantum walks on graphs”. ACM, 2001.

arXiv:qunat-ph/0012090

J.Kempe. “Quantum walks on graphs”. 2003.

“Quantum random walks - an introductory overview”

Page 9: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Definējam kvantu klejošanu vienā dimensijā

11 ncnbnan

|a| = 1, b = c = 0;

|b| = 1, a = c = 0;

|c| = 1, a = b = 0;

Tikai triviālas unitāras

transformācijas

a c

b

1 n2

Page 10: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

“Monētas mešanas” transformācija C

.,,,

,,,,

rightndleftncrightnC

rightnbleftnaleftnC

C

1 n2

left

right

2

1

2

12

1

2

1

Hdc

ba

dc

baunitāra matrica

Hadamard transformācija Piemēram:

Page 11: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Nobīdes transformācija S

leftnleftnS ,1,

rightnrightnS ,1,

S

unitāra transformācija

1 n2

left

right

Page 12: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Nobīdes transformācija S

leftnileftiS ,mod)1(,

rightnirightiS ,mod)1(,

S

unitāra transformācija

0 1n1

left

right

i

Page 13: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Definējam kvantu klejošanu uz taisnes

leftnleftnS ,1,

rightnrightnS ,1,

S

1 n2

left

right

2

1

2

12

1

2

1

Hdc

ba

.,,,

,,,,

rightndleftncrightnC

rightnbleftnaleftnC

C

1 n2

left

right

unitary matrix

“Monētas mešanas” transformācija

Nobīdes transformācija

Page 14: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana uz taisnes

leftnleftnS ,1,

rightnrightnS ,1,

S

left

right

2

1

2

12

1

2

1

Hdc

ba

.,,,

,,,,

rightndleftncrightnC

rightnbleftnaleftnC

C

left

right

“Monētas mešanas” transformācija:

Nobīdes transformācija: atk

ārt

ot

n0 11

n0 11

Varbūtība atrasties pozīcijā i pēc T

soļiem, veicot kvantu klejošanu uz

taisnes ar sākumstāvokli:

leftinit ,0

Šis sadalījums sāk

atšķirties no

klasiskā gadījuma

jau pie T = 3

Šī kvantu klejošana dod

asimetrisku sadalījumu

Page 15: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana uz taisnes

leftnleftnS ,1,

rightnrightnS ,1,

S

left

right

2

1

2

12

1

2

1

Hdc

ba

.,,,

,,,,

rightndleftncrightnC

rightnbleftnaleftnC

C

left

right

“Monētas mešanas” transformācija:

Nobīdes transformācija: atk

ārt

ot

n0 11

n0 11

Varbūtība atrasties pozīcijā i pēc 50

soļiem, veicot kvantu klejošanu uz

taisnes ar sākumstāvokli:

leftinit ,0

Sadalījums šai kvantu

klejošanai ir asimetrisks

Page 16: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana uz taisnes

leftnleftnS ,1,

rightnrightnS ,1,

S

left

right

2

1

2

12

1

2

1

Hdc

ba

.,,,

,,,,

rightndleftncrightnC

rightnbleftnaleftnC

C

left

right

“Monētas mešanas” transformācija:

Nobīdes transformācija: atk

ārt

ot

n0 11

n0 11

Varbūtība atrasties pozīcijā i pēc 50

soļiem, veicot kvantu klejošanu uz

taisnes ar sākumstāvokli:

leftinit ,0

Salīdzinājums ar

klasisko gadījuma

klejošanu

Šī kvantu klejošana dod

asimetrisku sadalījumu

Page 17: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana uz taisnes

leftnleftnS ,1,

rightnrightnS ,1,

S

left

right

1

1

2

1

i

iY

dc

ba

.,,,

,,,,

rightndleftncrightnC

rightnbleftnaleftnC

“Monētas mešanas” transformācija:

Nobīdes transformācija: atk

ārt

ot

C

left

right

n0 11

n0 11

The probability distribution obtained from a

computer simulation of the quantum walk with a

symmetric “coin flip” transformation (Y).

The number of steps in the walk was taken to be 100.

Only the probability at the even points is plotted.

Page 18: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

… nu un?

Varbūtība atrasties i-ajā pozīcijā pēc 50

kvantu klejošanas soļiem uz taisnes

Varbūtība atrasties i-ajā pozīcijā pēc 50

klasiskās gadījumu klejošanas uz taisnes

Daži secinājumi

Page 19: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Grovera meklēšanas

algoritms

Eiropas Sociālā fonda projekts

“Datorzinātnes pielietojumi un tās saiknes ar kvantu fiziku”

Nr.2009/0216/1DP/1.1.1.2.0/09/APIA/VIAA/044

Page 20: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Grovera meklēšanas algoritms

Vaicājuma transformācija (Q)

? xj

Q j j

(–1)

Difūzijas transformācija (D)

Nosacītais fāzes pagrieziens

D =

–1+ – 2 n – 2

n …

… – 2 n

–1+ – 2 n

QD QD … QD QD

)(O nAtkārtojam reizes

1.

2. Veicam mērījumu

Page 21: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana kā

meklēšanas algoritms

Eiropas Sociālā fonda projekts

“Datorzinātnes pielietojumi un tās saiknes ar kvantu fiziku”

Nr.2009/0216/1DP/1.1.1.2.0/09/APIA/VIAA/044

Page 22: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana kā meklēšanas algoritms

0

x

1 -1 n -n ... ...

Ieviesīsim dažus

izņēmumu punktus

leftnleftnS ,1,

rightnrightnS ,1,

1

1

2

1

i

iY

dc

ba

.,,,

,,,,

rightndleftncrightnC

rightnbleftnaleftnC

“Monētas mešanas” transformācija:

Nobīdes transformācijas:

atk

ārt

ot

visos “neizņēmumu” punktos: visos “izņēmumu” punktos:

10

01I

dc

ba

mm

mm

Page 23: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana kā meklēšanas algoritms

leftnleftnS ,1,

rightnrightnS ,1,

1

1

2

1

i

iY

dc

ba

.,,,

,,,,

rightndleftncrightnC

rightnbleftnaleftnC

“Monētas mešanas” transformācija:

Nobīdes transformācija:

atk

ārt

ot

visos “neizņēmuma” punktos: visos “izņēmumu” punktos:

10

01I

dc

ba

mm

mm

C

left

right

n0 11

Page 24: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Grovera meklēšanas algoritms

Grovera algorimtu arī var

uzskatīt par kvantu klejošanu

n-virsotņu pilnajā grafā.

Page 25: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Pārejam

no taisnes uz plakni

Eiropas Sociālā fonda projekts

“Datorzinātnes pielietojumi un tās saiknes ar kvantu fiziku”

Nr.2009/0216/1DP/1.1.1.2.0/09/APIA/VIAA/044

Page 26: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Gadījumu klejošana plaknē

Klasiskā gadījumu klejošana plaknē

Sākas pozīcijā (0; 0)

Ar varbūtību 1/4 seko

vienam no četriem virzieniem

Page 27: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Gadījumu klejošana - pielietojumi

Klasiskā gadījumu klejošana plaknē

Page 28: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Definējam kvantu klejošanu plaknē

N

N

Page 29: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana 2D: “monētas mešanas” transformācija

1111

1111

1111

1111

2

1D

“monētas mešanas” transformācija

Page 30: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

S : yxyx ,1,

yxyx ,1,

1,, yxyx

1,, yxyx

Nobīdes transformācija

Kvantu klejošana 2D: nobīdes transformācija

Page 31: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu meklēšana plaknē

N

N

Page 32: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu meklēšana plaknē

1111

1111

1111

1111

2

1D

Pielietot difūzijas

transformāciju

neatzīmētām pozīcijām

Pielietot identitātes

transformāciju atzīmētajām

pozīcijām

1000

0100

0010

0001

I

Visās pozīcijās pielietot

nobīdes transformāciju

Atk

ārto

t O(N

) times yxyx ,1,

yxyx ,1,

1,, yxyx

1,, yxyx

Sff :

“M

on

ēta

s

mešan

as”

tra

ns

form

ācija

No

bīd

es

tra

ns

form

ācija

Page 33: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Skalārais reizinājums

(0, 1, … , n) – sākumstāvoklis

(0, 1, … , n) – tekošais stāvoklis

n

i

ii

0

,

overlap

-1,50E+00

-1,00E+00

-5,00E-01

0,00E+00

5,00E-01

1,00E+00

1,50E+00

1 182 363 544 725 906 1087 1268 1449 1630 1811 1992step

s

+1

-1

0

Page 34: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

N

N

probability to measure a marked location

0,00E+00

2,00E-02

4,00E-02

6,00E-02

8,00E-02

1,00E-01

1,20E-01

1,40E-01

1,60E-01

1,80E-01

1 68 135 202 269 336 403 470 537 604 671 738 805 872 939

Grid size: 101 x 101.

Number of steps: 1000.

overlap

-1,50E+00

-1,00E+00

-5,00E-01

0,00E+00

5,00E-01

1,00E+00

1,50E+00

1 115 229 343 457 571 685 799 913

Kvantu klejošana uz plaknes: viens atrisinājums

Page 35: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Process ir jūtīgs pret transformāciju izvēli

Dažādas “Nobīdes” transformācijas

S move: yxyx ,1,

yxyx ,1,

1,, yxyx

1,, yxyx

yxyx ,1,

yxyx ,1,

1,, yxyx

1,, yxyx

S flipflop:

Page 36: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Oriģinālajam algoritmam kvantu meklēšanai plaknē bija

nepieciešama amplitūdas amplifikācija, lai atrisinājumu

atrast ar lielu varbūtību.

Mēs atklājām, ka ar lielu varbūtību tiks nomērīts stāvoklis,

kas atrodas ne vairāk kā √N attālumā no atrisinājuma,

tādēļ var iztikt bez amplitūdas amplifikācijas.

Mēs parādījām to ar skaitliskiem eksperimentiem.

Mēs to pierādījām! (arXiv: 1112.3337,

referēsim TQC 2012)

Kādu uzlabojumu mēs piedāvājam?

Page 37: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā
Page 38: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Priekšstatu evolūcija

“Kvantiski” meklēt atrisinājumu plaknē ir tik pat lēni kā

klasiski

Nomainot transformāciju, var atrast laikā O( N log N )

ar varbūtību O(1/log N).

Pielietojot amplitūtas amplifikāciju var atrast

atrisinājumu laikā O( N log N )

Var iztikt bez amplitūdas amplifikācijas,

t.i. atrast atrisinājumu laikā O ( N )

Page 39: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kvantu klejošana kā meklēšanas algoritms

Stāvoklis klejošanas sākumā un “beigās”

Page 40: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Atrisinājuma apkārtne

Varbūtība nomērīt stāvoki √N attālumā no atrisinājuma

0 200 400 600 800 1000 1200 1400

0,5400000000

0,5600000000

0,5800000000

0,6000000000

0,6200000000

0,6400000000

0,6600000000

0,6800000000

0,7000000000

0,7200000000

0,7400000000

Page 41: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Paldies par uzmanību!

Jautājumi?

Page 42: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Kāpēc tas ir interesanti?

Eiropas Sociālā fonda projekts

“Datorzinātnes pielietojumi un tās saiknes ar kvantu fiziku”

Nr.2009/0216/1DP/1.1.1.2.0/09/APIA/VIAA/044

Page 43: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Motivācija 1: ziņas no fiziķu kaujas lauka

Page 44: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

• O(N 2/3) quantum algorithm for element distinctness problem

• An O(N 1.3) quantum algorithm for the triangle problem

• Matrix multiplication test − O(N 5/3)

Magniez, F., Santha, M., Szegedy, M.: An O(n1.3) quantum algorithm for the

triangle problem. In: Proceedings of SODA 2005, pp. 1109–1117 (2005), SIAM J.

Comput. 37(2), 413–424 (2007)

Buhrman, H., Špalek, R.: Quantum Verification of Matrix Products. In: SODA

2006. Proceedings of 17th Annual ACM-SIAM Symposium on Discrete Algorithms,

Miami, Florida, pp. 880–889 (2006)

Ambainis, A.: Quantum walk algorithm for element distinctness.

SIAM J. Comput. 37(1), 210–239 (2007)

A. Ambainis, A. Childs, B. Reichardt, R. Špalek, S. Zhang, "Any AND-OR Formula of Size

N can be Evaluated in time n1/2+o(1) on a Quantum Computer", Proceedings of

FOCS'2007, pp. 363-372 (2007).

• NAND formula evaluation

Motivācija 2: kvantu klejošanai atradās pielietojumi!

Page 45: Meklēšanas algoritmi, izmantojot kvantu klejošanuMeklēšanas algoritmi, izmantojot kvantu klejošanu 2012.gada 10.maijā

Paldies par uzmanību!