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

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

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

Transcript

1 Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας Αλγοριθμικές Τεχνικές 1

2 Τεχνικές Σχεδιασμού Αλγορίθμων Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and Conquer) Δυναμικός Προγραμματισμός (Dynamic Programming) Απληστία (Greedy) Αλγοριθμικές Τεχνικές 2

3 Brute Force Ας ξεκινήσουμε με μία προφανή τεχνική επίλυσης υπολογιστικών προβλημάτων: Δεδομένου ενός προβλήματος, εξετάζουμε μία - μία όλες τις πιθανές λύσεις του προβλήματος για να βρούμε τη σωστή ή βέλτιστη λύση. Η μέθοδος αυτή ονομάζεται brute force. Κατά κανόνα τα συνδυαστικά προβλήματα έχουν ένα πολύ μεγάλο (εκθετικό) αριθμό πιθανών λύσεων και επομένως η τεχνική αυτή δεν μπορεί να λύσει στιγμιότυπα πέρα από κάποιο μέγεθος. Παρατήρηση: Ητεχνικήbrute force δεν αξιοποιεί τα χαρακτηριστικά και τη δομή του προβλήματος για να μειώσει το απαιτούμενο υπολογιστικό έργο Αλγοριθμικές Τεχνικές 3

4 Διαίρει και Βασίλευε Διαίρει (Divide): Το πρόβλημα διαιρείται σε ένα πλήθος b υποπροβλημάτων (συνήθως b=2) όσο δυνατόν ιδίου μεγέθους ή δυσκολίας Βασίλευε (Conquer): Κάθε πρόβλημα επιλύεται με αναδρομικό τρόπο (Στην πράξη πρέπει να είμαστε προσεκτικοί με την υλοποίηση της αναδρομής) Συνδύασε (Combine): Οι επιμέρους λύσεις συνδυάζονται για την επίλυση του αρχικού προβλήματος Αλγοριθμικές Τεχνικές 4

5 Παράδειγμα Ταξινόμηση Συγχώνευσης (MergeSort): Διαίρει: Το πρόβλημα μεγέθους N (με N αριθμούς) διαιρείται σε 2 υποπροβλήματα μεγέθους N/2 το καθένα Βασίλευε: Ταξινόμησε κάθε υποπρόβλημα εφαρμόζοντας αναδρομικά πάλι MergeSort Συνδύασε: Συγχώνευσε τους ταξινομημένους υποπίνακες σε έναν ενιαίο ταξινομημένο πίνακα Αλγοριθμικές Τεχνικές 5

6 Παράδειγμα MergeSort βήμα Αλγοριθμικές Τεχνικές 6

7 Δυναμικός Προγραμματισμός Δυναμικός Προγραμματισμός: Γενική σχεδιαστική στρατηγική για την επίλυση υπολογιστικών προβλημάτων Εφαρμογές: Χρησιμοποιείται κυρίως για προβλήματα βελτιστοποίησης Βασική Ιδέα: Βασίζεται στην επίλυση υποπροβλημάτων για να επιλύσει το αρχικό πρόβλημα Ας ξεκινήσουμε με ένα παράδειγμα Αλγοριθμικές Τεχνικές 7

8 Χαρακτηριστικά Ομοιότητα με Διαίρει και Βασίλευε Διάσπαση αρχικού προβλήματος σε μικρότερου μεγέθους υποπροβλήματα τα οποία επιλύονται αναδρομικά Διαφορά με Διαίρει και Βασίλευε Τα υποπροβλήματα δεν είναι ανεξάρτητα μεταξύ τους αλλά είναι δυνατόν να διαμοιράζονται κοινά μικρότερα υποπροβλήματα Λύσεις Υποπροβλημάτων Κάθε υποπρόβλημα επιλύεται μόνο μία φορά και η λύση του αποθηκεύεται, για συνακόλουθη χρήση, σε έναν πίνακα Αλγοριθμικές Τεχνικές 8

9 Βασικές Έννοιες Τυπικά χαρακτηριστικά: Απλά υποπροβλήματα: το πρόβλημα διασπάται σε ένα σύνολο υποπροβλημάτων, συνήθως, με περισσότερους του ενός τρόπους Αρχή του βέλτιστου: η ολική βέλτιστη λύση είναι αποτέλεσμα συνδυασμού βέλτιστων λύσεων υποπροβλημάτων Επικάλυψη υποπροβλημάτων: καθώς φαινομενικά ασυσχέτιστα υποπροβλήματα είναι δυνατόν να διαμοιράζονται βέλτιστες λύσεις κοινών υποπροβλημάτων, κάθε βέλτιστη λύση αποθηκεύεται για μελλοντική ενδεχόμενη χρήση Αλγοριθμικές Τεχνικές 9

