4.) Beweis der 2erKompetitivität des MF-Algorithmus:

Sei:

OPT = optimaler offline Algorithmus
MF = MF-Regel (move-to-front)

L = eine Liste von Elementen
s = Zugriffsfolge mit Länge m
LOPT = Liste durch OPT modifiziert
LMF = Liste durch MF modifiziert
COPT (i) = Kosten/Aufwand nach der i-ten Operation nach OPT
CMF (i) = Kosten/Aufwand nach der i-ten Operation nach MF
K = Kontostand, der sich aus den Unterschieden der beiden Listen (LA und LMF) ergibt. K = bal (LA,LMF).
Ki = Kontostand bevor auf das der (i+1)-ten Element aus s zugegriffen wird.
o.B.d.A. gilt anfangs LOPT = LMF und somit K(0) = 0;
x = immer das Element auf das zugegriffen werden soll.


(0 <= i <= m-1)
k = Anzahl der Elemente die, in LMF und LOPT, x vorausgehen (weiter vorne in der Liste stehen).
l = Anzahl der Elemente die in LMF vor x und in LOPT hinter x stehen.
= > COPT (i) >= k +1

Da kein Element sowohl zu l als auch zu k beitragen kann (ansonsten müsste es in LOPT doppelt vorkommen),
und da sowohl die Elemente die zu l als auch zu k beitragen vor x stehen, folgt:

=> CMF (i) = k + l + 1
(Es stehen k + l Elemente vor x in LMF => Die Kosten beim Zugriff von MF sind k + l +1.)

 

Wenn MF auf x zugreift und x und an den Listenanfang verschiebt, werden l Inversionen zerstört und maximal k neue "erzeugt".
(Die Anzahl der Inversionen die vor einem Zugriff existieren, wird also um l gesenkt und maximal um k gesteigert.
D.h. also: Die "neue" Anzahl an Inversionen kann maximal die "alte" Anzahl an Inversionen - l + k sein.)

=> Ki+1 <= Ki - l + k

<=> Ki+1 - Ki <= - l + k


<=> CMF (i+1) + Ki+1 - Ki <= CMF (i+1) + k - l (P : = diese Ungleichung)
( CMF (i+1) + Ki+1 - Ki = : p)

 

da CMF (i+1) + k - l = k + l +1 + k -l = 2* k +1
<=> CMF (i+1) + Ki+1 - Ki <= 2* COPT (i+1) -1

 

folgt für s:

[
CMF (i+1) ] + K(m) - K(0)
<=
[
2* COPT (i+1)] - m

 


bzw.:(Teleskop-Summe)


CMF(s) <= 2* COPT (s) - m - K(m) + K(0)

da jedoch K(0) = 0
=>

CMF(s) <=2* COPT (s) - (m+K(m))

 

=> MF ist 2 kompetitiv.

 

 

weiterführende Anmerkung:
Jeder kostenpflichtige Austausch, den OPT beim Zugriff auf ein Element tätigt, kann p um 1 erhöhen; jedoch erhöht OPT so auch seine Kosten um 1.
=> Ungleichung P bleibt erhalten, der Beweis gilt weiterhin.

Die obige Beweisführung gilt auch noch, wenn es möglich ist, Elemente zu löschen und/oder einzufügen.
Beim Einfügen eines Elementes entstehen sowohl für OPT als auch für MF Kosten in der Höhe von n +1. Hierbei ist n die Anzahl der Elemente vor der "Einfügungsposition" in der Liste.
Und es werden maximal n neue Inversionen "erzeugt".
Beim Löschen werden l Inversionen "zerstört" und keine neuen Inversionen "erzeugt".
Ein vergleichbarer Beweis zeigt das MF höchstens doppelt so "schlecht" ist wie jeder andere Algorithmus zur Anordnung von Listen.