ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 4
1. Εισαγωγή στις Αρχές Της
Επιστήμης των ΗΥ
Κεφάλαιο 2_2_4: Βασικοί Τύποι Αλγορίθμων
Ιωάννου Γιαννάκης
26/6/2015
2. Βασικοί Τύποι Αλγορίθμων
Ο ορισμός του αλγορίθμου που δόθηκε στην αρχή
αυτού του κεφαλαίου, συμφωνεί με τη φιλοσοφία των
περισσότερων υπολογιστών σήμερα, που διαθέτουν
μία Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) στην
οποία οι εντολές εκτελούνται με σειρά, η μία μετά την
άλλη. Για το λόγο αυτό ονομάζονται σειριακοί
αλγόριθμοι.
Σειριακοί λέγονται οι αλγόριθμοι που χρησιμοποιούν μία
κεντρική μονάδα επεξεργασίας και οι εντολές τους
εκτελούνται σε σειρά η μία μετά την άλλη.
3. Βασικοί Τύποι Αλγορίθμων
Όμως η ύπαρξη προβλημάτων στα οποία απαιτείται πολύ μεγάλος
χρόνος για τον υπολογισμό της λύσης ενός προβλήματος,
δημιούργησε την ανάγκη εύρεσης αλγορίθμων, όπου ορισμένα ή
μία σειρά από βήματα αυτών των αλγορίθμων θα
μπορούσαν να εκτελούνται παράλληλα (ταυτόχρονα).
Σε αυτή την περίπτωση, η εκτέλεση του ενός βήματος δεν εξαρτάται
από την ολοκλήρωση της εκτέλεσης του προηγούμενου.
Αλγόριθμοι αυτής της μορφής ονομάζονται παράλληλοι αλγόριθμοι
και η υλοποίησή τους γίνεται με την ύπαρξη πολλαπλών ΚΜΕ
στο σύστημα του υπολογιστή.
Παράλληλοι χαρακτηρίζονται οι αλγόριθμοι που χρησιμοποιούν
πολλαπλές κεντρικές μονάδες επεξεργασίας όπου ορισμένες ή
μία σειρά από εντολές εκτελούνται παράλληλα (ταυτόχρονα).
4. Βασικοί Τύποι Αλγορίθμων
Παράδειγμα 2.5. Έστω ότι υπάρχει ένας πίνακας που
έχει ως περιεχόμενο τους αριθμούς:
1 2 3 4
6 9 8 3
Στόχος είναι να τοποθετηθούν οι αριθμοί σε αύξουσα
σειρά από το μικρότερο στο μεγαλύτερο (αύξουσα
ταξινόμηση). Η διαδικασία ταξινόμησης θα επιχειρηθεί
με σειριακή και παράλληλη επεξεργασία.
5. Βασικοί Τύποι Αλγορίθμων
Σειριακά
Εντοπίζεται το μικρότερο στοιχείο του πίνακα (στην περίπτωση αυτή
είναι το 3) και αντιμετατίθεται με το στοιχείο της πρώτης θέσης.
Εντοπίζεται το μικρότερο από τα υπόλοιπα στοιχεία του πίνακα (που
είναι το 6) και αντιμετατίθεται με το στοιχείο της δεύτερης θέσης.
Εντοπίζεται το μικρότερο από τα υπόλοιπα στοιχεία του πίνακα (που
είναι το 8), το οποίο όμως είναι το τρίτο στοιχείο του πίνακα,
οπότε η ταξινόμηση έχει ολοκληρωθεί.
6. Βασικοί Τύποι Αλγορίθμων
Παράλληλα
Συγκρίνονται ταυτόχρονα με δύο διαφορετικούς επεξεργαστές το 1ο με το 2ο
στοιχείο και το 3ο με το 4ο. Αν δεν είναι σωστά διαταγμένα,
αντιμετατίθενται.
Συγκρίνονται ταυτόχρονα με δύο διαφορετικούς επεξεργαστές το 1ο με το 3ο
στοιχείο και το 2ο με το 4ο. Αν δεν είναι σωστά διαταγμένα,
αντιμετατίθενται.
Τώρα το μικρότερο από όλα τα στοιχεία είναι στη σωστή θέση (την 1η) και
το μεγαλύτερο επίσης στη σωστή θέση (την 4η). Ωστόσο τα δύο μεσαία
στοιχεία δεν είναι βέβαιο ότι είναι σωστά διαταγμένα. Οπότε απαιτείται
μια ακόμη σύγκριση αυτών των δύο από έναν επεξεργαστή και
ολοκληρώνεται η ταξινόμηση.
7. Βασικοί Τύποι Αλγορίθμων
Οι αλγόριθμοι επιλύουν προβλήματα. Υπάρχουν
απλά και σύνθετα προβλήματα. Λίγα απλά
προβλήματα μπορούν να επιλυθούν με
διαδοχική εκτέλεση μερικών βημάτων, αφού τα
περισσότερα προβλήματα απαιτούν την
εκτέλεση ορισμένων συγκεκριμένων βημάτων
πολλές φορές. Αυτοί οι αλγόριθμοι
αποκαλούνται επαναληπτικοί.
8. Βασικοί Τύποι Αλγορίθμων
Παράδειγμα 2.6. Να αναπτυχθεί αλγόριθμος ο
οποίος θα διαβάζει τον αριθμό Ν και θα
υπολογίζει και θα εμφανίζει το Ν παραγοντικό
(συμβολισμός: Ν!).
Το Ν! ορίζεται ως το γινόμενο των ακέραιων
αριθμών 1, 2 έως Ν.
Δηλαδή
Ν!=1·2·3·….· (Ν-1) ·Ν
Αν Ν = 5, το 5! = 1·2·3·4·5 = 120
9. Βασικοί Τύποι Αλγορίθμων
Όμως το Ν! μπορεί να οριστεί και με άλλο τρόπο, που αποκαλείται
αναδρομικός, ως εξής:
Ν! = Ν·(Ν-1)! για Ν ≥ 1 (1)
0! = 1 (2)
Από τη σχέση (1) φαίνεται ότι το παραγοντικό του Ν ορίζεται
χρησιμοποιώντας το παραγοντικό του (Ν - 1). Ο όρος
αναδρομικότητα εδώ εκφράζει, ότι για να βρεθεί η τιμή του Ν!
πρέπει να βρεθεί η τιμή του (Ν - 1)!, η τιμή του οποίου χρειάζεται
την τιμή του (Ν - 2)! κ.ο.κ.
Έτσι το 5! κάνει διαδοχικά:
5! = 4!·5 = 3!·4·5=2!·3·4·5=1!·2·3·4·5=0!·1·2·3·4·5=1·1·2·3·4·5=120
Φαίνεται ότι ο υπολογισμός του Ν! με αναδρομικό τρόπο είναι πιο
πολύπλοκος από τον επαναληπτικό. Ωστόσο σε άλλες
περιπτώσεις και ιδίως σε μερικά δύσκολα προβλήματα η
αναδρομή διευκολύνει σημαντικά.
10. Βασικοί Τύποι Αλγορίθμων
Όμως το Ν! μπορεί να οριστεί και με άλλο τρόπο, που αποκαλείται
αναδρομικός, ως εξής:
Ν! = Ν·(Ν-1)! για Ν ≥ 1 (1)
0! = 1 (2)
Από τη σχέση (1) φαίνεται ότι το παραγοντικό του Ν ορίζεται
χρησιμοποιώντας το παραγοντικό του (Ν - 1). Ο όρος
αναδρομικότητα εδώ εκφράζει, ότι για να βρεθεί η τιμή του Ν!
πρέπει να βρεθεί η τιμή του (Ν - 1)!, η τιμή του οποίου χρειάζεται
την τιμή του (Ν - 2)! κ.ο.κ.
Έτσι το 5! κάνει διαδοχικά:
5! = 4!·5 = 3!·4·5=2!·3·4·5=1!·2·3·4·5=0!·1·2·3·4·5=1·1·2·3·4·5=120
Φαίνεται ότι ο υπολογισμός του Ν! με αναδρομικό τρόπο είναι πιο
πολύπλοκος από τον επαναληπτικό. Ωστόσο σε άλλες
περιπτώσεις και ιδίως σε μερικά δύσκολα προβλήματα η
αναδρομή διευκολύνει σημαντικά.