Αλγόριθμοι: Σύγχρονες Τάσεις Ηλίας Κουτσουπιάς Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών
Μελλοντολογία; Σε ποιο σημείο της ιστορίας των αλγορίθμων βρισκόμαστε σήμερα? Στην αρχή, στη μέση ή προς το τέλος; Αν σε 50 χρόνια κοιτάξουμε πίσω, τι θα έχει απομείνει από τα σημερινά αποτελέσματα και τάσεις;
Το παρελθόν των Αλγορίθμων Τα βιβλία των αλγορίθμων περιλαμβάνουν, σχεδόν αποκλειστικά, θέματα που μελετήθηκαν για πρώτη φορά τα τελευταία 50 χρόνια Π.χ. shortest path, spanning tree, ταξινόμηση, δομές δεδομένων, γραμμικός προγραμματισμός
Το παρελθόν των Αλγορίθμων Από τη άλλη, η ιστορία των αλγορίθμων εκτείνεται βαθύτερα στο παρελθόν Στον Ευκλείδη, με τον αλγόριθμο του μέγιστου κοινού διαιρέτη Ακόμα, τι άλλο παρά αναζήτηση αλγορίθμων δεν ήταν οι κατασκευές με κανόνα και διαβήτη (ο τετραγωνισμός κύκλου ή η κατασκευή κανονικών πολυγώνων), η επίλυση πολυωνυμικών εξισώσεων με ριζικά, και τόσα άλλα;
Τάσεις των τελευταίων 20 χρόνων Πιθανοτικοί αλγόριθμοι –Ταχύτεροι και απλούστεροι (πιο ασφαλείς, λιγότερο επιρρεπείς σε bugs) –Επιτυχία: mincut Άμεσοι Αλγόριθμοι –Τι κάνουμε όταν δεν γνωρίζουμε το μέλλον; –Επιτυχία: k-server Προσεγγιστικοί Αλγόριθμοι –Όταν δεν μπορούμε να βρούμε τη βέλτιστη λύση ή όταν ο βέλτιστος αλγόριθμος είναι πολύπλοκος –Επιτυχία: maxcut
Τυπικά ανοικτά προβλήματα Πιθανοτικοί αλγόριθμοι: P=RP; –Βοηθούν οι τυχαίες επιλογές; Άμεσοι Αλγόριθμοι: Splay tree conjecture –Πόσο αποτελεσματικοί είναι απλοί αλγόριθμοι σε δομές δεδομένων; Προσεγγιστικοί αλγόριθμοι: Held-Karp conjecture –Μπορούμε να βελτιώσουμε τον αλγόριθμο του Χριστοφίδη για το Πρόβλημα του Πλανόδιου Πωλητή
Τελευταία 5-10 χρόνια Κβαντικοί αλγόριθμοι Θεωρία παιγνίων Δίκτυα – Internet - Web Stream computing – Sampling Βιολογία (αλυσίδες DNA – πρωτεΐνες και γεωμετρία )
Ανοικτά προβλήματα Κβαντικοί αλγόριθμοι: Είναι χρήσιμοι; –Είναι δυνατή η κατασκευή κβαντικού υπολογιστή; –Εκτός από την παραγοντοποίηση ακεραίων, υπάρχουν άλλα σημαντικά προβλήματα για τα οποία οι κβαντικοί αλγόριθμοι υπερτερούν; Θεωρία Παιγνίων: Nash equilibrium –Μπορούμε να επεκτείνουμε τους αλγορίθμους γραμμικού προγραμματισμού σε τέτοια προβλήματα;
Στην αρχή; Τυπικο προβλημα: Πολλαπλασιασμός ακεραίων –Ο αλγόριθμος του σχολείου δεν είναι βέλτιστος (παίρνει n 2 βήματα) –Γνωρίζουμε πολύ καλύτερο αλγόριθμο με n log n loglog n βήματα –Υπάρχει καλύτερος αλγόριθμος; με n βήματα; Αν υπάρχει, θα τον βρούμε αργά ή γρήγορα Αν δεν υπάρχει, θέλουμε να το ξέρουμε. Μπορούμε να το αποδείξουμε; Είναι αυτό τόσο δύσκολο όσο το P=NP;