Das Ski-Rental-Problem (Vorl¨ aufige Version, 15. Mai 2012) Prof. Dr. Hanno Lefmann Fakult¨ at f¨ ur Informatik, TU Chemnitz, D-09107 Chemnitz, Germany [email protected]

1

Das Ski-Rental-Problem

Bei dem Ski-Rental-Problem SR(1, N ) geht es darum, zu einem geeigneten Zeitpunkt zu entscheiden, Ski zu kaufen oder zu leihen, wobei N ∈ N mit N ≥ 1 der Preis f¨ ur das Kaufen von Ski und 1 der Preis f¨ ur jedes Leihen von Ski ist. Das Ziel ist, die Gesamtkosten, welche gleich der Summe der Einzelkosten sind, zu minimieren. In der online–Situation steht man jedes Mal bei gegebenen Anforderungen ’Ski fahren’ vor der Entscheidung, die Ski zu leihen oder zu kaufen. Wir nehmen hierbei an, dass bei Kauf die Haltbarkeitsdauer der Ski gleich unendlich ist, und man daher h¨ochstens einmal kauft. Die jeweiligen Entscheidungen k¨onnen im nachhinein nicht mehr ge¨andert werden. Zuk¨ unftige Anforderungen ’Ski fahren’ sind vorab nicht bekannt und diese k¨onnen jederzeit terminieren. Die Terminierung kann durch einen Gegner beliebig erfolgen. In der offline–Situation sind alle Anforderungen ’Ski fahren’ vorab bekannt. In diesem Fall k¨onnen bei r–maligem ’Ski fahren’ leicht die optimalen Gesamtkosten copt (r) angegeben werden. Sei r die Gesamtzahl der Anforderungen ’Ski fahren’, so gilt

copt (r) =

 r 

N

falls

r≤N

falls

r ≥ N,

denn im Fall r ≤ N ist es g¨ unstiger, die Ski immer zu leihen, w¨ahrend man im Fall r ≥ N die Ski beim ersten Fahren sofort kauft. Da es sich hier um ein Minimierungsproblem handelt, ist die Kompetitivit¨at kA (oder auch G¨ ute genannt) eines online–Algorithmus A definiert als der maximale (oder Supremum) Quotient (¨ uber alle Anforderungen ’Ski fahren’) aus den Gesamtkosten cA von A und den optimalen Gesamtkosten copt im offline–Fall. Wir betrachten zun¨achst folgende online–Algorithmen: (i) der Buy-Never-Algorithmus BN kauft niemals Ski (ii) der Buy-Always-Algorithmus BA kauft immer sofort Ski.

Die Kompetitivit¨at kBN (r) des Buy-Never-Algorithmus bei einer Gesamtzahl r von Anforderungen ’Ski fahren’ erf¨ ullt r =1 falls r ≤ N cBN (r)  r kBN (r) = = copt (r)  r falls r ≥ N. N Im schlechten Fall, wenn r sehr groß ist, folgt kBN = sup r {kBN (r)} = lim

r−→∞

r = ∞, N

und die Kompetitivit¨at ist daher extrem schlecht. Der Buy-Always-Algorithmus kauft beim ersten Mal ’Ski fahren’. Im schlechtesten Fall wird danach nie mehr Ski gefahren und man erh¨alt f¨ ur die Kompetitivit¨at kBA : N cBA (1) = < ∞. kBA ≥ copt (1) 1 Es wird nun eine untere Schranke f¨ ur die Kompetitivit¨at kA jedes deterministischen online–Algorithmus A angegeben. Theorem 1. Jeder deterministische online–Algorithmus A f¨ ur das Ski-RentalProblem SR(1, N ) hat eine Kompetitivit¨at von mindestens (2 − 1/N ). Beweis. Sei A ein beliebiger, deterministischer online–Algorithmus f¨ ur das SkiRental-Problem SR(1, N ). Wenn der Algorithmus A besser als der Buy-NeverAlgorithmus sein m¨ochte, muss er irgendwann Ski kaufen, etwa beim r’ten Mal ’Ski fahren’. Im schlechtesten Fall wird danach nie mehr Ski gefahren. F¨ ur die Gesamtkosten cA (r) folgt cA (r) = N + (r − 1) · 1. F¨ ur die optimalen Gesamtkosten copt (r) im offline–Fall gilt  falls r ≤ N r copt (r) =  N falls r ≥ N und wir erhalten f¨ ur die Kompetitivit¨at kA (r) des Algorithmus A:  N +r−1 falls r ≤ N  r cA (r) = kA (r) = copt (r)  N +r−1 falls r ≥ N. N Wir betrachten die beiden Quotienten (N + r − 1)/r und (N + r − 1)/N jeweils als Funktion von r. Der erste Quotient (N + r − 1)/r ist f¨ ur N ≥ 1 monoton 2

fallend, also minimal f¨ ur r = N . Der zweite Quotient (N + r − 1)/N ist monoton steigend und daher minimal f¨ ur r = N , und es folgt kA = max r {kA (r)} ≥

N +N −1 1 =2− , N N t u

was nachgewiesen werden sollte.

