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

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

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

Transcript

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

2 Απληστοι Αλγόριθµοι Εισαγωγή Ενας άπληστος αλγόριθµος (greedy algorithm) κάνει σε κάθε ϐήµα την επιλογή που ϕαίνεται ϐέλτιστη. εν είναι απαραίτητο ότι ϑα οδηγήσει στην ϐέλτιστη λύση του προβλήµατος. Η άπληστη επιλογή είναι δυνατόν να οδηγήσει σε µία κακή λύση. Υπάρχουν άπληστοι αλγοριθµοι που οδηγούν στην ϐέλτιστη λύση του προβλήµατος (Prim, Kruskal και Dijkstra). Θα µελετήσουµε την γενική µορφή ενός άπληστου αλγορίθµου και ϑα δούµε την εφαρµογή του σε προβλήµατα που είτε εφαρµόζεται αποδοτικά (ϐρίσκεται η ϐέλτιστη λύση) είτε όχι. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 2 / 91

3 Απληστοι Αλγόριθµοι Γενική µορφή ενός Απληστου Αλγόριθµου Μία λύση στο πρόβληµα:ένα υποσύνολο F E, C(F) = true. F είναι µία εφικτή λύση (feasible solution). Ο στόχος ϑα είναι να ϐρεθεί εκείνο το F που είναι ϐέλτιστο µεταξύ των υποσυνόλων του E, δηλαδή το v(e) να είναι µέγιστο ή ελάχιστο. e F Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 3 / 91

4 Απληστοι Αλγόριθµοι Γενική µορφή ενός Απληστου Αλγόριθµου Greedy (E : σύνολο στοιχείων) 1. F = 2. while E do 3. Απληστη Επιλογή x E 4. E = E {x} 5. if F {x} feasible then 6. F = F {x} 7. end if 8. end while 9. return F Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 4 / 91

5 Απληστοι Αλγόριθµοι Ο αλγόριθµος του Kruskal Εύρεση ενός δέντρου επικάλυψης ελαχίστου κόστους σε µη κατευθυνόµενο γράφο µε ϐάρη G = (V, E). Σε αυτό το πρόβληµα η άπληστη επιλογή οδηγεί στην ϐέλτιστη λύση. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 5 / 91

6 Απληστοι Αλγόριθµοι Ο αλγόριθµος του Kruskal Kruskal (G = (V, E, W)) 1. T = 2. while ( T < n 1) and (E ) do 3. e =smallest edge in E 4. E = E {e} 5. if T {e} has no cycle then 6. T T {e} 7. end if 8. end while 9. if ( T < n 1) then 10. write "graph disconnected" Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 6 / 91

7 Απληστοι Αλγόριθµοι Ανάθεση ενός πόρου ίδεται ένας πόρος (για παράδειγµα ένα αυτοκίνητο προς ενοικίαση ή ένα υπολογιστικό σύστηµα προς ανάθεση) Ενα σύνολο αιτήσεων P = {P 1,...,P n } χρησιµοποιήσης του πόρου. Κάθε αίτηση P i, αναφέρεται σε ένα χρονικό διάστηµα(a i, T i ) για τη χρησιµοποίηση του πόρου. Ο στόχος µας είναι να µεγιστοποιήσουµε το πλήθος των πελατών που ϑα χρησιµοποιήσουν τον πόρο. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 7 / 91

8 Απληστοι Αλγόριθµοι Ενα παράδειγµα του προβλήµατος ανάθεσης πόρου (σχ.1) a 1 T 1 a 2 T 2 a 3 T 3 a 4 T 4 a 5 T 5 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 8 / 91

9 Απληστοι Αλγόριθµοι Ανάθεση ενός πόρου Μία ϐέλτιστη λύση είναι{p 3, P 4, P 5 }. Η λύση{p 1, P 2 } δεν είναι ϐέλτιστη. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 9 / 91

10 Πρόβληµα: Ανάθεση Πόρου Βέλτιστη Υποδοµή-Θεώρηµα Αν η F 1,p =< x 1, x 2,..., x k,..., x p > είναι ϐέλτιστη τότε F 1,p = F 1,k 1 {xk } F k+1,p και οι F 1,k 1, F k+1,p είναι ϐέλτιστες. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 10 / 91

11 Πρόβληµα: Ανάθεση Πόρου Απόδειξη Αποκοπή και επικόλληση. Αν υπήρχε µια λύση F 1,k 1, η οποία να περιλαµβάνει περισσότερες αιτήσεις - δραστηριότητες απ ότι η F 1,k 1, ϑα αποκόπταµε την F 1,k 1 από την F 1,p και ϑα επικολλούσαµε την F 1,k 1. Σε αυτή την περίπτωση η F 1,p ϑα είχε περισσότερες αιτήσεις πράγµα που δηλώνει ότι η F 1,p δεν είναι ϐέλτιστη. Αυτό όµως αντιφάσκει µε την υπόθεση µας ότι η F 1,p είναι ϐέλτιστη. Το ίδιο σκεπτικό ισχύει και για την F k+1,p. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 11 / 91

12 Απληστοι Αλγόριθµοι Απληστος Αλγόριθµος Ανάθεσης Πόρου Ανάθεση-Πόρου (P : σύνολο αιτήσεων) 1. Ταξινόµηση(P) 2. F = 3. for i = 1 to n 4. Επιλογή P i 5. if F {P i } συµβατή then 6. F = F {P i } 7. end if 8. end while 9. return F Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 12 / 91

13 Απληστοι Αλγόριθµοι Ανάθεση ενός πόρου Η εφικτότητα εδώ σηµαίνει ότι όταν εισάγουµε το αίτηµα P i δεν ϑα πρέπει να επικαλύπτεται µε οποιοδήποτε από τα P j, 1 j < i. Θα πρέπει να ευρεθεί η ταξινόµηση που ϑα γίνει στα διαστήµατα. Αύξουσα ταξινόµηση µεγέθους του διαστήµατος. Στο παράδειγµα του σχήµατος η προσέγγιση αυτή ϑα µας επέστρεφε µία ϐέλτιστη λύση. εν δουλεύει γενικά. Η ϐέλτιστη λύση είναι το σύνολο{p 1, P 2, P 3 }, η λύση που επιστρέφει η άπληστη µέθοδος είναι η{p 4, P 5 }. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 13 / 91

14 Απληστοι Αλγόριθµοι Ενα παράδειγµα του προβλήµατος ανάθεσης πόρου που η επιλογή του µικρότερου δεν επιστρέφει την ϐέλτιστη λύση (σχ.2). a 1 T 1 a 2 T 2 a 3 T 3 a 4 T 4 a 5 T 5 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 14 / 91

15 Απληστοι Αλγόριθµοι Ανάθεση ενός πόρου Ας ϑεωρήσουµε τώρα την αύξουσα ταξινόµηση τέλους διαστήµατος. [P 1, P 3, P 4, P 2, P 5 ], παράδειγµα του σχήµατος 1 [P 1, P 4, P 2, P 5, P 3 ], παράδειγµα του σχήµατος 2. Η εφαρµογή του άπληστου αλγορίθµου δίνει τις αντίστοιχες ϐέλτιστες λύσεις. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 15 / 91

16 Ορθότητα: Ανάθεση Πόρου Θεώρηµα Εστω F =< x 1, x 2,...,x j,..., x p > η λύση που επιστρέφει ο άπληστος αλγόριθµος. Τότε αυτή η λύση είναι η ϐέλτιστη. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 16 / 91

17 Ορθότητα: Ανάθεση Πόρου Απόδειξη... Με χρήση της επαγωγής στο j. Για j = 1 F =< x 1 > και αυτή είναι η ϐέλτιστη λύση διότι ο χρόνος περάτωσης της x 1 είναι f 1 και f 1 = min {f i }. 1 i p Συνεπώς η x 1 αφήνει το µέγιστο ελεύθερο χώρο πράγµα που δηλώνει ότι είναι η ϐέλτιστη επιλογή. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 17 / 91

18 Ορθότητα: Ανάθεση Πόρου... Απόδειξη Επαγωγικό ϐήµα Υποθέτουµε ότι η F i =< x 1, x 2,..., x i > είναι ϐέλτιστη λύση για όλα τα i < j και ϑα δείξουµε ότι προσθέτοντας την x j τότε και η F j =< x 1, x 2,..., x i, x j > είναι ϐέλτιστη. Πράγµατι, αν προσθέτοντας την x j στην F i η F j δεν είναι ϐέλτιστη, τότε ϑα είναι κάποια άλλη, έστω x j, η οποία ϑα καθιστά την F j ϐέλτιστη. Αλλά σε αυτή την περίπτωση f j < f j που δηλώνει ότι η x j αφήνει λιγότερο ελέυθερο χώρο από την x j άρα η F j δεν είναι ϐέλτιστη και καταλήξαµε σε αντίφαση. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 18 / 91

