Commit bf06bf59 authored by Theo von Arx's avatar Theo von Arx

Improve Competitive Analysis

parent 23674885
......@@ -13,7 +13,8 @@
\usepackage{graphicx}
\usepackage{float}
\usepackage[utf8]{inputenc}
\usepackage[mathletters]{ucs}
\usepackage[utf8x]{inputenc}
\usepackage{framed}
\usepackage[dvipsnames]{xcolor}
......
%! TEX root = DES.tex
\section{Worst-Case Event Systems}
\subsection{Ski Rental (deterministic Algorithm)}
\subsection{Competitive Analysis}
\begin{fdef}
\textbf{Competitive Analysis} \\
Ein Online Algorithmus $A$ ist $c$-competitive, wenn für alle endlichen Inputsequenzen $I$
\[
cost_A(I) \leq c \cdot cost_{opt}(I) + k
\qquad
\text{oder}
\qquad
c \cdot gain_A(I) \geq gain_{opt}(I) - k \cdot c
\]
wobei $cost$ die Kostenfuktion für den Algorithmus A bzw. den optimalen Algorithmus ist. $k$ ist eine Konstante, die unabhängig vom Input ist. Falls $k = 0$, dann nennt man den Online Algorithmus \textbf{strictly c-competitive}.
\end{fdef}
\bigskip
The competitive analysis of an algorithm \textsc{Alg} consists of two separate steps. First, we show
that for an arbitrary problem instance, the result of \textsc{Alg} is asymptotically at most a factor
r worse than the the optimal offline result. This yields an upper bound on \textsc{Alg}’s result,
that is $\text{cost}_\textsc{Alg} ≤ r \cdot \text{cost}_\textsc{Opt} + c$. If the task is to show that \textsc{Alg} is constant-competitive for
a constant $r$, then we are done. If we are interested in a tight analysis, we have to show that
there is a problem instance where the result of \textsc{Alg} is a factor $r$ worse than the optimal
offline result. This gives a matching lower bound on the objective value of the algorithm,
$\text{cost}_\textsc{Alg} ≥ r \cdot \text{cost}_\textsc{Opt}$ .
\\
Naturally, the second step is easier than the first one because we just have to find a “bad
instance”. The first step is often much more involved. A pattern that works quite often is
the following.
\begin{enumerate}
\item Consider an arbitrary input sequence for \textsc{Alg}.
\item Partition the input sequence into suitable parts.
\item Show that $\text{cost}_\textsc{Alg} ≤ r \cdot \text{cost}_\textsc{Opt}$ for each part.
\end{enumerate}
The tricky part here is to find a suitable partition in step 2.
\\
\subsection{Ski Rental}
Das Ski Rental Problem besteht darin, Skis entweder für den Preis 1 pro Monat zu mieten, oder für den Preis 1 zu kaufen. \\
Sobald man die Skis gekauft hat, wird man sofort das Interesse an Skis verlieren.
\\
......@@ -26,23 +62,9 @@ Die Kosten des optimalen (offline) Algorithmus sind
= \min(u, 1)
\]
\begin{fdef}
\textbf{Competitive Analysis} \\
Ein Online Algorithmus $A$ ist $c$-competitive, wenn für alle endlichen Inputsequenzen $I$
\[
cost_A(I) \leq c \cdot cost_{opt}(I) + k
\qquad
\text{oder}
\qquad
c \cdot gain_A(I) \geq gain_{opt}(I) - k \cdot c
\]
wobei $cost$ die Kostenfuktion für den Algorithmus A bzw. den optimalen Algorithmus ist. $k$ ist eine Konstante, die unabhängig vom Input ist. Falls $k = 0$, dann nennt man den Online Algorithmus \textbf{strictly c-competitive}.
\end{fdef}
\\
Das Ski Rental Problem ist strictly 2-competitive. Der beste Algorithmus ist $z = 1$.
\subsection{Randomized Ski Rental (randomized Algorithm)}
\subsubsection{Randomized Ski Rental (randomized Algorithm)}
Wir verwenden einen Algorithmus, der zufällig einer von zwei Werten $z_1$ und $z_2$ ($z_1 < z_2$) mit Wahrscheinlichkeiten $p_1$ und $p_2 = 1 - p_1$ wählt.
\[
cost_A(u) = \begin{cases}
......@@ -153,7 +175,14 @@ Der Algorithmus ist also strictly $\frac{e}{e-1}$-competitive.
\]
Wir müssen also eine Inputdistribution finden, die die grösste Competitive Ratio hat.
\\
\textbf{Vorgehen um den besten lower bound zu finden:}
\begin{enumerate}
\item Vermutung: Die beste lower bound ist $c$.
\item Zeige, dass es keinen Algorithmus gibt, der besser als $c$-competitive ist. Finde dazu eine Inputsequenz, für welche kein Algorithmus besser als $c$-competitive ist.
\item Zeige, dass es einen Algorithmus gibt, der (für beliebig langen Input) $c$-competitive ist. Finde dazu eine Inputsequenz, für welche ein beliebiger Algorithmus $c$-competitive ist.
\end{enumerate}
\begin{bsp}
Wir betrachten $d(u) = 1/2$ für $0 \leq u \leq 1$ und $d(\infty) = 1/2$ für den Algorithmus mit allgemeinen $z < 1$.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment