Outline. 6 Edit Distance

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

Download "Outline. 6 Edit Distance"

Transcript

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

2 Outline 1 Βιαστικός Μοτοσυκλετιστής 2 Επιτροπή Αντιπροσώπων 3 Βότσαλα στη Σκακιέρα 4 Μέγιστη Κοινή Υπακολουθία 5 Μέγιστη Αύξουσα Υπακολουθία 6 Edit Distance (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

3 Βιαστικός Μοτοσυκλετιστής Α l 1 1 l 2 2 l 3 3 l 4 4 l 5 Β Είσοδος: n μήκη διαστημάτων n όρια ταχύτητας μία ταχύτητα u ένα χρονικό όριο T (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

4 Βιαστικός Μοτοσυκλετιστής Α l 1 1 l 2 2 l 3 3 l 4 4 l 5 Β Είσοδος: n μήκη διαστημάτων n όρια ταχύτητας μία ταχύτητα u ένα χρονικό όριο T Εξοδος: Ο ελάχιστος χρόνος που χρειάζεται για να διανύσει την διαδρομή, αν επιτρέπεται να παραβεί τα όρια ταχύτητας μόνο για συνολική διάρκεια T και κατά ταχύτητα u. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

5 Βιαστικός Μοτοσυκλετιστής Χρόνος για να διανύσει ένα διάστημα i Αν ξεπεράσει το όριο κατά u για χρόνο t i, dt i = t i + l i (u i + u) t i u i = l i u i u u i t i (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

6 Βιαστικός Μοτοσυκλετιστής Χρόνος για να διανύσει ένα διάστημα i Αν ξεπεράσει το όριο κατά u για χρόνο t i, dt i = t i + l i (u i + u) t i u i = l i u i u u i t i Δεδομένου ότι ο μοτοσυκλετιστής δεν επηρεάζει τον όρο l i u i, στόχος μας είναι max u u i t i s.t. t i = T t i l i u i + u (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

7 Βιαστικός Μοτοσυκλετιστής Βέλτιστη Λύση Ξοδεύω όσο πιο πολύ χρόνο μπορώ σε διαστήματα με μεγάλο u u i, δηλαδή μικρό u i. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

8 Βιαστικός Μοτοσυκλετιστής Βέλτιστη Λύση Ξοδεύω όσο πιο πολύ χρόνο μπορώ σε διαστήματα με μεγάλο u u i, δηλαδή μικρό u i. Απόδειξη - Επιχείρημα Ανταλλαγής Εστω μία βέλτιστη λύση η οποία ορίζει χρόνους ti, και η δικιά μας λύση t i, όπου τα διαστήματα είναι ταξινομημένα με αύξοντα όρια ταχύτητας. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

9 Βιαστικός Μοτοσυκλετιστής Βέλτιστη Λύση Ξοδεύω όσο πιο πολύ χρόνο μπορώ σε διαστήματα με μεγάλο u u i, δηλαδή μικρό u i. Απόδειξη - Επιχείρημα Ανταλλαγής Εστω μία βέλτιστη λύση η οποία ορίζει χρόνους ti, και η δικιά μας λύση t i, όπου τα διαστήματα είναι ταξινομημένα με αύξοντα όρια ταχύτητας. Εστω k το διάστημα που διαφέρουν. Σίγουρα tk < t k, καθώς η λύση μας διαθέτει όσο το δυνατόν παραπάνω χρόνο μπορεί σε κάθε διάστημα με τη σειρά. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

10 Βιαστικός Μοτοσυκλετιστής Βέλτιστη Λύση Ξοδεύω όσο πιο πολύ χρόνο μπορώ σε διαστήματα με μεγάλο u u i, δηλαδή μικρό u i. Απόδειξη - Επιχείρημα Ανταλλαγής Εστω μία βέλτιστη λύση η οποία ορίζει χρόνους ti, και η δικιά μας λύση t i, όπου τα διαστήματα είναι ταξινομημένα με αύξοντα όρια ταχύτητας. Εστω k το διάστημα που διαφέρουν. Σίγουρα tk < t k, καθώς η λύση μας διαθέτει όσο το δυνατόν παραπάνω χρόνο μπορεί σε κάθε διάστημα με τη σειρά. Αν μεταφέρουμε συνολικό χρόνο t k tk από επόμενα διαστήματα στο διάστημα k, ο συνολικός χρόνος δεν χειροτερεύει και η λύση παραμένει βέλτιστη. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

11 Βιαστικός Μοτοσυκλετιστής Βέλτιστη Λύση Ξοδεύω όσο πιο πολύ χρόνο μπορώ σε διαστήματα με μεγάλο u u i, δηλαδή μικρό u i. Απόδειξη - Επιχείρημα Ανταλλαγής Εστω μία βέλτιστη λύση η οποία ορίζει χρόνους ti, και η δικιά μας λύση t i, όπου τα διαστήματα είναι ταξινομημένα με αύξοντα όρια ταχύτητας. Εστω k το διάστημα που διαφέρουν. Σίγουρα tk < t k, καθώς η λύση μας διαθέτει όσο το δυνατόν παραπάνω χρόνο μπορεί σε κάθε διάστημα με τη σειρά. Αν μεταφέρουμε συνολικό χρόνο t k tk από επόμενα διαστήματα στο διάστημα k, ο συνολικός χρόνος δεν χειροτερεύει και η λύση παραμένει βέλτιστη. Με την ίδια διαδικασία μπορούμε να μεταασχηματίσουμε τη βέλτιστη λύση στη δική μας χωρίς να αυξήσουμε το συνολικό χρόνο. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

12 Outline 1 Βιαστικός Μοτοσυκλετιστής 2 Επιτροπή Αντιπροσώπων 3 Βότσαλα στη Σκακιέρα 4 Μέγιστη Κοινή Υπακολουθία 5 Μέγιστη Αύξουσα Υπακολουθία 6 Edit Distance (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

13 Επιτροπή Αντιπροσώπων (ΚΤ 4.15) Είσοδος: n το πλήθος βάρδιες, η κάθε μία εκ των οποίων αντιστοιχεί σε έναν εθελοντή (οι βάρδιες μπορεί να επικαλύπτονται μεταξύ τους). Εξοδος: Ο μικρότερος αριθμός εθελοντών που μπορεί να σχηματίσει μία πλήρη επιτροπή αντιπροσώπων. Μία επιτροπή είναι πλήρης, αν για κάθε εθελοντή που δεν είναι μέλος της, υπάρχει ένας εθελοντής που είναι μέλος της και η βάρδιά του έχει επικάλυψη με του πρώτου. Ισοδύναμα Είσοδος: Διαστήματα [s i, f i ) i = 1,..., n. Εξοδος: Σύνολο διαστημάτων, ελαχίστου δυνατού μεγέθους, η ένωση των οποίων έχει επικάλυψη με κάθε διάστημα. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

14 Επιτροπή Αντιπροσώπων Είσοδος: Διαστήματα [s i, f i ) i = 1,..., n. Εξοδος: Σύνολο διαστημάτων, ελαχίστου δυνατού μεγέθους, η ένωση των οποίων έχει επικάλυψη με κάθε διάστημα. Λάθος Ιδέα: Οσο υπάρχουν ακάλυπτα διαστήματα, διάλεξε το μεγαλύτερο διάστημα που μπορεί να τα καλύψει. Αντιπαράδειγμα: optimal largest intervals (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

15 Επιτροπή Αντιπροσώπων Είσοδος: Διαστήματα [s i, f i ) i = 1,..., n. Εξοδος: Σύνολο διαστημάτων, ελαχίστου δυνατού μεγέθους, η ένωση των οποίων έχει επικάλυψη με κάθε διάστημα. Λύση: Οσο υπάρχουν ακάλυπτα διαστήματα: Βρες το ακάλυπτο διάστημα που τελειώνει νωρίτερα. Από τα διαστήματα που μπορούν να το καλύψουν, διάλεξε αυτό που τελειώνει αργότερα. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

16 Επιτροπή Αντιπροσώπων Λύση: Οσο υπάρχουν ακάλυπτα διαστήματα: Βρες το ακάλυπτο διάστημα που τελειώνει νωρίτερα. Από τα διαστήματα που μπορούν να το καλύψουν, διάλεξε αυτό που τελειώνει αργότερα. I1 I2 I3 I4 I5 I6 I7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

17 Επιτροπή Αντιπροσώπων Λύση: Οσο υπάρχουν ακάλυπτα διαστήματα: Βρες το ακάλυπτο διάστημα που τελειώνει νωρίτερα. Από τα διαστήματα που μπορούν να το καλύψουν, διάλεξε αυτό που τελειώνει αργότερα. I1 I2 I3 I4 I5 I6 I7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

18 Επιτροπή Αντιπροσώπων Λύση: Οσο υπάρχουν ακάλυπτα διαστήματα: Βρες το ακάλυπτο διάστημα που τελειώνει νωρίτερα. Από τα διαστήματα που μπορούν να το καλύψουν, διάλεξε αυτό που τελειώνει αργότερα. I1 I2 I3 I4 I5 I6 I7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

19 Επιτροπή Αντιπροσώπων Λύση: Οσο υπάρχουν ακάλυπτα διαστήματα: Βρες το ακάλυπτο διάστημα που τελειώνει νωρίτερα. Από τα διαστήματα που μπορούν να το καλύψουν, διάλεξε αυτό που τελειώνει αργότερα. I1 I2 I3 I4 I5 I6 I7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

20 Επιτροπή Αντιπροσώπων Λύση: Οσο υπάρχουν ακάλυπτα διαστήματα: Βρες το ακάλυπτο διάστημα που τελειώνει νωρίτερα. Από τα διαστήματα που μπορούν να το καλύψουν, διάλεξε αυτό που τελειώνει αργότερα. I1 I2 I3 I4 I5 I6 I7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

21 Επιτροπή Αντιπροσώπων Απόδειξη Ορθότητας - Επιχείρημα Ανταλλαγής Εστω μία βέλτιστη λύση O και O η δική μας. Εστω ότι ταξινομούμε σε αύξουσα σειρά τα διαστήματά μας σύμφωνα με το χρόνο ολοκλήρωσής τους και το ίδιο κάνουμε και για τα διαστήματα της βέλτιστης λύσης. Εστω I το πρώτο διάστημα στο οποίο οι δύο λύσεις διαφέρουν. I (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

22 Επιτροπή Αντιπροσώπων Απόδειξη Ορθότητας - Επιχείρημα Ανταλλαγής Εστω N το σύνολο των διαστημάτων που καλύπτονται μόνο από το I στη βέλτιστη λύση. Προφανώς, N, αφού διαφορετικά δε θα ήταν βέλτιστη γιατί θα μπορούσαμε να αποκλείσουμε το I από τη λύση και να παίρναμε εφικτή λύση μικρότερου μεγέθους. I N (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

23 Επιτροπή Αντιπροσώπων Απόδειξη Ορθότητας - Επιχείρημα Ανταλλαγής Εστω J το διάστημα του N που τελειώνει νωρίτερα. J I (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

24 Επιτροπή Αντιπροσώπων Απόδειξη Ορθότητας - Επιχείρημα Ανταλλαγής Το J καλύπτεται μόνο από το I στη βέλτιστη λύση άρα το προηγούμενο διάστημα αυτής δεν το καλύπτει. Επομένως, αφού το I είναι το πρώτο διάστημα στο οποίο οι δύο λύσεις διαφέρουν, το J θα είναι μέχρι στιγμής ακάλυπτο και στη δική μας λύση. Ο δικός μας αλγόριθμος, αφού παράγει εφικτή λύση, για να καλύψει το ακάλυπτο J θα έχει επιλέξει ένα διάστημα I που έχει επικάλυψη με το J και, λόγω του κριτηρίου επιλογής, θα τελειώνει τουλάχιστον το ίδιο αργά με το I. Άρα θα καλύπτει τουλάχιστον όλο το N. J I I (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

25 Επιτροπή Αντιπροσώπων Απόδειξη Ορθότητας - Επιχείρημα Ανταλλαγής Ανταλλάσσοντας το I με το I επομένως θα είχαμε μία εφικτή λύση O ίδιου μεγέθους με τη βέλτιστη, δηλαδή θα ήταν κι αυτή βέλτιστη λύση. Συνεχίζοντας την ίδια διαδικασία, πλησιάζουμε όλο και πιο πολύ τη δική μας λύση, κρατώντας το μέγεθος ελάχιστο. Άρα και η δική μας λύση είναι βέλτιστη αφού περιλαμβάνει όλα τα διαστήματα της βέλτιστης εκτός από κάποια που αντικαθίστανται (1 προς 1) από τα I, I, κ.ο.κ. και κανένα άλλο διάστημα*. * Εστω ότι καθώς διατρέχουμε τις δύο λίστες με τα διαστήματα των δύο λύσεων, φθάνουμε στο τέλος της βέλτιστης και η δική μας έχει ένα ακόμα διάστημα E. Το E τελειώνει αργότερα από το τελευταίο μας μέχρι στιγμής. Το E όμως δε μπορεί να επιλέχθηκε για να καλύψει διάστημα το οποίο αρχίζει πριν το τέλος του τελευταίου μας, γιατί έχοντας το μεγαλύτερο χρόνο ολοκλήρωσης απ όλα θα είχε επιλεγεί στη θέση κάποιων προηγούμενων και άρα θα ήταν στη διαδικασία ανταλλαγής. Επίσης, δε μπορεί να επιλέχθηκε για να καλύψει διάστημα που αρχίζει μετά το τέλος του τελευταίου μας, αφού μέχρι τότε έχουμε καλύψει τουλάχιστον τόσα διαστήματα όσα καλύπτει η βέλτιστη λύση, δηλαδή όλα. Άρα δεν υπάρχει τέτοιο διάστημα. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

26 Επιτροπή Αντιπροσώπων Χρονική Πολυπλοκότητα Φτιάχνουμε δύο πίνακες S, F με τα διαστήματα ταξινομημένα ως προς τους χρόνους έναρξης και λήξης αντίστοιχα, σε χρόνο O(n log n). Χρησιμοποιούμε τον πρώτο για να βρίσκουμε τα ακάλυπτα διαστήματα και τον δεύτερο για να επιλέξουμε ποιό θα βάλουμε στη λύση μας. Στους πίνακες αυτούς αντιστοιχούν δείκτες p s, p f οι οποίοι, όπως θα φανεί, κινούνται πάντα προς τα δεξιά άρα η διαδικασία είναι γραμμικού χρόνου ως προς το n. Συνολικά, ο αλγόριθμός μας έχει πολυπλοκότητα: O(n log n) (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

27 Επιτροπή Αντιπροσώπων Χρονική Πολυπλοκότητα F = [ f 1 f 2 f 3 f 4 f 7 f 5 f 6 ] S = [ s 1 s 2 s 3 s 5 s 4 s 6 s 7 ] p f = 1 p s = 1 I 1 I 2 I 3 I 4 I 5 I 6 I 7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

28 Επιτροπή Αντιπροσώπων Χρονική Πολυπλοκότητα F = [ ] f 1 f 2 f 3 f 4 f 7 f 5 f 6 S = [ ] s 1 s 2 s 3 s 5 s 4 s 6 s 7 p f = 1 p s = 1 I 1 I 2 I 3 I 4 I 5 I 6 I 7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

29 Επιτροπή Αντιπροσώπων Χρονική Πολυπλοκότητα Κινούμαστε στον S μέχρι να βρούμε όλα τα διαστήματα που έχουν επικάλυψη με το I 1 (δηλαδή μέχρι s i f 1 ) και παράλληλα αποθηκεύουμε αυτό με το μεγαλύτερο f i (=f 2 ). Αυτά τα διαστήματα δεν θα τα ξανακοιτάξουμε αφού τελειώνουν πριν το διάστημα που επιλέξαμε και δεν υπάρχουν ακάλυπτα διαστήματα στα αριστερά τους. Άρα ο δείκτης p s την επόμενη φορά θα ξεκινήσει από το σημείο που έμεινε. Επειτα, κινούμαστε στον F μέχρι να βρούμε το επόμενο ακάλυπτο διάστημα (μέχρι s i f 2 ). (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

30 Επιτροπή Αντιπροσώπων Χρονική Πολυπλοκότητα F = [ ] f 1 f 2 f 3 f 4 f 7 f 5 f 6 S = [ ] s 1 s 2 s 3 s 5 s 4 s 6 s 7 p f = 4 p s = 3 I 1 I 2 I 3 I 4 I 5 I 6 I 7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

31 Επιτροπή Αντιπροσώπων Χρονική Πολυπλοκότητα F = [ ] f 1 f 2 f 3 f 4 f 7 f 5 f 6 S = [ ] s 1 s 2 s 3 s 5 s 4 s 6 s 7 p f = 4 p s = 3 I 1 I 2 I 3 I 4 I 5 I 6 I 7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

32 Επιτροπή Αντιπροσώπων Χρονική Πολυπλοκότητα F = [ ] f 1 f 2 f 3 f 4 f 7 f 5 f 6 S = [ ] s 1 s 2 s 3 s 5 s 4 s 6 s 7 p f = 8 p s = 8 I 1 I 2 I 3 I 4 I 5 I 6 I 7 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

33 Outline 1 Βιαστικός Μοτοσυκλετιστής 2 Επιτροπή Αντιπροσώπων 3 Βότσαλα στη Σκακιέρα 4 Μέγιστη Κοινή Υπακολουθία 5 Μέγιστη Αύξουσα Υπακολουθία 6 Edit Distance (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

34 Βότσαλα στη Σκακιέρα (DPV 6.5) Είσοδος: Μία σκακιέρα διαστάσεων 4 n και ένας ακέραιος σε κάθε κουτάκι (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

35 Βότσαλα στη Σκακιέρα (DPV 6.5) Είσοδος: Μία σκακιέρα διαστάσεων 4 n και ένας ακέραιος σε κάθε κουτάκι Στόχος: Να τοποθετήσουμε βότσαλα στα κουτάκια, ώστε κανένα βότσαλο να μην συνορεύει με άλλο οριζόντια ή κάθετα, μεγιστοποιώντας το άθροισμα των αριθμών στα κουτάκια με βότσαλα. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

36 Βότσαλα στη Σκακιέρα (DPV 6.5) Πρώτη Προσέγγιση Οσο υπάρχει χώρος, τοποθετούμε ένα βότσαλο στο κουτάκι με τον μεγαλύτερο αριθμό που επιτρέπεται. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

37 Βότσαλα στη Σκακιέρα (DPV 6.5) Πρώτη Προσέγγιση Οσο υπάρχει χώρος, τοποθετούμε ένα βότσαλο στο κουτάκι με τον μεγαλύτερο αριθμό που επιτρέπεται. Αντιπαράδειγμα (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

38 Βότσαλα στη Σκακιέρα (DPV 6.5) Πρώτη Προσέγγιση Οσο υπάρχει χώρος, τοποθετούμε ένα βότσαλο στο κουτάκι με τον μεγαλύτερο αριθμό που επιτρέπεται. Αντιπαράδειγμα αξία greedy 1 99 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

39 Βότσαλα στη Σκακιέρα (DPV 6.5) Πρώτη Προσέγγιση Οσο υπάρχει χώρος, τοποθετούμε ένα βότσαλο στο κουτάκι με τον μεγαλύτερο αριθμό που επιτρέπεται. Αντιπαράδειγμα βέλτιστη αξία (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

40 Βότσαλα στη Σκακιέρα (DPV 6.5) Είναι όμως τόσο τραγικός ο greedy αλγόριθμος; (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

41 Βότσαλα στη Σκακιέρα (DPV 6.5) Είναι όμως τόσο τραγικός ο greedy αλγόριθμος; Πρόταση Ο άπληστος αλγόριθμος είναι 1 4-προσεγγιστικός. Παράγει δηλαδή λύση αξίας τουλάχιστον το 25% της βέλτιστης. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

42 Βότσαλα στη Σκακιέρα (DPV 6.5) Είναι όμως τόσο τραγικός ο greedy αλγόριθμος; Πρόταση Ο άπληστος αλγόριθμος είναι 1 4-προσεγγιστικός. Παράγει δηλαδή λύση αξίας τουλάχιστον το 25% της βέλτιστης. Απόδειξη. Εστω S το σύνολο των βοτσάλων της βέλτιστης λύσης αξίας OPT και S το σύνολο της άπληστης λύσης αξίας GR OPT = (S \ S) + (S S ) 4 (S \ S ) + (S S ) ( 4 (S \ S ) + ) (S S ) = 4GR (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

43 Βότσαλα στη Σκακιέρα (DPV 6.5) Αφού η σκακιέρα έχει σταθερό αριθμός γραμμών, κάθε στήλη μπορεί να γεμίσει με συγκεκριμένο αριθμό τρόπων Ο συνδυασμός που θα επιλέξω επηρεάζει τις υπόλοιπες επιλογές. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

44 Βότσαλα στη Σκακιέρα (DPV 6.5) v 18 v 28 v 17 v 27 v 16 v 26 v 15 v 25 v 14 v 24 v 13 v 23 v 12 v 22 v 11 v 21 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

45 Βότσαλα στη Σκακιέρα (DPV 6.5) v 18 v 28 v 17 v 27 v 16 v 26 v 15 v 25 v 14 v 24 v 13 v 23 v 12 v 22 v 11 v 21 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

46 Βότσαλα στη Σκακιέρα (DPV 6.5) v 18 v 28 v 17 v 27 v 16 v 26 v 15 v 25 v 14 v 24 v 13 v 23 v 12 v 22 v 11 v 21 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

47 Βότσαλα στη Σκακιέρα (DPV 6.5) v 18 v 28 v 17 v 27 v 16 v 26 v 15 v 25 v 14 v 24 v 13 v 23 v 12 v 22 v 11 v 21 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

48 Βότσαλα στη Σκακιέρα (DPV 6.5) v 18 v 28 v n8 v 17 v 27 v n7 v 16 v 26 v n6 v 15 v 25 v n5... v 14 v 24 v n4 v 13 v 23 v n3 v 12 v 22 v n2 v 11 v 21 v n1 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

49 Βότσαλα στη Σκακιέρα (DPV 6.5) Ιδέα Για κάθε στήλη, θα λύνω το πρόβλημα βέλτιστα για όλους του πιθανούς συνδυασμούς. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

50 Βότσαλα στη Σκακιέρα (DPV 6.5) Ιδέα Για κάθε στήλη, θα λύνω το πρόβλημα βέλτιστα για όλους του πιθανούς συνδυασμούς. Θα χρησιμοποιήσω δυναμικό προγραμματισμό στη σχέση C[i, j] = v ij + C[1, j] = v 1j max k adj(j) {C[i 1, k]} (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

51 Βότσαλα στη Σκακιέρα (DPV 6.5) Ιδέα Για κάθε στήλη, θα λύνω το πρόβλημα βέλτιστα για όλους του πιθανούς συνδυασμούς. Θα χρησιμοποιήσω δυναμικό προγραμματισμό στη σχέση C[i, j] = v ij + C[1, j] = v 1j max k adj(j) {C[i 1, k]} Οπου C[i, j]: η αξία της βέλτιστης λύσης για τις στήλες 1 εώς i όπου η στήλη i έχει συνδυασμό βοτσάλων j v ij : η αξία που παράγεται αν τοποθετηθούν βότσαλα σε συνδυασμό j στην στήλη i adj(j): οι συνδυασμού που μπορούν να συνορεύουν με το συνδυασμό j (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

52 Βότσαλα στη Σκακιέρα (DPV 6.5) Τελική Λύση Η τιμή της βέλτιστης λύσης είναι η μέγιστη τιμή της στήλης n OPT = max C[n, i] i Η λύση προκύτει από τον ίδιο τον πίνακα γυρνώντας προς τα πίσω από το τέλος. Χρονική Πολυπλοκότητα Ο πίνακας C έχει μέγεθος 8 n και αφού ο αριθμός των γραμμών είναι σταθερός, κάθε στήλη υπολογίζεται σε σταθερό χρόνο. Συνολικά Θ(n) (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

53 Outline 1 Βιαστικός Μοτοσυκλετιστής 2 Επιτροπή Αντιπροσώπων 3 Βότσαλα στη Σκακιέρα 4 Μέγιστη Κοινή Υπακολουθία 5 Μέγιστη Αύξουσα Υπακολουθία 6 Edit Distance (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

54 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Είσοδος: Δύο ακολουθείες χαρακτήρων Εξοδος: Η μέγιστη σε μήκος κοινή υποακολουθία (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

55 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Είσοδος: Δύο ακολουθείες χαρακτήρων Εξοδος: Η μέγιστη σε μήκος κοινή υποακολουθία B A N A N A B A T M A N (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

56 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Είσοδος: Δύο ακολουθείες χαρακτήρων Εξοδος: Η μέγιστη σε μήκος κοινή υποακολουθία B A N A N A B A T M A N (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

57 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Πρώτη Προσέγγιση Κοιτάζω τον πρώτο χαρακτήρα κάθε ακολουθίας: Αν είναι ίδιοι, τότε σίγουρα αποτελούν μέρος τη μέγιστης υποακολουθίας Αν όχι, πρέπει να πετάξω τον έναν από τους δύο και να συνεχίσω Πως ξέρω όμως ποιον χαρακτήρα θα αφήσω προκειμένου να έχω βέλτιστη λύση; (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

58 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Εστω C[i, j] το μήκος της μέγιστης κοινής υποακολουθίας που προκύπτει μέχρι και τον χαρακτήρα i της πρώτης ακολουθίας και τον χαρακτήρα j της δεύτερης. Γενικεύοντας της προηγούμενη ιδέα προκύπτει η αναδρομική σχέση { C[i 1, j 1] + 1, αν S i = S j C[i, j] = max(c[i 1, j], C[i, j 1]), διαφορετικά C[i, ] = C[, j] = Οπου S, S οι δύο ακολουθίες (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

59 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε ε B A N A N A B A T M A N (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

60 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε ε B B A A T N M A A N N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

61 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε ε B B A A T N M A A N N A 1 (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

62 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε ε B B A A T N M A A N N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

63 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε ε B B A A T N M A A N N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

64 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε ε B B A A T N M A A N N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

65 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε ε B B A A T N M A A N N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

66 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε B A T M A N ε B A N A N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

67 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε B A T M A N ε B A N A N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

68 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε B A T M A N ε B A N A N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

69 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε B A T M A N ε B A N A N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

70 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Χρησιμοποιώντας δυναμικό προγραμματισμό, η παραπάνω σχέση υπολογίζεται αποδοτικά ε B A T M A N ε B A N A N A (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

71 Μέγιστη Κοινή Υπακολουθία (CLRS ch15.4) Τελική Λύση Η τιμή της βέλτιστης λύσης βρίσκεται στο C[n, m], ενώ από τον πίνακα μπορεί να βρεθεί πως προέκυψε κάθε τιμή. Τα στοιχεία της κοινής υποακολουθίας είναι ακριβώς αυτά που έγινα διαγώνιες μεταβάσεις. Χρονική Πολυπλοκότητα Ο πίνακας είναι διαστάσεων n m και κάθε κελί γεμίζει σε O(1), άρα συνολικά Θ(n m) (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

72 Outline 1 Βιαστικός Μοτοσυκλετιστής 2 Επιτροπή Αντιπροσώπων 3 Βότσαλα στη Σκακιέρα 4 Μέγιστη Κοινή Υπακολουθία 5 Μέγιστη Αύξουσα Υπακολουθία 6 Edit Distance (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

73 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Είσοδος: Ακολουθία n αριθμών: a 1,..., a n. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

74 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Είσοδος: Ακολουθία n αριθμών: a 1,..., a n. Εξοδος: Μέγιστη (γνησίως) αύξουσα υπακολουθία. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

75 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Είσοδος: Ακολουθία n αριθμών: a 1,..., a n. Εξοδος: Μέγιστη (γνησίως) αύξουσα υπακολουθία. π.χ. Ακολουθία (n = 6): , δηλαδή a 1 = 5, a 2 = 2, a 3 = 6, a 4 = 3, a 5 = 6, a 6 = 9 Μέγιστη αύξουσα υπακολουθία: (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

76 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Είσοδος: Ακολουθία n αριθμών: a 1,..., a n. Εξοδος: Μέγιστη (γνησίως) αύξουσα υπακολουθία. Λύση με χρονική πολυπλοκότητα O(n 2 ): Από όλες τις αύξουσες υπακολουθίες που τελειώνουν στη θέση j {1,..., n}, διαλέγω τη μεγαλύτερη, μήκους έστω L(j). Επειτα, διαλέγω από τις τελευταίες και πάλι τη μεγαλύτερη, δηλαδή το κατάλληλο i τέτοιο ώστε i = argmax j {1,...,n} L(j). (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

77 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση με χρονική πολυπλοκότητα O(n 2 ): Αρκεί να βρούμε τον αναδρομικό τύπο για το L(j). (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

78 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση με χρονική πολυπλοκότητα O(n 2 ): Αρκεί να βρούμε τον αναδρομικό τύπο για το L(j). Φτιάχνουμε λίστες list(i) i = 1,..., n με τα στοιχεία που ικανοποιούν a j < a i και j < i σε χρόνο O(n 2 ) (κάθε αύξουσα υπακολουθία που τελειώνει στο i θα έχει προτελευταίο στοιχείο κάποιο από τη list(i)). (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

79 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση με χρονική πολυπλοκότητα O(n 2 ): Αρκεί να βρούμε τον αναδρομικό τύπο για το L(j). Φτιάχνουμε λίστες list(i) i = 1,..., n με τα στοιχεία που ικανοποιούν a j < a i και j < i σε χρόνο O(n 2 ) (κάθε αύξουσα υπακολουθία που τελειώνει στο i θα έχει προτελευταίο στοιχείο κάποιο από τη list(i)). Η μέγιστη αύξουσα υπακολουθία που τελειώνει στο j θα έχει μήκος ένα μεγαλύτερο από τη μέγιστη υπακολουθία που τελειώνει σε κάποιο στοιχείο του list(i). (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

80 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση με χρονική πολυπλοκότητα O(n 2 ): Άρα L(j) = 1 + max{l(i) i list(j)} (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

81 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση με χρονική πολυπλοκότητα O(n 2 ): Άρα L(j) = 1 + max{l(i) i list(j)} Για τον υπολογισμό κάθε ενός από τα L(i) συνεπώς χρειάζεται χρόνος list(i) n άρα συνολικά ο αλγόριθμός μας έχει πολυπλοκότητα O(n 2 ). (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

82 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση με χρονική πολυπλοκότητα O(n 2 ): Άρα L(j) = 1 + max{l(i) i list(j)} Για τον υπολογισμό κάθε ενός από τα L(i) συνεπώς χρειάζεται χρόνος list(i) n άρα συνολικά ο αλγόριθμός μας έχει πολυπλοκότητα O(n 2 ). Για να βρούμε την υπακολουθία αρκεί να αποθηκεύουμε ως προηγούμενο στοιχείο του j το στοιχείο που επιλέγεται στον υπολογισμό του L(j). (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

83 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Άλλη λύση με χρονική πολυπλοκότητα O(n 2 ): Μπορούμε να χρησιμοποιήσουμε κάπως το πρόβλημα της Μέγιστης Κοινής Υπακολουθίας; (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

84 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Άλλη λύση με χρονική πολυπλοκότητα O(n 2 ): Μπορούμε να χρησιμοποιήσουμε κάπως το πρόβλημα της Μέγιστης Κοινής Υπακολουθίας; Φτιάχνουμε την ακολουθία a 1,..., a m η οποία αποτελείται από τα διαφορετικά στοιχεία της αρχικής ακολουθίας ταξινομημένα κατά αύξουσα σειρά. Η Μέγιστη Κοινή Υπακολουθία μεταξύ της ταξινομημένης και της αρχικής είναι και η ζητούμενη Μέγιστη Αύξουσα Υπακολουθία. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

85 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Άλλη λύση με χρονική πολυπλοκότητα O(n 2 ): Μπορούμε να χρησιμοποιήσουμε κάπως το πρόβλημα της Μέγιστης Κοινής Υπακολουθίας; Φτιάχνουμε την ακολουθία a 1,..., a m η οποία αποτελείται από τα διαφορετικά στοιχεία της αρχικής ακολουθίας ταξινομημένα κατά αύξουσα σειρά. Η Μέγιστη Κοινή Υπακολουθία μεταξύ της ταξινομημένης και της αρχικής είναι και η ζητούμενη Μέγιστη Αύξουσα Υπακολουθία. Μπορούμε να βρούμε κάτι πιο γρήγορο; (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

86 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση σε χρόνο O(n log n): (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

87 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση σε χρόνο O(n log n): Ορίζουμε: m(l) = δείκτης i τέτοιος ώστε το a i να είναι το μικρότερο στοιχείο στο οποίο τελειώνει κάποια αύξουσα υπακολουθία μήκους l (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

88 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση σε χρόνο O(n log n): Ορίζουμε: m(l) = δείκτης i τέτοιος ώστε το a i να είναι το μικρότερο στοιχείο στο οποίο τελειώνει κάποια αύξουσα υπακολουθία μήκους l p(i) = ο δείκτης του προτελευταίου στοιχείου της μέγιστης υπακολουθίας που τελειώνει στο a i. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

89 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση σε χρόνο O(n log n): Ορίζουμε: m(l) = δείκτης i τέτοιος ώστε το a i να είναι το μικρότερο στοιχείο στο οποίο τελειώνει κάποια αύξουσα υπακολουθία μήκους l p(i) = ο δείκτης του προτελευταίου στοιχείου της μέγιστης υπακολουθίας που τελειώνει στο a i. π.χ. Αύξουσες Υπακολουθίες μήκους l = 1: 5,2,6,3,6,9 a m(1) = a 2 = 2 Αύξουσες Υπακολουθίες μήκους l = 2: 5-6,5-6,5-9,2-6,2-3,2-6,2-9,6-9,3-9,6-9 a m(2) = a 4 = 3. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

90 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση σε χρόνο O(n log n): m(l) = δείκτης i τέτοιος ώστε το a i να είναι το μικρότερο στοιχείο στο οποίο τελειώνει κάποια αύξουσα υπακολουθία μήκους l p(i) = ο δείκτης του προτελευταίου στοιχείου της μέγιστης υπακολουθίας που τελειώνει στο a i. Παρατήρηση: Το a m(1), a m(2),..., a m(lmax) είναι αύξουσα υπακολουθία. (Γιατί; Παρατηρήστε: Το a m(1) είναι το μικρότερο στοιχείο του πίνακα. Το a m(2), ως τελευταίο στοιχείο αύξουσας υπακολουθίας μήκους 2, είναι γνησίως μεγαλύτερο από τουλάχιστον ένα στοιχείο, έστω a k. Άρα a m(1) a k < a m(2).) (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

91 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση σε χρόνο O(n log n): Για κάθε θέση του πίνακα i = 1,..., n: Ψάχνω το μεγαλύτερο μήκος υπακολουθίας l [, L max ] τέτοιο ώστε το a m(l) < a i (δυαδική αναζήτηση στα a m(1), a m(2),...). (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

92 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση σε χρόνο O(n log n): Για κάθε θέση του πίνακα i = 1,..., n: Ψάχνω το μεγαλύτερο μήκος υπακολουθίας l [, L max ] τέτοιο ώστε το a m(l) < a i (δυαδική αναζήτηση στα a m(1), a m(2),...). Το μήκος της μακρύτερης υπακολουθίας που τελειώνει στο a i θα είναι l + 1 και m(l) το προτελευταίο στοιχείο της. Άρα: m(l + 1) = i (αν υπήρχε στοιχείο < a i στο οποίο τελειώνει κάποια υπακολουθία μήκους l + 1, τότε η αναζήτηση δε θα είχε σταματήσει στο l) p(i) = m(l). (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

93 Μέγιστη Αύξουσα Υπακολουθία (DPV ch6.2) Λύση σε χρόνο O(n log n): Για κάθε θέση του πίνακα i = 1,..., n: Ψάχνω το μεγαλύτερο μήκος υπακολουθίας l [, L max ] τέτοιο ώστε το a m(l) < a i (δυαδική αναζήτηση στα a m(1), a m(2),...). Το μήκος της μακρύτερης υπακολουθίας που τελειώνει στο a i θα είναι l + 1 και m(l) το προτελευταίο στοιχείο της. Άρα: m(l + 1) = i (αν υπήρχε στοιχείο < a i στο οποίο τελειώνει κάποια υπακολουθία μήκους l + 1, τότε η αναζήτηση δε θα είχε σταματήσει στο l) p(i) = m(l). Αν l + 1 > L max τότε αυτό είναι το νέο L max. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

94 Outline 1 Βιαστικός Μοτοσυκλετιστής 2 Επιτροπή Αντιπροσώπων 3 Βότσαλα στη Σκακιέρα 4 Μέγιστη Κοινή Υπακολουθία 5 Μέγιστη Αύξουσα Υπακολουθία 6 Edit Distance (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

95 Edit Distance Είσοδος: Δύο ακολουθείες χαρακτήρων Εξοδος: Ο ελάχιστος αριθμός ενεργειών που απαιτούνται προκειμένου να γίνουν οι ακολουθίες ίδιες, όπου διαθέσιμες ενέργειες είναι: Προσθήκη Χαρακτήρα Διαγραφή Χαρακτήρα Αντικατάσταση Χαρακτήρα (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

96 Edit Distance Είσοδος: Δύο ακολουθείες χαρακτήρων Εξοδος: Ο ελάχιστος αριθμός ενεργειών που απαιτούνται προκειμένου να γίνουν οι ακολουθίες ίδιες, όπου διαθέσιμες ενέργειες είναι: Προσθήκη Χαρακτήρα Διαγραφή Χαρακτήρα Αντικατάσταση Χαρακτήρα S U N N Y S N O W Y (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

97 Edit Distance Είσοδος: Δύο ακολουθείες χαρακτήρων Εξοδος: Ο ελάχιστος αριθμός ενεργειών που απαιτούνται προκειμένου να γίνουν οι ακολουθίες ίδιες, όπου διαθέσιμες ενέργειες είναι: Προσθήκη Χαρακτήρα Διαγραφή Χαρακτήρα Αντικατάσταση Χαρακτήρα S U N N - Y S - N O W Y (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

98 Edit Distance Λύση Εστω E[i, j] το edit distance των ακολουθιών μέχρι και τους χαρακτήρες i, j των ακολουθιών. Τότε E[i, ] = i E[, j] = j E[i 1, j] + 1 E[i, j] = min E[i, j 1] + 1 E[i 1, j 1] + diff (i, j) Οπου diff (i, j) είναι αν οι χαρακτήρες i, j των ακολουθιών ταυτίζονται και 1 διαφορετικά. (CoReLab - NTUA) Αλγόριθμοι - Ασκήσεις 16 Νοεμβρίου / 52

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 ΣΗΜΜΥ - Ε.Μ.Π. Δεκέμβριος 2016 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος 2016 1 / 65 Outline 1 Άσκηση

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

Outline. 6 Edit Distance

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

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

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 Άσκηση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Απειροστικός Λογισμός Ι, χειμερινό εξάμηνο Λύσεις τέταρτου φυλλαδίου ασκήσεων. ( n(n+1) e 1 (

Απειροστικός Λογισμός Ι, χειμερινό εξάμηνο Λύσεις τέταρτου φυλλαδίου ασκήσεων. ( n(n+1) e 1 ( . Αποδείξτε ότι: Απειροστικός Λογισμός Ι, χειμερινό εξάμηνο 08-9. Λύσεις τέταρτου φυλλαδίου ασκήσεων. +) 7 +) +), 5 +7 5 5, +log ) 7 log 4, +, ++ + + ) +4+4 + +4, + si +, +) +), + [ ], + + 0, + +, ) +,,

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 10: Ταξινόμηση Πίνακα Αναζήτηση σε Ταξινομημένο Πίνακα Πρόβλημα Δίνεται πίνακας t από Ν ακεραίους. Ζητούμενο: να ταξινομηθούν τα περιεχόμενα του πίνακα σε αύξουσα αριθμητική

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

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

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

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

Διατάξεις με επανάληψη: Με πόσους τρόπους μπορώ να διατάξω r από n αντικείμενα όταν επιτρέπονται επαναληπτικές εμφανίσεις των αντικειμένων; Στην αρχή

Διατάξεις με επανάληψη: Με πόσους τρόπους μπορώ να διατάξω r από n αντικείμενα όταν επιτρέπονται επαναληπτικές εμφανίσεις των αντικειμένων; Στην αρχή Στοιχειώδης συνδυαστική Συνδυασμοί και διατάξεις με επανάληψη Διατάξεις με επανάληψη: Με πόσους τρόπους μπορώ να διατάξω r από n αντικείμενα όταν επιτρέπονται επαναληπτικές εμφανίσεις των αντικειμένων;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διακριτά Μαθηματικά. Απαρίθμηση: Διωνυμικοί συντελεστές

Διακριτά Μαθηματικά. Απαρίθμηση: Διωνυμικοί συντελεστές Διακριτά Μαθηματικά Απαρίθμηση: Διωνυμικοί συντελεστές Συνδυασμοί Το πλήθος των συνδυασμών r από n στοιχεία, C(n,r) συμβολίζεται και ως Ο αριθμός αυτός λέγεται και διωνυμικός συντελεστής Οι αριθμοί αυτοί

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

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

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

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

a n + 6a n a n 2 + 8a n 3 = 0, a 0 = 1, a 1 = 2, a 2 = 8

a n + 6a n a n 2 + 8a n 3 = 0, a 0 = 1, a 1 = 2, a 2 = 8 Διακριτά Μαθηματικά Σχέσεις Αναδρομής Ι 1 / 17 a n + 6a n 1 + 12a n 2 + 8a n 3 = 0, a 0 = 1, a 1 = 2, a 2 = 8 2 / 17 a n + 6a n 1 + 12a n 2 + 8a n 3 = 0, a 0 = 1, a 1 = 2, a 2 = 8 1ος τρόπος: Εχουμε τη

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

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

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

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

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1),

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1), Κεφάλαιο 6 Συμπάγεια 6.1 Ορισμός της συμπάγειας Οπως θα φανεί στην αμέσως επόμενη παράγραφο, υπάρχουν διάφοροι τρόποι με τους οποίους μπορεί κανείς να εισάγει την έννοια του συμπαγούς μετρικού χώρου. Ο

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

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

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

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

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

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

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

Μέθοδος μέγιστης πιθανοφάνειας

Μέθοδος μέγιστης πιθανοφάνειας Αν x =,,, παρατηρήσεις των Χ =,,,, τότε έχουμε διαθέσιμο ένα δείγμα Χ={Χ, =,,,} της κατανομής F μεγέθους με από κοινού σκ της Χ f x f x Ορισμός : Θεωρούμε ένα τυχαίο δείγμα Χ=(Χ, Χ,, Χ ) από πληθυσμό το

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

Δυναμική Διατήρηση Γραμμικής Διάταξης

Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Εισαγωγή νέου στοιχείου y αμέσως μετά από το στοιχείο x. x y Διαγραφή στοιχείου y. y Έλεγχος της σειράς

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

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

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

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

f(t) = (1 t)a + tb. f(n) =

f(t) = (1 t)a + tb. f(n) = Παράρτημα Αʹ Αριθμήσιμα και υπεραριθμήσιμα σύνολα Αʹ1 Ισοπληθικά σύνολα Ορισμός Αʹ11 (ισοπληθικότητα) Εστω A, B δύο μη κενά σύνολα Τα A, B λέγονται ισοπληθικά αν υπάρχει μια συνάρτηση f : A B, η οποία

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

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

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

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

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

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

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

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 ανάμεσα σε όλους

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

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος.

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος. Δομές Δεδομένων Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο Φυσικό Επίπεδο RAM Πίνακας 8 10 17 19 22 Ταξινομημένος Πίνακας 5 8 10 12 17 Δένδρο 8 5 10 12 19 17

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

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

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

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

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

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

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

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

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

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

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

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

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

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

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

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

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 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον

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

Διακριτά Μαθηματικά. Απαρίθμηση: Διωνυμικοί συντελεστές

Διακριτά Μαθηματικά. Απαρίθμηση: Διωνυμικοί συντελεστές Διακριτά Μαθηματικά Απαρίθμηση: Διωνυμικοί συντελεστές Συνδυασμοί Το πλήθος των συνδυασμών r από n στοιχεία, C(n,r) συμβολίζεται και ως Ο αριθμός αυτός λέγεται και διωνυμικός συντελεστής Οι αριθμοί αυτοί

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

APEIROSTIKOS LOGISMOS I

APEIROSTIKOS LOGISMOS I APEIROSTIKOS LOGISOS I ΟΛΟΗΜΕΡΟ ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΒΛΗΜΑΤΩΝ Λύσεις ασκήσεων φυλλαδίου. Άσκηση : Αποδείξτε με τον ορισμό ότι:. lim ( ) = +,. lim =,. lim ln( + ) = ln, + 4. lim + =. Λύση:. Θεωρούμε αυθαίρετο

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

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4 Διακριτά Μαθηματικά Ι Επαναληπτικό Μάθημα 1 Συνδυαστική 2 Μεταξύ 2n αντικειμένων, τα n είναι ίδια. Βρείτε τον αριθμό των επιλογών n αντικειμένων από αυτά τα 2n αντικείμενα. Μεταξύ 3n + 1 αντικειμένων τα

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

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

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

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

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

Γενικευμένες Μεταθέσεις και Συνδυασμοί

Γενικευμένες Μεταθέσεις και Συνδυασμοί Γενικευμένες Μεταθέσεις και Συνδυασμοί Διατάξεις και Συνδυασμοί όταν υπάρχουν πολλαπλά αντίγραφα των αντικειμένων Μέχρι τώρα Μετράγαμε τρόπους να διαλέξουμε (συνδυασμούς) ή να διαλέξουμε και να βάλουμε

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

Πρόβλημα 1 «Φασίνα» Εύρεση εκτέλεσης εργασιών με τον μικρότερο συνολικό χρόνο

Πρόβλημα 1 «Φασίνα» Εύρεση εκτέλεσης εργασιών με τον μικρότερο συνολικό χρόνο ΦΡΟΝΤΙΣΤΗΡΙΟ 2 /4/206 Πρόβλημα «Φασίνα» Εύρεση εκτέλεσης εργασιών με τον μικρότερο συνολικό χρόνο Έστω ότι θέλουμε να καθαρίσουμε το σπίτι. Για λόγους μείωσης πολυπλοκότητας θεωρούμε ότι θέλουμε να καθαρίσουμε

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

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

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

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

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

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

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

Approximation Algorithms for the k-median problem

Approximation Algorithms for the k-median problem Approximation Algorithms for the k-median problem Ζακυνθινού Λυδία Παυλάκος Γεώργιος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Θεωρία Υπολογισμού 2011-2012 Το πρόβλημα

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

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

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

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

Ταξινόμηση. Σαλτογιάννη Αθανασία

Ταξινόμηση. Σαλτογιάννη Αθανασία Ταξινόμηση Σαλτογιάννη Αθανασία Ταξινόμηση Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ποια είδη αλγορίθμων ταξινόμησης υπάρχουν; Ταξινόμηση Τι εννοούμε όταν

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

n 5 = 7 ε (π.χ. ορίζοντας n0 = 1+ ε συνεπώς (σύμϕωνα με τις παραπάνω ισοδυναμίες) an 5 < ε. Επομένως a n β n 23 + β n+1

n 5 = 7 ε (π.χ. ορίζοντας n0 = 1+ ε συνεπώς (σύμϕωνα με τις παραπάνω ισοδυναμίες) an 5 < ε. Επομένως a n β n 23 + β n+1 Θέμα 1 (α) Υποθέτουμε (προς απαγωγή σε άτοπο) ότι το σύνολο A έχει μέγιστο στοιχείο, έστω a = max A Τότε, εϕόσον a A, έχουμε a R Q και a M Ομως ο αριθμός μητρώου M είναι ρητός αριθμός, άρα (εϕόσον ο a

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

Απειροστικός Λογισμός Ι Ασκήσεις

Απειροστικός Λογισμός Ι Ασκήσεις Απειροστικός Λογισμός Ι Ασκήσεις Μ. Παπαδημητράκης . Για καθεμία από τις ανισότητες ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ + >, +, + > +3 3+, ( )( 3) ( ) 0 γράψτε ως διάστημα ή ως ένωση διαστημάτων το σύνολο

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

Λύσεις Διαγωνισμάτος 1 Ενότητα: Ακολουθίες-Σειρές

Λύσεις Διαγωνισμάτος 1 Ενότητα: Ακολουθίες-Σειρές Τμήμα Μηχανικών Οικονομίας και Διοίκησης Απειροστικός Λογισμός ΙΙ Γ. Καραγιώργος ykarag@aegea.gr Λύσεις Διαγωνισμάτος Ενότητα: Ακολουθίες-Σειρές Άσκηση. Έστω ακολουθία (a ), για την οποία ισχύει ότι Θεωρούμε

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

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

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

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό. Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο : Ακολουθίες πραγµατικών αριθµών Α Οµάδα Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς αιτιολογήστε πλήρως την απάντησή σας α Κάθε

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

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

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

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

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι; Άπληστοι Αλγόριθμοι ΙΙI Αλγόριθμοι γραφημάτων Ελάχιστο Γεννητικό Δένδρο Παράδειγμα Κατασκευή δικτύων Οδικά, επικοινωνίας Έχουμε ένα συνεκτικό γράφημα (V,E) και ένας βάρος we σε κάθε ακμή e. Να βρεθεί υποσύνολο

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

Διακριτά Μαθηματικά. Απαρίθμηση: Γενικευμένες Μεταθέσεις και Συνδυασμοί

Διακριτά Μαθηματικά. Απαρίθμηση: Γενικευμένες Μεταθέσεις και Συνδυασμοί Διακριτά Μαθηματικά Απαρίθμηση: Γενικευμένες Μεταθέσεις και Συνδυασμοί Διατάξεις και Συνδυασμοί όταν υπάρχουν πολλαπλά αντίγραφα των αντικειμένων Μέχρι τώρα Μετράγαμε τρόπους να διαλέξουμε (συνδυασμούς)

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

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

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

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

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

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

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

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

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

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

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

Δομές Δεδομένων & Αλγόριθμοι - Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται

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

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής Θεωρία Παιγνίων και Αποφάσεων Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Παίγνια μηδενικού αθροίσματος PessimisIc play Αμιγείς max-min και

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

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ 22: Αλγόριθµοι και Πολυπλοκότητα Κατ οίκον Εργασία Σκελετοί Λύσεων. (α) Έστω δροµολόγηση e, e 2,, e των εργασιών, 2,,. Τότε οι χρόνοι συµπλήρωσης των εργασιών είναι e d e e 2 d e + d e 2 e d e + d

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

ΑΝΑΛΥΣΗ 1 ΔΩΔΕΚΑΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

ΑΝΑΛΥΣΗ 1 ΔΩΔΕΚΑΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης. ΑΝΑΛΥΣΗ 1 ΔΩΔΕΚΑΤΟ ΜΑΘΗΜΑ, 1-11-13 Μ. Παπαδημητράκης. 1 Άσκηση 2.2.7. Έστω ϵ 0 > 0. Αποδείξτε ότι x n x αν και μόνο αν για κάθε ϵ με 0 < ϵ ϵ 0 ισχύει τελικά x n N x ϵ). Λύση: Έχουμε να αποδείξουμε την

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

P(n, r) = n r. (n r)! n r. n+r 1

P(n, r) = n r. (n r)! n r. n+r 1 Διακριτά Μαθηματικά Φροντιστήριο Στοιχειώδης Συνδυαστική ΙΙ 1 / 15 Επανάληψη Κανόνας Αθροίσματος Κανόνας Γινομένου Χωρίς επαναλήψεις στοιχείων P(n, r) = n! (n r)! C(n, r) = ( ) n r Με επαναλήψεις στοιχείων

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

Διακριτά Μαθηματικά. Απαρίθμηση: Γενικευμένες Μεταθέσεις και Συνδυασμοί

Διακριτά Μαθηματικά. Απαρίθμηση: Γενικευμένες Μεταθέσεις και Συνδυασμοί Διακριτά Μαθηματικά Απαρίθμηση: Γενικευμένες Μεταθέσεις και Συνδυασμοί Διατάξεις και Συνδυασμοί με απλά ή πολλαπλά αντίγραφα στοιχείων Διατάξεις Διάλεξε και βάλε σε σειρά 1 αντίγραφο κάθε στοιχείου n*n-1*n-2*

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Η τακτοποίηση των δεδομένων με ιδιαίτερη σειρά είναι πολύ σημαντική λειτουργία που ονομάζεται

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2-Γ3

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2-Γ3 ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2-Γ3 ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΦΕΒΡΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ

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

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

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

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

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)

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

Ταχεία Ταξινόμηση Quick-Sort

Ταχεία Ταξινόμηση Quick-Sort Ταχεία Ταξινόμηση Quc-Sort 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής 1 Outlne Quc-sort Αλγόριθμος Βήμα διαχωρισμού Δένδρο Quc-sort

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

Συντομότερες Διαδρομές

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

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

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

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

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

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

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

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