10 Ανάπτυξη ενός αλγορίθμου δυναμικού προγραμματισμού Βασικά Βήματα 1. Χαρακτηρισμός της δομής μιας βέλτιστης λύσης 2. Αναδρομικός ορισμός της τιμής μιας βέλτιστης λύσης 3. Υπολογισμόςτηςτιμήςτηςβέλτιστηςλύσηςμε bottom-up (από κάτω προς τα επάνω) τρόπο 4. Σύνθεση της βέλτιστης λύσης από τα αποτελέσματα των υπολογισμών Αλγοριθμικές Τεχνικές 10

11 Πολλαπλασιασμός Αλυσίδας Πινάκων Το πρόβλημα: Δίνεται μια ακολουθία πινάκων Α 0,Α 1,...,Α n-1 και να ζητείται να βρεθεί ο βέλτιστος, από άποψη πολυπλοκότητας χρόνου, τρόπος υπολογισμού του γινομένου Α 0 Α 1 Α n-1 Παραδοχή: Θεωρούμε ότι εάν ο Α i είναι d i d i+1, το κόστος του γινομένου Α i Α i+1 είναι d i d i+1 d i+2 Αλγοριθμικές Τεχνικές 11

12 Παράδειγμα (1) Δίνονται τρεις πίνακες Α 0 : διαστάσεων 5 4 Α 1 : διαστάσεων 4 6 Α 2 : διαστάσεων 6 2 και ζητείται να υπολογιστεί το γινόμενο Α 0 Α 1 Α 2 Αλγοριθμικές Τεχνικές 12

13 Παράδειγμα (2) Πιθανές Λύσεις: Ο πολλαπλασιασμός πινάκων είναι προσεταιριστική πράξη και επομένως 1. Α 0 Α 1 Α 2 = Α 0 (Α 1 Α 2 ), και 2. Α 0 Α 1 Α 2 = (Α 0 Α 1 ) Α 2 Ποια από τις δύο πιθανές λύσεις να προτιμήσουμε; Πολυπλοκότητα: Η πολυπλοκότητα κάθε λύσης είναι 1. Α 0 (Α 1 Α 2 ) με κόστος =88 2. (Α 0 Α 1 ) Α 2 με κόστος =180 Βέλτιστη Λύση: Επομένως η βέλτιστη ακολουθία για την εκτέλεση των υπολογισμών είναι η 1: Α 0 (Α 1 Α 2 ) Αλγοριθμικές Τεχνικές 13

14 Πολλαπλασιασμός Αλυσίδας Πινάκων. Ας σχεδιάσουμε έναν αλγόριθμο... Αλγοριθμικές Τεχνικές 14

15 Πρώτη Προσπάθεια: Αναδρομή Έστω αλυσίδα πινάκων Α 0 Α 1 Α n-1 Τα πιθανά σενάρια για το τελευταίο πολλαπλασιασμό πινάκων που θα εκτελεστεί: (Α 0 ) (Α 1 Α 2 Α n-1 ) (Α 0 Α 1 ) (Α 2 Α n-1 )... (Α 0 Α 1 Α k-1 ) (Α k Α k+1 Α n-1 )... (Α 0 Α 1 Α n-2 ) (Α n-1 ) Στη βέλτιστη λύση θα εκτελεστεί ένας από τους παραπάνω πολλαπλασιασμούς Έστω Π(n) η πολυπλοκότητα χρόνου για την εύρεση της καλύτερης ακολουθίας εκτέλεσης των πολλαπλασιασμών για n πίνακες Σημείωση: Μας ενδιαφέρει να προσδιορίσουμε την πολυπολοκότητα χρόνου για την εύρεση της βέλτιστης ακολουθίας πολλαπλασιασμών, και όχι το κόστος τις εκτέλεσης των πολλαπλασιασμών αυτής της ακολουθίας Αναδρομική Σχέση Μπορούμε να διατυπώσουμε μια αναδρομική σχέση Τ(n) = ; Αλγοριθμικές Τεχνικές 15

