Κουρτελής Βίκτωρ. Πρόγραµµα Μεταπτυχιακών Σπουδών. Κατεύθυνση Συστηµάτων Υπολογιστών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Κουρτελής Βίκτωρ. Πρόγραµµα Μεταπτυχιακών Σπουδών. Κατεύθυνση Συστηµάτων Υπολογιστών"

Transcript

1 ιαδικτυακή Εφαρµογή Εύρεσης Παρόµοιων Εικόνων στην Java µε Χρήση Παράλληλων και Κατανεµηµένων Μεθόδων ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Κουρτελής Βίκτωρ Επιβλέπων Καθηγητής: Μαργαρίτης Κωνσταντίνος Εξεταστές: Μαργαρίτης Κωνσταντίνος, Χατζηγεωργίου Αλέξανδρος, Σατρατζέµη Μαρία Τµήµα Εφαρµοσµένης Πληροφορικής Πρόγραµµα Μεταπτυχιακών Σπουδών Κατεύθυνση Συστηµάτων Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Θεσσαλονίκη, Ιούλιος 2012

2 ii Copyright Κουρτελής Βίκτωρ, 2012 Με επιφύλαξη παντός δικαιώµατος. All rights reserved. Η έγκριση της διπλωµατικής εργασίας από το Τµήµα Εφαρµοσµένης Πληροφορικής του Πανεπιστηµίου Μακεδονίας δεν υποδηλώνει απαραιτήτως και αποδοχή των απόψεων του συγγραφέα εκ µέρους του Τµήµατος.

3 iii ΠΕΡΙΛΗΨΗ Ο Παγκόσµιος Ιστός έχει επιτρέψει την κοινοποίηση πλήθους αρχείων στους χρήστες ηλεκτρονικών υπολογιστών και φορητών συσκευών. Λόγω της ποικιλίας αυτής των εγγράφων, έχει ανακύψει η ανάγκη κατηγοριοποίησης και αναζήτησης στον υπάρχοντα όγκο πληροφορίας. Στην παρούσα εργασία, περιγράφεται µια δικτυακή εφαρµογή ανάκτησης εικόνων µε σελίδες διακοµιστή Java (JSP), κάνοντας χρήση παράλληλης (JOMP) και κατανεµηµένης (MPJ Express) τεχνολογίας. Η συγκεκριµένη τεχνολογία αναλύεται στα κυριότερα σηµεία της, δίνοντας έµφαση στον τρόπο ανάπτυξης της εφαρµογής. Τέλος, παρατίθενται πειραµατικά αποτελέσµατα απόδοσης και ακρίβειας µε πίνακες και διαγράµµατα. Λέξεις-κλειδιά: Ανάκτηση εικόνων βάσει περιεχοµένου, MPI, OpenMP, JSP, Java

4 iv

5 v EXECUTIVE SUMMARY World Wide Web has allowed users of personal computers and portable devices the public access to a vast number of files. Because of this variety of documents, the need of categorization and search in the existing volume of information has been arisen. In this thesis, a web application of image retrieval with Java server pages (JSP), using parallel (JOMP) and distributed (MPJ Express) technology, is described. The specific technology is analyzed into its main points, emphasizing the way that the software has been developed. Finally, performance and accuracy experimental results are provided using tables and charts. Keywords: Content based image retrieval (CBIR), MPI, OpenMP, JSP, Java

6 vi

7 vii ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 1 2. Ανάκτηση Εικόνων Βάσει Περιεχοµένου Ερωτήµατα µε τη µορφή εικόνων Εξαγόµενα χαρακτηριστικά εικόνων Σύγκριση Εικόνων Χρωµατικό ιστόγραµµα Εκτεταµένο γράφηµα γειτνίασης περιοχών Στοιχεία Παράλληλης και Κατανεµηµένης Επεξεργασίας Αρχιτεκτονικές παράλληλων και κατανεµηµένων υπολογιστών ιασύνδεση Μεταβίβασης Μηνυµάτων MPI Ανοιχτή Πολυεπεξεργασία OpenMP Τεχνολογίες Παράλληλης και Κατανεµηµένης Επεξεργασίας MPJ Express (MPI στην Java) Ανάπτυξη προγράµµατος στο MPJ Express Υλοποίηση εναλλακτικής πρόσβασης στο MPJ Express JOMP (OpenMP στην Java) Ανάπτυξη προγράµµατος στο JOMP Υβριδική ανάπτυξη προγράµµατος Τεχνολογίες ιαδικτύου Αποµακρυσµένη Κλήση Μεθόδου RMI Ανάπτυξη εφαρµογής µε RMI Εκτέλεση εφαρµογής µε RMI Μικροεφαρµογές διακοµιστή (servlets) και Σελίδες ιακοµιστή Java (JSP) Ανάπτυξη εφαρµογής µε servlets Ανάπτυξη εφαρµογής µε JSP Επεξεργασία Εικόνας Φόρτωση εικόνας Ανάκτηση πληροφοριών εικόνας... 97

8 viii 7.3. Τροποποίηση εικόνας Αποθήκευση εικόνας Περιγραφή Εφαρµογής Οπτική γωνία χρήστη ιαγραµµατική ανάλυση Αρχές και πρότυπα αντικειµενοστρεφούς σχεδίασης Προγραµµατιστικές Λεπτοµέρειες Εφαρµογής Σχεδίαση ιστοσελίδων Προεπεξεργασία δεδοµένων ιακοµιστής RMI Παραλληλοποίηση µε MPJ και JOMP Η οµοιότητα από προγραµµατιστική άποψη Πειραµατικά Αποτελέσµατα Μέγιστος χρόνος αναζήτησης σε τυπικό υπολογιστή Μέγιστος χρόνος αναζήτησης σε συστοιχία Μέγιστος χρόνος προεπεξεργασίας σε συστοιχία Ακρίβεια κατηγοριοποίησης εικόνων Συµπεράσµατα 167 Παραρτήµατα 169 i. Πίνακες πειραµατικών αποτελεσµάτων ii. Πηγαίος κώδικας και συλλογή εικόνων Παραποµπές / Βιβλιογραφικές Αναφορές 179 Πρόσθετη Βιβλιογραφία 183

9 1. Εισαγωγή Η ραγδαία εξέλιξη των τεχνολογιών αποθήκευσης και µετάδοσης των δεδοµένων µέσω του ιαδικτύου έχει απλοποιήσει µε ουσιαστικό τρόπο την δηµοσιοποίηση αρχείων, όπως εγγράφων, εικόνων, ήχου και βίντεο. Η αποτελεσµατική αναζήτηση σε αυτόν τον όγκο των δεδοµένων απαιτεί την εξαγωγή συγκεκριµένων πληροφοριών προκειµένου να δηµιουργηθεί µια βάση δεδοµένων. Η εύρεση παρόµοιων εικόνων βάσει ερωτήµατος µέσω παραλληλισµού αποτελεί τον προβληµατισµό της εργασίας. Η υψηλού επιπέδου ανάκτηση εικόνων βάσει περιεχοµένου αποκτάει όλο και µεγαλύτερη σηµασία δεδοµένου του πλήθους των διαθέσιµων αρχείων και της ποικιλίας των εφαρµογών µε τις οποίες σχετίζεται. Η παρούσα εργασία µελετάει και αναπτύσσει συγκεκριµένη υλοποίηση µιας τέτοιας αναζήτησης µε χρήση σύγχρονων τεχνολογιών παράλληλης τεχνολογίας και διαδικτύου. Ο σκοπός είναι η περιγραφή των κυριότερων σηµείων του λογισµικού που αναπτύχθηκε µε έµφαση στις τεχνολογίες που χρησιµοποιήθηκαν. Η µέθοδος εργασίας είναι κατά βάση προγραµµατιστική και εν µέρει βιβλιογραφική, κάνοντας χρήση κυρίως ηλεκτρονικών πηγών από το ιαδίκτυο, αλλά και έντυπων βοηθηµάτων. Όσον αφορά τη δοµή, αρχικά αναλύεται το θεωρητικό υπόβαθρο της εργασίας, δηλαδή το πλαίσιο στο οποίο συµπεριλαµβάνεται η σύγκριση εικόνων ως προς την οµοιότητα και οι αλγοριθµικές τεχνικές για την αναπαράσταση της πληροφορίας σε µια εικόνα. Η θεωρία συµπληρώνεται µε στοιχεία και τεχνολογίες παράλληλης επεξεργασίας και διαδικτύου, καθώς και επεξεργασίας εικόνας. Στη συνέχεια, περιγράφεται η εφαρµογή που υλοποιήθηκε από την οπτική γωνία του χρήστη και του κάθε είδους προγραµµατιστή, παραθέτοντας και αποσπάσµατα κώδικα, όπου αυτό κρίνεται σκόπιµο. Τέλος, παρατίθενται πειραµατικά αποτελέσµατα που αφορούν τον τυπικό χρόνο εκτέλεσης ερωτηµάτων και την ακρίβεια

10 2 ΚΕΦΑΛΑΙΟ 1 κατηγοριοποίησης, καθώς και συµπερασµατικές προτάσεις και µελλοντικές επεκτάσεις της εργασίας. Στο παράρτηµα, δίνονται οι πίνακες που προέκυψαν από τα πειραµατικά αποτελέσµατα της προεπεξεργασίας και των ερωτηµάτων σε τυπικό υπολογιστή και συστοιχία υπολογιστών.

11 2. Ανάκτηση Εικόνων Βάσει Περιεχοµένου Η ανάκτηση εικόνων βάσει περιεχοµένου (Content-Based Image Retrieval, CBIR) αφορά την αναζήτηση εικόνων από συλλογές αρχείων και βάσεις δεδοµένων. Η ανάκτηση αυτή γίνεται κάνοντας χρήση µιας σηµασιολογικής περιγραφής των περιεχοµένων της κάθε εικόνας. Η φράση «βάσει περιεχοµένου» έρχεται σε αντιδιαστολή µε την παραδοσιακή αναζήτηση η οποία αξιοποιεί τα µεταδεδοµένα της εικόνας, όπως είναι λέξεις-κλειδιά, ετικέτες και περιγραφές. Η ανάγκη της εύρεσης της επιθυµητής εικόνας από µια συλλογή αφορά πλήθος επαγγελµατιών, όπως ειδησεογράφους οι οποίοι ενδιαφέρονται για κάποιο συγκεκριµένο είδος γεγονότος, σχεδιαστές που ψάχνουν για υλικά µε συγκεκριµένο χρώµα ή υφή και µηχανικούς που αναζητούν σχέδια κάποιου εξαρτήµατος. Εποµένως, οι ανάγκες του χρήστη καθορίζουν και τον τύπο του ερωτήµατος το οποίο υποβάλλεται σε µια βάση δεδοµένων. Ειδικότερα, µια αναζήτηση µπορεί να αφορά εικόνες που απεικονίζουν συγκεκριµένα γεγονότα, χαρακτηρίζονται από συγκεκριµένη διάθεση ή απλώς περιέχουν κάποια υφή ή µοτίβο. υνητικά, οι εικόνες έχουν πολλές ιδιότητες που µπορούν να χρησιµοποιηθούν για την ανάκτηση, µερικές από τις οποίες είναι: η παρουσία ενός συγκεκριµένου συνδυασµού χρώµατος, υφής και σχήµατος (π.χ. χρυσά αστέρια), η διάταξη συγκεκριµένων τύπων αντικειµένων (π.χ. καρέκλες γύρω από ένα τραπέζι), η απεικόνιση συγκεκριµένου τύπου γεγονότος (π.χ. ένας ποδοσφαιρικός αγώνας), η ύπαρξη επώνυµων προσώπων, τοποθεσιών ή γεγονότων (π.χ. ένας επίσηµος χαιρετά το πλήθος) υποκειµενικά συναισθήµατα που συσχετίζονται µε την εικόνα (π.χ. χαρά)

