I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11

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

Download "I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11"

Transcript

1 Αλγόριθμοι και Πολυπλοκότητα 2η Σειρά Γραπτών και Προγραμματιστικών Ασκήσεων CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Δεκέμβριος 2016 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

2 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 1η προγραμματιστική 6 2η προγραμματιστική (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

3 Άσκηση 1 (α.1): Δρομολόγηση Μαθημάτων Το Πρόβλημα Δρομολόγησης Μαθημάτων Είσοδος: Χρονικά διαστήματα διδασκαλίας μαθημάτων [s i, f i ), i = 1,..., n. Ζητείται: Μεγίστου πλήθους σύνολο μαθημάτων χωρίς επικαλύψεις. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

4 Άσκηση 1 (α.1): Άπληστα Κριτήρια Δρομολόγησης Μαθημάτων 1. Λιγότερες Επικαλύψεις Λάθος! Αντιπαράδειγμα: I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11 Λύση Κριτηρίου, S 1 : Επιλέγει τα I 6, I 1, I 4. = S 1 = 3. Βέλτιστη Λύση, OPT : {I 1, I 2, I 3, I 4 } = OPT = 4. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

5 Άσκηση 1 (α.1): Άπληστα Κριτήρια Δρομολόγησης Μαθημάτων 1. Λιγότερες Επικαλύψεις Λάθος! Αντιπαράδειγμα: I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11 Λύση Κριτηρίου, S 1 : Επιλέγει τα I 6, I 1, I 4. = S 1 = 3. Βέλτιστη Λύση, OPT : {I 1, I 2, I 3, I 4 } = OPT = 4. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

6 Άσκηση 1 (α.1): Άπληστα Κριτήρια Δρομολόγησης Μαθημάτων 1. Λιγότερες Επικαλύψεις Λάθος! Αντιπαράδειγμα: I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11 Λύση Κριτηρίου, S 1 : Επιλέγει τα I 6, I 1, I 4. = S 1 = 3. Βέλτιστη Λύση, OPT : {I 1, I 2, I 3, I 4 } = OPT = 4. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

7 Άσκηση 1 (α.1): Άπληστα Κριτήρια Δρομολόγησης Μαθημάτων 2. Μεγαλύτερη Διάρκεια Λάθος! Αντιπαράδειγμα: I 1 I 2 I 3 Λύση Κριτηρίου, S 2 : Διαγράφει πρώτα το I 1 και μετά το I 2 = S 2 = {I 3 } = 1. Βέλτιστη Λύση, OPT : {I 1, I 3 } = OPT = 2. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

8 Άσκηση 1 (α.1): Άπληστα Κριτήρια Δρομολόγησης Μαθημάτων 2. Μεγαλύτερη Διάρκεια Λάθος! Αντιπαράδειγμα: I 1 I 2 I 3 Λύση Κριτηρίου, S 2 : Διαγράφει πρώτα το I 1 και μετά το I 2 = S 2 = {I 3 } = 1. Βέλτιστη Λύση, OPT : {I 1, I 3 } = OPT = 2. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

9 Άσκηση 1 (α.1): Άπληστα Κριτήρια Δρομολόγησης Μαθημάτων 2. Μεγαλύτερη Διάρκεια Λάθος! Αντιπαράδειγμα: I 1 I 2 I 3 Λύση Κριτηρίου, S 2 : Διαγράφει πρώτα το I 1 και μετά το I 2 = S 2 = {I 3 } = 1. Βέλτιστη Λύση, OPT : {I 1, I 3 } = OPT = 2. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

10 Άσκηση 1 (α.1): Άπληστα Κριτήρια Δρομολόγησης Μαθημάτων 3. Περισσότερες Επικαλύψεις Λάθος! Αντιπαράδειγμα: I 1 I 2 I 3 I 4 I 5 I 6 I 7 Λύση Κριτηρίου, S 3 : Διαγράφει πρώτα το I 4, έπειτα τα I 3, I 5, I 2, I 6. = S 3 = {I 1, I 7 } = 2. Βέλτιστη Λύση, OPT : {I 1, I 4, I 7 } = OPT = 3. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

11 Άσκηση 1 (α.1): Άπληστα Κριτήρια Δρομολόγησης Μαθημάτων 3. Περισσότερες Επικαλύψεις Λάθος! Αντιπαράδειγμα: I 1 I 2 I 3 I 4 I 5 I 6 I 7 Λύση Κριτηρίου, S 3 : Διαγράφει πρώτα το I 4, έπειτα τα I 3, I 5, I 2, I 6. = S 3 = {I 1, I 7 } = 2. Βέλτιστη Λύση, OPT : {I 1, I 4, I 7 } = OPT = 3. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

12 Άσκηση 1 (α.1): Άπληστα Κριτήρια Δρομολόγησης Μαθημάτων 3. Περισσότερες Επικαλύψεις Λάθος! Αντιπαράδειγμα: I 1 I 2 I 3 I 4 I 5 I 6 I 7 Λύση Κριτηρίου, S 3 : Διαγράφει πρώτα το I 4, έπειτα τα I 3, I 5, I 2, I 6. = S 3 = {I 1, I 7 } = 2. Βέλτιστη Λύση, OPT : {I 1, I 4, I 7 } = OPT = 3. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

13 Άσκηση 1 (α.2): Δρομολόγηση Μαθημάτων με Βάρη Είσοδος: Χρονικά διαστήματα μαθημάτων [s i, f i ), i = 1,..., n με αντίστοιχες διδακτικές μονάδες w i. Ζητείται: Σύνολο μαθημάτων χωρίς επικαλύψεις με μέγιστο συνολικό άθροισμα διδακτικών μονάδων. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

14 Άσκηση 1 (α.2): Δρομολόγηση Μαθημάτων με Βάρη Λύση: Ταξινομούμε τα χρονικά διαστήματα σε αύξουσα σειρά με βάση το χρόνο ολοκλήρωσής τους, έστω για ευκολία f 1,..., f n αυτή η σειρά. Συμβολίζουμε με C[i] το μέγιστο σύνολο διδακτικών μονάδων μίας βέλτιστης λύσης για τα μαθήματα {1,..., i}. Προφανώς, η ζητούμενη λύση είναι η C[n] και η σχέση αρχικοποιείται στο C[1] = w 1. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

15 Άσκηση 1 (α.2): Δρομολόγηση Μαθημάτων με Βάρη Λύση: Για την κατασκευή της αναδρομικής σχέσης, χρειαζόμαστε έναν πίνακα μήκους n, κάθε στοιχείο prev[i] του οποίου θα περιέχει το δείκτη του μαθήματος που τελειώνει αργότερα και δεν έχει επικάλυψη με το i. Η αναδρομική σχέση είναι: C[i] = max{w i + C[prev[i]], C[i 1]} (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

16 Άσκηση 1 (α.2): Δρομολόγηση Μαθημάτων με Βάρη Ταξινόμηση διαστημάτων και κατασκευή πίνακα prev: O(n log n). Εύρεση ενός εκ των n στοιχείων του πίνακα της C : O(1). Άρα συνολικά: Πολυπλοκότητα O(n log n) Σημείωση: Η ανακατασκευή της λύσης γίνεται από τον πίνακα, σε O(n). (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

17 Άσκηση 1 (β): Ανακοινώσεις Είσοδος: Χρονικά διαστήματα μαθημάτων [s i, f i ), i = 1,..., n. Ζητείται: Σύνολο στιγμών που αγγίζουν όλα τα μαθήματα και έχουν ελάχιστο πλήθος. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

18 Άσκηση 1 (β): Ανακοινώσεις Λύση: Θεωρούμε ότι μία ανακοίνωση τη χρονική στιγμή f i ενημερώνει και τους φοιτητές του μαθήματος i. Ταξινομούμε τα χρονικά διαστήματα σε αύξουσα σειρά με βάση το χρόνο ολοκλήρωσής τους, έστω για ευκολία f 1,..., f n αυτή η σειρά. Βάζουμε στη λύση μας το σημείο f i του πρώτου ακάλυπτου διαστήματος, σημειώνουμε ποιά διαστήματα έχουμε καλύψει και συνεχίζουμε με το επόμενο ακάλυπτο διάστημα. (βλ. Ἁσκήσεις σε άπληστους αλγόριθμους και δυναμικό προγραμματισμό ) Πολυπλοκότητα O(n log n) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

19 Άσκηση 1 (β): Ανακοινώσεις Απόδειξη ορθότητας: Εστω P το σύνολο στιγμών που επέλεξε ο αλγόριθμός μας, O το σύνολο της βέλτιστης λύσης και έστω ότι στο πρώτο σημείο στο οποίο διαφέρουν ο αλγόριθμός μας επιλέγει p = f k 1 (για να καλύψει το διάστημα [s k, f k )) ενώ η βέλτιστη λύση έχει στην ίδια θέση τη στιγμή o. Αν o > p, τότε η βέλτιστη λύση δεν αγγίζει το διάστημα k (αφού μέχρι τώρα καλύπτουν τα ίδια διαστήματα) και οι φοιτητές του μαθήματος k μένουν ανενημέρωτοι στη βέλτιστη λύση! Άτοπο. Αν o < p: Μέχρι τώρα και οι δύο λύσεις έχουν καλύψει όλα τα διαστήματα που τελειώνουν πριν τη στιγμή f k. Άρα αντικαθιστώντας το o με p = f k 1 η βέλτιστη λύση συνεχίζει να καλύπτει το [s k, f k ) και αποκλείεται να χάνει κάποιο άλλο διάστημα γιατί κάθε άλλο ακάλυπτο διάστημα τελειώνει μετά το f k άρα αν το άγγιζε με το o θα το αγγίζει και με το p. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

20 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 1η προγραμματιστική 6 2η προγραμματιστική (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

21 Άσκηση 2 (α): Πομποί και Δέκτες Είσοδος: Ακολουθία a = a 1,..., a n όπου i a i = r ή a i = t. Ζητείται: Μέγιστη υπακολουθία όπου κάθε πομπός αντιστοιχεί σε ένα δέκτη προς τα δεξιά του. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

22 Άσκηση 2 (α): Πομποί και Δέκτες Λύση: Με χρήση στοίβας Διατρέχουμε την είσοδο από αριστερά προς τα δεξιά, έχοντας αρχικοποιήσει ένα μετρητή ζευγών p = 0. Κάθε φορά που συναντάμε πομπό, τον βάζουμε στη στοίβα. Κάθε φορά που συναντάμε δέκτη, αν η στοίβα είναι μη κενή βγάζουμε έναν πομπό και αυξάνουμε το μετρητή p + +, διαφορετικά προχωράμε στο επόμενο στοιχείο. Μήκος μέγιστης ζητούμενης υπακολουθίας: 2p. Πολυπλοκότητα O(n) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

23 Άσκηση 2 (α): Πομποί και Δέκτες Λύση: Με χρήση στοίβας Διατρέχουμε την είσοδο από αριστερά προς τα δεξιά, έχοντας αρχικοποιήσει ένα μετρητή ζευγών p = 0. Κάθε φορά που συναντάμε πομπό, τον βάζουμε στη στοίβα. Κάθε φορά που συναντάμε δέκτη, αν η στοίβα είναι μη κενή βγάζουμε έναν πομπό και αυξάνουμε το μετρητή p + +, διαφορετικά προχωράμε στο επόμενο στοιχείο. Μήκος μέγιστης ζητούμενης υπακολουθίας: 2p. Πολυπλοκότητα O(n) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

24 Άσκηση 2 (α): Πομποί και Δέκτες Λύση: Με χρήση στοίβας Διατρέχουμε την είσοδο από αριστερά προς τα δεξιά, έχοντας αρχικοποιήσει ένα μετρητή ζευγών p = 0. Κάθε φορά που συναντάμε πομπό, τον βάζουμε στη στοίβα. Κάθε φορά που συναντάμε δέκτη, αν η στοίβα είναι μη κενή βγάζουμε έναν πομπό και αυξάνουμε το μετρητή p + +, διαφορετικά προχωράμε στο επόμενο στοιχείο. Μήκος μέγιστης ζητούμενης υπακολουθίας: 2p. Πολυπλοκότητα O(n) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

25 Άσκηση 2 (α): Πομποί και Δέκτες Λύση: Με χρήση στοίβας Διατρέχουμε την είσοδο από αριστερά προς τα δεξιά, έχοντας αρχικοποιήσει ένα μετρητή ζευγών p = 0. Κάθε φορά που συναντάμε πομπό, τον βάζουμε στη στοίβα. Κάθε φορά που συναντάμε δέκτη, αν η στοίβα είναι μη κενή βγάζουμε έναν πομπό και αυξάνουμε το μετρητή p + +, διαφορετικά προχωράμε στο επόμενο στοιχείο. Μήκος μέγιστης ζητούμενης υπακολουθίας: 2p. Πολυπλοκότητα O(n) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

26 Άσκηση 2 (β): Πομποί και Δέκτες Είσοδος: Ακολουθία n (άρτιος) ζευγών (T i, R i ), όπου T i η κατανάλωση ισχύος της κεραίας i όταν λειτουργεί ως πομπός και R i T i όταν λειτουργεί ως δέκτης. Ζητείται: Ελάχιστη συνολική κατανάλωση ισχύος, όπου για κάθε i που λειτουργεί ως πομπός υπάρχει ένα και μοναδικό j > i που λειτουργεί ως δέκτης. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

27 Άσκηση 2 (β): Πομποί και Δέκτες Λύση: Δυναμικός Προγραμματισμός Αναδρομική Σχέση C[i, j] = min{c[i 1, j + 1] + R i, C[i 1, j 1] + T i } όπου C[i, j] το κόστος της βέλτιστης λύσης μέχρι και την i-οστή κεραία, έχοντας j i πομπούς που δεν έχουν αντιστοιχηθεί σε δέκτες προς το παρόν. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

28 Άσκηση 2 (β): Πομποί και Δέκτες Λύση: C[i, j] = min{c[i 1, j + 1] + R i, C[i 1, j 1] + T i } Αν έχουμε τη βέλτιστη λύση για i 1 κεραίες τότε: Είτε υπάρχουν j + 1 πομποί που δεν έχουν αντιστοιχηθεί σε δέκτες και η i-οστή κεραία γίνεται δέκτης οπότε μένουν j πομποί που δεν έχουν αντιστοιχηθεί σε δέκτες και προστίθεται R i στη συνολική κατανάλωση ισχύος. Είτε υπάρχουν j 1 πομποί που δεν έχουν αντιστοιχηθεί σε δέκτες και η i-οστή κεραία γίνεται πομπός οπότε μένουν j πομποί που δεν έχουν αντιστοιχηθεί σε δέκτες και προστίθεται T i στη συνολική κατανάλωση ισχύος. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

29 Άσκηση 2 (β): Πομποί και Δέκτες Λύση: Η ζητούμενη λύση είναι η C[n, 0]. Πολυπλοκότητα Υπολογισμός ενός εκ των Θ(n 2 /2) στοιχείων του C σε O(1) = O(n 2 ) Υπάρχει πιο αποδοτικός αλγόριθμος; (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

30 Άσκηση 2 (β): Πομποί και Δέκτες Λύση: Η ζητούμενη λύση είναι η C[n, 0]. Πολυπλοκότητα Υπολογισμός ενός εκ των Θ(n 2 /2) στοιχείων του C σε O(1) = O(n 2 ) Υπάρχει πιο αποδοτικός αλγόριθμος; (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

31 Άσκηση 2 (β): Πομποί και Δέκτες Καλύτερη Λύση: Για κάποια ανάθεση πομπών-δεκτών έστω S[i] το πλήθος πομπών μείον το πλήθος δεκτών στο διάστημα [1, i]. Μία ανάθεση είναι έγκυρη αν και μόνο αν για κάθε i {1,..., n} ισχύει S[i] 0 και S[n] = 0. Θεωρούμε ότι έχουμε μια βέλτιστη έγκυρη ανάθεση στο διάστημα [1, i]. Αν ο i είναι περιττός, για να την επεκτείνουμε βάζουμε ένα δέκτη στο i + 1 (S[i + 1] = 0). Αν είναι άρτιος, βάζουμε ένα δέκτη στο i + 1, αλλά έχουμε S[i + 1] = 1, άρα κάποιος δέκτης στο [1, i + 1] πρέπει να μετατραπεί σε πομπό: Μετατρέπουμε αυτόν που ελαχιστοποιεί την κατανάλωση, δηλαδή αυτόν με το ελάχιστο T j R j. Τώρα έχουμε S[i + 1] = 0. Για να βρίσκουμε το δέκτη με το ελάχιστο T j R j θα χρειαστούμε ένα min-heap στο οποίο οι λειτουργίες εισαγωγής και εξαγωγής ελαχίστου στοιχείου γίνονται το πολύ σε O(log n). (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

32 Άσκηση 2 (β): Πομποί και Δέκτες Αλγόριθμος: Αρχικοποίησε ένα κενό min-heap Q Για i = 1...n Θεώρησε τον i ως δέκτη, πρόσθεσε R i στο συνολικό κόστος και βάλε το ζεύγος (T i R i, i) στο Q Αν S[i] < 0, αφαίρεσε από το Q το δέκτη με το ελάχιστο T j R j, μετάτρεψέ τον σε πομπό και αύξησε το συνολικό κόστος κατά T j R j. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

33 Άσκηση 2 (β): Πομποί και Δέκτες Χρονική Πολυπλοκότητα O(n log n) Μένει να δείξουμε το επαγωγικό βήμα, δηλαδή ότι η λύση στο διάστημα [1, i + 1] είναι βέλτιστη, δεδομένου ότι η λύση στο [1, i] είναι βέλτιστη. Αν i περιττός (S[i] = 1), τότε προφανώς η θέση i + 1 πρέπει να έχει δέκτη για να είναι έγκυρη η λύση και γιατί είναι το φθηνότερο. Άρα η λύση μας είναι βέλτιστη. Αν i άρτιος (S[i] = 0) τότε αν προσθέσουμε δέκτη στη θέση i + 1 για να είναι έγκυρη η λύση πρέπει να μετατρέψουμε ένα δέκτη σε πομπό. Προφανώς αφού η λύση είναι μέχρι στιγμής ελαχίστου κόστους, προσθέτοντας το μικρότερο T j R j λόγω της αλλαγής (και R i+1 αντί T i+1 ) έχουμε λύση μικρότερου δυνατού κόστους άρα ακόμα βέλτιστη. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

34 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: 0 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

35 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) -1 T i R i Κατανάλωση: = 6 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

36 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) 1 T i R i Κατανάλωση: 6 + (8-6) = 8 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

37 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) 1 0 T i R i Κατανάλωση: = 11 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

38 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: = 12 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

39 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: 12 + (5-1)=16 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

40 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: = 20 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

41 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: = 23 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

42 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: 23 + (6-4)=25 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

43 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: 25+7=32 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

44 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: 32+5=37 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

45 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: 37+(9-3)=43 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

46 Άσκηση 2 (β): Πομποί και Δέκτες Παράδειγμα: i S(i) T i R i Κατανάλωση: 43+1=44 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

47 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 1η προγραμματιστική 6 2η προγραμματιστική (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

48 Άσκηση 3 (α): Διαγωνισμός Χορού Είσοδος: Βαθμολογία score[i] και χρόνος ξεκούρασης rest[i] για κάθε τραγούδι i {1,..., n}. Ζητείται: Επιτρεπόμενο σύνολο τραγουδιών που μεγιστοποιεί τη συνολική βαθμολογία. Λύση: Δυναμικός Προγραμματισμός (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

49 Άσκηση 3 (α): Διαγωνισμός Χορού Λύση: Εστω S[i] η μέγιστη συνολική βαθμολογία από το i μέχρι και το n. Εχουμε δύο επιλογές: Επιλέγουμε το i και μένει η μέγιστη συνολική βαθμολογία από το i + rest[i] + 1 και μετά. Δεν επιλέγουμε το i και κρατάμε τη μέγιστη συνολική βαθμολογία από το επόμενο κιόλας τραγούδι και μετά. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

50 Άσκηση 3 (α): Διαγωνισμός Χορού Λύση: Επομένως, η αναδρομική σχέση είναι: S[i] = max{score[i] + S[i + rest[i] + 1], S[i + 1]} Κατασκευάζουμε τον πίνακα από το n προς το 1 και το ζητούμενο είναι το S[1]. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

51 Άσκηση 3 (α): Διαγωνισμός Χορού Χρονική Πολυπλοκότητα Εύρεση ενός εκ των n στοιχείων του πίνακα: O(1). Άρα συνολικά: O(n) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

52 Άσκηση 3 (β): Διαγωνισμός Χορού Είσοδος: Βαθμολογία score[i], χρόνος ξεκούρασης rest[i] και χρόνος προετοιμασίας prep[i] για κάθε τραγούδι i {1,..., n}. Ζητείται: Επιτρεπόμενο σύνολο τραγουδιών που μεγιστοποιεί τη συνολική βαθμολογία. Λύση: Δυναμικός Προγραμματισμός (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

53 Άσκηση 3 (β): Διαγωνισμός Χορού Λύση: Εστω S[i] η μέγιστη συνολική βαθμολογία από το i μέχρι και το n. Εχουμε δύο επιλογές: Επιλέγουμε το i και μένει η μέγιστη συνολική βαθμολογία από το επόμενο επιτρεπόμενο τραγούδι (λόγω προετοιμασίας του και ξεκούρασης του i) και μετά. Δεν επιλέγουμε το i και κρατάμε τη μέγιστη συνολική βαθμολογία από το επόμενο επιτρεπόμενο (λόγω προετοιμασίας του) τραγούδι και μετά. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

54 Άσκηση 3 (β): Διαγωνισμός Χορού Λύση: Επομένως, η αναδρομική σχέση είναι: S[i] = max{score[i] + S[next[1, i]], S[next[0, i]]} όπου next[x, i] = min j {i + rest[i] x + 1,..., i + M + 1} τέτοιο ώστε j prep[j] 1 i. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

55 Άσκηση 3 (β): Διαγωνισμός Χορού Χρονική Πολυπλοκότητα Εύρεση ενός εκ των n στοιχείων του πίνακα: O(M). Άρα συνολικά: O(nM) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

56 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 1η προγραμματιστική 6 2η προγραμματιστική (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

57 Άσκηση 4: Βγάζοντας Βόλτα το Σκύλο Είσοδος: Ακολουθίες σημείων (p 1,..., p n ) και (q 1,..., q m ). Ζητείται: Αν p(t) {p 1,..., p n } και q(t) {q 1,..., q m } τα σημεία στα οποία βρίσκεστε εσείς και ο σκύλος σας αντίστοιχα τη χρονική στιγμή t, ζητείται το min p,q max t d(p(t), q(t)). (Δηλαδή για την καλύτερη παράλληλη διάσχιση, η μέγιστη απόσταση σημείων στα οποία βρίσκεστε ταυτόχρονα.) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

58 Άσκηση 4: Βγάζοντας Βόλτα το Σκύλο Λύση: Δυναμικός Προγραμματισμός Αναδρομική Σχέση c[i, j] = max{min{c[i 1, j], c[i 1, j ]), c[i, j 1]}, d(p i, p j )} όπου c[i, j] το ελάχιστο μήκος λουριού για είσοδο (p 1,..., p i ) και (q 1,..., q j ) Σίγουρα κάποια στιγμή θα βρεθείτε και οι δύο στις τελικές θέσεις p i, q j, άρα το λουρί πρέπει να έχει μήκος τουλάχιστον d(p i, q j ). Για να φτάσετε εκεί, είτε κινηθήκατε και οι δύο ταυτόχρονα, είτε μόνο ο σκύλος, είτε μόνο εσείς. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

59 Άσκηση 4: Βγάζοντας Βόλτα το Σκύλο Λύση: c[i, j] = max{min{c[i 1, j], c[i 1, j 1], c[i, j 1]}, d(p i, p j )} Η ζητούμενη λύση είναι η c[n, m] και αρχικοποιούμε c[i, 0] = c[0, j] = 0, i [n], j [m]. Πολυπλοκότητα O(nm) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

60 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 1η προγραμματιστική 6 2η προγραμματιστική (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

61 1η Προγραμματιστική: Εμπόριο Σοκολάτας Είσοδος: Ακολουθία τιμών p(1),..., p(n) και επιτρεπόμενο πλήθος αγοραπωλησιών K. Εξοδος: Μέγιστο κέρδος, αν οι ενέργειες αγοράς και πώλησης πρέπει να γίνονται εναλλάξ. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

62 1η Προγραμματιστική: Εμπόριο Σοκολάτας Ιδέα Δυναμικού Προγραμματισμού Αν j είναι το πλήθος των αγοραπωλησιών, μπορούμε να χρησιμοποιούμε το j%2 για να ξεχωρίζουμε αν βρισκόμαστε σε σημείο πώλησης ή αγοράς. Συμβολίζουμε με C[i, j%2] το μέγιστο κέρδος που μπορούμε να πετύχουμε μέχρι και την i-οστή μέρα με j αγοραπωλησίες. Η αναδρομική σχέση είναι: C[i, j%2] = max{c[i 1, j%2], max 1 z i 1 {C[z, (j 1)%2]+p(i) p(z)}} (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

63 1η Προγραμματιστική: Εμπόριο Σοκολάτας Λύση C[i, j%2] = max{c[i 1, j%2], max 1 z i 1 {C[z, (j 1)%2]+p(i) p(z)}} Είτε δεν πραγματοποιούμε αγοραπωλησία τη μέρα i Είτε επιλέγουμε να πουλήσουμε, αγοράζοντας κάποια από τις προηγούμενες μέρες (τη φθηνότερη) Συμπληρώνουμε τον πίνακα στήλη-στήλη και η λύση βρίσκεται στο C[N, (K 1)%2]. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

64 1η Προγραμματιστική: Εμπόριο Σοκολάτας Χρονική Πολυπλοκότητα Για κάθε στοιχείο από τα O(KN) στοιχεία που πρέπει να υπολογίσουμε κάνουμε χρόνο O(i) άρα συνολικά η λύση μας έχει πολυπλοκότητα O(KN 2 ). Μπορούμε καλύτερα; Παρατήρηση Αν έχουμε υπολογίσει τη φθηνότερη τιμή μέχρι ένα σημείο δε χρειάζεται να ξανακοιτάξουμε αυτές τις τιμές. Αντί αυτού την κρατάμε και την ανανεώνουμε όποτε χρειαστεί συγκρίνοντάς την με νέες τιμές. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

65 1η Προγραμματιστική: Εμπόριο Σοκολάτας Ιδέα για λύση O(KN) C[i, j%2] = max{c[i 1, j%2], cheaper + p(i)} όπου cheaper = max{cheaper, C[i 1, (j 1)%2] p(i 1)} (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

66 1η Προγραμματιστική: Εμπόριο Σοκολάτας Χρονική Πολυπλοκότητα Για κάθε ένα εκ των O(KN) στοιχείων που πρέπει να υπολογίσουμε χρειάζεται να κάνουμε δύο συγκρίσεις άρα O(1) χρόνο. Συνολικά επομένως η λύση έχει πολυπλοκότητα O(KN). (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

67 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 1η προγραμματιστική 6 2η προγραμματιστική (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

68 2η Προγραμματιστική: Χημικά Απόβλητα Είσοδος: Ενας πίνακας A[i, j] με διαστάσεις N N όπου η θέση (i, j) περιέχει το ποσό ενέργειας που εκλύεται αν αντιδράσει η ουσία i με την ουσία j. Επίσης δίνεται το πλήθος K των φιαλών. Εξοδος: Το ελάχιστο ποσό ενέργειας που μπορεί να εκλυθεί αν τοποθετήσουμε της χημικές ουσίες σε φιάλες με κατάλληλο τρόπο (οι ουσίες πρέπει να τοποθετηθούν στις φιάλες με την ίδια σειρά με την οποία είναι αριθμημένες). (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

69 2η Προγραμματιστική: Χημικά Απόβλητα Ιδέα Δυναμικού Προγραμματισμού Συμβολίζουμε με dp[i, j] την ελάχιστη ενέργεια που μπορεί εκλυθεί αν τοποθετήσουμε τις i πρώτες χημικές ουσίες σε j φιάλες. Η λύση που αναζητούμε είναι η dp[n, K]. Μπορούμε να υπολογίσουμε το dp[i, j] με την εξής αναδρομική σχέση: dp[i, j] = min {dp[t, j 1] + energy(t + 1, i)} 1 t i 1 όπου energy(x, y) είναι η ενέργεια που εκλύεται αν τοποθετηθούν στην ίδια φιάλη όλες οι ουσίες l για τις οποίες x l y. Τις τιμές energy(x, y) για κάθε x, y μπορούμε να υπολογίσουμε από πριν σε χρόνο O(NK) (πώς;) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

70 2η Προγραμματιστική: Χημικά Απόβλητα Χρονική Πολυπλοκότητα Για κάθε θέση του πίνακα dp χρειάζεται να το ελέγξουμε O(N) τιμές για το t και έτσι για να γεμίσει όλος ο πίνακας χρειάζεται χρόνος: O(N 2 K) Μπορούμε καλύτερα; Ιδέα (για bonus) Για σταθερό j (πλήθος φιαλών) θα προσπαθήσουμε να υπολογίσουμε τα dp[i, j] για κάθε i > j σε χρόνο O(N log N) (αντί για O(N 2 ) που ήταν πρίν) με χρήση Διαίρει και Βασίλευε. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

71 2η Προγραμματιστική: Χημικά Απόβλητα Ιδέα Μαζί με τον πίνακα dp θα χρειαστούμε κι έναν πίνακα opt ο οποίος στη θέση (i, j) κρατάει την τιμή του t για την οποία επιτυγχάνεται η βέλτιση λύση κατά τον υπολογισμό του dp[i, j], δηλαδή: opt[i, j] = argmin 1 t n 1 {dp[t, j 1] + energy(t + 1, i)} Αν υπάρχουν πολλά τέτοια t κρατάμε το μικρότερο. Παρατήρηση Αν σταθεροποιήσουμε το j τότε ο opt είναι αύξουσα συνάρτηση του i, δηλαδή: Απόδειξη; opt[1, j] opt[2, j]... opt[j, j] (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

72 2η Προγραμματιστική: Χημικά Απόβλητα Βελτιστοποίηση Διαίρει και Βασίλευε (παράδειγμα) Εστω ότι n = 100 και για σταθερό j θέλουμε να υπολογίσουμε όλα τα dp[i, j] έχοντας ήδη υπολογίσει όλο τον πίνακα dp για τα μικρότερα j. Μπορούμε να υπολογίσουμε πρώτα το dp[50, j] (ελέγχοντας όλα τα t) και μαζί το opt[50, j] = x. Από την προηγούμενη Παρατήρηση προκύπτει ότι το x είναι ένα άνω φράγμα για τα t που πρέπει να ελέγξουμε όταν θα υπολογίζουμε τα dp[i, j] για i < 50 και αντίστοιχα είναι κάτω φράγμα για τα t όταν είμαστε σε i > 50. Μπορούμε να συνεχίσουμε αυτή τη διαδικασία αναδρομικά, δηλαδή για να υπολογίσουμε τα dp[i, j] για i = 1,..., 49 βρίσκουμε πρώτα το dp[25, j] (ελέγχοντας πλέον μόνο t x). Αντίστοιχα για i > 50 και κάθε φορά ανανεώνουμε τα φράγματα που έχουμε βρεί. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

73 2η Προγραμματιστική: Χημικά Απόβλητα 1: procedure Solve(j, L, R, optl, optr) 2: if L == R then 3: compute dp opt(l, j, optl, optr) 4: else 5: M (L + R)/2 6: compute dp opt(m, j, optl, optr) 7: Solve(j, L, M 1, optl, opt[m][j]) 8: Solve(j, M + 1, R, opt[m][j], optr) όπου η διαδικασία Compute dp opt(i, j, optl, optr) υπολογίζει το dp[i, j] και το opt[i, j] με την αναδρομική σχέση του δυναμικού προγραμματισμού περιορίζοντας τη αναζήτηση για το κατάλληλο t στο διάστημα [optl, optr]. (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

74 2η Προγραμματιστική: Χημικά Απόβλητα Χρονική Πολυπλοκότητα Κάθε κόμβος του δέντρου αναδρομής χαρακτηρίζεται από δύο διαστήματα: το [L, R] και το [optl, optr]. Χρεώνουμε σε κάθε κόμβο το υπολογιστικό κόστος της γραμμής 6 (ή της 3 αν είναι φύλλο). Κάθε αναδρομική κλήση μειώνει το διάστημα [L, R] στο μισό. Συνεπώς το δέντρο αναδρομής θα έχει ύψος Θ(log N). Το κόστος ενός κόμβου με διάστημα [optl, optr] είναι optr optl + 1. Κάθε κόμβος του δέντρου αναδρομής διαμερίζει το διάστημα [optl, optr] στα δύο παιδιά του (πιθανώς όχι ισόποσα). Σε κάθε περίπτωση το αθροιστικό κόστος κάθε επιπέδου του δέντρου είναι O(N). (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

75 2η Προγραμματιστική: Χημικά Απόβλητα Ανάλυση Χρονικής Πολυπλοκότητας Συνεπώς μια κλήση στην Solve για συγκεκριμένο j κάνει χρόνο O(N log N). Για την τελική λύση του προβλήματος καλούμε την Solve για όλα τα j = 1,..., K και έτσι ο αλγόριθμος έχει πολυπλοκότητα: O(NK log N) (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος / 65

I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11

I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11 Αλγόριθμοι και Πολυπλοκότητα 2η Σειρά Γραπτών και Προγραμματιστικών Ασκήσεων CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Δεκέμβριος 2018 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος 2018 1 / 64 Outline 1 Άσκηση

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

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

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

Outline. 6 Edit Distance

Outline. 6 Edit Distance Αλγόριθμοι και Πολυπλοκότητα Άπληστοι Αλγόριθμοι και Δυναμικός Προγραμματισμός Ασκήσεις CoReLab ΣΗΜΜΥ - Ε.Μ.Π. 16 Νοεμβρίου 216 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου 216 1 / 52 Outline 1

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

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/55 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/55 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

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

2η Σειρά Γραπτών Ασκήσεων

2η Σειρά Γραπτών Ασκήσεων 2η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 1/23 1 Κλειδιά και κλειδαριές 2 Puzzle 3 Διαστημικές Μάχες 4 Κεραίες 5 Εργοστάσιο Ποτηριών 2/23 Κλειδιά και κλειδαριές

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

1η Σειρά Γραπτών Ασκήσεων

1η Σειρά Γραπτών Ασκήσεων 1/20 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 1η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 1 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 2 3 4 5 2/20

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

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3 Αλγόριθμοι και Πολυπλοκότητα 3η Σειρά Γραπτών και Προγραμματιστικών Ασκήσεων CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Ιανουάριος 2019 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος 2019 1 / 54 Outline 1 Άσκηση

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

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

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

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

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

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

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

Μη γράφετε στο πίσω μέρος της σελίδας

Μη γράφετε στο πίσω μέρος της σελίδας Εισαγωγή στο Σχεδιασμό & την Ανάλυση Αλγορίθμων Εξέταση Φεβρουαίου 2015 Σελ. 1 από 7 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες

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

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

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

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

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

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

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

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

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

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

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

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

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

Μη γράφετε στο πίσω μέρος της σελίδας

Μη γράφετε στο πίσω μέρος της σελίδας Εισαγωγή στο Σχεδιασμό & την Ανάλυση Αλγορίθμων Εξέταση Ιουνίου 2015 Σελ. 1 από 7 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες

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

Outline 1 Άσκηση 1: Εφαρμογές BFS DFS 2 Άσκηση 2: Μια Συνάρτηση Κόστους σε Κατευθυνόμενα Γραφήματα 3 Άσκηση 3: Ανάλυση Ασφάλειας 4 Άσκηση 4: Το Σύνολο

Outline 1 Άσκηση 1: Εφαρμογές BFS DFS 2 Άσκηση 2: Μια Συνάρτηση Κόστους σε Κατευθυνόμενα Γραφήματα 3 Άσκηση 3: Ανάλυση Ασφάλειας 4 Άσκηση 4: Το Σύνολο Αλγόριθμοι και Πολυπλοκότητα 3η σειρά γραπτών και προγραμματιστικών ασκήσεων CoReLab ΣΗΜΜΥ ΕΜΠ Ιανουάριος 2017 CoReLab ΣΗΜΜΥ ΕΜΠ Αλγόριθμοι και Πολυπλοκότητα Ιανουάριος 2017 1 / 53 Outline 1 Άσκηση 1:

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

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

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών,, τα οποίo είναι υποσύνολο του. Υποστηριζόμενες λειτουργίες αναζήτηση(s,x): εισαγωγή(s,x): διαγραφή(s,x): διάδοχος(s,x): προκάτοχος(s,x):

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

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

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

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

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

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

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

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

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

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

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

Επιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Επιλογή ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός k, 1 k n. Υπολογισμός

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

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

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

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

Αλγόριθμοι Ταξινόμησης Μέρος 2

Αλγόριθμοι Ταξινόμησης Μέρος 2 Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2

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

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

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

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

Θεωρία Γραφημάτων 6η Διάλεξη

Θεωρία Γραφημάτων 6η Διάλεξη Θεωρία Γραφημάτων 6η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 6η Διάλεξη

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

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

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

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 7 Φεβρουαρίου 2017 1 / 38 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον

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

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

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

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 3/2/2019 1 / 37 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον i ανάμεσα σε όλους

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

Επιλογή. Πρόβλημα Επιλογής. Μέγιστο / Ελάχιστο. Εφαρμογές

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

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

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

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

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

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

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

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

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

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

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου

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

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

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

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

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων EΠΛ Αλγόριθµοι και Πολυπλοκότητα Φεβρουάριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων. Ο αλγόριθµος διαίρει και βασίλευε για το πρόβληµα έχει ως εξής: Μοίρασε τον πίνακα σε δύο µισά. Υπολόγισε αναδροµικά τα

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

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

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

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η

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

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

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

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

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

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

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

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

Πρόβληµα Επιλογής. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1 Πρόβληµα Επιλογής Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1 Πρόβληµα Επιλογής Πίνακας Α[ Αριθµός k, 1 k n. ] µε n στοιχεία (όχι ταξινοµηµένος). Υπολογισµός του k-οστού µικρότερου στοιχείου (στοιχείο

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

Μη γράφετε στο πίσω μέρος της σελίδας

Μη γράφετε στο πίσω μέρος της σελίδας Εισαγωγή στο Σχεδιασμό & την Ανάλυση Αλγορίθμων Εξέταση Φεβρουαρίου 2016 Σελ. 1 από 7 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες

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

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

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

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

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

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

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

Δυναμικός προγραμματισμός για δέντρα

Δυναμικός προγραμματισμός για δέντρα ΘΕ5 Ιδιότητες Δέντρων και Αναδρομή για Δέντρα Δυναμικός προγραμματισμός για δέντρα Έστω ότι, για k=1,..., m, το γράφημα Γ k = (V k, E k ) είναι δέντρο. Έστω w V 1... V m, z k V k, για k=1,..., m. Συμβολίζουμε

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

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

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

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

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

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

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

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 4η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται κυρίως στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β.

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

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

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

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

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

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

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

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

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

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

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

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

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε: Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C

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

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

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

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

Ταξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Ταξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση. Στατιστικά Διάταξης. Στατιστικά σε Μέσο Γραμμικό Χρόνο Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Στατιστικά Διάταξης Με τον όρο στατιστικά διάταξης (order statistics) εννοούμε την περίπτωση

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

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 (α) Έστω Α(n) και Κ(n) ο αριθμός των ακμών και ο αριθμός των κόμβων ενός αυστηρά δυαδικού δένδρου με n φύλλα. Θέλουμε να αποδείξουμε για κάθε n 1 την πρόταση

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #10: Αλγόριθμοι Διαίρει & Βασίλευε: Master Theorem, Αλγόριθμοι Ταξινόμησης, Πιθανοτικός

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Κατ οίκον Εργασία 2 Σκελετοί Λύσεων 1. (α) Αλγόριθµος: ηµιούργησε το σύνολο P που αποτελείται από τα άκρα όλων των ευθυγράµµων τµηµάτων. Βρες το κυρτό περίβληµα του P µε τον αλγόριθµο του Graham. Ορθότητα:

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

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

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

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

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

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

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

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

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι

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

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

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

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

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

Πληρότητα της μεθόδου επίλυσης

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

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

4.3 Ορθότητα και Πληρότητα

4.3 Ορθότητα και Πληρότητα 4.3 Ορθότητα και Πληρότητα Συστήματα αποδείξεων όπως η μορφολογική παραγωγή και η κατασκευή μοντέλων χρησιμοποιούνται για να δείξουμε την εγκυρότητα εξαγωγών συμπερασμάτων. Ένα σύστημα αποδείξεων μπορεί

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

HY Λογική Διδάσκων: Δ. Πλεξουσάκης

HY Λογική Διδάσκων: Δ. Πλεξουσάκης HY-180 - Λογική Διδάσκων: Δ. Πλεξουσάκης Πληρότητα της μεθόδου επίλυσης Λήμμα: Αν κάθε μέλος ενός συνόλου όρων περιέχει ένα αρνητικό γράμμα, τότε το σύνολο είναι ικανοποιήσιμο. Άρα για να είναι μη-ικανοποιήσιμο,

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

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

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

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

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n. Πρώτο Σύνολο Ασκήσεων 2014-2015 Κατερίνα Ποντζόλκοβα, 5405 Αθανασία Ζαχαριά, 5295 Ερώτημα 1 Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n. Ο αλγόριθμος εύρεσης

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

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

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

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

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

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

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

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

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

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

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αφού ξέρουμε με ακρίβεια τον αριθμό των βασικών πράξεων που εκτελεί ο κάθε αλγόριθμος σε δεδομένα μεγέθους, θα

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

Ξέρουμε ότι: Συνάρτηση-απεικόνιση με πεδίο ορισμού ένα σύνολο Α και πεδίο τιμών ένα σύνολο Β είναι κάθε μονοσήμαντη απεικόνιση f του Α στο Β.

Ξέρουμε ότι: Συνάρτηση-απεικόνιση με πεδίο ορισμού ένα σύνολο Α και πεδίο τιμών ένα σύνολο Β είναι κάθε μονοσήμαντη απεικόνιση f του Α στο Β. Η έννοια της ακολουθίας Ξέρουμε ότι: Συνάρτηση-απεικόνιση με πεδίο ορισμού ένα σύνολο Α και πεδίο τιμών ένα σύνολο Β είναι κάθε μονοσήμαντη απεικόνιση f του Α στο Β. Δηλαδή: f : A B Η ακολουθία είναι συνάρτηση.

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

Στοχαστικές Στρατηγικές. διαδρομής (1)

Στοχαστικές Στρατηγικές. διαδρομής (1) Στοχαστικές Στρατηγικές η ενότητα: Το γενικό πρόβλημα ελάχιστης διαδρομής () Τμήμα Μαθηματικών, ΑΠΘ Ακαδημαϊκό έτος 08-09 Χειμερινό Εξάμηνο Παπάνα Αγγελική Μεταδιδακτορική ερευνήτρια, ΑΠΘ & Πανεπιστήμιο

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

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

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

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

Λύσεις για τις ασκήσεις του lab5

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

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

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Αναζήτηση Δέντρα (2 ο Μέρος) Διαχρονικά -Δέντρα (Persistent -trees) Σε μερικές εφαρμογές βάσεων/δομών δεδομένων όπου γίνονται ενημερώσεις μας ενδιαφέρει

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

Ασκήσεις (2) Άσκηση 1

Ασκήσεις (2) Άσκηση 1 Άσκηση 1 Ασκήσεις () Εισαγωγή στην Ανάλυση Αλγορίθμων Υποθέστε ότι συγκρίνουμε την υλοποίηση της ταξινόμησης με εισαγωγή και της ταξινόμησης με συγχώνευση στον ίδιο υπολογιστή. Για εισόδους μεγέθους n,

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

Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

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

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

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

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

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { n 3 } (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q,

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

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

Δομές Δεδομένων & Αλγόριθμοι Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

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

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

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

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

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

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

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

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

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

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