uni/fgi3/presentation.tex

307 lines
12 KiB
TeX

\RequirePackage{pdf14}
\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
%\usepackage{paralist}
%\useoutertheme{infolines}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{listings}
\usepackage{color}
\usepackage[german=quotes]{csquotes}
\usetheme{Warsaw}
\usecolortheme{crane}
\pagenumbering{arabic}
\def\thesection{\arabic{section})}
\def\thesubsection{\alph{subsection})}
\def\thesubsubsection{(\roman{subsubsection})}
\setbeamertemplate{navigation symbols}{}
\graphicspath{ {src/} {/home/jim/Pictures/Studium/KBS/} }
\MakeOuterQuote{"}
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}
\lstset{ %
backgroundcolor=\color{white}, % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}
basicstyle=\footnotesize, % the size of the fonts that are used for the code
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
breaklines=true, % sets automatic line breaking
captionpos=b, % sets the caption-position to bottom
commentstyle=\color{mygray}, % comment style
deletekeywords={}, % if you want to delete keywords from the given language
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
extendedchars=true, % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
keywordstyle=\color{blue}, % keyword style
language=PHP, % the language of the code
morekeywords={class, function, return, protected, public, private, const, static, new, extends, namespace, null}, % if you want to add more keywords to the set
numbers=left, % where to put the line-numbers; possible values are (none, left, right)
numbersep=5pt, % how far the line-numbers are from the code
numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers
rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
showstringspaces=false, % underline spaces within strings only
showtabs=false, % show tabs within strings adding particular underscores
stepnumber=2, % the step between two line-numbers. If it's 1, each line will be numbered
stringstyle=\color{mygreen}, % string literal style
tabsize=2, % sets default tabsize to 2 spaces
title=\lstname % show the filename of files included with \lstinputlisting; also try caption instead of title
}
\hypersetup{
pdfauthor=Jim Martens,
pdfstartview=Fit
}
\expandafter\def\expandafter\insertshorttitle\expandafter{%
\raggedleft \insertframenumber\,/\,\inserttotalframenumber\;}
\begin{document}
\author{Jim Martens}
\title{Stabilizing Concensus with the power of two choices}
\date{16. Januar 2017}
% Introduction
\begin{frame}
\titlepage
\end{frame}
\begin{frame}
\tableofcontents
\end{frame}
\section{Problem}
\begin{frame}{Problem}
\begin{itemize}
\item mehrere Prozesse sollen sich auf einen Wert einigen
\vfill
\item dies soll unabhängig von der initialen Belegung funktionieren
\vfill
\item der konsensuale Wert soll Teil der initialen Wertemenge sein
\end{itemize}
\end{frame}
\begin{frame}{Problem - Beispielanwendung}
\begin{itemize}
\item Parteien haben zum Mehrwertsteuersatz unterschiedliche Forderungen
\vfill
\item sie sollen sich nach der Wahl in überschaubarer Zeit einigen
\vfill
\item der Konsens soll der Forderung einer der beteiligten Parteien
entsprechen (vereinfacht)
\vfill
\item ein Ergebnis soll unabhängig davon, welche Partei was fordert,
erreicht werden
\end{itemize}
\end{frame}
\begin{frame}{Problem - Beispielanwendung 2}
\begin{itemize}
\item Publisher, Entwickler und Kunden haben eine Position zum
Releasetermin eines Spiels
\vfill
\item in Verhandlungen sollen sie sich auf einen Termin einigen
\vfill
\item dieser Termin soll einer der vorgeschlagenen Termine sein
\vfill
\item ein Ergebnis soll unabhängig davon, wer was fordert,
erreicht werden
\end{itemize}
\end{frame}
%Beweis einer oberen Laufzeitschranke hilft enorm
\section{Motivation}
\begin{frame}{Motivation}
\begin{itemize}
\item nützlich für Konsensfindung zwischen vielen Leuten
\vfill
\item hat obere Laufzeitschranke
\vfill
\item Stabilisierung trotz Gegner möglich
\vfill
\item schönes Problem, "Wer möchte nicht gerne Konsenslösungen
herbeiführen?"
\end{itemize}
\end{frame}
\section{Lösung}
\subsection{Allgemein}
\begin{frame}{Median-Verfahren}
\begin{itemize}
\item Ergebnis Teil der Anfangsmenge
\vfill
\item Ausreißer werden ignoriert
\vfill
\item in der Mitte stehender Wert in nach Größe sortierter
Zahlenreihe
\end{itemize}
\end{frame}
\begin{frame}{Algorithmus}
\begin{itemize}
\item jeder Prozess wählt in jedem Zeitschritt 2 zufällige
Prozesse aus Gesamtmenge der Prozesse (inklusive sich selbst)
aus
\vfill
\item neuer Wert des Prozesses ist Median von sich selbst und den
Werten, der zwei ausgewählten Prozesse
\end{itemize}
\end{frame}
\begin{frame}{Ergebnisse}
n Prozesse
\vfill
\begin{tabular}{c|c|c}
Eingabe & mit Gegner & ohne Gegner\\
\hline
worst-case 2 Werte & \(O(\log n)\) & \(O(\log n)\) \\
\hline
worst-case m Werte & \(O(\log m \log \log n + \log n)\) & \(O(\log n)\)
\end{tabular}
\end{frame}
\subsection{Notation}
\begin{frame}{Notation}
\begin{itemize}
\item Bälle statt Prozesse (von 1 bis n nummeriert)
\vfill
\item Bins statt Werte (von 1 bis n nummeriert)
\vfill
\item \(b_{0,1}\) bis \(b_{0,n}\) initiale Zuweisungen
\vfill
\item \(t \in \mathbb{N}\) Zeitschritte
\vfill
\item \(m_t\) ist Bin, welche den Median-Ball in Schritt
\(t\) enthält
\end{itemize}
\end{frame}
\begin{frame}{Notation}
\begin{itemize}
\item in der \(i\)-ten Iteration: \(I_{i,1}\) bis \(I_{i,n}\) und
\(J_{i,1}\) bis \(J_{i,n}\) sind 2n zufällige Variablen
\vfill
\item \(j = 1,...,n\)
\vfill
\item Zuweisung der \(i\)-ten Iteration:
\(b_{i,j} = median(b_{i-1,j}, b_{i-1,I_{i,j}}, b_{i-1,J_{i,j}})\)
\vfill
\item "mit hoher Wahrscheinlichkeit" meint Wahrscheinlichkeit von
mindestens \(1 - n^{-c}\) für \(c > 1\)
\end{itemize}
\end{frame}
\subsection{Zwei Bins mit Gegner}
\begin{frame}{Zwei Bins mit Gegner}
\begin{itemize}
\item Grundlage, da Fälle mit mehr Bins auf diesen reduziert werden
\vfill
\item Gegner kann in jeder Runde Werte von bis zu\(\sqrt{n}\) Bällen
ändern
\vfill
\item trotz Gegner wird stabiler Zustand mit \(n - \sqrt{n}\) Bällen
in einer Bin erreicht
\vfill
\item Fall mit zwei Bins gleicht der "majority rule"
\end{itemize}
\end{frame}
\begin{frame}{Zwei Bins mit Gegner}
\begin{block}{Theorem 10}
Für jede initiale Verteilung der Bälle sind mit hoher Wahrscheinlichkeit
\(O(\log n)\) Runden der "majority rule" ausreichend, um
\(n - O(\sqrt{n})\) Bälle in die gleiche Bin zu bekommen.
Dies gilt selbst dann, wenn ein Gegner die zufälligen Entscheidungen
von bis zu \(O(\sqrt{n})\) Bällen manipulieren darf.
\end{block}
\end{frame}
\begin{frame}{Zwei Bins mit Gegner}
Sei \(L_t\) die Anzahl an Bällen in der linken Bin zum Zeitpunkt \(t\)
und \(R_t\) die Anzahl an Bällen in der rechten Bin zum Zeitpunkt \(t\).
Sei \(X_t = min(L_t, R_t)\) und \(Y_t = max(L_t, R_t)\). Angenommen \(n\)
ist gerade. Das Ungleichgewicht für Schritt \(t\) ist
\(\Delta_t = (Y_t - X_t) /2\). Das markierte Ungleichgewicht für Schritt
\(t\) ist \(\Psi_t = (R_t - L_t)/2\).
Basierend auf dem Ungleichgewicht wird zwischen drei Fällen unterschieden.
\end{frame}
\begin{frame}{Zwei Bins mit Gegner}
Fall 1: \(\Delta_0 \geq n/3\)
\begin{block}{Lemma 11}
Wenn \(\Delta_0 \geq cn\) gilt, wobei \(c > 0\) eine beliebige Konstante
ist, dann reichen mit hoher Wahrscheinlichkeit \(O(\log \log n)\)
Runden der "majority rule", um einen stabilen Konsens zu erreichen.
\end{block}
Fall 2: \(c \sqrt{n \ln n} \leq \Delta_0 < n/3\) für genügend großes \(c\)
\begin{block}{Lemma 12}
Wenn es einen Schritt \(t\) mit \(c\sqrt{n\ln n} \leq \Delta_0 < n/3\)
für ein genügend großes \(c\) gibt, dann reichen mit hoher Wahrscheinlichkeit
\(O(\log n)\) zusätzliche Runden der "majority rule", um in Fall 1
zu kommen.
\end{block}
\end{frame}
\begin{frame}{Zwei Bins mit Gegner}
Fall 3: \(\Delta_0 \leq c\sqrt{n \ln n}\)\\
Wenn \(Pr[Y \geq x] \geq Pr[Z \geq x]\) für zwei Zufallsvariablen Y und Z
und beliebige \(x\) gilt, dann wird Z stochastisch von Y dominiert. Dies
wird als \(Y \succeq Z\) geschrieben.
\begin{block}{Lemma 13}
Angenommen es gibt keinen Gegner und es gilt \(L_t \leq R_t \). Für
zwei beliebige markierte Ungleichgewichte \(\Psi_t\) und \(\Psi_t^{'}\),
für die \(\Psi_t > \Psi_t^{'}\) gilt, folgt
\(\Psi_{t+1} \succeq \Psi_{t+1}^{'}\).
\end{block}
\end{frame}
\begin{frame}{Zwei Bins mit Gegner}
Im nächsten Lemma wird das "Central Limit Theorem" angewendet, um zu zeigen,
dass mit konstanter Wahrscheinlichkeit ein genügend großes Ungleichgewicht
ungeachtet des vorherigen Ungleichgewichtes existiert.
\begin{block}{Lemma 14}
Angenommen es gibt keinen Gegner. Sei \(\varepsilon > 0\) eine beliebige
Konstante und sei \(c\) die Konstante von Lemma 12. Für jedes
\(\Psi_t \geq 0\) gilt
\(Pr[\Psi_{t+1} \geq c\sqrt{n}] \geq \frac{1}{\sqrt{2\pi}(1 + 4c/\sqrt{3})}e^{-8c^{2}/3}-\varepsilon\).
\end{block}
\begin{block}{Lemma 15}
Angenommen es gibt keinen Gegner. Wenn \(\Delta_t \geq c\sqrt{n}\) gilt,
wobei \(c\) die Konstante von Lemma 12 ist, dann gilt auch
\(Pr[\Delta_{t+1} \geq (4/3)\Delta_t] \geq 1 - exp(-\Theta(\Delta^2_t / n))\).
\end{block}
\end{frame}
\begin{frame}{Zwei Bins mit Gegner}
\begin{block}{Lemma 16}
Wenn initial \(\Delta_0 < c\sqrt{n \ln n}\) für das \(c\) aus Lemma 12
gilt, dann gilt mit hoher Wahrscheinlichkeit nach \(O(\log n)\)
Schritten \(\Delta_t \geq c\sqrt{n \ln n}\).
\end{block}
\end{frame}
\section{Abschluss}
\begin{frame}{Abschluss}
\begin{itemize}
\item Fälle 2 und 3 werden auf den ersten zurückgeführt
\vfill
\item Szenarien mit mehr als 2 Bällen werden auf Szenario mit 2 Bällen
zurückgeführt
\vfill
\item Lösung des Konsensproblems mit einfachem Algorithmus bewiesen
\end{itemize}
\end{frame}
\begin{frame}{Fragen}
\centering
Fragen?
\end{frame}
% weiter machen mit Notation und Herleitung/Erklärung der Ergebnisse
\end{document}