Aufgabe:
Wie kommt man auf die Obergrenze (log2(n) + 1) * Optimale Länge im Metrischen Traveling Salesperson Problem?
Mit c(x,y) für die Kantenlänge lautet die Dreiecksungleichung:
c(u,v)<=c(u,w)+c(w,v)
Problem/Ansatz:
Wird vj zwischen den Knoten y und z in einem Kreis / einer Tour eingefügt, dann gilt:
cost(vj)=c(y,vj)+c(vj,z)−c(y,z)
Für vi,vj gilt:
min(cost(vi),cost(vj))<=2∗cost(vi,vj)
-> wie kann ich das hier verstehen? Der nächste Knoten, der die niedrigsten Kosten hinsichtlich Kantenlänge verursacht wird ausgewählt und das ist kleiner als die doppelte Kantenlänge von dem gewählten Knoten zu irgendeinen beliebigen anderen Knoten?
Sei R∗=(w1,w2,...,wn,w1) die optimale Tour und R=(wi1,wi2,...,wik,wi1) ein Kreis aus k Knoten mit ij<ij+1. R ist an R* angelehnt. Wegen der Dreiecksungleichung gilt c(R)<=c(R∗)=OPT (optimale Länge)
-> Was bedeutet R ist an R* angelehnt? Ich nehme an R hat einfach nur weniger Knoten als R*, aber die gleiche Abfolge?
-> Und da ein Umweg über mehr Knoten immer länger ist, muss R < R* sein, außer wenn k = n, dann R = R*?
Dann gibt es eine Menge Z⊂(wi1,...,wik) mit ∣Z∣=floor(k/2)(also abrunden) und
cost(Z)<=OPT
-> Also gibt es hier eine Menge Z die eine Telmenge von R ist, genauer die Hälfte der Elemente, welche kleiner als die optimale Länge ist
-> ich nehme an, hier wird angenommen, dass Z nicht die gleiche Abfolge wie R hat ? bzw. wie kann man cost(Z) berechnen, wenn die Abfolge noch nicht fest ist
R wird in zwei Mengen geteilt M1=((wi1,wi2),...)
und
M2=((wi2,wi3),...), wobei beide floor(k/2) Elemente haben -> haben wir hier jetzt eine Menge von willkürlichen Kanten statt Knoten??
Sei M diejenige für die gilt:c(M)<=1/2∗c(R)<=1/2∗c(R∗)
-> wie werden denn hier jetzt die Kanten gebildet? einfach alle aufsummiert ? könnten hier nicht Kombinationen auftauchen, die größer R sind?
Sei Z die Menge der Knoten, die je Kante von M den kleineren Cost-Wert haben, d.h.
billigst(u,v)=u,fallscost(u)<=cost(v),sonstv
ist Z=(billigst(wij,wij−1)∣(wij,wij+1)∈M)
-> ?? warum wij−1undwij+1
-> ich verstehe hier nicht, wie ein Knoten ausgewählt wird
cost(Z)=∑min(cost(wij,wij+1)<=∑2∗c(wij,wij−1)
cost(Z)=2∗c(M)<=2∗1/2∗c(R)<=OPT
-> Kanten in M werden iteriert und einer der Knoten gewählt und das ist kleiner als die doppelte Kantenlänge zwischen welchen Knoten??
Mit R1=R∗, und Z1 wird bestimmt und das für alle Rl+1=Rl−Zl für l>=1 und jedes Rl ist an R* angelehnt
∣Rl∣<=n/(2l−1), also ist nach log(n)+1 Wiederholungen UZl=v1,..,vn
und ∑cost(Zl)<=(log(n)+1)∗OPT
-> UZl steht für die Vereinigung der ganzen Mengen
-> kann ich nicht nachvollziehen, wie groß ist überhaupt ein R1 usw?