Grover’s Algorithm: Single SolutionApplicationApplication: DESAmplitude AmplificationInitial StateOracleSlide 7AlgorithmInversion about meanSlide 11Slide 12Complexity O(sqrt(N))LimitationsGrover’s Algorithm:Grover’s Algorithm:Single SolutionSingle SolutionBy Michael KontzBy Michael KontzApplicationApplicationGrover’s algorithm can identify an item Grover’s algorithm can identify an item from a list of N elements infrom a list of N elements in What’s this good for?What’s this good for? Unstructured database searchUnstructured database search (virtual database)(virtual database)•breaking DES (Data Encryption Standard)breaking DES (Data Encryption Standard)•SAT (Satisfyability of boolean formula)SAT (Satisfyability of boolean formula)•map coloring with 4 colorsmap coloring with 4 colors NOApplication: DESApplication: DESclear text + key = ciphertextclear text + key = ciphertext““attackatdawn” + 3726495784 = “ojbevjewbvv”attackatdawn” + 3726495784 = “ojbevjewbvv”56-bit key56-bit keyBest classical algorithmBest classical algorithm•36 quadrillion36 quadrillionGrover’s algorithmGrover’s algorithm•118 million118 million2256Amplitude AmplificationAmplitude AmplificationOverviewOverview•Start in an initial state that is equally every Start in an initial state that is equally every statestate•Over time (iterations) amplify amplitude of Over time (iterations) amplify amplitude of solutionsolution•Measure (collapse system) when amplitutde^2 Measure (collapse system) when amplitutde^2 is greater than 0.5 (50%)is greater than 0.5 (50%)11...11...01...0100...01NNNInitial StateInitial StateHadamard GateHadamard GateSteps: N = 2^nSteps: N = 2^n•begin in state begin in state •transform into equal superposition of all states transform into equal superposition of all states using Hadamardusing Hadamard21201 ,21200 0...000 n11...11...01...0100...0100...0 NNNHnOracleOracleOracle picks out which state to amplifyOracle picks out which state to amplifyBlack box:Black box:Oracle is unitary operator UOracle is unitary operator UOO::statesolution - state some - 0xx 0 ,10 xfxf xfqxqxOUOracleOracleConjugate oracle with Hadamard Conjugate oracle with Hadamard transforms so only changes phase (sign)transforms so only changes phase (sign)210201 210210 210000xxxxxOOUU xxxfUO)(1 xfqxqxOUAlgorithmAlgorithmSetup initial stateSetup initial stateRepeat these 4 steps times Repeat these 4 steps times Measure answerMeasure answerN4nnHxxxHxx 00 4.0 , 3. 2. 1.statesolution - state some - 0xx xxUxfO1kkN00 1. xx 12345670OUInversion about meanInversion about meanUnitary operator describing phase shift:Unitary operator describing phase shift:0 , 3. xxxnnHxxxH 4.0 , 3. 2.1000110001002IUPInversion about meanInversion about meanUnitary operator describing 2-4:Unitary operator describing 2-4: IHIHnn2002 nnHxxxH 4.0 , 3. 2.122221212222122NNNNNNNNNNIUM xxUxxxxM2MUInversion about meanInversion about mean xxUxxxxM2Complexity O(sqrt(N))Complexity O(sqrt(N))How many calls to oracle does it take to How many calls to oracle does it take to achieve amplitude^2 > 0.5?achieve amplitude^2 > 0.5?•assume all states but one have assume all states but one have •other state is other state is •each iteration each iteration •as long as as long as •for large N this is true long enough for for large N this is true long enough for amplitude^2 > 0.5amplitude^2 > 0.52C21 CNC2by increases truebe will thisN21LimitationsLimitationsBlack box limitationsBlack box limitationsPhysical implementation (classical Physical implementation (classical memory) implementationsmemory)
View Full Document