Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

ΔΡΔ: Διαγράμματα Ροής Δεδομένων

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

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

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

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

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

Υπολογιστική άλγεβρα Ενότητα 3: Πολυώνυμα τρίτου βαθμού

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 11: ΠΡΟΒΛΗΜΑ ΔΙΑΤΡΕΞΗΣ ΓΡΑΦΗΜΑΤΟΣ

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

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

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

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

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

Πληροφορική ΙΙ Ενότητα 1

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

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

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

Ιστορία της μετάφρασης

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

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

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

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

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

Υπολογιστική άλγεβρα Ενότητα 1: Πολυωνυμικές σχέσεις και ταυτότητες, μέρος Ι

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

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

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

Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ

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

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

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

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ. 3 η ενότητα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

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

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

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

Γενική Φυσική Ενότητα: Ταλαντώσεις

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

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

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

Transcript:

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

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

ΟΡΙΣΜΟΣ ΑΛΓΟΡΙΘΜΟΥ Αλγόριθμος είναι μια μέθοδος που λύνει κάθε στιγμιότυπο ενός δοσμένου προβλήματος και μπορεί να προγραμματιστεί σε κάποια υπολογιστική μηχανή. 3

ΙΔΙΟΤΗΤΕΣ ΑΛΓΟΡΙΘΜΩΝ Είσοδος (input) : Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Έξοδος (output) : τουλάχιστον μία τιμή ως αποτέλεσμα προς το χρήστη ή προς ένα άλλο αλγόριθμο. Καθοριστικότητα (defineteness) : κάθε εντολή καθορίζεται πολύ συγκεκριμένα για τον τρόπο εκτέλεσής της (π.χ. διαίρεση) Περατότητα (finiteness) : ο αλγόριθμος τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης. Αλλιώς ονομάζεται υπολογιστική διαδικασία Αποτελεσματικότητα (effectiveness) : ο αλγόριθμος αποτελείται από μεμονωμένες απλές εντολές 4

ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΣΕ ΣΧΕΣΗ ΜΕ ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΗΧΑΝΕΣ Ακολουθιακοί (σειριακοί) Παράλληλοι Μη αιτιοκρατικοί 5

ΘΕΜΕΛΙΩΔΕΣ ΜΟΝΤΕΛΟ ΥΠΟΛΟΓΙΣΜΟΥ Μηχανή Turing: Ισοδύναμο με μηχανές τυχαίας πρόσβασης. 6

ΙΣΤΟΡΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ Πρώτος αλγόριθμος θεωρείται η μέθοδος υπολογισμού του μέγιστου κοινού διαιρέτη που πρότεινε ο Ευκλείδης. Η λέξη αλγόριθμος προέρχεται από το όνομα του Πέρση μαθηματικού Αλ Χοαρίζμι που έγραψε ένα βιβλίο μαθηματικών το 825 μ.χ. 7

ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΩΝ Ελεύθερο κείμενο (free text): ανεπεξέργαστος και αδόμητος τρόπος παρουσίασης αλγορίθμου (παραβίαση αποτελεσματικότητας) Διαγραμματικές τεχνικές (diagramming techniques): γραφικός τρόπος παρουσίασης του αλγορίθμου (διάγραμμα ροής) Φυσική γλώσσα (natural language): περιγραφή κατά βήματα (παραβίαση της καθοριστικότητας) Ψευδογλώσσα (pseudocoding): δομημένος τρόπος παρουσίασης αλγορίθμου που μπορεί εύκολα να προγραμματιστεί σε κάποια γλώσσα προγραμματισμού Κωδικοποίηση (coding): πρόγραμμα γραμμένο σε κάποια γλώσσα προγραμματισμού που όταν εκτελεστεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο 8

ΠΑΡΑΔΕΙΓΜΑΤΑ ΑΝΑΠΑΡΑΣΤΑΣΗ ΣΕ ΕΛΕΥΘΕΡΟ ΚΕΙΜΕΝΟ Λύση Δευτεροβάθμιας εξίσωσης: αx 2 +βx+γ=0. Ζητούμε να μας δοθούν οι τιμές των συντελεστών α, β, και γ της εξίσωσης. Προχωρούμε σε υπολογισμό της διακρίνουσας Δ=β 2-4αγ. Σε περίπτωση που ισχύει ότι η διακρίνουσα Δ είναι μεγαλύτερη ή ίση του μηδενός οι δυο πραγματικές ρίζες της εξίσωσης δίνονται από τη σχέση, ενώ αν η 2 διακρίνουσα Δ είναι μικρότερη του μηδενός τότε ισχύει ότι η εξίσωση δεν έχει πραγματικές ρίζες. 9

ΠΑΡΑΔΕΙΓΜΑΤΑ ΑΝΑΠΑΡΑΣΤΑΣΗ ΣΕ ΦΥΣΙΚΗ ΓΛΩΣΣΑ Λύση Δευτεροβάθμιας εξίσωσης: αx 2 +βx+γ=0. Δίνονται οι συντελεστές α,β,γ Υπολογίζεται η Διακρίνουσα Δ=β 2-4αγ Αν Δ>0 υπολογίζονται και εμφανίζονται οι 2 πραγματικές ρίζες από τη σχέση 2 Αν Δ=0 υπολογίζεται και εμφανίζεται η διπλή πραγματική ρίζα από τη σχέση 2 Αν Δ<0 ενημερώνουμε ότι δεν υπάρχουν πραγματικές ρίζες. 10

ΠΑΡΑΔΕΙΓΜΑΤΑ ΑΝΑΠΑΡΑΣΤΑΣΗ ΣΕ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΑΡΧΗ Διάβασε α, β, γ ΝΑΙ δ1=(-β+ )/2α δ2=(-β- Γράψε δ1 και δ2 )/2α Δ=β 2-4αγ >= 0 ΤΕΛΟΣ ΟΧΙ Γράψε Δεν υπάρχουν πραγματικές ρίζες 11

ΠΑΡΑΔΕΙΓΜΑΤΑ ΑΝΑΠΑΡΑΣΤΑΣΗ ΣΕ ΨΕΥΔΟΓΛΩΣΣΑ Αλγόριθμος Λύση_Δευτεροβάθμιας_Εξίσωσης Είσοδος: Πραγματικοί αριθμοί α, β, και γ. Έξοδος: Πραγματικοί αριθμοί δ1 και δ2 ή -1 αν δεν υπάρχουν πραγματικές ρίζες Ψευδοκώδικας: Διάβασε α, β, γ Δ=β*β-4*α*γ if Δ>=0 then δ1=(-β+ )/(2*α) δ2=(-β- )/(2*α) Επέστρεψε δ1, δ2 else Επέστρεψε -1 end 12

ΠΑΡΑΔΕΙΓΜΑΤΑ ΑΝΑΠΑΡΑΣΤΑΣΗ ΣΕ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ #include<stdio.h> #include<math.h> void main() { float a,b,c,d,d1,d2; scanf( %f \n %f \n %f, &a, &b,&c); D=b*b-4*a*c; d1=(-b+sqrt(d))/(2*a); d2=(-b-sqrt(d))/(2*a); if (D >= 0) printf( The equation has real roots:\n %f \n %f,d1, d2); else printf( The equation have not real roots ); } 13

ΑΞΙΟΛΟΓΗΣΗ ΑΛΓΟΡΙΘΜΟΥ Σειριακός Σωστός Τερματίζει Απλός Ο αλγόριθμος εκτελεί 1 σύγκριση 14

ΠΑΡΑΔΕΙΓΜΑ Δίνονται ο φυσικός αριθμός n και οι αριθμοί x 1,, x n. Να υπολογιστούν τα n αθροίσματα: α 1 = x 1 α 2 = x 1 +x 2 α 3 = x 1 +x 2 +x 3 α 4 = x 1 +x 2 +x 3 +x 4 α n = x 1 +x 2 + + x n 15

ΠΡΩΤΗ ΛΥΣΗ Αλγόριθμος Υπολογισμός_αθροισμάτων_απλά Είσοδος: Φυσικός αριθμός n και πίνακας X μήκους n με Χ[i]=x i Έξοδος: Πίνακας Α μήκους n που περιέχει τα αθροίσματα α j με Α[j]=α j Ψευδοκώδικας: for j=1 to n επανέλαβε A[j]=0 for i=1 to j επανέλαβε A[j]=A[j]+X[i] τέλοςfor τέλοςfor 16

ΔΕΥΤΕΡΗ ΛΥΣΗ Αλγόριθμος Υπολογισμός_αθροισμάτων_σύνθετα Είσοδος: Φυσικός αριθμός n και πίνακας X μήκους n με Χ[i]=x i Έξοδος: Πίνακας Α μήκους n που περιέχει τα αθροίσματα α j με Α[j]=α j Ψευδοκώδικας: A[1]=x 1 if n>1 τότε for j=2 to n επανέλαβε A[j]=A[j-1]+X[j] τέλοςfor τέλοςif 17

ΑΞΙΟΛΟΓΗΣΗ Αξιολόγηση Αλγορίθμων Σειριακοί Σωστοί Τερματίζουν Απλοί Ο πρώτος αλγόριθμος εκτελεί n(n+1)/2 προσθέσεις Ο δεύτερος αλγόριθμος 2 εκτελεί n-1 προσθέσεις 18

