Thema: „Random Knapsack in Expected Polynomial Time“

Werbung
Seminar „Perlen der Theoretischen Informatik“
WS 2003/2004
Thema: „Random Knapsack in Expected Polynomial
Time“
Ausarbeitung von Evgenija Wetzel (Matr.-Nr. 6089919)
Arbeitsgruppe Algorithmen und Komplexität
Betreuer: Dipl.-Math. Valentina Damerow
Januar 2004
Inhaltsverzeichnis
1
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1
Nemhauser/Ullmann Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2
Average-case Analyse des Nemhauser-Ullmann Algorithmus . . . . . . . . . . . . . . . 7
2.1
Gleichverteilung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2
Andere Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Exponentielle und andere langschweifige Verteilungen . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Verteilungen mit nicht steigender Dichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.3 Allgemeine kontinuierliche Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Verzeichnis der Formelzeichen
E[x]
Erwartungswert der Variablen x
Pr [ … ]
Wahrscheinlichkeit
q
Anzahl der dominierenden Mengen
vol ( A )
Volumen des Polytopes A
1 Einleitung
Das 0/1 Rucksack Problem ist wie folgt definiert:
Gegeben seien eine Menge von Objekten [ n ] = { 1, …, n } mit positiven Gewichten
(weights) w 1, …, w n und Nutzwerte (profits) p 1, …, p n , und ein Behälter - Rucksack mit
der Gewichtskapazität c, der mit den Objekten gefüllt werden soll. Nicht alle Objekte können mitgenommen werden, also soll eine Auswahl getroffen werden, die den Wert der eingepackten Objekten maximiert.
Es wird eine Untermenge dieser Objekten gesucht, welche die Zielfunktion z =
maximiert, unter Nebenbedingungen: ∑ w j x j ≤ c xj ∈ { 0, 1 }, j ∈ N ,
n
∑j = 1 p j x j
j=1
wobei x j =1, wenn Objekt j in den Rucksack eingepackt wird, und x j =0 sonst.
Oder, etwas vereinfacht: Es wird eine solche Teilmenge S ⊆ [ 1, 2, …, n ] gesucht, dass
∑ wi ≤ c und ∑ pi maximal ist.
i∈s
i∈S
Das 0/1- Rucksackproblem ist ein Optimierungsproblem und sowohl vom theoretischen als
auch vom praktischen Interesse. Es findet Anwendung in Industrie, Finanzverwaltung, bei
der verschlüsselten Datenübertragung.
Das Lösen vom Rucksack-Problem ist im worst-case NP-hart. Es existiert kein polynomieller Algorithmus für das Problem, es sei denn, dass P = NP. Alle existierenden Algorithmen
für die Lösung des Rucksack-Problems haben im worst-case exponentielle Laufzeit. In der
Praxis aber kann das Problem in vielen Fällen sehr effizient gelöst werden. Insbesondere ist
das Problem im average-case für viele Input-Zufallsverteilungen in polynomielle Zeit lösbar.
R.Beier und B.Vöcking untersuchen dieses Phänomen in [1], wo sie eine polynomielle
Laufzeit im average-case für einen exakten Algorithmus des 0/1- Rucksack-Problems
beweisen. Sie nehmen an, dass die Gewichte von Objekten widrig und die entsprechenden
Nutzwerte nach einer bestimmten beschränkten Wahrscheinlichkeitsverteilung ausgewählt
sind. Dies erlaubt auch die Beziehungen zwischen den Gewichten und den Nutzwerten von
Objekten zu untersuchen, was auch eine praktische Bedeutung hat. Diese average-case Analyse des Problems basiert auf dem eleganten Algorithmus von Nemhauser und Ullmann.
Man kann ihn als eine sparsame Approximation der dynamischen Programmierung bezeichnen. Er ist sehr effizient für viele praktische Fälle. R.Beier und B.Vöcking beweisen in ihrer
Arbeit die polynomielle obere Schranke für die Laufzeit des Algorithmus, wobei der Grad
des Polynoms abhängig von der grundliegenden Wahrscheinlichkeitsverteilung von drei bis
fünf betragen kann.
3
4
1 Einleitung
1.1 Nemhauser/Ullmann Algorithmus
Eine einfachste und zeitaufwendigste Methode das Rucksack-Problem zu lösen ist alle
möglichen Teilmengen aus n Objekten zu untersuchen. Um den Suchraum zu reduzieren
wird das sogenannten Dominanz-Konzept benutzt. Die Idee des Konzeptes ist folgende:
Eine Teilmenge S ⊆ [ n ] mit dem Gewicht w ( S ) = ∑i ∈ S w i und dem Nutzwert
p ( S ) = ∑ p i dominiert eine andere Teilmenge T ⊆ [ n ] , wenn w ( S ) ≤ w ( T )
i∈S
und p ( S ) ≥ p ( T ) . Für Vereinfachung wird angenommen, dass keine zwei Teilmengen denselben Profit haben.
Keine Teilmenge, die von einer anderen Teilmenge dominiert wird, kann eine optimale
Lösung des Rucksack-Problems sein. Deswegen genügt es nur solche Teilmengen zu
berücksichtigen, die nicht von einer anderen Teilmenge dominiert wird, die so genannten
dominierenden Mengen (dominating sets). Mit anderen Worten, dominierende Mengen sind
die Lösungen, die nicht in Nutzwert und Gewicht verbessert werden können, also die optimalen Teillösungen des Problems.
Nemhauser und Ullmann haben den folgenden eleganten Algorithmus für die iterative
Berechnung einer Liste der dominierenden Mengen in 1969 eingeführt:
Für i ∈ [ n ] , sei S(i) eine gegebene Folge von dominierenden Teilmengen aus den Elementen 1,...,i. Die in S(i) enthaltenen Mengen sind nach ihren Gewichten ansteigend sortiert.
Die nächste Folge S(i+1) kann mit Hilfe von S(i) berechnet werden: Zuerst werden die Teilmengen aus S(i) dupliziert, und dann wird zu jeder duplizierten Menge das i+1-ste Element
addiert. So erhält man zwei geordnete Folgen. Jetzt werden die beiden Folgen gemischt und
dabei die von einer anderen aus der Vereinigung der beiden Folgen dominierten Mengen
entfernt. Das Ergebnis ist eine geordnete Folge S(i+1) von dominierenden Mengen aus Elementen 1,..., i+1. Nun kann die Folge S(i+1) aus der Folge S(i) in linearer Zeit berechnet
werden. Zu berücksichtigen ist, dass dabei nur Additionen und Vergleichsoperationen
benutzt werden. Die optimale Rucksackbepackung wird durch eine der Teilmengen aus S(n)
beschrieben, nämlich durch die Menge mit dem größten Gewicht, das die Kapazität des
Rucksackes c nicht überschreitet.
Die graphische Interpretation hilft den oben beschriebenen Algorithmus besser zu verstehen. Sei f i R → R, i∈ [ n ] die Abbildung von Gewichten zu Nutzwerte, so dass f i ( t ) der
maximale Profit aus allen Teilmengen von [i] mit dem Gewicht höchstens t ist. Daraus folgt,
dass f i ( t ) eine nicht fallende Treppenfunktion ist. Außerdem ist die Anzahl von Treppen in
f i ( t ) gleich der Anzahl der dominierenden Mengen aus [i] Elementen.
Ein einfaches Beispiel in Bild 1.1 erklärt das Vorgehen dieses Algorithmus. Es werden für
jedes i von 1 bis 5 die Treppenfunktionen f i berechnen. Die optimale Rucksackbepackung,
die das Gewicht von 8 nicht überschreitet, kann man aus der letzten Grafik ablesen. Die
optimale Rucksackbepackung entspricht in diesem Fall dem Nutzwert von 7 Einheiten.
Für den oben angeführten Beschreibung des Nemhauser-Ullmann Algorithmus haben
B.Vöcking und R.Beier in [1] folgendes Lemma gezeigt:
1.1 Nemhauser/Ullmann Algorithmus
5
10 p
1.
i: 1 2 3 4 5
8
C= 8
w: 1 3 5 2 4
p: 2 1 4 1 3
6
4
f1
2
w
2
4
6
8
10
2.
10 p
10
8
8
6
6
4
f1 um (w2,p2) geshiftet
f1
2
w
2
3.
10
8
4
2
6
4
4
f2
w
10
6
8
f3
2
4
6
8
10
p
10
6
6
4
f3 um (w4,p4) geshiftet
f3
w
2
4
6
8
2
w
2
10
p
10
f4 um (w5,p5) geshiftet
4
4
f4
w
4
6
8
10
4
6
8
10
p
f5
8
6
2
f4
4
6
2
10
w
8
8
8
2
8
10
6
p
10
p
2
4
8
6
4
w
2
10
2
f2
10
f2 um (w3,p3) geshiftet
2
5.
6
p
8
4.
4
p
2
w
2
4
6
8
10
Bild 1.1 Beispiel der Anwendung von Nemhauser/Ullmann Algorithmus
6
1 Einleitung
Lemma 1.1. Für jedes i ∈ [ n ] sei q(i) die obere Schranke der geschätzten Anzahl der dominierenden Mengen aus Elementen von 1 bis i. Wir nehmen an, dass q ( i + 1 ) ≥ q ( i ) . Dann
berechnet der Nemhauser-Ullmann
Algorithmus die optimale Rucksackbepackung in der
n


