\documentclass[10pt,a4paper,oneside]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{todonotes}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Tolle Definitionen

\newcommand{\naturals}{\mathbb{N}}
\newcommand{\integers}{\mathbb{Z}}

\newtheorem{defi}{Definition}
\newcommand{\defiautorefname}{Definition}
\newtheorem{koro}{Korollar}
\newcommand{\koroautorefname}{Korollar}
\newtheorem{lemma}{Lemma}
\newcommand{\lemmaautorefname}{Lemma}
\newtheorem{satz}{Satz}
\newcommand{\satzautorefname}{Satz}
\newtheorem{beob}{Beobachtung}
\newcommand{\beobautorefname}{Beobachtung}
\newtheorem*{beis}{Beispiel}
\newcommand{\beisautorefname}{Beispiel}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Dokumentinformationen

\title{Vom Kaffee-Problem}
\author{Christoph Daniel Schulze \and Nis Börge Wechselberg}
\date{September 2014}


\begin{document}
\maketitle


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Abstract

\begin{abstract}
  Das n-Kaffee-Problem
  beschreibt die Guthaben-Schulden-Verhältnisse
  in einer Gruppe von \(n\in\) Personen.
  Die Verhältnisse werden hierbei in ausgegebenen Kaffees notiert.
  In dieser Arbeit definieren wir das Problem
  und betrachten Visualisierungen mit dem Ziel,
  Änderungen in den Verhältnissen
  möglichst aufwandsminimiert notieren zu können.
\end{abstract}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Einleitung
\section{Einleitung}
\label{sec:einleitung}