19 Απληστοι Αλγόριθµοι Ορθότητα: Ανάθεση Πόρου Απόδειξη (2ος τρόπος) Εστω F = {x 1, x 2,..., x k,..., x p } Opt = {y 1, y 2,..., y k,..., y q }, q p. Αν τότε x 1 = y 1, x 2 = y 2,...,x k 1 = y k 1, x k y k, Opt = {x 1, x 2,..., x k 1, x k, y k+1,...,y q } Το ίδιο επιχείρηµα µπορεί να επαναληφθεί και για τα υπόλοιπα στοιχεία y k+1,..., y q που σηµαίνει ότι p = q. Η λύση που επιστρέφει ο άπληστος αλγόριθµος είναι ϐέλτιστη. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 19 / 91

20 Ενα πρόβληµα Χρονοπρογραµµατισµού Το πρόβληµα ίνεται ένας πόρος (π.χ. processor). Να εκτελεστούν πολλές εργασίες (π.χ. processes). Ερώτηση Ποιά διάταξη ϑα χρησιµοποιήσουµε για τις εργασίες (jobs); Υπόθεση Κάθε εργασία έχει: Ενα ϐάρος w j (προτεραιότητα). Ενα χρόνο εκτέλεσης l j. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 20 / 91

21 Χρόνος ολοκλήρωσης Ορισµός Ο χρόνος ολοκλήρωσης c j της εργασίας j είναι το άθροισµα των χρόνων εκτέλεσης των εργασιών µέχρι και της j συµπεριλαµβανοµένης. Παράδειγµα ίνονται τρεις εργασίες µε χρόνους εκτέλεσης l 1 = 1, l 2 = 2, l 3 = 3. Ποιός είναι ο χρόνος ολοκλήρωσης κάθε εργασίας ; α) 1,2,3 ϐ) 3,5,6 γ) 1,3,6 δ) 1,4,6 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 21 / 91

22 Χρόνος ολοκλήρωσης Επιθυµητό: Ελάχιστος χρόνος ολοκλήρωσης Ερώτηση Ποιός είναι ο χρονοπρογραµµατισµός των εργασιών έτσι ώστε ο χρόνος ολοκλήρωσής τους να είναι ελάχιστος; Απάντηση Εξαρτάται από την αντικειµενική συνάρτηση. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 22 / 91

23 Αντικειµενική Συνάρτηση Σκοπός Ελαχιστοποίηση του σταθµισµένου αθροίσµατος του χρόνου ολοκλήρωσης: n min w j c j j=1 Παράδειγµα Αν w 1 = 3, w 2 = 2, w 3 = 1, και l 1 = 1, l 2 = 2, l 3 = 3 και η διάταξη των εργασιών είναι η< 1, 2, 3 > τότε c 1 = 1, c 2 = 3, c 3 = 6 και 3 w j c j = = 15 j=1 Αυτή είναι η ελάχιστη τιµή του αθροίσµατος από όλες τις 3! διατάξεις των εργασιών. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 23 / 91

24 Αντικειµενική Συνάρτηση Ερώτηση εδοµένων των w i, c i, i = 1, 2,..., n ποιά είναι η διάταξη των εργασιών η οποία ελαχιστοποιεί το σταθµισµένο άθροισµά τους; Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 24 / 91

25 Σκέψεις για Αλγόριθµο Σκοπός:Ανάπτυξη ενός άπληστου αλγορίθµου. Αν υπάρχει ένας τέτοιος αλγόριθµος τότε πώς πρέπει να σκεφτούµε για να τον κατασκευάσουµε; Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 25 / 91

26 Σκέψεις για Αλγόριθµο Ειδικές περιπτώσεις Αν οι εργασιές έχουν τον ίδιο χρόνο εκτέλεσης τότε ποιός είναι ο χρονοπρογραµµατισµός τους; Ξεκινώντας από τις µεγαλύτερου ή µικρότερου ϐάρους εργασίες; Αν έχουν το ίδιο ϐάρος τότε ποιός είναι ο χρονοπρογραµµατισµός τους; Ξεκινώντας από τις συντοµότερες ή αργότερες εργασίες; α) µεγαλύτερο\συντοµότερες ϐ) µικρότερο\συντοµότερες γ) µεγαλύτερο\αργότερες δ) µικρότερο\αργότερες Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 26 / 91

27 Αν οι εργασίες έχουν τον ίδιο χρόνο εκτέλεσης τότε η ακολουθία των χρόνων ολοκλήρωσης c j, j = 1, 2,..., n ϑα είναι η 1, 2,..., n και ϑα είναι πάντα η ίδια. Συνεπώς η ποσότητα n w j c j (1) j=1 ελαχιστοποιείται αν τα w j επιλέγουν από το µεγαλύτερο προς το µικρότερο. Αν τα ϐάρη w j, j = 1, 2,..., n είναι όλα ίσα, τότε η ελαχιστοποίηση της (1) επιτυγχάνεται αν τα c j, j = 1, 2,.., n επιλεγούν από το µικρότερο προς το µεγαλύτερο. Οσο καθυστερεί µια εργασία τόσο χειρότερο για τις υπόλοιπες. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 27 / 91

28 Παράδειγµα υο εργασίες w 1 = 1, l 1 = 1, w 2 = 1, l 2 = 2. Για τον χρονοπρογραµµατισµό < 1, 2 > έχουµε c 1 = l 1 = 1, c 2 = l 1 + l 2 = 3 άρα 1.c c 2 = 1+3 = 4 ενώ για τον χρονοπρογραµµατισµό < 2, 1 > έχουµε c 2 = l 2 = 2, c 1 = l 2 + l 1 = 3 άρα 1.c c 1 = 2+3 = 5 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 28 / 91

29 Ερώτηση Αν w i > w j και l i > l j ; Ιδέα Ανάθεση ϐαθµών στις εργασίες οι οποίες είναι: αύξουσες ως προς το ϐάρος ϕθίνουσες ως προς το χρόνο εκτέλεσης. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 29 / 91

30 Ποιά συνάρτηση ϑα µπορούσαµε να σκεφτούµε έτσι ώστε να αντιπροσωπεύει το ϐαθµό ; Εχουµε πολλές επιλογές: 1 Ταξινόµηση των εργασιών σε ϕθίνουσα τιµή της w j l j. 2 Ταξινόµηση των εργασιών σε ϕθίνουσα σειρά ως προς το λόγο w j /l j. Μια επιλογή είναι σωστή. Θα απορρίψουµε τη µια µε ϐάση τα παραδείγµατα. Παραδείγµατα 1 l 1 = 5, w 1 = 3 2 l 2 = 2, w 2 = 1 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 30 / 91

31 Ερώτηση Ποίος είναι ο χρόνος ολοκλήρωσης για τις επιλογές 1, 2; α) 22 και 23 ϐ) 23 και 22 γ) 17 και 17 δ) 17 και 11 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 31 / 91

32 Παράδειγµα 1 l 1 = 5, w 1 = 3 2 l 2 = 2, w 2 = 1 Απάντηση 1 w 1 l 1 = 3 5 = 2, w 2 l 2 = 1 2 = 1 άρα: < 2, 1 >, c 2 w 2 + c 1 w 1 = = w 1 /l 1 = 3/5 = 0.6, w 2 /l 2 = 1/2 = 0.5 άρα: < 1, 2 >, c 1 w 1 + c 2 w 2 = = 22. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 32 / 91

33 Συµπεράσµατα Η επιλογή 1 δεν είναι πάντα σωστή. Η επιλογή 2 είναι πάντα σωστή ( απόδειξη στη συνέχεια ). Παρατηρήσεις Η απόδειξη της ορθότητας ενός άπληστου αλγορίθµου παρουσιάζει δυσκολίες. Αντίθετα η πολυπλοκότητα του είναι εύκολο να αναλυθεί. Η πολυπλοκότητα του άπληστου αλγορίθµου είναι O(nlogn) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 33 / 91

34 Απόδειξη Ορθότητας Θεώρηµα Η διάταξη των εργασιών σε ϕθίνουσα σειρά ως προς το λόγο w j /l j είναι η ϐέλτιστη. Απόδειξη Θα χρησιµοποιήσουµε τη µέθοδο της Ανταλλαγής Επιχειρηµάτων. Υπόθεση : Κάθε εργασία έχει διαφορετικούς λόγους. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 34 / 91

35 Απόδειξη Ορθότητας Απόδειξη Εστω n εργασίες. Θα εφαρµόσουµε την εις άτοπο απαγωγή. Θεωρούµεσ ο άπληστος χρονοπρογραµµατισµός καισ ο ϐέλτιστος χρονοπρογραµµατισµός (καλύτερος από τονσ). Θα αποδείξουµε ότι υπάρχει χρονοπρογραµµατισµός καλύτερος από τον σ εποµένως αυτός δεν είναι ο ϐέλτιστος. Υποθέτουµε ότι όλοι οι λόγοι είναι διαφορετικοί και ότι ισχύει:. w 1 l 1 > w 2 l 2 >... > w n l n Τότε, ο άπληστος χρονοπρογραµµατισµός ϑα είναι ο. < 1, 2, 3,..., n > Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 35 / 91

36 Απόδειξη Ορθότητας Αν ο ϐέλτιστος χρονοπρογραµµατισµόςσ σ, τότε υπάρχουν συνεχόµενες εργασίες i, j µε i > j στησ δροµολόγηση, ώστε η i να εκτελείται νωρίτερα. Αυτό ισχύει διότι η µόνη περίπτωση που οι δείκτες αυξάνονται είναι αυτή του χρονοπρογραµµατισµού < 1, 2, 3,..., n >, οποιοσδήποτε άλλος χρονοπρογραµµατισµός ϑα έχει δυο συνεχόµενες εργασίες i, j όπου η µια εκτελείται µετά την άλλη και i > j. Τεχνική ανταλλαγής επιχειρηµάτων Εστω ότι ανταλλάσεται η διάταξη των i, j στησ (αφήνοντας τις υπόλοιπες εργασίες ως έχουν). Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 36 / 91

37 Ανάλυση κόστους Ερώτηση Ποιά είναι η επίδραση αυτής της ανταλλαγής στο χρόνο ολοκλήρωσης; 1 µιας εργασίας k διαφορετικής από τις i, j 2 της εργασίας i 3 της εργασίας j Απάντηση α) όχι αρκετή πληροφόρηση/αυξάνεται/µειώνεται ϐ) όχι αρκετή πληροφόρηση/µειώνεται/αυξάνεται γ) δεν επηρρεάζεται/αυξάνεται/µειώνεται δ) δεν επηρρεάζεται/µειώνεται/αυξάνεται Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 37 / 91

38 Απάντηση Η σωστή απάντηση είναι η γ). Οι εργασίες πριν και µετά τις i και j δεν επηρρεάζονται αφού ο χρόνος ολοκλήρωσής τους δε µεταβάλλεται. Συµπέρασµα 1 Το κόστος της ανταλλαγής είναι διότι το c i αυξάνεται κατα l j. 2 Το όφελος της ανταλλαγής είναι Cost = w i l j διότι το c j µειώνεται κατά l i. Benefit = w j l i Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 38 / 91

39 Συµπέρασµα Αλλά Cost < Benefit Πράγµατι, ή w i l j < w j l i w i l i < w j l j το οποίο ισχύει λόγω της αρχικής µας υπόθεσης αφού i > j. Συνεπώς η ανταλλαγή ϐελτιώνει τον χρονοπρογραµµατισµόσ πράγµα που έρχεται σε αντίφαση µε την υπόθεσή µας ότι ο σ είναι ϐέλτιστος. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 39 / 91

40 Γενίκευση του Αλγορίθµου Γενίκευση του Αλγορίθµου (ίσοι λόγοι) Ο άπληστος αλγόριθµος (διάταξη των εργασιών κατα µη αύξουσα σειρά των λόγων w j /l j ) είναι ϐέλτιστος. Απόδειξη Θεωρούµεσ οποιοδήποτε άλλο χρονοπρογραµµατισµό. Θα δείξουµε ότι οσ είναι τουλάχιστον τόσο καλός όσο και οσ. Αρα ο άπληστος είναι ϐέλτιστος αφού είναι καλύτερος από οποιοδήποτε άλλον άρα και από τον ϐέλτιστο. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 40 / 91

41 Απόδειξη Υπόθεση Ο άπληστοςσ είναι ο µε < 1, 2, 3,..., n > w 1 l 1 w 2 l 2... w n l n ϑεωρούµε έναν αυθαίρετο χρονοπρογραµµατισµόσ και ϑα δείξουµε ότι δεν είναι καλύτερος από τονσ. Ανσ = σ τελειώσαµε. ιαφορετικά, υπάρχουν διαδοχικές εργασίες i, j στονσ µε i > j. Ανταλλάσοντας τις i, j στησ έχει καθαρό όφελος w j l i w i l j 0 ή Cost Benefit. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 41 / 91

42 Απόδειξη Αν i = j το κόστος είναι ίσο µε το όφελος. Ανταλλάσοντας τις i και j (γειτονική αντιστροφή) οσ δε γίνεται χειρότερος, γίνεται µόνο καλύτερος και µειώνεται το πλήθος των αντίστροφων Ϲευγαριών. ( ) n Μετά από το πολύ ανταλλαγές ο σ τροποποιείται στονσ. 2 οσ τουλάχιστον τόσο καλός όσο οσ Αρα ο άπληστος χρονοπρογραµµατισµός είναι ϐέλτιστος. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 42 / 91

43 Απληστοι Αλγόριθµοι Αποθήκευση αρχείων σε δίσκους ίδονται n αρχεία µε χωρητικότητες l 1, l 2,..., l n και δύο δίσκοι ίσης χωρητικότητας L. Θέλουµε να αποθηκεύσουµε όσο το δυνατό περισσότερα αρχεία στους δίσκους, ϑεωρώντας ότι κάθε αρχείο πρέπει να αποθηκευτεί σε έναν µόνο δίσκο και. n l i 2L i=1 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 43 / 91

44 Απληστοι Αλγόριθµοι Απληστος αλγόριθµος αποθήκευσης αρχείων σε δύο ίσης χωρητικότητας δίσκους Αποθήκευση-Αρχείων (l : σύνολο αρχείων, L : χωρητικότητα δίσκων ) /* αύξουσα σειρά µεγεθών */ 1. Αύξουσα-Ταξινόµηση(l) 2. i = 1 3. for j = 1 to 2 /* δίσκος j */ 4. sum = 0 5. while sum+l i L 6. καταχώρηση i j 7. sum = sum+l i 8. i = i end while 10. end for Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 44 / 91

45 Απληστοι Αλγόριθµοι Αποθήκευση αρχείων σε δίσκους Η µέθοδος αυτή δεν δίνει τη ϐέλτιστη λύση. Οι δίσκοι έχουν χωρητικότητα 10 και υπάρχουν 4 αρχεία µε αντίστοιχα µεγέθη 2, 4, 5, 6. Το πρόβληµα είναι NP-δύσκολο. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 45 / 91

46 Απληστοι Αλγόριθµοι Παράδειγµα όπου ο άπληστος αλγόριθµος δεν επιστρέφει τη ϐέλτιστη λύση. (Πάνω είναι η λύση του άπληστου αλγορίθµου µε 3 αρχεία και κάτω η ϐέλτιστη λύση µε 4 αρχεία.) Greedy Optimum Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 46 / 91

47 Απληστοι Αλγόριθµοι Το ιακριτό Πρόβληµα Σακιδίου (Discrete Knapsack). Ενας αλπινιστής προετοιµάζει το σακίδιό του για την ανάβαση στο ϐουνό. Εχει ένα σύνολο από n αντικείµενα X = {x 1, x 2,..., x n } µε ϐάρη a 1, a 2,..., a n. Κάθε αντικείµενο δίνει ένα κέρδος στον αλπινιστή c i. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 47 / 91

48 Απληστοι Αλγόριθµοι Το ιακριτό Πρόβληµα Σακιδίου (Discrete Knapsack). Αν ο αλπινιστής έχει επιλέξει το αντικείµενο i, ο στόχος είναι η µεγιστοποίηση του αθροίσµατος: max n c i z i i=1 µε τον περιορισµό (b=βάρος σακιδίου): n a i z i b i=1 Για την επίλυση του προβλήµατος µε άπληστο αλγόριθµο, η ταξινόµηση των αντικειµένων σύµφωνα µε τον όρο c i /a i. Η προσέγγιση αυτή δεν δουλεύει πάντα. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 48 / 91

49 Απληστοι Αλγόριθµοι Απληστος αλγόριθµος για το διακριτό πρόβληµα σακιδίου Discrete-Knapsack (X : σύνολο αντικειµένων, a, c : αντίστοιχα ϐάρη και αξίες, b : ϐάρος σακιδίου) 1. Φθίνουσα-Ταξινόµηση(c i /a i ) 2. S = 3. for i = 1 to n 4. if b a i 5. S = S {x i } 6. b = b a i 7. end if 8. end for Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 49 / 91

50 Απληστοι Αλγόριθµοι Το ιακριτό Πρόβληµα Σακιδίου (Discrete Knapsack). ίδονται 3 αντικείµενα{x 1, x 2, x 3 } µε ϐάρη a = (k + 1, k, k) και αξίες c = (k + 2, k, k). Το ϐάρος του σακιδίου είναι 2k. Η ταξινόµηση των αντικειµένων σε ϕθίνουσα σειρά του λόγου c i /a i είναι x 1, x 2, x 3 αφού k + 2 k + 1 > k k = k k Ο αλγόριθµος ϑα επιλέξει το αντικείµενο x 1 µε κέρδος k + 2 αντί να επιλέξει τα αντικείµενα x 2, x 3 µε κέρδος 2k. Το πρόβληµα του σακιδίου είναι και αυτό NP δύσκολο. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 50 / 91

51 Απληστοι Αλγόριθµοι Το Συνεχές Πρόβληµα Σακιδίου (Continuous Knapsack). Επιτρέπεται στον αλπινιστή να πάρει µέρη των αντικειµένων. Οι µεταβλητές απόφασης z i του ακέραιου προβλήµατος παίρνουν συνεχείς τιµές στο[0, 1]. Εδώ η ϕθίνουσα ταξινόµηση µε ϐάση τον λόγο c i /a i δουλεύει αποδοτικά και ϐρίσκει την ϐέλτιστη λύση. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 51 / 91

52 Απληστοι Αλγόριθµοι Απληστος αλγόριθµος για το συνεχές πρόβληµα σακιδίου Continuous-Knapsack (X : σύνολο αντικειµένων, a, c : αντίστοιχα ϐάρη και αξίες, b : ϐάρος σακιδίου) 1. Φθίνουσα-Ταξινόµηση(c i /a i ) 2. for i = 1 to n Θέσε z i = 0 3. i = 1 4. while b a i do 5. z i = 1 6. b = b a i 7. i = i end while 9. z i = b (c i /a i ) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 52 / 91

53 Huffman Στοιχεία της Απληστης Στρατηγικής Ενας άπληστος αλγόριθµος προσδιορίζει µια ϐέλτιστη λύση σε κάποιο πρόβληµα µέσω κάποιων διαδοχικών επιλογών. Σε κάθε «σηµέιο απόφασης» του αλγορίθµου, η επιλογή που προτείνεται είναι εκείνη που ϕαίνεται καλύτερη τη δεδοµένη στιγµή. Η ευρύτερη αυτή στρατηγική δεν αποδίδει πάντοτε µια ϐέλτιστη λύση, αλλά σε ορισµένες περιπτώσεις λειτουργεί µε επιτυχία. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 53 / 91

54 Huffman Σχεδιασµός Απληστων Αλγορίθµων Γενικότερα, για να σχεδιάσουµε άπληστους αλγορίθµους ακολουθούµε την παρακάτω ακολουθία ϐηµάτων: Καταστρώνουµε το πρόβληµα ϐελτιστοποίησης µε τέτοιο τρόπο ώστε όταν υιοθετούµε µια επιλογή να αποµένει προς επίλυση µόνο ένα υποπρόβληµα. Αποδεικνύουµε ότι υπάρχει πάντοτε µια ϐέλτιστη λύση του αρχικού προβλήµατος η οποία χρησιµοποιεί την άπληστη επιλογή, και εποµένως η επιλογή αυτή µπορεί να εξασφαλίσει πάντοτε µια ϐέλτιστη λύση. είχνουµε ότι, υιοθετώντας την άπληστη επιλογή, αυτό που αποµένει είναι ένα υποπρόβληµα που έχει την ιδιότητα ότι ο συνδυασµός µιας ϐέλτιστης λύσης του µε την άπληστη επιλογή µας δίνει µια ϐέλτιστη λύση του αρχικού προβλήµατος. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 54 / 91

55 Huffman Σχεδιασµός Απληστων Αλγορίθµων (συν.) Γενικότερα, για να σχεδιάσουµε άπληστους αλγορίθµους ακολουθούµε την παρακάτω ακολουθία ϐηµάτων: Καταστρώνουµε το πρόβληµα ϐελτιστοποίησης µε τέτοιο τρόπο ώστε όταν υιοθετούµε µια επιλογή να αποµένει προς επίλυση µόνο ένα υποπρόβληµα. Αποδεικνύουµε ότι υπάρχει πάντοτε µια ϐέλτιστη λύση του αρχικού προβλήµατος η οποία χρησιµοποιεί την άπληστη επιλογή, και εποµένως η επιλογή αυτή µπορεί να εξασφαλίσει πάντοτε µια ϐέλτιστη λύση. είχνουµε ότι, υιοθετώντας την άπληστη επιλογή, αυτό που αποµένει είναι ένα υποπρόβληµα που έχει την ιδιότητα ότι ο συνδυασµός µιας ϐέλτιστης λύσης του µε την άπληστη επιλογή µας δίνει µια ϐέλτιστη λύση του αρχικού προβλήµατος. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 55 / 91

56 Huffman Σχεδιασµός Απληστων Αλγορίθµων (συν.) Πώς µπορεί κανείς να αποφανθεί κατά πόσο ένα συγκεκριµένο πρόβληµα ϐελτιστοποίησης επιλύεται µέσω µιας άπληστης προσέγγισης; Αν και εν γένει δεν υπάρχει απάντηση στο ερώτηµα αυτό, δυο ϐασικά χαρακτηριστικά προβληµάτων που επιδέχονται τέτοια αντιµετώπιση είναι η ιδιότητα της άπληστης επιλογής και η ϐέλτιστη υποδοµή. Αν µπορούµε να αποδείξουµε ότι κάποιο δεδοµένο πρόβληµα έχει αυτές τις δύο ιδιότητες, τότε έχουµε κάνει ένα αποφασιστικό ϐήµα προς την ανάπτυξη ενός άπληστου αλγορίθµου για το πρόβληµα αυτό. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 56 / 91

57 Huffman Ιδιότητα της Απληστης Επιλογής Το πρώτο ϐασικό συστατικό είναι η ιδιότητα της άπληστης επιλογής: µια τοπικά ϐέλτιστη (άπληστη) επιλογή είναι δυνατόν να οδηγήσει σε µια καθολικά ϐέλτιστη λύση. Σε κάθε περίπτωση που έχουµε να επιλέξουµε µεταξύ εναλλακτικών δυνατοτήτων, κάνουµε την επιλογή που ϕαίνεται καλύτερη τη δεδοµένη στιγµή για το τρέχον πρόβληµα, αγνοώντας τα αποτελέσµατα των διαφόρων υποπροβληµάτων. Στον δυναµικό προγραµµατσµό, κάνουµε µια επιλογή σε κάθε ϐήµα, που συνήθως εξαρτάται από τις λύσεις υποπροβληµάτων. Σε προβλήµατα δυναµικού προγραµµατισµού εργαζόµαστε κατά κανόνα αναβιβαστικά, οδεύοντας από µικρότερα προς µεγαλύτερα υποπροβλήµατα. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 57 / 91

58 Huffman Ιδιότητα της Απληστης Επιλογής (συν.) Στην άπληστη προσέγγιση, υιοθετούµε την επιλογή που ϕαίνεται καλύτερη τη δεδοµένη στιγµή και εν συνεχεία επιλύουµε το υποπρόβληµα που προκύπτει µε ϐάση αυτήν την επιλογή. Εποµένως, αντίθετα προς το δυναµικό προγραµµατισµό, όπου τα προβλήµατα επιλύονται αναβιβαστικά, στην άπληστη προσέγγιση η πορεία της λύσης είναι συνήθως καταβιβαστική: το κάθε στιγµιότυπο προβλήµατος ανάγεται σε ένα µικρότερο πρόβληµα, µε διαδοχικές άπληστες επιλογές. Θα πρέπει να αποδείξουµε ότι µια άπληστη επιλογή σε κάθε ϐήµα δίνει µια καθολικά ϐέλτιστη λύση. Για να αποδείξουµε την ιδιότητα αυτή εξετάζουµε µια καθολικά ϐέλτιστη λύση σε κάποιο υποπρόβληµα. Εν συνεχεία, αποδεικνύουµε ότι η λύση µπορεί να τροποποιηθεί ώστε να περιλαµβάνει την άπληστη επιλογή, οπότε προκύπτει ένα παρόµοιο αλλά µικρότερο υποπρόβληµα. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 58 / 91

59 Huffman Βέλτιστη Υποδοµή Η ιδιότητα της βέλτιστης υποδοµής ενός προβλήµατος αποτελεί ένα ϐασικό κριτήριο της εφαρµοσιµότητας τόσο του δυναµικού προγραµµατισµού όσο και της άπληστης προσέγγισης. Ενα πρόβληµα διαθέτει ϐέλτιστη υποδοµή αν µια ϐέλτιστη λύση του εµπεριέχει ϐέλτιστες λύσεις υποπροβληµάτων. Υιοθετώντας την άπληστη επιλογή στο αρχικό πρόβληµα καταλήγουµε σε ένα υποπρόβληµα. Πρέπει να δείξουµε ότι ο συνδυασµός µιας ϐέλτιστης λύσης του υποπροβλήµατος µε την άπληστη επιλογή που έχουµε ήδη κάνει δίνει µια ϐέλτιστη λύση του αρχικού προβλήµατος. Ο µηχανισµός αυτός ϐασίζεται σιωπηρά στην εφαρµογή της επαγωγικής µεθόδου στα υποπροβλήµατα µέσω της οποίας αποδεικνύουµε ότι η υιοθέτηση της άπληστης επιλογής σε κάθε ϐήµα δίνει µια ϐέλτιστη λύση. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 59 / 91

60 Huffman Απληστη Στρατηγική έναντι υναµικού Προγραµµατισµού εδοµένου ότι η ιδιότητα της ϐέλτιστης υποδοµής αποτελεί τη ϐάση τόσο της άπληστης όσο και της δυναµικής στρατηγικής, είναι πιθανό να παρασυρθεί κανείς να καταστρώσει µια δυναµική λύση σε περιπτώσεις όπου ϑα αρκούσε µια άπληστη, ή να ϑεωρήσει εσφαλµένα ότι µπορεί να εφαρµοστεί µια άπληστη λύση σε περιπτώσεις όπου απαιτείται δυναµική λύση. Για να αποσαφηνίσουµε τις λεπτές διαφορές µεταξύ των δύο τεχνικών, ϑα µελετήσουµε δύο παραλλαγές ενός κλασικού προβλήµατος ϐελτιστοποίησης. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 60 / 91

61 Huffman Απληστη Στρατηγική έναντι υναµικού Προγραµµατισµού Το ακέραιο πρόβληµα του σακιδίου µπορεί να διατυπωθεί ως εξής. Ενας διαρρήκτης παραβιάζει ένα κατάστηµα και ϐρίσκει n αντικείµενα το i οστό αντικείµενο έχει αξία v i ευρώ και ϐάρος w i κιλά, όπου τα v i και w i είναι ακέραιοι αριθµοί. Ο διαρρήκτης ϑέλει να αποκοµίσει όσο το δυνατόν πιο πολύτιµη λεία, αλλά µπορεί να µεταφέρει στο σακίδιό του ϕορτίο ϐάρους το πολύ ίσο µε W κιλά, όπου W ακέραιος αριθµός. Ποιά αντικείµενα ϑα πρέπει να πάρει; Στο κλασικό πρόβληµα του σακιδίου, έχουµε το ίδιο σκηνικό µόνο που ο διαρρήκτης δεν είναι υποχρεωµένος να επιλέξει «διαζευτικά» για το κάθε αντικείµενο αλλά µπορεί να πάρει και κλάσµατα αντικειµένων. Μπορούµε να ϑεωρήσουµε ότι στο ακέραιο πρόβληµα του σακιδίου το κάθε αντικείµενο είναι κάτι σαν χρυσό κόσµηµα, ενώ στο κλασικό πρόβληµα το κάθε αντικείµενο είναι κάτι σαν σακουλάκι µε χρυσόσκονη. Και οι δυο εκδοχές του προβλήµατος του σακιδίου διαθέτουν την ιδιότητα της ϐέλτιστης υποδοµής. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 61 / 91

62 Huffman Απληστη Στρατηγική έναντι υναµικού Προγραµµατισµού (συν.) Αν και τα δύο προβλήµατα είναι παρόµοια, το κλασµατικό πρόβληµα µπορεί να επιλυθεί µε την άπληστη στρατηγική, ενώ το ακέραιο όχι. Για να επιλύσουµε το κλασµατικό πρόβληµα, αρχικά υπολογίζουµε την αξία ανά µονάδα ϐάρους (δηλ. ανά «κιλό») v i /w i για κάθε αντικείµενο. Ακολουθώντας την άπληστη στρατηγική, ο διαρρήκτης αρχικά παίρνει τη µέγιστη δυνατή ποσότητα από το αντικείµενο µε τη µέγιστη αξία ανά µονάδα ϐάρους. Με την ταξινόµηση των αντικειµένων κατά ϕθίνουσα σειρά ως προς την αξία ανά µονάδα ϐάρους, ο άπληστος αλγόριθµος εκτελείται σε χρόνο O(n log n) Το ότι αυτή η άπληστη στρατηγική δεν δίνει σωστά αποτελέσµατα για το ακέραιο πρόβληµα του σακιδίου µπορεί να αποδειχθεί µέσω του στιγµιοτύπου του προβλήµατος που απεικονίζεται γραφικά στο παρακάτω σχήµα. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 62 / 91

63 Huffman Απληστη Στρατηγική έναντι υναµικού Προγραµµατισµού (συν.) Η άπληστη στρατηγική δεν δίνει σωστά αποτελέσµατα για το ακέραιο πρόβληµα του σακιδίου. Οποιαδήποτε λύση που περιλαµβάνει το αντικείµενο 1 είναι χειρότερη της ϐέλτιστης, παρ όλο που το αντικείµενο αυτό έχει τη µέγιστη αξία ανά µονάδα ϐάρους. Για το κλασµατικό πρόβληµα του σακιδίου, η επιλογή των αντικειµένων κατά ϕθίνουσα σειρά αξίας ανά µονάδα ϐάρους δίνει µια ϐέλτιστη λύση. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 63 / 91

64 Huffman Απληστη Στρατηγική έναντι υναµικού Προγραµµατισµού (συν.) Εποµένως, στο ακέραιο πρόβληµα, για να αποφασίσουµε αν ϑα συµπεριλάβουµε το κάθε αντικείµενο στο σακίδιο, ϑα πρέπει να συγκρίνουµε τη λύση για το υποπρόβληµα στο οποίο το αντικείµενο αυτό συµπεριλαµβάνεται µε τη λύση για το υποπρόβληµα στο οποίο το αντικείµενο αποκλείεται. Οταν το πρόβληµα διατυπώνεται µε αυτόν το τρόπο ανακύπτουν πολλά επικαλυπτόµενα υποπροβλήµατα-χαρακτηριστικό γνώρισµα των προβληµάτων δυναµικού προγραµµατισµού. Πράγµατι, το ακέραιο πρόβληµα του σακιδίου µπορεί να λυθεί µέσω δυναµικού προγραµµατισµού όπως ϑα δούµε στη συνέχεια. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 64 / 91

65 Huffman Κώδικες Huffman Οι κώδικες Huffman αποτελούν µια ευρέως διαδεδοµένη και πολύ αποτελεσµατική τεχνική συµπίεσης δεδοµένων. Στην προκειµένη περίπτωση, ϑα ϑεωρήσουµε ότι τα δεδοµένα είναι µια ακολουθία αλφαρηθµητικών χαρακτήρων. Ο άπληστος αλγόριθµος του Huffman προσδιορίζει έναν ϐέλτιστο τρόπο αναπαράστασης του κάθε χαρακτήρα υπό τη µορφή δυαδικής συµβολοσειράς, µε ϐάση τις συχνότητες εµφάνισης των χαρακτήρων. α ϐ γ δ ε Ϲ Συχνότητα (σε χιλιάδες) Κωδικός σταθερού µήκους Κωδικός µεταβλητού µήκους Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 65 / 91

66 Huffman Απροθηµατικοί Κώδικες Στην ανάλυση που ακολουθεί, ϑα περιοριστούµε σε κώδικες στους οποίους κανένας κωδικός δεν αποτελεί ταυτόχρονα πρόθηµα κάποιου άλλου κωδικού. Αυτού του τύπου οι κώδικες ονοµάζονται απροθηµατικοί. Η κωδικοποίηση κάποιου αρχείου µε ϐάση έναν δυαδικό αλφαρηθµητικό κώδικα είναι απλούστατη απλώς συναρµόζουµε τους κωδικούς που αναπαριστούν τον κάθε χαρακτήρα του αρχείου. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 66 / 91

67 Huffman Απροθηµατικοί Κώδικες Τα πλεονεκτήµατα των απροθηµατικών κωδικών είναι η εύκολη αποκωδικοποίησή τους. εδοµένου ότι κανένας κωδικός δεν συµπίπτει µε το πρόθηµα κάποιου άλλου, ο εναρκτήριος κωδικός σε ένα κωδικοποιηµένο αρχείο είναι µονοσήµαντα ορισµένος. Εποµένως, µπορούµε απλώς να προσδιορίσουµε τον εναρκτήριο κωδικό, να τον αποκωδικοποιήσουµε, και να επαναλάβουµε τη διαδικασίατης αποκωδικοποίησης για το εναποµένον τµήµα του κωδικοποιηµένου αρχείου. Στον κώδικα του πίνακα, η συµβολοσειρά αναλύεται µονοσήµατα στην αλληλουχία , η αποκωδικοποίηση της οποίας δίνει ααβε. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 67 / 91