12 4 ΚΕΦΑΛΑΙΟ 2 συνοδευτικά δεδοµένα ή µεταδεδοµένα, όπως ο δηµιουργός της εικόνας ή η τοποθεσία και η ηµεροµηνία λήψης µιας φωτογραφίας. Κάθε µία από τις παραπάνω ιδιότητες αφορούν και συγκεκριµένο τύπο ερωτήµατος. Με εξαίρεση το τελευταίο (που σχετίζεται µε τα µεταδεδοµένα και αφορά συστήµατα ανάκτησης κειµένου), όλα τα ερωτήµατα αντιπροσωπεύουν και ένα υψηλότερο επίπεδο αφαίρεσης από το προηγούµενο και έτσι είναι δυσκολότερο να απαντηθούν χωρίς κάποια εξωτερική πληροφόρηση [11] Ερωτήµατα µε τη µορφή εικόνων Ως εκ τούτου, ενώ οι απαιτήσεις αυτών που αναζητούν εικόνες µπορεί να διαφέρουν σηµαντικά, είναι χρήσιµο να κατηγοριοποιήσουµε τα ερωτήµατα για εικόνες σε τρία επίπεδα αυξανόµενης πολυπλοκότητας: 1 Πρωτογενή χαρακτηριστικά, όπως το χρώµα, η υφή, το σχήµα ή τοποθέτηση των στοιχείων της εικόνας. Παραδείγµατα σχετικών ερωτηµάτων περιλαµβάνουν «αναζήτηση εικόνων µε σκουρόχρωµα αντικείµενα στην πάνω δεξιά γωνία», «αναζήτηση εικόνων µε κίτρινα αστέρια σε κυκλική διάταξη» ή συνηθέστερα «αναζήτηση περισσότερων εικόνων που µοιάζουν µε µια συγκεκριµένη». Αυτό το επίπεδο ανάκτησης κάνει χρήση χαρακτηριστικών, όπως είναι µια δεδοµένη απόχρωση κίτρινου, τα οποία είναι αντικειµενικά και µπορούν άµεσα να εξαχθούν από τις ίδιες τις εικόνες, χωρίς την ανάγκη πρόσθετων πληροφοριών. Κάτι τέτοιο θέτει περιορισµούς στην αξιοποίηση του επιπέδου σε εφαρµογές όπως κατοχύρωση εµπορικών σηµάτων, ταυτοποίηση σχεδίων και χρωµατικό ταίριασµα. 2 Λογικά ή σηµασιολογικά χαρακτηριστικά, τα οποία αφορούν λογικά συµπεράσµατα σχετικά µε την ταυτότητα των απεικονιζόµενων αντικειµένων. ιακρίνονται περαιτέρω σε:

13 Ανάκτηση Εικόνων Βάσει Περιεχοµένου 5 ανάκτηση αντικειµένων ενός δεδοµένου τύπου, για παράδειγµα «αναζήτηση εικόνων ενός διώροφου λεωφορείου», και ανάκτηση µεµονωµένων αντικειµένων ή προσώπων, για παράδειγµα «αναζήτηση µιας εικόνας µε τον Παρθενώνα». Για την διεκπεραίωση αιτηµάτων αυτού του είδους, απαιτείται πρόσβαση σε κάποια εξωτερική βάση γνώσης. Στο πρώτο παράδειγµα, χρειάζεται η γνώση για την αναγνώριση ενός αντικειµένου ως λεωφορείου και όχι ως φορτηγού, ενώ στο δεύτερο απαιτείται η γνώση ότι µια συγκεκριµένη κατασκευή έχει ονοµαστεί «Παρθενώνας». Τα κριτήρια αναζήτησης στο επίπεδο αυτό είναι συνήθως αρκετά αντικειµενικά. 3 Αφηρηµένες ιδιότητες, οι οποίες σχετίζονται µε λογική επεξεργασία για τη σηµασία και το σκοπό των αντικειµένων ή του σκηνικού. Όπως και πριν, υποδιαιρούνται σε: ανάκτηση επώνυµων γεγονότων ή δραστηριοτήτων, για παράδειγµα «αναζήτηση εικόνων παραδοσιακού σκωτσέζικου χορού», και ανάκτηση εικόνων συναισθηµατικής σηµασίας, για παράδειγµα «αναζήτηση µιας εικόνας που απεικονίζει θύµατα πολέµου». Η επιτυχής απάντηση ερωτηµάτων του είδους αυτού προ ποθέτει κάποια εξειδίκευση από τη µεριά του ενδιαφεροµένου. Μπορεί να χρειαστεί πολύπλοκη λογική σκέψη και συχνά υποκειµενικές εκτιµήσεις προκειµένου να γίνει η σύνδεση µεταξύ του περιεχοµένου της εικόνας και των αφηρηµένων εννοιών. Παρόλο που τα υπάρχοντα συστήµατα CBIR λειτουργούν αποτελεσµατικά µόνο στο κατώτερο επίπεδο (των πρωτογενών χαρακτηριστικών), οι περισσότεροι χρήστες απαιτούν υψηλοτέρα επίπεδα ανάκτησης. Οι χρήστες οι οποίοι χρειάζεται να ανακτήσουν εικόνες από µια συλλογή προέρχονται από ποικίλους τοµείς, συµπεριλαµβανοµένων της πρόληψης της εγκληµατικότητας, της ιατρικής, της αρχιτεκτονικής, της ιστορίας της τέχνης και του

14 6 ΚΕΦΑΛΑΙΟ 2 τύπου. Για το λόγο αυτό, γίνονται προσπάθειες προκειµένου να κατηγοριοποιηθεί η συµπεριφορά των χρηστών, έτσι ώστε µελλοντικά να ικανοποιούνται οι ανάγκες τους σε µεγαλύτερο βαθµό. Η «παραδοσιακή» πρακτική ευρετηριοποίησης εικόνων βασίζεται κατά κανόνα σε περιγραφές κειµένου ή κωδικούς κατηγοριοποίησης, που υποστηρίζονται από µερικά συστήµατα ανάκτησης κειµένου τα οποία προσαρµόζονται για να διαχειρίζονται εικόνες. Αντίθετα, η ανάκτηση εικόνων βάσει περιεχοµένου λειτουργεί σε τελείως διαφορετική βάση από την ευρετηριοποίηση λέξεων-κλειδιών, καθώς οι συλλογές εικόνων ουσιαστικά στερούνται κάποιας λογικής δοµής. Μια ψηφιακή εικόνα δεν είναι παρά ένας πίνακας µε τιµές εικονοστοιχείων ή πίξελ (pixels) χωρίς κάποια έµφυτη σηµασία. Σύµφωνα µε την στρατηγική CBIR, πρωταρχικά χαρακτηριστικά τα οποία διαφοροποιούν το περιεχόµενο των εικόνων, όπως είναι το χρώµα, η υφή και το σχήµα, υπολογίζονται τόσο για τις αποθηκευµένες εικόνες της συλλογής όσο και για τις εικόνεςερωτήµατα. Τα χαρακτηριστικά αυτά χρησιµοποιούνται για να προσδιοριστούν οι αποθηκευµένες εικόνες οι οποίες ταιριάζουν περισσότερο µε το κάθε ερώτηµα. Σηµασιολογικές πληροφορίες, όπως το είδος ενός απεικονιζόµενου αντικειµένου, είναι δυσκολότερο να εξαχθούν, συνεπώς η αξιοποίησή τους παραµένει ένα ανοιχτό ερευνητικό θέµα. Να επισηµάνουµε στο σηµείο αυτό ότι η ανάκτηση βίντεο και κινούµενης εικόνας είναι αντικείµενο αυξανόµενης σηµαντικότητας. Οι τεχνικές CBIR µπορούν και εδώ να χρησιµοποιηθούν για να γίνει κατάτµηση του βίντεο σε αυτόνοµες σταθερές εικόνες, να περιγραφεί το περιεχόµενο της κάθε µίας και να αναζητηθούν αρχεία βίντεο µε κάποιο καθορισµένο είδος κίνησης. ιευκρινιστικά, σηµειώνουµε ότι η αναζήτηση εικόνων βάσει περιεχοµένου αντλεί πολλές από τις µεθόδους της από τον τοµέα της επεξεργασίας εικόνας και της υπολογιστικής όρασης και θεωρείται από µερικούς ερευνητές ως παράγωγη του τοµέα αυτού.

15 Ανάκτηση Εικόνων Βάσει Περιεχοµένου 7 ιαφοροποιείται, ωστόσο, από αυτούς τους κλάδους, καθώς δίνει έµφαση στην ανάκτηση εικόνων µε επιθυµητά χαρακτηριστικά από µια συλλογή µεγάλης κλίµακας. Η επεξεργασία εικόνας καλύπτει πολύ µεγαλύτερο φάσµα εφαρµογών, συµπεριλαµβανοµένων της βελτίωσης, της συµπίεσης, της µετάδοσης µέσω δικτύου και της ερµηνείας της εικόνας. Υπάρχουν, βέβαια, κοινά σηµεία ενδιαφέροντος, όπως η αναγνώριση αντικειµένων µέσω της ανάλυσης χαρακτηριστικών, όµως ο διαχωρισµός µεταξύ της βασικής ανάλυσης εικόνας και της αναζήτησης εικόνων βάσει περιεχοµένου είναι συνήθως ξεκάθαρος. Ας αναφέρουµε ένα παράδειγµα για την προηγούµενη διάκριση. Οι αστυνοµικές αρχές αρκετών χωρών κάνουν χρήση αυτόµατων συστηµάτων αναγνώρισης προσώπων. Τέτοια συστήµατα αξιοποιούνται µε δύο τρόπους. Πρώτον, η εικόνα µπροστά στην κάµερα µπορεί να συγκριθεί µε την καταχώριση ενός συγκεκριµένου ανθρώπου στη βάση δεδοµένων, έτσι ώστε να επαληθευτεί η ταυτότητά του. Στην περίπτωση αυτή, γίνεται σύγκριση µόνο δύο εικόνων και δεν µπορεί να θεωρηθεί εύκολα ως CBIR. εύτερον, µπορεί να γίνει αναζήτηση σε ολόκληρη τη βάση δεδοµένων για να βρεθεί η εικόνα που ταιριάζει περισσότερο µε την δοσµένη. Η δεύτερη περίπτωση αποτελεί και το αντικείµενο στην αναζήτηση εικόνων βάσει περιεχοµένου [11] Εξαγόµενα χαρακτηριστικά εικόνων Ανάκτηση χρώµατος Στη βιβλιογραφία, έχουν περιγραφεί αρκετές µέθοδοι ανάκτησης εικόνας στα πλαίσια της χρωµατικής οµοιότητας, αλλά οι περισσότερες είναι παραλλαγές της ίδιας βασικής ιδέας. Για κάθε εικόνα η οποία προστίθεται στη συλλογή, υπολογίζεται το χρωµατικό ιστόγραµµα που απεικονίζει την ποσοτική κατανοµή των εικονοστοιχείων του κάθε χρώµατος. Το ιστόγραµµα της κάθε εικόνας αποθηκεύεται στη βάση δεδοµένων.

16 8 ΚΕΦΑΛΑΙΟ 2 Κατά την αναζήτηση, ο χρήστης προσδιορίζει την επιθυµητή κατανοµή των χρωµάτων, για παράδειγµα 75% µπλε και 25% άσπρο. Εναλλακτικά, υποβάλλει µια πρόσθετη εικόνα-υπόδειγµα από την οποία υπολογίζεται το ιστόγραµµά της. Στη συνέχεια, γίνεται ανάκτηση εκείνων των εικόνων των οποίων τα χρωµατικά ιστογράµµατα ταιριάζουν περισσότερο µε το ιστόγραµµα του υποδείγµατος. Η πιο συχνά χρησιµοποιούµενη τεχνική για το ταίριασµα ιστογραµµάτων είναι η παρεµβολή (intersection). Έχουν προταθεί και παραλλαγές της τεχνικής αυτής, όπως η χρήση αθροιστικών χρωµατικών ιστογραµµάτων (όπου υπολογίζεται η αθροιστική συχνότητα κάθε χρώµατος), ο συνδυασµός της παρεµβολής ιστογραµµάτων και του ταιριάσµατος περιοχών και η χρήση ερωτηµάτων για περιοχές χρωµάτων. Ανάκτηση υφής Ενδεχοµένως, η δυνατότητα ανάκτησης εικόνων µε βάση την οµοιότητα στην υφή δεν φαίνεται πολύ χρήσιµη. Ωστόσο, η δυνατότητα του ταιριάσµατος της υφής µπορεί να διευκολύνει την διάκριση µεταξύ περιοχών εικόνων µε παρόµοιο χρώµα, όπως είναι ο ουρανός και η θάλασσα ή το χορτάρι και τα φύλλα των δέντρων. Μια ποικιλία τεχνικών έχει χρησιµοποιηθεί για τον υπολογισµό της οµοιότητας στην υφή. Ουσιαστικά, µε τις τεχνικές αυτές υπολογίζεται η σχετική φωτεινότητα επιλεγµένων ζευγών εικονοστοιχείων για κάθε εικόνα. Με τον τρόπο αυτό, εκτιµώνται µέτρα υφής, όπως ο βαθµός της αντίθεσης (contrast), της ανοµοιογένειας (coarseness), της κατευθυντικότητας (directionality) και της κανονικότητας (regularity). Τα ερωτήµατα υφής υποβάλλονται µε παρόµοιο τρόπο όπως τα ερωτήµατα χρώµατος προηγουµένως, διαλέγοντας την επιθυµητή υφή από έτοιµα υποδείγµατα ή χρησιµοποιώντας µια εικόναπαράδειγµα. Έπειτα, γίνεται ανάκτηση των εικόνων των οποίων οι µετρικές υφής είναι πλησιέστερες µε αυτές της δεδοµένης εικόνας.