Der normale universitäre Lehrstuhlbetrieb
wird durch Studenten, Doktoranden und Professoren,
also allgemein durch \emph{Wissenschaftler},
aufrecht erhalten.
Frei nach Paul Erdős sind Wissenschaftler Geräte,
welche Kaffee in Theoreme verstoffwechseln.
Heißer, schwarzer Kaffee
kann also als die Grundlage
der wissenschaftlichen Arbeit angesehen werden.\footnote{%
"`Wenn du da Milch reintust ist er doch nicht mehr schwarz, Junge!"' -- Captain Jean-Luc Picard}

Um die immer wieder notwendigen und erholsamen Unterbrechungen
im durch ausufernde Denkprozesse gekennzeichneten Alltag herbeizuführen,
ist das gemeinsame, rudelhafte Beschaffen von heißem Kaffee üblich.
Dabei kommt es immer wieder vor,
dass einer der Wissenschaftler kein Geld dabei hat.
Ein anderer Wissenschaftler gibt ihm dann üblicherweise einen Kaffee aus
in der optimistischen Hoffnung,
den Gefallen irgendwann zurückgezahlt zu bekommen.
Während die Schuldenverhältnisse
bei zwei Personen noch einfach zu handhaben sind,
ändert sich das bei größer werdenden Gruppen zunehmend.\footnote{%
Zunahme bei größer werdenden Gruppen
ist auch ein von den \emph{Weight Watchers} behandeltes Problem,
ist für uns aber nicht weiter von Relevanz.}

In dieser durch die Einleitung eingeleiteten Arbeit
definieren wir zunächst in \autoref{sec:kaffeeproblem}
das \(n\)-Kaffee-Problem,
welches die Frage der Schuldenverhältnisse
zwischen zwei Mitgliedern
einer \(n\) Personen großen Gruppe stellt.
Wir entwickeln zunächst eine analytische Lösung
bevor wir in \autoref{sec:visualisierung}
einfache Visualisierungen für \(n \leq 3\) einführen.
Wir schließen die Arbeit mit dem Schluss in \autoref{sec:zusammenfassung}
und liefern Ansatzpunkte für zukünftige Überlegungen.

\paragraph{Verwandte Arbeiten}
Bla.

\todo[inline]{Verwandte Arbeiten recherchieren.}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Kaffeekränzchen und das Kaffeeproblem
\section{Kaffeekränzchen und das Kaffeeproblem}
\label{sec:kaffeeproblem}

Um das Kaffee-Problem betrachten zu können,
müssen wir zunächst eine geeignete Menge von Personen definieren,
die das Problem überhaupt interessiert.

\begin{defi}[Kaffeekränzchen]
  \label{def:kaffeekraenzchen}
  Eine Menge \(K=\{p_1,\ldots,p_n\}\)
  für \(n\in\naturals_{\geq 2}\)
  bezeichnen wir als \emph{Kaffeekränzchen über \(n\) Personen}
  oder kurz \emph{\(n\)-Kaffeekränzchen}.\footnote{%
    Man könnte in der Definition des Kaffeekränzchens sicherlich auch \(n=1\) zulassen,
    aber das ist uns zu traurig.}
\end{defi}

Bei einem Kaffekränzchen ist für diese Arbeit unerheblich,
ob lediglich Kaffee oder auch Kuchen serviert wird.
Wichtig ist lediglich,
dass die beteiligten Personen
sich gegenseitig Kaffee ausgeben.

Zusätzlich zu dem Kaffeekränzchen benötigen wir noch eine Möglichkeit,
die Kaffeeschulden innerhalb der Gruppe zu dokumentieren.

\begin{defi}[Kaffeekasse]
  \label{def:kaffeekasse}
  Sei \(n\in\naturals_{\geq 2}\)
  und \(K\) ein \(n\)-Kaffeekränzchen.
  Eine \emph{\(K\)-Kaffeekasse} ist ein Tupel \(k\in\integers^n\),
  \(k = (\Delta_1,\ldots,\Delta_n)\),
  für das gilt:
  \[ \sum_{i=1}^n \Delta_i = 0. \]
  Für \(1 \leq i \leq n\)
  bezeichnet \(\Delta_i\) die Differenz
  der von \(p_i\) getrunkenen und ausgegebenen Kaffees.
\end{defi}

Aus der Definition der \(\Delta_i\) ergibt sich:
\begin{align*}
  \Delta_i < 0 &: \enspace p_i \text{ bekommt noch } |\Delta_i| \text{ Kaffees} \\
  \Delta_i > 0 &: \enspace p_i \text{ schuldet noch } \Delta_i \text{ Kaffees}
\end{align*}

Gibt eine Person einer anderen nun einen Kaffee aus,
müssen wir die Kaffeekasse entsprechend weiterentwickeln.

\begin{defi}[Kaffeekassentransition]
  \label{def:kaffeekassentransition}
  Sei \(n\in\naturals_{\geq 2}\),
  \(K\) ein \(n\)-Kaffeekränzchen,
  \(k\) eine \(K\)-Kaffeekasse
  sowie \(i \neq j \in {[n]}\) so,
  dass \(p_i\) \(p_j\) einen Kaffee ausgibt.
  Die Kaffeekassentransition liefert zu \(k\)
  eine neue Kaffeekasse \(k' = (\Delta_1',\ldots,\Delta_n')\) mit
  \[ \Delta_x' = \left\{
    \begin{array}{ll}
      \Delta_x - 1 & \text{, falls } x=i \\
      \Delta_x + 1 & \text{, falls } x=j \\
      \Delta_x     &  \text{, sonst}
    \end{array} \right.
  \]
  für \(x \in {[n]}\).
\end{defi}

Zieht nun eine Teilmenge des Kaffeekränzchens los,
um sich gegenseitig Kaffess auszugeben,
ist immer wieder die Frage zu klären,
wer gerade mit Bezahlen an der Reihe ist.
Das allgemeine \(n\)-Kaffee-Problem
formalisiert exakt diese Fragestellung.

\begin{defi}[\(n\)-Kaffee-Problem]
  \label{def:kaffee_problem}
  Sei \(n\in\naturals_{\geq 2}\)
  und \(k\) eine Kaffeekasse
  über dem \(n\)-Kaffeekränzchen \(K\).
  Gegeben zwei Personen \(p_i,p_j \in K\),
  die einen Kaffee zusammen trinken wollen.
  Das \(n\)-Kaffee-Problem besteht darin,
  zu entscheiden,
  ob \(p_i\) \(p_j\) einen Kaffee ausgeben muss
  oder umgekehrt.
\end{defi}

Betrachten wir das Beispiel \(n=2\).

\begin{beis}[2-Kaffee-Problem]
\label{beis:2-kaffee-problem}
  Sei \(K\) ein 2-Kaffeekränzchen und
  \(k\) eine K-Kaffeekasse.
  Nehmen wir an, dass bisher \(p_1\) zweimal
  einen Kaffee für \(p_2\) bezahlt hat,
  dann ergibt sich der Zustand \(k = (-2,2)\).

  Es lässt sich leicht erkennen, 
  dass stets $\Delta_1 = - \Delta_2$ gelten muss.
  Somit können wir ohne Informationsverlust die
  zweite Komponente der Kaffekasse vernachlässigen
  und nur noch $\Delta_1$ betrachten. Hierbei gilt:
  \begin{align*}
    \Delta_1 < 0 &: \enspace p_2 \text{ schuldet } p_1 \text{ noch } |\Delta_1| \text{ Kaffees.} \\
    \Delta_1 = 0 &: \enspace \text{Die Kaffeekasse ist ausgeglichen, niemand hat Kaffeeschulden.} \\
    \Delta_1 > 0 &: \enspace p_1 \text{ schuldet } p_2 \text{ noch } \Delta_1 \text{ Kaffees.}
  \end{align*}
\end{beis}

Die im Beispiel angedeutete Vereinfachungsmöglichkeit
funktioniert nicht nur für \(n=2\),
sondern für beliebige \(n\in\naturals_{\geq 2}\).
Das ist die Aussage des folgenden Satzes.

\begin{satz}[Kaffeesatz]
  \label{satz:kaffeesatz}
  Sei \(n\in\naturals_{\geq 2}\)
  und \(k\) eine Kaffeekasse
  über dem \(n\)-Kaffeekränzchen \(K\).
  Um das \(n\)-Kaffee-Problem zu lösen
  genügt eine \((n-1)\)-Kaffeekasse.
\end{satz}
\begin{proof}
  Nach \autoref{def:kaffeekasse} gilt:
  \[
    \begin{array}{lll}
                      & \Delta_1 + \ldots + \Delta_{n-1} + \Delta_n     &= 0         \\
      \Leftrightarrow & \Delta_1 + \ldots + \Delta_{n-1}                &= {-\Delta_n}
    \end{array}
  \]
  Das Kaffeedelta \(\Delta_n\)
  lässt sich also aus den übrigen Kaffeedeltas direkt berechnen
  und braucht daher nicht explizit in der Kaffeekasse geführt zu werden.
\end{proof}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Explizite Kaffeekassen und das Kaffee-Paradoxon
\subsection{Explizite Kaffeekassen und das Kaffee-Paradoxon}
\label{sub:kaffeeparadoxon}

Die in \autoref{def:kaffeekasse} definierte Kaffeekasse
modelliert einen gemeinsamen Kaffeepool innerhalb des Kaffeekränzchens.
Diese Kaffeekasse kann auch als \emph{bilanzierende Kaffeekasse} bezeichnet werden.
Als alternative Notation könnte auch eine explizite Kaffeekasse vorgehalten werden, 
in der alle Kaffeeschulden innerhalb des Kaffeekränzchens einzeln ausgewiesen werden.

\begin{defi}[Explizite Kaffeekasse]
  \label{def:explizitekaffeekasse} 
  Sei \(n \in \naturals_{\geq2}\) und \(K\) ein \(n\)-Kaffeekränzchen.
  Eine \emph{explizite K-Kaffeekasse} ist die Matrix
  \( \kappa \in \naturals^{n\times n} \) wobei gilt:
  \begin{enumerate}
    \item \( \delta_{i,i} = 0 \) für alle \( i \in \naturals_{\leq n} \)
    \item \( \delta_{i,j} = -\delta_{j,i} \) für alle \( i,j \in \naturals_{\leq n} \)
  \end{enumerate}
  Hierbei verhalten sich die einzelnen Kaffeedeltas $\delta_{ij}$ wie folgt:
  \begin{align*}
    \delta_{ij} < 0 &: \enspace p_j \text{ schuldet } p_i \text{ noch } |\delta_{ij}| \text{ Kaffees.} \\
    \delta_{ij} = 0 &: \enspace \text{Niemand hat Kaffeeschulden.} \\
    \delta_{ij} > 0 &: \enspace p_i \text{ schuldet } p_j \text{ noch } \delta_{ij} \text{ Kaffees.}
  \end{align*}
\end{defi}

Für die Verwaltung der expliziten Kaffeekasse definieren wir die Transistion
analog zu \autoref{def:kaffeekassentransition}.

\begin{defi}[Explizite Kaffeekassentransition]
  \label{def:explizitekaffeekassentransition}
  Sei \(n \in \naturals_{\geq 2}\),
  \(K\) ein Kaffeekränzchen über \(n\),
  \(\kappa\) eine explizite \(K\)-Kaffeekasse
  sowie \(i \neq j \in {[n]}\) so,
  dass \(p_i\) \(p_j\) einen Kaffee ausgibt.
  Die explizite Kaffeekassentransition liefert zu \(\kappa\)
  eine neue explizite Kaffeekasse \( \kappa' \in \integers^{n\times n} \) mit
  \[ \delta_{k,l}' = \left\{
    \begin{array}{ll}
      \delta_{k,l} - 1 & \text{, falls } k=i \text{ und } l=j \\
      \delta_{k,l} + 1 & \text{, falls } k=j \text{ und } l=i \\
      \delta_{k,l}     & \text{, sonst}
    \end{array} \right.
  \]
  für \(k,l \in \naturals_{\leq n}\).
\end{defi}

\begin{satz}
  Sei \(n \in \naturals\), \(K\) ein \(n\)-Kaffeekränzchen 
  und \( \kappa \) eine explizite \(K\)-Kaffeekasse. Dann existiert eine entsprechende,
  bilanzierende \(K\)-Kaffeekasse.
\end{satz}
\begin{proof}
  Sei \(n \in \naturals\), \(K\) ein \(n\)-Kaffeekränzchen 
  und \(\kappa\) eine explizite \(K\)-Kaffeekasse.
  Dann existieren laut \autoref{def:explizitekaffeekasse} \(\delta_{i,j} \in \integers\)
  für alle \(i,j \in \naturals_{\leq n}\) als Einträge in \(\kappa\). Setze nun 
  \[ \Delta_i = \sum_{l=1}^{n} \delta_{i,l} . \]
  Dann ergibt sich die bilanzierende Kaffeekasse als 
  \( k = (\Delta_1,\ldots,\Delta_n) \).
\end{proof}

\begin{beob}[Kaffeeparadoxon]
  \label{beob:kaffeparadoxon}
  Betrachten wir das 3-Kaffeekränzchen \( K = {p_1, p_2, p_3} \) 
  und ihre explizite Kaffeekasse \(\kappa\). Bisher hat \(p_2\) 
  jeweils einen Kaffee für \(p_1\) und \(p_3\) bezahlt.
  Weiter hat \(p_3\) \(p_1\) einen Kaffee ausgegeben.
  Somit ergibt sich 
  \[\kappa = \left(
    \begin{array}{rrr}
       0 &  1 &  1 \\
      -1 &  0 & -1 \\
      -1 &  1 &  0
    \end{array} \right).
  \]
  Wie aus \autoref{def:explizitekaffeekassentransition} zu erkennen ist,
  werden stets zwei symmetrische Komponenten der Matrix modifiziert, wenn
  ein Kaffee ausgegeben wird. Somit müssen mindestens 3 Kaffees getrunken werden,
  damit die Kaffeekasse wieder im schuldenfreien Zustand ist.

  Bilden wir zu \(\kappa\) nun die bilanzierende Kaffeekasse \(k\),
  so ergibt sich \(k = (2,-2,0) \).
  Hierbei ist zu erkennen, das nur 2 Kaffees benötigt werden, um die Kaffeeschulden
  auszugleichen.

  Dieses Phänomen, welches wir als \emph{Kaffeeparadoxon} bezeichnen, lässt sich
  in dem Auftreten von \emph{transitiven Kaffeeschulden} begründen.
  Die bilanzierende Kaffeekasse vermeidet derartige Kaffeeschulden direkt,
  während sie bei der expliziten Kaffeekasse manuell aufgelöst werden müssen.
\end{beob}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Visualisierung des Kaffeeproblems
\section{Visualisierung des Kaffeeproblems}
\label{sec:visualisierung}
Im folgenden stellen wir Möglichkeiten vor,
das Kaffeeproblem für Gruppen aus 2 oder 3 Personen
grafisch darzustellen bzw. zu lösen.

\subsection{Darstellung des 2-Kaffee-Problems}
\label{ssec:2-kaffee-problem}
Wie bereits in \autoref{beis:2-kaffee-problem} angesprochen,
wird nur eine einzelne Komponente der Kaffeekasse benötigt.
Somit stellen wir die Kaffeekasse wie in \autoref{fig:2-kaffee-problem} dar.

\begin{figure}[htbp]
  \centering
  \includegraphics[scale=1]{2KaffeeProblem}
  \caption{%
    Visualisierung des \(2\)-Kaffee-Problems.
    In diesem Fall schuldet \(p_1\) \(p_2\)
    noch \(2\) Kaffees.
  }
  \label{fig:2-kaffee-problem}
\end{figure}

In der Abbildung lässt sich durch Verschieben
des Punktes der Zustand aktualisieren.
Hierzu wird der Punkt immer auf diejenige
Person zubewegt, die den Kaffee ausgibt.


\subsection{Darstellungen des 3-Kaffee-Problems}
Analog zu \autoref{ssec:2-kaffee-problem} kann
für die Darstellung des 3-Kaffee-Problems ein
kartesisches Koordinatensystem verwendet werden,
in dem die Werte von \(\Delta_1\) und \(\Delta_2\)
als Koordinaten eingetragen werden.

\begin{figure}[htbp]
  \centering
  \includegraphics[scale=1]{3KaffeeKartesisch}
  \caption{%
    Visualisierung des \(3\)-Kaffee-Problems mit kartesischen Koordianten.
  }
  \label{fig:3-kaffee-kartesisch}
\end{figure}

In \autoref{fig:3-kaffee-kartesisch} ist eine
kartesische Darstellung für die Kaffeekasse
\(k = (2,-1,-1) \) gegeben.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Zusammenfassung
\section{Zusammenfassung}
\label{sec:zusammenfassung}

Zusammenfassung des Papers.
Mögliche Future Work:
\begin{itemize}
  \item Kaffeeproblem für \(n>3\) visualisieren
  \item Wir haben noch keinen Beweis dafür, dass die Visualisierung in einem Dreieck unmöglich oder zumindest blöd ist.
\end{itemize}


\end{document}