16 Αναδρομική Σχέση Ας υποθέσουμε ότι ότι το ξεκίνημα κάθε αναδρομικής κλήσης απαιτεί τουλάχιστον χρόνο 1 και η επιλογή του σημείου διαίρεσης μιας ακολουθίας πινάκων σε 2 υποακολουθίες απαιτεί και αυτό τουλάχιστον χρόνο 1. Τότε: Τ(n) 1 + ( Τ(1) + Τ(n-1) + 1 ) + ( Τ(2) + Τ(n-2) + 1 ) ( Τ(n-1) + Τ(1) + 1 ) Τ(n) 1 + Σ 1 k n (Τ(k) + Τ(n-k) + 1) Η λύση της αναδρομικής αυτή σχέσης δίνει: Τ(n) 2 n-1, δηλαδή εκθετικό χρόνο Συμπέρασμα: Με τον αναδρομικό αλγόριθμο που αναλύσαμε απαιτείται εκθετικός χρόνος για την εύρεση της βέλτιστης ακολουθίας εκτέλεσης των πολλαπλασιασμών πινάκων Αλγοριθμικές Τεχνικές 16

17 εύτερη Προσπάθεια: Με χρήση υναμικού Προγραμματισμού Αλγοριθμικές Τεχνικές 17

18 Αλγόριθμος με χρήση Δυναμικού Προγραμματισμού Η σωστή αντιμετώπιση: Έστω Α i,j = Α i Α i+1 Α j με κόστος Μ i,j Τότε Α 0,n-1 = Α 0,k-1 Α k,n-1 και Μ 0,n-1 = Μ 0,k-1 +M k,n-1 + d 0 d k d n Ισχύουν οι προϋποθέσεις του Δυναμικού Προγραμματισμού (εάν τα υποπροβλήματα δεν λύνονταν βέλτιστα ενώ η ολική λύση ήταν βέλτιστη, τότε με τοπική αντικατάσταση θα προέκυπτε καλύτερη λύση!) Αλγοριθμικές Τεχνικές 18

19 Παράδειγμα Αλυσίδα 5 πινάκων: A0 A1 A2 A3 A4 A0: 5x2 A1: 2x1 A2: 1x2 A3: 2x3 A4: 3x2 Αλγοριθμικές Τεχνικές 19

20 Αλγοριθμικές Τεχνικές 20 Παράδειγμα

21 Προγραμματισμός ; Δυναμικός Προγραμματισμός: Γιατί ο Δυναμικός Προγραμματισμός έχει αυτό το όνομα; Σχετίζεται με τον προγραμματισμό υπολογιστών, τις γλώσσες προγραμματισμού κτλ; ΟΧΙ: Η λέξη προγραμματισμός στον όρο «δυναμικός προγραμματισμός» δεν έχει σχέση με τον προγραμματισμό υπολογιστών Προγραμματισμός: Η λέξη προγραμματισμός εδώ χρησιμοποιείται γιαναπεριγράψειτηδιαδικασίαεπίλυσης Αλγοριθμικές Τεχνικές 21

22 Πρόβλημα Βελτιστοποίησης Πρόβλημα Βελτιστοποίησης: Δίνεται ένα πρόβλημα και ένα σύνολο αποδεκτών λύσεων Απότοσύνολοπιθανώνλύσεων, ποια είναι η καλύτερη; Δίνονται συνήθως ένα πλήθος περιορισμών που πρέπει να ικανοποιεί η λύση μια συνάρτηση κόστους ή κέρδους με την οποία κρίνεται πόσο καλή είναι η λύση Αλγοριθμικές Τεχνικές 22

23 Δυναμικός Προγραμματισμός vs Διαίρει και Βασίλευε Ο Δυναμικός Προγραμματισμός μοιάζει με την τεχνική του διαίρει και βασίλευε ΟΜΩΣ ΔΕΝ ΕΙΝΑΙτοίδιοπράγμα! Το αρχικό πρόβλημα διασπάται σε ένα σύνολο υποπροβλημάτων είναι πιθανό ένα πρόβλημα να διασπαστεί σε πολλούς διαφορετικούς συνδυασμούς υποπροβλημάτων η λύση κάθε υποπροβλήματος μπορεί να χρησιμοποιηθεί πολλές φορές στη διάρκεια της εκτέλεσης του αλγορίθμου Αλγοριθμικές Τεχνικές 23

24 Αρχή του Βέλτιστου Μια απαραίτητη προϋπόθεση για να μπορεί να εφαρμοστεί δυναμικός προγραμματισμός σε ένα υπολογιστικό πρόβλημα είναι η: Αρχή το Βέλτιστου (Principle of Optimality): Ηβέλτιστηλύσητων υποπροβλημάτων δίνει τη βέλτιστη λύση του συνολικού προβλήματος Αλγοριθμικές Τεχνικές 24