68 Huffman Απροθηµατικοί Κώδικες Για την διαδικασία της αποκωδικοποίησης µας χρειάζεται µια εύχρηστη αναπαράσταση του απροθηµατικού κώδικα η οποία να µας δίνει τη δυνατότητα να προσδιορίζουµε εύκολα τον εναρκτήριο κωδικό. Μια τέτοια αναπαράσταση επιτυγχάνεται µέσω ενός δυαδικού δέντρου του οποίου οι καταληκτικοί κόµβοι αντιστοιχούν στους δεδοµένους χαρακτήρες. Σε ένα τέτοιο δέντρο, ο δυαδικός κωδικός ενός χαρακτήρα συνίσταται στη διαδροµή από τη ϱίζα του δέντρου µέχρι τον συγκεκριµένο χαρακτήρα, όπου το 0 σηµαίνει «µετάβαση στον αριστερό ϑυγατρικό κόµβο» και το 1 «µετάβαση στον δεξιό ϑυγατρικό κόµβο» Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 68 / 91

69 Huffman Απροθηµατικοί Κώδικες (συν.) Στο παρακάτω σχήµα ϕαίνονται τα δέντρα που αναπαριστούν τους δύο ενδεικτικούς κώδικες που έχουµε ήδη αναφέρει. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 69 / 91

70 Huffman Απροθηµατικοί Κώδικες (συν.) Ενας ϐέλτιστος κώδικας αναπαρίσταται πάντοτε από ένα πλήρες δυαδικό δέντρο, στο οποίο κάθε κόµβος (εξαιρουµένων, ϐέβαια, των «καταληκτικών») έχει δύο ϑυγατρικούς. Ο κώδικας σταθερού µήκους του παραδείγµατός µας δεν είναι ϐέλτιστος, αφού το δέντρο του, το οποίο απεικονιζόταν στο παραπάνω σχήµα, δεν είναι ένα πλήρες δυαδικό δένδρο. εδοµένου ότι µπορούµε πλέον να περιορίσουµε την ανάλυσή µας σε πλήρη δυαδικά δένδρα, µπορούµε να πούµε ότι αν οι χαρακτήρες του κειµένου µας προέρχονται από κάποιο αλφάβητο C και οι συχνότητες τους είναι όλες ϑετικές, τότε το δένδρο που αναπαριστά έναν ϐέλτιστο απροθηµατικό κώδικα έχει ακριβώς C καταληκτικούς κόµβους, έναν για κάθε γράµµα του αλφαβήτου, και ακριβώς C 1 εσωτερικούς κόµβους. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 70 / 91

71 Huffman Απροθηµατικοί Κώδικες (συν.) Αν γνωρίζουµε το δένδρο T που αναπαριστά έναν απροθηµατικό κώδικα, µπορούµε να υπολογίσουµε εύκολα το πλήθος των δυφίων που απαιτούνται για την κωδικοποίηση ενός αρχείου. Για κάθε χαρακτήρα c του αλφαβήτου C, έστω f(c) η συχνότητα εµφάνισής του στο αρχείο και d T (c) το ϐάθος του καταληκτικού κόµβου στο δέντρο. Σηµειώστε ότι η ποσότητα d T (c) ισούται επίσης µε το µήκος του κωδικού του χαρακτήρα c. Εποµένως το πλήθος των δυφίων που απαιτούνται για την κωδικοποίηση του αρχείου είναι B(T) = f(c)d T (c) c C Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 71 / 91

72 Huffman Κατασκευή ενός Κώδικα Huffman Ενας καθιερωµένος άπληστος αλγόριθµος για την κατασκευή ενός ϐέλτιστου απροθηµατικού κώδικα είναι αυτός που ανέπτυξε ο Huffman (κώδικας Huffman). Η ορθότητα του αλγορίθµου ϐασίζεται στην ιδιότητα της άπληστης επιλογής και στη ϐέλτιστη υποδοµή. Θα παρουσιάσουµε πρώτα τον ψευδοκώδικα για να αποσαφηνιστεί καλύτερα ο µηχανισµός µε τον οποίο ο αλγόριθµος κάνει άπληστες επιλογές. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 72 / 91

73 Huffman Κατασκευή ενός Κώδικα Huffman (συν.) Υποθέτουµε ότι το C είναι ένα σύνολο από n χαρακτήρες και ότι ο κάθε χαρακτήρας c C είναι ένα αντικείµενο µε καθορισµένη συχνότητα f[c]. Ο αλγόριθµος κατασκευάζει το δέντρο T το οποίο αντιστοιχεί στον ϐέλτιστο κώδικα ακολουθώντας µια αναβιβαστική στατηγική. Ξεκινά µε ένα σύνολο από C καταληκτικούς κόµβους και δηµιουργεί το τελικό δένδρο εκτελώντας µια ακολουθία C 1πράξεων «συγχώνευσης». Ο αλγόριθµος προσδιορίζει τα δύο αντικείµενα µε τις µικρότερες συχνότητες εµφάνισης τα οποία ϑα συγχωνευθούν µέσω µιας ουράς προτεραιότητας ελαχίστου Q µε κλειδιά τις συχνότητες f. Το προϊόν της συγχώνευσης των δυο αντικειµένων είναι ένα νέο αντικείµενο µε συχνότητα το άθροισµα των δύο συγχωνευθέντων αντικειµένων. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 73 / 91

74 Huffman Κατασκευή ενός Κώδικα Huffman (συν.) Huffman(C) 1. n C 2. Q C 3. για i 1 έως n 1 4. δεσµεύουµε ένα νέο κόµβο z 5. αριστερός[z] x Εξαγωγή Ελαχιστου(Q) 6. δεξιός[z] y Εξαγωγή Ελαχιστου(Q) 7. f[z] f[x]+f[y] 8. Εισαγωγη(Q, z) 9. επιστροφή εξαγωγή ελαχίστου(q) (επιστρέφει τη ϱίζα του δέντρου) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 74 / 91

75 Huffman Κατασκευή ενός Κώδικα Huffman (συν.) Ο συνολικός χρόνος εκτέλεσης της διαδικασίας Huffman για ένα σύνολο n χαρακτήρων είναι O(n log n) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 75 / 91

76 Huffman Ορθότητα Αλγορίθµου Huffman Για να αποδείξουµε ότι ο άπληστος αλγόριθµος Huffman είναι ορθός, ϑα δείξουµε ότι το πρόβληµα του προσδιορισµού ενός ϐέλτιστου απροθηµατικού κώδικα διαθέτει τις ιδιότητες της άπληστης επιλογής και της ϐέλτιστης υποδοµής. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 76 / 91

77 Huffman Λήµµα Απληστης Επιλογής Λήµµα Εστω ένα αλφάβητο του οποίου ο κάθε χαρακτήρας c C έχει συχνότητα f[c], και έστω x, y δυο χαρακτήρες του C οι οποίοι έχουν τις µικρότερες συχνότητες. Στην περίπτωση αυτή, υπάρχει ϐέλτιστος απροθηµατικός κώδικας για το αλφάβητο C στον οποίο οι κωδικοί των x, y έχουν το ίδιο µήκος και διαφέρουν µόνο στο τελευταίο δυφίο. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 77 / 91

78 Huffman Λήµµα Απληστης Επιλογής - Απόδειξη Η κεντρική ιδέα της απόδειξης ϕαίνεται στο παρακάτω σχήµα. Αν µπορούµε να κατασκευάσουµε ένα τέτοιο δένδρο, τότε οι κωδικοί των δυο χαρακτήρων ϑα έχουν το ίδιο µήκος και ϑα διαφέρουν µόνο στο τελευταίο δυφίο. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 78 / 91

79 Huffman Λήµµα Απληστης Επιλογής - Απόδειξη (συν.) Χωρίς απώλεια γενικότητας, µπορούµε να υποθέσουµε ότι f[a] f[b] και f[x] f[y] Αλλά f[x] f[a] και f[c] f[b] Εν συνεχεία εναλάσσουµε τις ϑέσεις των χαρακτήρων a και x στο δένδρο T και προκύπτει το δένδρο T. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 79 / 91

80 Huffman Απόδειξη (συν.) Η διαφορά κόστους µεταξύ των δένδρων T, T είναι B(T) B(T ) = f(c)d T (c) f(c)d T (c) c C c C = f[x]d T (x)+f[a]d T (a) f[x]d T (x) f[a]d T (a) = f[x]d T (x)+f[a]d T (a) f[x]d T (a) f[a]d T (x) = (f[a] f[x])(d T (a) d T (x)) 0 Οµοια, η εναλλαγή των y, b δεν αυξάνει το κόστος, οπότε B(T ) B(T ) 0. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 80 / 91

81 Huffman Απόδειξη (συν.) Εποµένως, από τις δυο τελευταίες σχέσεις προκύπτει ότι B(T ) B(T). Αλλά το δένδρο T είναι ϐέλτιστο, που σηµαίνει ότι B(T) B(T ). Από τις δυο τελευταίες σχέσεις συνεπάγεται ότι B(T ) = B(T). Συνεπώς, το T είναι ένα ϐέλτιστο δένδρο στο οποίο οι χαρακτήρες x, y αναπαρίστανται από αδελφικούς καταληκτικούς κόµβους µέγιστου ϐάθους. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 81 / 91