erwarteten Zeit: O ∑ q ( i ) = O ( n ⋅ q ( n ) ) , dabei sind Gewichten gegeben und Nutz

werte sind zufällig. i = 1
Im worst-case ist die Anzahl der dominierenden Mengen gleich Anzahl aller Teilmengen
n
aus n Elementen und gleich 2 . Dieser Fall tritt ein, wenn Nutzen und Gewicht von Objekten identisch
sind. Also kann die Laufzeit von Nemhauser/Ullmann Algorithmus durch
n
i
n

O ∑ 2 = O ( 2 ) beschränkt werden. Aber, wenn Gewichte und Nutzen unabhängig
 i=1 
von einander oder schwach ähnlich sind, ist die Laufzeit des Algorithmus viel kleiner.
Außerdem, wenn die Angabewerte positive ganze Zahlen sind, kann die Laufzeit des Algorithmus pseudo-polynomiell beschränkt werden. In diesem Fall kann die Treppenfunktion
f i höchstens i ⋅ P Treppen haben, wobei P der maximale Nutzwert ist.
2 Average-case Analyse des
Nemhauser-Ullmann Algorithmus
Die Herausforderung bei der average-case Analyse des Nemhauser/Ullmann Algorithmus
ist die Anzahl der dominierenden Mengen von Elementen mit zufälligen Nutzwerten abzuschätzen, und auch festzustellen, wie diese Anzahl von den Beziehungen zwischen Gewichten und Profiten beeinflußt wird.
In [1] untersuchen B.Vöcking und R.Beier verschiedene zufällige Eingabemodelle des
Rucksackproblems. Dabei haben sie Gewichte von Objekten und die Kapazität des Rucksacks vom Gegner, und Nutzen nach einer Wahrscheinlichkeitsverteilung gewählt. Sie
haben bei diesen Modellen die erwartete Anzahl der dominierenden Mengen und daraus
auch die average-case Laufzeit des Nemhauser/Ullmann Algorithmus abgeschätzt.
2.1 Gleichverteilung
Es wird angenommen, dass die Nutzen unabhängig, gleichmäßig zufällig aus dem Intervall
[0,1] ausgewählt sind. Die Gewichte von Objekten sind immer vom Gegner gewählt. Das
folgende Theorem gibt eine obere Schranke der geschätzten Anzahl der dominierenden
Mengen im Nemhauser/Ullmann Algorithmus.
Theorem 2.1. Seien die Gewichte beliebige positive Zahlen und die Nutzwerte zufällig
gleich verteilt aus dem Intervall [0,1]. Und sei q die Anzahl der dominierenden Mengen aus
3
allen n Objekten. Dann ist E [ q ] = O ( n ) .
n
Beweis: Sei m = 2 und S 1, …, S m die ansteigend nach ihren Gewichten geordnete Folge
aller Teilmengen von [ n ] . Sei p u = ∑i ∈ S p i der Nutzen der Teilmenge S u ,
u
P u = max v ∈ [ u ] p v . Sei P 0 = 0 .
Für alle 2 ≤ u ≤ m werde ∆u = P u – P u – 1 definiert. Zu beachten ist, dass S 1 immer eine
dominierende Menge ist. Für jede dominierende Menge u ist ∆u > 0 . Bei einer graphischen
Darstellung der entsprechenden Treppenfunktion f n ist ∆u die Höhe der Treppe.
Das folgende Lemma zeigt, dass geschätzte Steigung des Profits der dominierenden Men–2
gen Ω ( n ) ist. Anders gesagt, die geschätzte Höhe der Treppen in der entsprechenden
Treppenfunktion f n ist ziemlich groß und polynomiell von n.
1
Lemma 2.2. Für jede u ∈ [ m ], E [ ∆u ∆u > 0 ] ≥ ---------------2 .
32 ⋅ n
7
8
2 Average-case Analyse des Nemhauser-Ullmann Algorithmus
Beweis: Sei u beliebig, aber fest u ∈ [ m ] . Wenn man die Definition für Erwartungswert
einer Variablen x: E [ x ] = ∑ Pr [ x = d ] ⋅ d benutzt und ein bestimmtes d aussucht, zum
2
Beispiel d = 1 ⁄ ( 16 ⋅ n ) , giltd die Ungleichung
1
1
E [ ∆u ∆u > 0 ] ≥ Pr ∆u ≥ ----------2- ∆u > 0 ⋅ -----------2 .
16n
16n
(2.1)
Infolgedessen reicht es uns jetzt zu zeigen, dass
1
1
Pr ∆u ≥ -----------2 ∆u > 0 ≥ --- .
2
16n
(2.2)
Für jede v ∈ [ u – 1 ] werden zwei Mengen: X v = S u \S v und Y v = S v \S u definiert.
Es gilt die folgende Gleichung
1 ∆u > 0
Pr ∆u ≥ ----------2
16n
= Pr ∀v ∈ [ u – 1 ] ÷ ∑
i ∈ Su
pi ≥ ∑
i ∈ Sv
1 ∀v ∈ [ u – 1 ]
p i + ---------2
16n
(2.3)
∑i ∈ S
u
pi > ∑
i ∈ Sv
pi
Hierbei wurde die Definition für ∆u benutzt. Jetzt kann man die gleichen Elemente aus den
Summe in beiden Teilen der Ungleichungen weglassen und nur die Elemente aus den Mengen X v und Y v späterhin beachten. Also Gl. (2.3) =
= Pr ∀v ∈ [ u – 1 ] ÷ ∑
i ∈ Xv
pi ≥ ∑
1 ∀v ∈ [ u – 1 ]
p i + ----------2
i ∈ Yv
16n
∑i ∈ X
u
pi > ∑
i ∈ Yv
pi
Hier wird eine stetige Wahrscheinlichkeitsverteilung betrachtet, deshalb wird die Entspannung der strengen Ungleichheit in den Bedingungsteilen die Wahrscheinlichkeit nicht
beeinflussen. Ohne Beschränkung der Allgemeinheit gilt S u = [ k ] . Man unterscheidet
zwei Klassen von zufälligen Variablen, nämlich { p 1, …, p k } und { p k + 1, …, p n } . Zu
beachten dabei ist, dass die X v alle Teilmengen der ersten Klasse sind und Y v Teilmengen
der zweiten Klasse sind. Vorübergehend nimmt man an, dass die Variablen der zweiten
Klasse beliebig aber fest sind. Unter dieser Annahme werden die Variablen der ersten
Klasse untersucht. Es ist unwahrscheinlich, dass eine von den Variablen der ersten Klasse
–1
viel kleiner als n ist.
1 ∀v ∈ [ u – 1 ] ÷
Pr ∃i ∈ [ k ] ÷ p i ≤ ----∑j ∈ X v p j ≥ ∑j ∈ Y v p j
4n
1 ∀v ∈ [ u – 1 ] ÷
Pr p i ≤ ----∑j ∈ X v p j ≥ ∑j ∈ Y v p j
4n
1
1 1
"" ≤ ∑
Pr p i ≤ ------ ≤ k ⋅ ------ ≤ --- .
4n
4n
4
i ∈ [k]
"" ≤ ∑
i ∈ [k]
(2.4)
2.1 Gleichverteilung
9
Also, die Wahrscheinlichkeit, dass eine von den
1
Variablen der ersten Klasse kleiner als ------ ist
4n
nicht größer als 1/4. Diese Wahrscheinlichkeit
ist klein genug, deswegen wird ab jetzt ange1
nommen, dass p i ≥ ------, ∀i ∈ [ k ] .
4n
y
1
Α
1−ε
Β
Βε
Sei L v =
∑i ∈ X p i
der Gesamtgewinn der
v
Menge X v .
1
L v ≥ ------, ∀v ∈ [ u – 1 ] , weil X v mindestens ein
4n
1
Bild 2.1 Beispiel für 21
Element, das nicht kleiner als ------ ist, besitzt.
dimensionale Polytope
4n
Jetzt nimmt man an, dass die Variablen der
ersten Klasse fixiert sind, und die Variablen p 1, …, p k werden nicht mehr beachtet. Unter
dieser Berücksichtigung analysiert man die folgende Wahrscheinlichkeit:
1−ε
x
1 ∆u > 0 .
Pr ∆u < ----------2
16n
(Zur
Erinnerung:
Das
Ziel
1
1 ∆u > 0 ≥ --- .)
Pr ∆u ≥ ----------2
2
16n
ist
die
folgende
(2.5)
Formel
zu
beweisen
1
1
Man beweist, dass die Wahrscheinlichkeit aus Gl. (2.5) nicht größer als --- statt --- ist. Jetzt
4
2
wird die Gl. (2.3) unter Benutzung der Definition von L v geschreiben als
Pr ∀v ∑
3
1 ∀v
p i ≤ L v ≥ --p i ≤ L v – ---------∑
2
4
i ∈ Yv
i ∈ Yv
16n
(2.6)
1
für beliebiges aber festes L v ≥ ------ und Variablen p k + 1, …, p n . Aus diesen aus n-k Variablen
4n
wird Vektor gebildet und den wird zufällig gleichverteilt aus einem (n-k)-dimensionalen
Raum ausgewählt. Man versucht weiter durch eine geometrische Interpretation das Problem
zu lösen. Man wechselt zu den (n-k)-dimensionalen Polytopen A und B, die wie folgt definiert:

1 
n–k
A =  ( p k + 1 × … × p n ) ∈ [ 0, 1 ]
∀v ∈ [ u – 1 ] ∑
p i ≤ L v – -----------2 
i ∈ Yv
16n 



n–k
B =  ( p k + 1 × … × p n ) ∈ [ 0, 1 ]
∀v ∈ [ u – 1 ] ∑
pi ≤ Lv  .
i ∈ Yv


(2.7)
10
2 Average-case Analyse des Nemhauser-Ullmann Algorithmus
Das Bild 2.1 zeigt ein Beispiel für 2-dimensionale Polytope. Die Polytope sind (n-k)dimensional, deswegen spricht man weiter von Volumen des Polytopen.
Bei der Gleichverteilung ist die Wahrscheinlichkeit, dass ein Wert in einem bestimmten
Bereich liegt, identisch zu dem Volumenanteil dieses Teilbereiches zu dem Gesamtvolumen. Deswegen kann man die Gl. (2.6) folgendermaßen umschreiben:
( A ∩ B ) vol ( A )
1 ∆ ( u > 0 ) = vol
---------------------------- = ---------------Pr ∆u ≥ ----------2
vol
(B)
vol ( B )
16n
(2.8)
3
Also, man muß jetzt zeigen, dass vol ( A ) ≥ --- ⋅ vol ( B ) ist.
4
Das Verhältnis vol(A)/vol(B) ist von der Facettenanzahl des Polytopen abhängig. (Eine
Facette von Polytop P ist definiert als eine maximale nicht leere echte Seitenfläche von P.)
Diese Anzahl kann aber exponentiell sein. Die Idee ist dabei folgende: Das Polytop B
gleichmäßig in allen Dimensionsrichtungen so zu schrumpfen bis es von dem Polytopen A
beinhaltet wird. Man bezeichnet das neue Polytop als Bε .