25 Επικάλυψη Υποπροβλημάτων Κατά την επίλυση ενός προβλήματος με δυναμικό προγραμματισμό, υποπροβλήματα που πρέπει να λυθούν μπορεί να μοιράζονται κοινά υπο-υποπροβλήματα, και επομένως η βέλτιστη λύση κάθε (υπο)- υποπροβλήματος (όταν βρεθεί) αποθηκεύεται για πιθανή μελλοντική χρήση Αλγοριθμικές Τεχνικές 25

26 Παράδειγμα: Το πρόβλημα του Σακιδίου (Knapsack) Αλγοριθμικές Τεχνικές 26

27 Καλοκαιράκι... Αλγοριθμικές Τεχνικές 27

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

29 Τι να πάρει κανείς μαζί; Τα εντελώς απαραίτητα... Όμως και άλλα πολλά! Αλγοριθμικές Τεχνικές 29

30 Το Σακίδιο Το σακίδιο όποια και αν είναι η μορφή του, έχει πεπερασμένη χωρητικότητα. Και κάποιος θα πρέπει να το κουβαλάει! Ποια αντικείμενα να επιλέξουμε για να τα πάρουμε μαζί μας με το σακίδιο; Αλγοριθμικές Τεχνικές 30

31 Το πρόβλημα του σακιδίου Αντικείμενα: Έστω ένα σύνολο S με n αντικείμενα α 1,α 2,...,α n Βάρος και Αξία: Κάθε αντικείμενο i έχει ένα βάρος w i (αγνοούμε το θέμα του όγκου) και μια αξία u i Συνολικό Βάρος: Μπορούμε να πάρουμε αντικείμενα συνολικού βάρους το πολύ W. Συνολική Αξία: Ποια αντικείμενα να τοποθετήσουμε στο σακίδιο ώστε να έχουμε τη μέγιστη συνολική αξία χωρίς το συνολικό βάρος να ξεπερνά την τιμή W; Αλγοριθμικές Τεχνικές 31

32 Ένα παράδειγμα Τρία αντικείμενα: Αντικείμενο Βάρος w i Αξία α α α Μπορούμε να πάρουμε αντικείμενα συνολικού βάρους το πολύ W=10 κιλά. Ποια αντικείμενα να επιλέξουμε; Αλγοριθμικές Τεχνικές 32

33 Ας σχεδιάσουμε έναν αλγόριθμο Πόσες είναι όλες οι πιθανές λύσεις; Έστω ότι έχουμε μια «γρήγορη» υπολογιστική πλατφόρμα στη διάθεσή μας. Αντί να ψάξουμε για κάποια καλή μέθοδο επίλυσης, ας δοκιμάσουμε όλες τις πιθανές λύσεις και ας επιλέξουμε την καλύτερη Η μέθοδος αυτή ονομάζεται γενικά brute force μέθοδος. Έστω ότι έχουμε τη δυνατότητα να εξετάζουμε = συνδυασμούς αντικειμένων το δευτερόλεπτο. Πόσο χρόνο θα χρειαστούμε για να λύσουμε οποιοδήποτε στιγμιότυπο του προβλήματος; Πρέπει να εξετάσουμε ποιο είναι το πλήθος των πιθανών συνδυασμών Αλγοριθμικές Τεχνικές 33

34 Πλήθος συνδυασμών Έστω το παράδειγμα με τα τρία αντικείμενα Οι πιθανές λύσεις είναι 8:, {α 1 }, {α 2 }, {α 3 }, {α 1, α 2 }, {α 3, α 1 }, {α 2, α 3 }, {α 1, α 2, α 3 } Γενικά, για κάθε αντικείμενο έχουμε 2 επιλογές να το συμπεριλάβουμε στο σακίδιο να μην το συμπεριλάβουμε Επομένως για n αντικείμενα έχουμε 2 επιλογές για το πρώτο αντικείμενο επί 2 επιλογές για το δεύτερο αντικείμενο επί... 2 επιλογές για το n-οστό αντικείμενο. Σύνολο: 2 n επιλογές Αλγοριθμικές Τεχνικές 34

35 Χρόνος επίλυσης με brute force μέθοδο Έστω ότι εξετάζουμε = συνδυασμούς ανά δευτερόλεπτο n Συνδυασμοί 2 10 =1024 (Kilo) 2 30 (Giga) 2 50 (Peta) Χρόνος (προσεγγ.) 100nsec 0.1sec 2.77 ώρες φορές την ηλικία του σύμπαντος* * Με βάση εκτίμηση από το βιβλίο Applied Cryptography, B. Schneier Αλγοριθμικές Τεχνικές 35