82 Huffman Λήµµα Απληστης Επιλογής Το Λήµµα µας εξασφαλίζει ότι η διαδικασία της κατασκευής ενός ϐέλτιστου δένδρου µέσω συγχωνεύσεων µπορεί να ξεκινήσει, χωρίς απώλεια της γενικότητας, µε την άπληστη επιλογή της συγχώνευσης των δυο χαρακτήρων µε τις ελάχιστες συχνότητες. Γιατί η επιλογή αυτή είναι άπληστη; Από όλες τις δυνατές συγχωνεύσεις σε κάθε ϐήµα η διαδικασίαhuffman επιλέγει εκείνη που επισύρει τη µικρότερη δαπάνη. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 82 / 91

83 Huffman Λήµµα Βέλτιστης Υποδοµής Λήµµα Εστω C = C {x, y} {z} µε f[z] = f[x]+f[y]. Εστω T οποιοδήποτε ϐέλτιστο δένδρο για το αλφάβητο C. Το δένδρο T που προκύπτει αν αντικαταστήσουµε στο T τον καταληκτικό κόµβο του χαρακτήρα z µε έναν εσωτερικό κόµβο ο οποίος έχει ως ϑυγατρικούς τους x, y αναπαριστά έναν ϐέλτιστο απροθηµατικό κώδικα για το αλφάβητο C. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 83 / 91

84 Huffman Λήµµα Βέλτιστης Υποδοµής-Απόδειξη Ως πρώτο ϐήµα, ϑα δείξουµε ότι το κόστος B(T) του δένδρου T µπορεί να εκφραστεί συναρτήσει του κόστους B(T ) του δένδρου T. Για κάθε χαρακτήρα c C {x, y} έχουµε d T (c) = d T (c) και εποµένως f[c]d T (c) = f[c]d T (c). εδοµένου ότι d T (x) = d T (y) = d T (z)+1έχουµε f[x]d T (x)+f[y]d T (y) = (f[x]+f[y])(d T (z)+1) = f[z]d T (z)+f[x]+f[y] απ όπου έπεται ότι ή ισοδύναµα B(T) = B(T )+f[x]+f[y] B(T ) = B(T) f[x] f[y] Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 84 / 91

85 Huffman Λήµµα Βέλτιστης Υποδοµής-Απόδειξη Εν συνεχεία ϑα αποδείξουµε το λήµµα µε εις άτοπον απαγωγή. Ας υποθέσουµε ότι το T δεν αντιπροσωπεύει έναν ϐέλτιστο απροθηµατικό κώδικα για το αλφάβητο C. Στην περίπτωση αυτή υπάρχει ένα δένδρο T τέτοιο ώστε B(T ) < B(T). Χωρίς απώλεια της γενικότητας (µε ϐάση το Λήµµα της Απληστίας) τα x, y αναπαρίστανται από αδελφικούς κόµβους στο T. Εστω T το δένδρο που προκύπτει αν αντικαταστήσουµε τον κοινό πατρικό κόµβο των x, y στο T από έναν καταληκτικό κόµβο z µε συχνότητα f[z] = f[x]+f[y]. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 85 / 91

86 Huffman Λήµµα Βέλτιστης Υποδοµής-Απόδειξη Στην περίπτωση αυτή B(T ) = B(T ) f[x] f[y] < B(T) f[x] f[y] = B(T ) αντίφαση! διότι το T αντιπροσωπεύει ένα ϐέλτιστο απροθηµατικό κώδικα για το αλφάβητο C. Εποµένως το T αντιπροσωπεύει ένα ϐέλτιστο απροθηµατικό κώδικα για το αλφάβητο C. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 86 / 91

87 Huffman Τηεορεµ Η διαδικασία Huffman παράγει ϐέλτιστο απροθηµατικό κώδικα. Απόδειξη. Το ϑεώρηµα έπεται άµεσα από τα Λήµµατα άπληστης επιλογής και ϐέλτιστης υποδοµής. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 87 / 91

88 Σηµειώµατα Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 88 / 91

89 Σηµείωµα Αναφοράς Copyright Εθνικόν και Καποδιστριακόν Πανεπιστήµιον Αθηνών 2015, Νικόλαος Μισυρλής, Αλγόριθµοι και Πολύπλοκότητα. Ενότητα 4 - Απληστοι Αλγόριθµοι Εκδοση:1.01. Αθήνα ιαθέσιµο από τη δικτυακή διεύθυνση: Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 89 / 91

90 Σηµείωµα Αδειοδότησης Το παρόν υλικό διατίθεται µε τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εµπορική Χρήση Παρόµοια ιανοµή 4.0 [1] ή µεταγενέστερη, ιεθνής Εκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. ϕωτογραφίες, διαγράµµατα κ.λ.π., τα οποία εµπεριέχονται σε αυτό και τα οποία αναφέρονται µαζί µε τους όρους χρήσης τους στο «Σηµείωµα Χρήσης Εργων Τρίτων». [1] Ως Μη Εµπορική ορίζεται η χρήση: που δεν περιλαµβάνει άµεσο ή έµµεσο οικονοµικό όφελος από την χρήση του έργου, για το διανοµέα του έργου και αδειοδόχο που δεν περιλαµβάνει οικονοµική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προορίζει στο διανοµέα του έργου και αδειοδόχο έµµεσο οικονοµικό όφελος (π.χ. διαφηµίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος µπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιµοποιεί το έργο για εµπορική χρήση, εφόσον αυτό του Ϲητηθεί. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 90 / 91

91 ιατήρηση Σηµειωµάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού ϑα πρέπει να συµπεριλαµβάνει: το Σηµείωµα Αναφοράς το Σηµείωµα Αδειοδότησης τη δήλωση ιατήρησης Σηµειωµάτων το Σηµείωµα Χρήσης Εργων Τρίτων (εφόσον υπάρχει) µαζί µε τους συνοδευόµενους υπερσυνδέσµους. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 4 91 / 91

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

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

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

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

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

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

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Bellman Ford Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman

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

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

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

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

Αριθµητική Ανάλυση. Ενότητα 6 Αριθµητική Παραγώγιση και Ολοκλήρωση. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

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

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

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

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

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Prim-Kruskal Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Prim-Kruskal

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

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

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

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

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18 Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 1 / 18 Βέλτιστα (στατικά) δυαδικά δένδρα αναζήτησης Παράδειγµα: Σχεδιασµός προγράµµατος

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 6: Αποτελεσματικότητα αλγορίθμων

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 6: Αποτελεσματικότητα αλγορίθμων ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 6: Αποτελεσματικότητα αλγορίθμων Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Αποτελεσµατικότητα αλγορίθµων 127 Αποτελεσµατικότητα αλγορίθµων Ενας σωστός αλγόριθµος

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 1 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική

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

Αλγόριθμοι και πολυπλοκότητα Η Άπληστη Μέθοδος

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

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

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

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

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

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

Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Τµήµα Πληροφορικής και Τηλεπικοινωνιών Αδιάσπαστοι, p-κυκλικοί, συνεπώς διατεταγµένοι πίνακες και γραφήµατα Νικόλαος Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών 2 Σεπτεµβρίου 2015 Νικόλαος Μισυρλής Επιστηµονικοί Υπολογισµοί 1 / 35 Περιεχόµενα

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

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

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

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

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

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

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

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ Ενότητα 8: Μοντέλα χωροθέτησης και ανάθεσης δυναμικότητας - Μέρος ΙΙ Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

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

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

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

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

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Γ. Κορίλη Αλγόριθµοι ροµολόγησης - Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι

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

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Συγχωνευτική Ταξινόμηση (Merge Sort) 7 2 9 4 2 4 7 9 7 2 2 7 9 4

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

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

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

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

Εφαρμοσμένη Βελτιστοποίηση

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Συναρτήσεις 60 Ροή ελέγχου Είναι η σειρά µε την οποία εκτελούνται οι εντολές. Μέχρι τώρα, «σειριακή»,

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

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

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

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

Λογικός Προγραμματισμός Ασκήσεις

Λογικός Προγραμματισμός Ασκήσεις Λογικός Προγραμματισμός Ασκήσεις Παναγιώτης Σταματόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενα 1. Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2007-08... 3 1.1 Άσκηση 5...

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

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Βασικές Προγραμματιστικές Δομές ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Δομή Ελέγχου Ροής (IF) Η εντολή IF χρησιμοποιείται όταν

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

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

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

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

Ευφυής Προγραμματισμός

Ευφυής Προγραμματισμός Ευφυής Προγραμματισμός Ενότητα 10: Δημιουργία Βάσεων Κανόνων Από Δεδομένα-Προετοιμασία συνόλου δεδομένων Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δημιουργία Βάσεων Κανόνων

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

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 1: Εισαγωγή Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται

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

Εισαγωγή στους Υπολογιστές

Εισαγωγή στους Υπολογιστές Εισαγωγή στους Υπολογιστές Εργαστήριο 2 Καθηγητές: Αβούρης Νικόλαος, Παλιουράς Βασίλης, Κουκιάς Μιχαήλ, Σγάρμπας Κυριάκος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άσκηση 2 ου εργαστηρίου

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

Λογικός Προγραμματισμός Ασκήσεις

Λογικός Προγραμματισμός Ασκήσεις Λογικός Προγραμματισμός Ασκήσεις Παναγιώτης Σταματόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενα 1. Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2012-13... 3 1.1 Άσκηση 4...

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Αναζήτηση και ταξινόµηση 7 Αναζήτηση (search) Πρόβληµα: αναζήτηση της καταχώρησης key στη

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

Μικροοικονομική Ανάλυση της Κατανάλωσης και της Παραγωγής

Μικροοικονομική Ανάλυση της Κατανάλωσης και της Παραγωγής Μικροοικονομική Ανάλυση της Κατανάλωσης και της Παραγωγής Διάλεξη 12: Ελαχιστοποίηση κόστους Ανδρέας Παπανδρέου Σχολή Οικονομικών και Πολιτικών Επιστημών Τμήμα Οικονομικών Επιστημών Ελαχιστοποίηση κόστους

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

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 4: Το γενικευμένο πρόβλημα βέλτιστου ελέγχου για συστήματα συνεχούς Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 12: Αρχή ελαχίστου του Pontryagin Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το

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

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

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

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

Λογικός Προγραμματισμός Ασκήσεις

Λογικός Προγραμματισμός Ασκήσεις Λογικός Προγραμματισμός Ασκήσεις Παναγιώτης Σταματόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενα 1. Ασκήσεις "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2003-04... 3 1.1 Άσκηση 1 (0.2 μονάδες)...

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

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

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

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

Αριθµητική Ανάλυση. Ενότητα 4 Αριθµητικός Υπολογισµός Ιδιοτιµών και Ιδιοδιανυσµάτων. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Emil: zro@ei.uptrs.r Άδειες Χρήσης Το παρόν

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

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

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

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

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Αλγόριθμοι ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Ανάπτυξη Λογισμικού Η διαδικασία ανάπτυξης λογισμικού μπορεί να παρομοιαστεί

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

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

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

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

Εφαρμοσμένη Βελτιστοποίηση

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Άσκηση 1 Ενότητα : Υλοποίηση Λεξικών µε

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

Επιχειρησιακή Έρευνα

Επιχειρησιακή Έρευνα Επιχειρησιακή Έρευνα Ενότητα 4: Εισαγωγή στο Γραμμικό Προγραμματισμό (4 ο μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

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

Μικροοικονομική Ανάλυση της Κατανάλωσης και της Παραγωγής

Μικροοικονομική Ανάλυση της Κατανάλωσης και της Παραγωγής Μικροοικονομική Ανάλυση της Κατανάλωσης και της Παραγωγής Διάλεξη 11: Μεγιστοποίηση κέρδους Ανδρέας Παπανδρέου Σχολή Οικονομικών και Πολιτικών Επιστημών Τμήμα Οικονομικών Επιστημών Οικονομικό κέρδος Μια

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

Επιχειρησιακή Έρευνα

Επιχειρησιακή Έρευνα Επιχειρησιακή Έρευνα Ενότητα 10: Ειδικές περιπτώσεις επίλυσης με τη μέθοδο simplex (2o μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων

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

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων 4 η Διάλεξη Ενδεικτικές λύσεις ασκήσεων 1 Περιεχόμενα 1 η Άσκηση... 3 2 η Άσκηση... 3 3 η Άσκηση... 4 4 η Άσκηση... 5 5 η Άσκηση... 6 6 η Άσκηση... 7 Χρηματοδότηση... 8 Σημείωμα Αναφοράς... 9 Σημείωμα

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

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 10: Δυναμικός προγραμματισμός Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν

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

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 7: Βέλτιστος έλεγχος συστημάτων διακριτού χρόνου Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα

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

Εφαρμοσμένη Βελτιστοποίηση

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 9: Αναδρομή

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 9: Αναδρομή ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 9: Αναδρομή Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Αναδροµή 24 Αναδροµή Πληροφορική Ι Μ. ρακόπουλος 24 Αναδροµικές µέθοδοι Μια µέθοδος καλεί τον εαυτό της

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές:

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές: 2 Αποδείξεις Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές: Εκδοση 2005/03/22 Εξαντλητική µέθοδος ή µέθοδος επισκόπησης. Οταν το πρόβληµα έχει πεπερασµένες αριθµό περιπτώσεων τις εξετάζουµε

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

Λογικός Προγραμματισμός Ασκήσεις

Λογικός Προγραμματισμός Ασκήσεις Λογικός Προγραμματισμός Ασκήσεις Παναγιώτης Σταματόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενα 1. Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2011-12... 3 1.1 Άσκηση 4...

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

Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ

Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ Ράπτης Ευάγγελος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Κεφάλαιο 10 Βάσεις Groebner ενός ιδεώδους 10.1 Τρίτο μέρος Επαναλαμβάνουμε

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

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

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων

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

ΔΡΔ: Διαγράμματα Ροής Δεδομένων

ΔΡΔ: Διαγράμματα Ροής Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΔΡΔ: Διαγράμματα Ροής Δεδομένων Τεχνολογία Πολιτισμικού Λογισμικού Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς ΤΕΙ Ιονίων

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

Φυσική ΙΙΙ. Ενότητα 4: Ηλεκτρικά Κυκλώματα. Γεώργιος Βούλγαρης Σχολή Θετικών Επιστημών Τμήμα Φυσικής

Φυσική ΙΙΙ. Ενότητα 4: Ηλεκτρικά Κυκλώματα. Γεώργιος Βούλγαρης Σχολή Θετικών Επιστημών Τμήμα Φυσικής Φυσική ΙΙΙ Ενότητα 4: Ηλεκτρικά Κυκλώματα Γεώργιος Βούλγαρης Σχολή Θετικών Επιστημών Τμήμα Φυσικής Ασκήσεις ΦΙΙΙ Ασκήσεις κυκλωμάτων συνεχούς ρεύματος. Κανόνες Kirchhoff. Γ. Βούλγαρης 2 Ο Νόμος των Ρευμάτων

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

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

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

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

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

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

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

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

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

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

6 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

6 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων 6 η Διάλεξη Ενδεικτικές λύσεις ασκήσεων 1 Περιεχόμενα 1 η Άσκηση... 3 2 η Άσκηση... 4 3 η Άσκηση... 4 4 η Άσκηση... 4 5 η Άσκηση... 5 6 η Άσκηση... 5 7 η Άσκηση... 5 8 η Άσκηση... 6 Χρηματοδότηση... 7

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 8 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης. Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό

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

Διδακτική Μαθηματικών Ι Ενδεικτικές οδηγίες για τη δραστηριότητα

Διδακτική Μαθηματικών Ι Ενδεικτικές οδηγίες για τη δραστηριότητα Διδακτική Μαθηματικών Ι Ενδεικτικές οδηγίες για τη δραστηριότητα Γιώργος Ψυχάρης Σχολή Θετικών επιστημών Τμήμα Μαθηματικό Διδακτική Μαθηματικών Ι: Ενδεικτικές οδηγίες για τη δραστηριότητα (εργασία) (To

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

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

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 2: Ψηφιακή Λογική Ι Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Θεωρία Λήψης Αποφάσεων

Θεωρία Λήψης Αποφάσεων Θεωρία Λήψης Αποφάσεων Ενότητα 6: Αλγόριθμοι Τοπικής Αναζήτησης Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.)

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

Επιχειρησιακή Έρευνα

Επιχειρησιακή Έρευνα Επιχειρησιακή Έρευνα Ενότητα 1: Εισαγωγή στο Γραμμικό Προγραμματισμό (1 ο μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

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

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι Σημειώσεις MATLAB Ενότητα 4 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4 Σημειώσεις βασισμένες στο

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

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ Ενότητα 9: Διαχείριση Εφοδιαστικής Αλυσίδας: Προβλήματα Μεταφοράς Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη

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

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 7: Αλγόριθμοι γραμμικής άλγεβρας

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 7: Αλγόριθμοι γραμμικής άλγεβρας ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 7: Αλγόριθμοι γραμμικής άλγεβρας Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Αλγόριθµοι γραµµικής άλγεβρας 1 Ο συµβολισµός µεγάλο O Εστω συναρτήσεις f(n), g(n)

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