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