n–k
Bε =  ( p k + 1 × … × p n ) ∈ [ 0, 1 – ε ]
∀v ∈ [ u – 1 ] ∑
p i ≤ ( 1 – ε )L v 
v ∈ Yv


(2.9)
Offensichtlich ist B = B 0 , und im allgemeinen kann Bε durch Schrumpfen von B in jeder
Dimension um den Faktor 1 – ε erhalten werden. Das Polytop B hat n-k Dimensionen, es
n–k
folgt daraus, dass vol ( B ε ) = ( 1 – ε )
⋅ vol ( B ) .
Jetzt muß man zeigen, dass ∃ε ÷ ( B ⊇ A ⊇ B ε ) . Aus den Definitionen für die Polytopen A
1
und Bε (Gl. (2.7),Gl. (2.9)) folgt folgende Ungleichheit ( 1 – ε )L v ≤ L v – -----------2 . Nach dem
16n
1
-.
Vereinfachen bekommt man ε ≥ -------------------2
16n ⋅ L v
1
Weil L v ≥ -----4n
1
ist, wird das gesuchtes ε gefunden. Bei dem ε = ------ ist B ε ⊆ A . Es folgt
4n
3
n–k
vol ( A ) ≥ vol ( B ε ) = ( 1 – ε )
⋅ vol ( B ) ≥ ( 1 – ε ⋅ ( n – k ) ) ⋅ vol ( B ) ≥ --- ⋅ vol ( B ) . (2.10)
4
Das Lemma 2.2 ist damit bewiesen. Diese Lemma zeigt, dass erwartete Steigung des Nut1 ist.
zen der dominierenden Mengen nicht kleiner als ----------2
32n
Andererseits, der erwartete erreichbare Nutzwert der Rücksackbepackung aus allen Objekten ist n/2. Aus dem Lemma 2.2 folgt, dass erwartete Höhe der Treppen der entsprechenden
2
Funktion f n nicht kleiner als 1 ⁄ 32n ist. Aus diesen zwei Fakten ist klar, dass erwartete
Anzahl der Treppen dieser Treppenfunktion und auch die Anzahl der dominierenden Men3
gen höchstens 16n sein muß. Die folgende Berechnung beweist es formal
E [ Pm ] = P1 + ∑
m
u=2
E [ ∆u ] =
m
∑u = 2 Pr [ ∆u > 0 ] ⋅ E [ ∆u
∆(u > 0)]
(2.11)
2.2 Andere Verteilungen
≥∑
11
1
Pr [ ∆u > 0 ] ⋅ ----------2- .
u=2
32n
m
n
Andererseits ist E [ P m ] = --- und somit
2
E[q] = 1 + ∑
m
u=2
2
3
Pr [ ∆u > 0 ] ≤ 1 + 32n E [ P m ] ≤ 16n + 1 .
(2.12)
Die zusätzliche 1 steht hier wegen der Menge S 1 , die immer dominierend ist. Damit ist das
Theorem 2.1 bewiesen.
2.2 Andere Verteilungen
Average-case Analyse versucht etwas über das typische Verhalten von Algorithmen auszusagen, wobei typisch sich auf Eingaben aus echten Anwendungen bezieht. Über die Eingaben muss man für die Analyse gewisse Annahmen machen. Diese Annahmen sind die
unterschiedlichen Wahrscheinlichkeitsmodelle für die Eingaben des Algorithmus. Solche
Eingabemodelle können allerdings zu unterschiedlichen Laufzeiten des untersuchten Algorithmus führen. Die Besonderheit der Average-case Analyse des Nemhauser/Ullmann Algorithmus von B.Vöcking und R.Beier aus [1] ist, dass ihre Analyse für ganz viele Verteilungen funktioniert und das gleiche oder ähnliches liefert. Außerdem, müssen die Eingaben des
Algorithmus - die Profite nicht mal alle nach der gleichen Wahrscheinlichkeitsverteilung
ausgewählt werden. Man kann die Profite ganz wild mischen und jeden Wert nach einer
anderen kontinuierlichen beschränkten Wahrscheinlichkeitsverteilung ziehen.
2.2.1 Exponentielle und andere langschweifige Verteilungen
– ax
Eine Zufallsvariable x mit der Dichtefunktion f ( x ) = ae , x > 0 heißt exponentiell verteilt mit Parameter a. Wenn Nutzwerte nach dem exponentiellen Gesetz gewählt sind, dann
2
3
3
gilt E [ q ] = O ( n ) und E [ T ] = O ( n ) , wobei O ( n ) die obere Schranke der erwarteten
Laufzeit des Algorithmus repräsentiert. Diese obere Schranke kann für alle beschränkten
stetigen Verteilungen verallgemeinert werden.
Als Schweife einer Verteilung bezeichnet man die extremen Regionen der Verteilung. Bei
einer langschweifigen Verteilung sinken die Schweife der Dichtefunktion sehr langsam bis
auf null, die Verteilung hat dabei längere Ausläufer. Bei einer kurzschweifigen Verteilung
dagegen klingen die Schweife sehr schnell ab. Solche Verteilung hat kürzere Ausläufer.
Man kann stetige Wahrscheinlichkeitsverteilungen nach ihrer Schweiflänge im Vergleich
mit der Schweiflänge der exponentiellen Verteilung klassifizieren. Wenn exponentielle
Funktion die untere Schranke einer Verteilungsfunktion ist, dann ist diese Verteilung
langchweifig.
Und wenn exponentielle Funktion die obere Schranke einer Verteilungsfunktion ist, dann ist
diese Verteilung kurzschweifig.
12
2 Average-case Analyse des Nemhauser-Ullmann Algorithmus
Die Pareto-Verteilung ist ein typisches Beispiel von langschweifigen Verteilung.
Eine Zufallsvariable x mit der Dichtefunktion f ( x ) = ax
Für Pareto-Verteilung
a 3
E [ T ] = O  ------------ n  .
a–1
mit
Parameter
a>1
–a–1
, x ≥ 1 heißt Pareto-verteilt.
a 2
ist E [ q ] = O  ------------ n 
und
a–1
2.2.2 Verteilungen mit nicht steigender Dichte
2
Für diese Verteilungen wurde die feste untere Schranke E [ q ] = Ω ( n ) bewiesen. Diese
Schranke ist scharf, man kann kein besseres Ergebnis dafür zeigen.
2.2.3 Allgemeine kontinuierliche Verteilungen
Es wird angenommen, dass die Nutzwerte nach beliebigen, möglicherweise verschiedenen
Wahrscheinlichkeitsverteilungen ausgewählt sind. Seien µ der maximale Nutzwert von
allen Elementen und φ die maximale Dichte, d.h. der maximale Wert einer Dichtefunktion,
4
5
die die Profitenverteilung beschreibt. Dann gilt E [ q ] = O ( µφn ) und E [ T ] = O ( µφn ) .
Das Ergebnis erlaubt den Einfluß des Zufälligkeitsgrades auf die Komplexität des Rucksack-Problems zu untersuchen. Normiert man die Profitenverteilungen, in dem man alle
1
Nutzwerte mit --- multipliziert, wird der maximale erwartete Profit gleich 1 sein. Die obere
µ
4
Schranke für der Anzahl der dominierenden Mengen ist in diesem Fall E [ q ] = O ( φn ) .
Nach dieser Normierung kann die maximale Dichte φ als Parameter für vorhandene Zufälligkeit gesehen werden. Für φ → ∞ strebt die Zufälligkeit in der Profitenbeschreibung
n
gegen null. In diesem Fall beträgt die geschätzte Anzahl der dominierenden Mengen 2 .
Dagegen, wenn φ von einem konstanten Term beschränkt ist, ist die geschätzte Anzahl der
dominierenden Mengen polynomiell von n.
Dieses Ergebnis erlaubt die Korrelation zwischen Gewichten und Profiten zu untersuchen.
Es wird davon ausgegangen, dass beides - Gewichte und Profite - von seinem Gegner aus
dem Intervall [0,1] gezogen werden. Aber die vom Gegner festgelegten Profite können mit
einer zufälligen Störung behaftet sein. Je nach Stärke der Störung hat der Gegner mehr oder
weniger Einfluss auf die Profitenauswahl. Die Komplexität von Rucksack-Problem wird
sich dadurch verändern. Wenn keine Störung vorhanden ist, können die Profite gleich mit
n
den Gewichten ausgewählt werden, so dass die Anzahl der dominierenden Mengen 2
wird. Bei starker Störung der Profite bekommt man nur polynomiell viele dominierende
Mengen. Je stärker die Störung, desto mehr nähert man sich dem zufälligen Fall an. Die
Profite werden nach der Gauß-Normalverteilung mit der Standartabweichung σ gestört,
dass heißt, es wird auf jeden Profit eine Zufallszahl draufaddiert, die nach der Gauß-Verteilung gezogen worden ist. Anschließend wird der Erwartungswert ausgerechnet. Die Standartabweichung σ gibt den Grad der Stärke der Störungen sowie die Auswirkung des
Zufalles auf 4 das Ergebnis an. Für solche gestörte Eingaben zeigt B.Vöcking, dass
n
4
E [ q ] = O  ----- + n  gilt.
σ

