ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι. 3. Πολυπλοκότητα Αλγορίθμων
|
|
- Δαρείος Δοξαράς
- 5 χρόνια πριν
- Προβολές:
Transcript
1 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 3. Πολυπλοκότητα Αλγορίθμων
2 Διάλεξη 3: - Πολυπλοκότητα Αλγορίθμων / Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αλγόριθμοι, Κριτήρια Αξιολόγησης Αλγόριθμων, Γιατί αναλύουμε τους Αλγόριθμους - Εμπειρική Θεωρητική Ανάλυση Αλγορίθμων, Αρχή Σταθερότητας - Εργαλεία εκτίμησης πολυπλοκότητας: οι τάξεις Ο(), Ω(), Θ( ) - Γραφική Απεικόνιση Ο(), Ω(), Θ( ) - Παραδείγματα Ανάλυσης Πολυπλοκότητας - Χρήσιμοι μαθηματικοί ορισμοί - Μαθηματική Επαγωγή ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι
3 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 3 Αλγόριθμοι Αλγόριθμος: είναι μια πεπερασμένη ακολουθία εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, οι οποίες αν ακολουθηθούν επιτυγχάνεται κάποιο επιθυμητό αποτέλεσμα. Προγράμματα: Υλοποίηση αλγορίθμου σε μια γλώσσα προγραμματισμού Ένα σωστό πρόγραμμα δεν είναι αρκετό Τι είναι σημαντικό σε ένα Αλγόριθμο; Ορθότητα: όταν τα δεδομένα εισόδου ικανοποιούν τις αναγκαίες συνθήκες, τότε το πρόγραμμα τερματίζει με το αναμενόμενο αποτέλεσμα. Χρόνος Εκτέλεσης: Ο χρόνος που χρειάζεται το πρόγραμμα για να δημιουργήσει το αναμενόμενο αποτέλεσμα. Απαίτηση στην Μνήμη, Δίκτυο, Μαγνητικό Δίσκο (ανάλογα με την εφαρμογή): Τους υπολογιστικούς πόρους τους οποίους χρειάζεται η εφαρμογή, πέρα από τον επεξεργαστή, για να δημιουργηθεί το αναμενόμενο αποτέλεσμα.
4 Πολυπλοκότητα Αλγορίθμων ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι -4 Υπάρχει ένα σύνολο σωστών αλγορίθμων για κάθε πρόβλημα. Όλοι οι αλγόριθμοι έχουν θεωρητικό ενδιαφέρον. Και πρακτικό ενδιαφέρον όμως παρουσιάζουν αυτοί που είναι αποδοτικοί, δηλαδή αυτοί που ελαχιστοποιούν: - τον χρόνο που εκτελούνται, - τον χώρο που χρησιμοποιούν. Στόχος: η ανάλυση και ο υπολογισμός της πολυπλοκότητας χρόνου και χώρου (tme ad space complexty) των αλγορίθμων και ο έλεγχος αν και πότε ένας αλγόριθμος είναι άριστος (optmal), δηλαδή ο πιο αποδοτικός για το πρόβλημα για το οποίο σχεδιάστηκε.
5 Ανάλυση Αλγορίθμων Θέλουμε να μπορούμε να υπολογίζουμε τον χρόνο εκτέλεσης ενός αλγορίθμου / και να τον βελτιώνουμε, προτού τον τρέξουμε σε κάποια μηχανή. Η σημερινή διάλεξη θα απαντήσει τις ερωτήσεις: Τι είναι η θεωρητική ανάλυση ενός αλγόριθμου; Ποια είναι τα κριτήρια ανάλυσης αλγορίθμων; Πως παριστάνουμε και υπολογίζουμε την απόδοση ενός αλγορίθμου με μαθηματικά εργαλεία; ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 5
6 Ανάλυση Αλγορίθμων Γιατί? Γιατί πρέπει να αναλύσουμε την πολυπλοκότητα ενός αλγορίθμου; Όταν ένα πρόγραμμα πρόκειται να επεξεργαστεί ένα μεγάλο όγκο δεδομένων, πρέπει να βεβαιωθούμε ότι θα τερματίσει σε αποδεκτά χρονικά πλαίσια. Αν ένας αλγόριθμος εύρεσης του πιο φθηνού εισιτηρίου σε ένα ηλεκτρονικό σύστημα αεροπορικών κρατήσεων θέλει μήνες για να εκτελεστεί, τότε το σύστημα δεν είναι χρήσιμο. Η θεωρητική ανάλυση, επιτρέπει σε ένα προγραμματιστή να υπολογίσει με την χρήση μαθηματικών εργαλείων τον αναμενόμενο χρόνο προτού κωδικοποιήσει το πρόγραμμα. Εάν ο αναμενόμενος χρόνος είναι πολύ μεγάλος, τότε θα σχεδιάσει κάποιο βελτιωμένο αλγόριθμο. ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 6
7 Εμπειρική Θεωρητική Ανάλυση Αλγορίθμων Ένας αλγόριθμος μπορεί να μελετηθεί: Εμπειρικά, μετρώντας το χρόνο και χώρο εκτέλεσής του σε συγκεκριμένο υπολογιστή. Μπορούμε να υλοποιήσουμε τον αλγόριθμο και να μετρήσουμε τον χρόνο με βιβλιοθήκες όπως την <tme.h> Θεωρητικά, μπορούμε να υπολογίσουμε το χρόνο και το χώρο που απαιτεί ο αλγόριθμος σαν συνάρτηση του μεγέθους των εξεταζομένων στιγμιότυπων. Τυπικά, μέγεθος ενός στιγμιότυπου αντιστοιχεί στο μέγεθος της μνήμης που απαιτείται για αποθήκευση του στιγμιότυπου στον υπολογιστή. Για απλούστευση της ανάλυσης θα μετρούμε το μέγεθος ως τον ακέραιο (ή τους ακέραιους) που αντιστοιχούν στο πλήθος των ποσοτήτων του στιγμιοτύπου. π.χ. Πρόβλημα: ταξινόμηση λίστας. Στιγμιότυπο: λίστα με στοιχεία. Μέγεθος: ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 7
8 Εμπειρική Θεωρητική Ανάλυση Αλγορίθμων Θεωρητική Ανάλυση Vs. Εμπειρική Ανάλυση Η θεωρητική ανάλυση: 1. δεν εξαρτάται από το υλικό του Η/Υ (μνήμη, cache, κλπ.). δεν εξαρτάται από τη γλώσσα προγραμματισμού ή το μεταφραστή 3. δεν εξαρτάται από τις ικανότητες του προγραμματιστή. 4. δεν απαιτεί την υλοποίηση του αλγόριθμου προτού την δοκιμή! 5. είναι ΓΕΝΙΚΗ ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 8
9 Θεωρητική Ανάλυση Αλγορίθμων Κάνουμε χρήση μιας υψηλού επιπέδου περιγραφής του αλγόριθμου και όχι της υλοποίησης του δηλαδή χρήση Ψευδοκώδικα. Θα χαρακτηρίσουμε τον χρόνο εκτέλεσης του αλγόριθμου σαν συνάρτηση του μεγέθους των δεδομένων, N Η ανάλυση μας θα λάβει υπόψη όλες τις δυνατές εισόδους. π.χ. βρείτε τον αριθμό 5 σε ένα πίνακα ακέραιων. - Στην καλύτερη περίπτωση: το βρίσκουμε στην πρώτη θέση - Στην χειρότερη περίπτωση: δεν τον βρίσκουμε καθόλου Επομένως, ένας αλγόριθμος μπορεί να εκτελείται γρηγορότερα σε συγκεκριμένα σύνολα δεδομένων από ότι σε κάποια άλλα. Η εύρεση της μέσης περίπτωσης είναι συνήθως δύσκολη, για αυτό οι αλγόριθμοι μετριούνται με βάση την χειρότερη περίπτωση. Σε συγκεκριμένα πεδία (ar traffc cotrol, συστήματα πραγματικού χρόνου, κτλ), η γνώση της χειρότερης περίπτωσης είναι πολύ σημαντική ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 9
10 Παράδειγμα Ανάλυσης 1 Υποθέστε ότι θέλετε να βρείτε το μεγαλύτερο στοιχείο σε μια λίστα θετικών ακεραίων. t largest( t X[], t ){ } t curret, ; whle ( < ){ } f ( X[] > curret){ } curret X[]; // σημείωσε τον μεγαλύτερο 1; retur curret; Μέγεθος δεδομένων εισόδου: Στόχος: υπολογισμός του αριθμού βασικών πράξεων Χειρότερη Περίπτωση: εξέταση όλων των στοιχείων t() Βέλτιστη Περίπτωση: εξέταση όλων των στοιχείων t() ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 1
11 Παράδειγμα Ανάλυσης Αν ήταν ταξινομημένη η λίστα (σε αύξουσα σειρά) τότε το μεγαλύτερο στοιχείο μπορεί να βρεθεί σε σταθερό χρόνο (δηλαδή πάντα το τελευταίο στοιχείο). t largest( t X[], t ){ f (<) retur -1; // error; retur X[-1]; } Μέγεθος δεδομένων εισόδου: Χειρότερη Περίπτωση: εξέταση τελευταίου στοιχείου t() 1 Βέλτιστη Περίπτωση: εξέταση τελευταίου στοιχείου t() 1 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 11
12 Μονάδα Σύγκρισης της Αποδοτικότητας Η αρχή της σταθερότητας Δύο διαφορετικές υλοποιήσεις του ίδιου αλγορίθμου (σε διαφορετικές μηχανές ή σε διαφορετικές γλώσσες ή από διαφορετικούς προγραμματιστές) δεν διαφέρουν στο χρόνο εκτέλεσής τους περισσότερο από κάποιο σταθερό πολλαπλάσιο. δηλ. αν E 1 είναι o χρόνος εκτέλεσης της μίας υλοποίησης και E της άλλης, τότε ισχύει E 1 c E για κάποια σταθερά c. Για παράδειγμα έχουμε ένα πρόγραμμα το οποίο ταξινομεί ένα πίνακα μεγέθους Ν, στον υπολογιστή PC του σπιτιού μας σε χρόνο Ε1 και σε ένα ΙΒΜ Βlue Gee σε χρόνο Ε. Παρατηρούμε ότι ισχύει : Ε1 1,, * Ε Η σταθερά c1,, δεν εξαρτάται από το Ν αλλά από το περιβάλλον εκτέλεσης (μεταγλωττιστής, υλικό, λειτουργικό σύστημα, κτλ). Επομένως εάν αυξηθεί το Ν, τότε και πάλι θα εκτελείται 1,, πιο αργά στο PC μας ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 1
13 Σύγκριση Πολυπλοκότητας Αλγορίθμων Για την αξιολόγηση των διαφόρων αλγορίθμων χρησιμοποιούνται διάφορα μεγέθη. : μέγεθος του προβλήματος T(): Ο χρόνος εκτέλεσης T() Σύγκριση Πολυπλοκοτήτων t() Περιγραφή 1 (ένα) Σταθερός (costat) 3 c, log Γραμμικός (lear) Πολυωνυμικός (polyomal) Τετραγωνικός δευτεροβάθμιος (quadratc), π.χ., Shortest Path Djstra Κυβικός - τριτοβάθμιος (cubc), π.χ., All- Par-Shortest Path Floyd-Warshall Εκθετικός (expoetal) Λογαριθμικός (logarthmc) O(lg ) O() O( ) O( 3 ) O( ) ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 13
14 Ρυθμός Αύξησης μιας Συνάρτησης Ο ρυθμός αύξησης μιας συνάρτησης είναι σημαντικός όταν ο αριθμός των δεδομένων εισόδου N, είναι σημαντικά μεγάλος. Για 4 16 και 16 Για 1 1.6*1 3 και 1, Itel 9-895HK ~ 1 1 Istructos / secod (basc operatos) Θα ήθελε ~ αιώνες να τελειώσει για 1 Εάν ένας αλγόριθμος εκτελείται σε και μια άλλη έκδοση πράξεις τότε για μικρές τιμές θα έχουν παρόμοιο χρόνο εκτέλεσης. Για μεγάλες τιμές αυτό βέβαια δεν ισχύει! ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 14
15 Ρυθμός Αύξησης μιας Συνάρτησης (συν.) ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 15 O() Log 1.6 secod.7 secod.8 secod.9 secod.1 secod.15 secod.18 secod.6 secod.1 Secod.18 secod.3 secod.6 secod.3 secod.6 secod.6 secod.4 secod.54 secod.15 secod.6 secod 1.6 secods 6. secods 3.6 secod.48 secod.16 secod.75 secod 6. secods 1.5 mutes 1.66 ΩΡΕΣ 4.6 secod.96 secod 4.86 secod 37.5 secod 1. mutes 4.34 ΗΜΕΡΕΣ.3 ΜΗΝΕΣ 5.6 secod 19. secods.43 mutes 31.5 mutes ΩΡΕΣ 6. ΧΡΟΝΙΑ ΑΙΩΝΕΣ.5 secod 5. secods 1.5 ΩΡΕΣ ΑΙΩΝΕΣ ΑΙΩΝΕΣ ΧΙΛ/ΔΕΣ ΑΙΩΝΕΣ ΧΙΛ/ΔΕΣ ΑΙΩΝΕΣ 3.3 secod 4.8 ΩΡΕΣ 3.1 ΧΡΟΝΙΑ ΧΙΛ/ΔΕΣ ΑΙΩΝΕΣ ΧΙΛ/ΔΕΣ ΑΙΩΝΕΣ ΗΛΙΚΙΑ ΓΗΣ ΗΛΙΚΙΑ ΓΑΛΑΞΙΑ!.36 mutes 1.5 ΩΡΕΣ ΑΙΩΝΕΣ ΧΙΛ/ΔΕΣ ΑΙΩΝΕΣ ΗΛΙΚΙΑ ΗΛΙΟΥ ΗΛΙΚΙΑ ΓΑΛΑΞΙΑ Μέγεθος Προβ/τος Προβλήματα Μικρού Μεγέθους Προβλήματα Μεσαίου Μεγέθους Προβλήματα Μεγάλου Μεγέθους
16 Εκθετικοί Αλγόριθμοι Number of partcles the Observable Uverse (quars, electros, ): ~3.8 x 1 8 Εκθετικοί αλγόριθμοι ΌΧΙ, No, Ne,,,לא Khôg, 没有, нет as much as possble ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 16
17 Σύγκριση Πολυπλοκότητας Αλγορίθμων Μόνο για πολύ μικρά Ν Προσπαθούμε να τους αποφεύγουμε log-log plot 51T Ο στόχος μας τις περισσότερες φορές 64T 8T 4T T T logarthmc costat Ιδανικοί! 1K K 4K 8K 51K sze Typcal orders of growth ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 17
18 Ρυθμός Αύξησης μιας Συνάρτησης (συν.) Σημειώστε ότι η τιμή μιας συνάρτηση, καθορίζεται κυρίως από τον μεγαλύτερο όρο για μεγάλες τιμές του. Π.χ. Ένας αλγόριθμος μας θέλει f() χρόνο για να ολοκληρώσει: f() 1* 3 4* 8 Για 1 f() 1,1,4,8 Χρησιμοποιώντας μόνο τον πιο μεγάλο όρο 1* 3 1,,, θα μπορούσαμε να υπολογίσουμε τον χρόνο εκτέλεσης του προγράμματος με 99.99% ακρίβεια! Επομένως τα 4* 8 είναι αχρείαστα στην ανάλυση μας ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 18
19 Τυπικός κώδικας για ρυθμούς αύξησης *Slde from: Sedgewc ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 19
20 Προβλήματα που μπορούμε να λύσουμε *Slde from: Sedgewc ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι Χρειαζόμαστε αλγόριθμους log N ή N log N για να μπορέσουμε να ακολουθήσουμε το νόμο του Moore
21 Μοντέλο Υπολογισμού της ανάλυσης μας Υπολογιστής που εκτελεί οδηγίες διαδοχικά (όχι παράλληλες μηχανές). Βασική πράξη θεωρούμε ότι είναι οποιαδήποτε πράξη της οποίας ο χρόνος εκτέλεσης είναι φραγμένος από κάποια σταθερά (δηλ. c, για κάποια σταθερά c). Π.χ., μαθηματικές πράξεις (πρόσθεση, αφαίρεση ), σύγκριση, καταχώρηση μεταβλητής, επιστροφή αποτελέσματος. Συνεπώς ο χρόνος εκτέλεσης μιας βασικής πράξης μπορεί να προσδιοριστεί ανεξάρτητα από το στιγμιότυπο (πχ 13 ή 13 θέλουν τον ίδιο ακριβώς χρόνο εκτέλεσης). Επειδή ορίζουμε το χρόνο εκτέλεσης ενός αλγορίθμου με την έννοια του σταθερού πολλαπλασίου c, για την ανάλυση θα χρειαστούμε μόνο τον αριθμό των βασικών πράξεων που εκτελούνται από ένα αλγόριθμο και όχι τον ακριβή χρόνο που απαιτούν η κάθε μια. Άρα για τον υπολογισμό του χρόνου εκτέλεσης ενός αλγόριθμου απλά μετρούμε τον αριθμό των βασικών πράξεων που εκτελεί. ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 1
22 Ασυμπτωτική Προσέγγιση: Bg-O Μας επιτρέπει να υπολογίσουμε τον ρυθμό αύξησης μιας συνάρτησης χωρίς να ανησυχούμε για: a) σταθερά πολλαπλάσια (c) ή b) για μικρότερους όρους, οι οποίοι έτσι και αλλιώς δεν επηρεάζουν τον χρόνο εκτέλεσης ενός προγράμματος. Επομένως δεν έχουμε να ανησυχούμε για το υλικό, μεταγλωττιστή, κτλ. με τα οποία θα εκτελεστεί ο αλγόριθμος μας. Η προσέγγιση Bg-O, μας επιτρέπει να ορίσουμε μια σχετική σειρά στις συναρτήσεις συγκρίνοντας τους επικρατέστερους όρους. π.χ. ένας αλγόριθμος θέλει f() πράξεις ενώ ένας άλλος θέλει g() 3 πράξεις τότε ξέρουμε ότι o πρώτος εκτελείται πιο γρήγορα για μεγάλες τιμές του ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι
23 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 3 Εργαλεία Εκτίμησης Πολυπλοκότητας Ορισμός: Θεωρούμε συνάρτηση Τ(). Ορίζουμε f()μπορεί να είναι οποιαδήποτε συνάρτηση >,, log 1. Τ() Ο( f () ), αν υπάρχουν σταθερές c> και 1 ώστε Τ() cf(), για κάθε.. Τ() Ω( f() ), αν υπάρχουν σταθερές c> και 1 ώστε Τ()cf(), για κάθε. 3. Τ() Θ( f() ), αν Τ()Ο(f()) και Τ()Ω(f()). Αν Τ()Ο(f ()), τότε λέμε πως η συνάρτηση Τ είναι της τάξεως f(). Αν Τ() Ω(f ()), τότε λέμε πως η Τ είναι της τάξεως ωμέγα της f (). Αν Τ() Θ(f ()), τότε λέμε πως η Τ είναι της τάξεως θήτα της f (). (λέγεται και ακριβής τάξη)
24 Γραφική Απεικόνιση Βg-O ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4 1 H συνάρτηση f(x) είναι O(g(x)) Δηλαδή υπάρχουν σταθερές c> και 1 ώστε: f() cg(), για κάθε. H συνάρτηση x x1 είναι Ο(x )
25 Γραφική Απεικόνιση Βg-Ω και Bg-Θ ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 5 H συνάρτηση f() ε Ω(g()) Δηλαδή υπάρχουν σταθερές c> και 1 ώστε: f()cg(), για κάθε. H συνάρτηση f() ε Θ(g()) Δηλαδή υπάρχουν σταθερές c >,c > και 1 ώστε: c.g() f() c.g(), για κάθε.
26 Παραδείγματα Βg-O Παράδειγμα είναι Ο() Τεκμηρίωση Πρέπει να δείξουμε ότι υπάρχει c>, o 1 έτσι ώστε: 7-3 c*, Για c7, o 1 η παραπάνω ανισότητα ικανοποιείται, επομένως 7-3 είναι Ο() π.χ., 7*1-3 7*1 (4 7) 7*-3 7* (11 14) 7*3-3 7*3 (18 1) κοκ ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 6
27 Παραδείγματα Βg-O Παράδειγμα 3 1log5 είναι Ο( 3 ) ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 7 Τεκμηρίωση Πρέπει να δείξουμε ότι υπάρχει c>, o 1 έτσι ώστε 3 1log5 c* 3 3 1log (>1) Για c35, o 1 η παραπάνω ανισότητα ικανοποιείται, επομένως 3 1log5 είναι Ο( 3 )
28 Ιδιότητες Bg-O Στις περισσότερες περιπτώσεις μας ενδιαφέρει μόνο το άνω φράγμα (χείριστη περίπτωση εκτέλεσης ενός αλγορίθμου), δηλαδή το O. Η συνάρτηση O έχει τις ακόλουθες ιδιότητες: 1. O(XY) O(X) O(Y) max (O(X),O(Y)). O(X*Y) O(X)*O(Y) O(X * Y) 3. O(c * X) O(X) (c σταθερά > ) Ισχύει η ακόλουθη σειρά 1< log< < log< < 3 < <!< < είναι ασυμπτωτικά μικρότερο Παράδειγμα Έστω ότι ένας αλγόριθμος έχει την ακόλουθη συνάρτηση αύξησης f() 16 log 3 7 Τότε απλοποιούμε την συνάρτηση αύξησης ως εξής 16 log (διαγράφουμε τις μικρότερες τιμές του Κανόνας 1) log (διαγράφουμε τις σταθερές Κανόνας 3) δηλαδή f() Ο( log) ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 8
29 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 9 Παραδείγματα Ιδιοτήτων Bg-O Παραδείγματα: 15 3 Ο() *( 7 ) Ο( 7 ) 134 Ο(1) ( 7 )*m Ο( 7 m ) 5 O( ) 5lg 4 Ο(lg) Προφανώς, κατά την ανάλυση αλγορίθμων στόχος μας είναι αυτά τα όρια να είναι όσο το δυνατό πιο ακριβή. Εάν 7-4 είναι Ο(), τότε προφανώς 7-4 είναι Ο( ), Ο( 3 ), Ο( 4 ),. Ωστόσο, οι χαρακτηρισμοί bg-o πρέπει να είναι όσο το δυνατό πιο μικρής τάξης. (δηλαδή το Ο() είναι το πιο στενό άνω όριο).
30 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 3 Ασυμπτωματική Ανάλυση Ασυμπτωματικά Μικρότερο (Asymptotcally Smaller) < σημαίνει: είναι ασυμπτωματικά μικρότερο. Έστω ότι q() και p(), δυο μη-αρνητικές συναρτήσεις. q( ) Το q() < p(), εάν ισχύει: lm - p( ) To p() ασυμπτωματικά επικρατεί (domates) το q(). Παράδειγμα 1: Αποδείξτε ότι ισχύει 17< 3 6 lm
31 Κανόνες L Hobtal ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 31
32 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 3 Ασυμπτωματική Ανάλυση (συν.) Παράδειγμα : Αποδείξτε ότι ισχύει < e lm - e e Με χρήση κανόνων de L'Hôptal e Παράδειγμα 3: Αποδείξτε ότι ισχύει l < (llog e ) 1 l 1 lm 1 - Με χρήση κανόνων de L'Hôptal
33 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 33 Παράδειγμα Ανάλυσης Υποθέστε ότι θέλετε να βρείτε την θέση κάποιου στοιχείου K σε μια λίστα Χ[] (μήκους ). t dex( t X[],t,t ){ 1 t ; whle ( < ) { 3 f (X[]) // tem foud 4 retur ; 5 1; } 6 retur error; } Μέγεθος δεδομένων εισόδου: Χειρότερη Περίπτωση: εξέταση όλων των στοιχείων (π.χ. ψάχνουμε το 5) t() > O() Βέλτιστη Περίπτωση: το στοιχείο βρίσκετε στην θέση 1 (π.χ. ψάχνουμε το 3) t() 1 > Ω(1) Άρα εκτός από το μέγεθος εισόδου και το ίδιο το στιγμιότυπο εισόδου παίζει κάποιο σημαντικό ρόλο στην ανάλυση κάποιου αλγορίθμου (ή συνάρτησης) Χ 7? > θέση
34 Ανάλυση Χειρίστης Περίπτωσης Στις περισσότερες περιπτώσεις, μας ενδιαφέρει η ανάλυση χείριστης περίπτωσης, επειδή μας δίδει ένα άνω φράγμα στον χρόνο εκτέλεσης ενός αλγόριθμου. Αν D είναι το σύνολο όλων των εισόδων (στιγμιότυπων*) μεγέθους, και t(i) ο αριθμός βασικών πράξεων που εκτελούνται από τον αλγόριθμο για κάθε ID τότε ορίζουμε την : Πολυπλοκότητα Χειρίστης Περίπτωσης: W() max {t(i) I D } Δηλαδή, ο ορισμός δίνει ένα άνω φράγμα (upper boud) της πολυπλοκότητας του αλγορίθμου. * D { {3,1,7,,9,5}, {1,3,7,,9,5},., (6!7 διατάξεις) } ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 34
35 Ανάλυση Μέσης Περίπτωσης Υποθέτουμε πως μπορούμε να αντιστοιχίσουμε μια πιθανότητα p(i) σε κάθε είσοδο ID. Ορίζουμε την πολυπλοκότητα Μέσης Περίπτωσης ως A σ D p(i). t(i) Παράδειγμα: Ψάχνουμε το 3 σε μια λίστα (6 αριθμών) To 3 μπορεί να βρίσκεται σε μια από τις πιο κάτω θέσεις: Ι 1 {3,x,x,x,x,x} Ι {x,3,x,x,x,x} Ι 3 {x,x,3,x,x,x} Ι 4 {x,x,x,3,x,x} Ι 5 {x,x,x,x,3,x} Ι 6 {x,x,x,x,x,3} Υποθέτουμε ότι και οι 6 καταστάσεις έχουν πιθανότητα εμφάνισης p(i)1/ Πολυπλοκότητα Μέσης Περίπτωσης 1/ * (1 πράξη) 1/ * ( πράξεις) 1/ * (3 πράξεις) 1/ * (4 πράξεις) 1/ * (5 πράξεις) 1/ * (6 πράξεις) A 1 σ D 1 ((1) ) 1 t(i): αριθ. βασικών πράξεων p(i): Πιθανότητα εμφάνισης στιγμιοτύπου ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 35
36 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 36 Παράδειγμα 1: Υπολογισμός Χρόνου Εκτέλεσης Υποθέστε ότι ένα πρόβλημα επιλύνεται με τον πιο κάτω κώδικα: t ; for (; <; ) ; // Ανάλυση ; // H βασική πράξη η οποία χρειάζεται Ο(1) χρόνο Ο αλγόριθμος εκτελεί την βασική πράξη φορές 1 O αλγόριθμος έχει πολυπλοκότητα της τάξης O() Στην βέλτιστη περίπτωση χρειάζεται Ω() > O() & Ω() > Θ()
37 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 37 Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Ορισμός 1: log x a b ff x b a Χρήσιμοι νόμοι λογάριθμων: log ab log a log b log a b b. log a log ab log a log b log a b (log c b) (log c a) b log b x x log a a 1 log (log ) log * log log log log xlog log 1 (commo), log e (l - atural), log (lg - bary) π.χ., log 1 log 1 log δεν ορίζεται Ορισμός : π.χ., x max{ a a x,t( a)} x m{ a a x,t( a)} (floor) (celg) 5.7 6,
38 Ακολουθίες και Αθροίσματα ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι * log 1 log log Το οποίο προκύπτει αλλιώς ως: Άθροισμα Γεωμετρικής Προόδου /4 / ) 1)( ( 1) ( log a a a
39 Μαθηματική Επαγωγή Στόχος Να αποδειχθεί ότι η (μαθηματική) πρόταση Π() ισχύει για κάθε. Μέθοδος 1. Επαληθεύουμε πως η Π ισχύει για,. Υποθέτουμε πως η Π ισχύει για και 3. Αποδεικνύουμε πως η Π ισχύει για 1. Παραλλαγές Αντί του, σε ορισμένες περιπτώσεις ενδιαφερόμαστε για a, όπου το a είναι κάποιος ακέραιος. Στο δεύτερο βήμα: Υποθέτουμε πως η Π ισχύει για και αποδεικνύουμε πως η Π ισχύει για 1. ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 39
40 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4 Λογική πίσω από την Μαθηματική Επαγωγή Έστω ότι κάποιος ισχυρίζεται ότι ο ακόλουθος τύπος ισχύει πάντα Καλούμαστε να αποδείξουμε (δηλαδή να δείξουμε ότι για κάθε τιμή του Χ ισχύει) η να το διαψεύσουμε (ότι δηλ., υπάρχει κάποια τιμή του που κάνει αναληθή τον ισχυρισμό. Δοκιμή για 1 : (1*)/ 1 το οποίο είναι το ίδιο με το 1! Δοκιμή για : (*3)/ 3 το οποίο είναι το ίδιο με το 1! Δοκιμή για 3 : (3*4)/ 6 το οποίο είναι το ίδιο με το 13! Δοκιμή για 4 : (4*5)/ 1 το οποίο είναι το ίδιο με το 134!. ( 1) Ας υποθέσουμε ότι ισχύει και για Μπορούμε να δείξουμε ότι ισχύει και για 1 με βάσει την προηγούμενη υπόθεση; Εάν ναι τότε το έχουμε αποδείξει. Εάν όχι τότε δεν το έχουμε διαψεύσει, απλά δεν έχουμε βρει την απάντηση!
41 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 41 Παράδειγμα 1 Τυπική Απόδειξη Να αποδείξετε ότι. Απόδειξη: Θα αποδείξουμε με τη μέθοδο της μαθηματικής επαγωγής την πρόταση Π() ( 1) ( 1) 1. Επαληθεύουμε την Π() ως εξής: ( 1). Υποθέτουμε ότι ισχύει η Π(), δηλαδή ότι ( 1) 3. Και θα αποδείξουμε ότι ισχύει η Π(1): Επαγωγική υπόθεση 1 ( 1) ( 1) ( ( 1) 1) ( ( 1) 1)( )
42 Παράδειγμα Τυπική Απόδειξη Να αποδείξετε ότι Απόδειξη: Θα αποδείξουμε με τη μέθοδο της μαθηματικής επαγωγής την πρόταση Π() 1. Επαληθεύουμε την Π() ως εξής:. Υποθέτουμε ότι ισχύει η Π(), δηλαδή ότι 3. Και θα αποδείξουμε ότι ισχύει η Π(1): ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι ( 1) 3 4 ( 1) 4 1) ( ( 1) 4 1) 1) (( 1) ( 4 ) ( 1) ( 4 4) 4 ( 1) ( 4 1)) ( 4 ( 1) ( 4 1)) ( 4 ( 1) ( 4 1) ( 4 1) ( 1) ( 4 1) ( 1) ( ) 1) (( 1) ( 1 3
43 ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 43 Παράδειγμα 3 Τυπική Απόδειξη Να αποδείξετε ότι για >7. Απόδειξη: 3! Θα αποδείξουμε με τη μέθοδο της μαθηματικής επαγωγής την πρόταση Π() 3! για > ! 1. Επαληθεύουμε την Π(7) ως εξής:. 54. Υποθέτουμε ότι ισχύει η Π(), δηλαδή ότι 3!. 3. Και θα αποδείξουμε ότι ισχύει η Π(1): 3 1 ( 1)! ! ( 1).! ( 1)! [Επαγωγική υπόθεση] [Για >7 ισχύει πάντα (1>3)] [Το οποίο είναι το ζητούμενο]
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη - Πολυπλοκότητα Αλγορίθμων / Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αλγόριθμοι, Κριτήρια Αξιολόγησης Αλγόριθμων, Γιατί αναλύουμε τους Αλγορίθμων
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη -5: -Πολυπλοκότητα Αλγορίθμων / Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Αλγόριθμοι, Κριτήρια Αξιολόγησης Αλγόριθμων, Γιατί αναλύουμε τους
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: -Πολυπλοκότητα Αλγορίθμων / Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Αλγόριθμοι, Κριτήρια Αξιολόγησης Αλγόριθμων, Γιατί αναλύουμε τους
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(), Ω(), Θ( ) Ανάλυση Πολυπλοκότητας Αλγορίθµων
Διαβάστε περισσότεραΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων
ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα
Διαβάστε περισσότεραΚεφάλαιο 5 Ανάλυση Αλγορίθμων
Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΑ Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;
5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου
Διαβάστε περισσότεραΔιακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018
Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018 Αλγόριθμοι Ρυθμός αύξησης συναρτήσεων [Rosen 3.2] Αριθμητικές συναρτήσεις Τάξη αριθμητικών συναρτήσεων
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 04: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική
Διαβάστε περισσότεραΚατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ 1 Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 009 Κατ οίκον Εργασία 1 Σκελετοί Λύσεων Άσκηση 1 Αρχικά θα πρέπει να υπολογίσουμε τον αριθμό των πράξεων που μπορεί να εκτελέσει ο υπολογιστής σε μια ώρα,
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 6) 1 / 20 Ρυθμοί αύξησης Γραμμικός ρυθμός αύξησης: n, 2n, Πολυωνυμικός
Διαβάστε περισσότεραΔιάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.
Διάλεξη 7: Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. ΑΠΟΡΙΕΣ ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι
Φροντιστήριο: Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Μαθηματική Επαγωγή Να αποδείξετε ότι 1 3 5... (2 1) 2 για >0. Απόδειξη: Επαληθεύουμε
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Παναγιώτης Ανδρέου
Διάλεξη Ε3: Επανάληψη Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Παναγιώτης Ανδρέου Ε3- Είναι ισοδύναμα; typedef struct ode { t data; struct ode *ext; NODE; A. NODE ;
Διαβάστε περισσότεραΑν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;
Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Πως θα υπολογίσουμε το χρόνο εκτέλεσης ενός αλγόριθμου; Για να απαντήσουμε
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν
Διαβάστε περισσότεραΟρισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:
Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C
Διαβάστε περισσότεραΔομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 6: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική
Διαβάστε περισσότεραΑνάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική
Διαβάστε περισσότεραΠολυπλοκότητα Αλγορίθµων
Πολυπλοκότητα Αλγορίθµων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εµπειρική Θεωρητική Ανάλυση Αλγορίθµων Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις
Διαβάστε περισσότεραΑλγόριθμοι. Μάρθα Σιδέρη. ιαδικαστικά: ύο πρόοδοι 31 Μαρτίου, 18 Μαΐου 7-9μμ 20% η μία, ύο Προγραμματιστικές 1 προσθετικό βαθμό η μία.
Αλγόριθμοι Μάρθα Σιδέρη epl333 lect 011 1 ιαδικαστικά: ύο πρόοδοι 31 Μαρτίου, 18 Μαΐου 7-9μμ 0% η μία, ύο Προγραμματιστικές 1 προσθετικό βαθμό η μία. Οι πρόοδοι είναι προαιρετικές και το ποσοστό μετράει
Διαβάστε περισσότεραΔομές Δεδομένων Ενότητα 2
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Θέματα Απόδοσης Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ
ΑΛΓΟΡΙΘΜΟΙ http://elss.ueb.gr/ourses/inf6/ Άνοιξη 6 - I. ΜΗΛΗΣ ΑΣΥΜΠΤΩΤΙΚΟΙ ΣΥΜΒΟΛΙΣΜΟΙ ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS Αλγόριθμοι Τρείς κρίσιμες ερωτήσεις για κάθε αλγόριθμο για ένα πρόβλημα:
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΔοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή
Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Εισαγωγή στις έννοιες Αλγόριθµοι και Πολυπλοκότητα, Οργάνωση Δεδοµένων και Δοµές Δεδοµένων Χρήσιµοι µαθηµατικοί
Διαβάστε περισσότεραΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ
Εισαγωγή ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα;
Διαβάστε περισσότεραΚατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αφού ξέρουμε με ακρίβεια τον αριθμό των βασικών πράξεων που εκτελεί ο κάθε αλγόριθμος σε δεδομένα μεγέθους, θα
Διαβάστε περισσότεραΥπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 4
Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος
Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες
Διαβάστε περισσότεραΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ
ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ Θέματα μελέτης Ορθότητα και απόδοση αλγορίθμων Παρουσίαση και ανάλυση αλγορίθμου για πρόσθεση Al Khwarizmi Αλγόριθμοι Το δεκαδικό σύστημα εφευρέθηκε στην Ινδία περίπου το
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός Επιμέλεια διαφανειών: Δημήτρης Φωτάκης (λίγες προσθήκες: Άρης Παγουρτζής) Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας
Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας
Διαβάστε περισσότεραΚατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k
Διαβάστε περισσότεραΣχεδίαση & Ανάλυση Αλγορίθμων
Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΕΡΙΓΡΑΦΗ Σε αυτή την άσκηση καλείστε να αναλύσετε και να υπολογίσετε το
Διαβάστε περισσότεραΑσκήσεις (2) Άσκηση 1
Άσκηση 1 Ασκήσεις () Εισαγωγή στην Ανάλυση Αλγορίθμων Υποθέστε ότι συγκρίνουμε την υλοποίηση της ταξινόμησης με εισαγωγή και της ταξινόμησης με συγχώνευση στον ίδιο υπολογιστή. Για εισόδους μεγέθους n,
Διαβάστε περισσότεραΠροβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
Διαβάστε περισσότεραΣτοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Διαβάστε περισσότεραπεριεχόμενα ρυθιμός αύξησης συναρτήσεων ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση ασυμπτωτικοί συμβολισμοί ασυμπτωτικός συμβολισμος
ρυθμός αύξησης συναρτήσεων περιεχόμενα Ασυμπτωτικός συμβολισμός Καθιερωμένοι συμβολισμοί και συνήθεις συναρτήσεις Παύλος Εφραιμίδης 2 ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση Πολυπλοκότητα χειρότερης
Διαβάστε περισσότεραΠανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013
Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013 Λυμένες Ασκήσεις Σετ Α: Ανάλυση Αλγορίθμων Άσκηση 1 Πραγματοποιήσαμε μια σειρά μετρήσεων του
Διαβάστε περισσότεραΥπολογιστικό Πρόβληµα
Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις
Διαβάστε περισσότεραΕισαγωγή στην Ανάλυση Αλγορίθμων
Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)
Διαβάστε περισσότεραΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014
ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014 Περιεχόμενα 1 Εισαγωγή 2 2 Μεγιστικός τελέστης στην μπάλα 2 2.1 Βασικό θεώρημα........................ 2 2.2 Γενική περίπτωση μπάλας.................. 6 2.2.1 Στο
Διαβάστε περισσότεραΠανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012
Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012 Ενδεικτικές απαντήσεις 1 ου σετ ασκήσεων. Άσκηση 1 Πραγματοποιήσαμε μια σειρά μετρήσεων του χρόνου εκτέλεσης τριών
Διαβάστε περισσότεραΔιάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα
Διαβάστε περισσότεραΕιδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Διαβάστε περισσότεραΕισαγωγή στην Ανάλυση Αλγορίθμων (2-3)
Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν
Διαβάστε περισσότεραΆσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).
Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο
Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία
Διαβάστε περισσότεραΥπολογιστική Πολυπλοκότητα
Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθµου Α: Ποσότητα υπολογιστικών πόρων που απαιτεί Α ως αύξουσα συνάρτηση µεγέθους στιγµιότυπου εισόδου. Χρόνος, µνήµη, επεξεργαστές, επικοινωνία,
Διαβάστε περισσότεραοµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ
Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ ΕΝΟΤΗΤΑ 1 ΕΙΣΑΓΩΓΗ 1 εδοµένα Σύνολο από πληροφορίες που πρέπει να αποθηκευτούν σε έναν υπολογιστή Υπολογιστικό Μοντέλο ένας επεξεργαστής και µεγάλος
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθμου Α: Ποσότητα
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην
Διαβάστε περισσότεραΕισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές
Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα
Διαβάστε περισσότεραΤυχαιοκρατικοί Αλγόριθμοι
Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης περίπτωσης Μελέτα τη συμπεριφορά ενός αλγορίθμου σε μια «μέση» είσοδο (ως προς κάποια κατανομή) Τυχαιοκρατικός αλγόριθμος Λαμβάνει τυχαίες αποφάσεις καθώς επεξεργάζεται
Διαβάστε περισσότεραΥπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 5: Αναδρομικές σχέσεις - Υπολογισμός Αθροισμάτων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότεραΑριθμητική Ανάλυση & Εφαρμογές
Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου
Διαβάστε περισσότεραΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX
ΚΕΦΑΛΑΙΟ 3 ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX 3.1 Εισαγωγή Ο αλγόριθμος Simplex θεωρείται πλέον ως ένας κλασικός αλγόριθμος για την επίλυση γραμμικών προβλημάτων. Η πρακτική αποτελεσματικότητά του έχει
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 2: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής:
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΨευδοκώδικας. November 7, 2011
Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Δοκιμή Έλεγχος Αλγορίθμου Για να
Διαβάστε περισσότεραΒρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;
Εντολή επανάληψης Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή Πρόβλημα Πώς θα υπολογίσουμε το άθροισμα των ακέραιων 1 5000; Ισοδύναμοι υπολογισμοί του Ισοδύναμοι υπολογισμοί του Ισοδύναμοι υπολογισμοί
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 1ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 3: ΟΡΙΑ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ
ΚΕΦΑΛΑΙΟ ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ : ΟΡΙΑ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ Η έννοια του ορίου στο x ο Υπάρχουν συναρτήσεις οι τιμές των οποίων πλησιάζουν ένα πραγματικό αριθμό L, όταν η ανεξάρτητη μεταβλητή
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων
Δομές Δεδομένων Ενότητα 1 - Εισαγωγή Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αντικείμενο μαθήματος Δομές Δεδομένων (ΔΔ): Στην επιστήμη υπολογιστών
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική
Διαβάστε περισσότεραΔιακριτά Μαθηματικά. Άγγελος Κιαγιάς. https://crypto.di.uoa.gr/dmath aggelos. Τμήμα Πληροφορικής & Τηλεπικοινωνιών. π.
π.1 Διακριτά Μαθηματικά https://crypto.di.uoa.gr/dmath2013 Άγγελος Κιαγιάς http://www.di.uoa.gr/ aggelos Τμήμα Πληροφορικής & Τηλεπικοινωνιών π.2 Τι είναι τα Διακριτά Μαθηματικά; Είναι η μελέτη διακριτών
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΑναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου
Διαβάστε περισσότεραΑΕΠΠ Ερωτήσεις θεωρίας
ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος
Διαβάστε περισσότεραΔιάλεξη 2η: Αλγόριθμοι και Προγράμματα
Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα
Διαβάστε περισσότεραΓια τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση
Επίδοση Αλγορίθμων Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση πώς υπολογίζεται ο χρόνος εκτέλεσης
Διαβάστε περισσότερα5.1. Προσδοκώμενα αποτελέσματα
5.1. Προσδοκώμενα αποτελέσματα Όταν θα έχεις ολοκληρώσει τη μελέτη αυτού του κεφαλαίου θα έχεις κατανοήσει τις τεχνικές ανάλυσης των αλγορίθμων, θα μπορείς να μετράς την επίδοση των αλγορίθμων με βάση
Διαβάστε περισσότερα5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ
5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος
Διαβάστε περισσότεραΦροντιστήριο #4 Λυμένες Ασκήσεις Μαθηματική Επαγωγή 13/3/2018
Φροντιστήριο #4 Λυμένες Ασκήσεις Μαθηματική Επαγωγή 1//018 Σημείωση: Όλες οι παρακάτω αποδείξεις ακολουθούν την επαγωγική μέθοδο. Κάποια από τα παραδείγματα έχουν αποδειχθεί και με άλλες μεθόδους στο Φροντιστήριο
Διαβάστε περισσότεραΑσκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1
Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n
Διαβάστε περισσότεραΠοσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΤεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/
Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας
Διαβάστε περισσότεραΤι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΔιάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης: Α. SelectoSort Ταξινόμηση με Επιλογή Β. IsertoSort Ταξινόμηση με Εισαγωγή Γ. MergeSort
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.
Διάλεξη : Παραδείγματα Ανάλυσης Πολυπλοκότητας / Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, 6 παραδείγματα
Διαβάστε περισσότεραΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ
Tel.: +30 2310998051, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Ιστοσελίδα: http://users.auth.gr/theodoru ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Καθηγητής: Περικλής
Διαβάστε περισσότεραΜερικές φορές δεν μπορούμε να αποφανθούμε για την τιμή του άπειρου αθροίσματος.
Σειρές Σειρές και μερικά αθροίσματα: Το πρόβλημα της άθροισης μιας σειράς άπειρων όρων είναι πολύ παλιό. Μερικές φορές μια τέτοια σειρά καταλήγει σε πεπερασμένο αποτέλεσμα, μερικές φορές απειρίζεται και
Διαβάστε περισσότεραμε Τέλος πάντων, έστω ότι ξεκινάει ένα άλλο υποθετικό σενάριο που απλά δεν διευκρινίζεται. Για το i) θα έχουμε , 2
Άσκηση 75 Σε έναν οργανισμό, αρχικά υπάρχουν 04800 βακτήρια. Μετά από 1 ώρα υπάρχουν 10400 βακτήρια, μετά από ώρες 5100 βακτήρια, και γενικά ο αριθμός των βακτηρίων υποδιπλασιάζεται κάθε μια ώρα. α) Πόσα
Διαβάστε περισσότεραΜαθηματική Εισαγωγή Συναρτήσεις
Φυσικός Ραδιοηλεκτρολόγος (MSc) ο Γενικό Λύκειο Καστοριάς Καστοριά, Ιούλιος 14 A. Μαθηματική Εισαγωγή Πράξεις με αριθμούς σε εκθετική μορφή Επίλυση βασικών μορφών εξισώσεων Συναρτήσεις Στοιχεία τριγωνομετρίας
Διαβάστε περισσότεραΤμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα
Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα
Διαβάστε περισσότεραΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου
Διαβάστε περισσότεραΒασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.
Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: μέθοδοι μονοδιάστατης ελαχιστοποίησης Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 6 η /2017 Τι παρουσιάστηκε
Διαβάστε περισσότερα