Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)
Διατύπωση Σας ανήκει μια πινακοθήκη και επιθυμείτε να τοποθετήσετε κάμερες ασφαλείας έτσι ώστε όλη η γκαλερί να είναι προστατευμένη από κλέφτες. Σε ποια σημεία πρέπει να τοποθετηθούν οι κάμερες; Ποιος είναι ο ελάχιστος απαιτούμενος αριθμός καμερών ώστε να είναι προστατευμένες οι καλλιτεχνικές;
Ιστορικό Το 1973, ο Victor Klee ασχολήθηκε με το εξής πρόβλημα: Υποθέτουμε ότι διαθέτουμε μια πινακοθήκη της οποίας η κάτοψη μπορεί να αναπαρασταθεί από ένα πολύγωνο με n κορυφές Ποιος είναι ο ελάχιστος αριθμός στατικών φυλάκων που απαιτούνται για την προστασία της αίθουσας;
Το θεώρημα της πινακοθήκης Το 1975, ο Vasek Chvatal έλυσε το πρόβλημα του Klee χρησιμοποιώντας το εξής θεώρημα: Απαιτούνται περιστασιακά [n/3] φύλακες οι οποίοι πάντα είναι αρκετοί για να καλύψουν ένα πολύγωνο με n κορυφές
Αποδείξεις Ο Chvatal έδωσε την πρώτη απόδειξη για το θεώρημά του το 1975 η οποία ήταν λεπτομερής και χρησιμοποιούσε επαγωγή Το 1978 ο Steve Fisk έδωσε μια αρκετά απλούστερη απόδειξη - που θα παρουσιάσουμε στη συνέχεια - η οποία βασιζόταν στη διαίρεση του πολυγώνου σε τρίγωνα με χρήση διαγωνίων
Διαγώνιος απλού πολυγώνου P Κάθε ευθύγραμμο τμήμα μεταξύ δύο μη γειτονικών κορυφών του P που βρίσκεται πλήρως εντός του P ναι όχι
Πιθανά πολύγωνα (πινακοθήκες)
Διαχωρισμός σε τρίγωνα Αρχικά, διαχωρίζουμε το πολύγωνο σε τρίγωνα και οι κορυφές του πολυγώνου γίνονται κορυφές των τριγώνων κάποιες κορυφές ανήκουν σε παραπάνω από ένα τρίγωνα Προσέχουμε οι ακμές που προσθέτουμε να μην τέμνονται ούτε να βγαίνουν έξω από το περίγραμμα του πολυγώνου επιτυγχάνεται με πολλούς τρόπους
Παράδειγμα τριγωνοποίησης πολυγώνου
3-χρωματισμός Στη συνέχεια, εφαρμόζουμε θεώρημα σύμφωνα με το οποίο οι κορυφές κάθε τριγωνοποιημένου πολυγώνου μπορούν να χρωματιστούν με 3 χρώματα Χρησιμοποιώντας μόνο κόκκινο, μπλε και πράσινο μπορούμε να χρωματίσουμε όλες τις κορυφές του πολυγώνου έτσι ώστε γειτονικές κορυφές να μη λαμβάνουν το ίδιο χρώμα Αν η διαδικασία γίνει σωστά, κάθε τρίγωνο καταλήγει με μία κορυφή από κάθε χρώμα
Τοποθέτηση φυλάκων Διαλέγουμε ένα από τα χρώματα και τοποθετούμε φύλακα σε όσες κορυφές έχουν το χρώμα αυτό Σε ένα σχήμα με n κορυφές, όπου το n δε διαιρείται ακριβώς με το 3, όλα τα χρώματα δε θα έχουν ίδιο πλήθος κορυφών Μας ενδιαφέρει ο ελάχιστος αριθμός φυλάκων που πρέπει να τοποθετήσουμε, οπότε επιλέγουμε ένα χρώμα με ελάχιστο αριθμό κορυφών
Λύση του προβλήματος Αφού κάθε τρίγωνο έχει κάθε χρώμα στις 3 κορυφές του, γνωρίζουμε ότι οι φύλακες, αν τοποθετηθούν στις κορυφές ενός δοσμένου χρώματος, θα μπορούν να βλέπουν κάθε τρίγωνο, συλλογικά Αφού κάθε τρίγωνο είναι προστατευμένο, το συνολικό πολύγωνο είναι επίσης προστατευμένο Άρα, ένα πολύγωνο με n κορυφές μπορεί να προστατευτεί από [n/3] φύλακες
Παραλλαγές (Ι) Το 1980, οι Kahn, Klawe, και Kleitman απέδειξαν ότι ο αριθμός των φυλάκων που απαιτούνται και επαρκούν για την προστασία ενός παραλληλόγραμμου πολυγώνου με n κορυφές είναι [n/4]
Παραλλαγές (ΙΙ) Το 1982, ο Shermer εξέτασε μια πιο ρεαλιστική κάτοψη πινακοθήκης Η αίθουσα περιείχε εμπόδια, τα οποία αναπαράστησε με οπές Έλυσε το πρόβλημα για n κορυφές και h οπές
Εφαρμογές Οι λύσεις που έχουν προταθεί για το Πρόβλημα της Πινακοθήκης έχουν αποτελέσει στρατηγικές για τη βελτίωση πολλών προβλημάτων (φυσικής) ασφάλειας Για παράδειγμα: σε ποια σημεία σε μια πανεπιστημιούπολη είναι καλύτερο να τοποθετηθούν φύλακες και πόσοι απαιτούνται;
Το πρόβλημα της πινακοθήκης Πόσες κάμερες απαιτούνται για την εποπτεία της πινακοθήκης; Πώς πρέπει να τοποθετηθούν;
Απλό μοντέλο πολυγώνου Αναπαριστούμε την πινακοθήκη σαν περιοχή περιορισμένη από κάποιο απλό κυρτό πολύγωνο Δεν επιτρέπονται περιοχές με ασυνέχειες (οπές) Πρόβλημα: η εύρεση του ελάχιστου αριθμού καμερών για δοσμένο πολύγωνο είναι NP-hard (εκθετικός χρόνος) Κυρτό πολύγωνο Μία κάμερα Αυθαίρετο πολύγωνο με n-γωνο
Τριγωνοποίηση (triangulation) Αποσυνθέτουμε το πολύγωνο σε κομμάτια που είναι εύκολο να τα εποπτεύσουμε Προσθέτουμε διαγωνίους μεταξύ ζευγών κορυφών Ανοιχτά ευθύγραμμα τμήματα που συνδέουν δύο κορυφές και βρίσκονται στο εσωτερικό του πολυγώνου Τριγωνοποίηση: διαχωρισμός ενός πολυγώνου σε τρίγωνα μέσω μέγιστου συνόλου μη τεμνόμενων διαγωνίων Εποπτεύουμε το πολύγωνο τοποθετώντας μία κάμερα σε κάθε τρίγωνο
Αριθμός τριγώνων (Ι) Θεώρημα: Απόδειξη (με επαγωγή) Κάθε απλό πολύγωνο έχει μια τριγωνοποίηση Κάθε τριγωνοποίηση απλού πολυγώνου με n κορυφές περιέχει ακριβώς n – 2 τρίγωνα Απόδειξη (με επαγωγή) Βασική περίπτωση: n = 3. Επαγωγική υπόθεση: έστω ότι η δήλωση είναι αληθής για κάθε m < n. Επαγωγικό βήμα: έστω v η αριστερότερη κορυφή και u, w οι δύο γειτονικές της uw είναι εντός του P είναι διαγώνιος Διαφορετικά, το τρίγωνο που ορίζεται από τις u, v, w περιέχει τουλάχιστον μία κορυφή Έστω v’ η πλησιέστερη στη v Τότε vv’ είναι διαγώνιος Η διαγώνιος χωρίζει το πολύγωνο σε δύο (που τριγωνοποιούνται λόγω της επαγωγής)
Αριθμός τριγώνων (ΙΙ) Θεώρημα: Απόδειξη Κάθε απλό πολύγωνο έχει μια τριγωνοποίηση Κάθε τριγωνοποίηση απλού πολυγώνου με n κορυφές περιέχει ακριβώς n – 2 τρίγωνα Απόδειξη Κάθε διαγώνιος χωρίζει το P σε δύο απλά πολύγωνα με k και m κορυφές, αντίστοιχα Λόγω επαγωγής, τα δύο αυτά πολύγωνα τριγωνοποιούνται Αποσυντίθενται σε k – 2 και m – 2 τρίγωνα, αντίστοιχα. Οι κορυφές που ορίζουν τη διαγώνιο εμφανίζονται μία φορά σε κάθε πολύγωνο Οι υπόλοιπες κορυφές του P εμφανίζονται η κάθε μία ακριβώς σε ένα υπο-πολύγωνο Επομένως k + m = n + 2 Από επαγωγή, η τριγωνοποίηση του P έχει (k – 2) + (m – 2) = n – 2 τρίγωνα
Αριθμός καμερών για την πινακοθήκη Αποδείξαμε ότι n – 2 κάμερες μπορούν να εποπτεύσουν ένα απλό πολύγωνο Μια κάμερα σε διαγώνιο εποπτεύει δύο τρίγωνα ο αριθμός των καμερών μπορεί να μειωθεί σε περίπου n/2 Μια κορυφή ανήκει σε πολλά τρίγωνα η τοποθέτηση καμερών σε κορυφές δίνει ακόμα καλύτερα αποτελέσματα …
3-χρωματισμός Ιδέα: Διαλέγουμε ένα σύνολο κορυφών, έτσι ώστε κάθε τρίγωνο να έχει τουλάχιστον μία κορυφή του στο σύνολο αυτό Αναθέτουμε σε κάθε κορυφή ένα χρώμα: ροζ, πράσινο, ή κίτρινο Κορυφές που συνδέονται με ακμή ή με διαγώνιο πρέπει να λάβουν διαφορετικά χρώματα Επομένως οι κορυφές κάθε τριγώνου θα έχουν 3 διαφορετικά χρώματα Αν υπάρχει 3-χρωματισμός, τοποθετούμε κάμερες σε όλες τις κορυφές ίδιου χρώματος Επιλέγουμε τη μικρότερη χρωματική κλάση για την τοποθέτηση καμερών n/3 κάμερες
Το δυικό γράφημα (Ι)
Το δυικό γράφημα (ΙΙ) Το δυικό γράφημα G έχει μία κορυφή μέσα σε κάθε τρίγωνο και ακμή μεταξύ ζεύγους κορυφών των οποίων τα αντίστοιχα τρίγωνα έχουν κοινή κάποια διαγώνιο το G είναι συνεκτικό Κάθε διαγώνιος κόβει το πολύγωνο σε δύο Κάθε διαγώνιος αντιστοιχεί σε ακμή στο δυικό γράφημα Απομάκρυνση οποιασδήποτε ακμής από το δυικό γράφημα το κάνει μη συνεκτικό το δυικό γράφημα είναι δέντρο
Αλγόριθμος για 3-χρωματισμό Βρίσκουμε έναν 3-χρωματισμό διασχίζοντας το γράφημα (π.χ., με DFS) Κατά το DFS, πρέπει: Όλες οι κορυφές του πολυγώνου σε τρίγωνα που έχουμε ήδη συναντήσει χρωματίζονται ώστε γειτονικές κορυφές να μην έχουν το ίδιο χρώμα Ξεκινάμε DFS σε κάποια κορυφή του G Χρωματίζουμε τις 3 κορυφές του αντίστοιχου τριγώνου Έστω ότι πάμε στη v από τη u τα τρίγωνά τους T(v) και T(u) είναι γειτονικά Μόνο μια κορυφή του T(v) δεν χρωματίζεται το χρώμα της καθορίζεται μονοσήμαντα Αφού το G είναι δέντρο, δεν έχουμε επισκεφθεί ακόμα τις άλλες γειτονικές κορυφές της v αλλιώς υπάρχει κύκλος (αντίφαση αφού το G είναι δέντρο) Δίνουμε το χρώμα στην v
Μια κακή περίπτωση Ένα τριγωνοποιημένο πολύγωνο είναι πάντα 3-χρωματίσιμο Κάθε απλό πολύγωνο μπορεί να φυλαχθεί με n/3 κάμερες Δεν υπάρχει θέση που να μπορεί μια κάμερα να εποπτεύσει δύο ακίδες n/3 κάμερες είναι αναγκαίες Η προσέγγιση του 3-χρωματισμού είναι βέλτιστη στη χειρότερη περίπτωση n/3 ακίδες
Η λύση Για απλό πολύγωνο με n κορυφές, n/3 κάμερες αρκούν ώστε κάθε εσωτερικό σημείο να είναι ορατό από τουλάχιστον μία από τις κάμερες αυτές Λύση στο πρόβλημα της πινακοθήκης 1. Τριγωνοποίηση απλού πολυγώνου με έναν γρήγορο αλγόριθμο 2. Παραγωγή ενός 3-χρωματισμού με DFS 3. Τοποθέτηση καμερών σύμφωνα με τη μικρότερη χρωματική κλάση
Chvătal 1975, Fisk 1978 n/3 φύλακες είναι πάντα επαρκείς και μερικές φορές αναγκαίοι για την παρακολούθηση ενός απλού πολυγώνου με n κορυφές Απόδειξη: Αναγκαιότητα:
Chvătal 1975, Fisk 1978 n/3 φύλακες είναι πάντα επαρκείς και μερικές φορές αναγκαίοι για την παρακολούθηση ενός απλού πολυγώνου με n κορυφές Απόδειξη: Επάρκεια: T = τριγωνοποίηση του πολυγώνου 3-χρωματισμός των κορυφών του T (ώστε οι κορυφές κάθε τριγώνου να λαμβάνουν 3 διαφορετικά χρώματα) Αυτό γίνεται αν διασχίσουμε με DFS το δυικό δέντρο του T Επιλογή του λιγότερο χρησιμοποιούμενου χρώματος (αυθαίρετη επιλογή σε περίπτωση ισοπαλίας) Τοποθέτηση φύλακα στις κορυφές με το επιλεγμένο χρώμα (Κάθε τρίγωνο έχει φύλακα)