Διπλωματική Εργασία: Ανάπτυξη παράλληλων αλγορίθμων για γεωγραφικά προβλήματα Μεταπτυχιακό στα Συστήματα Τηλεπικοινωνιών και στην Πληροφορική Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Κεντρικής Μακεδονίας Σαριανίδου Χαρίκλεια AEM 43 Επιβλέπων Δρ. Μαστοροκώστας Πάρις
Σκοπός εργασίας Ανάπτυξη και η υλοποίηση παράλληλων αλγορίθμων για γεωγραφικά προβλήματα. Εύρεση βέλτιστου αλγορίθμου εκ του οριζόντιου και κατακόρυφου για την επίλυση του προβλήματος της βέλτιστης τοποθέτησης ενθέτου. 2
Στόχοι Ανάπτυξη και υλοποίηση παράλληλων αλγορίθμων. Μετατροπή χαρτών σε διάφορες μορφολογίες και ανάλυση. Χρήση των αλγορίθμων για εξαγωγή μετρήσεων βάση των διαφόρων συνθηκών που επέκειτο σε μελέτη. Εξαγωγή συμπερασμάτων. 3
Χαρτογραφία Προέρχεται από την ελληνική λέξη χάρτης και ‘γραφείν’. Είναι η μελέτη και πρακτική της δημιουργίας των χαρτών. Η κατασκευή χάρτη είναι από τις αρχαιότερες δραστηριότητες των ανθρώπων. Με την πάροδο των ετών άρχισε να γίνεται χρήση υπολογιστών και λογισμικών στη χαρτογραφία ώστε να βρεθούν αυτοματοποιημένοι μέθοδοι και τεχνικές για την επίλυση γεωγραφικών προβλημάτων. 4
Τοποθέτηση ενθέτου Το ένθετο είναι ένας μικρός χάρτης που μαζί με τον κύριο χάρτη τοποθετείται στην επιφάνεια που αυτός ορίζει Η κλίμακα τους διαφέρει κατά πολύ μιας και είναι πολύ μικρότερης κλίμακας. Η χρήση του είναι απαραίτητη γιατί είναι ένας αποτελεσματικός τρόπος αντιμετώπισης της «χωρικής ασυνέχειας του γεωγραφικού χώρου». 5
Αλγόριθμος αναζήτησης Η λέξη από μία μελέτη ενός Πέρση μαθηματικού του 8 ου αιώνα η οποία περιείχε συστηματικές τυποποιημένες λύσεις αλγεβρικών προβλημάτων. Έπειτα από αιώνες μεταφραστικέ στα Λατινικά και άρχιζε με τη φράση “Algorithmous dixit” και έτσι καθιερώθηκε ως «συστηματική διαδικασία αριθμητικών χειρισμών». Στην ουσία ο αλγόριθμος αναζήτησης είναι μια πεπερασμένη σειρά ενεργειών αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο που έχουν ως στόχο την επίλυση ενός προβλήματος. 6
Αλγόριθμοι που χρησιμοποιήθηκαν Οριζόντιος αλγόριθμος (Left – Right) Κατακόρυφος αλγόριθμος (Up – Down) 7
Example Οριζόντιος αλγόριθμος (Left – Right) Η εκτέλεση του γίνεται πάνω σε πίνακα αποτελούμενο από άσσους και μηδενικά. Σε κάθε αναζήτηση ορίζεται ένα ένθετο. Θέλουμε να ταιριάζει το ένθετο ακριβώς πάνω στα μηδενικά. Η αναζήτηση στον πίνακα γίνεται από αριστερά προς τα δεξιά και μέσα στο ένθετο γίνεται από τα αριστερά προς τα δεξιά και από πάνω προς τα κάτω. 8
Βήμα 1 9
Βήμα 2 10
Βήμα 3 11
Κατακόρυφος αλγόριθμος (Up – Down) Η εκτέλεση του γίνεται πάνω σε πίνακα αποτελούμενο από άσσους και μηδενικά. Σε κάθε αναζήτηση ορίζεται ένα ένθετο. Θέλουμε να ταιριάζει το ένθετο ακριβώς πάνω στα μηδενικά. H αναζήτηση στον πίνακα ξεκινάει από πάνω προς τα κάτω και μέσα στο ένθετο από αριστερά προς τα δεξιά και από κάτω προς τα πάνω. 12
Βήμα 1 13
Βήμα 2 14
Χάρτες που χρησιμοποιήθηκαν Μη ορισμένων διαστάσεων χάρτες Οριζόντιοι χάρτες Κατακόρυφοι χάρτες Τετράγωνοι χάρτες Η κάθε μορφολογία ποικίλε σε ανάλυση έως 300 dpi με αυξανόμενο βήμα 50 dpi 15
Μη ορισμένων διαστάσεων χάρτες έως 300 dpi 50 dpi 100 dpi 150 dpi 200 dpi250 dpi300 dpi 16
Οριζόντιοι χάρτες έως 300 dpi 50 dpi 100 dpi150 dpi 200 dpi 250 dpi 300 dpi 17
Κατακόρυφοι χάρτες έως 300 dpi 50 dpi100 dpi 150 dpi 200 dpi 250 dpi300 dpi 18
Τετράγωνοι χάρτες έως 300 dpi 50 dpi 100 dpi 150 dpi 200 dpi250 dpi 300 dpi 19
Παράλληλη εφαρμογή Η παράλληλη επεξεργασία των αλγορίθμων έγινε με το λογισμικό Matlab με χρήση του βρόχου Parfor όπου καταμερίζει την δουλειά στους εργάτες. Με την εντολή Matlabpool εγκαινιάστηκαν 4 νέες περιοχές εργασίας που συνδέονται με το περιβάλλον του Matlab κατά την εκτέλεση του Parfor. Χρησιμοποιήθηκαν παράλληλα έως 4 πυρήνες. 20
Παράλληλη εφαρμογή Για την παράλληλη επεξεργασία χρησιμοποιήθηκε ένας εκ των υπολογιστών του εργαστηρίου του Τμήματος Μηχανικών Πληροφορικής ΤΕ με χαρακτηριστικά: Λειτουργικό Windows 8.1 Enterprise N (2013 Microsoft Corporation) Σύστημα Processor Intel® Core ™ 2 Quad CPU 2,66 GHz : 2,67 GHz Εγκατεστημένη μνήμη 4 GByte Υπολογιστή 64 bit 21
Συλλογή αποτελεσμάτων Για την συλλογή αποτελεσμάτων : Χρησιμοποιήθηκαν παράλληλα έως 4 πυρήνες. Το ένθετο ήταν διαστάσεων ανάλογο των χαρτών κατά το ¼ της μίας διάστασης και κατά το ¼ της άλλης. Οι μετρήσεις έγιναν για κάθε αλγόριθμο για όλες τις μορφολογίες χαρτών και για το μέγιστο των πυρήνων. 22
Καταγραφή αποτελεσμάτων Βάση των μετρήσεων εξήχθησαν για κάθε αλγόριθμο τα εξής διαγράμματα : 23
Καταγραφή αποτελεσμάτων 24
Καταγραφή αποτελεσμάτων 25
Καταγραφή αποτελεσμάτων 26
Εξαγωγή τελικών συμπερασμάτων Στους τυχαίους χάρτες ο Οριζόντιος αλγόριθμος μας επιστρέφει καλύτερα αποτελέσματα και έχουμε καλή παράλληλη επεξεργασία, δηλαδή, η αύξηση των cores μας επιστρέφει καλύτερους χρόνους. Στους wide χάρτες ο Οριζόντιος αλγόριθμος μας επιστρέφει λίγο καλύτερα αποτελέσματα αλλά δεν έχουμε καλή παράλληλη επεξεργασία. Στους tall χάρτες ο Οριζόντιος αλγόριθμος μας επιστρέφει λίγο καλύτερα αποτελέσματα και έχουμε καλή παράλληλη επεξεργασία, δηλαδή, η αύξηση των cores μας επιστρέφει καλύτερους χρόνους και στους δυο αλγορίθμους. Στους square χάρτες ο Οριζόντιος αλγόριθμος μας επιστρέφει καλύτερα αποτελέσματα και έχουμε καλή παράλληλη επεξεργασία, δηλαδή, η αύξηση των cores μας επιστρέφει καλύτερους χρόνους και στους δυο αλγορίθμους. 27
ΤΕΛΟΣ 28