36 Αλγόριθμος με χρήση δυναμικού προγραμματισμού Για κάθε k=1,..n, έστω: S = { a, a,..., a } k 1 2 k Ορίζουμε το σύνολο: S kw, S k που επιτυγχάνει τη μέγιστη δυνατή ωφέλεια για συνολικό βάρος ακριβώς w. V kw, Τότε η βέλτιστη λύση ολόκληρου του προβλήματος είναι: v = max{ V } max nw, w W Αλγοριθμικές Τεχνικές 36

37 Αναδρομική Σχέση 0, k = 0 V = kw, V, k 1, w w< max{ V, V v }, k 1, w k 1, w w k w + διαφορετικά k k Αλγοριθμικές Τεχνικές 37

38 Πολυπλοκότητα Θεώρημα 2.2: Το πρόβλημα του σακιδίου 0-1 επιλύεται με δυναμικό προγραμματισμό εντός χρόνου O(nW). Οαλγόριθμοςέχειψευδοπολυωνυμική πολυπλοκότητα, διότι αν και εξαρτάται πολυωνυμικά από το μέγεθος του στιγμιοτύπου προβλήματος, εξαρτάται και από το μέγεθος του αριθμού W που εμφανίζεται στο στιγμιότυπο. Αλγοριθμικές Τεχνικές 38

39 Η αλγοριθμική τεχνική της ΑΠΛΗΣΤΙΑΣ Αλγοριθμικές Τεχνικές 39

40 Απληστία Η αρχή της απληστίας (greedy) : O αλγόριθμος σε κάθε βήμα να επιλέγει με κριτήριο τι είναι βέλτιστο για το συγκεκριμένο βήμα Γενική σχεδιαστική τεχνική: Μπορεί να οδηγήσει σε πολλούς διαφορετικούς αλγόριθμους για το ίδιο πρόβλημα Αλγοριθμικές Τεχνικές 40

41 Παραδείγματα Εύρεση ελάχιστου γεννητικού δέντρου Για παράδειγμα στον αλγόριθμο του Prim επιλέγουμε σε κάθε βήμα την ελαφρύτερη από τις υποψήφιες γειτονικές ακμές Αλγοριθμικές Τεχνικές 41

42 TSP Το Πρόβλημα του Πλανόδιου Πωλητή (Traveling Salesman Problem - TSP) Μια πιθανή εφαρμογή της αρχής της απληστίας στο πρόβλημα του Πλανόδιου Πωλητή είναι η εξής: Σε κάθε βήμα πήγαινε στην πλησιέστερη από τις πόλεις που δεν έχεις ακόμα επισκεφτεί Αλγοριθμικές Τεχνικές 42

43 Αναφορές-Πηγές Βιβλίο του μαθήματος: Κεφάλαιο 2 Introduction to Algorithms, Μέρος των κεφαλαίων 2, 15 και 16 Algorithm Design, Kleinberg and Tardos, Κεφάλαιο 6 Αλγοριθμικές Τεχνικές 43

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

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

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

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

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων Τεχνικές Σχεδιασµού Αλγορίθµων Αλγόριθµοι Παύλος Εφραιµίδης pefraimi@ee.duth.gr Ορισµένες γενικές αρχές για τον σχεδιασµό αλγορίθµων είναι: ιαίρει και Βασίλευε (Divide and Conquer) υναµικός Προγραµµατισµός

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

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

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

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

Τεχνικές Σχεδιασμού Αλγορίθμων

Τεχνικές Σχεδιασμού Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Διαίρει και Βασίλευε Δυναμικός Προγραμματισμός Απληστία Π. Μποζάνης ΤHMMY - Αλγόριθμοι 2014-2015 1 Διαίρει και Βασίλευε Βασικά Βήματα Διαίρει: Κατάτμηση του αρχικού προβλήματος

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

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

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

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

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, σελ. 55-62 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 5) Δυαδική αναζήτηση

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

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

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

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

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

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

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

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

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

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

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων 3. Δυναμικός Προγραμματισμός Ζαγορίσιος Παναγώτης Παπαοικονόμου Χριστίνα Δυναμικός Προγραμματισμός Μέθοδος επίλυσης σύνθετων προβλημάτων. Όπως

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

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

Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν «Διαίρει και βασίλευε» : ανεξάρτητα υποπροβλήματα διάσπαση πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους Ν Σε κάποιες περιπτώσεις όμως τα υποπροβλήματα δεν είναι ανεξάρτητα

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

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

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

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

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

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

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

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1, Κεφάλαιο 4 Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1, 2015-01-19 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Διαίρει και Βασίλευε (Divide-and-Conquer) Διαίρει-και-βασίλευε

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

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

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

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

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

Εισαγωγή στους Αλγόριθμους

Εισαγωγή στους Αλγόριθμους Εισαγωγή στους Αλγόριθμους Ενότητα 16: Δυαδική αναζήτηση και ταξινόμηση με συγχώνευση Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

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

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

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

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

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος

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

Ταξινόμηση με συγχώνευση Merge Sort

Ταξινόμηση με συγχώνευση Merge Sort Ταξινόμηση με συγχώνευση Merge Sort 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 Πληροφορικής 1 Διαίρει και Βασίλευε Η μέθοδος του «Διαίρει και Βασίλευε» είναι μια γενική αρχή σχεδιασμού αλγορίθμων

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

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι Παύλος Εφραιμίδης 1 περιεχόμενα αλγόριθμοι τεχνολογία αλγορίθμων 2 αλγόριθμοι αλγόριθμος: οποιαδήποτε καλά ορισμένη υπολογιστική διαδικασία που δέχεται κάποια τιμή ή κάποιο σύνολο τιμών, και δίνεικάποιατιμήήκάποιοσύνολοτιμώνως

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

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

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

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

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

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

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

Εισαγωγή στην Ανάλυση Αλγορίθμων

Εισαγωγή στην Ανάλυση Αλγορίθμων Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)

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

περιεχόμενα υπολογιστικό πρόβλημα αλγόριθμοι παράδειγμα ταξινόμησης ταξινόμηση αλγόριθμοι τεχνολογία αλγορίθμων Παύλος Εφραιμίδης

περιεχόμενα υπολογιστικό πρόβλημα αλγόριθμοι παράδειγμα ταξινόμησης ταξινόμηση αλγόριθμοι τεχνολογία αλγορίθμων Παύλος Εφραιμίδης περιεχόμενα αλγόριθμοι τεχνολογία αλγορίθμων Παύλος Εφραιμίδης 1 2 αλγόριθμοι αλγόριθμος: οποιαδήποτε καλά ορισμένη υπολογιστική διαδικασία που δέχεταικάποιατιμήήκάποιοσύνολοτιμών, και δίνει κάποια τιμή

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

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

Αλγόριθμοι και Πολυπλοκότητα 7ο εξάμηνο Σ.Η.Μ.Μ.Υ. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 4η εβδομάδα: Εύρεση k-οστού Μικρότερου Στοιχείου, Master Theorem, Τεχνική Greedy: Knapsack, Minimum Spanning Tree, Shortest Paths

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

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

Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Δυναμικός Προγραμματισμός Δυναμικός Προγραμματισμός 1 Περίληψη

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

καθ. Βασίλης Μάγκλαρης

καθ. Βασίλης Μάγκλαρης ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα 005 - Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Ενισχυτική Μάθηση - Δυναμικός Προγραμματισμός: 1. Markov Decision Processes 2. Bellman s Optimality Criterion 3. Αλγόριθμος

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 28 Μαΐου 2015 1 / 45 Εισαγωγή Ο δυναµικός

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

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 4 Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Διαίρει και Βασίλευε (Divide-and-Conquer) Διαίρει-και-βασίλευε (γενικά) Χωρίζουµε

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

I student. Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ

I student. Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ I student Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ Ινστιτούτο Bιώσιμης Κινητικότητας και Δικτύων Μεταφορών (ΙΜΕΤ)

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

Κεφάλαιο 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. Χρονοπρογραμματισμός Διαστημάτων

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

Εισαγωγή στους Αλγορίθμους Ενότητα 5η

Εισαγωγή στους Αλγορίθμους Ενότητα 5η Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

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

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

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Jon Kleinberg και Éva Tardos, Σχεδιασμός αλγορίθμων, Εκδόσεις Κλειδάριθμος,

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Α. SelectionSort Ταξινόμηση με Επιλογή Β. InsertionSort Ταξινόμηση με Εισαγωγή

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

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

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

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

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

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

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

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός

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

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση Περίληψη Αλγόριθµοι τύπου Brute-Force Παραδείγµατα Αναζήτησης Ταξινόµησης Πλησιέστερα σηµεία Convex hull Βελτιστοποίηση Knapsack problem Προβλήµατα Ανάθεσης

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

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

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΟΡΓΑΝΩΣΗΣ & ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΣΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ & ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Β ΕΤΟΣ Γ Εξάμηνο Δρ.

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

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης Γ7.5 Αλγόριθμοι Αναζήτησης Γ Λυκείου Κατεύθυνσης Εισαγωγή Αλγόριθμος αναζήτησης θεωρείται ένας αλγόριθμος, ο οποίος προσπαθεί να εντοπίσει ένα στοιχείο με συγκεκριμένες ιδιότητες, μέσα σε μία συλλογή από

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

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

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

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

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.

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

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο Σχεδίαση Αλγορίθμων Διαίρει και Βασίλευε http://delab.csd.auth.gr/courses/algorithms/ auth 1 Διαίρει και Βασίλευε Η γνωστότερη ρημέθοδος σχεδιασμού αλγορίθμων: 1. Διαιρούμε το στιγμιότυπο του προβλήματος

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

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

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

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

Διωνυµικοί Συντελεστές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1

Διωνυµικοί Συντελεστές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1 Διωνυµικοί Συντελεστές Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1 Διωνυµικοί Συντελεστές Διωνυµικοί συντελεστές Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός

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

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

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

ΑΛΓΟΡΙΘΜΟΙ  Άνοιξη I. ΜΗΛΗΣ ΑΛΓΟΡΙΘΜΟΙ http://eclass.aueb.gr/courses/inf161/ Άνοιξη 2016 - I. ΜΗΛΗΣ ΑΠΛΗΣΤΟΙ ΑΛΓΟΡΙΘΜΟΙ Greedy Algorithms 1 Greedy algorithms H βασική ιδέα: Άρχισε από ένα υπο-πρόβλημα μικρού μεγέθους Επαναληπτικά,

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

Merge Sort (Ταξινόμηση με συγχώνευση) 6/14/2007 3:04 AM Merge Sort 1

Merge Sort (Ταξινόμηση με συγχώνευση) 6/14/2007 3:04 AM Merge Sort 1 Merge Sort (Ταξινόμηση με συγχώνευση) 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 6/14/2007 3:04 AM Merge Sort 1 Κύρια σημεία για μελέτη Το παράδειγμα του «διαίρει και βασίλευε» ( 4.1.1) Merge-sort

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

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

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

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

Fast Fourier Transform

Fast Fourier Transform Fast Fourier Transform Παναγιώτης Πατσιλινάκος ΕΜΕ 19 Οκτωβρίου 2017 Παναγιώτης Πατσιλινάκος (ΕΜΕ) Fast Fourier Transform 19 Οκτωβρίου 2017 1 / 20 1 Εισαγωγή Στόχος Προαπαιτούμενα 2 Η ιδέα Αντιστροφή -

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Εισαγωγή στους Αλγορίθμους Ενότητα 11η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Δυναμικός Προγραμματισμός Σταθμισμένος Χρονοπρογραμματισμός

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

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»

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

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

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

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

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

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429

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

Χαρακτηριστικά Δυναμικού Προγραμματισμού. Εισαγωγικά. 2 Δυναμικός Προγραμματισμός

Χαρακτηριστικά Δυναμικού Προγραμματισμού. Εισαγωγικά. 2 Δυναμικός Προγραμματισμός Δυναμικός Προγραμματισμός Τμήμα Ηλεκτρονικών Μηχ. & Μηχ. Υπολογιστών Φθινόπωρο 00 ΣΕΛ 40: Παράλληλοι Αλγόριθμοι και Software Διδάσκων: Τάσος Δημητρίου Δυναμικός Προγραμματισμός είχε υπολογιστεί προηγουμένως

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

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

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

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

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

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

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης: Α. SelectoSort Ταξινόμηση με Επιλογή Β. IsertoSort Ταξινόμηση με Εισαγωγή Γ. MergeSort

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

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

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

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

Διάλεξη 04: Παραδείγματα Ανάλυσης

Διάλεξη 04: Παραδείγματα Ανάλυσης Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

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

Άπληστοι Αλγόριθµοι. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 1

Άπληστοι Αλγόριθµοι. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 1 Άπληστοι Αλγόριθµοι Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 1 Άπληστοι Αλγόριθµοι... για προβλήµατα βελτιστοποίησης: Λειτουργούν σε βήµατα. Κάθε βήµα κάνει µια αµετάκλητη επιλογή

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 14: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης 3) Mergesort Ταξινόμηση με Συγχώνευση 4) BucketSort Ταξινόμηση με Κάδους Διδάσκων:

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

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

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

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

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

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

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

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

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

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 1. α. Να βάλετε σε αύξουσα σειρά μεγέθους τις παρακάτω συναρτήσεις χρονικής πολυπλοκότητας αλγορίθμων: nlogn, n logn,

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

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