17 Ανάκτηση Εικόνων Βάσει Περιεχοµένου 9 Μια επέκταση της τεχνικής µιµείται τον λεγόµενο «θησαυρό λέξεων», δηλαδή ένα λεξικό ειδικού τύπου το οποίο αποδίδει τις σηµασίες λέξεων ή εκφράσεων. Παρόµοια, µε την τεχνική του «θησαυρού υφών», ανακτώνται οµοιογενείς περιοχές στις εικόνες σύµφωνα µε λέξεις-κλειδιά που αντιπροσωπεύουν σηµαντικές κατηγορίες υφών στη συλλογή, για παράδειγµα, ένας τοίχος ή ένα λιβάδι. Ανάκτηση σχήµατος Σε αντίθεση µε την υφή, το σχήµα είναι µια καλά ορισµένη έννοια, καθώς τα φυσικά αντικείµενα αναγνωρίζονται κυρίως µε βάση το σχήµα τους. Ένας αριθµός χαρακτηριστικών υπολογίζονται για κάθε σχήµα (ανεξαρτήτως διαστάσεων ή κατεύθυνσης) το οποίο αναγνωρίζεται σε κάθε αποθηκευµένη εικόνα της συλλογής. ύο είναι τα κύρια είδη χαρακτηριστικών που χρησιµοποιούνται ευρέως: γενικά χαρακτηριστικά, όπως η αναλογία ή ο λόγος των διαστάσεων, και τοπικά χαρακτηριστικά, όπως διαδοχικά τµήµατα που συνορεύουν µε άλλα αντικείµενα. Εναλλακτικές µέθοδοι για το ταίριασµα σχηµάτων περιλαµβάνουν την χρήση προτύπων ως πηγή αναφοράς υπολογισµένων σχηµάτων, τη σύγκριση ιστογραµµάτων ακµών ως προς την κατεύθυνση και γραµµικές αναπαραστάσεις σχηµάτων αντικειµένων για τη σύγκριση των οποίων αξιοποιούνται τεχνικές αντιστοίχισης ή ταιριάσµατος γραφηµάτων (graph matching). Κατόπιν, τα ερωτήµατα απαντώνται υπολογίζοντας το ίδιο σύνολο χαρακτηριστικών για την εικόνα-υπόδειγµα και ανακτώντας τις εικόνες µε παρόµοια χαρακτηριστικά µε αυτά του υποδείγµατος. Για τον σκοπό αυτό, στο σύστηµα µπορεί να υποβληθεί είτε µια έτοιµη εικόνα είτε ένα σχέδιο το οποίο έχει ζωγραφίσει ο χρήστης. Ανάκτηση άλλων πρωτογενών χαρακτηριστικών Ένας από τους πρωταρχικούς τρόπους πρόσβασης σε δεδοµένα εικόνων είναι η ανάκτηση των επιθυµητών δεδοµένων µε βάση τη θέση τους µέσα στην εικόνα. Η πρόσβαση σε δεδοµένα σύµφωνα µε

18 10 ΚΕΦΑΛΑΙΟ 2 τη θέση τους στον χώρο είναι ουσιώδες ζήτηµα για τα γεωγραφικά πληροφοριακά συστήµατα (Geographical Information Systems, GIS) και έχουν επινοηθεί αποδοτικές µέθοδοι για να επιτευχθεί αυτό. Παρόµοιες τεχνικές έχουν εφαρµοστεί σε συλλογές εικόνων, επιτρέποντας στους χρήστες να κάνουν αναζήτηση για εικόνες που περιέχουν αντικείµενα µε καθορισµένες σχετικές θέσεις µεταξύ τους. Η ευρετηριοποίηση των χωρικών δεδοµένων των εικόνων (δηλαδή των θέσεων των αντικειµένων στις εικόνες) σπανίως είναι χρήσιµη αυτονοµηµένα. Αντιθέτως, είναι αποτελεσµατική όταν χρησιµοποιείται σε συνδυασµό µε άλλα στοιχεία, όπως το χρώµα και το σχήµα [11].

19 3. Σύγκριση Εικόνων Η σύγκριση δύο εικόνων, λοιπόν, συνίσταται στον υπολογισµό του βαθµού ή ποσοστού οµοιότητάς τους, συγκρίνοντας τις δοµές δεδοµένων που σχετίζονται µε τις εικόνες αυτές. Οι δοµές αυτές αφορούν το χρώµα, το σχήµα, την υφή και άλλα στοιχεία µιας εικόνας, όπως έχουν περιγραφεί στην προηγούµενη ενότητα. Ως ψηφιακή εικόνα θεωρούµε έναν πίνακα Α µε Ν γραµµές (ύψος) και Μ στήλες (πλάτος). Πίνακας 1 Πίνακας αναπαράστασης ψηφιακής εικόνας 0 1 Μ Ν 1 Το κάθε στοιχείο του πίνακα καλείται εικονοστοιχείο ή πίξελ (picture element pixel) και περιέχει µια αριθµητική τιµή. Στον χρωµατικό χώρο RGB, µια τιµή εικονοστοιχείου δίνει πληροφορίες για την συµβολή της κάθε µίας από τις τρεις χρωµατικές συνιστώσες κόκκινο, πράσινο και µπλε, όπως επίσης και για τη διαφάνεια (συντελεστής alpha). Οι τιµή της κάθε χρωµατικής συνιστώσας κυµαίνεται από 0 (µηδενική συµβολή) µέχρι 255 (µέγιστη συµβολή). Το εύρος των τιµών της διαφάνειας είναι το ίδιο, µε το 0 να αντιπροσωπεύει το «αόρατο» και το 255 το συµπαγές χρώµα.

20 12 ΚΕΦΑΛΑΙΟ 3 Εικόνα 1 Επιλογή χρώµατος από λογισµικό επεξεργασίας εικόνας (Paint.NET, Πίνακας 2 Παραδείγµατα χρωµάτων Χρωµατικές συνιστώσες ιαφάνεια (Alpha) Χρώµα (0, 0, 0) 255 (0, 0, 0) 128 (128, 128, 128) 255 (255, 255, 255) 255 (0, 255, 255) 255 (150, 100, 50) 255 (50, 100, 150) 191

21 Σύγκριση Εικόνων 13 Η διαδοχική σύγκριση µιας εικόνας-ερωτήµατος µε όλες τις εικόνες µιας συλλογής και η φθίνουσα ταξινόµηση των ποσοστών οµοιότητας που προκύπτουν αποτελεί τον αλγόριθµο ανάκτησης ο οποίος χρησιµοποιείται στην εργασία: Εικόνα 50.jpeg 95% Εικόνα 10.jpeg 88% Εικόνα 278.jpeg 72% Όταν, µάλιστα, επιθυµούµε τη χρήση περισσότερων της µίας βοηθητικών δοµών δεδοµένων, τότε υπολογίζουµε τα ποσοστά οµοιότητας από κάθε αλγόριθµο και συνδυάζουµε τις τιµές αυτές µε τους επιθυµητούς συντελεστές βαρύτητας για κάθε εικόνα: Μέθοδος 1 (βαρύτητα 0.3) Μέθοδος 2 (βαρύτητα 0.7) Εικόνα 50.jpeg 95% 92% 92,9% Εικόνα 10.jpeg 88% 79% 81,7% Εικόνα 278.jpeg 72% 83% 79,7% Μερικά παραδείγµατα τέτοιων βοηθητικών δοµών δεδοµένων που εξυπηρετούν στην σύγκριση εικόνων παρουσιάζονται στη συνέχεια Χρωµατικό ιστόγραµµα Ορίζουµε το ιστόγραµµα χρωµάτων µιας εικόνας ως το διάνυσµα µε τις σχετικές συχνότητες της εµφάνισης των χρωµάτων της εικόνας.

22 14 ΚΕΦΑΛΑΙΟ 3 Εικόνα 2 Παράδειγµα ψηφιακής εικόνας 330 x 158 (= ) µε 6 διακριτά χρώµατα. Πίνακας 3 Ιστόγραµµα της παραπάνω εικόνας (τελευταία στήλη). Χρώµα (κόκκινο, πράσινο, µπλε) Συχνότητα εµφάνισης Απόλυτη Σχετική Μαύρο (0, 0, 0) ,50% Κόκκινο (237, 28, 36) ,62% Πράσινο (34, 177, 76) ,50% Μπλε (63, 72, 204) ,62% Κίτρινο (255, 201, 14) ,50% Λευκό (255, 255, 255) ,27% Σύνολο % Για την Εικόνα 2, το ιστόγραµµα είναι το διάνυσµα [0,045 0,0462 0,045 0,0462 0,045 0,7727] ηλαδή το 4,5% των εικονοστοιχείων είναι µαύρου χρώµατος, ενώ το 77,27% είναι λευκού. Παρόµοια ερµηνεύονται και τα υπόλοιπα ποσοστά. Για µια εικόνα Ν x Μ, ο παρακάτω ψευδοκώδικας υπολογίζει το χρωµατικό της ιστόγραµµα [20]:

23 Σύγκριση Εικόνων 15 Έστω ένας µετρητής για κάθε χρώµα µε µηδενική αρχική τιµή. Για κάθε εικονοστοιχείο i, j (i = 0, 1,, N 1 και j = 0, 1,, M 1) Έστω c το χρώµα του i, j. Αύξησε τον µετρητή του χρώµατος c κατά µία µονάδα. Έστω ένα κενό διάνυσµα µε πλήθος στοιχείων ίσο µε το πλήθος των µετρητών. Για κάθε µετρητή χρώµατος ιαίρεσε την τιµή του µετρητή µε το πλήθος των εικονοστοιχείων N M και τοποθέτησε το αποτέλεσµα στην επόµενη θέση του διανύσµατος. Ο παρατηρητικός αναγνώστης θα αναρωτηθεί για τη δοµή δεδοµένων που απαιτείται για τους µετρητές και σκόπιµα δεν διευκρινίζεται στον ψευδοκώδικα. Μπορεί να είναι ένα διάνυσµα πραγµατικών αριθµών ή ένας πίνακας αντιστοίχισης (µεταξύ χρωµάτων και αριθµών). Πόση µνήµη, όµως, θα πρέπει να δεσµεύσουµε στον υπολογιστή ώστε να καλύψουµε όλα τα δυνατά χρώµατα; Στην πράξη, το σύνολο των χρωµάτων που εξετάζονται και καταγράφονται δεν είναι ολόκληρο το σύνολο µε τα διακριτά χρώµατα της εικόνας. Μια εικόνα όπου το κάθε εικονοστοιχείο καταλαµβάνει 8 bits (βάθος χρώµατος) µπορεί να έχει µέγιστο πλήθος διακριτών χρωµάτων ίσο µε 256, ενώ µε βάθος χρώµατος 24 bits, τα διακριτά χρώµατα φτάνουν τα Αυτό σηµαίνει ότι θα χρειαζόµασταν ισάριθµους µετρητές για κάθε εικόνα, κάτι το οποίο δεν συµφέρει υπολογιστικά. Το χρωµατικό ιστόγραµµα µπορεί να περιλαµβάνει, λόγου χάρη, Q = 8 βαθµίδες για κάθε µία από τις συνιστώσες του χρωµατικού χώρου RGB (κόκκινο, πράσινο και µπλε). Έτσι, προκύπτει ένας χρωµατικός κύβος µε πλευρά Q και πλήθος εξεταζοµένων χρωµάτων ίσο µε 8 3 = 512.

24 16 ΚΕΦΑΛΑΙΟ 3 Εικόνα 3 Χρωµατικός κύβος µε πλευρά 11. Ουσιαστικά, το κάθε χρώµα που συναντάται σε µια εικόνα αντικαθίσταται από ένα «γειτονικό» του στον χρωµατικό κύβο. Όσο µεγαλύτερη είναι η πλευρά του κύβου, τόσο πιο αντιπροσωπευτικό θα είναι και το ιστόγραµµα, αφού τα χρώµατα που αντικαθιστούν τα αρχικά θα είναι πλησιέστερα στα πραγµατικά. Ως διάνυσµα, το τελικό παραγόµενο ιστόγραµµα έχει Q 3 στοιχεία και αποτελείται από όλα τα στοιχεία του κύβου µε κάποια συγκεκριµένη σειρά. Η σειρά επίσκεψης του κάθε στοιχείου του κύβου γίνεται µε την προφανή µέθοδο της πλήρους απαρίθµησης: (0, 0, 0), (0, 0, 1),, (0, 0, Q 1), (0, 1, 0), (0, 1, 1),, (0, 1, Q 1),, (0, Q 1, 0), (0, Q 1, 1),, (0, Q 1, Q 1),, (Q 1, Q 1, 0), (Q 1, Q 1, 1),, (Q 1, Q 1, Q 1).

25 Σύγκριση Εικόνων 17 Ο ψευδοκώδικας, τώρα, µπορεί να γραφεί µε πιο συγκεκριµένο τρόπο, ώστε να υλοποιηθεί αποδοτικότερα ο υπολογισµός του ιστογράµµατος: Έστω counts ένας πίνακας (µετρητών) 3 διαστάσεων µε πλήθος στοιχείων της κάθε διάστασης ίσο µε Q. Για κάθε εικονοστοιχείο i, j (i = 0, 1,, N 1 και j = 0, 1,, M 1) Έστω c το χρώµα του i, j. Έστω r, g, b οι χρωµατικές συνιστώσες του κόκκινου, του πράσινου και του µπλε του χρώµατος c. Αύξησε κατά µία µονάδα την τιµή του στοιχείου του πίνακα counts µε αριθµοδείκτες [256 r / Q, 256 g / Q, 256 b / Q ]. Έστω bins ένα διάνυσµα (δεκαδικών αριθµών) Q 3 στοιχείων και i ίσο µε µηδέν. Για κάθε συνδυασµό αριθµοδεικτών r, g, b (r, g, b = 0, 1,, Q 1) Θέσε το στοιχείο bins[i ] ίσο µε counts[r, g, b ] / (N M ). Αύξησε κατά µία µονάδα το i. Σε ένα σύστηµα αναζήτησης εικόνων, ο παραπάνω υπολογισµός του ιστογράµµατος γίνεται για κάθε εικόνα της συλλογής και για την εικόνα-ερώτηµα που υποβάλλει ο χρήστης. Πλέον, η σύγκριση δυο εικόνων ανάγεται, σε πρώτη φάση, στην σύγκριση των χρωµατικών ιστογραµµάτων τους. Για την σύγκριση αυτή, µπορούν να χρησιµοποιηθούν ποικίλες µετρικές οµοιότητας διανυσµάτων [9]. Ενδεικτικά, για τα διανύσµατα (ή ιστογράµµατα) α και b, αναφέρουµε: Q 1 i= 0 την παρεµβολή (intersection), min( a, ) 3 i b i

26 18 ΚΕΦΑΛΑΙΟ 3 και τις παρακάτω µετρικές απόστασης: την απόσταση πόλης ή Μανχάταν, 3 Q 1 i= 0 a i b i 1 i= 0 την ευκλείδεια απόσταση, ( a ) την χ τετράγωνο (χ 2 ), 3 Q 3 Q i b i 2 2 ( ai bi) ( a b) 1 i= 0 i + όπου η αφαίρεση από την µονάδα οδηγεί στις αντίστοιχες µετρικές οµοιότητας. Η απόλυτη ταύτιση δύο εικόνων υποδηλώνεται µε τιµή µετρικής απόστασης ίση µε µηδέν, ενώ όσο αυξάνεται η απόκλιση των εικόνων, τόσο µεγαλώνει και η τιµή της µετρικής. Για κανονικοποιηµένα ιστογράµµατα (όπου χρησιµοποιούνται οι σχετικές συχνότητες, σύµφωνα µε τον ορισµό), η απόλυτη ταύτιση εξακριβώνεται µε τιµή µετρικής πάλι µηδέν (0), αλλά µε την µέγιστη τιµή να ισούται µε τη µονάδα (1), κάνοντας εφικτή την σύγκριση εικόνων διαφορετικών διαστάσεων [10]. Παραδείγµατος χάρη, µε Q = 2 επίπεδα κβαντοποίησης για λόγους απλότητας, η διαθέσιµη παλέτα χρωµάτων φαίνεται στην Εικόνα 4. Χρώµατα από το µαύρο (0, 0, 0) µέχρι το γκρι (µη συµπεριλαµβανοµένου) καταµετρώνται µε τον µετρητή του µαύρου, ενώ χρώµατα από το γκρι (128, 128, 128) µέχρι το λευκό (255, 255, 255) µε τον µετρητή του γκρι. Οµοίως απαριθµούνται τα υπόλοιπα χρώµατα. i

27 Σύγκριση Εικόνων 19 (0, 0, 0) (0, 0, 128) (0, 128, 0) (0, 128, 128) (128, 0, 0) (128, 0, 128) (128, 128, 0) (128, 128, 128) Εικόνα 4 Κβαντοποίηση του χρωµατικού χώρου RGB µε 2 βαθµίδες για κάθε συνιστώσα. Μια εικόνα µε όλα τα εικονοστοιχεία της λευκά θα έχει ιστόγραµµα [ ] ενώ το ιστόγραµµα µιας εικόνας µε όλα τα εικονοστοιχεία µαύρα θα είναι [ ] Με τη µέθοδο της παρεµβολής, διατρέχουµε ταυτόχρονα τα στοιχεία των διανυσµάτων ένα προς ένα και επιλέγουµε το µικρότερο κάθε φορά. Το άθροισµα των επιλεγέντων στοιχείων αποτελεί τον βαθµό οµοιότητας των διανυσµάτων. Για τα προηγούµενα ιστογράµµατα, το άθροισµα προκύπτει να είναι το αναµενόµενο: 0, δηλαδή ποσοστό οµοιότητας ίσο µε 0%. Παρόµοια, δυο ίδια ιστογράµµατα έχουν µετρική οµοιότητας ίση µε τη µονάδα, όπως και κάθε µεµονωµένο ιστόγραµµα έχει µοναδιαίο άθροισµα στοιχείων. Επιπρόσθετα, έστω η αρχική εικόνα της ενότητας και µια εικόνα µε παρόµοια χρώµατα.

28 20 ΚΕΦΑΛΑΙΟ 3 Εικόνα 5 υο ψηφιακές εικόνες (α, β) µε παρόµοια χαρακτηριστικά. Τα ιστογράµµατα των εικόνων αυτών είναι [0, , , , , , ] και [0, ,042 0, , , ,79952] αντίστοιχα. Σύµφωνα µε τη µέθοδο της παρεµβολής, προκύπτει το άθροισµα 0, Αυτό είναι και το ποσοστό οµοιότητας των δύο εικόνων: 93,34%. Στο ποσοστό αυτό συνέβαλλε η οµοιότητα των χρωµάτων των εικόνων και όχι η θέση των αντικειµένων. Η Εικόνα 6 έχει το ίδιο περίπου ιστόγραµµα µε την Εικόνα 5 (β) και παρουσιάζει οµοιότητα σχεδόν 92% µε την Εικόνα 5 (α). Εικόνα 6 Εικόνα µε αναλογία χρωµάτων ίδια µε την Εικόνα 5 (β).

29 Σύγκριση Εικόνων 21 Ωστόσο, η παραπάνω εικόνα κάθε άλλο παρά όµοια είναι µε την αρχική εικόνα, αν και τα ιστογράµµατά τους δεν διαφέρουν κατά πολύ. Η διαπίστωση αυτή επιβεβαιώνει την παρατήρηση ότι το χρωµατικό ιστόγραµµα δεν απεικονίζει όλες τις πληροφορίες µιας εικόνας. Συνεπώς, απαιτούνται και άλλες δοµές δεδοµένων, όπως το γράφηµα περιοχών που περιγράφεται στην επόµενη ενότητα Εκτεταµένο γράφηµα γειτνίασης περιοχών Ορίζουµε το γράφηµα γειτνίασης περιοχών (region adjacency graph) ως ένα προσανατολισµένο, απλό και επίπεδο γράφηµα που εξάγεται από µία ψηφιακή εικόνα Α µε τις κορυφές να αντιπροσωπεύουν τις οµοιογενείς περιοχές της εικόνας και µε τις ακµές να συνδέουν δύο κορυφές εφόσον οι αντίστοιχες περιοχές έχουν ένα τουλάχιστον γειτονικό εικονοστοιχείο. Στον παραπάνω ορισµό, τα γειτονικά ενός εικονοστοιχείου Aij στην ψηφιακή εικόνα Α είναι τα Ai±1,j, Ai,j±1 (4-γειτονιά). Επίσης, µια περιοχή είναι οµοιογενής όταν τα εικονοστοιχεία της περιοχής είναι παρόµοια ανά δύο, δηλαδή για κάθε ζεύγος εικονοστοιχείων Aij και Akl οι τιµές φωτεινότητάς τους αij και αkl δεν απέχουν περισσότερο από ένα καθορισµένο όριο θ: αij αkl θ Από την άλλη µεριά, ένα εκτεταµένο γράφηµα γειτνίασης περιοχών (extended region adjacency graph) που έχει εξαχθεί από µια ψηφιακή εικόνα Α είναι ένα κατευθυνόµενο άκυκλο γράφηµα (V, E, α, β), όπου υπάρχει µια κορυφή vi V για κάθε περιοχή Ri, υπάρχει ένα τόξο (vi, vj) E εφόσον avg(ri) < avg(rj), όπου avg(r) είναι η µέση τιµή φωτεινότητας των εικονοστοιχείων της περιοχής R,

30 22 ΚΕΦΑΛΑΙΟ 3 η ετικέτα α(vi) της κορυφής vi V είναι το ποσοστό κάλυψης της περιοχής Ri σε σχέση µε το συνολικό πλήθος των εικονοστοιχείων της εικόνας και η ετικέτα β(vi, vj) του τόξου (vi, vj) E είναι η αύξηση της µέσης τιµής φωτεινότητας κατά την µετάβαση από την περιοχή Ri στην Rj. Στην Εικόνα 7 απεικονίζεται ένα τµήµα 8 επί 8 µιας ασπρόµαυρης εικόνας (ώστε να επισηµανθούν οι φωτεινότητες των εικονοστοιχείων) µε επίπεδα φωτεινότητας από 0 (µαύρο) έως και 255 (άσπρο). Με όριο οµοιογένειας θ = 20, προκύπτει το γράφηµα στην Εικόνα 8, όπου οι τιµές των κορυφών έχουν πολλαπλασιαστεί µε το πλήθος των εικονοστοιχείων της εικόνας για λόγους κατανοησιµότητας. Εικόνα 7 Τµήµα 8 x 8 ασπρόµαυρης εικόνας. Εικόνα 8 Εκτεταµένο γράφηµα γειτνίασης περιοχών της προηγούµενης εικόνας µε όριο θ = 20. Οι τιµές των κορυφών είναι πολλαπλασιασµένες µε 64 (= 8 x 8).

31 Σύγκριση Εικόνων 23 Εννοείται πως µε µηδενικό όριο (θ = 0) θα προκύψουν τόσες περιοχές όσα και τα εικονοστοιχεία (στη συνήθη περίπτωση, διότι κάποια ενδέχεται να έχουν ακριβώς την ίδια φωτεινότητα). Όσο αυξάνεται το θ τόσες λιγότερες περιοχές δηµιουργούνται, µε κατάληξη µία µόνο περιοχή (ολόκληρη η εικόνα) όταν θ = 255. Εικόνα 9 Περιοχές από την Εικόνα 7 µε παρόµοια εικονοστοιχεία για διαφορετικά όρια θ (5, 15, 25).

32 24 ΚΕΦΑΛΑΙΟ 3 Η αναδροµική έκδοση του αλγορίθµου υπολογισµού των περιοχών µιας εικόνας «επισκέπτεται» τη γειτονιά κάθε εικονοστοιχείου: Θέτουµε όλα τα εικονοστοιχεία ως µη σηµειωµένα. Για κάθε µη σηµειωµένο εικονοστοιχείο (i, j ) Θέτουµε το (i, j ) ως σηµειωµένο Αναθέτουµε το (i, j ) σε µια καινούρια περιοχή Επεξεργαζόµαστε την γειτονιά του (i, j ) όπου η επεξεργασία της γειτονιάς του (i, j ) ακολουθεί τα παρακάτω βήµατα: Για κάθε εικονοστοιχείο (k, l ) γειτονικό του (i, j ), µη σηµειωµένο και παρόµοιο µε το (i, j ) Θέτουµε το (k, l ) ως σηµειωµένο Αναθέτουµε το (i, j ) στην τρέχουσα περιοχή Επεξεργαζόµαστε την γειτονιά του (k, l ) Εναλλακτικός τρόπος υπολογισµού των περιοχών, είναι η δηµιουργία του γραφήµατος πλέγµατος της εικόνας, όπου τα παρόµοια εικονοστοιχεία είναι συνδεδεµένα µε ακµή, και η εύρεση των συνεκτικών συνιστωσών (connected components) του γραφήµατος [4]. Έχοντας, λοιπόν, υπολογίζει τις περιοχές της εικόνας, η δηµιουργία του γραφήµατος περιοχών περιλαµβάνει την ανάθεση ετικετών στις κορυφές και τα τόξα: ηµιουργούµε ένα νέο γράφηµα g Για κάθε περιοχή Ri Προσθέτουµε µια κορυφή vi στο g Θέτουµε ως ετικέτα του vi το σχετικό µέγεθος της Ri ως προς το πλήθος των εικονοστοιχείων της εικόνας Για κάθε ζεύγος γειτονικών περιοχών Ri, Rj

33 Σύγκριση Εικόνων 25 Αν avg(ri) < avg(rj) Προσθέτουµε το τόξο (vi, vj) στο g Θέτουµε ως ετικέτα του (vi, vj) την τιµή avg(rj) avg(ri) αλλιώς αν avg(rj) < avg(ri) Προσθέτουµε το τόξο (vj, vi) στο g Θέτουµε ως ετικέτα του (vj, vi) την τιµή avg(ri) avg(rj) Για να συγκρίνουµε, συµπερασµατικά, δυο εικόνες, µπορούµε να συγκρίνουµε τα εκτεταµένα γραφήµατά τους g1 = (V1, E1, α1, β1) και g2 = (V2, E2, α2, β2). Η σύγκριση γίνεται υπολογίζοντας το βάρος της αντιστοίχισης µε το ελάχιστο βάρος του πλήρους διµερούς γραφήµατος (V, U, E) που προκύπτει από τα g1 και g2, όπου V = E1 {(Λ, Λ) U = E2 {(Λ, Λ) E = V U και κάθε τόξο (ei, ej) E έχει βάρος wij = k β1(ei) β2(ej) + (1 k) α1(vp) α2(ur) + (1 k) α1(vq) α2(us) µε ei = (vp, vq) και ej = (ur, us). Η ετικέτα των πλασµατικών κορυφών είναι α1(λ) = α2(λ) = 1 και των πλασµατικών τόξων είναι β1(λ, Λ) = β2(λ, Λ) = k 1, όπου k είναι το πλήθος των επιπέδων του γκρι στις εικόνες (συνήθως 256).

34 26 ΚΕΦΑΛΑΙΟ 3

35 4. Στοιχεία Παράλληλη αράλληλης και Κατανεµηµένη ατανεµηµένης Επεξεργασία πεξεργασίας Στα αρχικά στάδια εξέλιξης του ηλεκτρονικού υπολογιστή, το λογισµικό εκτελούνταν µε σειριακό ή ακολουθιακό τρόπο για την επίλυση ενός προβλήµατος, καθώς ήταν διαθέσιµη µία Κεντρική Μονάδα Επεξεργασίας (CPU) και η εκτέλεση της κάθε εντολής του λογισµικού την χρονική στιγµή ti προ πέθετε την ολοκλήρωση της προηγούµενης την χρονική στιγµή ti 1: Εικόνα 10 Ακολουθιακή εκτέλεση. Με την πρόοδο της τεχνολογίας, έγινε δυνατή η χρήση πολλαπλών υπολογιστικών πόρων, όπως πολλαπλές CPUs, οπότε το πρόβληµα διασπάται σε τµήµατα που µπορούν να επιλυθούν ταυτόχρονα: Εικόνα 11 Παράλληλη εκτέλεση. Με τον όρο παράλληλη επεξεργασία, εποµένως, εννοούµε την ταυτόχρονη χρήση πολλαπλών υπολογιστικών πόρων για την

36 28 ΚΕΦΑΛΑΙΟ 4 επίλυση ενός προβλήµατος. Το υπολογιστικό πρόβληµα διασπάται σε διακριτά τµήµατα που είναι δυνατόν να επιλυθούν ταυτόχρονα. Το κάθε τµήµα είναι απαραίτητο να εκτελείται σε διαφορετική CPU, προκειµένου να επιτύχουµε αξιόλογη απόδοση. Με τον τρόπο αυτό, µειώνεται ο χρόνος εκτέλεσης του λογισµικού για την επίλυση του δεδοµένου προβλήµατος και είναι εφικτή η επίλυση µεγαλύτερων προβληµάτων. Στο ίδιο χρονικό διάστηµα, γίνεται επεξεργασία περισσότερων δεδοµένων σε σχέση µε την σειριακή εκτέλεση και λαµβάνουν χώρα περισσότεροι υπολογισµοί. Ακόµη, τα δεδοµένα κατανέµονται σε πολλούς υπολογιστές, µε αποτέλεσµα να περιορίζονται τα προβλήµατα µεγέθους µνήµης και µπορούν να χρησιµοποιηθούν αποµακρυσµένοι πόροι µέσω του τοπικού δικτύου ή του ιαδικτύου. Κατηγοριοποιούµε τους παράλληλους υπολογιστές σύµφωνα µε την ταξινόµηση Flynn. Τα κριτήρια ή διαστάσεις είναι η πολλαπλότητα των εντολών (instructions) και των δεδοµένων (data), µε χαρακτηρισµό κάθε διάστασης ως απλής (single) ή πολλαπλής (multiple). Πίνακας 4 Κατηγοριοποίηση παράλληλων υπολογιστών κατά Flynn. Εντολές εδοµένα Απλά Πολλαπλά Απλές SISD SIMD Πολλαπλές MISD MIMD Στην πρώτη κατηγορία (Single Instruction, Single Data SISD), σε κάθε χρονική στιγµή εκτελείται µόνο µία ροή εντολών και υφίσταται επεξεργασία µόνο µια ροή δεδοµένων. Πρόκειται για τον τυπικό σειριακό υπολογιστή. Στην δεύτερη κατηγορία (Single Instruction, Multiple Data SIMD), υπάρχει συνήθως µία κεντρική µονάδα ελέγχου και πολλαπλές

37 Στοιχεία Παράλληλης και Κατανεµηµένης Επεξεργασίας 29 µονάδες επεξεργασίας (PUs) στον υπολογιστή. Σε κάθε χρονική στιγµή, εκτελείται η ίδια εντολή από όλες τις PUs, αλλά υφίσταται επεξεργασία διαφορετική ροή δεδοµένων σε κάθε PU. Παραδείγµατα στην κατηγορία αυτή αποτελούν οι διανυσµατικοί επεξεργαστές (vector processors) για τυποποιηµένα προβλήµατα, όπως πράξεις µεταξύ πινάκων, και οι µονάδες επεξεργασίας γραφικών (GPUs). Στη συνέχεια (Mu Multiple Instruction, Single Data MISD) έχουµε την περίπτωση όπου σε κάθε χρονική στιγµή, εκτελούνται ανεξάρτητες ροές εντολών στην ίδια ροή δεδοµένων. Οι πιθανές χρήσεις της κατηγορίας περιλαµβάνουν την επεξεργασία σήµατος µε πολλαπλά φίλτρα συχνοτήτων και την κρυπτογράφηση κειµένου µε πολλαπλούς αλγορίθµους. Η τελευταία περίπτωση (Multiple Instruction, Multiple Data MIMD) αποτελεί τον πιο διαδεδοµένο τύπο παράλληλου υπολογιστή. Σε κάθε CPU, µπορεί να εκτελείται διαφορετική ροή εντολών ή διαφορετική εντολή της ίδιας ροής και να γίνεται επεξεργασία διαφορετικής ροής δεδοµένων ή διαφορετικών δεδοµένων της ίδιας ροής. Οι υπολογιστές της κατηγορίας αυτής διακρίνονται περαιτέρω σε: µοιραζόµενης µνήµης, όπου όλες οι CPUs έχουν πρόσβαση στην ίδια φυσική µνήµη, και κατανεµηµένης µνήµης, όπου η κάθε CPU διαθέτει τοπική µνήµη και έχει δικτυακή πρόσβαση στη µνήµη των άλλων CPUs. Συνεπώς, η επικοινωνία µεταξύ των παράλληλων διεργασιών επιτυγχάνεται είτε έµµεσα, µέσω κοινών θέσεων µνήµης, είτε άµεσα, µέσω µεταβίβασης των δεδοµένων στο δίκτυο διασύνδεσης. Με τον τρόπο αυτό, οι διεργασίες ανταλλάσουν δεδοµένα µε στόχο την επίλυση ενός προβλήµατος. Επιπρόσθετα, είναι συχνά απαραίτητος ο συγχρονισµός των διεργασιών, δηλαδή ο ορισµός ενός σηµείου (ή περισσότερων) στον κώδικα του προγράµµατος στο οποίο πρέπει να φτάσει η εκτέλεση όλων των διεργασιών. Έτσι, κάποιοι επεξεργαστές θα χρειαστεί να περιµένουν πριν συνεχίσουν, σε περίπτωση που ο έλεγχος του προγράµµατος έχει φτάσει νωρίτερα στο ορισµένο σηµείο συγχρονισµού του κώδικα [1].

38 30 ΚΕΦΑΛΑΙΟ Αρχιτεκτονικές παράλληλων και κατανεµηµένων υπολογιστών Υπολογιστές µοιραζόµενης µνήµης Ως γενική διαπίστωση στις αρχιτεκτονικές µοιραζόµενης µνήµης, όλοι οι επεξεργαστές έχουν πρόσβαση σε έναν κοινό χώρο φυσικών διευθύνσεων, παρόλο που η επεξεργασία στον κάθε επεξεργαστή είναι ανεξάρτητη. Οποιοσδήποτε επεξεργαστής µπορεί να κάνει επιφέρει αλλαγές σε περιοχές της µνήµης και οι τροποποιήσεις αυτές γίνονται ορατές και στους υπόλοιπους. Η αρχιτεκτονική αυτή προσφέρει ένα κατανοητό υπόδειγµα προγραµµατισµού, καθιστώντας σχετικά εύκολη την ανάπτυξη παράλληλων προγραµµάτων, µε παρόµοιο τρόπο µε τα ακολουθιακά προγράµµατα. Επίσης, η επικοινωνία των CPUs και ο συγχρονισµός των δεδοµένων δεν παρουσιάζει ιδιαίτερα προβλήµατα. Ωστόσο, είναι πρακτικά ανέφικτη η κλιµάκωση του αριθµού των επεξεργαστών, καθώς όσο αυξάνεται το πλήθος των CPUs, τόσο αυξάνεται και η κυκλοφορία στον δίαυλο της κύριας µνήµης και η δραστηριότητα της κρυφής µνήµης. Η χρήση τεχνικών ταυτόχρονου προγραµµατισµού για την πρόσβαση στα δεδοµένα αποτελεί µια ακόµη δυσκολία κατά την υλοποίηση παράλληλων προγραµµάτων στην αρχιτεκτονική αυτή. ιακρίνουµε δύο επιµέρους κατηγορίες σύµφωνα µε τον τρόπο προσπέλασης της µνήµης. Όταν οι επεξεργαστές έχουν ίσους χρόνους προσπέλασης στην τοπική και στην αποµακρυσµένη µνήµη, κάνουµε λόγο για οµοιόµορφη προσπέλαση µνήµης (Uniform Memory Access UMA, Εικόνα 12). Σε περίπτωση που η προσπέλαση της αποµακρυσµένης µνήµης είναι πιο χρονοβόρα από την προσπέλαση της τοπικής, τότε αναφερόµαστε σε ανοµοιόµορφη προσπέλαση µνήµης (Non-Uniform Memory Access NUMA, Εικόνα 13) [1].

39 Στοιχεία Παράλληλης και Κατανεµηµένης Επεξεργασίας 31 Εικόνα 12 Αρχιτεκτονική οµοιόµορφης προσπέλασης µοιραζόµενης µνήµης (UMA). Εικόνα 13 Αρχιτεκτονική ανοµοιόµορφης προσπέλασης µοιραζόµενης µνήµης (NUMA). Υπολογιστές κατανεµηµένης µνήµης Από την άλλη µεριά, στις αρχιτεκτονικές κατανεµηµένης επεξεργασίας και µνήµης, ο κάθε επεξεργαστής έχει ιδιωτική µνήµη, ενώ απαιτείται ρητή επικοινωνία µεταξύ των επεξεργαστών για την προσπέλαση αποµακρυσµένης µνήµης (µνήµης άλλων επεξεργαστών).

40 32 ΚΕΦΑΛΑΙΟ 4 Εικόνα 14 Αρχιτεκτονική κατανεµηµένης µνήµης. Κατά συνέπεια, κάθε επεξεργαστής έχει ιδιωτικό χώρο διευθύνσεων και δεν υπάρχει καθολικός χώρος διευθύνσεων, όπως µε την αρχιτεκτονική µοιραζόµενης µνήµης. Είναι προφανές ότι αλλαγές σε θέσεις µνήµης ενός επεξεργαστή δεν επηρεάζουν τη µνήµη των υπόλοιπων επεξεργαστών. Η δικτύωση µεταξύ των υπολογιστών µπορεί να είναι τύπου απλού Ethernet ή µπορεί να χρησιµοποιεί υπερταχέα δίκτυα οπτικών ινών µε ταχύτητες της τάξης των Gbps (gigabits per second). Η τοπολογία των συνδεόµενων υπολογιστών είναι τύπου γραµµής, δακτυλίου, πλέγµατος ή άλλου είδους το οποίο εξυπηρετεί τις ανάγκες της εφαρµογής. Σηµαντικό πλεονέκτηµα στην αρχιτεκτονική αυτή είναι το σχετικά περιορισµένο κόστος κατασκευής και αναβάθµισης, καθώς µπορεί να γίνει χρήση συµβατικών υπολογιστών και τεχνολογιών δικτύου. Έτσι, µπορούν να επιλυθούν προβλήµατα µεγάλης κλίµακας µε συνηθισµένους υπολογιστές και δίκτυα επικοινωνίας, αξιοποιώντας τον «κατανεµηµένο» υπολογιστή που προκύπτει µε σηµαντικά βελτιωµένη επεξεργαστική ικανότητα και µεγαλύτερη διαθέσιµη µνήµη. Ωστόσο, στα µειονεκτήµατα συµπεριλαµβάνεται το σύνθετο σε αρκετά σηµεία του προγραµµατιστικό υπόδειγµα µεταβίβασης µηνυµάτων. Εξάλλου, οι χρόνοι προσπέλασης στη µνήµη διαφέρουν ανάλογα µε την θέση και την απόσταση των υπολογιστών µεταξύ τους.

41 Στοιχεία Παράλληλης και Κατανεµηµένης Επεξεργασίας 33 Τα τελευταία χρόνια, βέβαια, µε την αύξηση της ταχύτητας των δικτύων κατανεµηµένης επεξεργασίας (όπως το Gigabit Ethernet), η σχέση µεταξύ παράλληλης και κατανεµηµένης επεξεργασίας γίνεται όλο και πιο στενή [5]. Υβριδικοί παράλληλοι υπολογιστές Με σκοπό την επίτευξη της υψηλότερης απόδοσης, οι ταχύτεροι υπολογιστές συνδυάζουν τις αρχιτεκτονικές µοιραζόµενης και κατανεµηµένης µνήµης. Όπως φαίνεται στην Εικόνα 15, πολυπύρηνοι επεξεργαστές συνδέονται µεταξύ τους µέσω ενός γρήγορου τοπικού δικτύου. Εικόνα 15 Υβριδική παράλληλη αρχιτεκτονική. Είναι µάλιστα εφικτή η δυνατότητα χρήσης µονάδων επεξεργασίας γραφικών ή GPU (Εικόνα 16), οι οποίες χαρακτηρίζονται από υψηλή ταχύτητα επεξεργασίας πινακοποιηµένων δεδοµένων, όπως ψηφιακές εικόνες δύο διαστάσεων. Εικόνα 16 Υβριδική παράλληλη αρχιτεκτονική µε χρήση CPUs και GPUs.

42 34 ΚΕΦΑΛΑΙΟ 4 Ο κάθε κόµβος της υβριδικής προσέγγισης είναι ένα σύστηµα µοιραζόµενης µνήµης (οµοιόµορφης προσπέλασης). Μέσω του δικτύου επικοινωνίας, οποιοσδήποτε κόµβος έχει πρόσβαση στη µνήµη των υπόλοιπων µε την λογική της κατανεµηµένης µνήµης (ανοµοιόµορφης προσπέλασης). Ασφαλώς, µε τη συγκεκριµένη αρχιτεκτονική, οι υπολογιστικοί πόροι αξιοποιούνται αποδοτικότερα. Είναι προφανής, ωστόσο, η δυσκολία προγραµµατισµού έχοντας υπόψη την πολυπλοκότητα ενός τέτοιου συστήµατος, καθώς απαιτείται τόσο συγχρονισµός όσο και ρητή επικοινωνία των υπολογιστών [5] ιασύνδεση Μεταβίβασης Μηνυµάτων MPI Η ιασύνδεση Μεταβίβασης Μηνυµάτων (Message Passing Interface, MPI) είναι ένα τυποποιηµένο και φορητό πρότυπο µε εφαρµογή στην κατανεµηµένη επεξεργασία. Το πρότυπο ορίζει το συντακτικό και τη σηµασιολογία διαδικασιών και συναρτήσεων και έχει υλοποιηθεί αρχικά στις γλώσσες Fortran και C/C++ και αργότερα στην Java. Πρόκειται για ένα σύνολο προδιαγραφών για την ανάπτυξη και την χρήση βιβλιοθηκών µεταβίβασης µηνυµάτων. Αυτό καθεαυτό, δεν αποτελεί βιβλιοθήκη λογισµικού, αλλά η περιγραφή µιας τέτοιας βιβλιοθήκης. Το MPI στοχεύει στην φορητότητα των εφαρµογών, στην υψηλή απόδοση και την επεκτασιµότητα. Υποστηρίζει επικοινωνία σηµείου προς σηµείο και συλλογική επικοινωνία και ορίζει ρουτίνες για τη διαχείριση περιβάλλοντος, οµάδων διεργασιών και τοπολογιών. Προγράµµατα που αξιοποιούν το MPI εκτελούνται σε τυπικά υπολογιστικά συστήµατα ή συστήµατα µοιραζόµενης µνήµης. Σε κάθε περίπτωση, οι αυτόνοµες οντότητες που επικοινωνούν είναι οι διεργασίες. Εννοείται πως για λόγους απόδοσης, θα πρέπει να ανατίθεται µία διεργασία σε κάθε CPU (ή σε κάθε πυρήνα πολυπύρηνου επεξεργαστή), ώστε να επιτευχθεί πραγµατική παραλληλοποίηση της εφαρµογής [6].

43 Στοιχεία Παράλληλης και Κατανεµηµένης Επεξεργασίας 35 Ένα τυπικό πρόγραµµα MPI έχει την ακόλουθη δοµή: Συµπερίληψη αρχείου (C/C++, Fortran) ή εισαγωγή πακέτου (Java) βιβλιοθήκης Αρχή προγράµµατος Σειριακός κώδικας Αρχικοποίηση περιβάλλοντος MPI (Αρχή παράλληλου κώδικα) Επεξεργασία και κλήσεις µεταβίβασης µηνυµάτων Τερµατισµός περιβάλλοντος MPI (Τέλος παράλληλου κώδικα) Σειριακός κώδικας Τέλος προγράµµατος Βασικές λειτουργίες του προτύπου MPI Πίνακας 5 ιαχείριση περιβάλλοντος MPI. Λειτουργία MPI_INIT MPI_INITIALIZED MPI_COMM_RANK MPI_COMM_SIZE MPI_ABORT MPI_GET_PROCESSOR_NAME MPI_WTIME MPI_FINALIZE Περιγραφή Αρχικοποιεί το περιβάλλον εκτέλεσης MPI. Υποδεικνύει αν έχει κληθεί η MPI_INIT ή όχι. Προσδιορίζει τον αύξοντα αριθµό της καλούσας διεργασίας εντός µιας οµάδας. Προσδιορίζει το πλήθος των διεργασιών εντός µιας οµάδας. Τερµατίζει όλες τις διεργασίες της οµάδας. Προσδιορίζει το όνοµα του επεξεργαστή. Επιστρέφει τον χρόνο που έχει διανυθεί σε δευτερόλεπτα. Τερµατίζει το περιβάλλον εκτέλεσης MPI.

44 36 ΚΕΦΑΛΑΙΟ 4 Πίνακας 6 Σηµειακή επικοινωνία MPI. Λειτουργία Περιγραφή MPI_SEND MPI_RECV MPI_PROBE MPI_SSEND MPI_SENDRECV MPI_WAIT Στέλνει ένα µήνυµα. Αναµένει µέχρι να λάβει ένα µήνυµα. Αναµένει ελέγχοντας για την ύπαρξη µηνύµατος προς λήψη. Στέλνει ένα µήνυµα και αναµένει µέχρι ο παραλήπτης να ξεκινήσει να λαµβάνει το µήνυµα. Στέλνει ένα µήνυµα και αναµένει µέχρι να λάβει ένα άλλο. Αναµένει µέχρι την ολοκλήρωση µιας µη ανασταλτικής λειτουργίας. Πίνακας 7 Συλλογική επικοινωνία MPI. Λειτουργία MPI_BARRIER MPI_BCAST MPI_SCATTER MPI_GATHER MPI_ALLGATHER MPI_REDUCE Περιγραφή Αναµένει µέχρι όλες οι διεργασίες µιας οµάδας να φτάσουν το συγκεκριµένο σηµείο συγχρονισµού. Στέλνει ένα µήνυµα σε όλες τις διεργασίες µιας οµάδας. Κατανέµει διακριτά τµήµατα ενός µηνύµατος σε όλες τις διεργασίες µιας οµάδας. Συλλέγει διακριτά τµήµατα από όλες τις διεργασίες µιας οµάδας και τα συνενώνει σε µία διεργασίαπροορισµό. Συλλέγει διακριτά τµήµατα από όλες τις διεργασίες µιας οµάδας και τα συνενώνει σε κάθε µία διεργασία. Εφαρµόζει µια πράξη στα δεδοµένα κάθε διεργασίας µιας οµάδας.

45 Στοιχεία Παράλληλης και Κατανεµηµένης Επεξεργασίας Ανοιχτή Πολυεπεξεργασία OpenMP Η Ανοιχτή Πολυεπεξεργασία (Open Multi-Processing, OpenMP) είναι µια διασύνδεση προγραµµατισµού εφαρµογών (Application Programming Interface, API) µε υποστήριξη παράλληλης επεξεργασίας. Αποτελείται από ένα σύνολο οδηγιών προς τον µεταγλωττιστή, ρουτίνες βιβλιοθήκης και µεταβλητών περιβάλλοντος και έχει υλοποιηθεί στις γλώσσες C, C++, Fortran και µετέπειτα στην Java. Ένα τυπικό πρόγραµµα OpenMP ξεκινάει µε ένα κύριο νήµα. Στα επιθυµητά τµήµατα κώδικα, το νήµα διακλαδώνεται (fork) και δηµιουργείται µια οµάδα νηµάτων. Όταν τα νήµατα ολοκληρώσουν την επεξεργασία, συγχρονίζονται (προαιρετικά) και ενώνονται (join) µε το κύριο νήµα (Εικόνα 17). Εικόνα 17 Τυπική εκτέλεση προγράµµατος OpenMP. Σε αντίθεση µε το MPI, δεν είναι απαραίτητη (αν και εφικτή) η ρητή επικοινωνία µεταξύ των νηµάτων, καθώς ο συγχρονισµός επιτυγχάνεται αυτόµατα από τη βιβλιοθήκη. Προς αποφυγή της συνεχούς προσπέλασης στη µνήµη, κάθε νήµα µπορεί να έχει µεταβλητές ιδιωτικής εµβέλειας (πέραν των µοιραζόµενων µεταβλητών). Αυτό ορίζεται µε οδηγίες παραλληλισµού οι οποίες τοποθετούνται στην αρχή των τµηµάτων κώδικα που εκτελείται παράλληλα.

46 38 ΚΕΦΑΛΑΙΟ 4 Με τον τρόπο αυτό, οι αναφορές σε µοιραζόµενες µεταβλητές αφορούν τις ίδιες τις µεταβλητές, ενώ οι αναφορές σε ιδιωτικές µεταβλητές σχετίζονται µε τοπικά αντίγραφα στην ιδιωτική µνήµη του νήµατος. Τα παράλληλα τµήµατα κώδικα είναι δυνατόν να εµφωλεύονται, εποµένως µια ιδιωτική µεταβλητή σε µια περιοχή κώδικα µπορεί να είναι µοιραζόµενη σε µια εσωτερική περιοχή [7]. Βασικές οδηγίες της διασύνδεσης OpenMP Η οδηγία parallel ορίζει το τµήµα κώδικα το οποίο θα εκτελεστεί παράλληλα. Συνδυάζεται µε τις παρακάτω οδηγίες. Πίνακας 8 Οδηγίες διαµοιρασµού εργασίας OpenMP. Οδηγία for sections single Περιγραφή ιαµοιράζει τις επαναλήψεις ενός βρόχου for στα νήµατα της παράλληλης περιοχής. ιαµοιράζει τα καθοριζόµενα τµήµατα της παράλληλης περιοχής στα νήµατα. Αναθέτει το καθοριζόµενο τµήµα κώδικα σε ένα µόνο νήµα. Πίνακας 9 Οδηγίες συγχρονισµού OpenMP. Οδηγία master critical barrier atomic Περιγραφή Αναθέτει το καθοριζόµενο τµήµα κώδικα στο κύριο νήµα και µόνο. Ορίζει την εκτέλεση του τµήµατος κώδικα από ένα νήµα κάθε φορά. Συγχρονίζει όλα τα νήµατα. Ορίζει ότι η καθοριζόµενη θέση µνήµης πρέπει να ενηµερώνεται ατοµικά (και όχι ταυτόχρονα από πολλά νήµατα).

47 Στοιχεία Παράλληλης και Κατανεµηµένης Επεξεργασίας 39 flush ordered threadprivate Συγχρονίζει τα περιεχόµενα της ιδιωτικής µνήµης των νηµάτων µε τα περιεχόµενα της µοιραζόµενης. Ορίζει ότι οι επαναλήψεις του συγκεκριµένου βρόχου θα εκτελεστούν µε τη σειρά. Μετατρέπει µεταβλητές καθολικής εµβέλειας σε ιδιωτικής εµβέλειας για τα νήµατα (προσωρινά). Συνδυαζόµενες µε τις οδηγίες διαµοιρασµού εργασίας (Πίνακας 8), οι φράσεις εµβέλειας δεδοµένων (Πίνακας 10) καθορίζουν ποιες µεταβλητές θα είναι ορατές σε όλα τα νήµατα και ποιες στο συγκεκριµένο νήµα, όπως επίσης αν και µε ποιον τρόπο θα γίνεται η µεταφορά των τιµών από και προς την παράλληλη περιοχή. Πίνακας 10 Φράσεις δήλωσης εµβέλειας δεδοµένων OpenMP. Φράση private shared default firstprivate lastprivate copyin reduction Περιγραφή Η εµβέλεια ορίζεται σε ιδιωτική για κάθε νήµα. Η εµβέλεια ορίζεται σε µοιραζόµενη για όλα τα νήµατα. Η εµβέλεια ορίζεται σε έναν προκαθορισµένο τύπο για όλες τις µεταβλητές της περιοχής. Η εµβέλεια ορίζεται σε ιδιωτική για κάθε νήµα µε αρχικές τιµές µεταβλητών τις αντίστοιχες πριν την έναρξη της παράλληλης περιοχής. Η εµβέλεια ορίζεται σε ιδιωτική για κάθε νήµα µε τελικές τιµές µεταβλητών τις αντίστοιχες (κάποιου νήµατος) κατά την έξοδο από την παράλληλη περιοχή. Αναθέτει αρχικές τιµές σε µεταβλητές τύπου threadprivate. Εκτελεί µια πράξη σε κάποιες από τις µοιραζόµενες µεταβλητές.

48 40 ΚΕΦΑΛΑΙΟ 4

49 5. Τεχνολογίες Παράλληλης και Κατανεµη ατανεµηµένης µένης Επεξεργασία πεξεργασίας Στα επόµενα, περιγράφονται σχετικές τεχνολογίες στην Java που επιτρέπουν την ενσωµάτωση παράλληλης και κατανεµηµένης επεξεργασίας στο παραγόµενο λογισµικό. Ως δοκιµαστικό πρόγραµµα προς παραλληλοποίηση, παραθέτουµε τον υπολογισµό του αριθµού π ως 4 εφ -1 (1), αφού εφ(π/4) = 1. Για το τόξο της εφαπτοµένης εφ -1 (1), χρησιµοποιούµε την κατανοµή Cauchy: arctan(1) = x 0 2 public class PI { private static final double PI25DT = ; public static void main(string[] args) { int n = 5000; if (args.length > 0) { try { n = Integer.parseInt(args[0]); catch (NumberFormatException e) { System.out.println("Intervals number is " + n); if (n <= 0) return; double sum = 0, h = 1 / (double double)n; for (int i = 0; i <= n; i++) { double x = h * (i - 0.5); sum += f(x); double pi = h * sum; dx System.out.printf("pi is approximately %.16f\n", pi); System.out.printf("Error is %.16f\n", Math.abs(pi - PI25DT)); private static tic double f(double a) { return 4 / (1 + a * a); Χωρίς ορίσµατα, το πρόγραµµα εκτυπώνει: Intervals number is 5000 pi is approximately 3, Error is 0,

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 9 1. Εισαγωγή... 13 1.1 Οι Μεγάλες Σύγχρονες Επιστημονικές Προκλήσεις... 13 1.2 Εξέλιξη της Παράλληλης Επεξεργασίας Δεδομένων... 14 1.3 Οι Έννοιες της Σωλήνωσης, του Παραλληλισμού

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

Διαβάστε περισσότερα

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.0 (2010-05-25) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

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

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

Πολυπύρηνοι επεξεργαστές Multicore processors

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1 Εικόνες και γραφικά Περιγραφή στατικών εικόνων Αναπαράσταση γραφικών Υλικό γραφικών Dithering και anti-aliasing Σύνθεση εικόνας Ανάλυση εικόνας Μετάδοση εικόνας Τεχνολογία Πολυµέσων 05-1 Περιγραφή στατικών

Διαβάστε περισσότερα

ιαχείριση και Ανάκτηση Εικόνας µε χρήση Οµοιότητας Γράφων (WW-test)

ιαχείριση και Ανάκτηση Εικόνας µε χρήση Οµοιότητας Γράφων (WW-test) ιαχείριση και Ανάκτηση Εικόνας µε χρήση Οµοιότητας Γράφων (WW-test) Θεοχαράτος Χρήστος Εργαστήριο Ηλεκτρονικής (ELLAB), Τµήµα Φυσικής, Πανεπιστήµιο Πατρών email: htheohar@upatras.gr http://www.ellab.physics.upatras.gr/users/theoharatos/default.htm

Διαβάστε περισσότερα

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran

Διαβάστε περισσότερα

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων. ΠΕΡΙΛΗΨΗ Η τεχνική αυτή έκθεση περιλαµβάνει αναλυτική περιγραφή των εναλλακτικών µεθόδων πολυκριτηριακής ανάλυσης που εξετάσθηκαν µε στόχο να επιλεγεί η µέθοδος εκείνη η οποία είναι η πιο κατάλληλη για

Διαβάστε περισσότερα

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

Διαβάστε περισσότερα

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1 Αρχές κωδικοποίησης Απαιτήσεις κωδικοποίησης Είδη κωδικοποίησης Βασικές τεχνικές κωδικοποίησης Κωδικοποίηση Huffman Κωδικοποίηση µετασχηµατισµών Κβαντοποίηση διανυσµάτων ιαφορική κωδικοποίηση Τεχνολογία

Διαβάστε περισσότερα

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008

Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008 Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008 Αντικείµενο της εργαστηριακής άσκησης για το 2008 αποτελεί το πρόβληµα της εύρεσης της κατανοµής ϑερµότητας ενός αντικειµένου σε σταθερή

Διαβάστε περισσότερα

Εφαρμογές Πληροφορικής

Εφαρμογές Πληροφορικής Εφαρμογές Πληροφορικής Κεφάλαιο 11 Πολυμέσα ΜΕΡΟΣ Α 1. Υπερκείμενο Ποιός είναι ο κόμβος, ποιός ο σύνδεσμος και ποιά η θερμή λέξη; 1 2. Υπερμέσα Χαρακτηριστικά Κόμβος (Node) Αποτελεί τη βάση πληροφοριών

Διαβάστε περισσότερα

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

Διαβάστε περισσότερα

Βάσεις εδοµένων & Πολυµέσα

Βάσεις εδοµένων & Πολυµέσα Βάσεις εδοµένων & Πολυµέσα Κουρέλης Στάθης Παρουσίαση πρακτικού µέρους 4ης εργασίας Καθηγητής: κ. Στυλιαράς Γ. Αθήνα - Απρίλιος 2009 Εισαγωγή Οι Βάσεις εδοµένων Πολυµέσων παρέχουν χαρακτηριστικά που επιτρέπουν

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας Εισηγητής Αναστάσιος Κεσίδης Σημειακή επεξεργασία και μετασχηματισμοί Κατηγορίες μετασχηματισμού εικόνων Σημειακοί μετασχηματισμοί

Διαβάστε περισσότερα

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΜΑΘΗΜΑ 2 ΑΝΑΠΑΡΑΣΤΑΣΗ - ΤΕΧΝΙΚΕΣ ΤΝ (1)

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΜΑΘΗΜΑ 2 ΑΝΑΠΑΡΑΣΤΑΣΗ - ΤΕΧΝΙΚΕΣ ΤΝ (1) ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΜΑΘΗΜΑ 2 ΑΝΑΠΑΡΑΣΤΑΣΗ - ΤΕΧΝΙΚΕΣ ΤΝ (1) 2. ΑΝΑΠΑΡΑΣΤΑΣΗ ΠΡΟΒΛΗΜΑΤΟΣ H υλοποίηση ενός προβλήµατος σε σύστηµα Η/Υ που επιδεικνύει ΤΝ 1 απαιτεί: Την κατάλληλη περιγραφή του προβλήµατος

Διαβάστε περισσότερα

Δοµές Δεδοµένων. 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης. Βασίζεται στις διαφάνειες των R. Sedgewick K.

Δοµές Δεδοµένων. 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης. Βασίζεται στις διαφάνειες των R. Sedgewick K. Δοµές Δεδοµένων 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης Βασίζεται στις διαφάνειες των R. Sedgewick K. Wayne Περίληψη Συνδετικότητα δικτύου Αφαιρέσεις Συνδεδεµένα συστατικά Αφηρηµένη

Διαβάστε περισσότερα

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

Διαβάστε περισσότερα

Σχεδιασμός και κατασκευή εφαρμογής ταξινόμησης αντικειμένων σε γραμμή μεταφοράς προϊόντων με χρήση όρασης μηχανής

Σχεδιασμός και κατασκευή εφαρμογής ταξινόμησης αντικειμένων σε γραμμή μεταφοράς προϊόντων με χρήση όρασης μηχανής Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Σχεδιασμός και κατασκευή εφαρμογής ταξινόμησης αντικειμένων σε γραμμή μεταφοράς προϊόντων με χρήση όρασης μηχανής Λοΐζου

Διαβάστε περισσότερα

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

Διαβάστε περισσότερα

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος Εκτέλεση προγραμμάτων Πρόγραμμα: Ένα σύνολο από εντολές.

Διαβάστε περισσότερα

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 ΓΛΩΣΣΑΡΙ Αµοιβαίος αποκλεισµός (mutual exclusion) Στο µοντέλο κοινού χώρου διευθύνσεων, ο αµοιβαίος αποκλεισµός είναι ο περιορισµός του αριθµού των διεργασιών

Διαβάστε περισσότερα

Εισαγωγή. Τεχνολογία Πολυµέσων 01-1

Εισαγωγή. Τεχνολογία Πολυµέσων 01-1 Εισαγωγή Τι είναι τα πολυµέσα Ποιοι εµπλέκονται στα πολυµέσα Χαρακτηριστικά των µέσων Απαιτήσεις πολυµέσων Ιδιότητες πολυµέσων Μετάδοση πολυµέσων οµή συστηµάτων πολυµέσων Τεχνολογία Πολυµέσων 01-1 Τι είναι

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,

Διαβάστε περισσότερα

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

Εικόνα. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 05-1

Εικόνα. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 05-1 Εικόνα Εισαγωγή Ψηφιακή αναπαράσταση Κωδικοποίηση των χρωμάτων Συσκευές εισόδου και εξόδου Βάθος χρώματος και ανάλυση Συμβολική αναπαράσταση Μετάδοση εικόνας Σύνθεση εικόνας Ανάλυση εικόνας Τεχνολογία

Διαβάστε περισσότερα

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2

Διαβάστε περισσότερα

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό, 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή 1. εδοµένα, Πληροφορίες και Υπολογιστές 2. Πώς φτάσαµε στους σηµερινούς υπολογιστές 3. Το υλικό ενός υπολογιστικού συστήµατος 4. Το λογισµικό ενός υπολογιστικού συστήµατος

Διαβάστε περισσότερα

Παραλληλισµός Εντολών (Pipelining)

Παραλληλισµός Εντολών (Pipelining) ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Παραλληλισµός Εντολών (Pipelining) Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapter 3: Section 3.4,

Διαβάστε περισσότερα

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

Διαβάστε περισσότερα

ΠΛΗ111. Ανοιξη Μάθηµα 2 ο. Αλγόριθµοι και Αφηρηµένοι Τύποι εδοµένων. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη Μάθηµα 2 ο. Αλγόριθµοι και Αφηρηµένοι Τύποι εδοµένων. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 2 ο Αλγόριθµοι και Αφηρηµένοι Τύποι εδοµένων Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Αλγόριθµοι Ορισµός Παράδειγµα Ασυµπτωτική

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

Διαβάστε περισσότερα

Αντικειµενοστρεφής Προγραµµατισµός

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών & Data Path Allocation Σύνθεση Data Path Το DataPath είναι ένα netlist που αποτελείται από τρεις τύπους µονάδων: (α) Λειτουργικές Μονάδες, (β) Μονάδες Αποθήκευσης και (γ) Μονάδες ιασύνδεσης Αριθµό Μονάδων

Διαβάστε περισσότερα

Βασικές Έννοιες Δοµών Δεδοµένων

Βασικές Έννοιες Δοµών Δεδοµένων Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήµη των Η/Υ

Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή Καθ. Κ. Κουρκουµπέτης Σηµείωση: Οι διαφάνειες βασίζονται σε µεγάλο βαθµό σε αυτές που συνοδεύονται µε το προτεινόµενο σύγγραµµα. 1

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

Διαβάστε περισσότερα

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

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ο Κεφάλαιο: Στατιστική ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Πληθυσμός: Λέγεται ένα σύνολο στοιχείων που θέλουμε να εξετάσουμε με ένα ή περισσότερα χαρακτηριστικά. Μεταβλητές X: Ονομάζονται

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-6 και

Διαβάστε περισσότερα

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει. οµηµένες τεχνικές Ο στόχος των δοµηµένων τεχνικών είναι: Υψηλής ποιότητας προγράµµατα Εύκολη τροποποίηση προγραµµάτων Απλοποιηµένα προγράµµατα Μείωση κόστους και χρόνου ανάπτυξης. Οι βασικές αρχές τους

Διαβάστε περισσότερα

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ

Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ» 2000-2006 ΑΞΟΝΑΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ: 1 - ΠΑΙ ΕΙΑ ΚΑΙ ΠΟΛΙΤΙΣΜΟΣ ΜΕΤΡΟ: 1.3 ΤΕΚΜΗΡΙΩΣΗ, ΑΞΙΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑ ΕΙΞΗ ΤΟΥ ΕΛΛΗΝΙΚΟΥ

Διαβάστε περισσότερα

ΑΡΧΙΜΗ ΗΣ - ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑ ΩΝ ΣΤΑ ΤΕΙ. Υποέργο: «Ανάκτηση και προστασία πνευµατικών δικαιωµάτων σε δεδοµένα

ΑΡΧΙΜΗ ΗΣ - ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑ ΩΝ ΣΤΑ ΤΕΙ. Υποέργο: «Ανάκτηση και προστασία πνευµατικών δικαιωµάτων σε δεδοµένα ΑΡΧΙΜΗ ΗΣ - ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑ ΩΝ ΣΤΑ ΤΕΙ Υποέργο: «Ανάκτηση και προστασία πνευµατικών δικαιωµάτων σε δεδοµένα πολυδιάστατου ψηφιακού σήµατος (Εικόνες Εικονοσειρές)» Πακέτο Εργασίας 1: Ανάπτυξη βάσης

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ 3 η Εργασία Ακαδημαϊκό Έτος 206-7 Ημερομηνία Παράδοσης Εργασίας: 5 Ιανουαρίου 207. Εκφώνηση Να χρησιμοποιηθεί ο κώδικας που αναπτύξατε στις 2 προηγούμενες εργασίες για

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών 1 Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ της Κωτσογιάννη Μαριάννας Περίληψη 1. Αντικείµενο- Σκοπός Αντικείµενο της διπλωµατικής αυτής εργασίας

Διαβάστε περισσότερα

Πρόβλημα 37 / σελίδα 207

Πρόβλημα 37 / σελίδα 207 Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Δοµικά στοιχεία Πίνακες Το κόσκινο του Ερατοσθένη Αντιγραφή πινάκων

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to Κεφάλαιο 2 Δοµές Δεδοµένων Ι Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Δοµές Δεδοµένων Ι Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε

Διαβάστε περισσότερα

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

Διαβάστε περισσότερα

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

Κωδικοποίηση βίντεο (H.261 / DVI)

Κωδικοποίηση βίντεο (H.261 / DVI) Κωδικοποίηση βίντεο (H.261 / DVI) Αρχές κωδικοποίησης βίντεο Εισαγωγή στο H.261 Κωδικοποίηση βίντεο Ροή δεδοµένων Εισαγωγή στο DVI Κωδικοποίηση ήχου και εικόνων Κωδικοποίηση βίντεο Ροή δεδοµένων Τεχνολογία

Διαβάστε περισσότερα

ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ - ΕΝΟΤΗΤΑ 1 7/4/2013 ΕΝΟΤΗΤΕΣ ΜΑΘΗΜΑΤΟΣ. Ορισμός

ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ - ΕΝΟΤΗΤΑ 1 7/4/2013 ΕΝΟΤΗΤΕΣ ΜΑΘΗΜΑΤΟΣ. Ορισμός ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΕΝΟΤΗΤΑ 1 : ΕΙΣΑΓΩΓΗ Διάλεξη 1: Γενικά για το ΓΣΠ, Ιστορική αναδρομή, Διαχρονική εξέλιξη Διάλεξη 2 : Ανάλυση χώρου (8/4/2013) Διάλεξη 3: Βασικές έννοιες των Γ.Σ.Π.. (8/4/2013)

Διαβάστε περισσότερα

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. Γρήγορος οδηγός αναφοράς 1/4/2017

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. Γρήγορος οδηγός αναφοράς 1/4/2017 Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr MPI Διαμοίραση (MPI_Scatter) και συλλογή δεδομένων (MPI_Gather)

Διαβάστε περισσότερα

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε ΙΚΤΥΑ & INTERNET ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκευές συνδέονται µεταξύ τους µε καλώδια

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

Προηγµένη ιασύνδεση µε τοπεριβάλλον

Προηγµένη ιασύνδεση µε τοπεριβάλλον Προηγµένη ιασύνδεση µε τοπεριβάλλον! Επεξεργασία φυσικής γλώσσας # Κατανόηση φυσικής γλώσσας # Παραγωγή φυσικής γλώσσας! Τεχνητή όραση! Ροµποτική Κατανόηση Φυσικής Γλώσσας! Αναγνώριση οµιλίας (Speech recognition)!

Διαβάστε περισσότερα

ΧΡΗΣΗ ΝΕΩΝ ΟΠΤΙΚΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΜΕΘΟΔΩΝ ΓΙΑ ΤΗΝ ΑΝΤΙΓΡΑΦΗ ΤΡΙΣΔΙΑΣΤΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΕΦΑΝΙΑ ΧΛΟΥΒΕΡΑΚΗ 2014

ΧΡΗΣΗ ΝΕΩΝ ΟΠΤΙΚΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΜΕΘΟΔΩΝ ΓΙΑ ΤΗΝ ΑΝΤΙΓΡΑΦΗ ΤΡΙΣΔΙΑΣΤΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΕΦΑΝΙΑ ΧΛΟΥΒΕΡΑΚΗ 2014 ΧΡΗΣΗ ΝΕΩΝ ΟΠΤΙΚΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΜΕΘΟΔΩΝ ΓΙΑ ΤΗΝ ΑΝΤΙΓΡΑΦΗ ΤΡΙΣΔΙΑΣΤΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΕΦΑΝΙΑ ΧΛΟΥΒΕΡΑΚΗ 2014 ΧΡΗΣΗ ΝΕΩΝ ΟΠΤΙΚΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΜΕΘΟΔΩΝ ΓΙΑ ΤΗΝ ΑΝΤΙΓΡΑΦΗ ΤΡΙΣΔΙΑΣΤΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ Η χρήση

Διαβάστε περισσότερα

Αρχιτεκτονικές Υπολογιστών

Αρχιτεκτονικές Υπολογιστών ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Μάθηµα: Αρχιτεκτονικές Υπολογιστών Βασικά Συστατικά ενός Υπολογιστικού Συστήµατος ( οµή Οργάνωση) ιδάσκων:αναπλ.καθ. Κ. Λαµπρινουδάκης clam@unipi.gr Αρχιτεκτονικές Υπολογιστών

Διαβάστε περισσότερα

Σύγκριση Μεθόδων Ανάκτησης Εικόνας Βασισµένης στο Περιεχοµένο µε Παράλληλη Υλοποίηση σε Java

Σύγκριση Μεθόδων Ανάκτησης Εικόνας Βασισµένης στο Περιεχοµένο µε Παράλληλη Υλοποίηση σε Java Πανεπιστήµιο Μακεδονίας Π.Μ.Σ Εφαρµοσµένης Πληροφορικής Σύγκριση Μεθόδων Ανάκτησης Εικόνας Βασισµένης στο Περιεχοµένο µε Παράλληλη Υλοποίηση σε Java ιπλωµατική εργασία Καραφωτιάς Γιώργος 11/20 Αναζήτηση

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας Εισηγητής Αναστάσιος Κεσίδης Τμηματοποίηση εικόνας Τμηματοποίηση εικόνας Γενικά Διαμερισμός μιας εικόνας σε διακριτές περιοχές

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Συναρτήσεις 60 Ροή ελέγχου Είναι η σειρά µε την οποία εκτελούνται οι εντολές. Μέχρι τώρα, «σειριακή»,

Διαβάστε περισσότερα

Επανάληψη για τις Τελικές εξετάσεις

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

Διαβάστε περισσότερα

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήµη των Η/Υ

Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή στην Επιστήµη των Η/Υ Καθ. Κ. Κουρκουµπέτης Οι διαφάνειες βασίζονται σε µεγάλο βαθµό σε αυτές που συνοδεύονται µε το προτεινόµενο σύγγραµµα. 1 Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή 2 ΚΕΦΑΛΑΙΟ

Διαβάστε περισσότερα

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

Διαβάστε περισσότερα

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Χατζηνικόλας Κώστας www.costaschatzinikolas.gr Τα 4 Είδη Των Αρχιτεκτονικών Των Σύγχρονων Η/Υ Ο Michael J. Flynn 1 το 1966 πρότεινε τον χωρισμό

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος Επιµέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήµατα Μοντελοποίηση πολλών σηµαντικών προβληµάτων (π.χ. δίκτυα

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

Διαβάστε περισσότερα

4.4 Ερωτήσεις διάταξης. Στις ερωτήσεις διάταξης δίνονται:

4.4 Ερωτήσεις διάταξης. Στις ερωτήσεις διάταξης δίνονται: 4.4 Ερωτήσεις διάταξης Στις ερωτήσεις διάταξης δίνονται:! µία σειρά από διάφορα στοιχεία και! µία πρόταση / κανόνας ή οδηγία και ζητείται να διαταχθούν τα στοιχεία µε βάση την πρόταση αυτή. Οι ερωτήσεις

Διαβάστε περισσότερα

Κωδικοποίηση εικόνων κατά JPEG

Κωδικοποίηση εικόνων κατά JPEG Κωδικοποίηση εικόνων κατά JPEG Εισαγωγή Προετοιµασία της εικόνας ρυθµός Ακολουθιακός απωλεστικός ρυθµός Εκτεταµένος απωλεστικός ρυθµός Μη απωλεστικός ρυθµός Ιεραρχικός ρυθµός Τεχνολογία Πολυµέσων 09-1

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ο ΚΕΦΑΛΑΙΟ 1) Τι είναι πρόβλημα (σελ. 3) 2) Τι είναι δεδομένο, πληροφορία, επεξεργασία δεδομένων (σελ. 8) 3) Τι είναι δομή ενός προβλήματος (σελ. 8)

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

Διαβάστε περισσότερα