Ορισμένες Κατηγορίες Αλγορίθμων Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr Οριασμένες κατηγορίες αλγορίθμων 1
Αλγόριθμοι Προσέγγισης Υπολογιστικά προβλήματα τα οποία είναι NPhard δεν μπορούμε να τα λύσουμε (μέχρι στιγμής) σε πολυωνυμικό χρόνο Πρακτικά λοιπόν είναι ανέφικτο να βρούμε τη βέλτιστη λύση τέτοιων προβλημάτων Στην πράξη πολλά υπολογιστικά προβλήματα τεράστιας πρακτικής σημασίας είναι NP-hard Άρα τι άλλο μπορούμε να κάνουμε... απότονα... συμβιβαστούμε με λύσεις που δεν είναι απαραίτητα βέλτιστες Οριασμένες κατηγορίες αλγορίθμων 2
Αλγόριθμοι Προσέγγισης Πότε χρησιμοποιούνται; Όταν οι απαιτούμενοι υπολογιστικοί πόροι (συνήθως η πολυπλοκότητα χρόνου) για τη βέλτιστη επίλυση ενός προβλήματος δεν είναι διαθέσιμοι ή μη ρεαλιστικοί. Οριασμένες κατηγορίες αλγορίθμων 3
Λύσεις όχι απαραίτητα βέλτιστες Heuristics: Αλγόριθμοι που βασίζονται σε κάποια διαισθητικά/λογικά επιχειρήματα και οδηγούν κατά κανόνα σε ικανοποιητικές λύσεις. Σημείωση: Τα heuristics δεν εγγυώνται με αυστηρό/μαθηματικό τρόπο την ποιότητα της λύσης Αλγόριθμοι προσέγγισης: Αλγόριθμοι που τρέχουν σε πολυωνυμικό χρόνο και εγγυώνται την ποιότητα της λύσης. Παράδειγμα: Ο αλγόριθμος του Christofides για το πρόβλημα του περιοδεύοντος πωλητή τρέχει σε πολυωνυμικό χρόνο και δίνει λύση που εγγυημένα δεν ξεπερνά τη βέλτιστη λύση περισσότερο από τον παράγοντα 1.5 Οριασμένες κατηγορίες αλγορίθμων 4
On-line Αλγόριθμοι On-line προβλήματα: Υπάρχουν υπολογιστικά προβλήματα στα οποία η είσοδος (περιγραφή του στιγμιοτύπου του προβλήματος) δίνεται τμηματικά παίρνονται αποφάσεις κάθε φορά με τα διαθέσιμα μόνο δεδομένα Παράδειγμα: Το πρόβλημα της αντικατάστασης σελίδων της κρυφής μνήμης (cache memory) Προφανώς ένας on-line αλγόριθμος ενδέχεται ανάλογα με το υπολογιστικό πρόβλημα να δίνει λύσεις λίγο ή πολύ υποδεέστερες της βέλτιστης (offline) λύσης Οριασμένες κατηγορίες αλγορίθμων 5
Αλγόριθμοι και Θεωρία Παιγνίων Υπάρχουν υπολογιστικά προβλήματα στα οποία συμμετέχει περισσότερες από μία αυτόνομες οντότητες, τέτοιες ώστε κάθε οντότητα: Έχει τα δικά της κριτήρια στόχους που προσπαθεί να βελτιστοποιήσει και σύμφωνα με αυτά καθορίζει τη συμπεριφορά της Δεν υπάρχει κεντρικός έλεγχος/συντονισμός Υπάρχουν ενιαίοι κανόνες που καθορίζουν το αποτέλεσμα για κάθε πιθανό σενάριο συμπεριφοράς των οντοτήτων (παικτών) Παράδειγμα: Ένα peer-to-peer δίκτυο μπορεί να θεωρηθεί ένα παίγνιο στο οποίο κάθε κόμβος που συμμετέχει είναι ένας παίκτης Οριασμένες κατηγορίες αλγορίθμων 6
Αλγοριθμικά Προβλήματα και Θεωρία Παιγνίων Ποιοι θα πρέπει να είναι οι κανόνες του παιχνιδιού ώστε να έχουμε καλή συμπεριφορά (ότι και αν σημαίνει αυτό...) ; Τι αλγορίθμους μπορεί να χρησιμοποιήσει κάθε παίκτης για να πετύχει τα καλύτερα δυνατά αποτελέσματα (γιαταδικάτουκριτήρια); Θα οδηγηθεί το σύστημα σε ισορροπία; Σε καλή ισορροπία; Οριασμένες κατηγορίες αλγορίθμων 7
Ορισμένες κατηγορίες αλγορίθμων Υπολογιστικό Πρόβλημα με τον περιορισμό: Μη-ύπαρξη απεριόριστων υπολογιστικών πόρων Μη-ύπαρξη όλης της πληροφορίας εξαρχής Έλλειψη συντονισμού (coordination) Αλγοριθμική Αντιμετώπιση Αλγόριθμοι Προσέγγισης On-line Αλγόριθμοι Non-cooperative Game Οριασμένες κατηγορίες αλγορίθμων 8
Αναφορές-Πηγές Βιβλίο μαθήματος Κεφάλαιο 12: Αλγόριθμοι Προσέγγισης (Ευρετικές Τεχνικές) Κεφάλαιο 9: On-line Αλγόριθμοι (Αντγωνιστική Ανάλυση) Introduction to Algorithms, Κεφάλαιο 35 An Introduction to Game Theory, M. Osborne, Oxford University Press, 2004 Οριασμένες κατηγορίες αλγορίθμων 9