3 Zusammenfassung
Das 0/1 Rucksack Problem ist NP vollständig. Das heißt, es gibt keinen Algorithmus, der
das Problem in Polynomzeit löst, solange nicht P = NP ist. Sogar für randomisierten Algorithmen ist die worst-case Laufzeit exponentiell. Man beobachtet durch Experimente aber,
dass bei manchen zufällig erzeugten Eingaben kann das Problem sehr effizient gelöst werden. Aber es gab vorher keinen Beweis dafür.
R.Beier und B.Vöcking in [1] präsentieren die erste average-case Analyse des Problems
und den ersten formalen Beweis, dass 0/1 Rucksack in erwartet polynomieller Zeit gelöst
werden kann. Das theoretische Ergebnis gewinnt noch dadurch an Bedeutung, dass man
einen exakten Algorithmus von Nemhauser-Ullmann untersucht hat und keinen randomisierten. Zudem lassen R.Beier und B.Vöcking noch mehrere stochastischen Modelle zu.
Literaturverzeichnis
[1] Beier, R.; Vöcking, B.: Random Knapsack in Expected Polynomial Time,
(STOC’03),San Diege USA.
[2] Vöcking, B.: Randomized Algorithms & Probabilistic Analysis, Lecture notes, Universität Dortmund, 2002
13
14
Herunterladen