Maximal Indpndnt St
Quick Rviw Μας δίνεται γράφος. Στους κόμβους του βρίσκονται ακίνητοι επεξεργαστές οι οποίοι επικοινωνούν σύγχρονα μέσω των ακμών. Οι επεξεργαστές προσπαθούν να λύσουν ένα πρόβλημα ανταλλάζοντας μηνύματα. Οι επεξεργαστές δε γνωρίζουν την τοπολογία όλου του γράφου. Στο τέλος κάθε ένας γνωρίζει το μέρος του αποτελέσματος που τον αφορά όχι ολόκληρη τη λύση.
Ορισμοί GE μη κατευθυνόμενος γράφος Ι είναι indpndnt st αν δεν υπάρχουν ακμές του G με τα δύο άκρα να ανήκουν στο Ι. Ένα indpndnt st λέγεται maximal όταν δεν μπορεί να προστεθεί σε αυτό κανένας κόμβος. Ένα indpndnt st I λέγεται maximum όταν για κάθε indpndnt st I του G ισχύει ότι Ι Ι. Επίσης ορίζουμε για κάθε κορυφή v Γv να είναι οι γείτονες του v και dv = Γv.
Maximum vs Maximal I.S. Το πρόβλημα Maximum Indpndnt St σειριακά είναι NP-hard. Αντιθέτως το πρόβλημα Maximal Indpndnt St λύνεται πολυωνυμικά: 1. Ι = 0/ 2. for v=1 to n do if I Γv = thn I = I {v} 0/
Παραλληλοποίηση Ο προηγούμενος αλγόριθμος βρίσκει ένα lxicoraphically first MIS maximal indpndnt st. Το πρόβλημα LFMIS δεν παραλληλοποιείται εύκολα δεν υπάρχει NC ή RNC αλγόριθμος που να το λύνει εκτός αν P = NC ή P = RNC αντίστοιχα. Παρόλα αυτά υπάρχει NC αλγόριθμος που να βρίσκει ένα MIS όχι απαραίτητα lxicoraphically first.
Η εργασία του Luy A Simpl Paralll Alorithm for th Maximal Indpndnt St Prolm SIAM Journal of Computin 1986. Παρουσιάζει έναν RNC αλγόριθμο που βρίσκει ένα MIS σε ένα EREW P-RAM. Μετά με drandomization βρίσκει τελικά έναν NC αλγόριθμο.
Κατανεμημένη μορφή Εκμεταλλευόμαστε το local proprty του αλγορίθμου του Luy. Προκύπτει έτσι κατανεμημένος αλγόριθμος έτσι ώστε μετά το πέρας του κάθε επεξεργαστής να γνωρίζει αν ανήκει ή όχι στο MIS maximal indpndnt st.
Περιγραφή του Αλγορίθμου 0/ Στην αρχή Ι = Σε κάθε επανάληψη κάθε επεξεργαστής μαρκάρεται με πιθανότητα 1/2dv. Ενημερώνει τους γείτονές του Αν δύο γείτονες έχουν μαρκαριστεί ξεμαρκάρεται αυτός με το μικρότερο βαθμό Οι μαρκαρισμένοι επεξεργαστές προστίθενται στο I. Αυτοί και οι γείτονές τους «αποχωρούν» Η διαδικασία συνεχίζεται μέχρι να εξαντληθεί ο γράφος.
Χρονική Πολυπλοκότητα Διαισθητικά φαίνεται εύκολα πως On επαναλήψεις αρκούν για να τερματίσει ο αλγόριθμος με πιθανότητα 1. Άλλωστε αν X τ.μ. που δείχνει το πλήθος των κόμβων που αφαιρέθηκαν σε μια επανάληψη E[X] > ½. Άρα αν T τ.μ. που δείχνει το πλήθος των επαναλήψεων E[T] < 2n???
Ένα χρήσιμο Θεώρημα Έστω πως ξεκινάμε με μία σταθερή ποσότητα m. Σε κάθε βήμα αφαιρείται από την ποσότητα μία τ.μ. X. Γνωρίζουμε ότι E[X]>m για κάποια αύξουσα συνάρτηση. Σταματάμε όταν εξαντληθεί η αρχική ποσότητα. Αν T τ.μ. για το πλήθος των βημάτων τότε E[T]< n da 1 a
Χρονική πολυπλοκότητα Με εφαρμογή του προηγούμενου έχουμε όντως ότι E[T]<2n Θα θέλαμε όμως πολύ-λογαριθμικό χρόνο. Η εξέταση των αφαιρούμενων ακμών δίνει καλύτερη ανάλυση Θα δείξουμε ότι σε κάθε επανάληψη αν X τ.μ. για το πλήθος των ακμών που αφαιρέθηκαν E[X]>cm για κάποια σταθερά c. Με χρήση του προηγούμενου θεωρήματος αυτό δίνει λογαριθμικό χρόνο.
Good vrtics and ood ds Μία κορυφή είναι καλή ood αν τουλάχιστον το 1/3 των γειτόνων της έχει βαθμό μικρότερο ή ίσο από το δικό της Μία ακμή είναι καλή αν τουλάχιστον ένα από τα άκρα της είναι καλή κορυφή.
Λήμμα 1 Η πιθανότητα να μαρκαριστεί ένας γείτονας μιας 1 6 καλής κορυφής είναι τουλάχιστον 1- Απόδειξη: η πιθανότητα να μην επιλεγεί κανείς από τους γείτονες μικρότερου ή ίσου βαθμού είναι το πολύ 1 1 d v / 3 6 1 2d v Άρα η πιθανότητα να επιλεγεί τουλάχιστον ένας 1 6 από αυτούς είναι τουλάχιστον 1- Οι υπόλοιποι γείτονες αυξάνουν ακόμα περισσότερο τη ζητούμενη πιθανότητα.
Λήμμα 2 Αν μία κορυφή v μαρκαριστεί επιλέγεται με πιθανότητα τουλάχιστον ½. Απόδειξη: Για να ξεμαρκαριστεί πρέπει να μαρκαριστεί ένας γείτονας μεγαλύτερου βαθμού. Οι γείτονες μεγαλύτερου βαθμού μαρκάρονται με πιθανότητα το πολύ 1/2dv. Το πλήθος τους είναι το πολύ dv. Η πιθανότητα να μαρκαριστεί κάποιος από αυτούς είναι το πολύ dv 1/2dv=1/2
Λήμμα 3 Η πιθανότητα μία καλή κορυφή να αφαιρεθεί 1 6 είναι τουλάχιστον 1- /2 Απόδειξη: Για να αφαιρεθεί θα πρέπει είτε να επιλεγεί στο I είτε ένας γείτονάς της να επιλεγεί στο I. Για το δεύτερο αρκεί να μαρκαριστεί ένας γείτονάς της Λήμμα 1 και να μείνει μαρκαρισμένος Λήμμα 2.
Λήμμα 4 Τουλάχιστον οι μισές ακμές ενός γράφου είναι καλές. Απόδειξη: Μετατρέπουμε το γράφο σε κατευθυνόμενο οι ακμές δείχνουν προς το μεγαλύτερο βαθμό. Για τις κακές κορυφές έχουμε ότι λιγότεροι από 1/3 έχουν βαθμό το πολύ dv δηλαδή είναι in-nihors άρα d o v d i v d v / 3 = d o v + d 3 i v
Απόδειξη Λήμματος 4 συνέχεια Για κάθε ST υποσύνολα του ορίζουμε EST να είναι το υποσύνολο των ακμών που κατευθύνονται από το S στο T. Ορίζουμε επίσης ST = EST.
Απόδειξη Λήμματος 4 συνέχεια Ο συνολικός βαθμός των κακών κορυφών είναι: Άρα [ ] [ ] [ ] 3 3 3 3 3 2 v o i v i o i v o v d v d v d v d v d v d + = = + + = = + = + + +
Θεώρημα Αν X τ.μ. το πλήθος των ακμών που αφαιρούνται σε μία επανάληψη και m το πλήθος των ακμών που υπήρχαν στην αρχή της τότε E[X]>cm για κάποια σταθερά c.
Απόδειξη Θεωρήματος 1/2 Έστω m ο αριθμός των ακμών και m ο αριθμών των καλών ακμών Έστω X i τ.μ. που εκφράζει το αν η ακμή i αφαιρείται. 0 δεν αφαιρείται X i = 1 αφαιρείται
Απόδειξη Θεωρήματος 2/2 Από το Λήμμα 4 ισχύει ότι m m/2 Από το Λήμμα 3 μία καλή ακμή αφαιρείται 6 με πιθανότητα τουλάχιστον 1- /2. 6 Άρα Ε[X ] 1 1- /2. Άρα: 1 1 E[ X ] = E[ X i ] > ood E[ X ] 1 1/ 6 m 2 = c m