Commit 904ed29c authored by Gerion Entrup's avatar Gerion Entrup
Browse files

add handout

parent 86233956
......@@ -13,3 +13,4 @@
*~
random-walks.pdf
handout.pdf
% Lizensiert und den Bedingungen der CC-BY-SA-4.0
% https://creativecommons.org/licenses/by-sa/4.0/
\documentclass[DIV=15]{tufte-handout}
\usepackage{handout}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\renewcommand*\ttdefault{cmvtt}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{longtable}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{blkarray}
\usepackage{cite}
\usepackage{pifont}
\usepackage{hyperref}
\usepackage{todonotes}
\usepackage{listings}
\usepackage{tabularx}
\usepackage{xmpincl}
\usepackage{tikz}
\usepackage{fancyhdr}
\usepackage{chronology}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{xspace}
\usepackage{tabu}
\usepackage{pgfplots}
\usepackage{bytefield}
\usepackage{tablefootnote}
\usepackage{pdfpages}
\usetikzlibrary{trees,calc,patterns,shadows,arrows}
\usepgfplotslibrary{units}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}
\pagestyle{fancy}
\definecolor{mycomment}{RGB}{99,24,24}
\definecolor{mystring}{RGB}{73,12,99}
\definecolor{mykeyword}{RGB}{16,23,122}
\definecolor{mygray}{RGB}{245,245,245}
\definecolor{mygray2}{RGB}{210,210,210}
\lstset{
backgroundcolor=\color{mygray},
basicstyle=\ttfamily\footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
columns=flexible,
commentstyle=\color{mycomment}\textit,
%deletekeywords={...},
escapechar={°},
%extendedchars=true,
frame=lines,
keepspaces=true,
keywordstyle=\color{mykeyword}\bfseries,
language=Python,
%morecomment={//},
numbers=left,
numbersep=5pt,
numberfirstline=true,
numberstyle=\tiny\color{gray},
rulecolor=\color{black},
showspaces=false,
showstringspaces=false,
showtabs=false,
stepnumber=5,
stringstyle=\color{mystring}\ttfamily,
tabsize=2,
title=\lstname
}
\newcommand{\zb}{z.\,B.\xspace}
%\titlehead{Kopfzeile}
\hypersetup{
pdfauthor={Gerion Entrup},
pdftitle={Quantum Walks},
pdfkeywords={Quantum Computing, Random Walks},
colorlinks=true,
linkcolor=Blue,
citecolor=BlueViolet,
urlcolor=MidnightBlue,
}
\title{Quantum Walks}
\author{Gerion Entrup}
\begin{document}
\maketitle
\section{Klassische Random Walks}
\newthought{Ein Random Walker} ist eine Entität, die sich auf einem Graphen zufällig fortgewegt. Es handelt sich dabei um einen lokalen Prozess. Der Random Walker befindet sich in einem Knoten (dem aktuellen Zustand) und entscheidet sich dann willkürlich, bzw. entsprechend der Übergangswahrscheinlichkeiten für eine Kante zu einem nächsten Knoten.
\subsection{Fragestellungen}
Für einen Random Walk können folgende Fragestellungen gefunden werden:
\marginnote{Gegeben: Ein Graph $G = (V,E)$}
\begin{marginfigure}
\begin{tikzpicture}
\tikzstyle{label}=[draw=none, fill=none]
\tikzstyle{normal}=[circle, fill=white,draw=black]
% graph
\node[normal,draw=red] (1) at (0,0) {$q_1$};
\node[normal] (2) at (1,0) {$q_2$};
\node[normal] (3) at (2,0) {$q_3$};
\node[label] (4) at (3,0) {\dots};
\node[normal] (5) at (4,0) {$q_5$};
\node[normal] (6) at (5,0) {$q_6$};
\path (1) edge (2)
(2) edge (3)
(3) edge (4)
(4) edge (5)
(5) edge (6);
\end{tikzpicture}
\caption{Ungerichteter Graph mit maximalem Abstand}
\end{marginfigure}
\begin{marginfigure}
\begin{tikzpicture}[->]
\tikzstyle{label}=[draw=none, fill=none]
\tikzstyle{normal}=[circle, fill=white,draw=black]
% graph
\node[normal,draw=red] (1) at (0,0) {$q_1$};
\node[normal] (2) at (1,0) {$q_2$};
\node[normal] (3) at (2,0) {$q_3$};
\node[label] (4) at (3,0) {\dots};
\node[normal] (5) at (4,0) {$q_5$};
\node[normal] (6) at (5,0) {$q_6$};
\path (1) edge (2)
(2) edge (3)
(3) edge (4)
(4) edge (5)
(5) edge (6)
(2) edge [bend right] (1)
(3) edge [bend right] (1)
(5) edge [bend right] (1)
(6) edge [bend right] (1);
\end{tikzpicture}
\caption{Gerichteter Graph}
\end{marginfigure}
\begin{itemize}
\item Sei $w \in V$ und $u \in V$ mit $w \neq u$. Mit wie vielen Schritten muss gerechnet werden, um mit einem Random Walk von $w$ nach $u$ zu kommen? (in ungerichteten Graphen $O(n^2)$, in gerichteten $O(2^n)$)
\item Mit wie vielen Schritten muss gerechnet werden, um alles Knoten $w \in V$ zu besuchen (bei endlichem $|V|$)?
\item Wenn der Random Walk nach $t$ Schritten endet. Wie groß ist die Wahrscheinlichkeit $p_t(w)$ im Knoten $w \in V$ stehen zu bleiben? Wie verändert sie sich, wenn $t$ verändert wird?
\end{itemize}
\subsection{Berechnung}
Sie $G = (V,E)$ ein Graph. Ein Random Walk kann durch den aktuellen Zustand beschrieben werden, der angibt, wie wahrscheinlich es ist, dass er sich gerade in einem bestimmen Knoten aufhält. Der aktuelle Zustand ist ein Vektor $\vec{b}$ mit $|V|$ vielen Einträgen.
Ein Schritt kann durch eine $|V| \times |V|$-Übergangsmatrix $A$ beschrieben werden. Diese ist definiert durch:
\[A[u,v] = \begin{cases} p_{u\rightarrow v} & \text{wenn die Kante $(u,v)$ existiert} \\
0 & \text{sonst.} \end{cases} \]
$p_{u\rightarrow v}$ ist die Übergangswahrscheinlichkeit von Knoten $u$ zu Knoten $v$.
\subsection{Begriffe}
\marginnote{Stationäre Verteilung $\vec{d}$} Sei $\vec{d}$ ein Eigenvektor zu $A$ mit Eigenwert 1, dann gilt:
\[\vec{d}A = \vec{d}\]
$\vec{d}$ wird \emph{stationäre Verteilung} genannt.
Sei $G = (V,E)$ ein verbundener, finiter, ungerichteter Graph, der nicht bipartit ist.
Ein Random Walk mit einem beliebigen Startvektor $\vec{c}$ nähert sich der Wahrscheinlichkeitsverteilung der stationären Verteilung an:
\[ \vec{c}A^* = \vec{d} \qquad A^* = \lim_{k \rightarrow \infty} A^k \]
Weiterhin beschreibt die \emph{Mixing Time}, \marginnote{Mixing Time} die Zeit die ein Random Walker braucht um sich der stationären Verteilung bis zu einer Grenze anzunähern. Die \emph{Hitting Time} \marginnote{Hitting Time} beschreibt die Zeit, die erwartet wird, bis ein Random Walker von einem Knoten $a$ zu einem Knoten $b$ gelaufen ist.
\section{Quantum Walks}
\marginnote{Wenn $A$ als Übergangswarscheinlichkeiten $\frac{1}{deg(v_i)}$ hat, setze $|C|$ auf das kleinste gemeinsame Vielfache aller Knotengerade und verteile $c_i \in C$ gleichmäßig. Es gilt dann:
\[A[u,v] = \frac{1}{|C|} \sum_c B[uc,vc].\]}
Ein klassischer Random Walk ist bereits mit Linearer Algebra definiert. $A$ ist aber nicht unitär. Um $A$ unitär zu machen, definiere eine Hilfsfunktion $h$:
\[h(u,c) = v\]
$u,v \in V$. $c \in C$. $C$ ist ein Set von zufälligen Zahlen.
Neue Matrix $B$ über Paare $(u,c)$ und $(v,c)$.
\[B[uc,vc'] = \begin{cases} 1 & \text{wenn } h(u,c) = v \text{ und } c' = c\\
0 & \text{sonst.} \end{cases} \]
\newthought{Ein Quantum Walk} auf einem Graphen $G$ ist durch eine Matrix $U$ definiert, die aus einer Übergangsmatrix $P$ besteht, die analog zu $B$ konstruiert wird und zusätzlich einer Aktion $U_C$, die das Set $C$ ersetzt.
Im Falle $|C| = 2$ \marginnote{Bei höheren Knotengeraden werden mehrseitige „Münzen“ verwendet, \zb $H \otimes H$.} kann man sich $U_C$ als Münzwurf vorstellen, der vor einem Schritt im Graphen auf das jeweilige Qubit angewendet wird und dann entscheidet, welcher Weg genommen wird. Eine mögliche „Münze“ ist die Hadamardmatrix $H$:
\[H = \frac{1}{\sqrt{2}} \begin{pmatrix}1 & 1 \\ 1 & -1 \end{pmatrix}\]
\subsection{Unterschiede -- Besonderheiten}
\begin{marginfigure}
\begin{tikzpicture}
\tikzstyle{normal}=[scale=0.8, circle, fill=white,draw=black,minimum size=7mm]
% graph
\node[normal] (1) at (0,0) {-3};
\node[normal] (2) at (1,0) {-2};
\node[normal] (3) at (2,0) {-1};
\node[normal,draw=red] (4) at (3,0) {0};
\node[normal] (5) at (4,0) {1};
\node[normal] (6) at (5,0) {2};
\node[normal] (7) at (6,0) {3};
\path (1) edge (2)
(2) edge (3)
(3) edge (4)
(4) edge (5)
(5) edge (6)
(6) edge (7);
\end{tikzpicture}
\caption{Klassischer Graph $G$}
\end{marginfigure}
\paragraph{Wahl der Münze}
Sei $G$ ein Graph wie nebenstehend definiert. Bei einem klassischen Random Walk ergibt sich nach 3 Schritten diese Verteilung jeweils für die Knoten: $(-3,2,1,0,1,2,3)$:
\[\left(\frac 18, 0, \frac 38,0, \frac 38,0, \frac 18\right)\].
\begin{marginfigure}
\begin{tikzpicture}[->]
\tikzstyle{normal}=[scale=0.6, circle, fill=white,draw=black,minimum size=1.0cm]
% graph
\node[normal] (1) at (0,0) {-3,0};
\node[normal] (2) at (1,0) {-2,0};
\node[normal] (3) at (2,0) {-1,0};
\node[normal,draw=red] (4) at (3,0) {0,0};
\node[normal] (5) at (4,0) {1,0};
\node[normal] (6) at (5,0) {2,0};
\node[normal] (7) at (6,0) {3,0};
\node[normal] (8) at (0,1) {-3,1};
\node[normal] (9) at (1,1) {-2,1};
\node[normal] (a) at (2,1) {-1,1};
\node[normal] (b) at (3,1) {0,1};
\node[normal] (c) at (4,1) {1,1};
\node[normal] (d) at (5,1) {2,1};
\node[normal] (e) at (6,1) {3,1};
\path (2) edge (1)
(3) edge (2)
(4) edge (3)
(5) edge (4)
(6) edge (5)
(7) edge (6)
(8) edge node [above,scale=0.5] {-1} (9)
(9) edge node [above,scale=0.5] {-1} (a)
(a) edge node [above,scale=0.5] {-1} (b)
(b) edge node [above,scale=0.5] {-1} (c)
(c) edge node [above,scale=0.5] {-1} (d)
(d) edge node [above,scale=0.5] {-1} (e)
(1) edge (9)
(9) edge (1)
(2) edge (a)
(a) edge (2)
(3) edge (b)
(b) edge (3)
(4) edge (c)
(c) edge (4)
(5) edge (d)
(d) edge (5)
(6) edge (e)
(6) edge (e);
\end{tikzpicture}
\caption{Quantum Graph mit $H$ als Münze}
\end{marginfigure}
Ein Quantum Walk nach 3 Schritten mit einer Hadarmard-Münze ergibt diese Möglichkeiten:
\[\begin{array}{c|c|c|c|c|c|c|c}
(3,1)&(1,0)&(1,1)&(-1,0)&(1,1)&(-1,0)&(-1,1)&(-3,0)\\
1& -1& 1& 1& -1& 1& 1& 1\\
\end{array}\]
Es fällt auf, dass sich $(-1,0)$ zu $2$ aufaddiert und sich $(1,1)$ auslöscht. Quadrieren und summieren ergibt die Wahrscheinlichkeiten:
\[\left(\frac 18, 0, \frac 58,0, \frac 18, 0 \frac 18 \right)\]
Die ungleiche Verteilung kommt durch eine ungleichmäßige Gewichtung der Hadamard-Matrix. Um das zu umgehen, kann in einem Zwischenstatus gestartet werden:
\[a_{mid} = \frac{1}{\sqrt{2}} (a_0 + ia_1)\]
Alternativ kann eine anderen Münze verwendet werden:
\[U_C = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & i \\ i & 1 \end{pmatrix}\]
\paragraph{Verteilung}
Wenn man $G$ auf 9 Knoten erweitert, ergeben sich für einen klassischen Random Walk nach 4 Schritten diese Werte:
\[\left(\frac{1}{16},0, \frac 14, 0, \frac 38,0, \frac 14,0, \frac{1}{16}\right)\]
Bei einem Quantum Walk ergibt sich:
\[\left(\frac{1}{16},0, \frac 38, 0, \frac 18, 0, \frac 38, 0, \frac{1}{16} \right)\]
\begin{marginfigure}
\includegraphics[width=\textwidth]{pics/QvsRwalkstill}
\caption{Quantum und Random Walk\tiny \hfill (mit freundlicher Genehmigung von Takuya Machida)}
\end{marginfigure}
Man erkennt eine größere Wahrscheinlichkeit zu den Rändern hin. Das ist der essentielle Unterschied zum klassischen Random Walk und bewirkt auch diverse Laufzeitvorteile in Algorithmen mit Random Walks. Die Umverteilung kommt durch das Auslöschen mittlerer Pfade zustande. Dies ist nur möglich, weil keine Messung zwischen den Schritten stattfindet.
\subsection{Materialien}
\url{https://git.finf.uni-hannover.de/Chrysops/quantum-random-walks}
\end{document}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment