ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ

Σχετικά έγγραφα
Αλγόριθμοι και Πολυπλοκότητα

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

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

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

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

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

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

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

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

Αλγόριθμοι. Μάρθα Σιδέρη. epl333 lect

Εισαγωγικά. 1 η Εβδομάδα. Κάθε Τρίτη (17:00-20:00) και Τετάρτη (13:00 15:00) στην αίθουσα Ι5. 4 ώρες Θεωρία (ΤΡ : 1η-2η ώρα, ΤΕ : 1η-2η ώρα)

Το µάθηµα Αντικείµενο-Περιεχόµενα µαθήµατος Τρόπος ιδασκαλίας Εργαστήριο Βιβλίο, Βιβλιογραφία On-line Υλικό 2

Δομημένος Προγραμματισμός ΙΙΙ - Java

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

οµηµένος Προγραµµατισµός ΙΙΙ - Java Παύλος Εφραιµίδης οµηµένος Προγρ. ΙΙΙ - 1 Java Το Μάθηµα

οµηµένος Προγραµµατισµός ΙΙΙ - Java

Κεφάλαιο 4. Άπληστοι Αλγόριθµοι (Greedy Algorithms) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Δομές Δεδομένων. Ενότητα 2: Περισσότερα για τους δείκτες. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Fast Fourier Transform

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

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

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

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

Δομές Δεδομένων. Ενότητα 3: Διαχείριση μνήμης. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων

Μοντελοποίηση προβληµάτων

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670

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

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

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

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

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

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

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Διοίκησης Επιχειρήσεων. ΠΡΟΓΡΑΜΜΑ eμβα ΚΩΔ. ΤΜΗΜΑ ΤΙΤΛΟΣ ΔΙΕΠ5 ΜΑΘΗΜΑΤΟΣ ΜΑΘΗΜΑΤΟΣ. Credits 6 ΕΞΑΜΗΝΟ 3 ος κύκλος ΟΝΟΜ/ΝΟ ΔΙΔΑΣΚΟΝΤΟΣ

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

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

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

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

Κεφάλαιο 10 Ψηφιακά Λεξικά

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

Τεχνολογίες Υλοποίησης Αλγορίθµων

Προγραμματιστική Εργασία

ιακριτές Μέθοδοι για την Επιστήμη των Υπολογιστών

ΑΝΑΚΟΙΝΩΣΗ ΚΑΤΑΤΑΚΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ ΑΚ. ΈΤΟΥΣ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Προγραμματισμός Ι. Ενότητα 8 : Πίνακες IΙ. Αλέξανδρος Τζάλλας

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

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

Ορισμένες Κατηγορίες Αλγορίθμων

Διάλεξη 01: Δομές Δεδομένων και Αλγόριθμοι - Εισαγωγή

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι

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

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

Κεφάλαιο 2 Ανάλυση Αλγορίθμων

Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 10 : Κατασκευή ΝΠΑ. Αλέξανδρος Τζάλλας

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

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

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

Blum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος

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

Διακριτά Μαθηματικά. Διαλέξεις : Άγγελος Κιαγιάς. Ασκήσεις : Ολγα Φουρτουνέλλη.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 1 : Σύνολα & Σχέσεις (1/2) Αλέξανδρος Τζάλλας

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

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

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

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

Δομές Δεδομένων (Data Structures)

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

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

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

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

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

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

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Διακριτά Μαθηματικά. Άγγελος Κιαγιάς. aggelos. Τμήμα Πληροφορικής & Τηλεπικοινωνιών. π.

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

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

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

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

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

Α2. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες που εκτελεί ένας υπολογιστής (Μονάδες 3)

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

Διάλεξη 01: Δομές Δεδομένων και Αλγόριθμοι Εισαγωγή

ΗΜΥ 325: Επαναληπτικές Μέθοδοι. Διδάσκων: Χρίστος Παναγιώτου

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

Ηλεκτρονικοί Υπολογιστές

Διάλεξη 01 Δομές Δεδομένων και Αλγόριθμοι - Εισαγωγή

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

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

Ανάκτηση Πληροφορίας

ΘΕΜΑ 1 Ο Α1. Δίνονται οι παρακάτω εντολές από ένα τμήμα προγράμματος:

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

Transcript:

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

Ερώτηση Η λέξη αλγόριθμος προέρχεται από Τη λέξη άλγος; Τον Muhamed Ibn Musa Al Khov Warizmi Κανένα από τα 2

Βιβλιογραφία **** [1] Th. H. Cormen, CH. E. Leiserson, R. L. Rivest and C. Stein, Introduction to algorithms, MIT- Press, 1991 (1 er edition), 2001 (2 nd edition), 2009 (3 rd edition) + translation in greek (2007). *** http://mitpress.mit.edu/algorithms/ edu/algorithms/ *** [2] S. Dasgupta, C. H. Papadimitriou & U. V. Vazirani, Algorithms, McGraw-Hill, 2008 *** [3] Jon Kleinberg & Eva Tardos, Algorithm Design, Addison Wesley, 2006 [4] R. Sedgewick, Algorithms in C, Addison Wesley, 2nd ed., 1998. [5] S. S. Skiena, The algorithm design manuel, Springer Verlag, 1998.

Εξέταση 1. Π: Πρόοδος 30% 2. Ε:3Εργασίες3 Εργασίες 20% 50% 3. Γ: Γραπτή εξέταση: 50% Tελικός βαθμός: 0.30Π+0.20Ε+0.50Γ Πληροφορίες www.di.uoa.gr/~vassilis/ Announcements (for student) Αλγόριθμοι και Πολυπλοκότητα Teaching Algorithms and Complexity

Ροές Μαθημάτων Διακριτά μαθηματικά Δομές δεδομένων Αλγόριθμοι & πολυπλοκότητα Θεωρία γράφων Αλγοριθμική επιχειρησιακή έρευνα Συνδυαστική βελτιστοποίηση

Τα προβλήματα NP- complete Προβλήματα αγνώστου κατάστασης P 7019, 5683--39888977 NP

Στόχοι Αποτίμηση της επίδοσης ενός Αλγορίθμου; *** Σύγκριση 2 αλγορίθμων που επιλύουν το ίδιο πρόβλημα; *** Α ά ξ ό λ ύ λ ίθ έ Ανάπτυξη ενός «καλού» αλγορίθμου για ένα πρόβλημα; ***

Η έννοια του αλγορίθμου Γενικά, ένας αλγόριθμος επεξεργάζεται πληροφορίες + ***

Κάθε αλγόριθμος είναι προγραμματίσιμος? πρόγραμμα αλγόριθμος? αλγόριθμος πρόγραμμα Για τη συνέχεια : αλγόριθμος πρόγραμμα

Ψευδογλώσσα Πίνακας με ονόματα σε αλφαβητική σειρά (όπως ο τηλεφωνικός κατάλογος) Αλγόριθμος (αναζητούμενο ζ ύ στοιχείο: : x) repeat Σύ Σύγκριση του αναζητούμενου στοιχείου στοιχείο με το μεσαίο Αν είναι μικρότερο τότε συνεχίζουμε την αναζήτηση στο πρώτο ήμισυ διαφορετικά συνεχίζουμε στο δεύτερο until (x=μεσαίο στοιχείο ή πίνακας κενός)

Απόδοση αλγορίθμου Ένα πρόγραμμα χρήσιμο σε «λογικό» χρόνο «λογικό» χώρο μνήμης Απόδοση αλγορίθμου Πολυπλοκότητα αλγορίθμου χρόνος εκτέλεσης απαιτούμενη ημήμη μνήμη

Τα προβλήματα Πρόβλημα 1 Δεδομένα: n ακέραιοι, a[1], a[2], a[n] Ζητούμενο: Να ταξινομήσουμε τους ακεραίους κατά αύξουσα τάξη. Πρόβλημα 2 Δεδομένα: n αντικείμενα, c[i], w[i] και ένα σακκίδιο χωριτικότητας b Ζητούμενο: Επιλογή των χρησιμότερων αντικειμένων που χωράνε στο b

Η έννοια του στιγμιοτύπου Πρόβλημα 1: n και οι συγκεκριμένοι ακέραιοι Πρόβλημα 2: n, c(i), w(i), b

Η διάσταση του προβλήματος Πρόβλημα 1: n, το πλήθος αριθμών Πρόβλημα 2: n, το πλήθος αντικειμένων Πρόβλημα 3: KxK*** K

Η έννοια της πολυπλοκότητας: Αποτίμηση της αποδοτικότητας του αλγορίθμου σε ΧΡΟΝΟ και ΜΝΗΜΗ Μονάδα μέτρησης ης (ουσιώδης πράξη: σταθερός χρόνος). Συνάρτηση της διάστασης των δεδομένων.

Τρεις τύποι πολυπλοκότητας Πρόβλημα: Δεδομένα: Ένας πίνακας S στοιχείων α 1, α 2,.., α n και ένα στοιχείο x. Ζητούμενο: το στοιχείο x είναι μέσα στο S και αν NAI, σε ποία θέση;

Αναζήτηση (S,x); i:=1; while i n+1 and a i x do i:=i+1; i if i>n then Αναζήτηση απέτυχε else στοιχείο x στη θέση i

Τρεις τύποι πολυπλοκότητας Πολυπλοκότητα στη βέλτιστη των περιπτώσεων Πολυπλοκότητα στη χείριστη των περιπτώσεων Πολυπλοκότητα κατά μέσο όρο

Το σύνολο δεδομένων διάστασης n: D n 1) C βπ (n)=min{κόστος(d), ), dєd n n} πολυπλoκότητα στη βέλτιστη περίπτωση 2) C χπ (n)=max{κόστος(d), dєd n } 3) C μόρο μόρο (n)= dєdn πολυπλoκότητα στη χείριστη περίπτωση n)= p(d) * κόστος(d) όπου p(d) η πιθανότητα το δεδομένο d να είναι είσοδος του Α (πολυπλoκότητα στη μέση περίπτωση)

Παράδειγμα : Αριθμητικό γινόμενο δύο διανυσμάτων n Α=(α i ) και B=(b i ) του R n, A B= α κ b κ k=1

Αριθμητικό Γινόμενο (A, B:vectors) sp:=0; for k=1tondo sp:=sp+(α κ b κ ); Αριθμητικό Γινομενο:=sp