HomeWissen Stichwortverzeichnis Tags

Simons-Algorithmus

Simons-Algorithm

Einfache Sprache

Idee Simons Algorithmus

	\begin{algorithm}
	\caption{Simons Alorithm}
	\begin{algorithmic}
	\Input build-in oracle $O_{f}$ for a $\oplus$-periodic function $f:\{0,1\}^n\to\{0,1\}^{n-1}$
	\Procedure{Simon}{$O_{f}$}
	\For{$i = 0$ \textbf{ to } $k_n-1$}
		\State $b_i=$ \Call{SimonSub}{$O_{f}$}
		\Comment{Produces a random $b_i$ with $b_i\odot a=0$.}
    \EndFor
    \State Solve the system of equations $b_i\odot a=0\quad i<r$ for $a$
    \If{$a$ is a unique solution ($a\not=0^n$)}
	    \Return $a$
	\Else
		\Return fail
    \EndIf
    \EndProcedure
    \Procedure{SimonSub}{$O_{f}$}
    \State Initialize with $|0\rangle^{2n-1}$
    \State Apply $H^{\otimes n}\otimes I^{n-1}$
    \State Apply $O_f$
    \State Measure bits $n,\ldots, 2n-2$.
    \State Apply $H^{\otimes n}$
    \State Measure $b_0,\ldots,b_{n-1}$ ($=b$)
    \Return $b$
    \EndProcedure       
	\end{algorithmic}
	\end{algorithm}
Home: