Συνδυαστική Βελτιστοποίηση

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Συνδυαστική Βελτιστοποίηση"

Transcript

1 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 1 Άγγελος Σιφαλέρας sifalera@uom.gr 4 η Διάλεξη

2 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 2 Knapsack Problem, (1/9) Ένας επενδυτής διαθέτει ένα χρηματικό ποσό b και εξετάζει την υλοποίηση n διαφορετικών επενδύσεων. Η επένδυση i = 1,..,n απαιτεί κόστος c i και αποφέρει κέρδος p i. Κάθε επένδυση μπορεί είτε να γίνει ολικά ή καθόλου, δηλαδή δεν είναι εφικτή η μερική υλοποίηση της. Ο επενδυτής θέλει να αποφασίσει ποιες επενδύσεις να χρηματοδοτήσει, ούτως ώστε το συνολικό κέρδος του να μεγιστοποιηθεί, χωρίς το συνολικό ποσό που απαιτείται για την υλοποίηση των επιλεγμένων επενδύσεων να υπερβαίνει το ύψος του διαθέσιμου προϋπολογισμού. Για τη μορφοποίηση αυτού του προβλήματος ορίζουμε δυαδικές μεταβλητές απόφασης: x i 1, εάν η επένδυση i υλοποιηθεί = 0, αλλιώς

3 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 3 Knapsack Problem, (2/9) Η μαθηματική μορφοποίηση του προβλήματος είναι: max z= s.t. x j i i {0,1} px i i cx i i b Σε περίπτωση που μια επένδυση μπορεί να υλοποιηθεί περισσότερες από μια φορές, τότε η αντίστοιχη μεταβλητή απόφασης δεν είναι δυαδική, αλλά μπορεί να πάρει οποιαδήποτε μη αρνητική ακέραια τιμή. Το πρόβλημα του σακιδίου είναι από τα πιο ευρέως χρησιμοποιούμενα προβλήματα στην περιοχή του μαθηματικού προγραμματισμού και βρίσκει εφαρμογές σε συστήματα επικοινωνιών, μεταφορών, παραγωγής κ.α.

4 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 4 Knapsack Problem, παράδειγμα (3/9) Έστω ότι ένας διαρρήκτης ο οποίος έχει ένα σακίδιο το οποίο σηκώνει μέχρι και 100kg, επιθυμεί να κλέψει κάποια από τα παρακάτω αντικείμενα τα οποία βρίσκει σε ένα σπίτι: i p i c i Ποια αντικείμενα θα έπρεπε να επιλέξει? (Αντίστοιχο κλασικό παράδειγμα υπάρχει και με ορειβάτη ο οποίος κουβαλάει το σακίδιο του )

5 Knapsack Problem, εφαρμογή (4/9) Έστω ότι έχουμε υπολογίσει n αρχεία δεδομένων αποτελεσμάτων (output files), τα οποία θέλουμε να αποθηκεύσουμε, αλλά έχουμε διαθέσιμο αποθηκευτικό χώρο μονάχα W bytes. Κάθε αρχείο i έχει μέγεθος w i bytes και απαιτεί p i λεπτά να υπολογιστεί ξανά από την αρχή. Επιθυμούμε να αποφύγουμε, όσο είναι δυνατόν, το γεγονός να τα επαναϋπολογίσουμε, όποτε χρειαζόμαστε να βρούμε ένα υποσύνολο αυτών των αρχείων αποτελεσμάτων τα οποία και θα αποθηκεύσουμε έτσι ώστε: Το συνολικό μέγεθος των επιλεγμένων αρχείων να μην ξεπερνάει τα W bytes. O συνολικός χρόνος υπολογισμού των αποθηκευμένων αρχείων να είναι όσο το δυνατόν μεγαλύτερος. Δεν μπορούμε να αποθηκεύσουμε μόνο ένα μέρος από το κάθε αρχείο, παρά μόνο ολόκληρο ή καθόλου. Άρα, με ποιόν τρόπο θα πρέπει να επιλέξουμε τα αρχεία? Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 5

6 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 6 Knapsack Problem, με πολλαπλούς περιορισμούς (5/9) Εάν υπάρχουν περισσότεροι από ένας περιορισμοί (π.χ., ένα όριο στο συνολικό όγκο και ένα όριο στο βάρος των αντικειμένων, όπου όμως ο όγκος και το βάρος ενός αντικειμένου δεν σχετίζονται), προκύπτει το knapsack problem με πολλαπλούς περιορισμούς, multi-dimensional knapsack problem, ή m-dimensional knapsack problem. Σε αυτήν την κατηγορία προβλημάτων δεν αναφερόμαστε στο σχήμα των αντικειμένων. Αυτό το πρόβλημα έχει διάφορες παραλλαγές, όπως π.χ. με μεταβλητές που λαμβάνουν δυαδικές τιμές, ή με μεταβλητές, φραγμένες ή μη, που παίρνουν ακέραιες τιμές, όπως για παράδειγμα: max z = n j= 1 n s.t. wx W, 1 i m j= 1 j j ij j i x Ν, 1 j n j px

7 Knapsack-like Problems, bin packing problem (6/9) Εάν έχουμε έναν αριθμό φορτηγών οχημάτων (containers) ιδίου μεγέθους, και επιθυμούμε να στοιβάξουμε όλα τα n αντικείμενα (π.χ., παλέτες προϊόντων) σε όσο το δυνατόν λιγότερα φορτηγά οχήματα, το πρόβλημα που προκύπτει αναφέρεται στη βιβλιογραφία ως bin packing problem. Η μαθηματική του μορφοποίηση περιλαμβάνει δυαδικές μεταβλητές αποφάσεων: y i =1 ή 0, εφόσον το i φορτηγό όχημα χρησιμοποιείται ή όχι αντίστοιχα: min z = s.t. n i= 1 n j= 1 n i= 1 x ij y i wx x ij j ij y = 1 W yi { } [ n] [ n], 0,1 i i 1, (containers), j 1, (items) Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 7

8 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 8 Knapsack-like Problems, bin packing problem (7/9) Για παράδειγμα, όταν ένα ferry boat φορτώνεται, οι στρατηγικές με τις οποίες χωρούν τα περισσότερα οχήματα σε κάθε ταξίδι μειώνει τους χρόνους αναμονής και κάνουν τη βέλτιστη χρήση των διαθέσιμων πόρων.

9 Knapsack Problem, βιβλιογραφία (8/9) Hans Kellerer, Ulrich Pferschy & David Pisinger, Knapsack Problems, Springer, Silvano Martello & Paolo Toth, Knapsack Problems: Algorithms and Computer Implementations, Wiley-Interscience Series in Discrete Mathematics and Optimization, Εφαρμογές στην κρυπτογραφία: Merkle, Ralph and Martin Hellman, (1978) Hiding information and signatures in trapdoor knapsacks, IEEE Transactions on Information Theory, 24(5), Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 9

10 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 10 Knapsack Problem, μέθοδοι επίλυσης (9/9) Πλήρη απαρίθμηση (brute force): Δοκιμάζουμε όλους τους πιθανούς συνδυασμούς αντικειμένων. Πόσοι είναι? Υπάρχουν 2 n πιθανοί συνδυασμοί αντικειμένων Quiz: Έστω ότι, έχουμε στη διάθεση μας έναν σύγχρονο Η/Υ με επεξεργαστή τελευταίας γενιάς ο οποίος διενεργεί τον κάθε έλεγχο σε 10-6 δευτερόλεπτα. Πόσο υπολογιστικό χρόνο εκτιμάτε ότι απαιτείται για την επίλυση ενός στιγμιότυπου προβλήματος με n = 40 μεταβλητές? Υπάρχουν καλύτερες μέθοδοι επίλυσης από τη μέθοδο πλήρη απαρίθμησης? Απάντηση: Δυναμικός προγραμματισμός.

11 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 11 Ανάλυση Αλγορίθμων & Υπολογιστική Πολυπλοκότητα Εισαγωγή Προβλήματα Υπολογιστικά προβλήματα Στιγμιότυπα περιπτώσεις Διάσταση προβλήματος: αριθμός που δηλώνει πόσο μεγάλο είναι ένα πρόβλημα. Ασυμπτωτικός ρυθμός αύξησης (Asymptotic growth rate): Ένας τρόπος σύγκρισης συναρτήσεων που αγνοεί σταθερές και δεδομένα εισόδου μικρής διάστασης. Ορισμός: Δοθέντων δυο κατάλληλων συναρτήσεων g(n) και h(n) θα συμβολίζουμε με Θ(h(n), g(n)) το σύνολο των συναρτήσεων t(n) για τις οποίες υπάρχουν σταθερές Α, B > 0 τέτοιες ώστε να ισχύει η σχέση: Βh(n) t(n) Ag(n), για n = 1, 2,

12 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 12 Μεγάλο Θήτα (Big-theta) Θ( g(n) ): σύνολο συναρτήσεων t(n) που οι τιμές τους αυξάνουν με τον ίδιο ρυθμό όπως η g(n). n o t(n) Θ( g(n) ) ή Βg(n) t(n) Αg(n)

13 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 13 Μεγάλο Όμικρον (Big-oh) O( g(n) ): σύνολο συναρτήσεων t(n) που οι τιμές τους αυξάνουν όχι γρηγορότερα από την g(n). n o t(n) Θ( 0, g(n) ) ή t(n) O( g(n) ) ή t(n) Ag(n)

14 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 14 Μεγάλο Ωμέγα (Big-omega) Ω( g(n) ): σύνολο συναρτήσεων t(n) που οι τιμές τους αυξάνουν τουλάχιστον τόσο γρήγορα όπως η g(n). n o t(n) Θ( g(n), 0 ) ή t(n) Ω( g(n) ) ή Βg(n) t(n)

15 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 15 Εμπειρική πολυπλοκότητα Στην ανάλυση αυτή κατασκευάζονται με τον ηλεκτρονικό υπολογιστή ομάδες προβλημάτων με ποικίλες (συνήθως αυξανόμενες) διαστάσεις. Τα προβλήματα κάθε ομάδας λύνονται με διαφορετικούς αλγόριθμους και υπολογίζονται οι μέσοι χρόνοι κάθε ομάδας για κάθε αλγόριθμο. Συγκρίνοντας τους μέσους χρόνους καθώς η διάσταση αυξάνει, είναι δυνατόν να εξάγουμε συμπεράσματα για τη σχετική αποτελεσματικότητα των αλγόριθμων.

16 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 16 Παράδειγμα υπολογιστικής μελέτης σε matlab (1/4) Κατασκευή με Η/Υ ομάδων προβλημάτων με αυξανόμενες διαστάσεις. Τα προβλήματα κάθε ομάδας λύνονται με διαφορετικούς αλγόριθμους και υπολογίζονται οι μέσοι χρόνοι κάθε ομάδας για κάθε αλγόριθμο. Σύγκριση των μέσων χρόνων καθώς η διάσταση αυξάνει. Εξαγωγή συμπερασμάτων για τη σχετική αποτελεσματικότητα των αλγόριθμων.

17 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 17 Παράδειγμα υπολογιστικής μελέτης σε matlab (2/4) Κατασκευή 10 ομάδων προβλημάτων, με αυξανόμενες διαστάσεις από έως , με βήμα Για κάθε ομάδα, δημιουργούμε 5 στιγμιότυπα. Τα 10 * 5 = 50 διαφορετικά προβλήματα θα λυθούν με 3 διαφορετικούς αλγόριθμους ταξινόμησης και θα υπολογιστούν οι μέσοι χρόνοι κάθε ομάδας για κάθε αλγόριθμο. Γράφημα που καταδεικνύει τη σύγκριση των μέσων χρόνων, καθώς η διάσταση αυξάνει.

18 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 18 Παράδειγμα υπολογιστικής μελέτης σε matlab (3/4) function study cpu_selectsort = [ ]; cpu_bubblesort = [ ]; cpu_insertsort = [ ] ; for i = 1000 : 1000 : cpu_instance_selectsort = 0 ; cpu_instance_bubblesort = 0 ; cpu_instance_insertsort = 0 ; for j = 1:5 A = round(1000 * rand(1,i) ) ; [T, time] = selectsort(a) ; cpu_instance_selectsort = cpu_instance_selectsort + time ; [T, time] = bubblesort(a) ; cpu_instance_bubblesort = cpu_instance_bubblesort + time ; [T, time] = insertsort(a) ; cpu_instance_insertsort = cpu_instance_insertsort + time ; end cpu_instance_selectsort = cpu_instance_selectsort / 5 ; cpu_instance_bubblesort = cpu_instance_bubblesort / 5 ; cpu_instance_insertsort = cpu_instance_insertsort / 5 ; cpu_selectsort = [cpu_selectsort cpu_instance_selectsort] ; cpu_bubblesort = [cpu_bubblesort cpu_instance_bubblesort] ; cpu_insertsort = [cpu_insertsort cpu_instance_insertsort] ; end dimension = 1000 : 1000 : 10000; plot(dimension,cpu_selectsort, dimension,cpu_bubblesort, dimension,cpu_insertsort) hold on title( 'Computational Study' ) legend( 'selectsort', 'bubblesort', 'insertsort ) xlabel( 'Problem dimension ) ylabel( 'Time (secs)' )

19 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 19 Παράδειγμα υπολογιστικής μελέτης σε matlab (4/4)

20 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 20 Σύγκριση αλγόριθμων (1/3) Έστω ότι έχουμε δύο αλγόριθμους 1 και 2 με συναρτήσεις πολυπλοκότητας f(n) και g(n) αντίστοιχα. Γενικά πιο αποτελεσματικός είναι ο αλγόριθμος του οποίου η συνάρτηση πολυπλοκότητας αυξάνει με μικρότερη ταχύτητα καθώς n. Πιο συγκεκριμένα, για να βρούμε ποιος από τους δυο αλγόριθμους είναι πιο αποτελεσματικός εξετάζουμε το όριο f ( n) οριο n g( n) = a

21 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 21 Σύγκριση αλγόριθμων (2/3) i. Άν a = 0, ο αλγόριθμος 1 είναι πιο αποτελεσματικός από τον αλγόριθμο 2, ii. Άν 0 < a <, οι δυο αλγόριθμοι είναι το ίδιο αποτελεσματικοί, iii. Άν a =, ο αλγόριθμος 2 είναι πιο αποτελεσματικός από τον αλγόριθμο 1. Γενικότερα: Οι δυο αλγόριθμοι είναι το ίδιο αποτελεσματικοί, αν Θ(f(n)) = Θ(g(n)) παρότι και σ αυτούς τους αλγόριθμους μπορούν να υπάρξουν διαβαθμίσεις (δηλαδή, αν είναι a < 1, ο αλγόριθμος 1 είναι πιο αποτελεσματικός, ενώ αν είναι a >1, ο αλγόριθμος 2 είναι πιο αποτελεσματικός).

22 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 22 Σύγκριση αλγόριθμων (3/3) Αλγόριθμοι = Αποτελεσματικοί Άν η συνάρτηση πολυπλοκότητάς του, στην περίπτωση που είναι ομογενής ή η συνάρτηση πολυπλοκότητας χειρότερης περίπτωσης, στην περίπτωση που είναι μη ομογενής Θ(0, n k ), για κάποιο k > 0. Μη αποτελεσματικοί Διαφορετικά Οι αποτελεσματικοί αλγόριθμοι θα ονομάζονται πολυωνυμικοί ενώ οι μη αποτελεσματικοί θα ονομάζονται εκθετικοί.

23 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 23 Αξία της ανάλυσης των αλγορίθμων (1/6) Πολύ σημαντική η αξία της ανάπτυξης αποτελεσματικών αλγόριθμων, (δηλαδή αλγόριθμων, των οποίων η συνάρτηση πολυπλοκότητας αυξάνει με «αργούς ρυθμούς» καθώς η διάσταση αυξάνει) Σκεφθείτε τους ρυθμούς αύξησης ορισμένων συναρτήσεων καθώς το όρισμα n αυξάνει! Ας το δούμε με ένα παράδειγμα

24 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 24 Αξία της ανάλυσης των αλγορίθμων (2/6) Έστω οι παρακάτω χαρακτηριστικές συναρτήσεις logn, n, n 3, n 5, 2 n και n! (Θα υποθέσουμε ότι είναι συναρτήσεις πολυπλοκότητας κάποιων αλγόριθμων, που εκτελούνται σε ένα υπολογιστή) Στον υπολογιστή αυτό ας κάνουμε την παραδοχή ότι εκτελείται κάθε τμήμα κώδικα πολυπλοκότητας Θ(1) σε ένα μικροδευτερόλεπτο (10-6 sec).

25 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 25 Αξία της ανάλυσης των αλγορίθμων (3/6) Ο αλγόριθμος πολυπλοκότητας n! λύνει τα προβλήματα διάστασης 10 σε χρόνο = (1*2*3* *10)*10-6 = 3,62 sec, Τα προβλήματα διάστασης 20 σε χρόνο = (1*2*3* *20)*10-6 = ,64 sec = ,94 λεπτά = ,38 ώρες = ,06 ημέρες = ,82 χρόνια = 771,468 αιώνες Τα προβλήματα μεγαλύτερης διάστασης επιλύονται σε χρόνους που δεν μπορούν ούτε να υπολογιστούν Παρόμοια κατάσταση, αν και λίγο καλύτερη ισχύει για αλγόριθμους εκθετικής πολυπλοκότητας 2 n. Για παράδειγμα τα προβλήματα διάστασης 40 λύνονται σε 12,7 μέρες, και διάστασης 60 σε 366 αιώνες.

26 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 26 Αξία της ανάλυσης των αλγορίθμων (4/6) Αντίθετα, η κατάσταση είναι πολύ πιο ευχάριστη για τις συναρτήσεις logn, n, n 3 και n 5. Για παράδειγμα για n = 60 οι αντίστοιχοι χρόνοι είναι sec, sec, sec και 13 λεπτά. Άρα: Οι αλγόριθμοι με συνάρτηση πολυπλοκότητας λογαριθμική ή πολυωνυμική είναι αποτελεσματικοί, ενώ οι αλγόριθμοι με συνάρτηση πολυπλοκότητας εκθετική ή παραγοντική δεν είναι καθόλου αποτελεσματικοί και δεν μπορούν να χρησιμοποιηθούν για επίλυση πρακτικών προβλημάτων.

27 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 27 Αξία της ανάλυσης των αλγορίθμων (5/6) Όμως τι θα γίνει, όταν στο μέλλον κατασκευαστούν υπολογιστές, οι οποίοι είναι 100 ή 1000 φορές ταχύτεροι από τους σημερινούς? Αν ένας αλγόριθμος με συνάρτηση πολυπλοκότητας n 3 λύνει στους σημερινούς Η/Υ σε ένα συγκεκριμένο χρονικό διάστημα προβλήματα διάστασης m, σε Η/Υ 100 φορές ή ακόμη και 1000 φορές ταχύτερους στον ίδιο χρόνο τι διάστασης προβλήματα θα λύνει? Σε 100 φορές ταχύτερο Η/Υ, θα λύνουμε πρόβλημα διάστασης y = 4.64m, ενώ σε 1000 φορές ταχύτερο Η/Υ, θα λύνουμε πρόβλημα διάστασης y = 10m. Όσο ο βαθμός του πολυωνύμου μικραίνει τόσο αυξάνει ο αριθμός με τον οποίο πολλαπλασιάζεται η διάσταση. (Για παράδειγμα στις γραμμικές συναρτήσεις η διάσταση γίνεται 100m ενώ στις λογαριθμικές m 100 m 1000 γίνεται 1000m ).

28 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 28 Αξία της ανάλυσης των αλγορίθμων (6/6) Αντίθετα η αύξηση του μεγέθους των προβλημάτων για τις εκθετικές συναρτήσεις είναι (m + 6.6) για 100 φορές ταχύτερους και (m + 9.7) για 1000 φορές ταχύτερους υπολογιστές. Επομένως: Πρακτικά προβλήματα για τα οποία υπάρχουν μόνο εκθετικοί αλγόριθμοι δεν μπορούν να επιλυθούν ούτε αν κατασκευαστούν 1000 φορές πιο γρήγοροι υπολογιστές (κάτι που φαίνεται ότι δεν μπορεί να γίνει στο ορατό μέλλον). Η μόνη ελπίδα λοιπόν για την επίλυση αυτών των προβλημάτων είναι η ανάπτυξη αποτελεσματικών αλγορίθμων!

29 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 29 Βασικές Ασυμπτωτικές Κλάσεις Αποδοτικότητας Τι πολυπλοκότητα εμφανίζει ένας αλγόριθμος που εκτελείται σε χρόνο τάξης? 1 σταθερή log n n n log n n 2 n 3 n κ λογαριθμική γραμμική n log n τετραγωνική κυβική πολυωνυμική 2 n εκθετική n! παραγοντική

30 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 30 Παράδειγμα της αξίας Ανάλυσης Αλγορίθμων (1/2) a) Εάν αγοράσετε έναν Η/Υ που είναι φορές ταχύτερος από αυτόν που διαθέτετε, πόσο ποιό μεγάλο μέγεθος συστημάτων θα λύνετε τώρα στον ίδιο χρόνο? Τωρινός Η/Υ Νέος Η/Υ n x Άρα: x = 1000 n x 1000n x 10n = =

31 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 31 Παράδειγμα της αξίας Ανάλυσης Αλγορίθμων (2/2) Η Γκαουσιανή απαλοιφή (Gaussian elimination), ο κλασικός αλγόριθμος επίλυσης συστημάτων n γραμμικών εξισώσεων με n αγνώστους, απαιτεί περίπου (1/3)*n 3 πολλαπλασιασμούς, οι οποίοι είναι και η βασική λειτουργία του αλγορίθμου. b) Πόσο περισσότερο θα μεγαλώσει ο χρόνος εκτέλεσης του αλγορίθμου για ένα σύστημα των εξισώσεων, σε σχέση με αυτόν που απαιτείται για ένα σύστημα των 500 εξισώσεων? 1 ( 2 n) 3 T(2 n) = 3 = 8 Tn ( ) 1 3 n 3

32 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 32 Παράδειγμα ρυθμού αύξησης της τάξης μεγέθους Για κάθε μια εκ των παρακάτω συναρτήσεων, υποδείξτε πόσο θα μεταβληθεί η τιμή τους, εάν το όρισμα τους τετραπλασιαστεί λοδ n, n, n, n 2, n 3, 2 n

33 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 33 Υπολογιστική πολυπλοκότητα (Computational Complexity) Ένας αλγόριθμος επιλύει ένα πρόβλημα σε πολυωνυμικό χρόνο, εάν η πολυπλοκότητα του της χειρότερης περίπτωσης ανήκει στην κλάση O( p(n) ), όπου p(n) είναι ένα πολυώνυμο του μεγέθους n της εισόδου του προβλήματος. Τα προβλήματα που μπορούν να επιλυθούν σε πολυωνυμικό χρόνο ονομάζονται βατά (tractable problems), ενώ αυτά που δεν μπορούν να επιλυθούν σε πολυωνυμικό χρόνο ονομάζονται μη-βατά (intractable problems). Η θεωρία της NP-πληρότητας εφαρμόζεται (τυπικά) σε προβλήματα αποφάσεων και όχι σε προβλήματα βελτιστοποίησης. Όμως, κάθε πρόβλημα βελτιστοποίησης είναι δυνατόν να το ανάγουμε σε ένα ισοδύναμο πρόβλημα απόφασης. Προβλήματα: Βελτιστοποίησης: λύση με βέλτιστη αντικειμενική τιμή. Απόφασης: απάντηση ΝΑΙ ή ΌΧΙ. Για παράδειγμα, το ισοδύναμο πρόβλημα απόφασης του προβλήματος του περιοδεύοντος πωλητή (TSP) είναι, δεδομένου ενός δικτύου G και ενός μηαρνητικού αριθμού k, εάν υπάρχει διαδρομή με συνολική απόσταση το πολύ k (?)

34 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 34 P, NP, και NP-πλήρη προβλήματα Η κλάση Ρ είναι εκείνη η κλάση των προβλημάτων απόφασης, τα οποία μπορούν να επιλυθούν σε πολυωνυμικό χρόνο, με τη χρήση αιτιοκρατικών (deterministic) αλγορίθμων. Η κλάση αυτή των προβλημάτων ονομάζεται πολυωνυμική (polynomial). Ορισμένα προβλήματα απόφασης δεν είναι επιλύσιμα από κανέναν γνωστό αλγόριθμο. Τέτοιου είδους προβλήματα ονομάζονται μη-αποφασίσιμα (undecidable problems). Για παράδειγμα το πρόβλημα του τερματισμού (halting problem), από τον A. Turing το Η κλάση NP είναι εκείνη η κλάση των προβλημάτων απόφασης, τα οποία μπορούν να επιλυθούν από μη-αιτιοκρατικούς πολυωνυμικούς αλγορίθμους. Η κλάση αυτή των προβλημάτων, αποκαλείται πολυωνυμική μη-αιτιοκρατική (nondeterministic polynomial).

35 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 35 P, NP, και NP-πλήρη προβλήματα Πιο απλά, ένας πολυωνυμικός μη-αιτιοκρατικός αλγόριθμος θεωρούμε ότι είναι ικανός να «μαντέψει» μια λύση ενός προβλήματος απόφασης, τουλάχιστον μια φορά και να είναι σε θέση να επιβεβαιώσει την εγκυρότητα της σε πολυωνυμικό χρόνο. Τα περισσότερα προβλήματα ανήκουν στην κλάση ΝΡ, η οποία συμπεριλαμβάνει όλα τα προβλήματα της κλάσης Ρ: Ρ ΝΡ Αυτό ισχύει διότι, εάν ένα πρόβλημα ανήκει στην κλάση Ρ τότε μπορεί να επιλυθεί αιτιοκρατικά σε πολυωνυμικό χρόνο. Οπότε, για αυτό το πρόβλημα μπορεί και να επαληθευτεί η (βέλτιστη) λύση (από έναν μη-αιτιοκρατικό αλγόριθμο) σε πολυωνυμικό χρόνο.

36 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 36 P, NP, και NP-πλήρη προβλήματα Η κλάση ΝΡ συμπεριλαμβάνει πάρα πολλά προβλήματα συνδυαστικής βελτιστοποίησης, όπως για παράδειγμα τις εκδόσεις των προβλημάτων απόφασης του προβλήματος του περιοδεύοντος πωλητή (TSP), του προβλήματος του σακιδίου (knapsack problem), κ.λ.π. Το πλέον σημαντικό ανοιχτό ερευνητικό πρόβλημα της επιστήμης της θεωρητικής πληροφορικής, είναι εάν η κλάση Ρ είναι γνήσιο υποσύνολο της κλάσης ΝΡ ή αυτές οι δυο κλάσεις ταυτίζονται στην πραγματικότητα? Lance Fortnow, The status of the P versus NP problem, Communications of the ACM, 52(9), 78-86, (URL: Βραβείο: $

37 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 37 P, NP, και NP-πλήρη προβλήματα Ένα πρόβλημα απόφασης D καλείται ΝΡ-πλήρες (NP-complete), εάν: Ανήκει στην κλάση ΝΡ Κάθε άλλο πρόβλημα της κλάσης ΝΡ είναι πολυωυμικά αναγώμενο στο D.

38 Τμήμα Εφαρμοσμένης Πληροφορικής, Παν. Μακεδονίας 38 P, NP, και NP-πλήρη προβλήματα M. Garey, D. Johnson, Computers and Intractability: A Guide to the Theory of NP- Completeness, W. H. Freeman Publications, (1979).

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Ενότητα 4 Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 9 P vs NP 1 / 13 Δυσκολία επίλυσης υπολογιστικών προβλημάτων Κάποια προβλήματα είναι εύκολα να λυθούν με

Διαβάστε περισσότερα

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Κεφάλαιο 5 Ανάλυση Αλγορίθμων Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών 1 Συναρτήσεις και ο υπολογισµός τους 2 Μηχανές Turing 3 Καθολικές γλώσσες προγραµµατισµού 4 Μια µη υπολογίσιµη συνάρτηση 5 Πολυπλοκότητα προβληµάτων 1 Συναρτήσεις Μία συνάρτηση

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου

Διαβάστε περισσότερα

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π Περιορισμοί Αλγοριθμικής Ισχύος Κατηγοριοποίηση πολυπλοκοτήτων Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός

Διαβάστε περισσότερα

Υπολογιστική Πολυπλοκότητα

Υπολογιστική Πολυπλοκότητα Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθµου Α: Ποσότητα υπολογιστικών πόρων που απαιτεί Α ως αύξουσα συνάρτηση µεγέθους στιγµιότυπου εισόδου. Χρόνος, µνήµη, επεξεργαστές, επικοινωνία,

Διαβάστε περισσότερα

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 1 Βελτιστοποίηση Στην προσπάθεια αντιμετώπισης και επίλυσης των προβλημάτων που προκύπτουν στην πράξη, αναπτύσσουμε μαθηματικά μοντέλα,

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

Διαβάστε περισσότερα

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

Ασυμπτωτικός Συμβολισμός Ασυμπτωτικός Συμβολισμός Επιμέλεια διαφανειών: Δημήτρης Φωτάκης (λίγες προσθήκες: Άρης Παγουρτζής) Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

Ασυμπτωτικός Συμβολισμός Ασυμπτωτικός Συμβολισμός ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθμου Α: Ποσότητα

Διαβάστε περισσότερα

Κλάσεις Πολυπλοκότητας

Κλάσεις Πολυπλοκότητας Κλάσεις Πολυπλοκότητας Παύλος Εφραιμίδης pefraimi ee.duth.gr Κλάσεις Πολυπλοκότητας 1 Οι κλάσεις πολυπλοκότητας P και NP P: Polynomial ΗκλάσηP περιλαμβάνει όλα τα υπολογιστικά προβλήματα που μπορούν

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 6) 1 / 20 Ρυθμοί αύξησης Γραμμικός ρυθμός αύξησης: n, 2n, Πολυωνυμικός

Διαβάστε περισσότερα

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι

Διαβάστε περισσότερα

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Πως θα υπολογίσουμε το χρόνο εκτέλεσης ενός αλγόριθμου; Για να απαντήσουμε

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού 12.1 Συναρτήσεις και ο υπολογισμός τους 12.2 Μηχανές Turing 12.3 Καθολικές γλώσσες προγραμματισμού 12.4 Μια μη υπολογίσιμη συνάρτηση 12.5 Πολυπλοκότητα προβλημάτων 12.6

Διαβάστε περισσότερα

Υπολογιστική Πολυπλοκότητα

Υπολογιστική Πολυπλοκότητα Υπολογιστική Πολυπλοκότητα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Γιατί κάποια (επιλύσιμα) προβλήματα είναι δύσκολο

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 2: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

Διαβάστε περισσότερα

Αλγοριθμικές Τεχνικές

Αλγοριθμικές Τεχνικές Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Αλγοριθμικές Τεχνικές 1 Τεχνικές Σχεδιασμού Αλγορίθμων Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και

Διαβάστε περισσότερα

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

Ασυμπτωτικός Συμβολισμός Ασυμπτωτικός Συμβολισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να

Διαβάστε περισσότερα

Υπολογιστική Πολυπλοκότητα

Υπολογιστική Πολυπλοκότητα Υπολογιστική Πολυπλοκότητα ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και

Διαβάστε περισσότερα

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ 1 η Διάλεξη: Αναδρομή στον Μαθηματικό Προγραμματισμό 2019, Πολυτεχνική Σχολή Εργαστήριο Συστημάτων Σχεδιασμού, Παραγωγής και Λειτουργιών Περιεχόμενα 1. Γραμμικός Προγραμματισμός

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ Ιστότοπος Βιβλίου http://www.iep.edu.gr/ και «Νέα Βιβλία ΙΕΠ ΓΕΛ και ΕΠΑΛ» 2 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα Τι θα κάνουμε σήμερα Εισαγωγικά Χρονική Πολυπλοκότητα (7) Κλάση P (7.2) Κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) Χωρική

Διαβάστε περισσότερα

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών ΚΕΦΑΛΑΙΟ : Θεωρία υπολογισµών. Συναρτήσεις και ο υπολογισµός τους. Μηχανές Turig.3 Καθολικές γλώσσες προγραµµατισµού.4 Μια µη υπολογίσιµη συνάρτηση.5 Πολυπλοκότητα προβληµάτων.6 Κρυπτογραφία δηµόσιου κλειδιού.

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 14. Χρονική Πολυπλοκότητα 17, 20, 24 Απριλίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κλάσεις P, NP NP-πληρότητα 15 Απριλίου 2008 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να περιγράψουμε με

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

Ασυμπτωτικός Συμβολισμός Ασυμπτωτικός Συμβολισμός ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική

Διαβάστε περισσότερα

Εξαντλητική Απαρίθµηση

Εξαντλητική Απαρίθµηση Υπενθύµιση Χαράκτηρίζουµε τους αλγόριθµους ως προς το χρόνο εκτέλεσης συναρτήσει της εισόδου Υπενθύµιση Χαράκτηρίζουµε τους αλγόριθµους ως προς το χρόνο εκτέλεσης συναρτήσει της εισόδου Ως µέτρο ϑεωρούµε

Διαβάστε περισσότερα

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

Διαβάστε περισσότερα

Μοντελοποίηση προβληµάτων

Μοντελοποίηση προβληµάτων Σχεδιασµός Αλγορίθµων Ακέραιος προγραµµατισµός Αποδοτικοί Αλγόριθµοι Μη Αποδοτικοί Αλγόριθµοι Σχεδιασµός Αλγορίθµων Ακέραιος προγραµµατισµός Αποδοτικοί Αλγόριθµοι Μη Αποδοτικοί Αλγόριθµοι Θεωρία γράφων

Διαβάστε περισσότερα

Βασικά Στοιχεία Πολυπλοκότητας

Βασικά Στοιχεία Πολυπλοκότητας 10 Βασικά Στοιχεία Πολυπλοκότητας Περιεχόμενα Κεφαλαίου 10.1 Εισαγωγή........................... 312 10.2 Μετασχηματισμοί και Αναγωγές.............. 313 10.3 Kλάσεις Πολυπλοκότητας.................. 316

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες

Διαβάστε περισσότερα

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα αναζήτησης είναι ένα πρόβλημα στο

Διαβάστε περισσότερα

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Στοιχεία Αλγορίθµων και Πολυπλοκότητας Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις

Διαβάστε περισσότερα

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ. Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ. Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού 1 Σχέση γραμμικού και ακέραιου προγραμματισμού Ενα πρόβλημα ακέραιου προγραμματισμού είναι

Διαβάστε περισσότερα

Chapter 9: NP-Complete Problems

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:

Διαβάστε περισσότερα

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 1 Αλγόριθμοι και Πολυπλοκότητα Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Εισαγωγή Ας ξεκινήσουμε

Διαβάστε περισσότερα

Προσεγγιστικοί Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)

Διαβάστε περισσότερα

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1, Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Παύλος Εφραιμίδης V1.1, 2015-01-19 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα

Διαβάστε περισσότερα

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Δρ. Δημήτρης Βαρσάμης

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

Δυναμικός Προγραμματισμός Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές Διωνυμικοί

Διαβάστε περισσότερα

Κλάση NP, NP-Complete Προβλήματα

Κλάση NP, NP-Complete Προβλήματα Κλάση NP, NP-Complete Προβλήματα Βαγγέλης ούρος douros@aueb.gr 1 11/6/2012 Αλγόριθμοι, Εαρινό Εξάμηνο 2012, Φροντιστήριο #14 Προβλήματα Απόφασης & Βελτιστοποίησης 2 Πρόβλημα Απόφασης: Κάθε πρόβλημα που

Διαβάστε περισσότερα

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα Διδάσκοντες: E. Ζάχος, Α. Παγουρτζής Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο

Διαβάστε περισσότερα

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιµότητα Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβληµα αναζήτησης (search problem) Ένα πρόβληµα αναζήτησης είναι ένα πρόβληµα στο

Διαβάστε περισσότερα

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 13: Πολυωνυμική αναγωγή Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

Δυναμικός Προγραμματισμός Τρίγωνο του Pascal Δυναμικός Προγραμματισμός Διωνυμικοί συντελεστές Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο

Διαβάστε περισσότερα

W i. Subset Sum Μια παραλλαγή του προβλήματος knapsack είναι το πρόβλημα Subset Sum, το οποίο δεν λαμβάνει υπόψιν την αξία των αντικειμένων:

W i. Subset Sum Μια παραλλαγή του προβλήματος knapsack είναι το πρόβλημα Subset Sum, το οποίο δεν λαμβάνει υπόψιν την αξία των αντικειμένων: 6/4/2017 Μετά την πρόταση των ασύρματων πρωτοκόλλων από τους Diffie-Hellman το 1976, το 1978 προτάθηκε ένα πρωτόκολλο από τους Merkle-Hellman το οποίο βασίστηκε στο ότι δεν μπορούμε να λύσουμε γρήγορα

Διαβάστε περισσότερα

L A P. w L A f(w) L B (10.1) u := f(w)

L A P. w L A f(w) L B (10.1) u := f(w) Κεφάλαιο 10 NP -πληρότητα Σύνοψη Οι γλώσσες στην κλάση πολυπλοκότητας P μπορούν να αποφασίζονται σε πολωνυμικό χρόνο. Οι επιστήμονες πιστεύουν, αν και δε μπορούν να το αποδείξουν ότι η P είναι ένα γνήσιο

Διαβάστε περισσότερα

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων NP-πληρότητα Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων Πολυωνυμικός μετασχηματισμός Ένας πολυωνυμικός μετασχηματισμός από την L 1 Σ 1 * στην L 2 Σ 2 * είναι μια συνάρτηση

Διαβάστε περισσότερα

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Ενότητα Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

Δυναμικός Προγραμματισμός Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις /προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές

Διαβάστε περισσότερα

Chapter 7, 8 : Time, Space Complexity

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ίναι δυνατόν σε μια συνολική κατάσταση να υπάρχουν πολλές δυνατές επόμενες

Διαβάστε περισσότερα

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

Διαβάστε περισσότερα

Κεφάλαιο 2 Ανάλυση Αλγορίθμων

Κεφάλαιο 2 Ανάλυση Αλγορίθμων Κεφάλαιο Ανάλυση Αλγορίθμων Περιεχόμενα.1 Εισαγωγή... 0. Εμπειρική και Θεωρητική Ανάλυση Αλγορίθμων.....1 Εμπειρική Πολυπλοκότητα..... Θεωρητική Πολυπλοκότητα... 3.3 Ανάλυση Χειρότερης και Αναμενόμενης

Διαβάστε περισσότερα

υναμικός Προγραμματισμός

υναμικός Προγραμματισμός υναμικός Προγραμματισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιωνυμικοί Συντελεστές ιωνυμικοί

Διαβάστε περισσότερα

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν

Διαβάστε περισσότερα

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

Διαβάστε περισσότερα

Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018

Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018 Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018 Αλγόριθμοι Ρυθμός αύξησης συναρτήσεων [Rosen 3.2] Αριθμητικές συναρτήσεις Τάξη αριθμητικών συναρτήσεων

Διαβάστε περισσότερα

ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ολοκληρωμένη μαθηματική τεχνική βελτιστοποίησης Ευρύτατο φάσμα εφαρμογών Εισαγωγή ακέραιων/λογικών/βοηθητικών μεταβλητών Δυνατότητα γραμμικοποίησης με 0-1 μεταβλητές

Διαβάστε περισσότερα

Μη Ντετερμινισμός και NP-Πληρότητα

Μη Ντετερμινισμός και NP-Πληρότητα Μη Ντετερμινισμός και NP-Πληρότητα Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Μη Ντετερμινιστικές Μηχανές Turing Μη ντετερμινιστική

Διαβάστε περισσότερα

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

Ορισµός. Εστω συναρτήσεις: 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

Διαβάστε περισσότερα

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΙΣΗΓΗΤΗΣ: Δρ. Ιωάννης Σ. Τουρτούρας Μηχανικός Παραγωγής & Διοίκησης Δ.Π.Θ. Χρηματοδότηση Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

υναμικός Προγραμματισμός

υναμικός Προγραμματισμός υναμικός Προγραμματισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιωνυμικοί Συντελεστές ιωνυμικοί

Διαβάστε περισσότερα

Θεωρία Υπολογισµού Theory of Computation

Θεωρία Υπολογισµού Theory of Computation 1 ο µέρος Θεωρία Υπολογισµού Theory of Computation 1 Υπολογισιµότητα - Computability o Υπολογισιµότητα (Computability) n Τι µπορεί να υπολογιστεί και τι όχι; o Υπολογιστική πολυπλοκότητα (Computational

Διαβάστε περισσότερα

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός Κεφάλαιο 5ο: Ακέραιος προγραμματισμός 5.1 Εισαγωγή Ο ακέραιος προγραμματισμός ασχολείται με προβλήματα γραμμικού προγραμματισμού στα οποία μερικές ή όλες οι μεταβλητές είναι ακέραιες. Ένα γενικό πρόβλημα

Διαβάστε περισσότερα

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι HY118-Διακριτά Μαθηματικά Θεωρία γράφων / γραφήματα Πέμπτη, 11/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 11-May-17 1 1 11-May-17 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

Διαβάστε περισσότερα

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 12: Μη ντετερμινιστικές μηχανές Turing Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 1 Πέντε Αντιπροσωπευτικά Προβλήματα Έκδοση 1.4, 30/10/2014 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 1.2 Πέντε Αντιπροσωπευτικά Προβλήματα 1. Χρονοπρογραμματισμός Διαστημάτων

Διαβάστε περισσότερα

Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυϊκότητα. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 1/12/2016

Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυϊκότητα. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 1/12/2016 Τμήμα Μηχανικών Πληροφορικής ΤΕ 2016-2017 Δυϊκότητα Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 1/12/2016 1 Το δυϊκό πρόβλημα Για κάθε πρόβλημα Γραμμικού Προγραμματισμού υπάρχει

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Καλογερόπουλος Παναγιώτης

Διαβάστε περισσότερα

t M (w) T ( w ) O( n) = O(n 2 )

t M (w) T ( w ) O( n) = O(n 2 ) Κεφάλαιο 9 Υπολογιστική Πολυπλοκότητα Σύνοψη Πέρα από το ερώτημα του αν για ένα πρόβλημα υπάρχει Μηχανή Turing, που το επιλύει, μας απασχολεί επίσης και το ερώτημα του αν ένα πρόβλημα είναι «πρακτικά»

Διαβάστε περισσότερα

Ευρετικές Μέθοδοι. Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ

Ευρετικές Μέθοδοι. Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ Ευρετικές Μέθοδοι Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ

ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ Περίγραµµα Εισαγωγή Στοιχεία Πολυπλοκότητας Ηλίας Κ. Σάββας Επίκουρος Καθηγητής Τμήμα: Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών Email: savvas@teilar teilar.gr Αλγόριθµοι

Διαβάστε περισσότερα

Προσεγγιστικοί Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι Κεφάλαιο 12 Προσεγγιστικοί Αλγόριθμοι 12.1 Προβλήματα Βελτιστοποίησης Σε ένα πρόβλημα βελτιστοποίησης σε κάθε στιγμιότυπο του προβλήματος αντιστοιχούν κάποιες εφικτές (feasible) -δηλαδή επιτρεπτές- λύσεις,

Διαβάστε περισσότερα

HY118-Διακριτά Μαθηματικά

HY118-Διακριτά Μαθηματικά HY118-Διακριτά Μαθηματικά Πέμπτη, 11/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 11-May-17 1 1 Θεωρία γράφων / γραφήματα 11-May-17 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

Διαβάστε περισσότερα

Δυσεπίλυτα Προβλήματα σε Γραφήματα και Παίγνια

Δυσεπίλυτα Προβλήματα σε Γραφήματα και Παίγνια Δυσεπίλυτα Προβλήματα σε Γραφήματα και Παίγνια Σ Π Υ Ρ Ι Δ Ω Ν Τ Ζ Ι Μ Α Σ Δ Τ Ο Μ Ε Α Σ Τ Μ Η Μ Α Μ Α Θ Η Μ Α Τ Ι Κ Ω Ν Σ Χ Ο Λ Η Θ Ε Τ Ι Κ Ω Ν Ε Π Ι Σ Τ Η Μ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Ι Ω Α Ν Ν Ι Ν

Διαβάστε περισσότερα

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη Υποθέσεις - - Θεωρήματα Μαθηματικά Πληροφορικής 1ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες

Διαβάστε περισσότερα

ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΑΚ. ΕΤΟΣ ΔΙΑΛΕΞΗ 6 η -Η ΔΥΙΚΗ ΜΕΘΟΔΟΣ SIMPLEX

ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΑΚ. ΕΤΟΣ ΔΙΑΛΕΞΗ 6 η -Η ΔΥΙΚΗ ΜΕΘΟΔΟΣ SIMPLEX ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΑΚ. ΕΤΟΣ 2013-2014 ΔΙΑΛΕΞΗ 6 η -Η ΔΥΙΚΗ ΜΕΘΟΔΟΣ SIMPLEX ΔΥΙΚΟΤΗΤΑ Κάθε πρόβλημα γραμμικού προγραμματισμού συνδέεται με εάν άλλο πρόβλημα γραμμικού προγραμματισμού

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα

Διαβάστε περισσότερα

Δομές Δεδομένων Ενότητα 2

Δομές Δεδομένων Ενότητα 2 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Θέματα Απόδοσης Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων

Διαβάστε περισσότερα

Γραμμικός Προγραμματισμός

Γραμμικός Προγραμματισμός Μια εταιρεία παράγει κέικ δύο κατηγοριών, απλά και πολυτελείας: Ένα απλό κέικ αποδίδει κέρδος 1 ευρώ. Ένα κέικ πολυτελείας αποδίδει κέρδος 6 ευρώ. Η καθημερινή ζήτηση του απλού κέικ είναι 200. Η καθημερινή

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα 7ο εξάμηνο ΣHMΜY Εισαγωγή Διδάσκοντες: Άρης Παγουρτζής, Δώρα Σούλιου Στάθης Ζάχος, Δημήτρης Σακαβάλας Επιμέλεια διαφανειών: Άρης Παγουρτζής www.corelab.ntua.gr/courses/algorithms

Διαβάστε περισσότερα

για NP-Δύσκολα Προβλήματα

για NP-Δύσκολα Προβλήματα Προσεγγιστικοί Αλγόριθμοι για NP-Δύσκολα Προβλήματα Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Διαβάστε περισσότερα

(Γραμμικές) Αναδρομικές Σχέσεις

(Γραμμικές) Αναδρομικές Σχέσεις (Γραμμικές) Αναδρομικές Σχέσεις ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις Αναπαράσταση

Διαβάστε περισσότερα

Στοχαστικές Στρατηγικές

Στοχαστικές Στρατηγικές Στοχαστικές Στρατηγικές 1 η ενότητα: Εισαγωγή στον Δυναμικό Προγραμματισμό Τμήμα Μαθηματικών, ΑΠΘ Ακαδημαϊκό έτος 2018-2019 Χειμερινό Εξάμηνο Παπάνα Αγγελική Μεταδιδακτορική ερευνήτρια, ΑΠΘ & Πανεπιστήμιο

Διαβάστε περισσότερα

ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ & ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ. ΕΞΕΤΑΣΗ ΣΤΗΝ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ Έβδομο Εξάμηνο

ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ & ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ. ΕΞΕΤΑΣΗ ΣΤΗΝ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ Έβδομο Εξάμηνο ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ & ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΕΞΕΤΑΣΗ ΣΤΗΝ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ Έβδομο Εξάμηνο Διδάσκων: Ι. Κολέτσος Κανονική Εξέταση 2007 ΘΕΜΑ 1 Διαιτολόγος προετοιμάζει ένα μενού

Διαβάστε περισσότερα

ILP-Feasibility conp

ILP-Feasibility conp Διάλεξη 19: 23.12.2014 Θεωρία Γραμμικού Προγραμματισμού Γραφέας: Χαρίλαος Τζόβας Διδάσκων: Σταύρος Κολλιόπουλος 19.1 Θεωρία Πολυπλοκότητας και προβλήματα απόφασης Για να μιλήσουμε για προβλήματα και τον

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Πληροφοριακά Συστήματα Διοίκησης Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Σημασία μοντέλου Το μοντέλο δημιουργεί μια λογική δομή μέσω της οποίας αποκτούμε μια χρήσιμη άποψη

Διαβάστε περισσότερα