diff --git a/src/final_presentation/main.tex b/src/final_presentation/main.tex index 12b557e..ec2f7b5 100644 --- a/src/final_presentation/main.tex +++ b/src/final_presentation/main.tex @@ -154,6 +154,16 @@ long=belief propagation } +\DeclareAcronym{vn}{ + short=VN, + long=variable node +} + +\DeclareAcronym{cn}{ + short=CN, + long=check node +} + \DeclareAcronym{spa}{ short=SPA, long=sum-product algorithm @@ -1760,11 +1770,12 @@ \schlagwort{commit region} (part of the window with no overlap) \item \schlagwort{update syndrome} of overlapping region + \item move to next window \end{itemize} } \end{itemize} - \vspace*{20mm} + \vspace*{12mm} \addreferencesmanual {HP23}{ @@ -1784,6 +1795,124 @@ \subsection{Soft-Information-Aware Sliding-Window Decoding} \label{subsec:Soft-Information-Aware Sliding-Window Decoding} +\begin{frame} + \frametitle{Soft-Information-Aware Sliding-Window\\ Decoding} + + \begin{itemize} + \item Perform \schlagwort{warm-start} by initializing with + soft information from previous window + \end{itemize} + + \vspace*{-5mm} + + \begin{figure}[H] + \centering + + \tikzset{ + VN/.style={ + circle, fill=kit-green, + inner sep=1.5mm, + }, + CN/.style={ + rectangle, fill=kit-blue, + inner sep=1.8mm, + }, + } + + \begin{tikzpicture}[node distance = 7mm] + \node[VN] (vn00) {}; + \node[VN, below = of vn00] (vn01) {}; + \node[VN, below = of vn01] (vn02) {}; + \node[VN, below = of vn02] (vn03) {}; + \node[VN, below = of vn03] (vn04) {}; + + \coordinate (temp) at ($(vn01)!0.5!(vn02)$); + + \node[CN, left =15mm of temp] (cn00) {}; + \node[CN, below = of cn00] (cn01) {}; + + \draw (vn00) -- (cn00); + \draw (vn01) -- (cn00); + \draw (vn03) -- (cn00); + \draw (vn01) -- (cn01); + \draw (vn02) -- (cn01); + \draw (vn04) -- (cn01); + + \foreach \i in {1,2,3,4} { + \pgfmathtruncatemacro{\prev}{\i-1} + + \node[VN, right = 35mm of vn\prev 0] (vn\i0) {}; + \node[VN, below = of vn\i0] (vn\i1) {}; + \node[VN, below = of vn\i1] (vn\i2) {}; + \node[VN, below = of vn\i2] (vn\i3) {}; + \node[VN, below = of vn\i3] (vn\i4) {}; + + \coordinate (temp) at ($(vn\i1)!0.5!(vn\i2)$); + + \node[CN, left = 15mm of temp] (cn\i0) {}; + \node[CN, below = of cn\i0] (cn\i1) {}; + + \draw (vn\i0) -- (cn\i0); + \draw (vn\i1) -- (cn\i0); + \draw (vn\i3) -- (cn\i0); + \draw (vn\i1) -- (cn\i1); + \draw (vn\i2) -- (cn\i1); + \draw (vn\i4) -- (cn\i1); + } + + \foreach \i in {1,2,3,4} { + \pgfmathtruncatemacro{\prev}{\i-1} + + \draw (vn\prev 3) -- (cn\i 0); + \draw (vn\prev 4) -- (cn\i 1); + } + + \node[ + draw, inner sep=5mm,line width=1pt, + fit=(vn00)(vn04)(cn00)(cn01)(vn20)(vn24)(cn20)(cn21) + ] + (box1) {}; + \node[ + draw, dashed, inner sep=5mm, inner ysep=8mm,line width=1pt, + fit=(vn10)(vn14)(cn10)(cn11)(vn30)(vn34)(cn30)(cn31) + ] + (box2) {}; + + % Marker for solid box (positions 0–2) + \draw[line width=1pt] ([yshift=-5mm, line width=1pt]box1.south west) + -- ++(0,-4mm) + coordinate (dim1l); + \draw[line width=1pt] ([yshift=-5mm]box1.south east) + -- ++(0,-4mm) + coordinate (dim1r); + \draw[{Latex}-{Latex}, line width=1pt] + ([yshift=-2mm]dim1l) -- ([yshift=-2mm]dim1r) + node[midway, below=2pt] {$W$}; + + % Marker for step size F on top + \draw[line width=1pt] ([yshift=3mm]box2.north west) + -- ++(0,4mm) + coordinate (dim3l); + \draw[line width=1pt] ([yshift=3mm]box2.north west -| + box1.north west) + -- ++(0,4mm) + coordinate (dim3r); + \draw[{Latex}-{Latex}, line width=1pt] + ([yshift=2mm]dim3l) -- ([yshift=2mm]dim3r) + node[midway, above=2pt] {$F$}; + + \draw[-{Latex}, line width=1pt] ([yshift=8mm] box1.north + east) -- ++(35mm,0); + \end{tikzpicture} + \end{figure} + + \vspace*{-5mm} + + \begin{itemize} + \item Pass \ac{cn} to \ac{vn} messages + \end{itemize} +\end{frame} + \begin{frame} \frametitle{BP Performance: Window Size I} @@ -1932,8 +2061,8 @@ {3/kit-red,4/kit-blue,5/kit-orange} { \edef\temp{\noexpand \addplot+[mark=o, line width=2pt, - densely dashed, gray, opacity=0.4, -forget plot] + densely dashed, gray, opacity=0.4, + forget plot] table[ col sep=comma, x=physical_p, y=LER_per_round, @@ -2068,8 +2197,8 @@ forget plot] {3/kit-red,4/kit-blue,5/kit-orange} { \edef\temp{\noexpand \addplot+[mark=o, line width=2pt, - densely dashed, gray, opacity=0.4, -forget plot] + densely dashed, gray, opacity=0.4, + forget plot] table[ col sep=comma, x=physical_p, y=LER_per_round, @@ -2354,8 +2483,8 @@ forget plot] \edef\temp{\noexpand \addplot+[mark=o, line width=2pt, - forget plot, densely dashed, gray, -opacity=0.4] + forget plot, densely dashed, gray, + opacity=0.4] table[ col sep=comma, x=physical_p, y=LER_per_round, @@ -2458,8 +2587,8 @@ opacity=0.4] \edef\temp{\noexpand \addplot+[mark=o, line width=2pt, - forget plot, densely dashed, gray, -opacity=0.4] + forget plot, densely dashed, gray, + opacity=0.4] table[ col sep=comma, x=physical_p, y=LER_per_round, @@ -2611,33 +2740,89 @@ opacity=0.4] \begin{frame}[fragile] \frametitle{BP with Guided Decimation} - \begin{itemize} - \item After every $T$ \ac{bp} iterations, fix most reliable - variable node + \begin{minipage}{0.5\textwidth} + \vspace*{-10mm} + \centering + \begin{itemize} + \item After every $T$ \ac{bp} iterations + \citereferencemanual{YLH+24} + \begin{itemize} + \item perform hard decision on most reliable \ac{vn} + \item exclude \ac{vn} from further decoding + \end{itemize} + \vspace*{10mm} + \item Mitigates problems due to degeneracy \\ + $\rightarrow$ Decoder is encouraged to focus on \\ + \hspace{9mm} one solution + \end{itemize} + \end{minipage}% + \begin{minipage}{0.5\textwidth} + \visible<2->{ + \centering + \vspace*{-10mm} - \end{itemize} + \begin{itemize} + \item $[[882, 24, 18 \le d \le 24]]$ - generalized + hypergraph product (GHP) code, \\ + bit-flip noise \citereferencemanual{YLH+24} + \end{itemize} - % \begin{minipage}{0.65\textwidth} - % \centering - % \begin{algorithm}[H] - % \caption{BP with guided decimation (BPGD) - % \citereferencemanual{YLH+24}} - % \begin{algorithmic}[1] - % \STATE \textbf{for} $r=1$ \textbf{to} $n$ \textbf{do} - % \STATE \hspace{5mm} Run $T$ BP iterations - % \STATE $\hat{x} \leftarrow$ - % \STATE \textbf{done} - % \end{algorithmic} - % \end{algorithm} - % \end{minipage}% - % \begin{minipage}{0.35\textwidth} - % \centering - % \begin{itemize} - % \item asdf - % \end{itemize} - % \end{minipage} + \vspace*{-5mm} - \vspace*{15mm} + \begin{figure}[H] + \centering + + \begin{tikzpicture} + \begin{axis}[ + width=13cm, + height=9cm, + ymode=log, + legend pos = south east, + ymin=1e-6, ymax=1, + enlargelimits=false, + legend style={ + cells={anchor=west}, + cells={align=left}, + }, + xlabel = {Physical error rate}, + ylabel = {Frame error rate}, + xtick={0.04,0.05,...,0.1}, + xticklabel style={/pgf/number format/fixed}, + xticklabel style={/pgf/number format/precision=4}, + grid=both, + ] + \addplot+[mark=o, line width=2pt, black] + table[col sep=comma, x=p, y=FER] + {res/literature/yao_bp.csv}; + \addlegendentry{BP} + + \addplot+[mark=o, line width=2pt, kit-green] + table[col sep=comma, x=p, y=FER] + {res/literature/yao_bpgd_1.csv}; + \addlegendentry{BPGD, $T = 1$} + + \addplot+[mark=o, line width=2pt, kit-red] + table[col sep=comma, x=p, y=FER] + {res/literature/yao_bpgd_10.csv}; + \addlegendentry{BPGD, $T = 10$} + + \addplot+[mark=o, line width=2pt, kit-blue] + table[col sep=comma, x=p, y=FER] + {res/literature/yao_bpgd_70.csv}; + \addlegendentry{BPGD, $T = 70$} + + \addplot+[mark=o, line width=2pt, kit-orange] + table[col sep=comma, x=p, y=FER] + {res/literature/yao_bpgd_100.csv}; + \addlegendentry{BPGD, $T = 100$} + + \end{axis} + \end{tikzpicture} + \end{figure} + } + \end{minipage} + + \vspace*{2mm} \addreferencesmanual {YLH+24}{Hanwen Yao et al. ``Belief propagation decoding of quantum @@ -2797,8 +2982,8 @@ opacity=0.4] {3/kit-red,4/kit-blue,5/kit-orange} { \edef\temp{\noexpand \addplot+[mark=o, line width=2pt, - densely dashed, gray, opacity=0.4, -forget plot] + densely dashed, gray, opacity=0.4, + forget plot] table[ col sep=comma, x=physical_p, y=LER_per_round, @@ -2849,6 +3034,7 @@ forget plot] \item \ac{spa} + \ac{gd} decoder \item Parameters \begin{itemize} + \item $T = 1$ \item $n_\text{iterations} = 200$ \item $F = 1$ \end{itemize} @@ -2933,8 +3119,8 @@ forget plot] {3/kit-red,4/kit-blue,5/kit-orange} { \edef\temp{\noexpand \addplot+[mark=o, line width=2pt, - densely dashed, gray, opacity=0.4, -forget plot] + densely dashed, gray, opacity=0.4, + forget plot] table[ col sep=comma, x=physical_p, y=LER_per_round, @@ -2985,6 +3171,7 @@ forget plot] \item \ac{spa} + \ac{gd} decoder \item Parameters \begin{itemize} + \item $T = 1$ \item $n_\text{iterations} = n $ \item $F = 1$ \end{itemize} @@ -3076,6 +3263,7 @@ forget plot] \item \ac{spa} + \ac{gd} decoder \item Parameters \begin{itemize} + \item $T = 1$ \item $p = 0.0025$ \item $F = 1$ \end{itemize} @@ -3167,6 +3355,7 @@ forget plot] \item \ac{spa} + \ac{gd} decoder \item Parameters \begin{itemize} + \item $T = 1$ \item $n_\text{iterations} = 32$ \item $W = 5$ \end{itemize} @@ -3219,8 +3408,8 @@ forget plot] \edef\temp{\noexpand \addplot+[mark=o, line width=2pt, - forget plot, densely dashed, gray, -opacity=0.4] + forget plot, densely dashed, gray, + opacity=0.4] table[ col sep=comma, x=physical_p, y=LER_per_round, @@ -3271,6 +3460,7 @@ opacity=0.4] \item \ac{spa} + \ac{gd} decoder \item Parameters \begin{itemize} + \item $T = 1$ \item $n_\text{iterations} = 200$ \item $W = 5$ \end{itemize} @@ -3323,8 +3513,8 @@ opacity=0.4] \edef\temp{\noexpand \addplot+[mark=o, line width=2pt, - forget plot, densely dashed, gray, -opacity=0.4] + forget plot, densely dashed, gray, + opacity=0.4] table[ col sep=comma, x=physical_p, y=LER_per_round, @@ -3375,6 +3565,7 @@ opacity=0.4] \item \ac{spa} + \ac{gd} decoder \item Parameters \begin{itemize} + \item $T = 1$ \item $n_\text{iterations} = 5000$ \item $W = 5$ \end{itemize} @@ -3466,6 +3657,7 @@ opacity=0.4] \item \ac{spa} + \ac{gd} decoder \item Parameters \begin{itemize} + \item $T = 1$ \item $p = 0.0025$ \item $W = 5$ \end{itemize} @@ -3780,7 +3972,7 @@ opacity=0.4] \begin{itemize} \item BP with guided decimation (BPGD) \\ $\rightarrow$ Iteratively fix most reliable - variable node (VN) + \ac{vn} \vspace*{10mm} \item \schlagwort{Guided decimation guessing} (GDG) \citereferencemanual{GCR24} diff --git a/src/final_presentation/res/literature/yao_bp.csv b/src/final_presentation/res/literature/yao_bp.csv new file mode 100644 index 0000000..7369d07 --- /dev/null +++ b/src/final_presentation/res/literature/yao_bp.csv @@ -0,0 +1,8 @@ +p, FER +0.040000, 0.043667 +0.049986, 0.087737 +0.059972, 0.148066 +0.069958, 0.255386 +0.079945, 0.460128 +0.089931, 0.759770 +0.100000, 0.965714 diff --git a/src/final_presentation/res/literature/yao_bpgd_1.csv b/src/final_presentation/res/literature/yao_bpgd_1.csv new file mode 100644 index 0000000..0d00005 --- /dev/null +++ b/src/final_presentation/res/literature/yao_bpgd_1.csv @@ -0,0 +1,8 @@ +p, FER +0.040083, 0.000029 +0.049986, 0.000393 +0.059972, 0.006271 +0.069958, 0.055503 +0.080028, 0.244488 +0.090014, 0.559895 +0.100000, 0.904565 diff --git a/src/final_presentation/res/literature/yao_bpgd_10.csv b/src/final_presentation/res/literature/yao_bpgd_10.csv new file mode 100644 index 0000000..bf5abe1 --- /dev/null +++ b/src/final_presentation/res/literature/yao_bpgd_10.csv @@ -0,0 +1,8 @@ +p, FER +0.039917, 0.000006 +0.049986, 0.000179 +0.059972, 0.003882 +0.070042, 0.038312 +0.080028, 0.229007 +0.090014, 0.610921 +0.100083, 0.885054 diff --git a/src/final_presentation/res/literature/yao_bpgd_100.csv b/src/final_presentation/res/literature/yao_bpgd_100.csv new file mode 100644 index 0000000..c5e01a5 --- /dev/null +++ b/src/final_presentation/res/literature/yao_bpgd_100.csv @@ -0,0 +1,8 @@ +p, FER +0.040083, 0.000001 +0.050153, 0.000095 +0.060139, 0.003121 +0.070125, 0.036677 +0.079945, 0.255386 +0.090014, 0.513130 +0.100000, 0.847287 diff --git a/src/final_presentation/res/literature/yao_bpgd_70.csv b/src/final_presentation/res/literature/yao_bpgd_70.csv new file mode 100644 index 0000000..038e2c8 --- /dev/null +++ b/src/final_presentation/res/literature/yao_bpgd_70.csv @@ -0,0 +1,8 @@ +p, FER +0.040000, 0.000002 +0.049986, 0.000119 +0.060055, 0.003716 +0.069958, 0.042725 +0.080111, 0.224068 +0.090014, 0.572237 +0.100000, 0.904565