Wir geben nun einen deterministischen online–Algorithmus f¨ ur das Ski-RentalProblem SR(1, N ) an, der optimal ist. Dieser Algorithmus, SUM genannt, kauft genau beim N ’ten Mal ’Ski fahren’. Theorem 2. Der Algorithmus SUM hat f¨ ur das Ski-Rental-Problem SR(1, N ) eine Kompetitivit¨at von maximal (2 − 1/N ). Beweis. Sei r die Gesamtanzahl der Anforderungen ’Ski fahren’. Bei dem Algorithmus SUM wird im schlechtesten Fall nach einem eventuellen Kauf nie mehr Ski gefahren. F¨ ur die Gesamtkosten cSU M (r) von SUM gilt dann  falls r ≤ N r cSU M (r) =  2·N −1 falls r ≥ N. F¨ ur die optimalen Gesamtkosten copt (r) im offline–Fall gilt  falls r ≤ N r copt (r) =  N falls r ≥ N, da f¨ ur r ≥ N beim ersten Mal ’Ski fahren’ sofort Ski gekauft werden. F¨ ur die Kompetitivit¨at kSU M (r) des Algorithmus SUM erhalten wir damit r =1 falls r ≤ N cSU M (r)  r = kSU M (r) =  2·N −1 copt (r) falls r ≥ N, N und es folgt kSU M = 2 − 1/N . 1.1

t u

Ein randomisierter Algorithmus fu ¨ r das Ski-Rental-Problem

Im Weiteren betrachten wir das Ski-Rental-Problem SR(1, N ) unter Verwendung von W¨ urfeln f¨ ur den Kaufzeitpunkt. Die Entscheidung, Ski zu kaufen, h¨angt nur von der Summe der Kosten vorheriger Skifahrten ab. Wir machen wegen einfacherer Berechnungen das Problem kontinuierlich. Ein randomisierter Algorithmus A kann daher beschrieben werden durch eine stetige, monoton steigende Funktion pA : [0, ∞) −→ [0, 1] mit pA (x) ≤ 1, wobei pA (x) die Wahrscheinlichkeit daf¨ ur ist, dass der Algorithmus A Ski gekauft hat, nachdem die Gesamtkosten x erreicht haben. Weiter wird angenommen, dass die Gesamtkosten eine monoton steigende Funktion in der Zeit sind. Daher ist eine Folge von Skifahrten gegeben durch eine Zahl s ≥ 0. 3

Lemma 1. F¨ ur das Ski-Rental-Problem SR(1, N ) sei A ein randomisierter online– Algorithmus mit Wahrscheinlichkeit pA . Dann gilt f¨ ur die erwarteten Kosten E[cA (s)] des Algorithmus A bei Gesamtkosten s: Z

s

E[cA (s)] = pA (s) · N + s −

pA (x) dx.

(1)

0

Beweis. Die erwarteten Kaufkosten der Ski sind gleich pA (s)·N bei Gesamtkosten der Skifahrten von s. Hinzu kommen die erwarteten Kosten des Leihens Z s Z s 0· pA (x) dx + (1 − pA (x)) dx 0 0 Z s pA (x) dx, =s− 0

t u

welches (1) liefert.

Beispiel: F¨ ur pA (x) = 0 f¨ ur alle x ∈ [0, ∞) folgt E[cA (s)] = s und f¨ ur pA (x) = 1 f¨ ur alle x ∈ [0, ∞) ergibt sich E[cA (s)] = N + s − s = N . F¨ ur pA (x) = 1/2 f¨ ur alle x ∈ [0, ∞) folgt E[cA (s)] = (N/2) + s − (s/2) = (N/2) + (s/2). Wir betrachten nun den randomisierten Algorithmus RAND mit Wahrscheinlichkeit

pRAN D (s) =

 Ns −1  e e−1

falls

s≤N



falls

s ≥ N.

1

Hierbei ist e ≈ 2.718. Die Wahl der Wahrscheinlichkeit von RAND f¨allt zun¨achst einmal vom Himmel. Wenn man sich aber vielleicht an den Physikunterricht in der Schule erinnert, so versucht man dort einen Ansatz mit einer e-Funktion der Art f (x) = A · eλx und konstanten (noch zu bestimmenden) Werten A > 0 und λ. Das scheint hier auch erfolgreich gewesen zu sein. Theorem 3. F¨ ur das Ski-Rental-Problem SR(1, N ) ist die erwartete Kompetitivit¨at E[kRAN D (s)] bei Gesamtkosten s des Algorithmus RAND konstant und gleich e ≈ 1.58. e−1 Betont ist hier, dass die erwartete Kompetitivit¨at E[kRAN D (s)] unabh¨angig von der Anforderungssequenz s ist. 4

Beweis. Sei s ∈ R+ eine Anforderungssequenz. F¨ ur s ≤ N gilt f¨ ur die optimalen Kosten copt (s) = s. Nach Lemma 1 gilt f¨ ur die erwarteten Kosten von RAND: Z s x s eN − 1 eN − 1 E[cRAN D (s)] = ·N +s− dx e−1 e−1 0 s  s eN − 1 1 = ·N +s− · N · eN − s − N e−1 e−1 1 ·s =s+ e−1 e . =s· e−1

(2)

Im Fall s ≥ N gilt copt (s) = N sowie f¨ ur die erwarteten Kosten von RAND nach Lemma 1:  Z ccrit x Z s eN − 1 1 dx E[cRAN D (s)] = N + s − (1 − β) · dx + e−1 0 N =N +s   N 1 − · (N · e N − 2 · N ) + (e − 1)(s − N ) e−1 e−2 ·N −s+N =N +s− e−1 e = · N. (3) e−1 F¨ ur die erwartete G¨ ute E[kRAN D (s)] erhalten wir f¨ ur s ≤ N : E[kRAN D (s)] =

e s · e−1 E[cRAN D (s)] e = = copt (s) s e−1

und f¨ ur s ≥ N : E[cRAN D (s)] E[kRAN D (s)] = = copt (s)

e e−1

·N e = . N e−1

Also gilt insgesamt E[kRAN D (s)] = e/(e − 1) und daher ist E[kRAN D (s)] konstant. t u

5