mirror of https://github.com/2martens/uni.git
307 lines
12 KiB
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}
|