Approximation Algorithms for the k-median problem Ζακυνθινού Λυδία Παυλάκος Γεώργιος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Θεωρία Υπολογισμού 2011-2012
Το πρόβλημα k-median Έστω n σημεία σε έναν μετρικό χώρο
Το πρόβλημα k-median Έστω n σημεία σε έναν μετρικό χώρο
Το πρόβλημα k-median Έστω n σημεία σε έναν μετρικό χώρο Αναζητούμε k σημεία (medians) για τα οποία το άθροισμα των αποστάσεων των υπολοίπων σημείων από το κοντινότερό τους median να ελαχιστοποιείται.
Το πρόβλημα k-median Έστω n σημεία σε έναν μετρικό χώρο Αναζητούμε k σημεία (medians) για τα οποία το άθροισμα των αποστάσεων των υπολοίπων σημείων από το κοντινότερό τους median να ελαχιστοποιείται.
Αλγόριθμος Local Search Αναζητούμε ένα σημείο που δεν είναι median
Αλγόριθμος Local Search Και κάνουμε διστακτικά την αλλαγή!
Αλγόριθμος Local Search Τελικά η αλλαγή πραγματοποιείται, μόνο αν το κόστος της νέας λύσης είναι μικρότερο από αυτό της προηγούμενης
Αλγόριθμος Local Search Τελικά η αλλαγή πραγματοποιείται, μόνο αν το κόστος της νέας λύσης είναι μικρότερο από αυτό της προηγούμενης Αν δεν υπάρχει αλλαγή που να βελτιώνει τη λύση μας, σταματάμε
Αλγόριθμος Local Search
Θεώρημα Ο αλγόριθμος Local Search που περιγράψαμε προηγουμένως, δίνει μια εφικτή λύση S, με κόστος το πολύ 5 φορές μεγαλύτερο της βέλτιστης.
Τοπικά Βέλτιστη λύση
Συνολικά Βέλτιστη λύση
Crucial Swaps Θα κάνουμε k κρίσιμες ανταλλαγές (crucial swaps) σε κάθε μία από τις οποίες θα βάζουμε στη λύση S ένα σημείο i* της βέλτιστης S* και θα βγάζουμε ένα i που ανήκει στο S. Εφόσον η S είναι τοπικά βέλτιστη, κάθε ένα από αυτά τα k swaps δεν θα ελαττώνει το κόστος C. Ποια θα είναι τα κρίσιμα swaps?
Κατηγοριοποίηση facilities ώστε με, μοναδικό, κανένα, τουλάχιστον δύο. με
Mapping (1) Για τα στοιχεία του Ο* έχουμε ένα προς ένα αντιστοιχία με αυτά του Ο. Κάνουμε τα αντίστοιχα swaps. Αντιστοιχίζουμε τα στοιχεία του R* με αυτά του Z, έτσι ώστε κάθε στοιχείο του R* να εμφανίζεται σε ακριβώς ένα swap, και τα στοιχεία του Ζ το πολύ σε 2.
Mapping (2) Κάθε στοιχείο του Τ αντιστοιχίζεται μέσω της σ σε τουλάχιστον δύο στοιχεία του R*, άρα R* / 2 R* * Z T Z R* / 2
Swap Θεωρούμε ένα από τα swaps που μόλις περιγράψαμε, μεταξύ του i* S * και του i Πλέον S' ( S { i}) { i*} Για κάθε location j με αναθέτουμε το j στο i* Για κάθε location j με *( j) i αλλά ( j) i, αναθέτουμε το j στο ( *( j)) S *( j) i* *
Swap Θεωρούμε ένα από τα swaps που μόλις περιγράψαμε, μεταξύ του i* S * και του i Πλέον S' ( S { i}) { i*} Για κάθε location j με αναθέτουμε το j στο i* Για κάθε location j με *( j) i αλλά ( j) i, αναθέτουμε το j στο ( *( j)) S *( j) i* *
Swap Θεωρούμε ένα από τα swaps που μόλις περιγράψαμε, μεταξύ του i* S * και του i Πλέον S' ( S { i}) { i*} Για κάθε location j με αναθέτουμε το j στο i* Για κάθε location j με *( j) i αλλά ( j) i, αναθέτουμε το j στο ( *( j)) S *( j) i* *
Swap Θεωρούμε ένα από τα swaps που μόλις περιγράψαμε, μεταξύ του i* S * και του i Πλέον S' ( S { i}) { i*} Για κάθε location j με αναθέτουμε το j στο i* Για κάθε location j με *( j) i αλλά ( j) i, αναθέτουμε το j στο ( *( j)) S *( j) i* *
Swap Θεωρούμε ένα από τα swaps που μόλις περιγράψαμε, μεταξύ του i* S * και του i Πλέον S' ( S { i}) { i*} Για κάθε location j με αναθέτουμε το j στο i* Για κάθε location j με *( j) i αλλά ( j) i, αναθέτουμε το j στο ( *( j)) S *( j) i* *
Swap Θεωρούμε ένα από τα swaps που μόλις περιγράψαμε, μεταξύ του i* S * και του i Πλέον S' ( S { i}) { i*} Για κάθε location j με αναθέτουμε το j στο i* Για κάθε location j με *( j) i αλλά ( j) i, αναθέτουμε το j στο ( *( j)) S *( j) i* *
Μεταβολή Κόστους Η αλλαγή του κόστους μετά το swap ισούται με Με την νέα ανάθεση Από τριγωνική ανισότητα Τελικά
Μεταβολή Κόστους Η αλλαγή του κόστους μετά το swap ισούται με Με την νέα ανάθεση Από τριγωνική ανισότητα Τελικά
Μεταβολή Κόστους Έχουμε υπολογίσει λοιπόν ένα άνω φράγμα ως προς τη μεταβολή του κόστους Έτσι αθροίζουμε τις παραπάνω ανισότητες και για τα k crucial swaps. Για τον πρώτο όρο εύκολα βλέπουμε ότι και
Μεταβολή Κόστους Για το δεύτερο όρο έχουμε ως άνω φράγμα Κάθε i S εμφανίζεται σε 0, 1 ή 2 crucial swaps. Συμβολίζουμε αυτές τις εμφανίσεις με n i Αθροίζοντας για τα k crucial swaps, έχουμε Ο τελευταίος όρος όμως ισούται με 4C*!
Τελική Σχέση Τελικά λοιπόν οδηγούμαστε στη σχέση 0 C* C 4C C 5C* που είναι και η ζητούμενη!
Καλύτερα Αποτελέσματα Μέχρι τώρα επιτρέπαμε single swaps Μπορούμε όμως να κάνουμε κάποια swaps με περισσότερα από ένα σημεία. Έχει αποδειχθεί ότι αν επιτρέπουμε να γίνονται swaps που να περιλαμβάνουν μέχρι και p σημεία, τότε το locality gap είναι ακριβώς 3 2 p
Το πρόβλημα k-median από τη σκοπιά του Facility Location Δεδομένα: Διμερές γράφημα G με διαμέριση (F, C) όπου F το σύνολο των εγκαταστάσεων και C το σύνολο των πόλεων k > 0 ο αριθμός των εγκαταστάσεων που μπορούν να ανοίξουν c ij το κόστος σύνδεσης της πόλης j με την εγκατάσταση i (τα κόστη ικανοποιούν την τριγωνική ανισότητα) Ζητούμενο: Σύνολο I F, I k εγκαταστάσεων που πρέπει να ανοίξουν Συνάρτηση φ: C I που θα συνδέει κάθε πόλη σε ανοιχτή εγκατάσταση ώστε το συνολικό κόστος σύνδεσης να ελαχιστοποιείται
Facility Location LP minimize s.t. i F,j C c ij x ij + i F f i y i i F x ij 1 j C y i x ij 0 x ij 0 y i 0 i F, j C i F, j C i F Πρωτεύον x ij : 1 ανν η πόλη j είναι συνδεδεμένη με το κέντρο i y i : 1 ανν η εγκατάσταση i είναι ανοικτή maximize j C a j s.t. a j β ij c ij i F, j C j C β ij f i i F α j 0 i F β ij 0 i F, j C Δυϊκό a j : το συνολικό κόστος που πληρώνει η πόλη j β ij : η συνεισφορά της πόλης j στο άνοιγμα της εγκατάστασης i 3-approximation Primal-Dual algorithm O mlogm i F,j C c ij x ij + 3 f i y i i F 3 j C a j
The high-level idea Από ένα στιγμιότυπο του Facility Location, θα μεταβούμε σε ένα στιγμιότυπο του k-median Αναθέτουμε το ίδιο κόστος ανοίγματος i F, f i = z για κάθε εγκατάσταση Από το Θ.Δυϊκότητας για τη βέλτιστη λύση του Facility Location, έχουμε c ij x ij + zy i = a j i F,j C i F j C Αν με το κόστος z ανοίγαμε ακριβώς k εγκαταστάσεις (κλασματικά) τότε η λύση θα ήταν για το k-median εφικτή αλλά και βέλτιστη αφού i F,j C c ij x ij = j C a j z i F y i = j C a j zk Εφαρμόζοντας τον 3-προσεγγιστικό αλγόριθμο που ξέρουμε για το Facility Location και αν αυτός άνοιγε ακριβώς k εγκαταστάσεις, θα είχαμε μία 3-προσεγγιστική λύση για το k-median Αλλά! Δεν είναι γνωστός κάποιος τρόπος να βρούμε το κατάλληλο z που αντιστοιχεί σε k εγκαταστάσεις
Εναλλακτική: Κυρτός συνδυασμός Μπορούμε να βρούμε 2 τιμές z 1, z 2 «επαρκώς κοντά» με δυαδική αναζήτηση στο διάστημα [0,nc max ]: Ανοίγονται k 1 < k < k 2 εγκαταστάσεις, για z 1, z 2 αντίστοιχα. Φραγμένη διαφορά z 1 z 2 c min 12n2 c Έστω x s, y s, (x l, y l ) οι λύσεις του πρωτεύοντος όταν ανοίγονται k 1, k 2 εγκαταστάσεις και a s, β s, (a l, β l ) οι αντίστοιχες του δυϊκού. Κατασκευή λύσης x, y = a x s, y s + b x l, y l, με ak 1 + bk 2 = k και a + b = 1 (κυρτότητα) Αρα α = k 2 k k 2 k 1, b = k k 1 k 2 k 1 x, y : κυρτός συνδυασμός εφικτών λύσεων F.L. εφικτή λύση Ανοίγονται ακριβώς k εγκαταστάσεις εφικτή λύση k-median
Κόστος Κυρτού Συνδυασμού Λήμμα: cost x, y 3 + 1 n c cost(optfractional) Απόδειξη: Από το λόγο προσέγγισης του Facility Location IP έχουμε: και l i F,j C c ij x ij 3( a l j C j z 2 k 2 ) [1] c ij x ij s i F,j C 3( a j s z 1 k 1 j C ) [2] Αφού z 1 < z 2, το (α l, β l ) είναι εφικτή λύση για το δυϊκό πρόβλημα. Χρησιμοποιώντας τα: z 1 z 2 c min 12n c 2 l i F,j C c ij x ij Προκύπτει ότι c min i F,j C l c ij x ij Από το γραμμικό συνδυασμό a 1 + b 3 3 + 1 n c a j l z 1 k 2 j C 3 i F,j C c ij x ij 3 + 1 n j C a j z 1 k c όπου α = aα s + ba l. Για β = aβ s + bβ l παρατηρούμε ότι το (α, β, z 1 ) είναι εφικτή λύση του k-median
Randomized Rounding: Εύρεση ακέραιας λύσης Άνοιγμα Εγκαταστάσεων: Έστω Α, Β τα σύνολα εγκαταστάσεων που ανοίγει η κάθε λύση: Α = k 1, B = k 2. B B το σύνολο που περιέχει τα στοιχεία του B που αποτελούν για τα στοιχεία του Α τις κοντινότερες εγκαταστάσεις, Β = k 1 (αν είναι μικρότερο, προσθέτουμε τυχαία k 1 B στοιχεία) A ανοίγει με πιθανότητα α, Β ανοίγει με πιθανότητα b = 1 α. Καλύπτονται k 1 εγκαταστάσεις. Από το Β Β ανοίγονται τυχαία k k 1 εγκαταστάσεις. Αρα, κάθε εγκατάσταση έχει πιθανότητα να ανοίξει I εγκαταστάσεις I = k. k k 1 k 2 k 1 = b.
Randomized Rounding: Επιβάρυνση στο λόγο προσέγγισης Λήμμα: Για το αναμενόμενο κόστος σύνδεσης κάθε πόλης j στην ακέραια λύση ισχύει Ε c φ j j 1 + max a, b cost(j) Όπου cost j = ac i1 j + bc i2 j το κόστος της κλασματικής λύσης Επιπλέον, το Ε c φ j j υπολογίζεται αποδοτικά.
Randomized Rounding: Επιβάρυνση στο λόγο προσέγγισης Απόδειξη: Αν i 2 B Η j συνδέεται σε όποια είναι ανοιχτή από τις i 1, i 2. Άρα Ε c φ j j =ac i1 j + bc i2 j = cost(j) Αν i 2 B B A B Αν i 2 ανοιχτή Τη συνδέω με τη i 2 (πιθανότητα b) Αν i 2 κλειστή 1 3 B Αν i 1 ανοιχτή Τη συνδέω με τη i 1 ( πιθανότητα 1 b a = a 2 ) Αν i 1 κλειστή Τη συνδέω με τη i 3 ( πιθανότητα 1 b b = ab ) j 2 B B Άρα Ε c φ j j =bc i2 j + a 2 c i1 j +abc i3 j Με χρήση της τριγωνικής ανισότητας και ιδιοτήτων πιθανοτήτων καταλήγουμε στο λήμμα.
Randomized Rounding: Επιβάρυνση στο λόγο προσέγγισης Πόρισμα: Αν x k, y k η ακέραια λύση που προκύπτει από το randomized rounding, έχουμε την εξής σχέση μεταξύ του αναμενόμενου κόστους αυτής και του κόστους της κλασματικής λύσης: 1 + max a, b c ij x ij i F,j C i F,j C που προκύπτει από το λήμμα λόγω γραμμικότητας. k Το Ε i F,j C c ij x ij υπολογίζεται επίσης αποδοτικά. Ε c ij x ij k
Derandomization Φάση 1: Επιλέγω ανάμεσα στα Α, Β να ανοίξω όλες τις εγκαταστάσεις του συνόλου που έχει το ελάχιστο αναμενόμενο κόστος για τυχαία συμπληρωματικά στοιχεία D = k k 1, με D B B Φάση 2: Έχοντας ανοίξει ήδη k 1 εγκαταστάσεις, πρέπει να επιλέξουμε το σύνολο D = k k 1, με D B B. Έστω D k k 1 οι ήδη επιλεγμένες. Η επόμενη εγκατάσταση που θα ανοίξει είναι αυτή που προσδίδει το ελάχιστο αναμενόμενο κόστος. Το κάθε στοιχείο επιλέγεται ισοπίθανα άρα ισχύει: E[D, B B 1 D) = B B E[D {i}, B B D {i}) D i B B D To i που ελαχιστοποιεί το αναμενόμενο κόστος υπάρχει αφού πρέπει να υπάρχει i τέτοιο ώστε E[D {i}, B B D {i}) E[D, B B D)
Ταχύτητα και Λόγος Προσέγγισης Ο αλγόριθμος είναι 6-προσεγγιστικός 3 + 1 n c η προσέγγιση που δίνει ο αλγόριθμος του facility location 1 + max (a, b) η κλιμάκωση του κόστους ύστερα από την τυχαία στογγυλοποίηση Το άνω φράγμα για το max (a, b) είναι 1 1 n c Συνολικά, ο συντελεστής προσέγγισης είναι: 3 + 1 n c 2 1 n c < 6 Ο χρόνος εκτέλεσης είναι της τάξης του Ο(mlogm(L + logn)) O mlogm για τον αγλόριθμο του facility location O log 2 (n 3 c max /c min ) = O(L + logn) για τη δυαδική αναζήτηση των k 1, k 2 Η τυχαία στρογγυλοποίηση χρειάζεται Ο n To derandomization χρειάζεται Ο(m )
Tight Example Δεν υπάρχει γνωστό παράδειγμα στο οποίο ο αλγόριθμος να δίνει λύση ίση με 6 OPT για το πρόβλημα. Το άνω φράγμα όμως για την επιβάρυνση που προσδίδει το randomized rounding είναι tight, όπως φαίνεται παρακάτω: Κόστος κυρτού συνδυασμού: αn + bεn ε 0 an Αναμενόμενο κόστος: n bε + a 2 + ab 2 + ε ε 0 na 1 + b = na(1 + max (a, b))
Integrality Gap Από τον αλγόριθμο προκύπτει ένα άνω φράγμα για το integrality gap 6 Υπάρχει καλύτερο φράγμα 2 όπως φαίνεται παρακάτω: n + 1 κορυφές k = n 2 C όλες οι κορυφές εκτός της κεντρικής F: όλες οι κορυφές 2 1 1 1 Ακέραια λύση: OPT=2 n Κλασματική λύση: n 1 Λόγος: 2 n 1 n
Lagrangian Relaxation Technique Τεχνική: Χαλαρώνουμε έναν περιορισμό, μεταφέροντάς τον στην αντικειμενική συνάρτηση πολλαπλασιασμένο με μία σταθερά λ. Αν μία λύση ανοίγει παραπάνω από k εγκαταστάσεις, «πληρώνει» για κάθε μία από αυτές ποινή λ άρα υστερεί από τις υπόλοιπες λύσεις. minimize s.t. i F,j C c ij x ij + λ( i F y i k) i F x ij 1 j C y i x ij 0 x ij {0,1} y i {0,1} i F, j C i F, j C i F Όμοιο με το IP του Facility Location για σταθερό κόστος λ με μία επιπλέον σταθερά στην αντικειμενική συνάρτηση. Μία βέλτιστη λύση για το Facility Location που ανοίγει k εγκαταστάσεις είναι μία εφικτή λύση για το παραπάνω IP με ίδιο κόστος άρα η βέλτιστη λύση του δεύτερου αποτελεί κάτω φράγμα για το πρώτο.
Άλλα αποτελέσματα 4-approximation: Charikar & Guha 1999 (με την ίδια τεχνική) Δεν υπάρχει a-προσεγγιστικός αλγόριθμος για το k-median πρόβλημα με a < 1 + 2 = 1.736, εκτός e αν κάθε πρόβλημα στο NP έχει αλγόριθμο χρόνου O(n O loglogn )