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

Σχετικά έγγραφα
ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

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

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

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

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

Κβαντική Επεξεργασία Πληροφορίας

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

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Θέματα υπολογισμού στον πολιτισμό

Κβαντική Επεξεργασία Πληροφορίας

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

Διοικητική Λογιστική

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

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

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Θέματα υπολογισμού στον πολιτισμό

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Μηχανολογικό Σχέδιο Ι

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

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

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

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Κβαντική Επεξεργασία Πληροφορίας

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

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

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Κβαντική Επεξεργασία Πληροφορίας

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στη Δικτύωση Υπολογιστών

Διδακτική των εικαστικών τεχνών Ενότητα 1

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Φιλοσοφία της Ιστορίας και του Πολιτισμού

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

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

Θέματα υπολογισμού στον πολιτισμό

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Ψηφιακή Επεξεργασία Εικόνων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Βάσεις Περιβαλλοντικών Δεδομένων

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Διοικητική Λογιστική

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

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Αερισμός. Ενότητα 1: Αερισμός και αιμάτωση. Κωνσταντίνος Σπυρόπουλος, Καθηγητής Σχολή Επιστημών Υγείας Τμήμα Ιατρικής

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

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

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

Διδακτική των εικαστικών τεχνών Ενότητα 3

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Τεχνικό Σχέδιο - CAD

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

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

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διαφήμιση και Δημόσιες Σχέσεις Ενότητα 9: Σχέσεις διαφημιστή-διαφημιζόμενου

Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στη Μουσική Τεχνολογία Ενότητα: Ελεγκτές MIDI μηνυμάτων (Midi Controllers)

Έλεγχος Ποιότητας Φαρμάκων

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

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Αρχιτεκτονική και Οπτική Επικοινωνία 1 - Αναπαραστάσεις

Τίτλος Μαθήματος. Ενότητα 1η: Εισαγωγή. Δημήτριος Σκούρας Σχολή Διοίκησης Επιχειρήσεων Τμήμα Οικονομικών Επιστημών

Θέματα υπολογισμού στον πολιτισμό

Γενική Φυσική Ενότητα: Δυναμική Άκαμπτου Σώματος

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διδακτική Πληροφορικής

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

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Γενική Φυσική Ενότητα: Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

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

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Διδακτική των εικαστικών τεχνών Ενότητα 2

Transcript:

Εισαγωγή στους Αλγόριθμους Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

Σκοποί ενότητας Ασυμπτωτική ανάλυση Τίτλος Ενότητας 2

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

Εισαγωγή στους Αλγόριθμους Ασυμπτωτική ανάλυση

Θέματα μελέτης Ορθότητα και απόδοση αλγορίθμων 5

Al Khwarizmi Αλγόριθμοι Το δεκαδικό σύστημα εφευρέθηκε στην Ινδία περίπου το 600 π.χ. και ήταν επανάσταση για τον ποσοτικό λογισμό: χρησιμοποιώντας μόνο 10 σύμβολα, ακόμα και πολύ μεγάλοι αριθμοί μπορούν να γραφτούν με συνοπτικό τρόπο και μπορούν να γίνουν αριθμητικές πράξεις με αυτούς ακολουθώντας στοιχειώδη βήματα Οι ιδέες αυτές άργησαν να εξαπλωθούν λόγω κλασικών εμποδίων όπως η γλώσσα, η απόσταση, η άγνοια 6

Al Khwarizmi Αλγόριθμοι Το πιο αποδοτικό μέσο μετάδοσής τους αποδείχθηκε ένα βιβλίο γραμμένο στα αραβικά τον 9o αιώνα από κάποιον που ζούσε στη Βαγδάτη, ονόματι Al Khwarizmi, ο οποίος παρουσίασε τις βασικές μεθόδους για άθροιση, πολλαπλασιασμό και διαίρεση αριθμών ακόμα και για τον υπολογισμό τετραγωνικών ριζών και ψηφίων του π Οι μέθοδοι ήταν ακριβείς, μηχανικές, αποδοτικές, ορθές με λίγα λόγια ήταν αλγόριθμοι ένας όρος που χρησιμοποιήθηκε για να τιμηθεί αυτός οσημαντικόςάνθρωποςαφότουτοδεκαδικόσύστημαυιοθετήθηκε τελικά στην Ευρώπη πολλούς αιώνες αργότερα 7

Τι είναι το π; Ένας πραγματικός αριθμός που μπορεί να οριστεί ως ο λόγος του μήκους της περιφέρειας ενός κύκλου προς τη διάμετρό του στην Ευκλείδεια γεωμετρία = 3,14159 Ο συμβολισμός προέρχεται από το αρχικό γράμμα πι της λέξης «περιφέρεια» και έχει καθιερωθεί διεθνώς Είναι γνωστό επίσης ως σταθερά του Αρχιμήδη ή αριθμός του Λούντολφ. 8

Ορθότητα και απόδοση αλγορίθμων Υπάρχουν 3 βασικές ερωτήσεις για κάθε αλγόριθμο: 1. Είναι σωστός; 2. Πόσο χρόνο (σα συνάρτηση του πλήθους των δεδομένων εισόδου) χρειάζεται για να εκτελεστεί; Εναλλακτικά, πόσο αποδοτικός είναι; 3. Μπορεί να βελτιωθεί; 9

Ασυμπτωτική ανάλυση Όταν αναλύουμε έναν αλγόριθμο (π.χ., υπολογίζουμε πόσο χρόνο χρειάζεται για να εκτελεστεί για κάθε πιθανή ερώτηση) δεν πρέπει να είμαστε ούτε πολύ πρόχειροι ούτε πολύ ακριβείς Πρέπει να κάνουμε τις αναγκαίες απλοποιήσεις Το να μετράμε το χρόνο εκτέλεσης ενός αλγορίθμου που εκτελείται σε υπολογιστή με βήματα είναι ήδη απλοποίηση Ασυμπτωτική ανάλυση = ανάλυση στο περίπου 10

Απλοποιήσεις Μετράμε το χρόνο εκτέλεσης ενός αλγόριθμου με βασικά βήματα υπολογιστή και τον εκφράζουμε ως συνάρτηση του μεγέθους της εισόδου Αντίναλέμεότιέναςαλγόριθμοςτρέχεισεπ.χ., 5n 3 +4n+3 βήματα για μέγεθος εισόδου n, είναι απλούστερο να παραλείψουμε τους όρους χαμηλής τάξης όπως οι 4n και 3 (οι οποίοι γίνονται ασήμαντοι καθώς μεγαλώνει το n) ακόμα και τη συνιστώσα 5 στοεπικρατήόροκαιναπούμεότιο αλγόριθμος τρέχει σε O(n 3 ) βήματα 11

Συμβολισμός Ο Φανταστείτε ότι f(n) και g(n) είναι οι χρόνοι εκτέλεσης δύο αλγορίθμων για μέγεθος εισόδου n Οι f(n) και g(n) είναι συναρτήσεις από τους θετικούς ακέραιους στους θετικούς πραγματικούς f = O(g) (που σημαίνει ότι η f δε μεγαλώνει γρηγορότερα από τηg) αν υπάρχει σταθερά c > 0 τέτοια ώστε f(n) c g(n) f = O(g) μοιάζει με το f g μετηδιαφοράτηςσταθεράςc 10n = O(n) μπορούμε να παραβλέψουμε τι συμβαίνει για μικρές τιμές του n 12

Συμβολισμός Ο g f f = O(g) 13

Συμβολισμοί Ω και Θ Ακριβές φράγμα (Exact Bound) Άνω φράγμα (Upper Bound) Κάτω φράγμα (Lower Bound) 14

Απλοί κανόνες για ασυμπτωτική ανάλυση Αντί να έχουμε μια πολύπλοκη συνάρτηση της μορφής 3n 2 + 4n + 5, μπορούμε να την αντικαταστήσουμε με O(f(n)), με την f(n) να είναι όσο απλούστερη γίνεται Εδώ θα μπορούσαμε να χρησιμοποιήσουμε O(n 2 ) αφού ο όρος με το τετράγωνο κυριαρχεί όλων των άλλων όρων του αθροίσματος Μερικοί απλοί κανόνες για την απλοποίηση συναρτήσεων μέσω της παράλειψης όρων είναι οι: 1. Πολλαπλασιαστικές σταθερές μπορούν να παραλειφθούν 14n 2 γίνεται n 2 2. n a επικρατεί του n b αν a > b n 2 κυριαρχεί του n 3. Κάθε εκθετικός όρος κυριαρχεί κάθε πολυωνυμικού 3 n κυριαρχεί του n 5 (κυριαρχεί επίσης του 2 n ). 4. Κάθε πολυωνυμικός όρος κυριαρχεί κάθε λογαρίθμου n κυριαρχεί του (log n) 3. Αυτό σημαίνει επίσης ότι ο όρος n 2 κυριαρχεί του όρου n log n. 15

Ασυμπτωτική ανάλυση και πράξη Δεν πρέπει να παρανοηθεί αυτή η «υποτιμητική» μεταχείριση των σταθερών Οι προγραμματιστές και όσοι αναπτύσσουν αλγόριθμους στην πράξη ενδιαφέρονται εξαιρετικά για τις σταθερές και θα κατέβαλαν τρομερή προσπάθεια για να κάνουν έναν αλγόριθμο να τρέξει γρηγορότερα ακόμα και στο μισό χρόνο Αλλά η κατανόηση των αλγορίθμων σε βάθος θα ήταν αδύνατη χωρίς της απλοποίηση που παρέχεται μέσω της ασυμπτωτικής ανάλυσης 16

Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Τίτλος Ενότητας 18

Σημειώματα

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.00. Έχουν προηγηθεί οι κάτωθι εκδόσεις: Τίτλος Ενότητας 20

Σημείωμα Αναφοράς Copyright Πανεπιτήμιο Πατρών, Εύη Παπαϊωάννου. «Εισαγωγή στους Αλγόριθμους. Ασυμπτωτική ανάλυση.». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/culture158/index.php Τίτλος Ενότητας 21

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by nc sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος(π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. Τίτλος Ενότητας 22

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. Τίτλος Ενότητας 23

Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφίες Σχεδιασμός Αλγορίθμων. Jon Kleinberg, Eva Tardos. Επιστημονική επιμέλεια Ελληνικής έκδοσης: Χρήστος Ζαρολιάγκης. Εκδόσεις Κλειδάριθμος, 2009. ISBN: 978 960 461 207 9. Κωδικός Βιβλίου στον Εύδοξο: 13898. Αλγόριθμοι. Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani. Εκδόσεις Κλειδάριθμος, 2009. ISBN 978 960 524 444 6. Κωδικός Βιβλίου στον Εύδοξο: 13583. http://www.wikipedia.org Τίτλος Ενότητας 24