Ausarbeitung

Werbung
Online Algorithmen
Proseminar von
Prof. Dr. Rolf Klein, Dr. Elmar Langetepe,
Diplom Inform. Thomas Kamphans
im Wintersemester 00/01
Vortrag Das Brückenproblem
von Rainer Montignies
10 Januar 2001
Inhalt des Vortrags:
1. Vorstellung des Problems
2. Diskretisierung jeder Strategie
3. Nicht jede Strategie ist kompetitiv
4. Die Verdopplungsstrategie ist 9-kompetitiv
5. Der Faktor 9 ist optimal
1.Vorstellung des Problems:
Wir stehen in absoluter Dunkelheit an einem Fluß und wollen diesen an einer
Brücke überqueren, wir wissen jedoch nicht, wo sich die nächste Brücke befindet und da es absolut dunkel ist können wir auch nicht sehen, wo sich die
nächste Brücke befindet. Gesucht ist eine Strategie, die die nächste Brücke
am schnellsten bzw. mit dem geringsten Umweg findet. Angewendet werden
solche Strategien in der Robotik, wo zum Beispiel ein Roboter mit einem
Tastsensor vor einer Wand steht und die nächste Tür sucht.
2. Diskretisierung jeder Strategie:
1. „Raten“:
Der Roboter sucht sich eine Richtung aus und läuft dann immer in diese
Richtung. Hat er die richtige Richtung gewählt, löst er das Problem, sonst
nicht. Da wir an Strategien interessiert sind, die immer funktionieren, ist
diese Strategie ungeeignet.
2. Strategie mit Richtungswechsel:
Der Roboter geht vom seinem Startpunkt aus einen Meter nach rechts
kehrt zu seinem Startpunkt zurück und geht zwei Meter nach links und
kehrt wieder zu seinem Startpunkt zurück, usw. Nach jedem
Richtungswechsel wird die Suchtiefe um eine Einheit erhöht. Der
Roboter stoppt, sobald er die Tür erreicht hat.
3. Verdopplungsstrategie:
Die Verdopplungsstrategie funktioniert wie die zweite Strategie, nur
mit dem Unterschied, dass die Suchtiefe nach jedem Richtungswechsel
doppelt wird. Diese Strategie ist effizienter als die ersten beiden
Strategie, da das Ziel schneller erreicht wird.
3. Nicht jede Strategie ist kompetitv:
Ich führe den Beweis am Beispiel der zweiten Strategie.
Wir gehen vom schlimmsten Fall aus: der Roboter verfehlt die
Tür knapp.
l = ganze Zahl; aktuelle Suchtiefe
ε>0 ; Länge, um die Tür verfehlt wird
d = l + ε ; Entfernung vom Startpunkt zur Tür
Der Roboter läuft l Meter nach rechts, verfehlt die Tür knapp , kehrt zum
Startpunkt zurück und erreicht beim übernächsten Versuch nach l + ε
Metern die Tür.
Wir betrachten nun die Weglänge:
1 + 1 + 2 + 2 + ... + l + l + (l +1) + (l +1 ) + l + ε
l +1
= 2
∑i
+l+ε
i =1
= 2 (l + 1) ( l + 1 + 1) /2 + l + ε
= (l + 1) (l + 2) + l + ε
∈ θ (d ²)
⇒ die Strategie ist nicht kompetitiv
Beispiel:
Der Startpunkt ist 100m von der Tür entfernt. Der Algorithmus benötigt
10 km.
4. Die Verdopplungsstrategie ist 9 – kompetitiv
Wir gehen hier wieder den schlimmsten Fall aus:
der Roboter verfehlt die Tür knapp.
Die Entfernung zur Tür ist 2²j+ε.
Wir betrachten nun wieder die Weglänge:
1+1+2+2+...+22j+22j+22j+1+22j+1+22j+ε
2 j +1
=2
∑2
i
+ 22j +ε
i= 0
= 2((1-22j+1)/(1-2))+ 22j+ε
= 2(22j-1-1)+ 22j +ε
= 9⋅22j –2 + ε
< 9d
Spezialfall: d= ε≤2
Weg des Roboters:
1+1+ ε < 9ε+2= 9d+2
q.e.d.
1. Der Faktor 9 ist optimal:
Beh.: Jede kompetitive Strategie zum Auffinden eines Punktes auf einer
Geraden hat einen Faktor ≥9.
S kompetitive Strategie mit Richtungswechsel
fi Folge von Erkundungsweiten
s Startpunkt
S kompetitiv
⇒2
n +1
∑f
+f i +ε ≤C (fn +ε )
i
i =1
Annahme: ε =0
⇔2
⇔2
⇔2
n +1
∑f
∑f
+fn
i
+fn +2 fn +2fn+1≤C fn
i =1
n −1
∑f
i =1
≤C fn
i
i =1
n −1
i
+2fn+1≤C fn+3 fn
n −1
⇔ 2 ∑ fi +2fn+1 ≤ fn(C-3)
i =1
n −1
n −1
i =1
i =1
⇔ fn+1≤ fn(C-3)/2+ ∑ fi = fnH- ∑ fi mit H=(C-3)/2
n −1
In die Gleichung fn+1≤ fnH- ∑ fi setzen wir die ebenfalls gültige
i =1
n− 2
Gleichung fn≤fn-1H- ∑ fi ein:
i =1
n− 2
fn+1 ≤ ( fn-1H- ∑ fi )H i =1
n −1
∑f
n− 2
n −1
i =1
i =1
i
i =1
= H² fn-1-H ∑ fi - ∑ fi – fn-1
n− 2
∑f
= ( H² -1)fn-1 +(H+1)
i
i =1
Dieser Ersetzungsvorgang lässt sich iterieren:
Zahlenfolgen: (an) (b n)
a0=H
b0=1
ai+1=aiH-b
bi+1=ai+bi
Beh.: Für alle n≥1 und für alle 0≤m≤n-1 gilt:
fn+1≤amfn-m-bm
n −1− m
∑f
i =1
Beweis:
n fest
Induktion über m
Induktionsanfang: m=0
n −1
fn+1≤a0fn-b0 ∑ fi
i =1
n −1
=Hfn- ∑ fi
i =1
i
Induktionsschritt: m→m+1
fn+1 ≤ amHfn-m-1-am
n −m −2
∑
n −1− m
f i -b m
i =1
∑f
n −m −2
= amHfn-m-1- am
i
i =1
∑
n −m −2
f i -b m
i =1
∑f
i
– bmfn-1-m
i =1
n −m −2
= (amH– bm) fn-1-m-(am+bm)
∑f
i
i =1
n −1 −m −1
= am+1fn-m-1-bm+1
∑f
i
i =1
Lemma 1: Die Zahlen ai sind positiv.
Beweis:
Sei i≥0 beliebig.
Annahme: ai≤0
Dann folgt für m=i und n=i+1:
fi+2≤aif1- bi ⋅0≤0
Widerspruch, da die Erkundungstiefen positiv sind.
Lemma 2:
Sei H ≠3, dann gilt für die Zahlen ai und bi , für alle i≥0 die Darstellung:
ai= v z i+ v z i
bi= v ( z − 1 ) z i+ v ( z − 1 ) z i
mit v =( H z - H − 1 )/ z - z )
und v =( H z - H − 1 )/( z - z )
Zunächst eine kurze Wiederholung:
a b 
 = ad-bc
c d 
det 
χ(t)=det(tE-M) Charakteristische Polynom
Eigenwerte sind die Nullstellen des Charakteristischen Polynoms
Eigenvektor : MV=zV
Beweis:
Zunächst schreibe ich die rekursiv definierten Zahlenfolgen an und b n als
Iterierte Matrizenmultiplikation hin.
 ai +1 

 =
 bi +1 
i +1
 H − 1  ai 
 H − 1  a0 

   = ...= 
  
1 1   bi 
1 1   b0 
Jetzt stellen wir die Anfangswerte a0 und b0 als Linearkombination von zwei
Eigenvektoren V1 und V2 der Multiplikationsmatrix M dar.
 H − 1
M = 

1 1 
a 
Wenn  0  = v1 V1 + v2 V2 gilt und z1 und z2 die Eigenwerte der Eigenvektoren
b

0

V1 V2 von M.
⇒ MVj=zjVj und MiVj=zij Vj für j=1,2 so folgt
 ai 
a 
  = Mi  0  = Mi(v1V1+v2V2)= v1 Mi V1+ v2 Mi V2= v1 zi V1+ v2 zi V2
 bi 
 b0 
Die geschlossene Darstellung ergibt sich durch den Vergleich der Vektorkoordinaten. M hat das Charakteristische Polynom
t − H 1 
2
 = t -(H+1)t+H+1
t −1
 −1
det(tE-M) = 
Die Eigenwerte sind die Nullstellen der Charakteristischen Polynoms.
z , z = 0,5(H+1± ( H + 1)( H − 3)
Durch das Lösen eines linearen Gleichungssystems ergeben sich die
zugehörenden Eigenvektoren.
1 

V = 

 z −1
1

und V = 

 z −1
 a0 
H
  =  
 b0 
1 
=
Hz − H − 1
z−z
1 


 z −1


+
H z − H −1
z−z
1 


 z −1
= vV + vV
Die Behauptung folgt durch Einsetzen sofort.
Beh.: Der Faktor 9 ist optimal
Beweis:
Annahme: C<9
⇒ H<3
⇒ nach Lemma 2 ist die Zahl a komplex
⇒an=vzn+ vzn=2Re(vz)
Wir stellen uns die komplexe Zahl W=c+di als Ortsvektor 0w des Punktes
w=(c,d) im R2 vor. Nun betrachten wir die komplexe Multiplikation
geometrisch: die Winkel der positiven Achse addieren sich, die Längen
werden multipliziert. Am leichtesten sieht man das an der Darstellung der
Polarkoordinaten..
v=r cos φ+irsinφ
z=s cosϕ+idsinϕ
mit r,s>0
vz
=rs(cosφcosφ-sinϕsinϕ)+irs(cosφsinϕ-sinφcosϕ)
=rs cos(ϕ+φ)+irs sin(φ+ϕ)
z hat einen Winkel ϕ>0, weil sie nicht reell ist. Bei jeder Mutliplikation
mit z wird der Winkel vzn um ϕ größer. Hieraus folgt, dass vzn in der
linken Halbebene liegt. an=2Re(vz) <0 Dies widerspricht Lemma 1.
⇒ C>9
Herunterladen