\documentclass[10pt,a4paper,oneside]{scrartcl} \usepackage[utf8]{inputenc} \usepackage[german]{babel} \usepackage[T1]{fontenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{gensymb} \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\naturals\) 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\footnote{% Wenn man da Milch reintut ist er nicht mehr schwarz, Junge!} kann also völlig zu Recht als das Fundament menschlichen Fortschitts angesehen werden. Um die immer wieder notwendigen und erholsamen Unterbrechungen im von ausufernden Denkprozessen 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 zu Beginn 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.\footnote{% Hierzu gehört offenbar der Leser, sonst würde er diese Ausarbeitung sicher nicht lesen.} \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}[kaffeekassentransitionition] \begin{defi}[Kaffeekassensturz] \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 Der Kaffeekassensturz 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ügen \(n-1\) Komponenten von \(k\). \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} Mit der in \autoref{def:kaffeekasse} definierte Kaffeekasse gibt an, wie viele Kaffees eine Person insgesamt noch bekommt oder schuldet. Im Allgemeinen lässt sich aber nicht entscheiden, von wem sie noch Kaffees bekommt oder wem sie Kaffees schuldet. Die Kaffeekasse ist also eine \emph{bilanzierende Kaffeekasse}. Alternativ könnte auch eine explizite Kaffeekasse geführt 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 eine Matrix \( \kappa \in \naturals^{n\times n} \) mit: \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_{i, j}$ wie folgt: \begin{align*} \delta_{i,j} < 0 &: \enspace p_i \text{ bekommt von } p_j \text{ noch } |\delta_{ij}| \text{ Kaffees.} \\ \delta_{i,j} = 0 &: \enspace \text{Die Kaffeebilanz zwischen }p_i\text{ und }p_j\text{ ist ausgeglichen.} \\ \delta_{i,j} > 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 Transition den Kassensturz analog zu \autoref{def:kaffeekassentransition}. % \begin{defi}[Explizite Kaffeekassentransition] \begin{defi}[Expliziter Kaffeekassensturz] \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 Der explizite Kaffeekassensturz 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}[Bilanzierender Kaffeekassenexplikationssatz] Sei \(n \in \naturals\), \(K\) ein \(n\)-Kaffee\-krä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} . \] Trivialerweise gilt \[ \begin{array}{lll} \sum\limits_{i=1}^n \Delta_i & = & \sum\limits_{i=1}^n \sum\limits_{l=1}^{n} \delta_{i,l} \\ & = & \sum\limits_{i=1}^n \delta_{i,i} + \sum\limits_{i=1}^n \sum\limits_{l=1}^{i-1} \delta_{i,l} + \sum\limits_{i=1}^n \sum\limits_{l=i+1}^n \delta_{i,l} \\ & = & \sum\limits_{i=1}^n \delta_{i,i} + \sum\limits_{i=1}^n \sum\limits_{l=1}^{i-1} \delta_{i,l} + \sum\limits_{i=1}^n \sum\limits_{l=1}^{i-1} - \delta_{i,l} \\ & = & \sum\limits_{i=1}^n \delta_{i,i} + \sum\limits_{i=1}^n \sum\limits_{l=1}^{i-1} (\delta_{i,l} - \delta_{i,l}) \\ & = & 0. \end{array} \] Und die bilanzierende Kaffeekasse ergibt sich also 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\). Nehmen wir an \(p_2\) hat bisher 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 unmittelbar 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 ``mit dem Kaffee'' bewegt, also von der ausgebenden Person weg und auf die empfangende Person zu. \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=.6]{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. Die Aktualisierung der Kaffeekasse, und das Ablesen der Lösung des 3-Kaffee-Problems, ist hier allerdings relativ kompliziert. Gibt zum Beispiel \(p_1\) nun \(p_2\) einen Kaffee aus, so muss zunächst im Kopf die neue Kaffeekasse gebildet werden, und anschliessend die neuen Werte für \(\Delta_1\) und \(\Delta_2\) eingetragen werden. Zusätzlich ist der Wert von \(\Delta_3\) nur indirekt zu erkennen. Dieser ergibt sich aus dem negativen Achensabschnittes der fallenden Diagonalen, auf der der Punkt zur Zeit liegt. \begin{figure}[htbp] \centering \includegraphics[scale=.6]{3KaffeeProblem} \caption{% Visualisierung des \(3\)-Kaffee-Problems mit schiefen Koordianten } \label{fig:3-kaffee-schief} \end{figure} Als alternative Darstellung kann ein geradliniges, nichtorthgonales Koordiantensystem gewählt werden. In \autoref{fig:3-kaffee-schief} schneiden sich die Achsen mit einem Winkel von 60\degree. Bei dieser Art des Koordinatensystems können die selben Koordinaten verwendet werden, die bereits im kartesischen Koordinatensystem berechnet wurden. Allerdings können hier die Namen der Personen an den Seiten plaziert werden, um eine einfacher Transition zu ermöglichen. Nun kann hier auch die Markierung wieder ``mit dem Kaffee'', von der ausgebenden Person weg und auf die empfangende Person zu, verschoben werden. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 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}