Ski-Rental-Problem

Dies ist die gesichtete Version, die am 30. November 2024 markiert wurde. Es existieren 2 ausstehende Änderungen, die noch gesichtet werden müssen.

Das Ski-Rental-Problem (Skiverleihproblem) beschreibt die Problemstellung, die beim Design von Online-Algorithmen entsteht. In dem konkreten Problem geht es darum, zu einem passenden Zeitpunkt zu entscheiden, Skier einmalig zu kaufen oder für jeden Skilauf zu leihen, und zwar unter der Maßgabe, dass die Gesamtkosten minimal sind. Das Ski-Rental-Problem steht stellvertretend für eine Reihe von Problemen, in denen jeweils ein Konsument etwas einmalig kauft zu einem festen Preis oder leihweise für die genutzte Zeit bezahlt. Dabei ist stets unklar, wie lang das Problem läuft, das heißt es muss jeden Tag neu entschieden werden, ob es sich nun lohnt zu kaufen oder weiter zu leihen.

Problembeschreibung

Bearbeiten

Wir nehmen an, eine Person ohne Ski möchte Ski fahren gehen. Sie hat die Wahl zwischen dem (einmaligen) Kauf eines Paares Skier (Kaufpreis z. B. 200 Euro) und der Miete (Tagesmiete z. B. 20 Euro). Entscheidend ist, dass die Person nicht weiß, wie lange sie Skifahren wird, sondern jeden Tag neu entscheiden kann, ob es sich nun lohnt zu kaufen oder weiter zu mieten. Daher ist zu Beginn des Algorithmus noch nicht bekannt, welches die wirtschaftlich bessere Methode ist. Dies modelliert ein typisches Online-Problem, bei dem der Input (Wie viele Tage fahre ich Ski?) erst mit der Zeit bekannt wird.

Der Offline-Fall dagegen beschreibt das Problem, wenn die Person schon weiß, dass sie nur eine feste Zahl Tage fahren will. In diesem Fall ist einfach auszurechnen, ob kaufen oder mieten billiger ist. Wenn beispielsweise fünf Tage Ski fahren geplant sind, kommt die Miete von   Euro günstiger als ein Kauf von   Euro. Sind hingegen zwölf Tage Ski fahren geplant, ist es billiger, gleich am ersten Tag das Paar Skier zu kaufen, da der Kauf für   Euro günstiger ist als die Miete von   Euro.

Gesucht ist nun eine Handlungsvorschrift für den Fall, dass man die Anzahl Skitage am Anfang nicht kennt. Für den einzelnen Fall muss jede beliebige Vorschrift versagen. Sollte es jedoch eine größere Anzahl von Buchungen geben, bietet die Versicherungsmathematik sichere Methoden zum Umgang mit solchen Buchungen. Je größer die Anzahl der Buchungen wird, desto genauer lassen sich Bedarf und Nachfrage abbilden. Diese Methoden sind stochastisch hinterlegt und werden in vielen Fällen schon angewendet.

Problemlösung

Bearbeiten

Sei   der Gesamtpreis der Skier (in Euro), welcher beim Kauf zu bezahlen wäre. Dagegen sei im Folgenden angenommen, dass die Mietkosten pro Tag bei  € liegen.

Deterministischer Algorithmus

Bearbeiten

Angenommen die Person befindet sich am Beginn des   Tages. Entscheidet sie sich nun, die Skier einen weiteren Tag verwenden zu wollen, so wäre es besser die Skier zu kaufen, da, wenn sie diese weiter mieten würde, hätte sie bereits den vollen Preis   der Skier bezahlt, müsste jedoch am   Tag, an dem sie die Skier verwendet, erneut die Miete zahlen. Dieser einfache Algorithmus bietet eine Lösung des Problems, allerdings sind die Kosten sehr hoch, wenn die Person am   Tag entscheidet, die Skier nicht mehr zu verwenden. Wäre bereits zu Beginn bekannt gewesen, dass die Skier nur   Tage verwendet werden, so wären die Mietkosten  € gewesen, wohingegen wir im Online-Beispiel  € bezahlen mussten, da die Person die Skier zuvor noch   Tage mietete. Dieser Fall beschreibt den Worst Case für diesen Algorithmus. Daher ist, gegenüber dem optimalen Fall, der Worst Case um den Faktor   ineffizienter, da die Person die Skier preislich fast zweimal kaufen muss, minus den Preis, welchen die Person sich durch den Kauf am   Tag in der Miete erspart hat (bis zum   Tag bezahlte die Person die Miete und kaufte dann am   Tag die Skier, der Subtrahend   beschreibt den einen Tag Miete, den die Person sparte)[1].

Für jede Zahl   an Tagen der Verwendung der Skier gilt somit:

 

Dabei soll   den Gesamtpreis (nach dem hier genannten Algorithmus) für   Tage darstellen sowie   die optimale Lösung für den Offline-Fall.

Zufälliger Algorithmus

Bearbeiten

Nun wird angenommen, dass die Skier nicht immer strikt am   Tag gekauft werden, sondern, dass der Algorithmus beispielsweise am   Tag ein Zufallsexperiment durchführt (hier: das Werfen einer Münze, welche nicht auf dem Rand landen kann) und, basierend auf dem Ausgang dieses Experiments, bereits am   Tag die Skier kauft oder erst am   Tag. Damit ergibt sich für das Beispiel folgende Effizienz gegenüber dem Optimalwert:

 , wobei für   gilt:

 

Für den Fall   wählt der Algorithmus somit immer den Optimalfall (mieten statt kaufen). Ist  , so ist  , der Algorithmus somit ineffizienter, als der deterministische Fall. Im letzten Fall,  , ist der Algorithmus maximal   mal schlechter als der Optimalwert. Diese Zahlenwerte ergeben sich aus dem Zusammenhang:

  (für  , der Optimalwert beträgt hier  ), bzw.

  (für  , der Optimalwert beträgt hier  )[1].

Algorithmen, welche eine Zufallsexperiment beinhalten, sind im Allgemeinen effizienter bei der Lösung dieses Problems. So lässt sich in Quelle [2] folgende effizientere Lösung des Problems finden:

 

wobei hier ein zufälliger Tag   ausgewählt wird, an welchem die Skier gekauft werden. Dieser Algorithmus ist der beste zufällige Algorithmus zur Lösung dieses Problems[2], dabei betragen die Kosten im Worst Case nur ca. 1,58 mal soviel wie die optimale Offline-Lösung.

Siehe auch

Bearbeiten

Literatur

Bearbeiten
  • Mark S. Manasse: Ski Rental Problem. In: Ming-Yang Kao (Hg.): Encyclopedia of Algorithms. Springer, Berlin/Heidelberg/New York 2008, ISBN 978-0-387-30162-4, Teil 18.
  • Anna R. Karlin: On the Performance of Competitive Algorithms in Practice. In: Amos Fiat, Gerhard J. Woeginger (Hg.): Online Algorithms. The State of the Art. Lecture Notes in Computer Science 1442, Springer, Berlin/Heidelberg/New York 2008, ISBN 3-540-64917-4, Kap. 16, S. 373 ff.

Anmerkungen

Bearbeiten
  1. a b Thomas Kesselheim: Ski Rental. Abgerufen am 14. Oktober 2024 (englisch).
  2. a b Anna R. Karlin, Mark S. Manasse, Lyle A. McGeoch, Susan Owicki: Competitive Randomized Algorithms for Non-Uniform Problems. Abgerufen am 14. Oktober 2024 (englisch).