ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης
|
|
- Αμφιτρίτη Δελή
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων Λουκάς Γεωργιάδης
2 Βασικές έννοιες και εφαρμογές Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή Δεδομένων: Μέθοδος αποθήκευσης δεδομένων Μερικές εφαρμογές Βιολογία: χαρτογράφηση ανθρώπινου γονιδιώματος, δίπλωμα πρωτεϊνών, Διαδίκτυο: αναζήτηση, δρομολόγηση πακέτων, Υπολογιστές: σχεδιασμός VLSI, μεταγλωττιστές, Ασφάλεια: ηλεκτρονικό εμπόριο, ασφαλής μετάδοση δεδομένων, Βιομηχανία: κατανομή πόρων, βελτιστοποίηση παραγωγής, Τηλεπικοινωνίες: κωδικοποίηση, επεξεργασία σημάτων,
3 Παράδειγμα: Δρομολόγηση
4 Παράδειγμα: Υπολογιστική όραση Εικόνα από
5 Παράδειγμα: Κρυπτογράφηση κρυπτογράφηση αποκρυπτογράφηση Bob Eavesdropper Alice
6 Παράδειγμα: Κρυπτογράφηση Κρυπτοσύστημα Δημόσιου Κλειδιού κρυπτογράφηση αποκρυπτογράφηση Bob Eavesdropper Alice Κάθε συμμετέχων έχει ένα δημόσιο κλειδί και ένα κρυφό κλειδί
7 Περιεχόμενα Αντισταθμιστική ανάλυση αλγορίθμων και δομών δεδομένων Προβλήματα βελτιστοποίησης σε δίκτυα Τυχαιοποιημένοι αλγόριθμοι Δομές δεδομένων και μοντέλα μνήμης Αριθμοθεωρητικοί αλγόριθμοι Άμεσοι αλγόριθμοι NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι
8 Στόχοι Μαθήματος Η σχεδίαση και ανάλυση αλγορίθμων και δομών δεδομένων αποτελεί σημαντικό τμήμα της πληροφορικής. Στα πλαίσια του μαθήματος θα διδαχτούμε : Προηγμένες τεχνικές σχεδίασης και ανάλυσης αλγορίθμων και εφαρμογές τους σε διαφόρους τομείς. Χρήση μαθηματικών εργαλείων όπως πιθανοτική ανάλυση, αντισταθμιστική ανάλυση, ανταγωνιστική ανάλυση.
9 Αντισταθμιστική ανάλυση αλγορίθμων Πολλές φορές ένας αλγόριθμος πραγματοποιεί μία ακολουθία πράξεων. Κάθε πράξη μπορεί να έχει διαφορετικό κόστος ανάλογα με την στιγμή που εκτελείται. Το κόστος μίας πράξης στη χειρότερη περίπτωση μπορεί να είναι πολύ μεγάλο. Το κόστος ανά πράξη σε μία ακολουθία πράξεων μπορεί να είναι κατά μέσο όρο αρκετά μικρότερο.
10 Αντισταθμιστική ανάλυση αλγορίθμων Πολλές φορές ένας αλγόριθμος πραγματοποιεί μία ακολουθία πράξεων. Κάθε πράξη μπορεί να έχει διαφορετικό κόστος ανάλογα με την στιγμή που εκτελείται. Το κόστος μίας πράξης στη χειρότερη περίπτωση μπορεί να είναι πολύ μεγάλο. Το κόστος ανά πράξη σε μία ακολουθία πράξεων μπορεί να είναι κατά μέσο όρο αρκετά μικρότερο. Αντισταθμιστική ανάλυση: λαμβάνουμε το μέσο κόστος εκτέλεσης μίας πράξης όταν εκτελούμε μία ακολουθία πράξεων χειρότερης περίπτωσης
11 Αντισταθμιστική ανάλυση αλγορίθμων Παράδειγμα : Δομές ένωσης-εύρεσης (union-find) Υποστηρίζουν τις παρακάτω λειτουργίες επί ενός συνόλου αντικειμένων : ένωση(α,β) : Αντικαθιστά τα σύνολα που περιέχουν τα α και β με την ένωση τους εύρεση(α) : Επιστρέφει το όνομα του συνόλου που περιέχει το αντικείμενο α ένωση(α,β)
12 Αντισταθμιστική ανάλυση αλγορίθμων Παράδειγμα : Δομές ένωσης-εύρεσης (union-find) Υποστηρίζουν τις παρακάτω λειτουργίες επί ενός συνόλου αντικειμένων : ένωση(α,β) : Αντικαθιστά τα σύνολα που περιέχουν τα α και β με την ένωση τους εύρεση(α) : Επιστρέφει το όνομα του συνόλου που περιέχει το αντικείμενο α Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» ένωση(3,6) εύρεση(2)
13 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» Υποθέτουμε ότι τα αντικείμενα μας είναι ακέραιοι αριθμοί Χρησιμοποιούμε πίνακες και μεγέθους Αρχικοποίηση : για Αρχικά κάθε αντικείμενο αποτελεί ένα ξεχωριστό σύνολο μεγέθους Κάθε σύνολο έχει ένα αντιπρόσωπο. Αν το αντικείμενο k είναι αντιπρόσωπος τότε ισχύει ότι και το σύνολο έχει αντικείμενα
14 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» Υποθέτουμε ότι τα αντικείμενα μας είναι ακέραιοι αριθμοί Χρησιμοποιούμε πίνακες και μεγέθους δείκτης σε αντικείμενο του συνόλου που περιέχει το k αριθμός αντικειμένων του συνόλου με αντιπρόσωπο k εύρεση(i) : Ξεκινώντας από το i ακολουθούμε τους δείκτες μέχρι να βρούμε αντικείμενο j τέτοιο ώστε. Επιστρέφουμε τo j. ένωση(i,j) : Εκτελούμε p=εύρεση(i) και q=εύρεση(j). Αν το σύνολο του q έχει περισσότερα αντικείμενα από το σύνολο του p θέτουμε. Διαφορετικά θέτουμε.
15 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» void find(int i) { int j = i; while (j!= parent[j]) j = parent[j]; return j; } void union(int i, int j) { int p = find(i); int q = find(j); if (p == q) return; if (size[q] > size[p]) { parent[p] = q; size[q] += size[p]; } else { parent[q] = p; size[p] += size[q]; } }
16 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
17 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
18 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
19 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
20 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
21 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
22 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
23 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
24 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
25 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
26 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ακολουθία ενώσεων (1,2) (2,3) (1,3) (7,8) (4,6) (4,5) (6,7) (3,6) (5,7) (4,7) δάσος ένωσης-εύρεσης
27 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» Ας θεωρήσουμε την ακολουθία ένωση(1,2), ένωση(3,4), ένωση(5,6), ένωση(7,8)
28 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» Ας θεωρήσουμε την ακολουθία ένωση(1,2), ένωση(3,4), ένωση(5,6), ένωση(7,8) ένωση(1,3), ένωση(5,7)
29 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» Ας θεωρήσουμε την ακολουθία ένωση(1,2), ένωση(3,4), ένωση(5,6), ένωση(7,8) ένωση(1,3), ένωση(5,7) ένωση(1,5)
30 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» Ομοίως, για ένωση(9,10), ένωση(11,12), ένωση(13,14), ένωση(15,16) ένωση(9,11), ένωση(13,15) ένωση(9,13)
31 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» ένωση(1,9)
32 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» 1 ο μέγιστος αριθμός των δεικτών μέχρι τη ρίζα είναι
33 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» Ιδιότητα: Για αντικείμενα, ο αλγόριθμος σταθμισμένης ένωσης δημιουργεί δέντρα με ύψος το πολύ
34 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης» Ιδιότητα: Για αντικείμενα, ο αλγόριθμος σταθμισμένης ένωσης δημιουργεί δέντρα με ύψος το πολύ Απόδειξη: Με επαγωγή. Για ισχύει αφού. Έστω ότι μια πράξη ένωσης συνδυάζει σύνολα Α και Β με μέγεθος A B Ο αριθμός των δεικτών έως τη ρίζα του δέντρου για τα στοιχεία του A είναι
35 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» εύρεση(16)
36 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» Υποθέτουμε ότι τα αντικείμενα μας είναι ακέραιοι αριθμοί Χρησιμοποιούμε πίνακες και μεγέθους δείκτης σε αντικείμενο του συνόλου που περιέχει το k αριθμός αντικειμένων του συνόλου με αντιπρόσωπο k εύρεση(i) : Ξεκινώντας από το i ακολουθούμε τους δείκτες μέχρι να βρούμε αντικείμενο j τέτοιο ώστε. Θέτουμε για κάθε αντικείμενο k που συναντήσαμε στη διαδρομή μέχρι το j. Επιστρέφουμε τo j. ένωση(i,j) : Εκτελούμε p=εύρεση(i) και q=εύρεση(j). Αν το σύνολο του q έχει περισσότερα αντικείμενα από το σύνολο του p θέτουμε. Διαφορετικά θέτουμε.
37 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» Χρόνος χειρότερης περίπτωσης για μία πράξη εύρεσης ή ένωσης = ύψος
38 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» Χρόνος χειρότερης περίπτωσης για μία πράξη εύρεσης ή ένωσης = Αλλά : Συνολικός χρόνος εκτέλεσης m πράξεων εύρεσης-ένωσης = Μέσος χρόνος εκτέλεσης για μία πράξη εύρεσης ή ένωσης = σχεδόν σταθερός χρόνος ανά πράξη
39 Αντισταθμιστική ανάλυση αλγορίθμων Δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» Η συνάρτηση Ackerman ορίζεται ως εξής Η συνάρτηση είναι αντίστροφη της αυξάνει με πάρα πολύ αργό ρυθμό! Π.χ. για
40 Προβλήματα βελτιστοποίησης σε δίκτυα Πολλά σημαντικά προβλήματα μπορούν να μοντελοποιηθούν ως προβλήματα σε δίκτυα (γραφήματα). Παράδειγμα: Ροή δικτύου 10/11 10/19 0/2 8/10 0/5 0/7 4/8 2/3 6/6 6/10
41 Προβλήματα βελτιστοποίησης σε δίκτυα Πολλά σημαντικά προβλήματα μπορούν να μοντελοποιηθούν ως προβλήματα σε δίκτυα (γραφήματα). Επιλογή κοντινότερων ή συντομότερων διαδρομών Μεταφορά υλικών σε οδικό δίκτυο ή δεδομένων σε τηλεπικοινωνιακό δίκτυο Χρονοπρογραμματισμός Κατανομή πόρων Έλεγχος ροής προγραμμάτων και βελτιστοποιήσεις
42 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Χρησιμοποιούν τυχαίες επιλογές με σκοπό να πετύχουν καλή απόδοση στη μέση περίπτωση. Παράδειγμα : Ταξινόμηση quicksort Χρησιμοποιεί την τεχνική του «διαίρει και βασίλευε». Τα στοιχεία του πίνακα αναδιατάσσονται ώστε για κάποιο i να ισχύουν το a[i] είναι στην τελική του θέση a[j] a[i] για j=l,l+1,,i-1 a[j] a[i] για j=i+1,i+1,,r χρόνος χειρότερης περίπτωσης αναμενόμενος χρόνος Η ίδια διαδικασία χρησιμοποιείται για την αριστερή και τη δεξιά υποακολουθία. l r l i r
43 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
44 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
45 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
46 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
47 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
48 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
49 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
50 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
51 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
52 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
53 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
54 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
55 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort
56 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort Χειρότερη περίπτωση: Κάθε κλήση αφαιρεί μόνο ένα στοιχείο. Χρόνος εκτέλεσης:
57 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort Καλύτερη περίπτωση: Η ακολουθία χωρίζεται στη μέση. Χρόνος εκτέλεσης:
58 Τυχαιοποιημένοι αλγόριθμοι (randomized algorithms) Ταξινόμηση quicksort χρόνος επιτυγχάνεται κατά μέσο όρο όταν επιλέγουμε ένα τυχαίο στοιχείο του πίνακα ως στοιχείο διαμέρισης.
59 Άμεσοι αλγόριθμοι (online algorithms) Είναι αλγόριθμοι που πραγματοποιούν υπολογισμούς χωρίς να ξέρουν ολόκληρη την ακολουθία εισόδου εκ των πρότερων.
60 Άμεσοι αλγόριθμοι (online algorithms) Είναι αλγόριθμοι που πραγματοποιούν υπολογισμούς χωρίς να ξέρουν ολόκληρη την ακολουθία εισόδου εκ των πρότερων. Π.χ., αλγόριθμοι διαχείρισης κύριας μνήμης Έχουμε Μ σελίδες αποθηκευμένες στο δίσκο και η κύρια μνήμη μας έχει χωρητικότητα Ν σελίδων, όπου Μ>Ν. Πως αποφασίζουμε ποίες σελίδες αποθηκεύονται στην κύρια μνήμη; Πως ορίζουμε την απόδοση ενός αλγόριθμου;
61 Άμεσοι αλγόριθμοι (online algorithms) Είναι αλγόριθμοι που πραγματοποιούν υπολογισμούς χωρίς να ξέρουν ολόκληρη την ακολουθία εισόδου εκ των πρότερων. Λόγος Ανταγωνιστικότητας Συγκρίνουμε την απόδοση του online αλγόριθμου με την απόδοση του βέλτιστου offline αλγόριθμου. Ο βέλτιστος offline αλγόριθμος γνωρίζει ολόκληρη την ακολουθία εισόδου και επιτυγχάνει την καλύτερη δυνατή απόδοση.
62 Αριθμοθεωρητικοί αλγόριθμοι (number theoretic algorithms) Αλγόριθμος του Ευκλείδη για υπολογισμό του μέγιστου κοινού διαιρέτη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int Euclid(int x, int y) { if y==0 return x; return Euclid(y, x%y); } Ευκλείδης (300 πχ)
63 Αριθμοθεωρητικοί αλγόριθμοι (number theoretic algorithms) Αλγόριθμος του Ευκλείδη για υπολογισμό του μέγιστου κοινού διαιρέτη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int Euclid(int x, int y) { if y==0 return x; return Euclid(y, x%y); } Παράδειγμα Euclid (128,40)= Euclid (40,8)= Euclid (8,0)= 8 Ευκλείδης (300 πχ)
64 Αριθμοθεωρητικοί αλγόριθμοι (number theoretic algorithms) Αλγόριθμος του Ευκλείδη για υπολογισμό του μέγιστου κοινού διαιρέτη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int Euclid(int x, int y) { if y==0 return x; return Euclid(y, x%y); } Ιδιότητα: Αν τότε
65 Αριθμοθεωρητικοί αλγόριθμοι (number theoretic algorithms) Αλγόριθμος του Ευκλείδη για υπολογισμό του μέγιστου κοινού διαιρέτη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int Euclid(int x, int y) { if y==0 return x; return Euclid(y, x%y); } Ιδιότητα: Αν 0 x mod y 0 y τότε x/2 x/2 y x x x mod y
66 Αριθμοθεωρητικοί αλγόριθμοι (number theoretic algorithms) Αλγόριθμος του Ευκλείδη για υπολογισμό του μέγιστου κοινού διαιρέτη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int Euclid(int x, int y) { if y==0 return x; return Euclid(y, x%y); } Ιδιότητα: Αν Απόδειξη: τότε
67 Αριθμοθεωρητικοί αλγόριθμοι (number theoretic algorithms) Αλγόριθμος του Ευκλείδη για υπολογισμό του μέγιστου κοινού διαιρέτη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int Euclid(int x, int y) { if y==0 return x; return Euclid(y, x%y); } Ιδιότητα: Αν χρειάζονται για αριθμούς των τότε αναδρομικές κλήσεις bits
68 Αριθμοθεωρητικοί αλγόριθμοι (number theoretic algorithms) Αριθμητική modulo
69 Αριθμοθεωρητικοί αλγόριθμοι (number theoretic algorithms) Έλεγχος Πρώτευσης Πως μπορούμε να ελέγξουμε αποδοτικά εάν ένας ακέραιος είναι πρώτος; Συνάρτηση κατανομής πρώτων αριθμών πλήθος πρώτων αριθμών Θεώρημα των πρώτων αριθμών Ένας τυχαία επιλεγμένος αριθμός έχει πιθανότητα να είναι πρώτος Απλοϊκός έλεγχος πρώτευσης : Επιχειρούμε να διαιρέσουμε το ακέραιο με κάθε
70 Αριθμοθεωρητικοί αλγόριθμοι (number theoretic algorithms) Έλεγχος Ψευδοπρώτευσης Εάν ο είναι σύνθετος αλλά ικανοποιεί την σχέση τότε ονομάζεται ψευδοπρώτος ως προς βάση Εάν για κάθε είναι πρώτος Γρήγορος έλεγχος : Επιλέγουμε και ελέγχουμε αν υπάρχει (μικρή) πιθανότητα σφάλματος Αν δεν ισχύει δηλώνουμε ότι Διαφορετικά δηλώνουμε ότι σύνθετος πρώτος
71 Δομές δεδομένων και μοντέλα μνήμης Πολλές εφαρμογές καλούνται να διαχειριστούν ένα μεγάλο όγκο δεδομένων που δε χωρά στην κύρια μνήμη ενός υπολογιστή. Σε εφαρμογές αυτού του τύπου χρειαζόμαστε δομές δεδομένων που να διαχειρίζονται αποτελεσματικά την επικοινωνία μεταξύ της (γρήγορης) εσωτερικής μνήμης και της (αργής) εξωτερικής μνήμης.
72 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Πολυωνυμικός χρόνος όπου σταθερά Κλάση πολυπλοκότητας : περιλαμβάνει τα προβλήματα που επιδέχονται λύση σε πολυωνυμικό χρόνο
73 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Υπάρχουν προβλήματα που δεν επιδέχονται λύση σε πολυωνυμικό χρόνο και επομένως δεν ανήκουν στην κλάση Υπάρχει μία κατηγορία σημαντικών προβλημάτων για τα οποία δεν γνωρίζουμε αν επιδέχονται λύση σε πολυωνυμικό χρόνο Υπάρχουν προβλήματα που είναι άλυτα (δεν επιλύονται με κανένα αλγόριθμο π.χ. το HALTING πρόβλημα)
74 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Υπάρχουν προβλήματα που δεν επιδέχονται λύση σε πολυωνυμικό χρόνο και επομένως δεν ανήκουν στην κλάση Υπάρχει μία κατηγορία σημαντικών προβλημάτων για τα οποία δεν γνωρίζουμε αν επιδέχονται λύση σε πολυωνυμικό χρόνο Υπάρχουν προβλήματα που είναι άλυτα (δεν επιλύονται με κανένα αλγόριθμο π.χ. το HALTING πρόβλημα)
75 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Μονοπάτι Hamilton Μας δίνεται γράφημα κάθε κόμβο ακριβώς μία φορά; : υπάρχει μονοπάτι που επισκέπτεται
76 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Μονοπάτι Hamilton Μας δίνεται γράφημα κάθε κόμβο ακριβώς μία φορά; : υπάρχει μονοπάτι που επισκέπτεται
77 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Μονοπάτι Hamilton Μας δίνεται γράφημα κάθε κόμβο ακριβώς μία φορά; : υπάρχει μονοπάτι που επισκέπτεται knight s tour
78 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Βαρύτατο μονοπάτι Μας δίνεται γράφημα με συνάρτηση βάρους, αφετηριακός κόμβος, τερματικός κόμβος και παράμετρος : υπάρχει άκυκλο μονοπάτι από το στο με βάρος ;
79 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Βαρύτατο μονοπάτι Μας δίνεται γράφημα με συνάρτηση βάρους, αφετηριακός κόμβος, τερματικός κόμβος και παράμετρος : υπάρχει άκυκλο μονοπάτι από το στο με βάρος ;
80 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Το πρόβλημα του σακιδίου (knapsack) Μας δίνονται αντικείμενα, όπου το αντικείμενο έχει βάρος και αξία, καθώς και δύο παράμετροι και : μπορούμε να επιλέξουμε αντικείμενα με συνολικό βάρος συνολική αξία ; και
81 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Τα προβλήματα αυτά έχουν μία χαρακτηριστική ιδιότητα: Υπάρχει δραστικός τρόπος να επαληθεύσουμε μία λύση τους
82 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Τα προβλήματα αυτά έχουν μία χαρακτηριστική ιδιότητα: Υπάρχει δραστικός τρόπος να επαληθεύσουμε μία λύση τους Αλγόριθμος επαλήθευσης για ένα πρόβλημα : δέχεται στην είσοδο στιγμιότυπο και υποψήφια λύση και αποφασίζει εάν η λύνει σωστά το
83 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Τα προβλήματα αυτά έχουν μία χαρακτηριστική ιδιότητα: Υπάρχει δραστικός τρόπος να επαληθεύσουμε μία λύση τους Αλγόριθμος επαλήθευσης για ένα πρόβλημα : δέχεται στην είσοδο στιγμιότυπο και υποψήφια λύση και αποφασίζει εάν η λύνει σωστά το Ο αλγόριθμος επαλήθευσης χρόνο ως προς το μέγεθος του είναι δραστικός όταν τρέχει σε πολυωνυμικό
84 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Κλάση πολυπλοκότητας : περιλαμβάνει τα προβλήματα που έχουν πολυωνυμικό αλγόριθμο επίλυσης Κλάση πολυπλοκότητας : περιλαμβάνει τα προβλήματα που έχουν πολυωνυμικό αλγόριθμο επαλήθευσης
85 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Κλάση πολυπλοκότητας : περιλαμβάνει τα προβλήματα που έχουν πολυωνυμικό αλγόριθμο επίλυσης Προφανώς. Είναι όμως Κλάση πολυπλοκότητας : περιλαμβάνει τα προβλήματα που έχουν πολυωνυμικό αλγόριθμο επαλήθευσης
86 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Σε πολλές περιπτώσεις μας ικανοποιεί μια προσεγγιστική λύση Ένας προσεγγιστικός αλγόριθμος υπολογίζει σε πολυωνυμικό χρόνο μία λύση η οποία είναι εγγυημένα «κοντά» στη βέλτιστη λύση
87 NP-δυσχερή προβλήματα και προσεγγιστικοί αλγόριθμοι Σε πολλές περιπτώσεις μας ικανοποιεί μια προσεγγιστική λύση Ένας προσεγγιστικός αλγόριθμος υπολογίζει σε πολυωνυμικό χρόνο μία λύση η οποία είναι εγγυημένα «κοντά» στη βέλτιστη λύση Ένα από τα βασικά εργαλεία Γραμμικός προγραμματισμός Μοντελοποίηση προβλημάτων βελτιστοποίησης με γραμμικές ανισότητες και μεγιστοποίηση γραμμικής συνάρτησης
88 Αξιολόγηση Σετ ασκήσεων - εργασίες. Δίνουν το 50% του τελικού βαθμού. Τελική γραπτή εξέταση. Δίνει το υπόλοιπο 50% του τελικού βαθμού. Πρέπει να έχετε 5 και στα δύο. Πληροφορίες και ανακοινώσεις μέσω της ιστοσελίδας του μαθήματος
89 Βιβλία
Κοντινότεροι Κοινοί Πρόγονοι
Κοντινότεροι Κοινοί Πρόγονοι Μας δίνεται ένα δένδρο Τ με ρίζα και μια λίστα Λ από ζεύγη κόμβων. Θέλουμε να υπολογίσουμε τον κκπ(x,y) για κάθε ζεύγος κόμβων {x,y} της Λ. α β γ Λ = { {ι,ξ}, {τ,θ}, {ο,μ},
Διαβάστε περισσότεραΣυνδετικότητα γραφήματος (graph connectivity)
Συνδετικότητα γραφήματος (graph connectivity) Συνδετικότητα γραφήματος (graph connectivity) Υπάρχει μονοπάτι μεταξύ α και β; α Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές ενός
Διαβάστε περισσότεραΠολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης
Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι
Διαβάστε περισσότεραΑριθμοθεωρητικοί Αλγόριθμοι
Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης
Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Στόχοι Μαθήματος Η σχεδίαση και ανάλυση αλγορίθμων και δομών δεδομένων αποτελεί σημαντικό τμήμα της πληροφορικής.
Διαβάστε περισσότεραΔομές Δεδομένων. Λουκάς Γεωργιάδης.
Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή Δεδομένων: Μέθοδος αποθήκευσης
Διαβάστε περισσότεραΔομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr
Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που
Διαβάστε περισσότεραΠροσεγγιστικοί Αλγόριθμοι
Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)
Διαβάστε περισσότεραviii 20 Δένδρα van Emde Boas 543
Περιεχόμενα Πρόλογος xi I Θεμελιώδεις έννοιες Εισαγωγή 3 1 Ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες 5 1.1 Αλγόριθμοι 5 1.2 Οι αλγόριθμοι σαν τεχνολογία 12 2 Προκαταρκτικές έννοιες και παρατηρήσεις
Διαβάστε περισσότεραΑναδρομικοί Αλγόριθμοι
Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας
Διαβάστε περισσότεραΕιδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων
ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και
Διαβάστε περισσότεραΑνάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική
Διαβάστε περισσότεραΠροσεγγιστικοί Αλγόριθμοι
Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν
Διαβάστε περισσότεραΚεφάλαιο 11 Ένωση Ξένων Συνόλων
Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά
Διαβάστε περισσότεραΕπίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα
Αλγόριθμοι πολυωνυμικού χρόνου Ένας αλγόριθμος πολυωνυμικού χρόνου έχει χρόνο εκτέλεσης όπου είναι μία (θετική) σταθερά Κλάση πολυπλοκότητας : περιλαμβάνει τα προβλήματα που επιδέχονται λύση σε πολυωνυμικό
Διαβάστε περισσότεραΙσορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διαβάστε περισσότεραΜέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες
Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση
Διαβάστε περισσότεραQuicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Quicksort Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 6] Στοιχείο διαχωρισμού (pivot),
Διαβάστε περισσότεραΚεφάλαιο 1 Εισαγωγή. Περιεχόμενα. 1.1 Αλγόριθμοι και Δομές Δεδομένων
Κεφάλαιο 1 Εισαγωγή Περιεχόμενα 1.1 Αλγόριθμοι και Δομές Δεδομένων... 9 1.2 Διατήρηση Διατεταγμένου Συνόλου... 12 1.3 Ολοκληρωμένη Υλοποίηση σε Java... 15 Ασκήσεις... 18 Βιβλιογραφία... 19 1.1 Αλγόριθμοι
Διαβάστε περισσότεραΔιαίρει και Βασίλευε. πρόβλημα μεγέθους Ν. διάσπαση. πρόβλημα μεγέθους k. πρόβλημα μεγέθους Ν-k
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους k πρόβλημα
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 9: Στατιστικά Διάταξης- Στατιστικά σε Μέσο Γραμμικό Χρόνο Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros
Διαβάστε περισσότεραΑλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων
Τεχνικές Σχεδιασμού Αλγορίθμων Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΠανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012
Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012 Ενδεικτικές απαντήσεις 1 ου σετ ασκήσεων. Άσκηση 1 Πραγματοποιήσαμε μια σειρά μετρήσεων του χρόνου εκτέλεσης τριών
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος
Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες
Διαβάστε περισσότεραΔυναμικός Προγραμματισμός
Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές Διωνυμικοί
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΤαξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Στατιστικά Διάταξης. Στατιστικά σε Μέσο Γραμμικό Χρόνο Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Στατιστικά Διάταξης Με τον όρο στατιστικά διάταξης (order statistics) εννοούμε την περίπτωση
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΣχεδίαση & Ανάλυση Αλγορίθμων
Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε
Διαβάστε περισσότεραΑλγοριθμικές Τεχνικές
Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Αλγοριθμικές Τεχνικές 1 Τεχνικές Σχεδιασμού Αλγορίθμων Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και
Διαβάστε περισσότεραΤι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 2
Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2
Διαβάστε περισσότεραΑριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA
Αριθµοθεωρητικοί Αλγόριθµοι και το Κρυπτοσύστηµα RSA Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Υπολογισµός Μέγιστου Κοινού ιαιρέτη Αλγόριθµος του Ευκλείδη Κλάσεις Ισοδυναµίας και Αριθµητική modulo
Διαβάστε περισσότεραΔυναμικός Προγραμματισμός
Τρίγωνο του Pascal Δυναμικός Προγραμματισμός Διωνυμικοί συντελεστές Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο
Διαβάστε περισσότεραΣχεδίαση & Ανάλυση Αλγορίθμων
Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 1 Αλγόριθμοι και Πολυπλοκότητα Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Εισαγωγή Ας ξεκινήσουμε
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2
Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.
Διαβάστε περισσότεραΥπολογιστικό Πρόβληµα
Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1
Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 5) 1 / 17 Απόδοση προγραμμάτων Συχνά χρειάζεται να εκτιμηθεί η απόδοση
Διαβάστε περισσότεραQuicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1
Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες:
Διαβάστε περισσότεραΠανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013
Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013 Λυμένες Ασκήσεις Σετ Α: Ανάλυση Αλγορίθμων Άσκηση 1 Πραγματοποιήσαμε μια σειρά μετρήσεων του
Διαβάστε περισσότεραΠεριεχόμενα. Περιεχόμενα
Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...
Διαβάστε περισσότεραΣτοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Διαβάστε περισσότεραΣτοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Καλογερόπουλος Παναγιώτης
Διαβάστε περισσότεραΔυναμικός Προγραμματισμός
Δυναμικός Προγραμματισμός Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις /προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διωνυμικοί Συντελεστές
Διαβάστε περισσότεραΕπιλογή. Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[ ] με n στοιχεία (όχι ταξινομημένος). Αριθμός k,
Διαβάστε περισσότεραΚατανεμημένα Συστήματα Ι
Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα
Διαβάστε περισσότεραΚεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα αναζήτησης είναι ένα πρόβλημα στο
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 1: Εισαγωγή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραυναμικός Προγραμματισμός
υναμικός Προγραμματισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιωνυμικοί Συντελεστές ιωνυμικοί
Διαβάστε περισσότεραΕισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται
Διαβάστε περισσότεραΕισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη
Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη 0. Εισαγωγή Αντικείμενο μαθήματος: Η θεωρητική μελέτη ανάλυσης των αλγορίθμων. Στόχος: επιδόσεις των επαναληπτικών και αναδρομικών αλγορίθμων.
Διαβάστε περισσότεραΠρογραμματιστικές Τεχνικές
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωμύλος Κορακίτης
Διαβάστε περισσότεραιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας
Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 1 Εισαγωγή 1 / 14 Δομές Δεδομένων και Αλγόριθμοι Δομή Δεδομένων Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων
Διαβάστε περισσότεραΑναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»
Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε
Διαβάστε περισσότεραQuicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Quicksort ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 62] Στοιχείο διαχωρισμού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση
Διαβάστε περισσότεραΔιάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση
Διαβάστε περισσότεραΘεμελιώδη Θέματα Επιστήμης Υπολογιστών
http://www.corelab.ntua.gr/courses/ Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ Ενότητα 0: Εισαγωγή Διδάσκοντες: Στάθης Ζάχος, Άρης Παγουρτζής Υπεύθυνη εργαστηρίου / ασκήσεων: Δώρα Σούλιου
Διαβάστε περισσότεραΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ
Συνεκτικότητα Γραφημάτων 123 ΚΕΦΑΛΑΙΟ 4 ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ 4.1 Τοπική και Ολική Συνεκτικότητα Γραφημάτων 4.2 Συνεκτικότητα Μη-κατευθυνόμενων Γραφημάτων 4.3 Συνεκτικότητα Κατευθυνόμενων Γραφημάτων
Διαβάστε περισσότεραυναμικός Προγραμματισμός
υναμικός Προγραμματισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιωνυμικοί Συντελεστές ιωνυμικοί
Διαβάστε περισσότεραΟυρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης
Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με
Διαβάστε περισσότεραQuicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι
Πρόβλημα Ταξινόμησης Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Είσοδος : ακολουθία n αριθμών (α 1, α 2,..., α n
Διαβάστε περισσότεραΠρόβληµα Επιλογής. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1
Πρόβληµα Επιλογής Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1 Πρόβληµα Επιλογής Πίνακας Α[ Αριθµός k, 1 k n. ] µε n στοιχεία (όχι ταξινοµηµένος). Υπολογισµός του k-οστού µικρότερου στοιχείου (στοιχείο
Διαβάστε περισσότεραΕνότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις
Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του
Διαβάστε περισσότεραQuicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Quicksort ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραγια NP-Δύσκολα Προβλήματα
Προσεγγιστικοί Αλγόριθμοι για NP-Δύσκολα Προβλήματα Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)
Διαβάστε περισσότεραΜορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ
Μαθηματικά Πληροφορικής 2ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.
Διαβάστε περισσότεραΜέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες
Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 2 6 20 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 0 με τις ακόλουθες ιδιότητες 9 7 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής:
Διαβάστε περισσότεραΜορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος
Μορφές αποδείξεων Μαθηματικά Πληροφορικής ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.
Διαβάστε περισσότεραΑντισταθμιστική ανάλυση
Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Παράδειγμα: Θυμηθείτε το πρόβλημα
Διαβάστε περισσότεραΓέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) :
Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος και Γέφυρα του (με αφετηρία τον ) : Ακμή που περιέχεται σε κάθε μονοπάτι από το στο s a b c d e f g h i j k l Μας δίνεται ένα δίκτυο (κατευθυνόμενο
Διαβάστε περισσότεραΠεριεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ
Περιεχόμενα Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23 Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ 1. Επαναληπτικοί αλγόριθμοι: Μέτρα προόδου και αναλλοίωτες συνθήκες.....................................................29
Διαβάστε περισσότεραο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι
Παύλος Εφραιμίδης 1 περιεχόμενα αλγόριθμοι τεχνολογία αλγορίθμων 2 αλγόριθμοι αλγόριθμος: οποιαδήποτε καλά ορισμένη υπολογιστική διαδικασία που δέχεται κάποια τιμή ή κάποιο σύνολο τιμών, και δίνεικάποιατιμήήκάποιοσύνολοτιμώνως
Διαβάστε περισσότεραΚεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,
Κεφάλαιο 4 Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1, 2015-01-19 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Διαίρει και Βασίλευε (Divide-and-Conquer) Διαίρει-και-βασίλευε
Διαβάστε περισσότεραΕισαγωγή στους Αλγορίθμους
Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος
Διαβάστε περισσότεραΙσορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διαβάστε περισσότεραΥπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 10: Αριθμητική υπολοίπων - Κυκλικές ομάδες: Διαιρετότητα - Ευκλείδειος αλγόριθμος - Κατάλοιπα Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΕξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα
Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται
Διαβάστε περισσότεραUnion Find, Λεξικό. Δημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Union Find, Λεξικό Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαχείριση Διαμερίσεων Συνόλου Στοιχεία σύμπαντος διαμερίζονται σε κλάσεις ισοδυναμίας
Διαβάστε περισσότεραΠροσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα
Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια
Διαβάστε περισσότεραΠροσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα
Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αντιμετώπιση NP- υσκολίας Αν P NP, όχι αλγόριθμος
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 9 P vs NP 1 / 13 Δυσκολία επίλυσης υπολογιστικών προβλημάτων Κάποια προβλήματα είναι εύκολα να λυθούν με
Διαβάστε περισσότεραEl Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2
Κρυπτογραφία Εργαστηριακό μάθημα 7 (Αλγόριθμοι Δημοσίου Κλειδιού) α) El Gamal β) Diffie-Hellman αλγόριθμος για την ανταλλαγή συμμετρικού κλειδιού κρυπτογράφησης El Gamal Αλγόριθμος Παράμετροι συστήματος:
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα
Διαβάστε περισσότεραΜορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια)
Μορφές αποδείξεων Μαθηματικά Πληροφορικής 2ο Μάθημα Αρχικός συγγραφέας: Ηλίας Κουτσουπιάς Τροποποιήσεις: Σταύρος Κολλιόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Υπάρχουν πολλά είδη
Διαβάστε περισσότεραΕπιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός k, 1 k n. Υπολογισμός
Διαβάστε περισσότεραΔοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης
Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2
Διαβάστε περισσότεραΑλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα
Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα Διδάσκοντες: E. Ζάχος, Α. Παγουρτζής Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 20: Δυαδικό Δέντρο Αναζήτησης Δυαδικό δέντρο Κάθε κόμβος «γονέας» περιέχει δύο δείκτες που δείχνουν σε δύο κόμβους «παιδιά» του ιδίου τύπου. Αν οι δείκτες προς αυτούς
Διαβάστε περισσότερα