Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Σχεδίαση αλγορίθμων (2ο μέρος)

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Σχεδίαση αλγορίθμων (2ο μέρος)"— Μεταγράφημα παρουσίασης:

1 Σχεδίαση αλγορίθμων (2ο μέρος)

2 Στοιχειοποίηση (Modularity)
Στοιχείο: Αυτοτελής αλγόριθμος που μπορεί να σχεδιαστεί ανεξάρτητα από το περιβάλλον στο οποίο θα χρησιμοποιηθεί Στις γλώσσες προγραμματισμού το συναντάμε σαν διαδικασία, ρουτίνα, υπορουτίνα ή συνάρτηση.

3 Στοιχειοποίηση (Modularity)
Κλήση στοιχείου: Αν ένας αλγόριθμος χρησιμοποιεί το στοιχείο λέμε ότι το καλεί (call). Τυπικές παράμετροι: Χρησιμοποιούνται στο σώμα του στοιχείου και αποτελούνται από μεταβλητές στις οποίες δίνονται πραγματικές τιμές κατά την κλήση του στοιχείου.

4 Στοιχειοποίηση (Modularity)
Πραγματικές παράμετροι: Οι πραγματικές παράμετροι που δίνονται κατά την κλήση του στοιχείου Ένα στοιχείο το γράφουμε ως εξής: module όνομα_στοιχείου (τυπικές παράμετροι) σώμα_στοιχείου

5 Στοιχειοποίηση (Modularity)
Ένα στοιχείο το καλούμε ως εξής: όνομα_στοιχείου (πραγματικές παράμετροι) Στοιχειακός αλγόριθμος: Αλγόριθμος που φτιάχνεται από σύνολο στοιχείων.

6 Αναδρομή (Recursion) Αναδρομικός αλγόριθμος: Ο αλγόριθμος που καλεί τον εαυτό του Αναδρομή: Ο τρόπος εκτέλεσης ενός αναδρομικού αλγορίθμου

7 Αναδρομή (Recursion) Παράδειγμα: Υπολογισμός παραγοντικού: παραγοντικό(Ν)=Ν•παραγοντικό(Ν-1)

8 Παράδειγμα αναδρομικού αλγορίθμου
module παραγοντικό(Ν) if N=1 then 1 else πολλαπλασιασμός Ν•παραγοντικό(Ν-1)

9 Λειτουργία αναδρομής Έστω ότι θέλουμε να υπολογίσουμε το παραγοντικό(3). Η λειτουργία του αλγορίθμου περιγράφεται στο επόμενο σχήμα.

10 Λειτουργία αναδρομής

11 Λειτουργία αναδρομής Αυτό που πρέπει να εξασφαλίσουμε σε έναν αναδρομικό αλγόριθμο είναι η ύπαρξη μίας οριακής συνθήκης για την οποία να μην απαιτείται η κλήση της αναδρομικής συνάρτησης (π.χ if N=1 then 1) H οριακή συνθήκη εξασφαλίζει ότι η εκτέλεση του αλγορίθμου θα σταματήσει

12 Σχέση αναδρομής και επανάληψης
Για κάθε αναδρομικό αλγόριθμο υπάρχει και ένας ισοδύναμος που χρησιμοποιεί επανάληψη Η αναδρομή είναι μία επανάληψη με διαφορετική μορφή

13 Διαδικασία δημιουργίας αναδρομικού αλγορίθμου
Βήμα 1: Έκφραση διαδικασίας με αναδρομικό τρόπο, δηλαδή έκφραση με παρόμοιο τρόπο με το αρχικό πρόβλημα με πιο «απλά» δεδομένα παραγοντικό(Ν)→ αρχικό πρόβλημα Ν•παραγοντικό(Ν-1) → έκφραση με πιο μικρό αριθμό (Ν-1)

14 Διαδικασία δημιουργίας αναδρομικού αλγορίθμου
Βήμα 2: Προσδιορισμός οριακής συνθήκης (δρόμος διαφυγής) if N=1 then 1

15 Παραλληλία (Parallelism)
Σειριακός αλγόριθμος: Χρησιμοποιείται ένας επεξεργαστής Παράλληλος αλγόριθμος: Πολλοί επεξεργαστές χρησιμοποιούνται ταυτόχρονα

16 Παραλληλία (Parallelism)
Παραλληλία / Ταυτοχρονισμός: Διαίρεση της διεργασίας σε έναν αριθμό υπο-διεργασιών, καθεμία από τις οποίες εκτελείται από έναν επεξεργαστή

17 Παραλληλία (Parallelism)

18 Παραλληλία (Parallelism)
Ένας παράλληλος αλγόριθμος αυξάνει την ταχύτητα εκτέλεσης με κόστος την αύξηση των επεξεργαστών. Για Ν-φορές αύξηση της ταχύτητας απαιτείται Ν-φορές αύξηση του αριθμού των επεξεργαστών Πολλές φορές απαιτείται συγχρονισμός των επεξεργαστών (π.χ κάποιοι επεξεργαστές να περιμένουν τους άλλους πριν ξεκινήσουν ή λειτουργούν με την ίδια ταχύτητα)


Κατέβασμα ppt "Σχεδίαση αλγορίθμων (2ο μέρος)"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google