ΤΡΙΤΗ ΛΥΣΗ ΠΑΡΑΛΛΗΛΗ 1/2 Παράλληλος Αλγόριθμος Έστω παράλληλη μηχανή με n προσθέτες Ε 1,, Ε n και n=2 p ή p=logn. Κατασκευάζω παράλληλο αλγόριθμο. Εντολές χωρίζονται σε φάσεις: Στην αρχή κάθε πρόσθεσης κάθε προσθέτης δέχεται 2 αριθμούς, τους προσθέτει και στέλνει το αποτέλεσμα σε τρίτο προσθέτη. Κάθε προσθέτης αποθηκεύει το αποτέλεσμα της πρόσθεσης που εκτελεί. 19

ΤΡΙΤΗ ΛΥΣΗ ΠΑΡΑΛΛΗΛΗ 2/2 Παράλληλος Αλγόριθμος Αν j<=0 τότε x j =0 και Ε j συντονιστής προσθέτης Φάση 1: O E i δέχεται τους αριθμούς x i-1, x i από συντονιστή. O E i εκτελεί x i =x i-1 +x i. Φάση 2: O E i δέχεται τον αριθμό x i-2 από τον E i-2. O E i εκτελεί x i =x i-2 +x i. Φάση k: O E i δέχεται τον αριθμό x j με j=i-2 k-1 από τον E j. O E i εκτελεί x i =x j +x i. Φάση p: O E i δέχεται τον αριθμό x j με j=i-2 n-1 από τον E j. O E i εκτελεί x i =x j +x i και στέλνει το x i στο συντονιστή. 20

ΑΞΙΟΛΟΓΗΣΗ ΛΥΣΗΣ Παράλληλος Αλγόριθμος Χρόνος: p=logn προσθέσεις Συνολικές προσθέσεις n p=n logn > n-1 n προσθέσεις κάθε φάσης εκτελούνται ταυτόχρονα. 21

ΟΡΘΟΤΗΤΑ Ορισμός Ένας αλγόριθμος ικανοποιεί το κριτήριο της ορθότητας αν λύνει σωστά όλα τα στιγμιότυπα του προβλήματος για το οποίο σχεδιάστηκε. Τρόποι εξακρίβωσης ορθότητας Μαθηματικά, δύσκολο Πειραματικά Διάρθρωση αλγορίθμου σε απλούς υποαλγορίθμους 22

ΠΟΙΟΤΗΤΑ Κύριο κριτήριο αξιολόγησης: Κόστος κατασκευής και εκτέλεσης Εξαρτάται: Διαθέσιμο υλικό και λογικό Γλώσσα προγραμματισμού Ικανότητες προγραμματιστή Υπολογιστικό περιβάλλον Κύρια στοιχεία κόστους: Χρόνος κατασκευής και δοκιμής σωστού προγράμματος Χρόνος εκτέλεσης για κάθε νέο στιγμιότυπο 23

ΧΡΟΝΟΣ ΕΚΤΕΛΕΣΗΣ Εξαρτάται: Πλήθος εντολών που εκτελούνται για κάθε στιγμιότυπο. Επιβαρύνσεις που οφείλονται στο σχεδιασμό. Ποσό μνήμης 24

ΑΝΑΛΥΣΗ Ορθότητα Απλότητα Μνήμη Επιβαρύνσεις Πλήθος εντολών που εκτελούνται σε κάθε περίπτωση (τυπική, μέσος όρος, χειρότερη, καλύτερη) συναρτήσει μεγέθους εισόδου. 25

ΜΕΤΡΑ ΑΠΟΔΟΤΙΚΟΤΗΤΑΣ Αν οι παράμετροι εισόδου είναι n 1,, n k διακρίνουμε: Πολυπλοκότητα Μέσου Όρου-ΠΜΟ(n 1,, n k ): το πλήθος των εντολών που εκτελούνται κατά μέσο όρο, για όλα τα πιθανά νόμιμα εισαγόμενα. Πολυπλοκότητα Χειρότερης Περίπτωσης-ΠΧΠ(n 1,, n k ): το πλήθος των εντολών που εκτελούνται στη χειρότερη περίπτωση. Ισχύει (n,,n ) (n,,n ) για κάθε n 1,, n k. 0 1 k 1 k 26

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

ΣΗΜΕΙΩΜΑ ΙΣΤΟΥΡΙΚΟΥ ΕΚΔΟΣΕΩΝ ΕΡΓΟΥ Το παρόν έργο αποτελεί την έκδοση 1.0. 28

ΣΗΜΕΙΩΜΑ ΑΝΑΦΟΡΑΣ Copyright Πανεπιστήμιο Πατρών, Δημήτριος Κουκόπουλος. «Σχεδίαση και Ανάλυση Αλγορίθμων. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/culture109/. 29

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

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