Τα όρια του Υπολογισµού και η Πολυπλοκότητα: Οι θεµελιώσεις της Επιστήµης των Υπολογιστών
|
|
- Έλλη Ζάνος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 2 η Πανελλήνια ιηµερίδα µε διεθνή συµµετοχή «ιδακτική της Πληροφορικής» 13 Τα όρια του Υπολογισµού και η Πολυπλοκότητα: Οι θεµελιώσεις της Επιστήµης των Υπολογιστών Paul G. Spirakis Professor, Patras University, Greece Director, Research & Academic Computer Technology Institute (RACTI) Αλγόριθµοι και πολυπλοκότητα Προβλήµατα, αλγόριθµοι και τα όρια της υπολογισιµότητας Στις αρχές του αιώνα µας, ένας από τους µεγαλύτερους µαθηµατικούς, ο David Hilbert, στα πλαίσια της περίφηµης διάλεξής του στο ιεθνές Συνέδριο Μαθηµατικών στο Παρίσι το 1900 αναφέρθηκε σε 23 ανοικτά προβλήµατα τα οποία θεωρούσε ως τα πιο σηµαντικά για εκείνη την εποχή. Το δέκατο από αυτά ρωτούσε εάν µπορούσε να βρεθεί µια διαδικασία που να απαντά στο εάν µία δοσµένη διοφαντική εξίσωση έχει λύση ή όχι. Αρκετά χρόνια µετά, το 1928, στο ιεθνές Συνέδριο Μαθηµατικών στη Μπολόνια και ως συνέχεια της προηγούµενης διάλεξής του, έθετε το πρόβληµα του να βρεθεί διαδικασία που θα µπορούσε να ελέγχει εάν ένα µαθηµατικό (λογικό) σύστηµα, όπως είναι για παράδειγµα η Ευκλείδειος Γεωµετρία, είναι συνεπές, δηλαδή δεν εµπεριέχει αντιφάσεις. Είναι προφανές το πόσο χρήσιµη θα ήταν µια τέτοια διαδικασία, καθώς ένας µαθηµατικός που προτείνει ένα πολύπλοκο µαθηµατικό σύστηµα, το οποίο λόγω του όγκου των αξιωµάτων ή της πληθώρας των αποδεικτικών µεθόδων που περιέχει ξεφεύγει από την δυνατότητα ελέγχου από τον άνθρωπο, απλά θα τροφοδοτούσε (µε µια κατάλληλη αναπαράσταση) το µαθηµατικό του σύστηµα στη µηχανική διαδικασία και η διαδικασία θα απαντούσε στο ερώτηµα του αν το σύστηµα αυτό περικλείει αντιφάσεις. Ένα άλλο πρόβληµα που έθεσε ο Hilbert στη διάλεξή του το 1928 και που ήταν κατά κάποιον τρόπο γενίκευση του δέκατου προβλήµατος της διάλεξης του 1900, ήταν δοθέντος ενός µαθηµατικού συστήµατος να διαπιστωθεί εάν µια δοσµένη µαθηµατική πρόταση αποτελεί θεώρηµα του συστήµατος ή όχι, το περίφηµο Entscheidungsproblem. Ο Hilbert ήλπιζε ότι για τα παραπάνω προβλήµατα θα έπρεπε να υπήρχε κάποια διαδικασία που να τα απαντά µέσα σε πεπερασµένο αριθµό βηµάτων (περατοκρατική διαδικασία ή αλγόριθµος, όπως θα δούµε πιο κάτω). Το 1931, ο µαθητής του Hilbert και εξίσου µεγάλος µαθηµατικός Kurt Gödel, απέδειξε στην περίφηµη εργασία του [Go31] ότι, δυστυχώς δύο από τις πεποιθήσεις του Hilbert ήταν λανθασµένες. Πιο συγκεκριµένα, ο Gödel παρουσίασε µια µαθηµατική πρόταση στα πλαίσια του αξιωµατικού συστήµατος των φυσικών αριθµών (η πρώτη προσπάθεια αξιωµατοποίησης του συστήµατος των φυσικών αριθµών έγινε το 1910 από τους Whitehead και Russell, στο τρίτοµο έργο τους Principia Mathematica [WhRu10]) για την οποία δεν ήταν δυνατό να αποδειχθεί µε χρήση των αποδεικτικών µεθόδων του συστήµατος αυτού ούτε ότι είναι θεώρηµα ούτε ότι δεν είναι. Αυτή η µεγάλη ανακάλυψη, είναι το περίφηµο θεώρηµα µη πληρότητας του Gödel. Επιπλέον, ο Gödel απέδειξε ότι η συνέπεια ενός µαθηµατικού συστήµατος δεν είναι δυνατόν να αποδειχθεί µε κανόνες και µεθόδους του ίδιου του συστήµατος. Το 1936 ο Alan Turing γινόταν ο θεµελιωτής της επιστήµης των υπολογιστών, µε την ιστορική εργασία του On computable numbers, with an application to the Entscheidungsproblem ([Tu36]). Στην εργασία αυτή ο Turing όρισε ένα υπολογιστικό µοντέλο, που ονοµάστηκε µετά προς τιµή του Μηχανή Turing (Turing Machine) το οποίο δεν είναι τίποτε άλλο παρά µια αφαιρετική περιγραφή, ένα µοντέλο, της έννοιας
2 14 2 η Πανελλήνια ιηµερίδα µε διεθνή συµµετοχή «ιδακτική της Πληροφορικής» της αλγοριθµικής υπολογισιµότητας και του ηλεκτρονικού υπολογιστή όπως τον ξέρουµε σήµερα (δείτε Ενότητα 2). Επιπλέον, απαντώντας αρνητικά και στο τρίτο πρόβληµα του Hilbert, Entscheidungsproblem, απέδειξε ότι το πρόβληµα του εάν µια Μηχανή Turing τερµατίζει για µια δοσµενη είσοδο, είναι µη αλγοριθµικά αποφασίσιµο. Με άλλα λόγια, δεν υπάρχει αλγόριθµος (Μηχανή Turing δηλαδή) που να δέχεται ως είσοδο την περιγραφή της µηχανής και της εισόδου της και να αποφασίζει αν κάποτε θα σταµατήσει η µηχανή. ( ύο πολύ καλές αναφορές για όλα τα παραπάνω, είναι τα βιβλία των Davis [Da58] και van Heijenoort [vanhe67].) Η συνεισφορά του Turing ήταν διπλή. Κατ' αρχήν συµπλήρωσε το αποτέλεσµα του Gödel. Παρεκκλίνοντας λίγο, στην πραγµατικότητα, η απόδειξη του Turing ήταν µια απλούστερη έκδοση της απόδειξης µη πληρότητας του Gödel. Όµως, ο Turing είχε το πλεονέκτηµα ότι εργαζόταν σε ένα µαθηµατικό σύστηµα που διευκόλυνε το έργο της επίδειξης µιας πρότασης για την οποία δεν υπάρχει αλγόριθµος που να αποφασίζει εάν είναι θεώρηµα ή όχι. Η πρόταση, όπως είπαµε, είναι η εξής: Η µηχανή Turing M τερµατίζει κάποτε µε είσοδο τη συµβολοσειρά x; Ο Gödel, από την άλλη µεριά, είχε το µειονέκτηµα ότι εργαζόταν σε ένα κάπως δύσκαµπτο φορµαλισµό, αυτόν των αναδροµικών συναρτήσεων, και έπρεπε να εφεύρει, κατά κάποιον τρόπο, µία µέθοδο γραφής µαθηµατικών προτάσεων µε χρήση απλά και µόνο αναδροµικών συναρτήσεων σε φυσικούς αριθµούς. Εάν προσέξει κανείς την απόδειξή του, θα διαπιστώσει ότι, πριν επιδείξει την περίφηµη αυτοαναφερόµενη πρόταση που δεν µπορεί να αποδειχθεί εάν είναι θεώρηµα ή όχι, χτίζει βήµα-βήµα µια µηχανή, που προσοµοιάζει το µηχανισµό υπολογισµού της γνωστής συναρτησιακής γλώσσας προγραµµατισµού Lisp. Αυτή είναι και η οµορφιά της απόδειξης του. Επανερχόµενοι όµως στην επόµενη συνεισφορά του Turing, η οποία είχε µεγάλη επίδραση στη µετέπειτα πορεία της επιστήµης των υπολογιστών, µέσα από τη χρησιµοποίηση της µηχανής που πρότεινε για την περιγραφή αλγόριθµων για διάφορα προβλήµατα, υπήρξε η συνειδητοποίηση ότι πέρα από τη διαπίστωση ότι ένα πρόβληµα είναι επιλύσιµο (µε το να επιδείξουµε έναν αλγόριθµο, ή µηχανή Turing, που να το επιλύει) µας ενδιαφέρει η επίλυση να γίνεται όσο το δυνατόν γρηγορότερα. Ο πρώτος που διερεύνησε ζητήµατα σχετικά µε την πολυπλοκότητα της αλγοριθµικής επίλυσης προβληµάτων, ήταν ο ίδιος ο Gödel το 1956, πάλι σε σχέση µε απόδειξη θεωρηµάτων στα πλαίσια αξιωµατικών συστηµάτων. Με ένα γράµµα του προς τον John von Neumann, ο Gödel αναρωτιέται σχετικά µε την πολυπλοκότητα εύρεσης αποδείξεων σε θεωρήµατα που είναι διατυπωµένα µε βάση τους κανόνες ενός τυπικού συστήµατος (για µια αναφορά σε αυτό το γεγονός, δείτε την εργασία του Juris Hartmanis [Har89] καθώς και την τεχνική αναφορά [ChHa94]). Πιο συγκεκριµένα, αναφέρεται στη µηχανή Turing ως υπολογιστικό µοντέλο, και µετά ρωτά ποια είναι η συνάρτηση που φράσσει τον αριθµό των βηµάτων που χρειάζονται για να βρεθούν αποδείξεις µήκους n. Στην πραγµατικότητα ο Gödel ρωτούσε τον von Neumann, σύµφωνα µε τη σηµερινή τεχνική ορολογία, για την ντετερµινιστική (deterministic) υπολογιστική πολυπλοκότητα του προβλήµατος της απόδειξης θεωρηµάτων (theorem proving). Στο ίδιο γράµµα, ο Gödel επίσης ρωτάει σχετικά µε την υπολογιστική πολυπλοκότητα του ελέγχου εάν ένας φυσικός αριθµός είναι πρώτος (primality testing), και µας εκπλήσσει κάπως το γεγονός ότι εκφράζει την πεποίθηση ότι η απόδειξη θεωρηµάτων δεν πρέπει να είναι και τόσο δύσκολο πρόβληµα υπολογιστικά. υστυχώς, ο von Neumann ήδη έπασχε από καρκίνο και πέθανε ένα χρόνο αργότερα. Ποτέ δεν υπήρξε απάντηση στο γράµµα, και φαίνεται ότι ο Gödel δεν προσπάθησε να διερευνήσει περισσότερο το πολύ σηµαντικό ερώτηµα που έθεσε.
3 2 η Πανελλήνια ιηµερίδα µε διεθνή συµµετοχή «ιδακτική της Πληροφορικής» 15 Γρήγορα Επιλύσιµα Προβλήµατα: η κλάση P και η πρακτική υπολογισιµότητα Πριν ορίσουµε τις βασικές έννοιες υπολογιστικής πολυπλοκότητας θα δώσουµε µία σύντοµη περιγραφή της µηχανής Turing (δείτε Σχήµα 1). Μια µηχανή Turing αποτελείται από ένα πεπερασµένο µηχανισµό ο οποίος βρίσκεται πάντα σε κάποια κατάσταση ανάλογα µε την πορεία των υπολογισµών, µια απεριόριστου µήκους ταινία διαιρεµένη σε κελιά, και µια κεφαλή ανάγνωσης των κελιών η οποία µπορεί να διαβάζει τα περιεχόµενα ενός κελιού κάθε φορά. Η ταινία έχει όριο προς τα αριστερά, ενώ εκτείνεται στο άπειρο προς τα δεξιά. Σε κάθε ένα από τα κελιά µπορεί να βρίσκεται ένα σύµβολο µέσα από ένα πεπερασµένο αριθµό συµβόλων που αποτελούν το αλφάβητο της ταινίας της µηχανής. Για να ξεκινήσει ο υπολογισµός, ένας αριθµός από τα πρώτα συνεχόµενα κελιά περιέχει στην αρχή την είσοδο της µηχανής η οποία αποτελείται από σύµβολα µέσα από το αλφάβητο εισόδου της µηχανής. K K (q 1,0) (q 2,1, ) q 0 q 1 M q n Σχήµα 1: Μία µηχανή Turing n καταστάσεων που ετοιµάζεται να µεταβεί στην κατάσταση q 2, γράφοντας στη θέση του 0 το 1 και µεταφέροντας την κεφαλή µία θέση δεξιά Σε κάθε βήµα, µια µηχανή Turing µπορεί να κάνει κάτι από τα ακόλουθα: (α) να αλλάξει εσωτερική κατάσταση (β) να αλλάξει το σύµβολο το οποίο βρίσκεται στο κελί που διαβάζει η κεφαλή ή (γ) να µετακινήσει την κεφαλή δεξιά ή αριστερά κατά ένα κελί. Όπως έχουµε ήδη πει, αυτό το τόσο απλό µοντέλο είναι γενικά αποδεκτό ότι µπορεί να υπολογίσει κάθε τι που µπορεί να υπολογιστεί αλγοριθµικά (η περίφηµη υπόθεση του Church) και είναι ισοδύναµο ως προς το τι µπορεί να υπολογιστεί µε τον ηλεκτρονικό υπολογιστή µας. Ας επανέλθουµε όµως στο ζήτηµα του πόσο χρόνο µπορεί να χρειαστεί µια µηχανή Turing για να επιλύσει ένα πρόβληµα. Όπως είδαµε, πρώτος Gödel έθεσε αυτό το ερώτηµα, χωρίς όµως να το διερευνήσει περισσότερο. Μέσα στο διάστηµα , ο J. Edmonds σε δύο εργασίες του, χρησιµοποίησε για πρώτη φορά την έννοια καλός (αποδοτικός) αλγόριθµος για εκείνους τους αλγόριθµους (µηχανές Turing) που για να επιλύσουν ένα στιγµιότυπο µεγέθους n, χρειάζονται το πολύ cn k βήµατα, για κάποιους αριθµούς c, k. Γρήγορα έγινε αποδεκτό, µε βάση διάφορα πειστικά επιχειρήµατα που µπορεί κανείς να βρει αναλυτικά στα βιβλία [Papa94] και [HoUl79], ότι τα προβλήµατα που θα πρέπει να
4 16 2 η Πανελλήνια ιηµερίδα µε διεθνή συµµετοχή «ιδακτική της Πληροφορικής» θεωρούνται γρήγορα επιλύσιµα είναι η κλάση όλων των προβληµάτων για τα οποία υπάρχει αλγόριθµος (µηχανή Turing) που τα επιλύει χρησιµοποιώντας πολυωνυµικό αριθµό βηµάτων στο µέγεθος του στιγµιότυπου. Ένα από τα ισχυρότερα επιχειρήµατα είναι το ότι για κάθε ρεαλιστικό µοντέλο υπολογισµού M, εάν ένας αλγόριθµος είναι πολυωνυµικού χρόνου για µια µηχανή Turing, τότε ο αλγόριθµος θα είναι πολυωνυµικού χρόνου ακόµα και αν περιγραφτεί στα πλαίσια των κανόνων του µοντέλου M και αντίστροφα. Με άλλα λόγια, η ιδιότητα της επιλυσιµότητας ενός προβλήµατος γρήγορα (δηλαδή σε πολυωνυµικό αριθµό στοιχειωδών βηµάτων) είναι µία αµετάβλητη ιδιότητα µέσα στην κλάση όλων των ρεαλιστικών µοντέλων της έννοιας της µηχανικής υπολογισιµότητας. Ο Edmonds είχε σωστή διαίσθηση όσον αφορά το τι πρέπει να είναι καλός αλγόριθµος, και είχε εντοπίσει προβλήµατα που επιδέχονται τέτοιους αλγορίθµους, Όµως για ένα συγκεκριµένο πρόβληµα, το Πρόβληµα του Περιπλανώµενου Πωλητή (Traveling Salesman Problem ή TSP) δεν είχε καταφέρει να βρει έναν καλό αλγόριθµο. Πριν όµως ορίσουµε το πρόβληµα αυτό θα εξετάσουµε κάποιο άλλο. Έστω ότι δίνεται ένας χάρτης µιας χώρας µε συνδέσεις µεταξύ των πόλεων µε δρόµους και δύο συγκεκριµένες πόλεις A και B (Σχήµα 2). Α Β Σχήµα 2: Ένα οδικό δίκτυο πόλεων και µία σύνδεση µεταξύ των πόλεων Α και Β Το πρόβληµα που τίθεται είναι εάν το δίκτυο επιτρέπει τη σύνδεσή τους, έστω και µέσα από άλλες πόλεις (ας καλέσουµε το πρόβληµα αυτό PATH). Αυτό είναι σηµαντικό πρόβληµα καθώς εάν το προτεινόµενο δίκτυο δεν επιτρέπει τη σύνδεση κάποιων πόλεων τότε είναι λανθασµένο και θα πρέπει να επανασχεδιαστεί. Το πρόβληµα αυτό έχει µια απλή και γρήγορη µηχανική λύση που φαίνεται στο Σχήµα 3. Μια πρόχειρη ανάλυση µας δείχνει ότι ο αλγόριθµος τερµατίζει µετά από το πολύ n 2 βήµατα για κάθε χάρτη µε n πόλεις. (Έχοντας ξεκινήσει από την πόλη Α) Μέχρι να φτάσεις στην πόλη Β κάνε ένα από τα εξής τρία βήµατα: Εάν βρίσκεσαι στην πόλη Α και δεν υπάρχει δρόµος που να µην έχεις ακολουθήσει ξανά, τερµάτισε και δήλωσε ότι οι πόλεις Α και Β δεν συνδέονται µεταξύ τους. Από την πόλη που βρίσκεσαι, κοίταξε όλους του δρόµους που φεύγουν από αυτήν και ακολούθησε κάποιο δρόµο που δεν έχεις ακολουθήσει παλαιότερα. Εάν όµως έχεις ακολουθήσει κάποτε όλους τους δρόµους που φεύγουν από την τρέχουσα πόλη γύρισε πίσω σε µία πόλη που είχες επισκεφτεί πιο πριν ακολουθώντας προς τα πίσω το δρόµο από τον οποίο πρωτοεπισκεύτηκες την τρέχουσα πόλη. ήλωσε ότι οι πόλεις Α και Β συνδέονται µεταξύ τους. Σχήµα 3: Ένας αλγόριθµος ελέγχου σύνδεσης µεταξύ των πόλεων Α και Β (πρόβληµα PATH)
5 2 η Πανελλήνια ιηµερίδα µε διεθνή συµµετοχή «ιδακτική της Πληροφορικής» 17 Επίσης, βλέπουµε ότι η παραπάνω λύση αποτελείται από στοιχειώδη και εύκολα υλοποιήσιµα βήµατα, µπορεί να εκτελεστεί εντελώς µηχανικά δοσµένου του χάρτη της χώρας µε το οδικό δίκτυο, και πάντοτε τερµατίζει δίνοντας τη σωστή απάντηση, δηλαδή είναι ένας αλγόριθµος. Στο Σχήµα 3 βλέπουµε µία πιθανή εύρεση διασύνδεσης µεταξύ των Α και Β. Ας αλλάξουµε όµως λίγο το πρόβληµα έτσι ώστε να µην µας ενδιαφέρει απλά και µόνο η σύνδεση των δύο πόλεων µέσα από το οδικό δίκτυο αλλά να µας ενδιαφέρει επιπρόσθετα να συνδέονται µε κάποια διαδροµή η οποία να περνά ακριβώς µία φορά από όλες τις υπόλοιπες πόλεις. Αυτό είναι και το πρόβληµα του Πρόβληµα του Περιπλανώµενου Πωλητή (Traveling Salesman Problem TSP). Κάποιος αµέσως θα σκεφτόταν να εφαρµόσει µια παραλλαγή του αλγόριθµου στο Σχήµα 2 και σε αυτό το πρόβληµα. Επίσης, θα περίµενε κανείς και το καινούριο πρόβληµα να είναι επιλύσιµο σε περίπου τον ίδιο αριθµό βηµάτων. Μοιάζουν τόσο, εξάλλου, τα δύο προβλήµατα. Τα πράγµατα είναι όµως πολύ διαφορετικά! Πραγµατικά, µπορούµε να εφαρµόσουµε έναν αλγόριθµο όπως ο παραπάνω που απλά θα ξεκινά από την A και θα ακολουθεί τους δρόµους µέχρι να βρει την B, κρατώντας κάθε φορά µία σηµείωση των πόλεων που έχει επισκεφτεί. Εάν από µία πόλη µπορεί να επισκεφτεί µόνο πόλεις που έχει ήδη επισκεφτεί, τότε ο αλγόριθµος µπορεί π.χ. να επιστρέψει σε µία προηγούµενη πόλη και να ακολουθήσει κάποιον άλλο δρόµο ελπίζοντας αυτή τη φορά να βρει τη ζητούµενη διαδροµή. Εάν µελετήσουµε τον αριθµό των βηµάτων αυτού του αλγόριθµου, θα δούµε ότι µάλλον δεν είναι και τόσο µικρός! Ο αλγόριθµος αυτός µπορεί να εξερευνά διαδροµές που ξαφνικά διαπιστώνεται ότι δεν µπορεί να αποτελούν µέρος µίας καθολικής διαδροµής που περνά από όλες τις πόλεις. Και τότε ο αλγόριθµος θα πρέπει να ψάξει για άλλη διαδροµή. Μία προσεκτική ανάλυση του αλγόριθµου που προτείναµε, αποκαλύπτει ότι για έναν χάρτη µε n πόλεις, ο αριθµός των βηµάτων στη χειρότερη περίπτωση µπορεί να φθάσει, χονδρικά, µέχρι n n.ακόµη και µε τους ταχύτερους υπολογιστές στον κόσµο σήµερα, για έναν χάρτη 1000 πόλεων, θα χρειαστούν πάρα πολλά χρόνια υπολογισµού για να βρεθεί το πολυπόθητο µονοπάτι! Στο Σχήµα 4 βλέπουµε ποια αποτελέσµατα έχει η τεχνολογία όσον αφορά το πόσο µεγάλα στιγµιότυπα µπορούν να επιλυθούν σε µία ώρα (δείτε [GaJo79]). Χρόνος τρεξίµατος αλγόριθµου Μέγιστο µέγεθος στιγµιότυπου µε σηµερινή τεχνολογία 100 φορές πιο γρήγορη τεχνολογία 1000 φορές πιο γρήγορη τεχνολογία N N 1 100N N 1 n 2 N 2 10N N 2 n 3 N N 3 10N 3 n 5 N 4 2.5N N 4 2 n N N N 5 3 n N N N 6 Σχήµα 4: Το µεγαλύτερο στιγµιότυπο που επιλύεται µέσα σε µία ώρα Ίσως όµως, να σκεφτεί κανείς, να υπάρχει κάποιος καλύτερος αλγόριθµος. Αρκεί κανείς να σκεφτεί πιο προσεκτικά. Όµως ο Edmonds, όπως και πολλοί άλλοι µετέπειτα, δεν είχε κατορθώσει να βρει ένα γρήγορο αλγόριθµο γι αυτό το πρόβληµα και αµέσως διατύπωσε την εικασία ότι µάλλον δεν πρέπει να υπάρχει πολυωνυµικός αλγόριθµος γι' αυτό το πρόβληµα. Όµως, µια άλλη σηµαντική παρατήρηση, µε δεδοµένο ότι το πρόβληµα δεν φαινόταν να επιλύεται από πολυωνυµικό αλγόριθµο, ήταν ότι εάν µας
6 18 2 η Πανελλήνια ιηµερίδα µε διεθνή συµµετοχή «ιδακτική της Πληροφορικής» δοθεί µια διαδροµή που κάποιος ισχυρίζεται ότι είναι λύση ενός στιγµιότυπου του TSP, τότε είναι εύκολο υπολογιστικά να ελέγξουµε γρήγορα (δηλαδή σε πολυωνυµικό αριθµό βηµάτων) ότι πράγµατι αυτή η διαδροµή είναι η επιθυµητή. Η κλάση, λοιπόν, των προβληµάτων που έχουν αυτή την ιδιότητα ονοµάστηκε NP (συνήθως ο ορισµός δίνεται µε βάση τις µη ντετερµινιστικές µηχανές Turing αλλά, για απλούστευση, αποφύγαµε να χρησιµοποιήσουµε το φορµαλισµό αυτών των µηχανών). Προσέξτε, επίσης, ότι η κλάση P είναι υποσύνολο της κλάσης NP, δηλαδή P NP, χωρίς µέχρι σήµερα να έχει αποδειχθεί (αποτελεί σηµαντικό ανοικτό πρόβληµα της θεωρίας της πολυπλοκότητας) εάν η σχέση υποσυνόλου είναι γνήσια (δηλαδή εάν P NP). Οι ερευνητές, λοιπόν, είχαν στα χέρια τους προβλήµατα για τα οποία είχαν ήδη βρει πολυωνυµικούς αλγορίθµους επίλυσης, και προβλήµατα που αν και δεν διαφαινόταν εάν µπορούσαν να επιλυθούν από πολυωνυµικό αλγόριθµο ή όχι, παρόλα αυτά, εάν παρεχόταν µια υποψήφια λύση, υπήρχε πολυωνυµικός αλγόριθµος που να ελέγχει εάν πράγµατι αυτή είναι λύση ή όχι. Η επόµενη σκέψη ήταν να βρεθούν εκείνα τα προβλήµατα αυτής της κλάσης που πρέπει να είναι τα πιο δύσκολα να επιλυθούν δηλαδή αυτά που αντιπροσωπεύουν τη δυσκολία όλης της κλάσης µε την έννοια ότι εάν µπορούσαµε να λύναµε πολυωνυµικά ένα από αυτά, θα λύναµε πάλι πολυωνυµικά όλα τα προβλήµατα του NP. Έτσι γεννήθηκε η έννοια της αναγωγής πολυωνυµικού χρόνου από ένα πρόβληµα σε ένα άλλο. Σύµφωνα µε αυτή την έννοια, για να δείξουµε ότι ένα πρόβληµα είναι τουλάχιστον τόσο δύσκολο όσο ένα άλλο όσον αφορά την επίλυση µε πολυωνυµικό αλγόριθµο, αρκεί να βρούµε µια απεικόνιση στιγµιότυπων του πρώτου σε στιγµιότυπα του δευτέρου που γρήγορα, έτσι ώστε µια λύση στο δεύτερο πρόβληµα να αντιστοιχεί σε µία λύση του πρώτου. Έτσι, δείχνουµε ότι το δεύτερο πρόβληµα δεν µπορεί να είναι πιο εύκολο να λυθεί από το πρώτο. Τα προβλήµατα που ανήκουν στο NP και έχουν αυτή την ιδιότητα καλούνται πλήρη ως προς την κλάση NP (NPcomplete). Το πρώτο πρόβληµα που βρέθηκε να έχει αυτή την ιδιότητα, είναι το πρόβληµα της ικανοποιησιµότητας λογικών προτάσεων (SATISFIABILITY ή SAT) και η σηµαντική αυτή ανακάλυψη, γνωστή ως Θεώρηµα Cook-Levin, έγινε ανεξάρτητα στις αρχές της δεκαετίας του 70 στις πρωτοποριακές εργασίες των Stephen Cook [Cook71], Richard Karp [Karp72], και Leonid Levin [Levin73]. Την ανακάλυψη αυτή, ακολούθησαν πλήθος δηµοσιεύσεων όπου µια πληθώρα άλλων προβληµάτων βρέθηκαν να είναι πλήρη ως προς την κλάση NP ([GaJo79]). Το θεµελιώδες ερώτηµα,, που παραµένει βασανιστικά αναπάντητο, είναι το εάν ισχύει P=NP, µε την επιστηµονική κοινότητα να συγκλίνει στο ότι κάτι τέτοιο δεν ισχύει. Στο Σχήµα 5 βλέπουµε την πρωταρχική κατάταξη των προβληµάτων ανάλογα µε την ευκολία επίλυσής τους. SAT, TSP PATH NP: περιέχει δύσκολα προβλήµατα; P NP: γρήγορα επιλύσιµα προβλήµατα Σχήµα 5: Η εικόνα των προβληµάτων σε σχέση µε την πολυπλοκότητα επίλυσής τους Eρευνητικές κατευθύνσεις Μέσα από τις προσπάθειες που περιγράψαµε προηγουµένως γεννήθηκε, και σήµερα έχει πια ωριµάσει, η Θεωρία Πολυπλοκότητας. Η θεωρία αυτή εξετάζει τα διάφορα προβλήµατα ως προς το πόσο γρήγορα µπορούν να επιλυθούν και µία από τις
7 2 η Πανελλήνια ιηµερίδα µε διεθνή συµµετοχή «ιδακτική της Πληροφορικής» 19 µεγαλύτερες επιτυχίες της είναι η κατάταξή τους σε δύο µεγάλες κατηγορίες. Στην πρώτη ανήκουν τα προβλήµατα για τα οποία έχει ήδη βρεθεί κάποιος γρήγορος αλγόριθµος που για στιγµιότυπα (π.χ. όπως ο χάρτης) µεγέθους n (ο αριθµός των πόλεων του χάρτη) απαιτούνται το πολύ n 2, n 3 ή, γενικά, n k βήµατα, για κάποιο σταθερό αριθµό k. Τα προβλήµατα αυτά καλούνται προβλήµατα επιλύσιµα σε πολυωνυµικό χρόνο (λόγω της µορφής, πολυώνυµο, που έχει η έκφραση για τον αριθµό βηµάτων) και αποτελούν την περίφηµη κλάση P. H δεύτερη κατηγορία συµπεριλαµβάνει προβλήµατα όπως το TSP που είναι από τα δυσκολότερα προβλήµατα του NP και για τα οποία µέχρι τώρα δεν έχει βρεθεί γρήγορος αλγόριθµος, ενώ οι ταχύτεροι αλγόριθµοι που έχουν προταθεί απαιτούν αριθµό βηµάτων της µορφής 2 n, 3 n ή ακόµα και n n, δηλαδή εκθετικά πολλά βήµατα. Τα προβλήµατα αυτά αποτελούν την περίφηµη κλάση των NP πλήρων προβληµάτων, των πιο δύσκολων στο NP. Αυτό που πρέπει να έχουµε κατά νου είναι ότι αν και µέχρι σήµερα κανείς δεν έχει αποδείξει ότι γι αυτά τα προβλήµατα πραγµατικά δεν υπάρχουν γρήγοροι αλγόριθµοι, η Θεωρία της Πολυπλοκότητας, µέσα από µια µαθηµατικά θεµελιωµένη µεθοδολογία και επιχειρηµατολογία, δίνει πειστήρια για το ότι δεν µπορεί να υπάρχουν τέτοιοι αλγόριθµοι. Όµως η έννοια της πολυπλοκότητας δεν περιορίζεται µόνο στη µελέτη της χειρότερης περίπτωσης για την επίλυση των στιγµιότυπων ενός προβλήµατος. Σχετικά µε άλλες θεωρήσεις της έννοιας αυτής, ο Andrei Kolmogorov, ο Ray Solomonoff, και ο Gregory Chaitin πρότειναν, ανεξάρτητα ([Kolm65,Sol64,Chaitin66]) την έννοια της περιγραφικής πολυπλοκότητας ή, όπως λέγεται, Kolmogorov complexity. Ας θεωρήσουµε τις συµβολοσειρές και των 15 bits. Υπό το πρίσµα της κλασσικής θεωρίας πιθανοτήτων, οι δύο αυτές συµβολοσειρές έχουν την ίδια πιθανότητα εµφάνισης σε ένα πείραµα ρίψης ενός δίκαιου νοµίσµατος: (½) 15. Όµως, η συµβολοσειρά µπορεί εύκολα να περιγραφεί από την έκφραση 20 µηδενικά ενώ η δεν φαίνεται να επιτρέπει µια σύντοµη περιγραφή της. Η πρώτη συµβολοσειρά έχει χαµηλή περιγραφική πολυπλοκότητα ενώ η δεύτερη υψηλή. Υπάρχει σειρά θεωρητικών αποτελεσµάτων (π.χ. [OSW94]) που δείχνει ότι στιγµιότυπα που κωδικοποιούνται µε συµβολοσειρές υψηλής περιγραφικής πολυπλοκότητας, αποτελούν δύσκολα στιγµιότυπα των αντίστοιχων υπολογιστικών προβληµάτων. Το 1986 ο Leonid Levin ήταν ο επινοητής της έννοιας της πολυπλοκότητας µέσης περίπτωσης (average case complexity) προβληµάτων στην πρωτοποριακή του εργασία [Levin86]. Σε αντιστοιχία µε την NP-πληρότητα, ο Levin όρισε την πληρότητα ως προς µέση περίπτωση η οποία µέσα από κατάλληλες αναγωγές µεταξύ προβληµάτων, που όµως λαµβάνουν υπόψη την πιθανοτική κατανοµή των στιγµιότυπων (ώστε να υπάρχει η έννοια της µέσης περίπτωσης), διακρίνει µεταξύ δύσκολων προβληµάτων που είναι εύκολα στη µέση περίπτωση και δύσκολων προβληµάτων που παραµένουν δύσκολα και στη µέση περίπτωση (δείτε την ανάλυση [LeVe] για την ανάλυση µέσης πολυπλοκότητας µιας έκδοσης του προβλήµατος χρωµατισµού γραφήµατος). Επίσης, δείτε τις εργασίες [Aj96,AjDw97] όπου για την πρώτη ανάλυση προβλήµατος το οποίο έχει την ιδιότητα η πολυπλοκότητα µέσης περίπτωσης να ισούται µε την πολυπλοκότητα χειρότερης περίπτωσης. Μια άλλη όψη της πολυπλοκότητας διαφάνηκε το 1991 όταν οι Cheeseman, Taylor και Kanefsky πραγµατοποιήθηκε σειρά πειραµάτων µε το πρόβληµα του χρωµατισµού γραφηµάτων µε 3 χρώµατα. Το πρόβληµα αυτό αναφέρεται σε µία δοµή που αποτελείται από n κόµβους κάποιοι από τους οποίους συνδέονται µέσω m συνδέσµων. Ζητείται χρωµατισµός των κόµβων µε χρήση τριών, το πολύ,
8 20 2 η Πανελλήνια ιηµερίδα µε διεθνή συµµετοχή «ιδακτική της Πληροφορικής» διαφορετικών χρωµάτων έτσι ώστε κόµβοι που συνδέονται µεταξύ τους να έχουν διαφορετικό χρώµα (3-COLORING). Το πρόβληµα αυτό ανήκει στην πολύ σηµαντική οικογένεια των NP-πλήρων προβληµάτων για τα οποία συζητήσαµε πιο πάνω. Το φαινόµενο που παρατηρήθηκε στα πειράµατα ήταν το εξής: σε γραφήµατα m στα οποία ο λόγος r = βρισκόταν γύρω από µία συγκεκριµένη τιµή r 0 (που n εκτιµήθηκε πειραµατικά), οι αλγόριθµοι που χρησιµοποιήθηκαν για τον χρωµατισµό αυτών των γραφηµάτων δυσκολεύονταν στο να βρούν µία κατάλληλη ανάθεση χρωµάτων. Όµως για γραφήµατα που ο λόγος αποµακρυνόταν από την τιµή αυτή, οι αλγόριθµοι τερµάτιζαν γρήγορα. Επίσης, όταν ο λόγος αποµακρυνόταν προς τα κάτω από την τιµή r, τότε σχεδόν όλα τα γραφήµατα µε n κόµβους και m συνδέσεις είχαν 0 κάποιο χρωµατισµό µε τρία χρώµατα ενώ για λόγους πάνω από την τιµή, σχεδόν κανένα γράφηµα δεν είχε χρωµατισµό. Το φαινόµενο αυτό ονοµάζεται αλλαγή φάσης ή κατάστασης καθώς τα γραφήµατα µπορούν είτε να χρωµατίζονται µε τρία χρώµατα (η µία φάση) είτε να µην χρωµατίζονται (η άλλη φάση) και η µετάβαση από τη µία στην άλλη κατάσταση συµβαίνει απότοµα, όταν ο λόγος των δύο παραµέτρων που καθορίζουν ένα γράφηµα (οι συνδέσεις και οι κόµβοι) διασχίζει την τιµή. ιαφαίνεται, ότι γύρω από την τιµή r 0 (κατώφλι) συγκεντρώνονται «δύσκολα» γραφήµατα, που προσδίδουν στο πρόβληµα του χρωµατισµού γραφηµάτων µε τρία χρώµατα το χαρακτηριστικό του δύσκολα επιλύσιµου (NP-πλήρους) προβλήµατος. Παρόµοια αποτελέσµατα παρατηρήθηκαν και για το πρόβληµα της ικανοποιησιµότητας λογικών τύπων 3-SAT m προτάσεων πάνω σε n λογικές µεταβλητές όπου έχουµε τρεις εµφανίσεις µεταβλητών ή των συµπληρωµάτων τους σε κάθε πρόταση (δείτε την εργασία [Stam03] για µα επισκόπηση των φαινοµένων αλλαγής φάσης). Οι νέες εξελίξεις στην Τεχνολογία και οι νέες προκλήσεις Σήµερα, το ιαδίκτυο και ο Παγκόσµιος Ιστός (www) αποτελούν στην πράξη µια παγκόσµια Μηχανή, µε άφθονη εγκατεσπαρµένη πληροφορία και υπέροχες δυνατότητες άντλησής της και Επικοινωνίας. Ταυτόχρονα, οι κινητές επικοινωνίες (mobile communications & computing) επεκτείνουν τον Ιστό προσθέτοντας δυναµικά, τοπικά δίκτυα ανταλλαγής Πληροφορίας. Το όραµα της Ευρωπαϊκής Ένωσης για ιάχυτη Νοηµοσύνη (Ambient Intelligence) είναι πλέον κοντά στην υλοποίηση του. Τέλος, οι Κβαντικοί Υπολογιστές δείχνουν κάποιες θεωρητικές ελπίδες για άρση των φραγµάτων Πολυπλοκότητας. Απέναντι στις προκλήσεις αυτές, υπάρχει ανάγκη επέκτασης των θεµελιώσεων. Η προσπάθεια ήδη γίνεται και αναµένονται ενδιαφέροντα συµπεράσµατα. Βιβλιογραφία [Aj96] M. Ajtai. Generating hard instances of lattice problems. In Proc. 28 th Symposium on Theory of Computing (STOC), pp , [AjDw97] M. Ajtai and C. Dwork. A public-key cryptosystem with worst-case/averagecase equivalence. In Proc. 29 th Symposium on Theory of Computing (STOC), pp , r 0 r 0
9 2 η Πανελλήνια ιηµερίδα µε διεθνή συµµετοχή «ιδακτική της Πληροφορικής» 21 [Chaitin66] G.H. Chaitin. On the length of programs for computing finite binary sequences. Journal of the ACM 13, pp , [ChHa94] S. Chari and J. Hartmanis. On the Intellectual Terrain around NP. Technical Report, MPI-I , Max Planck Institut für Informatik, [Cook71] S. Cook. The complexity of theorem-proving procedures. In Proc. 3rd Annual ACM Symposium on Theory of Computing, pp , ACM Press, [Da58] M. Davis. Computability and unsolvability. McGraw-Hill, [GaJo79] M.R. Garey and D.S. Johnson. Computers and Intractability. Freeman, San Francisco, CA, [Go31] K. Gödel. Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme, I (On formally undecidable theorems in Principia Mathematica and related systems). Monatshefte für Math. und Physik, 38: , Για µία µετάφραση στα Αγγλικά. δείτε την αναφορά [vanhe67] πιο κάτω. [Har89] J. Hartmanis. Gödel, von Neumann and the P=?NP problem. Bulletin of the EATCS, 38: , [vanhe67] J. van Heijenoort. From Frege to Gödel: A Source Book in Mathematical Logic. MA: Harvard University Press, [HoUl79] J.E. Hopcroft and J.D. Ullman. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, [Karp72] R.M. Karp. Reducibility among combinatorial problems. In Miller and Thatcher (eds.) Complexity of Computer Computations, pp , Plenum Press, [Kolm65] A. Kolmogorov. Three approaches to the concept of The Amount of Information. Probl. of Inform. Transm., Vol. 1/1, [Levin73] L. Levin. Universal'nyĭe perebornyĭe zadachi (universal search problems: in Russian). Problemy Peredachi Informatsii 9(3), pp , [Levin86] L.A. Levin. Average case complete problems. SIAM Journal on Computing 15, pp , [LeVe] L.A. Levin and R. Venkatesan. An Average Case NP-Complete Graph Problem. Submitted. [OSW94] P. Orponen, K. Ko, U. Schöning, and O. Watanabe, Instance Complexity. Journal of the ACM 41, , [Papa94] C.H. Papadimitriou. Computational Complexity. Addison - Wesley, [Sol64] R.J. Solomonoff. A formal theory of inductive inference. Information and Control, Vol. 7/1, pp. 1-22, [Stam03] Y. C. Stamatiou Threshold Phenomena: The Computer Scientist's Viewpoint, EATCS (European Association of Theoretical Computer Science) Bulletin 80, , June [Tu36] A.M. Turing. On computable numbers, with an application to the Entsceidungsproblem. Proc. London Math. Society 2(43): , Μία διόρθωση στην αρχική εργασία: 2(43): , [WhRu10] A.N. Whitehead and B. Russell. Principia Mathematica. Τρεις τόµοι, Cambridge University Press, London, 1910, 1912, 1913.
L A P. w L A f(w) L B (10.1) u := f(w)
Κεφάλαιο 10 NP -πληρότητα Σύνοψη Οι γλώσσες στην κλάση πολυπλοκότητας P μπορούν να αποφασίζονται σε πολωνυμικό χρόνο. Οι επιστήμονες πιστεύουν, αν και δε μπορούν να το αποδείξουν ότι η P είναι ένα γνήσιο
Διαβάστε περισσότεραΥπολογίσιμες Συναρτήσεις
Υπολογίσιμες Συναρτήσεις Σ Π Υ Ρ Ι Δ Ω Ν Τ Ζ Ι Μ Α Σ Δ Τ Ο Μ Ε Α Σ Τ Μ Η Μ Α Μ Α Θ Η Μ Α Τ Ι Κ Ω Ν Σ Χ Ο Λ Η Θ Ε Τ Ι Κ Ω Ν Ε Π Ι Σ Τ Η Μ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Ι Ω Α Ν Ν Ι Ν Ω Ν Υπολογίσιμες Συναρτήσεις
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία
Διαβάστε περισσότεραΘεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος
Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος
Διαβάστε περισσότεραΘεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr
Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας
Διαβάστε περισσότεραΘεωρία Υπολογισµού Theory of Computation
1 ο µέρος Θεωρία Υπολογισµού Theory of Computation 1 Υπολογισιµότητα - Computability o Υπολογισιµότητα (Computability) n Τι µπορεί να υπολογιστεί και τι όχι; o Υπολογιστική πολυπλοκότητα (Computational
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών
ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών 1 Συναρτήσεις και ο υπολογισµός τους 2 Μηχανές Turing 3 Καθολικές γλώσσες προγραµµατισµού 4 Μια µη υπολογίσιµη συνάρτηση 5 Πολυπλοκότητα προβληµάτων 1 Συναρτήσεις Μία συνάρτηση
Διαβάστε περισσότερα11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών
ΚΕΦΑΛΑΙΟ : Θεωρία υπολογισµών. Συναρτήσεις και ο υπολογισµός τους. Μηχανές Turig.3 Καθολικές γλώσσες προγραµµατισµού.4 Μια µη υπολογίσιµη συνάρτηση.5 Πολυπλοκότητα προβληµάτων.6 Κρυπτογραφία δηµόσιου κλειδιού.
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ Ιστότοπος Βιβλίου http://www.iep.edu.gr/ και «Νέα Βιβλία ΙΕΠ ΓΕΛ και ΕΠΑΛ» 2 ΠΕΡΙΕΧΟΜΕΝΑ
Διαβάστε περισσότεραCSC 314: Switching Theory
CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2
Διαβάστε περισσότεραΕλληνικό Ανοικτό Πανεπιστήµιο Σπουδές στην Πληροφορική. Φαινόµενα πολυπλοκότητας στα Μαθηµατικά και στη Φυσική: ύο όψεις του ίδιου νοµίσµατος;
Ελληνικό Ανοικτό Πανεπιστήµιο Σπουδές στην Πληροφορική Φαινόµενα πολυπλοκότητας στα Μαθηµατικά και στη Φυσική: ύο όψεις του ίδιου νοµίσµατος; Γιάννης Κ. Σταµατίου ΣΕΠ ΠΛΗ 10 Πάτρα, Ιουνιος 2003 οµή και
Διαβάστε περισσότεραΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 13: Πολυωνυμική αναγωγή Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ
Ενότητα 4 Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 9 P vs NP 1 / 13 Δυσκολία επίλυσης υπολογιστικών προβλημάτων Κάποια προβλήματα είναι εύκολα να λυθούν με
Διαβάστε περισσότεραΓνωριµία. Θεωρία Υπολογισµού: Εισαγωγικά. Αντικείµενο Μαθήµατος. Επικοινωνία.
Γνωριµία Θεωρία Υπολογισµού: Εισαγωγικά Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς ιδάσκων: Ορέστης Τελέλης e-mail: telelis@unipi.gr Ωρες γραφείου (502, Γρ.Λαµπράκη
Διαβάστε περισσότεραΥπολογιστικό Πρόβληµα
Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις
Διαβάστε περισσότεραΠολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης
Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι
Διαβάστε περισσότεραΥποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη
Υποθέσεις - - Θεωρήματα Μαθηματικά Πληροφορικής 1ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 3η ενότητα: Βασικές έννοιες θεωρίας υπολογισμού: υπολογιστικά προβλήματα, υπολογισιμότητα, πολυπλοκότητα Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές
Διαβάστε περισσότεραΤο 10ο πρόβλημα του Hilbert I
Το 10ο πρόβλημα του Hilbert I Το 1900 στο Παρίσι, ο David Hilbert έκανε μια ομιλία για τα 23 πιο σπουδαία μαθηματικά προβλήματα που κληρονομούσε ο 20ος αιώνας από τον 19ο. Το 10ο ήταν: Απόφανση περί επιλυσιμότητας
Διαβάστε περισσότεραΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση
Πρόλογος του επιµελητή xiii Πρόλογος στην πρώτη έκδοση xv Προς τους ϕοιτητές.......................... xv Προς τους διδάσκοντες........................ xvii Ηπρώτηέκδοση........................... xviii
Διαβάστε περισσότερακεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών
κεφάλαιο 1 Βασικές Έννοιες Επιστήμη 9 1Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Στόχοι Στόχος του κεφαλαίου είναι οι μαθητές: να γνωρίσουν βασικές έννοιες και τομείς της Επιστήμης. Λέξεις κλειδιά Επιστήμη
Διαβάστε περισσότεραΚλάσεις Πολυπλοκότητας
Κλάσεις Πολυπλοκότητας Παύλος Εφραιμίδης pefraimi ee.duth.gr Κλάσεις Πολυπλοκότητας 1 Οι κλάσεις πολυπλοκότητας P και NP P: Polynomial ΗκλάσηP περιλαμβάνει όλα τα υπολογιστικά προβλήματα που μπορούν
Διαβάστε περισσότεραHY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι
HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Πέµπτη, 19/05/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/22/2016 1 1 5/22/2016 2 2 Τι έχουµε δει µέχρι τώρα Κατευθυνόµενοι µη κατευθυνόµενοι
Διαβάστε περισσότεραΈργο µιας χρονικά µεταβαλλόµενης δύναµης
Έργο µιας χρονικά µεταβαλλόµενης δύναµης Κ. Ι. Παπαχρήστου Τοµέας Φυσικών Επιστηµών, Σχολή Ναυτικών οκίµων papachristou@snd.edu.gr Θα συζητήσουµε µερικά λεπτά σηµεία που αφορούν το έργο ενός χρονικά µεταβαλλόµενου
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 1η ενότητα: Βασικές έννοιες θεωρίας υπολογισμού: υπολογιστικά προβλήματα, υπολογισιμότητα, πολυπλοκότητα Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης
Διαβάστε περισσότεραΕνότητα 2 Πρόβλημα σελ 13-18
Πρόβλημα Ποιό θεωρείτε το σημαντικότερο πρόβλημα της ανθρωπότητας και ποιο το σημαντικότερο πρόβλημα που χρήζει αντιμετώπισης στο σχολείο ; Με τον όρο Πρόβλημα προσδιορίζεται μια κατάσταση η οποία χρήζει
Διαβάστε περισσότεραΗ NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.
Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση
Διαβάστε περισσότεραΕπίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα
Αλγόριθμοι πολυωνυμικού χρόνου Ένας αλγόριθμος πολυωνυμικού χρόνου έχει χρόνο εκτέλεσης όπου είναι μία (θετική) σταθερά Κλάση πολυπλοκότητας : περιλαμβάνει τα προβλήματα που επιδέχονται λύση σε πολυωνυμικό
Διαβάστε περισσότεραChapter 7, 8 : Time, Space Complexity
CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 19 December 2008 1 1 Κλάση NP 2 Μη-Ντετερμινιστικές Μηχανές Turing: Eίναι δυνατόν σε μια συνολική κατάσταση να υπάρχουν πολλές δυνατές επόμενες
Διαβάστε περισσότεραΚεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιµότητα Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβληµα αναζήτησης (search problem) Ένα πρόβληµα αναζήτησης είναι ένα πρόβληµα στο
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος
Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες
Διαβάστε περισσότεραΣΤΟΙΧΕΙΑ ΘΕΜΕΛΙΩΣΕΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΗΧΑΝΩΝ ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ ΚΑΙ ΤΟ ΛΥΚΕΙΟ
ΜΕΡΟΣ ΤΡΙΤΟ Ένταξη των Τ.Π.Ε. στην διδασκαλία και τη µάθηση I) ΣΤΟΙΧΕΙΑ ΘΕΜΕΛΙΩΣΕΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΗΧΑΝΩΝ ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ ΚΑΙ ΤΟ ΛΥΚΕΙΟ Παύλος Γ. Σπυράκης (google: Paul Spirakis) Ερευνητικό Ακαδηµαϊκό
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και
Διαβάστε περισσότεραΘεμελιώδη Θέματα Επιστήμης Υπολογιστών
Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνοσεμφε 1η ενότητα: Βασικές έννοιες θεωρίας υπολογισμού Διδάσκοντες Θεωρία: Στάθης Ζάχος, Άρης Παγουρτζής Εργαστήριο: Δώρα Σούλιου Βοηθός διδασκαλίας: Θανάσης
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο ΣHMΜY
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο ΣHMΜY 2η ενότητα: Βασικές έννοιες θεωρίας υπολογισμού: υπολογιστικά προβλήματα, υπολογισιμότητα, πολυπλοκότητα Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κλάσεις P, NP NP-πληρότητα 15 Απριλίου 2008 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να περιγράψουμε με
Διαβάστε περισσότεραΥποθέσεις - Θεωρήματα. Μαθηματικά Πληροφορικής 1ο Μάθημα. Η χρυσή τομή. Υποθέσεις - Εικασίες
Υποθέσεις - - Θεωρήματα Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Μαθηματικά Πληροορικής ο Μάθημα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι
Διαβάστε περισσότεραinvariante Eigenschaften spezieller binärer Formen, insbesondere der
Κουλακίδου Π. Ιστορία των Μαθηματικών Υπεύθυνη Καθηγήτρια: Χ. Χαραλάμπους Εισαγωγή David Hilbert (1862 Königsberg - 1943 Göttingen). Διδακτορικό το 1885 υπό την επίβλεψη του Ferdinand von Lindemann με
Διαβάστε περισσότεραΥπολογιστική Πολυπλοκότητα
Υπολογιστική Πολυπλοκότητα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Γιατί κάποια (επιλύσιμα) προβλήματα είναι δύσκολο
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα ΕΙΣΑΓΩΓΉ ΣΤΟ ΜΑΘΗΜΑ
Θεωρία Υπολογισμού και Πολυπλοκότητα ΕΙΣΑΓΩΓΉ ΣΤΟ ΜΑΘΗΜΑ Άννα Φιλίππου annap@cs.ucy.ac.cy ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 0-1 Στοιχεία του μαθήματος Διδάσκουσα: Άννα Φιλίππου Γραφείο: FST-01
Διαβάστε περισσότεραHY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είδαµε την προηγούµενη φορά. Συνεκτικότητα Γράφοι
HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Παρασκευή, 20/05/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/22/2016 1 1 5/22/2016 2 2 Τι είδαµε την προηγούµενη φορά Συνεκτικότητα Υπογράφηµα
Διαβάστε περισσότεραΕνότητα 1 η Επιστήμη των Υπολογιστών
Ενότητα 1 η 1.1. Επιστήμη των Υπολογιστών Στόχοι του κεφαλαίου είναι οι μαθητές - να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και - να μπορούν να αναφερθούν στα πεδία τόσο της Θεωρητικής
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w
Διαβάστε περισσότεραΤο πρόβλημα μονοδρόμησης (The One-Way Street Problem)
Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα Σχετίζεται με τη διαχείριση της κίνησης οχημάτων στους δρόμους Αν δεν υπήρχαν καθυστερήσεις στην κίνηση στις πόλεις Αποφυγή σπατάλης ενέργειας
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα Τι θα κάνουμε σήμερα Εισαγωγικά Χρονική Πολυπλοκότητα (7) Κλάση P (7.2) Κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) Χωρική
Διαβάστε περισσότεραΑλγόριθμοι για αυτόματα
Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε
Διαβάστε περισσότεραΑποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;
Αποφασισιµότητα / Αναγνωρισιµότητα Ορέστης Τελέλης telelis@unipi.gr Μη Επιλύσιµα Προβλήµατα Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 2/12/2015 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Αποφασισιµότητα 2/12/2015
Διαβάστε περισσότεραΜια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.
Οι γλώσσες των Μηχανών Turing Αποφασισιµότητα / Αναγνωρισιµότητα Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L Αποδέχεται όταν (η είσοδος στην TM) w L. Ορέστης Τελέλης telelis@unipi.gr Τµήµα
Διαβάστε περισσότεραChapter 9: NP-Complete Problems
Θεωρητική Πληροφορική Ι: Αλγόριθμοι και Πολυπλοκότητα Chapter 9: NP-Complete Problems 9.3 Graph-Theoretic Problems (Συνέχεια) 9.4 Sets and Numbers Γιώργος Αλεξανδρίδης gealexan@mail.ntua.gr Κεφάλαιο 9:
Διαβάστε περισσότεραBlum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος
Blum Complexity Αλγόριθμοι και Πολυπλοκότητα ΙΙ Παναγιώτης Γροντάς µπλ Δεκέμβριος 2011 Ιστορικά Στοιχεία Manuel Blum (1938, Caracas Venezuela) Turing Award (1995) Foundations Of Computational Complexity
Διαβάστε περισσότεραΚεφάλαιο 9 Συναρτησιακός προγραμματισμός Υπολογισμός με συναρτήσεις
Κεφάλαιο 9 Συναρτησιακός προγραμματισμός Υπολογισμός με συναρτήσεις Σύνοψη Σκοπός του κεφαλαίου αυτού είναι η εισαγωγή του αναγνώστη στη φιλοσοφία του συναρτησιακού προγραμματισμού. Ο συναρτησιακός προγραμματισμός
Διαβάστε περισσότεραΘεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ
Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ 2η ενότητα: Βασικές έννοιες θεωρίας υπολογισμού: υπολογιστικά προβλήματα, υπολογισιμότητα, πολυπλοκότητα Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης
Διαβάστε περισσότεραΘεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων
Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Απόστολος Φίλιππας Τµήµα Μηχανικών Η/Υ και Πληροφορικής 19 Μαΐου,
Διαβάστε περισσότεραnum(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))
Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση
Διαβάστε περισσότεραΥπολογιστική Πολυπλοκότητα
Υπολογιστική Πολυπλοκότητα ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότερα1 Υποθέσεις και Θεωρήµατα
Υποθέσεις και Θεωρήµατα Στο Λύκειο αλλά πολλές ϕορές και στο Πανεπιστήµιο τα µαθηµατικά µας παρουσιάζονται σαν έτοιµο προΐόν. Βλέπουµε συνήθως τη µια πλευρά των πραγµάτων, τη ϕωτεινή πλευρά όπου ϐρίσκονται
Διαβάστε περισσότεραa 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1
Α44 ΚΡΥΠΤΟΓΡΑΦΙΑ ΣΗΜΕΙΩΣΕΙΣ #12 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ 1 Πλεγµατα Εστω ο διανυσµατικός χώρος R d διάστασης d Ο χώρος R d έρχεται µε ένα εσωτερικό γινόµενο x, y = d i=1 x iy i και τη σχετική νόρµα x = x,
Διαβάστε περισσότεραΣτοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Διαβάστε περισσότεραΠροβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 26: Καθολική Μηχανή Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Διαβάστε περισσότεραΕισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΕλληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 3 : Γραφήματα & Αποδείξεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραChapter 7, 8 : Time, Space Complexity
CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να
Διαβάστε περισσότεραΟρισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:
Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C
Διαβάστε περισσότεραΚλάση NP, NP-Complete Προβλήματα
Κλάση NP, NP-Complete Προβλήματα Βαγγέλης ούρος douros@aueb.gr 1 11/6/2012 Αλγόριθμοι, Εαρινό Εξάμηνο 2012, Φροντιστήριο #14 Προβλήματα Απόφασης & Βελτιστοποίησης 2 Πρόβλημα Απόφασης: Κάθε πρόβλημα που
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα
Διαβάστε περισσότεραΗ έννοια του προβλήματος
Η έννοια του προβλήματος Οι άνθρωποι, από την πρώτη στιγμή της ύπαρξής τους, ήρθαν αντιμέτωποι με ποικίλα προβλήματα, τόσο στις καθημερινές τους δραστηριότητες όσο και σε διάφορους επιστημονικούς τομείς.
Διαβάστε περισσότεραΑΕΠΠ Ερωτήσεις θεωρίας
ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος
Διαβάστε περισσότεραΘεωρία Υπολογισμού. Ενότητα 7 : Ντετερμινιστικά Πεπερασμένα Αυτόματα, Κανονικές Πράξεις. Αλέξανδρος Τζάλλας
Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 7 : Ντετερμινιστικά Πεπερασμένα Αυτόματα, Κανονικές Πράξεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Τμήμα Μηχανικών
Διαβάστε περισσότεραΚεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα αναζήτησης είναι ένα πρόβλημα στο
Διαβάστε περισσότεραILP-Feasibility conp
Διάλεξη 19: 23.12.2014 Θεωρία Γραμμικού Προγραμματισμού Γραφέας: Χαρίλαος Τζόβας Διδάσκων: Σταύρος Κολλιόπουλος 19.1 Θεωρία Πολυπλοκότητας και προβλήματα απόφασης Για να μιλήσουμε για προβλήματα και τον
Διαβάστε περισσότεραΚεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,
Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Παύλος Εφραιμίδης V1.1, 2015-01-19 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα
Διαβάστε περισσότεραΘεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 1 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΓΡΑΦΗΜΑΤΩΝ Σταύρος Δ. Νικολόπουλος 2017-18 www.cs.uoi.gr/~stavros Σχετικά με το Μάθημα Ώρες γραφείου: Δευτέρα Παρασκευή
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι
Διαβάστε περισσότεραΑσκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1
Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n
Διαβάστε περισσότεραΥπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5
Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες ερωτήσεις. Στις απαντήσεις
Διαβάστε περισσότεραt M (w) T ( w ) O( n) = O(n 2 )
Κεφάλαιο 9 Υπολογιστική Πολυπλοκότητα Σύνοψη Πέρα από το ερώτημα του αν για ένα πρόβλημα υπάρχει Μηχανή Turing, που το επιλύει, μας απασχολεί επίσης και το ερώτημα του αν ένα πρόβλημα είναι «πρακτικά»
Διαβάστε περισσότερα771 Η - Θεωρία Υπολογισµών και Αλγορίθµων
771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 4 ο ιδάσκων: Α. Ντελόπουλος Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και
Διαβάστε περισσότεραροµολόγηση πακέτων σε δίκτυα υπολογιστών
ροµολόγηση πακέτων σε δίκτυα υπολογιστών Συµπληρωµατικές σηµειώσεις για το µάθηµα Αλγόριθµοι Επικοινωνιών Ακαδηµαϊκό έτος 2011-2012 1 Εισαγωγή Οι παρακάτω σηµειώσεις παρουσιάζουν την ανάλυση του άπληστου
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού
ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού 12.1 Συναρτήσεις και ο υπολογισμός τους 12.2 Μηχανές Turing 12.3 Καθολικές γλώσσες προγραμματισμού 12.4 Μια μη υπολογίσιμη συνάρτηση 12.5 Πολυπλοκότητα προβλημάτων 12.6
Διαβάστε περισσότεραΚατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π
Περιορισμοί Αλγοριθμικής Ισχύος Κατηγοριοποίηση πολυπλοκοτήτων Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Επανάληψη Μαθήματος Το Μάθημα σε μια Διαφάνεια Υπολογιστικά μοντέλα Κανονικές Γλώσσες Ντετερμινιστικά Αυτόματα Μη Ντετερμινιστικά Αυτόματα Κανονικές Εκφράσεις
Διαβάστε περισσότεραΜηχανές Turing (T.M) I
Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κυττάρου Γράψε 1 ή 0 στο τρέχον κύτταρο Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κύτταρο
Διαβάστε περισσότεραΦροντιστήριο 8 Λύσεις
Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1
Διαβάστε περισσότεραΔιαλογικά Συσ τήματα Αποδείξεων Διαλογικά Συστήματα Αποδείξεων Αντώνης Αντωνόπουλος Κρυπτογραφία & Πολυπλοκότητα 17/2/2012
Αντώνης Αντωνόπουλος Κρυπτογραφία & Πολυπλοκότητα 17/2/2012 Εισαγωγή Ορισμός Επέκταση του NP συστήματος αποδείξεων εισάγωντας αλληλεπίδραση! Ενα άτομο προσπαθεί να πείσει ένα άλλο για το ότι μία συμβολοσειρά
Διαβάστε περισσότεραΗ ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ)
Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ) ΜΙΧΑΛΗΣ ΤΖΟΥΜΑΣ ΕΣΠΟΤΑΤΟΥ 3 ΑΓΡΙΝΙΟ. ΠΕΡΙΛΗΨΗ Η έννοια της συνάρτησης είναι στενά συνυφασµένη µε τον πίνακα τιµών και τη γραφική παράσταση.
Διαβάστε περισσότεραΣε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing
Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές
Διαβάστε περισσότεραΑλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα
Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα Διδάσκοντες: E. Ζάχος, Α. Παγουρτζής Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα 7ο εξάμηνο ΣHMΜY Εισαγωγή Διδάσκοντες: Άρης Παγουρτζής, Δώρα Σούλιου Στάθης Ζάχος, Δημήτρης Σακαβάλας Επιμέλεια διαφανειών: Άρης Παγουρτζής www.corelab.ntua.gr/courses/algorithms
Διαβάστε περισσότεραΟικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης
Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2015 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ταξινόµηση και Ουρές Προτεραιότητας Σκοπός της 2 ης εργασίας είναι η εξοικείωση
Διαβάστε περισσότεραΓραµµική Αλγεβρα. Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής
Γραµµική Αλγεβρα Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΤο Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε
Οµοφωνία σε σύστηµα µε αϖοτυχίες κατάρρευσης διεργασιών Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες
Διαβάστε περισσότεραΜαθηµατικά για Πληροφορική
Μαθηµατικά για Πληροφορική 1ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 2/10/08 2/10/08 1 / 1 Γενικό πλάνο 1 Σχετικά µε το µάθηµα 2 Υποθεσεις -
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα ηµήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Οργανωτικά ιδάσκοντες:. Φωτάκης και. Σούλιου (και Σ. Ζάχος στις πρόσθετες
Διαβάστε περισσότεραΘεωρία Υπολογισμού. Ενότητα 5 : Λογικά Επιχειρήματα, Αλφάβητα & Γλώσσες (2/2) Αλέξανδρος Τζάλλας
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 5 : Λογικά Επιχειρήματα, Αλφάβητα & Γλώσσες (2/2) Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα Τμήμα Μηχανικών
Διαβάστε περισσότεραΦροντιστήριο 8 Λύσεις
Άσκηση 1 Φροντιστήριο 8 Λύσεις Θεωρήστε την πιο κάτω Μηχανή Turing όπου όλες οι μεταβάσεις που απουσιάζουν οδηγούν στην κατάσταση απόρριψης (q απόρριψης). Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία
Διαβάστε περισσότερα