Kann der Weihnachtsmann fair und effizient sein?


8

Wie das immergrüne Netz The Physics of Santa feststellt, ist es für den Weihnachtsmann physisch unmöglich, jedem Kind auf dem Planeten ein Geschenk zu machen. Die Routenplanung wird nicht helfen , viel gibt, kann aber eine gute Planungsalgorithmus zumindest dafür sorgen , dass jedes Kind ein Geschenk hin und wieder bekommt , während Sankt auch dient so viele Kinder wie möglich jedes Jahr?


Betrachten Sie einen vollständigen Graphen mit realen, positiven Gewichten und einer Konstanten . Wir möchten eine Variante des Problems des reisenden Verkäufers lösen:k

Gibt es eine Kreisstrecke mit höchstens Länge , die mehr als Knoten bedient?km

Die Optimierungsversion wäre:

Maximieren Sie die Anzahl der Knoten, die mit einer kreisförmigen Länge von höchstens .k

Dies ist auf die realen Einschränkungen der Routen zurückzuführen: Der Weihnachtsmann hat eine Nacht Zeit, um so viele Geschenke wie möglich zu liefern, ein Verkäufer hat acht Stunden Zeit für die Route eines Tages und so weiter.

Die erste, aber nicht letzte Frage lautet: Wie schwer ist dieses Problem? Nehmen wir an, wir können an jedem Knoten beginnen, aber das sollte keinen großen Unterschied machen.

Um die Fairness zu modellieren, nehmen wir an, dass es Knoten gibt und wir höchstens bei jeder Tour besuchen können . Idealerweise möchten wir, dass jeder Knoten über effiziente Touren hinweg Mal besucht wird. Da es möglicherweise Engpassknoten gibt, die häufiger besucht werden müssen, um sicherzustellen, dass Routen viele Knoten besuchen, müssen einige zwangsläufig seltener besucht werden. Dies schließt auch die triviale Annäherung aus, einmal besuchte Knoten zu entfernen, bis alle besucht wurden.M t M.NM ttMNt

Hier ist also die letzte Frage. Sei die Anzahl der Touren, die benötigt werden, bis alle Knoten von effizienten Touren besucht wurden. Wie können wir den Minimalwert von (und alle erforderlichen Routen) algorithmisch bestimmen ? Wie komplex ist dieses Problem?T T.kT

Ich denke, dies ist wirklich ein multikriterielles Problem: Jede Tour sollte so viele Knoten wie möglich besuchen, während wir die Touren so unzusammenhängend wie möglich halten möchten.


2
Der echte Weihnachtsmann verwendet gute Magie, um NP-vollständige Probleme in -Zeit zu lösen . Wenn Sie eine schwierige 3DM-Instanz haben, die Sie bis Ende des Jahres lösen müssen, schreiben Sie ihm am Nordpol, und wenn Sie ein guter kleiner Forscher waren, kann er Ihnen die Antwort bis Weihnachten bringen. O(1)
Mark Dominus

Antworten:


5

Ich bin etwas verwirrt. Wenn eine Konstante ist, können Sie alle möglichen -Touren ausprobieren . Daher liegt das Problem in .O ( n k ) P.kO(nk)P

Wenn jedoch Teil der Eingabe ist, ist das Entscheidungsproblem -vollständig. Dies kann gezeigt werden, indem durch die folgende Reduzierung auf das Problem reduziert wird.N P HAM-CIRCUITkNPHAM-CIRCUIT

Angenommen, wir wollen bestimmen, ob ein Vertex-Graph eine Hamilton-Schaltung hat. Dann nehmen wir den vollständigen Graphen mit der folgenden Distanzfunktion Weiterhin wählen wir und .G K n w i j : = { 1 wenn  ( v i , v j ) ansonsten  eine Kante in  G 2 ist . k = n m = n - 1nGKn

wij:={1if (vi,vj) is an edge in G2otherwise.
k=nm=n1

Lassen Sie mich Ihnen sagen, warum dies eine Reduzierung ist. Wenn eine Hamilton-Schaltung hat, gibt es eine Tour in mit der Länge . Mit anderen Worten eine Kreisroute der Länge , die Knoten bedient. Wenn es andererseits eine Santa-Tour gibt, die Knoten besucht, müssen alle Knoten besucht werden. Da die Sankt-tour nur Länge haben können und jeder Kantenlänge mindestens 1 ist , sind alle Kanten in dieser Tour Länge haben 1. Daher ist diese Tour entspricht einer Hamiltonschen Kreis in .K n n n > ( n - 1 ) > ( n - 1 ) n n G.GKnnn>(n1)>(n1)nnG


Dies gilt für das Finden einer Tour mit vielen Knoten, aber erschwert das zusätzliche, konkurrierende Ziel, alle Knoten mit wenigen Touren zu besuchen, die Dinge nicht?
Raphael
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.