ΑΝΩΤΕΡΕΣ ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ ΑΛΓΟΡΙΘΜΩΝ: ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΠΡΩΗΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗΝ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΝΩΤΕΡΕΣ ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 5 υναµικός Προγραµµατισµός Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 5 1 / 49 Εισαγωγή

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

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων... Περιεχόμενα Ανάλυση προβλήματος 1. Η έννοια πρόβλημα...13 2. Επίλυση προβλημάτων...17 Δομή ακολουθίας 3. Βασικές έννοιες αλγορίθμων...27 4. Εισαγωγή στην ψευδογλώσσα...31 5. Οι πρώτοι μου αλγόριθμοι...54

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

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

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

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

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ (συνέχεια)

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ (συνέχεια) ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ (συνέχεια) Πολλαπλασιασμός: μπορούμε καλύτερα; Διαισθητικά, επειδή ο πολλαπλασιασμός φαίνεται να απαιτεί άθροιση περίπου n πολλαπλασίων μιας από τις εισόδους, και δεδομένου ότι κάθε πρόσθεση

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

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012 Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012 3 5 1 Ταξινόμηση - Sorting Πίνακας Α 1 3 5 5 3 1 Ταξινόμηση (Φθίνουσα) Χωρίς Ταξινόμηση Ταξινόμηση

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

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

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

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή επίλυση προβλημάτων μέσω αναζήτησης κάθε πρόβλημα το οποίο μπορεί να διατυπωθεί αυστηρά λύνεται μέσω αναζήτησης. Για τα περισσότερα ενδιαφέροντα προβλήματα

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

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17) Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε Άπληστους Αλγόριθµους Στοιχεία άπληστων αλγορίθµων Το πρόβληµα επιλογής εργασιών ΕΠΛ 232

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

Κεφάλαιο 4. Δυναµικός Προγραµµατισµός (Dynamic Programming) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 4. Δυναµικός Προγραµµατισµός (Dynamic Programming) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 4 Δυναµικός Προγραµµατισµός (Dynamic Programming) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Τεχνικές Σχεδίασης Αλγορίθµων Απληστία. Χτίζουµε µια λύση σταδιακά, βελτιστοποιώντας

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

ΑΛΓΟΡΙΘΜΟΙ  Άνοιξη I. ΜΗΛΗΣ ΑΛΓΟΡΙΘΜΟΙ http://eclass.aueb.gr/courses/inf161/ Άνοιξη 2017 - I. ΜΗΛΗΣ ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Knapsack problems ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 2017 - Ι. ΜΗΛΗΣ 10 DP III 1 Knapsack problems ΕΙΣΟΔΟΣ: Σακίδιο χωρητικότητας

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

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

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

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

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και Παύλος Εφραιμίδης 1 περιεχόμενα ενθετική ταξινόμηση ανάλυση αλγορίθμων σχεδίαση αλγορίθμων 2 ενθετική ταξινόμηση 3 ενθετική ταξινόμηση Βασική αρχή: Επιλέγει ένα-έναταστοιχείατηςμηταξινομημένης ακολουθίας

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

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Βασικές έννοιες και εφαρμογές Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή

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

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

ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, Κεφάλαιο 4 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 4) 1 Θέματα

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

ΠΕΡΙΕΧΟΜΕΝΑ. Ανάλυση προβλημάτων Μέθοδοι σχεδίασης αλγορίθμων Μέθοδος διαίρει και βασίλευε Δυναμικός προγραμματισμός Απληστη μέθοδος

ΠΕΡΙΕΧΟΜΕΝΑ. Ανάλυση προβλημάτων Μέθοδοι σχεδίασης αλγορίθμων Μέθοδος διαίρει και βασίλευε Δυναμικός προγραμματισμός Απληστη μέθοδος ΠΕΡΙΕΧΟΜΕΝΑ Ανάλυση προβλημάτων Μέθοδοι σχεδίασης αλγορίθμων Μέθοδος διαίρει και βασίλευε Δυναμικός προγραμματισμός Απληστη μέθοδος Εισαγωγή Όταν μας δίνεται ένα πρόβλημα, και πριν ασχοληθούμε με την κωδικοποίηση

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

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

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

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

Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Γ. MergeSort Ταξινόμηση με Συγχώνευση Δ. BucketSort Ταξινόμηση με Κάδους Διδάσκων:

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

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

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

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