Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων

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

Download "Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων"

Transcript

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

2 Πίνακας περιεχοµένων 1 Εισαγωγή Βασικές αρχές των γενετικών µεθόδων Γενετικοί αλγόριθµοι Αναπαράσταση του πληθυσµού Συνάρτηση προσαρµογής Επιλογή Αναπαραγωγή ιασταύρωση Μετάλλαξη Στάδια εκτέλεσης γενετικού αλγορίθµου Γενετικός προγραµµατισµός Αναπαράσταση του πληθυσµού Τελεστές και συναρτήσεις Τερµατισµός εκτέλεσης Εκτέλεση διαδικασίας γενετικού προγραµµατισµού Παράλληλος γενετικός προγραµµατισµός Αξιολόγηση των γενετικών τεχνικών Βελτιστοποίηση ερωτηµάτων σε βάσεις δεδοµένων Στρατηγικές βελτιστοποίησης ερωτηµάτων Πρότυπες υλοποιήσεις Ο κύριος αλγόριθµος δυναµικού προγραµµατισµού Τυχαιοποιηµένοι αλγόριθµοι Γενετική βελτιστοποίηση ερωτηµάτων σύνδεσης Τεχνικές γενετικών αλγορίθµων Αλγόριθµος τοπικής γειτονιάς Αλγόριθµος βέλτιστης σειράς σύνδεσης Τεχνικές γενετικού προγραµµατισµού Γενετική βελτιστοποίηση στην PostgreSQL Αξιολόγηση Συµπεράσµατα Παραποµπές Ορολογία ΣΗΜΕΙΩΣΕΙΣ: * Τα σχήµατα 1, 2, 5, 6 και 7 έχουν ληφθεί από άλλες πηγές (αναγράφονται εντός του κειµένου). * Το παράδειγµα ερωτήµατος στην ενότητα 3.1 αποτελεί προσαρµογή από τον [Ion96]. * Εικόνα εξωφύλλου: Η πορεία σύγκλισης ενός αλγορίθµου γενετικού προγραµµατισµού µε χρήση παράλληλης επεξεργασίας για ένα ερώτηµα 70 συνδέσεων σε µια µικρή και µια µεγάλη βάση δεδοµένων (Πηγή: [SSF96]). 2

3 Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων Κ. Πατρούµπας Σύνοψη Τα ερωτήµατα που υποβάλλονται σε µια βάση δεδοµένων, πριν εκτελεστούν και επιστρέψουν αποτελέσµατα, περνούν από ένα στάδιο βελτιστοποίησης κατά το οποίο αναδιατυπώνονται και επιλέγονται γι αυτά αποδοτικότεροι αλγόριθ- µοι επεξεργασίας. Για κάθε ερώτηµα, ο βελτιστοποιητής οφείλει να παράγει ένα κατάλληλο προσχέδιο εκτέλεσης, προτιµώντας το φθηνότερο από άποψη υπολογιστικού κόστους, αφού κάνει µια προσεγγιστική εκτίµηση ανάµεσα σε πλήθος εναλλακτικών λύσεων. Εδώ και πάνω από µια δεκαετία διερευνάται η δυνατότητα αξιοποίησης τεχνικών του λεγόµενου εξελικτικού υπολογισµού για την επιλογή του καταλληλότερου προσχεδίου εκτέλεσης. Οι µέθοδοι που βασίζονται σε γενετικούς αλγορίθµους ή γενετικό προγραµµατισµό συναγωνίζονται µε αξιοσηµείωτη επιτυχία δοκιµασµένες τεχνικές δυναµικού προγραµµατισµού, ιδίως για περιπτώσεις ερωτηµάτων µε πολλαπλές συνδέσεις πινάκων. Στην εργασία αυτή, δίνεται µια συνοπτική θεµελίωση κρίσιµων πτυχών της θεωρίας του εξελικτικού υπολογισµού. Κατόπιν, ανασκοπούνται επιλεκτικά από την πρόσφατη βιβλιογραφία χαρακτηριστικές γενετικές τεχνικές που έχουν προταθεί ειδικά για βελτιστοποίηση ερωτηµάτων και σχολιάζονται οι επιδόσεις τους συγκριτικά προς τους συµβατικούς αλγορίθµους. Τέλος, περιγράφεται η πρακτική εφαρµογή της γενετικής βελτιστοποίησης ερωτηµάτων στο ευρέως διαδεδοµένο σύστηµα βάσεων δεδοµένων PostgreSQL. 1 Εισαγωγή Οι επιδόσεις ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων (Σ Β ) κρίνονται σε σηµαντικό βαθµό από την ικανότητά του ν ανταποκρίνεται µε ταχύτητα κι αποτελεσµατικότητα στα ερωτήµατα (queries) που υποβάλλουν οι χρήστες. Συνήθως, τα ερωτήµατα διατυπώνονται σε µια δηλωτική γλώσσα ερωταποκρίσεων (όπως η SQL), προσδιορίζοντας απλώς τα δεδοµένα που ενδιαφέρουν, αλλά όχι τον τρόπο ανάκτησης ή υπολογισµού τους. Αυτόν τον κρίσιµο ρόλο αναλαµβάνει το υποσύστηµα του βελτιστοποιητή ερωτηµάτων (query optimizer), αναζητώντας την καταλληλότερη στρατηγική εκτέλεσης και έχοντας να επιλέξει ανάµεσα σε πολλές µεθόδους προσπέλασης των δεδοµένων και διαθέσιµους αλγόριθµους υλοποίησης των χρησιµοποιούµενων σχεσιακών τελεστών. Η διαδικασία απάντησης του ερωτήµατος προϋποθέτει την εξεύρεση του κατάλληλου προσχεδίου εκτέλεσης ερωτήµατος (query execution plan), δηλαδή µιας ακολουθίας σχεσιακών τελεστών που θα παράγει το τελικό αποτέλεσµα. Συνήθως, υπάρχουν διάφορες υποψήφιες εναλλακτικές στρατηγικές, ισοδύναµες µεν ως προς την απάντηση που επιστρέφουν, αλλά µε διαφορετικό κόστος εκτέλεσης, όπως αυτό προκύπτει προσµετρώντας τα επιµέρους κόστη των εµπλεκόµενων τελεστών. Ανάλογα µε τα χαρακτηριστικά της βάσης δεδοµένων όπου θα εφαρµοστούν, δύο προσχέδια εκτέλεσης µπορεί να εµφανίσουν τεράστιες αποκλίσεις στο συνολικό τους κόστος. Προφανώς, η διαδικασία βελτιστοποίησης επιχειρεί να εντοπίσει το βέλτιστο προσχέδιο, ώστε ο χρήστης να λάβει την απάντηση ταχύτερα, µε την καλύτερη δυνατή διαχείριση των πόρων του συστήµατος (δίσκος, µνήµη, χρόνος CPU). Οι περισσότερες προσεγγίσεις που έχουν προταθεί περιστρέφονται γύρω από το χειρισµό των συνδέσεων (joins) µεταξύ πινάκων. Πρόκειται για την πλέον απαιτητική υπολογιστικά σχεσιακή πράξη, ιδίως σε ό,τι αφορά την βελτιστοποίηση πολλαπλών συνδέσεων (multi-way joins), αφού πρέπει ν αποφασιστεί η πιο βολική σειρά υπολογισµού ανά ζεύγη σχεσιακών πινάκων. Για τα περισσότερα συµβατικά συστήµατα βάσεων δεδοµένων είναι σπάνιο φαινόµενο να εµφανιστούν πάνω από 10 συνδέσεις σε κάποιο ερώτηµα. Έτσι, ο χώρος λύσεων του προβλήµατος, δηλαδή ο συνολικός αριθµός των προσχεδίων που χρειάζεται να εξεταστούν, παρότι υψηλός, παραµένει εντός των δυνατοτήτων του συστήµατος ακόµη και για εξαντλητική αναζήτηση (exhaustive search) της βέλτιστης απ όλες τις εναλλακτικές στρατηγικές. Ήδη από τη δεκαετία του 70 έχουν προταθεί διάφορες προσεγγίσεις, όπως δυναµικός προγραµµατισµός, παράλληλη εκτέλεση, συνδυαστική βελτιστοποίηση κ.ά. που προσπαθούν να περιορίσουν την διερεύνηση του καταλληλότερου προσχεδίου σε επιλεγµένες περιοχές του χώρου λύσεων αποφεύγοντας περιττές αναζητήσεις. Ωστόσο, σε πολλές σύγχρονες εφαρµογές, όπως βιολογικές βάσεις δεδοµένων (λ.χ. για τη µελέτη γονιδίων, αποκωδικοποίηση DNA), σχεδιαστικές ή χωρικές βάσεις δεδοµένων (CAD, GIS) ή χειρισµό κανόνων σε επαγωγικές βάσεις δεδοµένων, ο αριθµός των συνδέσεων µπορεί να ανέλθει σε µερικές δεκάδες, οδηγώντας γενικότερα σε αυξηµένη πολυπλοκότητα. Τότε η εξαντλητική αναζήτηση γίνεται όχι απλώς ασύµφορη, αλλά εντελώς αδύνατη για περίπλοκα ερωτήµατα όπου οι τελεστές εµφανίζονται σε ποικίλους συνδυασµούς. Γι αυτό, δοκιµάστηκε µεταξύ άλλων η χρήση τυχαιοποιηµένων αλγορίθµων (randomized algorithms), µε τεχνικές που βασίζονται σε προσοµοιωµένη ανόπτηση (simulated annealing), επαναληπτική βελτίωση (iterative improvement) ή συγκερασµό τους (two-phase optimization). Ωστόσο, από τις αρχές της δεκαετίας του 90, άρχισε να διερευνάται η εφαρµογή εννοιών του εξελικτικού υπολογισµού (evolutionary computation), µια µεθοδολογία που αναπτύχθηκε στο χώρο της Υπολογιστικής Νοηµοσύνης και που αποσκοπεί στην επίλυση τυπικών προβληµάτων βελτιστοποίησης. Στην 3

4 Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων. πράξη φάνηκε ότι ο συνδυασµός των γενετικών τεχνικών µε παράλληλες υλοποιήσεις των αλγορίθµων βελτιστοποίησης ερωτηµάτων µπορεί όντως ν αποδειχθεί ανταγωνιστικός των συµβατικών µεθόδων που βασίζονται σε δυναµικό προγραµ- µατισµό, ενώ το όφελος προσαυξάνεται σε περιπτώσεις ερωτηµάτων µε µεγάλο αριθµό σχεσιακών συνδέσεων. Στην συνέχεια της εργασίας, προτάσσεται µια συνοπτική παρουσίαση των θεµελιωδών αρχών του εξελικτικού υπολογισµού, επιµένοντας περισσότερο σε πτυχές που εφαρµόζονται σε προβλήµατα βάσεων δεδοµένων. Ακολούθως, περιγράφεται το πρόβληµα της βελτιστοποίησης ερωτηµάτων, ενώ ανασκοπούνται διεξοδικά οι κύριες γενετικές τεχνικές που έχουν εµφανιστεί στην πρόσφατη βιβλιογραφία. Επίσης, επιχειρείται µια συγκριτική αποτίµηση αυτών των µεθόδων σε σχέση µε τη συµβατική βελτιστοποίηση ερωτηµάτων, συνεκτιµώντας την υλοποίηση µιας παραλλαγής της γενετικής βελτιστοποίησης ερωτηµάτων όπως παρέχεται από το σύστηµα διαχείρισης βάσεων δεδοµένων PostgreSQL. Τέλος, εξάγονται συµπεράσµατα σχετικά µε τις επιδόσεις της γενετικής βελτιστοποίησης ερωτηµάτων και διακρίνονται οι κύριοι άξονες της τρέχουσας διερεύνησης του προβλήµατος. 2 Βασικές αρχές των γενετικών µεθόδων Ο εξελικτικός υπολογισµός συγκαταλέγεται στις σύγχρονες τάσεις για την αντιµετώπιση υπολογιστικών ζητηµάτων κατά κύριο λόγο, βελτιστοποίηση και µιµείται τους µηχανισµούς της φυσικής εξέλιξης όπως είναι γνωστοί απ τη Βιολογία. Σύµφωνα µε τη δαρβινική θεωρία, ένας πληθυσµός εξελίσσεται προοδευτικά απορρίπτοντας τα πιο αδύναµα µέλη του και αναπαράγοντας τα πιο ισχυρά ώστε να γεννήσουν ακόµη καλύτερους απογόνους. Οι στοχαστικές αυτές µέθοδοι είναι συγγενικές µε τα νευρωνικά δίκτυα (neural networks) και την εκµάθηση µηχανών (machine learning) και αξιοποιούν τις ισχυρές δυνατότητες των σηµερινών υπολογιστικών συστηµάτων. Μάλιστα, ο συνδυασµός τους µε µη συµβατικές αλγοριθµικές τεχνικές (λ.χ. παράλληλη επεξεργασία) επιτρέπει τη δηµιουργία περισσότερο ευέλικτων και αποτελεσµατικών µοντέλων όταν πρόκειται να εξερευνηθούν εκτεταµένοι χώροι αναζήτησης πιθανών λύσεων ενός προβλήµατος. ύο κύριοι εκπρόσωποι εξελικτικών αλγορίθµων (evolutionary algorithms) είναι οι γενετικοί αλγόριθµοι (genetic algorithms) και ο γενετικός προγραµµατισµός (genetic programming). Οι γενετικοί αλγόριθµοι είναι αρκετά εδραιωµένοι ως µέθοδος και έχουν κριθεί ιδιαίτερα αποδοτικοί για συνδυαστικά προβλήµατα ή εκτίµηση παραµέτρων. Εξάλλου, ο γενετικός προγραµµατισµός εµφανίζει έντονη διάδοση κατά την τελευταία δεκαετία, βρίσκοντας αρκετές εφαρµογές και προσφέροντας σηµαντικές δυνατότητες στη µοντελοποίηση µη τετριµµένων προβληµάτων, ιδιαίτερα όταν ιδανική λύση δεν υπάρχει ή οι παράµετροι του προβλήµατος µεταβάλλονται διαρκώς. 2.1 Γενετικοί αλγόριθµοι Στα 1975 ο John Holland µε το βιβλίο του Adaptation in Natural and Artificial Systems εισηγήθηκε την αξιοποίηση εννοιών της βιολογικής εξέλιξης των ειδών για τη µελέτη υπολογιστικών ζητηµάτων. Η συλλογιστική του δεν αποσκοπούσε τόσο στην επινόηση αλγορίθµων για την επίλυση συγκεκριµένων προβληµάτων, όσο κυρίως στη διερεύνηση της δυνατότητας µεταφοράς των αφηρηµένων µηχανισµών της Γενετικής και της Βιολογίας στα συστήµατα υπολογιστών. Ο Holland πρότεινε την χρήση δυαδικών αναπαραστάσεων µε 0 και 1 για τις υποψήφιες λύσεις των προβληµάτων, ιδέα που σαφώς µιµείται τη δόµηση του DNA των κυττάρων από τα χρωµοσώµατα. Η βασική ιδέα ήταν ότι οι καλύτεροι εκπρόσωποι κάθε γενιάς, όταν αναπαράγονται, τείνουν να µεταβιβάζουν τα γονίδιά τους στους απογόνους, εκείνοι µε τη σειρά τους στους δικούς τους κ.ο.κ. Έτσι, από γενιά σε γενιά εκτιµάται ότι προοδευτικά κάποιοι απόγονοι θα εµφανίζουν βελτιωµένα χαρακτηριστικά, δηλαδή θ αντιπροσωπεύουν αποδοτικότερες λύσεις. Έκτοτε ο όρος γενετικός αλγόριθµος έχει λάβει ευρύτερη σηµασία και παρουσιάζει µεγαλύτερη ευελιξία ως προς την αρχική σύλληψή του. Πράγµατι, η δυνατότητα ταυτόχρονης διερεύνησης ανάµεσα σε πληθώρα πιθανών λύσεων µε χρήση παραλλήλων αρχιτεκτονικών, συνοδεύεται από την επιδίωξη της προσαρµοστικότητας του αλγορίθµου στις διαρκώς µεταβαλλόµενες παραµέτρους του προβλήµατος [Gol89, Mic99, Mit97] Αναπαράσταση του πληθυσµού Στην πιο κοινή µορφή γενετικών αλγορίθµων, κάθε σηµείο του χώρου αναζήτησης των λύσεων του προβλήµατος κωδικοποιείται µε µια σταθερού µεγέθους συµβολοσειρά (string) που αποκαλείται χρωµόσωµα (chromosome). Τα δοµικά στοιχεία που απαρτίζουν τη συµβολοσειρά ονοµάζονται γονίδια (genes): συνήθως πρόκειται για ακολουθίες δυαδικών ψηφίων (bits) µε ενδεχόµενες τιµές 0 ή 1 (allele). Επίσης, έχουν προταθεί αναπαραστάσεις των χρωµοσωµάτων µε ακεραίους ή πραγµατικούς αριθµούς, καθώς και µε δυαδικούς αριθµούς κατά κώδικα Gray. Κάθε ψηφίο έχει συγκεκριµένη θέση (locus) στην ακολουθία, όπως δηλώνεται από τη διάταξή του στην κωδικοποίηση του χρωµοσώµατος. Ο σχηµατισµός των χρωµοσωµάτων που θ αποτελέσουν τον αρχικό πληθυσµό γίνεται µε τυχαίο τρόπο. Για την κωδικοποίηση των συµβολοσειρών, υιοθετούνται δύο βασικές αρχές [Gol89]: Η αρχή των σηµαντικών δοµικών στοιχείων (meaningful building blocks) επιτάσσει την επιλογή όσο το δυνατόν µικρότερων συµβολοσειρών µε διακριτά δοµικά στοιχεία (γονίδια) στις διάφορες θέσεις τους. Σύµφωνα µε την αρχή του ελάχιστου αλφαβήτου (minimal alphabet), υπάρχει προτίµηση για το µικρότερο δυνατό αλφάβητο συµβόλων που να παρέχει επαρκή έκφραση του προβλήµατος, επιτρέποντας ακόµη και µη δυαδικές αναπαραστάσεις (λ.χ. ακεραίους αριθµούς). Έπειτα, εφαρµόζεται ένας εξαιρετικά απλός στη σύλληψή του επαναληπτικός µηχανισµός: συµβολοσειρές αντιγράφονται αυτούσιες ή συντίθενται καινούργιες από υποτµήµατα άλλων προγενέστερων σε αλλεπάλληλους κύκλους (γενιές), διατηρώντας κάθε φορά έναν σταθερό πληθυσµό µε τους καλύτερους εκπροσώπους κάθε γενιάς. Η απλότητα της µεθόδου εξηγεί και τη σηµαντική διάδοσή της κατά τις δύο τελευταίες δεκαετίες στο πεδίο της Υπολογιστικής Νοηµοσύνης. Το σύνολο των χρωµοσωµάτων που κωδικοποιούν πιθανές λύσεις αναφέρεται συχνά στη βιβλιογραφία ως γονότυπος (genotype), ενώ η αποκωδικοποίησή τους που υλοποιείται βάσει 4

5 Βασικές αρχές των γενετικών µεθόδων Σχήµα 1: Η σταδιακή σύγκλιση των τιµών της συνάρτησης προσαρµογής σε γενετικές τεχνικές. (Πηγή: [JMF99], σελ. 286) µιας συνάρτησης προσαρµογής ώστε να προκριθούν οι καταλληλότεροι, αποκαλείται φαινότυπος (phenotype). Στην πραγµατικότητα ο γονότυπος περιλαµβάνει σηµεία στο χώρο αναζήτησης των λύσεων (search space), ενώ ο φαινότυπος αναφέρεται σε σηµεία στο χώρο των λύσεων (solution space). Η διάκριση µεταξύ των δύο χώρων µπορεί να φανεί αντλώντας ένα παράδειγµα απ τη Βιολογία: το DNA είναι δυνατόν να θεωρηθεί ως γονότυπος, αφού περιλαµβάνει άπειρους συνδυασµούς γονιδίων, ενώ φαινότυπος είναι λ.χ. οι πρωτεΐνες που αποτελούν ένα υποσύνολο µε συγκεκριµένη δοµή και ιδιότητες (ενώσεις αµινοξέων που ικανοποιούν συγκεκριµένη «συνάρτηση προσαρµογής») [Gol89] Συνάρτηση προσαρµογής Η διερεύνηση µε τη µέθοδο των γενετικών αλγορίθµων είναι κατά κάποιο τρόπο «τυφλή»: µια αντικειµενική συνάρτηση, η λεγόµενη συνάρτηση προσαρµογής (fitness function), χρησιµοποιείται για ν αξιολογήσει την ποιότητα του πληθυσµού κάθε γενιάς και να καθοδηγήσει τον σχηµατισµό της επόµενης. ιαισθητικά, η συνάρτηση προσαρµογής εκφράζει τη βιωσιµότητα (viability) κάθε µέλους του πληθυσµού, δηλαδή την πιθανότητα αυτό να επιβιώσει στην επόµενη γενιά, καθώς επίσης και τη γονιµότητά του (fertility), όπως προσδιορίζεται από τον αριθµό των απογόνων που µπορεί να δώσει. Είναι αξιοσηµείωτο ότι οι τιµές της συνάρτησης ίσως εµφανίζουν απότοµες αυξοµειώσεις από γενιά σε γενιά, όµως σταδιακά συγκλίνουν προς την περιοχή της λύσης του προβλήµατος (βλ. Σχ. 1). εν υπάρχουν προκαθορισµένες συναρτήσεις προσαρµογής γενικής χρήσεως, εφόσον η εκλογή της καταλληλότερης συνδέεται άρρηκτα µε τη φύση του προβλήµατος. Λ.χ. σ ένα πρόβληµα κατάταξης στοιχείων σε κατηγορίες προτιµάται η ελαχιστοποίηση του µέσου τετραγωνικού σφάλµατος, ενώ σε κάποιο άλλο πρόβληµα µπορεί να βολεύει η µεγιστοποίηση του προσδοκώµενου κέρδους (λ.χ. στην πρόβλεψη της εξέλιξης της τιµής µετοχών) Επιλογή Κατά τη λειτουργία της επιλογής (selection), γονείς και απόγονοι µιας γενιάς επιβιώνουν στην επόµενη ενώ άλλοι απορρίπτονται ώστε να διατηρηθεί σταθερός ο πληθυσµός. Μετά από µερικές γενιές, κάποιοι εκπρόσωποι θα περιλαµβάνουν χρωµοσώµατα που αποτελούν αποδεκτές λύσεις του προβλήµατος, επιτυγχάνοντας απόλυτο µέγιστο ή έστω ένα καλό τοπικό µέγιστο στη συνάρτηση προσαρµογής. Ο βαθµός προσαρµογής των απογόνων αποτελεί κρίσιµη παράµετρο για τη σύγκλιση της διαδικασίας και την ανεύρεση της λύσης. Καθώς οι γενιές εξελίσσονται, η διαφορά ανάµεσα στον καλύτερο και τον χειρότερο εκπρόσωπο της καθεµιάς ολοένα θα ελαττώνεται. Αυτό που κυρίως πρέπει ν αποφευχθεί είναι η κυριαρχία κάποιων µελών ήδη από τις πρώτες γενιές, φαινόµενο που χαρακτηρίζεται ως πρόωρη σύγκλιση (premature convergence) του αλγορίθµου. Εάν από κάθε γενιά επιλέγονται κάθε φορά µόνο οι καλύτεροι απόγονοι, είναι πιθανόν η αναζήτηση να εγκλωβιστεί πολύ γρήγορα σε τοπικά µέγιστα. Αν πάλι δεν προκρίνονται οι καλύτεροι, η πρόοδος από γενιά σε γενιά θα είναι πολύ µικρή, µην επιτυγχάνοντας ικανοποιητικό αποτέλεσµα ακόµη κι ύστερα από αρκετές επαναλήψεις. Χρειάζεται λοιπόν κάποιος ρυθµιστικός µηχανισµός του τρόπου επιλογής των απογόνων, πράγµα που επιτυγχάνεται µε κλιµάκωση της προσαρµογής (fitness scaling). Πιο συγκεκριµένα, η τιµή της συνάρτησης προσαρµογής µετασχηµατίζεται µε κάποιο τρόπο, ώστε αφενός να εµποδίζεται η κυριαρχία κάποιων καλών απογόνων ήδη από τις πρώτες γενιές, ενώ αργότερα ενθαρρύνεται ο υγιής ανταγωνισµός µεταξύ περίπου ισότιµων χρωµοσωµάτων. Για κάθε γενιά t και κάθε µέλος S i του πληθυσµού, η νέα συνάρτηση προσαρµογής f (S i (t )) µπορεί εναλλακτικά να συνδέεται µε την αρχική f (S i (t )) σύµφωνα µε µια γραµµική, σιγµοειδή ή εκθετική σχέση [Gol89] Αναπαραγωγή Η αναπαραγωγική διαδικασία φροντίζει για την αντιγραφή κάποιων συµβολοσειρών αυτούσιων και στην επόµενη γενιά. Η επιλογή των µελών που θα αντιγραφούν γίνεται βάσει της επίδοσής τους, µε τρεις κυρίως µεθόδους: Στην πλέον τυπική περίπτωση, η επιλογή ελέγχεται από το λόγο προσαρµογής (fitness-proportionate selection) P i, βάσει του οποίου το i-στό χρωµόσωµα θα αναπαραχθεί τόσες φορές όσες και το πηλίκο της τιµής προσαρµογής του προς τη µέση τιµή προσαρµογής για όλο τον πληθυσµό της γενιάς t: f ( Si ( t)) Pi = f ( S( t)) Εναλλακτικά, η επιλογή µπορεί να γίνει µε βάση τη σειρά κατάταξης (ranking selection) της τιµής προσαρµογής των µελών και όχι µε την απόλυτη τιµή. Η τεχνική αυτή, αν και πιο χρονοβόρα λόγω της ανάγκης ταξινόµησης (sorting) των τιµών, αποτρέπει πρόωρη σύγκλιση του αλγορίθµου και τείνει να διατηρήσει την ποικιλία του πληθυσµού. Τρίτη µέθοδος είναι η ανταγωνιστική επιλογή (tournament selection). Αρχικά επιλέγονται τυχαία δύο χρωµοσώµατα από τον πληθυσµό της τρέχουσας γενιάς και για το καθένα υπολογίζεται η τιµή προσαρµογής του. Ένας τυχαίος αριθµός r από το διάστηµα [0..1] συγκρίνεται µε µια σταθερά k (λ.χ. 0.75). Εάν k>r, θα υπερισχύσει το χρωµόσωµα µε την υψηλότερη τιµή προσαρµογής, αλλιώς εκείνο µε το χαµηλότερο βαθµό. Τα δύο αρχικά χρωµοσώµατα δεν αποκλείονται από επόµενη επιλογή. 5

6 Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων. Από απόψεως υπολογιστικού χρόνου, η ανταγωνιστική επιλογή είναι περισσότερο αποτελεσµατική από τις δύο προηγούµενες, επειδή ο µεν λόγος προσαρµογής απαιτεί υπολογισµό σε δύο γύρους (πρώτα της µέσης τιµής προσαρµογής για όλο τον πληθυσµό και έπειτα της εκτιµώµενης τιµής για κάθε χρωµόσωµα), ενώ η επιλογή µε τη σειρά κατάταξης προϋποθέτει ταξινόµηση όλων των τιµών προσαρµογής. Η εξέλιξη του γενετικού αλγορίθµου κατά γενιές δεν είναι φυσικά η µόνη δυνατή. ιάφορες εφαρµογές έχουν στηριχτεί στην διαδοχική επικάλυψη των γενεών σε κάποιο βαθµό, όπου ένα τµήµα µιας γενιάς διατηρείται αυτούσιο και στην επόµενη. Το ποσοστό των νέων µελών χαρακτηρίζεται ως «χάσµα γενεών» ( generation gap ). Η επιλογή σταθερής κατάστασης (steady-state selection) εφαρµόζεται µε αξιοσηµείωτη επιτυχία σε συστήµατα που βασίζονται σε κανόνες απόφασης (rule-based systems). Η λειτουργία της προβλέπει τη διαρκή αντικατάσταση των λιγότερο προσαρµοσµένων µελών του πληθυσµού από απογόνους των πιο επιτυχηµένων, όπως αυτοί προκύπτουν έπειτα από διασταύρωση και µετάλλαξη ιασταύρωση Αφού αντιγραφούν, οι νέες συµβολοσειρές διασταυρώνονται µεταξύ τους µε τυχαίο τρόπο. Στην περίπτωση διασταύρωσης ενός σηµείου (one-point crossover), για κάθε ζευγάρι προσδιορίζεται η θέση k της συµβολοσειράς όπου θα διασταυρωθούν. Η θέση k επιλέγεται βάσει µιας οµοιόµορφης τυχαίας κατανοµής από το διάστηµα [1..l-1], όπου l είναι το µέγεθος των συµβολοσειρών (ο αριθµός των δυαδικών τους ψηφίων). ύο νέες συµβολοσειρές δηµιουργούνται µε την ανταλλαγή (swap) όλων των ψηφίων µεταξύ των θέσεων k+1 και l. Για παράδειγµα, έστω ότι πρόκειται να διασταυρωθούν οι εξής συµβολοσειρές µιας γενιάς: S 1 = S 2 = Αν η θέση διασταύρωσης είναι k=4 (όπως δηλώνεται µε το σύµβολο ), τότε ως αποτέλεσµα της διασταύρωσης θα εναλλαγούν τα δύο τελευταία τµήµατα κάθε συµβολοσειράς και θα προκύψουν δύο καινούργια µέλη της νέας γενιάς: ' S 1 = S = ' 2 Επειδή τα άκρα των συµβολοσειρών παραµένουν ανέπαφα µετά τη διασταύρωσή τους, διατυπώθηκε η επιφύλαξη ότι ο αλγόριθµος συµπεριφέρεται χαριστικά προς ορισµένα σηµεία του χώρου λύσεων. Γι αυτό το λόγο, ιδίως για δυαδικές αναπαραστάσεις, προτάθηκε η τεχνική της διασταύρωσης δύο σηµείων (two-point crossover), βάσει της οποίας επιλέγονται δύο θέσεις στην ακολουθία και ανταλλάσσονται τα ενδιάµεσα τµήµατα των συµβολοσειρών. Η επιλογή του τρόπου διασταύρωσης είναι πάντως στενά συνυφασµένη µε το προς επίλυση πρόβληµα και στη βιβλιογραφία δεν διατυπώνεται σαφής προτίµηση προς µια από τις δύο µεθόδους. Στις πιο πρόσφατες υλοποιήσεις, άλλοτε ακολουθείται η διασταύρωση δύο σηµείων και άλλοτε η οµοιό- µορφη διασταύρωση ενός σηµείου µε προκαθορισµένο ρυθµό διασταύρωσης p c , ο οποίος εκφράζει το ποσοστό του πληθυσµού κάθε γενιάς που θα προκύπτει από διασταύρωση Μετάλλαξη Ενώ η διασταύρωση αποτελεί το βασικό µοχλό παραγωγής νέων και ποικίλων συµβολοσειρών, η µετάλλαξη (mutation) παίζει δευτερεύοντα ρόλο επιδιώκοντας να αποτρέψει τη σταθεροποίηση κάποιων γονιδίων σε συγκεκριµένες θέσεις της συµβολοσειράς και να ενισχύσει την ποικιλία του πληθυσµού. Σε µια απλή δυαδική αναπαράσταση του πληθυσµού, µετάλλαξη συµβαίνει όταν σε κάποια τυχαία θέση της συµβολοσειράς δίνεται η συµπληρωµατική τιµή του υφιστάµενου ψηφίου. Λ.χ. είναι πιθανόν να αλλάξει η τιµή στη δεύτερη θέση της συµβολοσειράς S 2 και το 1 να γίνει 0: S 2 = Η πιθανότητα p m να συµβεί αυτό το φαινόµενο σε κάθε γενιά χαρακτηρίζεται ως ρυθµός µετάλλαξης (mutation probability, mutation rate) και είναι γενικά πολύ µικρή (συνήθως µια µετάλλαξη για κάθε 1000 δυαδικά ψηφία, άρα p m 0.001) Στάδια εκτέλεσης γενετικού αλγορίθµου Συνοπτικά, για κάποιο δεδοµένο πρόβληµα και µε προσδιορισµένη την αναπαράσταση των υποψηφίων λύσεων, ένας γενετικός αλγόριθµος λειτουργεί ως εξής: 1. Πρώτα ορίζεται ο αρχικός πληθυσµός µε τυχαίο τρόπο (λ.χ. γεννήτρια ψευδοτυχαίων αριθµών) αποτελούµενος από n l-ψήφια χρωµοσώµατα S i που αντιπροσωπεύουν τις υποψήφιες λύσεις του προβλήµατος για τη γενιά t=1. 2. Για κάθε χρωµόσωµα S i (µε i=1..n) της γενιάς t υπολογίζεται η τιµή της συνάρτησης προσαρµογής f (S i (t )). 3. Τα ακόλουθα βήµατα επαναλαµβάνονται µέχρις ότου προκύψουν n απόγονοι για την επόµενη γενιά t+1: i. Επιλέγεται για αναπαραγωγή ένα ζεύγος χρωµοσωµάτων της παρούσας γενιάς µε πιθανότητα ανάλογη της υπολογισµένης τιµής της συνάρτησης προσαρµογής. εν αποκλείεται το ίδιο χρωµόσωµα να αναπαραχθεί πολλές φορές σε µία γενιά. ii. Με βάση τον προκαθορισµένο ρυθµό διασταύρωσης p c το ζεύγος των χρωµοσωµάτων διασταυρώνεται σε µια τυχαία επιλεγµένη θέση της συµβολοσειράς (υπόθεση οµοιόµορφης κατανοµής), οπότε προκύπτουν δύο απόγονοι. Εάν δεν συµβεί διασταύρωση, οι απόγονοι είναι αυτούσιοι οι επιλεγέντες γονείς. iii. Κατόπιν, οι δύο απόγονοι υφίστανται µετάλλαξη µε προκαθορισµένη πιθανότητα p m (ο ρυθµός µετάλλαξης) σε τυχαία θέση της συµβολοσειράς και το αποτέλεσµα που προκύπτει εντάσσεται στον νέο πληθυσµό. 4. Εφόσον τα νέα µέλη προστίθενται ανά ζεύγη, αν ο πληθυσµός n είναι περιττός αριθµός, τότε ένα µέλος του νέου πληθυσµού (κάποιος από τους απογόνους) πρέπει να διαγραφεί µε τυχαίο τρόπο. Ο νέος πληθυσµός αντικαθιστά τον υπάρχοντα και η διαδικασία επαναλαµβάνεται από το στάδιο 2. Κάθε επανάληψη αντιστοιχεί σε µια γενιά. 2.2 Γενετικός προγραµµατισµός Ο John Koza εισήγαγε την έννοια γενετικός προγραµµατισµός (genetic programming) το 1992 ως µετεξέλιξη των γενετικών 6

7 Βασικές αρχές των γενετικών µεθόδων αλγορίθµων: ο πληθυσµός αντί να αποτελείται από δυαδικές αναπαραστάσεις, συνίσταται από συµβολικές µαθηµατικές εκφράσεις, δηλαδή προγράµµατα υπολογιστών. Κύριος στόχος του γενετικού προγραµµατισµού είναι να παρέχει γενικές µεθόδους επίλυσης προβληµάτων µε τις οποίες κτίζεται ένα πρόγραµµα βάσει της ανάλυσης απαιτήσεων. Ξεκινώντας από µια σειρά τυχαία κατασκευασµένων προγραµµάτων, η τεχνική αυτή προοδευτικά εξελίσσει ένα πληθυσµό προγραµµάτων επί σειρά γενεών, ακολουθώντας τις βιολογικές έννοιες της διασταύρωσης, της µετάλλαξης και της φυσικής επιλογής. Όπως µια οµάδα προγραµµατιστών επιφέρουν προοδευτικές βελτιώσεις στον κώδικα ενός προγράµµατος σε αλλεπάλληλες εκδοχές (versions), έτσι και µε το γενετικό προγραµµατισµό δηµιουργούνται νέα προγράµ- µατα από ήδη υπάρχοντα, αρκεί να είναι συντακτικά σωστά και εκτελέσιµα [Lan98]. Τα προγράµµατα που αποτελούν τον πληθυσµό κάθε γενιάς είναι σύνθεση συναρτήσεων (αριθµητικών πράξεων, λογικών και ανισωτικών τελεστών, ειδικών συναρτήσεων του προβλήµατος) µε τερµατικούς όρους (terminals, λ.χ. σταθερές, µεταβλητές). Έτσι περιττεύει η αναγκαιότητα µετασχηµατισµού δυαδικών αναπαραστάσεων σ ένα µοντέλο, παρέχοντας µεγαλύτερη ευελιξία. Η επιλογή κατάλληλων συναρτήσεων και τερµατικών όρων προσδιορίζει το χώρο λύσεων του προβλήµατος και τελικά κρίνει την επιτυχία της διαδικασίας Αναπαράσταση του πληθυσµού Τα προγράµµατα αναπαρίστανται µε τη µορφή S-εκφράσεων σε γλώσσα LISP (LISt Processing language) και µάλιστα µε προθεµατικό συµβολισµό (prefix notation). Οι εκφράσεις αυτές µπορούν να αναπαρασταθούν και ως δένδρα δοµικής ανάλυσης (parse trees) των οποίων οι κόµβοι περιέχουν τις συναρτήσεις ενώ τα φύλλα τηρούν τους τερµατικούς όρους. Έτσι επιτυγχάνεται καλύτερη εποπτεία των δοµών που χρησιµοποιούνται και διευκολύνεται η διαισθητική κατανόηση των λειτουργιών που θα εφαρµοστούν στα µέλη κάθε γενιάς (Σχ. 2). Από το συνδυασµό ενός αρχικού συνόλου συναρτήσεων και ενός αντίστοιχου συνόλου τερµατικών όρων (µεταβλητών και σταθερών), µπορεί να σχηµατιστεί ένας πολύ µεγάλος αριθµός µαθηµατικών εκφράσεων µεταβαλλόµενου µήκους και πολυπλοκότητας. Η βασική διαφορά από την δυαδική αναπαράσταση που χρησιµοποιούν οι γενετικοί αλγόριθµοι είναι ότι µε το γενετικό προγραµµατισµό επιτυγχάνεται ιεραρχική δοµή, γι αυτό άλλωστε είναι δυνατή η δενδρική αναπαράσταση. Παρόλο που η φύση του προβλήµατος επηρεάζει την επιλογή των συναρτήσεων και των όρων που θα σχηµατίσουν τις µαθηµατικές εκφράσεις, από κοινού τα δύο σύνολα πρέπει να εµφανίζουν δύο βασικές ιδιότητες: Κλειστότητα (closure). Το σύνολο των συναρτήσεων είναι κλειστό όταν κάθε συνάρτηση µπορεί να δεχθεί ως όρισµα όποια τιµή ή τύπο δεδοµένων επιστρέφεται από κάποια άλλη συνάρτηση ή λαµβάνεται από κάποιο τερµατικό όρο. Έτσι, λ.χ. προλαµβάνεται διαίρεση µε 0 ή µπορεί να οριστεί ότι το αποτέλεσµα µιας τέτοιας διαίρεσης είναι 1. Αυτό εγγυάται ότι τα προγράµµατα που θα προκύψουν θα είναι συντακτικά ορθά και συνήθως επιτυγχάνεται επιλέγοντας συναρτήσεις και όρους από το ίδιο πεδίο τιµών (λ.χ. ακεραίους). Σχήµα 2: ένδρα δοµικής ανάλυσης για τις µαθηµατικές εκφράσεις (* A (- (* A A ) A))) και (/ A (/ (/ (SQRT ( A)) A) (/ A A))). (Πηγή: [Mit96], σελ.39) Επάρκεια (sufficiency). Το σύνολο των συναρτήσεων και των τερµατικών όρων όχι µόνο µπορεί να εκφράσει τη λύση του προβλήµατος, αλλά είναι ικανό να οδηγήσει σ αυτήν τη λύση µετά από πεπερασµένο αριθµό γενεών. Όπως και στους γενετικούς αλγορίθµους, µε τη συνάρτηση προσαρµογής αποφασίζεται πόσο καλή είναι η λύση που κάποιο πρόγραµµα δίνει στο προς επίλυση πρόβληµα. Το αποτέλεσµα της συνάρτησης προσαρµογής συνδέεται στενά µε το µέγεθος των µελών. Ο γενετικός προγραµµατισµός είναι δυνατόν να οδηγήσει σε ανεξέλεγκτα µεγάλες εκφράσεις (προγράµµατα) µε πολύ µικρή πρακτική αξία. Για την καταπολέµηση του φαινοµένου, η έννοια της φειδούς (parsimony) προβλέπει εξαναγκασµό των µελών να µην υπερβαίνουν ένα ορισµένο µέγεθος, συνήθως ένα προκαθορισµένο µέγιστο µήκος προγράµµατος ή ύψος δένδρου Τελεστές και συναρτήσεις Οι τελεστές που χρησιµοποιούνται για το γενετικό προγραµµατισµό είναι αντίστοιχοι όσων εφαρµόζονται στους γενετικούς αλγορίθµους: Επιλογή. Συνήθως, χρησιµοποιείται η απόλυτη τιµή της προσαρµογής κάθε λύσης σε σχέση µε τις υπόλοιπες της ίδιας γενιάς. Έτσι, µε συνάρτηση προσαρµογής f (S i (t )) για τη λύση S i στη γενιά t, η πιθανότητα επιλογής της στην επόµενη γενιά δίνεται από το λόγο προσαρµογής P i = M j= 1 f ( S ( t)) i f ( S ( t)) όπου ο παρονοµαστής είναι το άθροισµα των τιµών προσαρµογής για όλα τα µέλη της γενιάς t. Όσο υψηλότερη είναι η πιθανότητα, τόσο πιο σίγουρη είναι η αντιγραφή του µέλους αυτού στη νέα γενιά. Ο κίνδυνος πρόωρης σύγκλισης είναι πιθανός όταν ο αρχικός πληθυσµός περιλαµβάνει προγράµµατα που δίνουν σχετικά καλές λύσεις. Όπως και στους γενετικούς αλγορίθµους, διάφορες τεχνικές κλιµάκωσης προσαρµογής (µε windowing, sigma scaling ή linear scaling) αποπειρώνται να αποκλείσουν το ενδεχό- µενο κάποιο µέλος να κυριαρχήσει επί των υπολοίπων ήδη από τις πρώτες γενιές. Επίσης, εφαρµόζονται οι µέθοδοι της επιλογής κατά σειρά κατάταξης και της ανταγωνιστικής επιλογής. j 7

8 Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων. ιασταύρωση. Αρχικά, βάσει της τιµής προσαρµογής επιλέγονται οι δύο γονείς και στη συνέχεια, ανεξάρτητα για κάθε γονέα, το σηµείο διασταύρωσης (crossover point), δηλαδή το σηµείο όπου θα αποκοπεί ένας κλάδος (branch, subtree) απ τον καθένα, χωρίς να είναι απαραίτητο να διαλεχτεί στην ίδια θέση για κάθε γονέα. Η διασταύρωση συνίσταται στην ανταλλαγή (swap) του επιλεγµένου κλάδου κάθε γονέα µε τον αντίστοιχο κλάδο του άλλου, οπότε από δύο γονείς παράγονται ακριβώς δύο απόγονοι. Σε αντίθεση µε τους γενετικούς αλγορίθµους, όπου διασταυρώσεις ίδιων γονέων οδηγούν σε απαράλλαχτους απογόνους, µε την µεθοδολογία του γενετικού προγραµµατισµού ακόµη και δύο πανοµοιότυποι γονείς θα δώσουν δύο διαφορετικούς απογόνους εάν το σηµείο διασταύρωσης δεν επιλεγεί στην ίδια θέση. Εποµένως, δύο ταυτόσηµες λύσεις είναι δυνατόν να δώσουν στην επόµενη γενιά δύο εντελώς διαφορετικές, γεγονός που αποτελεί συγκριτικό πλεονέκτηµα ως προς τους γενετικούς αλγορίθµους. Επιπλέον, αντί να υπάρχουν σταθερού µήκους δοµές σε κάθε γενιά, επιτρέπονται και αναπαράγονται µεταβλητά µεγέθη προγραµµάτων, γεγονός που προσδίδει περισσότερο δυναµισµό στην τεχνική αυτή. Βέβαια, προκειµένου να αποφευχθούν υπερβολικά µεγάλες και συνεπώς υπολογιστικά περίπλοκες εκφράσεις, συνήθως τίθεται ένα όριο στο µέγιστο βάθος του δένδρου, ώστε ο αριθµός των επιπέδων να µην ξεπερνά κάποιον σταθερό αριθµό. Μετάλλαξη. Ένα µικρό ποσοστό από τα µέλη κάθε γενιάς θα υποστεί µετάλλαξη, µε δύο διαφορετικούς τρόπους. Στην πρώτη περίπτωση, µια συνάρτηση από το σύνολο των συναρτήσεων που έχουν προκαθοριστεί µπορεί να αντικαταστήσει µιαν άλλη συνάρτηση ή ένας τερµατικός όρος κάποιον άλλο τερµατικό όρο (point mutation). Εναλλακτικά, ένας ολόκληρος κλάδος µπορεί να υποκατασταθεί απ έναν άλλο κλάδο ορισµένου βάθους που δηµιουργείται κατά τυχαίο τρόπο (subtree mutation) Τερµατισµός εκτέλεσης Η εκτέλεση µιας διαδικασίας γενετικού προγραµµατισµού µπορεί να τερµατιστεί είτε όταν συµπληρωθεί ένας αριθµός γενεών (συνήθως 50) είτε όταν επιτευχθεί ένα προκαθορισµένο επίπεδο της συνάρτησης προσαρµογής. Βέβαια, χρειάζεται αρκετός πειραµατισµός ώστε να οριστεί ο κατάλληλος αριθµός γενεών ή ένα ικανοποιητικό επίπεδο τιµών προσαρµογής, δεδοµένου ότι δεν είναι γνωστό εκ των προτέρων εάν και πού ακριβώς η συνάρτηση εµφανίζει µέγιστο. Άλλες προσεγγίσεις όσον αφορά τον τερµατισµό διακόπτουν τη διαδικασία όταν δεν παρατηρείται αξιοσηµείωτη βελτίωση επί σειρά γενεών ή όταν η ποικιλία του γενετικού υλικού έχει µειωθεί ιδιαίτερα (µικρός αριθµός συναρτήσεων και τερµατικών όρων). Επιπλέον, απαιτείται ιδιαίτερη προσοχή για να µην συµβεί πρόωρη σύγκλιση της διαδικασίας σε κάποιο τοπικό µέγιστο. Τελικά, το καλύτερο πρόγραµµα που εµφανίστηκε σε κάποια γενιά (εκείνο µε την υψηλότερη τιµή της συνάρτησης προσαρµογής) αποτελεί τη βέλτιστη λύση και είναι το τελικό εξαγόµενο της διαδικασίας Εκτέλεση διαδικασίας γενετικού προγραµµατισµού Παρακάτω, συνοψίζονται τα βασικά στάδια εκτέλεσης όπως προβλέπονται από τη µέθοδο του γενετικού προγραµµατισµού: 1. Αρχικά επιλέγονται τα σύνολα των συναρτήσεων και των τερµατικών όρων που θα συµµετάσχουν στο πρόγραµµα. εδοµένου ότι δεν είναι γνωστό ευθύς εξαρχής ποιες είναι οι κατάλληλες συναρτήσεις και όροι, ο χρήστης θα πρέπει να κάνει καλή επιλογή των µελών κάθε συνόλου, κρίνοντας από τη φύση του προβλήµατος που πρέπει να επιλυθεί. 2. Από τις επιλεγµένες συναρτήσεις και όρους δηµιουργείται ένας αρχικός πληθυσµός µε µαθηµατικές εκφράσεις (προγράµµατα που απεικονίζονται και ως δένδρα). Αυτές οι εκφράσεις επιτρέπεται να είναι µεταβλητού µεγέθους, πρέπει όµως να είναι συντακτικά σωστές. 3. Η τιµή προσαρµογής κάθε προγράµµατος υπολογίζεται εκτελώντας το για έναν ορισµένο αριθµό χαρακτηριστικών περιπτώσεων (ενδεικτικές τιµές εισόδου, των οποίων το σωστό αποτέλεσµα είναι γνωστό). Για κάθε πρόγραµµα, η τιµή αυτή ισούται προς τον αριθµό των περιπτώσεων που εκτελέστηκε σωστά ή για όσες το αποτέλεσµα προσεγγίζει τη σωστή τιµή µε κάποια ανοχή. Είναι εύλογο ότι τα τυχαία προγράµµατα που συγκροτούν τον αρχικό πληθυσµό µάλλον δεν θα επιτύχουν να βρούν τη λύση ωστόσο, αν ο πληθυσµός είναι αρκετά µεγάλος, υπάρχουν ελπίδες κάποια απ αυτά κατά τύχη να προκύψουν ευνοϊκά. 4. Ακολούθως, µε τους τελεστές της επιλογής, της διασταύρωσης και της µετάλλαξης δηµιουργείται η καινούργια γενιά. Προφανώς, ως αποτέλεσµα της διασταύρωσης το µέγεθος των εκφράσεων (ισοδύναµα, των δένδρων) µπορεί να αυξοµειώνεται. 5. Τα δύο προηγούµενα βήµατα (3 και 4) επαναλαµβάνονται για έναν ορισµένο αριθµό γενεών Παράλληλος γενετικός προγραµµατισµός Μια από τις πλέον σηµαντικές τεχνολογικές εξελίξεις της τελευταίας δεκαετίας αποτελεί η ανάπτυξη υπολογιστών υψηλών επιδόσεων (high performance computing), µε κύρια αιχµή την υιοθέτηση τεχνικών παράλληλης επεξεργασίας µε πολλαπλούς επεξεργαστές οργανωµένους σε συστοιχίες (λ.χ. δοµή υπερκύβου). Ο φόρτος του συστήµατος ρυθµίζεται µε κατάλληλο λογισµικό που στηρίζεται στην κατανοµή των υπολογισµών στους επεξεργαστές και στην ανταλλαγή µηνυµάτων µεταξύ τους. Ο στόχος είναι φυσικά η ταχύτερη εκτέλεση των υπολογισµών, κάτι που επιχειρούν να εκµεταλλευτούν και οι τεχνικές του γενετικού προγραµµατισµού και των γενετικών αλγορίθµων. Συνήθως ακολουθείται ένα µοντέλο «αφέντησκλάβου» ( master-slave ), όπου ένας επεξεργαστής ( master ) αρχικοποιεί τον πληθυσµό και κατευθύνει την εξελικτική διαδικασία, ενώ οι υπόλοιποι επεξεργαστές ( slaves ) απλώς αξιολογούν τα µέλη βάσει της συνάρτησης προσαρµογής. Η διαδικασία είναι ασύγχρονη (asynchronous), εξαιτίας του διαφορετικού µεγέθους κάθε µέλους, αφού το βάθος των δένδρων ποικίλει. Συνεπώς, η εκτίµηση της προσαρµογής δεν τελειώνει το ίδιο γρήγορα για όλα τα µέλη της γενιάς. Άρα, τα µέλη κάθε γενιάς είναι δυνατόν να ανανεώνονται όχι κατά ολόκληρες γενιές, όπως ήταν η αρχική αντιµετώπιση, αλλά εξελίσσοντας κάθε γενιά σταθερά και σταδιακά (steady-state approach), καταργώντας και δηµιουργώντας νέα µέλη, όπως άλλωστε συµβαίνει και στη φύση. 8

9 Βελτιστοποίηση ερωτηµάτων σε βάσεις δεδοµένων 2.3 Αξιολόγηση των γενετικών τεχνικών Η λειτουργία των γενετικών αλγορίθµων θεµελιώνεται πάνω στο λεγόµενο Θεώρηµα Σχηµάτων (Schema Theorem) που διατύπωσε ο Holland. Το θεώρηµα προβλέπει ότι µικρά, αλλά αποτελεσµατικά δοµικά στοιχεία (σχήµατα) λαµβάνουν εκθετικά αυξηµένη πιθανότητα αναπαραγωγής από γενιά σε γενιά, δίνοντας πολύ καλούς απογόνους. Αυτό το γεγονός εξηγεί το δυναµισµό των γενετικών τεχνικών και δικαιολογεί την αποτελεσµατικότητά τους. Βεβαίως, στο επίπεδο της υλοποίησης έχουν γίνει αρκετές παραδοχές, παραλλαγές ή και απλουστεύσεις, καθώς και ανάµιξη στοιχείων από άλλα πεδία (λ.χ. ευρετικές τεχνικές). Επιπλέον, η κωδικοποίηση µε δενδρικές δοµές (tree-encoding) συντελεί στην διερεύνηση ενός ανοικτού χώρου λύσεων, χωρίς να υφίσταται περιορισµούς από τους πολλούς αλλά πεπερασµένους συνδυασµούς της τυπικής κωδικοποίησης µε σταθερό µέγεθος συµβολοσειρών. Πράγµατι, η κωδικοποίηση της αναπαράστασης µαζί µε τους γενετικούς τελεστές κρίνουν την αποτελεσµατικότητα της λύσης. Οι τελεστές της διασταύρωσης και της µετάλλαξης που χρησιµοποιούνται από τις γενετικές µεθόδους είναι δυνατό να δώσουν λύσεις ριζικά διαφορετικές από τις υπάρχουσες. Η λειτουργία της διασταύρωσης παρέχει τον κύριο µηχανισµό αναζήτησης λύσεων για το πρόβληµα, γι αυτό και συνήθως της αποδίδεται υψηλή πιθανότητα (της τάξης του 70%) να συµβεί. Η σηµασία της είναι ιδιαίτερα µεγάλη κατά τα αρχικά στάδια της εκτέλεσης (τις πρώτες γενιές), όταν αναζητείται η περιοχή του χώρου λύσεων του προβλήµατος όπου πιθανόν εντοπίζεται το ολικό µέγιστο. Απεναντίας, η µετάλλαξη λαµβάνει σηµαντικά µικρότερη πιθανότητα εµφάνισης (της τάξης του 1% ή λιγότερο) και ο ρόλος της έγκειται κυρίως στη διατήρηση της ποικιλίας στον πληθυσµό κάθε γενιάς. Γι αυτό και η σηµασία της γίνεται ολοένα και µεγαλύτερη κατά τα τελευταία στάδια της εκτέλεσης, όταν γίνονται πλέον µικροβελτιώσεις στη διαφαινόµενη λύση. Οι γενετικές µέθοδοι έχουν ιδιαίτερη συµβολή στη µελέτη προβληµάτων βελτιστοποίησης (optimization). Αν η βέλτιστη λύση ενός προβλήµατος αναζητείται µε τυπικές ντετερµινιστικές µεθόδους, ελλοχεύει ο κίνδυνος να προσδιοριστεί τελικά κάποιο τοπικό ακρότατο (µέγιστο ή ελάχιστο, ανάλογα µε τη συνάρτηση προσαρµογής), αφού κάθε φορά ερευνάται ένα διαφορετικό σηµείο του χώρου λύσεων. Αντίθετα, µε τις γενετικές τεχνικές πολλαπλά σηµεία του χώρου λύσεων αναζητούνται ταυτόχρονα, οπότε η πιθανότητα εγκλωβισµού σε τοπικά ακρότατα περιορίζεται δραστικά. Επειδή, τέλος, τα µέλη του πληθυσµού επιλέγονται µε τυχαίο τρόπο, η αναζήτηση κατευθύνεται προς περιοχές του χώρου λύσεων που είναι πιθανότερο να οδηγήσουν σε βελτιωµένα αποτελέσµατα. Βασικό ζήτηµα έρευνας στον τοµέα των γενετικών µεθόδων αποτελεί η ευρωστία τους (robustness), δηλαδή πώς η αποτελεσµατικότητα της προτεινόµενης λύσης συµβαδίζει µε την ικανότητα επίλυσης σε διαφορετικά περιβάλλοντα. Η έννοια αυτή συµπυκνώνει το ερώτηµα κατά πόσο είναι δυνατή η δηµιουργία αλγορίθµων που να µην απαιτούν επανασχεδιασµό ή επαναπρογραµµατισµό, αλλά να είναι δυνατόν να προσαρµόζονται στις απαιτήσεις του εκάστοτε προβλήµατος. ιάφορες προηγµένες τεχνικές έχουν προταθεί κατά καιρούς. Ο εκλεκτικισµός (elitism) προνοεί ώστε οι εκλεκτότεροι εκπρόσωποι κάθε γενιάς να διατηρούνται πάντοτε άθικτοι και στην επόµενη, προστατεύοντάς τους από τυχόν παραποίηση λόγω διασταύρωσης ή µετάλλαξης. Άλλη ενδιαφέρουσα τεχνική είναι η λεγόµενη επιλογή κατά Boltzmann, όπου αρχικά τα κριτήρια είναι µεν χαλαρά για να εξασφαλίζεται µεγαλύτερη ποικιλία στον πληθυσµό, βαθµιαία όµως γίνονται αυστηρότερα καθώς ο αλγόριθµος πλησιάζει προς την σύγκλιση. 3 Βελτιστοποίηση ερωτηµάτων σε βάσεις δεδοµένων Σύµφωνα µε το σχεσιακό µοντέλο βάσεων δεδοµένων, τα στοιχεία είναι οργανωµένα σε σχεσιακούς πίνακες (relations), καθένας από τους οποίους περιλαµβάνει ένα σύνολο από οµοειδείς πλειάδες (tuples). Για την πλειονότητα των ερωτηµάτων που τίθενται, οι πίνακες συσχετίζονται µεταξύ τους µε τον σχεσιακό τελεστή σύνδεσης (join), τα περιεχόµενά τους φιλτράρονται προκειµένου να επιλεγούν (selection) όσα ικανοποιούν τις συνθήκες που τίθενται από το ερώτηµα ή προβάλλονται (projection) οι τιµές που εµφανίζουν σε ορισµένα γνωρίσµατά τους (attributes). Τέτοια ερωτήµατα αποκαλούνται συνήθως SPJ ερωτήµατα (από τα αρχικά των λειτουργιών SELECT-PROJECT-JOIN) ή συζευκτικά ερωτήµατα (conjunctive queries) επειδή επιτρέπονται µόνον συζεύξεις στις συνθήκες. Όπως προαναφέρθηκε, η πλέον ακριβή σχεσιακή πράξη είναι η σύνδεση πινάκων, καθώς ελέγχεται αν οι τιµές επιλεγµένων γνωρισµάτων κάθε πλειάδας του πρώτου ταιριάζουν µε τιµές σε αντίστοιχες πλειάδες του δεύτερου. Ως αποτέλεσµα επιστρέφεται ένας νέος σχεσιακός πίνακας που προκύπτει από τη συνένωση των αντίστοιχων ζευγών πλειάδων. Ευθύς αµέσως θα εξηγηθούν οι κύριες πτυχές της βελτιστοποίησης ερωτηµάτων σύνδεσης όπως αντιµετωπίζονται από ντετερµινιστικούς και τυχαιοποιηµένους αλγορίθµους. 3.1 Στρατηγικές βελτιστοποίησης ερωτηµάτων Το πρωταρχικό µέληµα του βελτιστοποιητή ερωτηµάτων είναι ν αποφασίσει µε ποια σειρά θα εκτελεστούν οι συνδέσεις και ποιοι αλγόριθµοι θα χρησιµοποιηθούν για τον υπολογισµό της καθεµιάς. Η βέλτιστη σειρά εκτέλεσης των συνδέσεων είναι πρόβληµα NP-hard, οπότε, για περισσότερες από 8-10 συνδέσεις αναζητείται µια ικανοποιητική προσεγγιστική λύση. Εφόσον στις συνδέσεις πινάκων ισχύει η αντιµεταθετική και η προσεταιριστική ιδιότητα, το πλήθος των δυνατών συνδυασµών πολλαπλών συνδέσεων ανεβαίνει εκθετικά µε τον αριθµό των συνδέσεων. Αν βέβαια ληφθεί υπ όψιν ότι για την υλοποίηση των συνδέσεων πινάκων έχουν επινοηθεί διάφοροι αλγόριθµοι (nested-loops join, sort-merge join, hash join) [Gra93], ενώ είναι πιθανή η ύπαρξη δεικτών (indices) για την αποτελεσµατικότερη προσπέλαση των πλειάδων, ο αριθµός των προσχεδίων εκτέλεσης που µπορεί να εξεταστούν αυξάνει ακόµη περισσότερο. Για την απεικόνιση ερωτήµατος κατά το στάδιο της βελτιστοποίησης χρησιµοποιείται ο λεγόµενος γράφος ερωτήµατος (query graph). Συνήθως πρόκειται για δένδρα αποτελούµενα από κόµβους που αντιπροσωπεύουν σχεσιακούς πίνακες και από µη κατευθυνόµενες ακµές για τους τελεστές (σύνδεση, προβολή, ένωση κλπ.). Τέτοιοι γράφοι προκύπτουν έπειτα από αναδιατύπωση (query rewriting), συνήθως τροποποιώντας την σύνταξη του ερωτήµατος. Στη συνέχεια, θα εξεταστούν µόνο γράφοι συνδέσεων (join graphs) σαν αυτούς του Σχ. 4(α), αφού 9

10 Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων. Σχήµα 3: ένδρο εκτέλεσης για ένα τυπικό SPJ ερώτηµα. πρόκειται για την πλέον ενδιαφέρουσα αλλά και δυσκολότερη περίπτωση. Τέτοιοι γράφοι παραµένουν µια δηλωτική µορφή αναπαράστασης του ερωτήµατος, η οποία µπορεί περαιτέρω να εξειδικευθεί σε διάφορα προσχέδια εκτέλεσης (query execution plans), δηλαδή εναλλακτικούς τρόπους επεξεργασίας. Ο χώρος αναζήτησης λύσεων περιλαµβάνει όλα τα προσχέδια εκτέλεσης του ερωτήµατος που µπορούν να υπολογίσουν το αποτέλεσµα. Κάθε σηµείο του χώρου λύσεων αντιστοιχεί σ ένα προσχέδιο και έχει ένα ορισµένο κόστος που υπολογίζεται βάσει των χρησιµοποιούµενων τελεστών. Το προσχέδιο εκτέλεσης απεικονίζεται συνήθως µε τη µορφή ενός δένδρου επεξεργασίας (query processing tree) του οποίου τα φύλλα αντιπροσωπεύουν σχεσιακούς πίνακες της βάσης δεδοµένων (µόνο µια φορά ο καθένας), ενώ οι ενδιάµεσοι κόµβοι συµβολίζουν σχεσιακούς τελεστές (απλές συνδέσεις, στην προκειµένη περίπτωση). Οι ακµές δηλώνουν τη ροή των δεδοµένων από τα φύλλα προς τη ρίζα του ρίζα όπου λαµβάνεται το τελικό αποτέλεσµα για το ερώτηµα. Επίσης, προσδιορίζονται οι µέθοδοι προσπέλασης των πλειάδων και οι αλγόριθµοι υλοποίησης των συνδέσεων. Ως ένα απλουστευµένο παράδειγµα, ας θεωρηθεί η βάση δεδοµένων µιας εταιρείας µε σχεσιακούς πίνακες της µορφής employees ( emp-id, emp-name, salary, dept) departments (dept-id, dept-name, floor) Το ερώτηµα «βρες ποια τµήµατα έχουν υπαλλήλους µε µισθό πάνω από 3000 ευρώ», διατυπώνεται σε SQL ως εξής: SELECT dept-id, dept-name FROM employees, departments WHERE dept=dept-id AND salary>3000 Ένα από τα πιθανά προσχέδια εκτέλεσης εικονίζεται στο Σχ. 3, ως ένα δένδρο επεξεργασίας που αντλεί πλειάδες από τους πίνακες στα φύλλα και τις διοχετεύει µέσω των σχεσιακών τελεστών προς τη ρίζα, δίνοντας την απάντηση στο ερώτηµα. Το πρόβληµα της βελτιστοποίησης ανάγεται λοιπόν στην εξεύρεση του σηµείου s 0 µε το µικρότερο κόστος στο χώρο λύσεων S που συγκροτούν όλα τα πιθανά προσχέδια εκτέλεσης ερωτηµάτων. Επιγραµµατικά: cost (s 0 ) = min cost (s) s S Η εκτίµηση του κόστους στη ρίζα υπολογίζεται αναδροµικά για κάθε κόµβο του δένδρου, συνυπολογίζοντας το κόστος ανάγνωσης των πλειάδων από τους απογόνους του και το κόστος σύνδεσης, το οποίο εξαρτάται από τον αλγόριθµο που θα επιλεγεί (λ.χ. sort-merge join). Το µοντέλο κόστους συνήθως λαµβάνει υπόψη διάφορες παραµέτρους, όπως στατιστικά στοιχεία για τους πίνακες και τους δείκτες (αριθµός πλειάδων, αριθµός σελίδων, πλήθος διακριτών τιµών ανά γνώρισµα), εκτίµηση της επιλεκτικότητας (selectivity) των κατηγορηµάτων, καθώς και τους χρόνους επεξεργασίας (CPU time) και ανάγνωσης/εγγραφής δεδοµένων (I/O time). Μολονότι ο χώρος λύσεων S περιλαµβάνει ποικιλόµορφα δένδρα (βλ. Σχ. 4β), περισσότερο ενδιαφέρον παρουσιάζουν τα αριστεροβαθή (left-deep trees) και τα θαµνώδη δένδρα (bushy trees). Η πρώτη κατηγορία συγκροτείται από δένδρα που η δεξιά (εσωτερική) σχέση της σύνδεσης είναι ένας σχεσιακός πίνακας της βάσης δεδοµένων και όχι ένα ενδιάµεσο αποτέλεσµα κάποιας άλλης σύνδεσης. Απεναντίας, η κατηγορία µε θαµνώδη δένδρα είναι ευρύτερη, αφού επιτρέπεται και οι δύο συνδεόµενες σχέσεις να είναι ενδιάµεσα αποτελέσµατα προηγούµενων συνδέσεων. Προφανώς, το πλήθος των προσχεδίων που ανήκουν στη δεύτερη κατηγορία είναι σηµαντικά αυξηµένο. 3.2 Πρότυπες υλοποιήσεις Οι περισσότεροι βελτιστοποιητές ερωτηµάτων δεν διερευνούν όλο το χώρο λύσεων, αλλά µόνο κάποιους υποχώρους, µε την ελπίδα ότι, ακόµη κι αν δεν βρεθεί το βέλτιστο προσχέδιο, θα προκύψει τουλάχιστον κάποιο µε σχεδόν παραπλήσιο κόστος. Προκειµένου να µειώσουν τον αριθµό των περιπτώσεων που θα χρειαστεί να εξετάσουν, τα συµβατικά συστήµατα βάσεων δεδοµένων καταφεύγουν σε ευρετικούς κανόνες [Ion96]: (α) (β) Σχήµα 4: (α) ύο ενδεικτικοί γράφοι σύνδεσης για το ερώτηµα πολλαπλών συνδέσεων A B C D E F. Οι κόµβοι δηλώνουν σχεσιακούς πίνακες, ενώ οι αριθµοί των ακµών εκφράζουν τη σειρά υπολογισµού των συνδέσεων. (β) Τα αντίστοιχα δένδρα εκτέλεσης του ερωτήµατος, αριστεροβαθές για την πρώτη περίπτωση και θαµνώδες για τη δεύτερη. 10

11 Γενετική βελτιστοποίηση ερωτηµάτων σύνδεσης i. Οι τελεστές επιλογής και προβολής εφαρµόζονται χωρίς να χρειαστεί ν αποθηκεύσουν αποτελέσµατα σε ενδιάµεσους πίνακες. Η επιλογή (δηλώνεται µε σ) γίνεται κατά την πρώτη προσπέλαση των πλειάδων µιας σχέσης, ενώ η προβολή (µε σύµβολο π) εκτελείται µόλις παραχθούν τα αποτελέσµατα των υπόλοιπων τελεστών. ii. εν υπολογίζονται καρτεσιανά γινόµενα ( ) µεταξύ πινάκων, εκτός κι αν ζητούνται ρητώς από το ερώτηµα. Σχέσεις σχηµατίζονται µόνο από την εκτέλεση συνδέσεων ( ). iii. Η εσωτερική σχέση µιας σύνδεσης είναι πάντα ένας σχεσιακός πίνακας της βάσης δεδοµένων και ποτέ ένα ενδιάµεσο αποτέλεσµα. Είναι σαφές ότι οι παραπάνω κανόνες ευνοούν το σχηµατισµό αριστεροβαθών δένδρων εκτέλεσης, µε την πεποίθηση ότι το καλύτερο προσχέδιο αυτής της κατηγορίας δεν θα υστερεί σηµαντικά του βέλτιστου προσχεδίου. Ο ισχυρισµός είναι βάσιµος αν προϋπάρχουν δείκτες για τους εσωτερικούς σχεσιακούς πίνακες των συνδέσεων. Αν µάλιστα χρησιµοποιείται ο αλγόριθµος σύνδεσης nested-loops join για όλες τις συνδέσεις, τότε δεν απαιτείται αποθήκευση των ενδιάµεσων αποτελεσµάτων (τεχνική pipelining) Ο κύριος αλγόριθµος δυναµικού προγραµµατισµού Η τεχνική του δυναµικού προγραµµατισµού εφαρµόστηκε για πρώτη φορά σε προβλήµατα βελτιστοποίησης ερωτηµάτων στο πρωτότυπο System-R [SAC+79]. Πρόκειται για έναν αλγόριθµο εξαντλητικής αναζήτησης στον υποχώρο των αριστεροβαθών δένδρων σύνδεσης. Η µέθοδος εισάγει την έννοια των διατάξεων ενδιαφέροντος (interesting orderings), δηλαδή της σειράς παραγωγής των ενδιάµεσων αποτελεσµάτων ανάλογα µε τα γνωρίσµατα που συµµετέχουν σε συνδέσεις ή εµπλέκονται σε ταξινοµήσεις και οµαδοποιήσεις στοιχείων. Κατά τη διαδικασία βελτιστοποίησης, αν κάποιο ενδιάµεσο αποτέλεσµα παράγει πλειάδες ταξινοµηµένες ως προς κάποιο γνώρισµα των διατάξεων ενδιαφέροντος, τότε το σχετικό προσχέδιο πρέπει να αντιµετωπιστεί µε ειδικό τρόπο. Ο αλγόριθµος εκτελείται επαναληπτικά τόσες φορές όσες και οι σχέσεις που συµµετέχουν στο ερώτηµα, κτίζοντας σταδιακά το δένδρο από τα φύλλα προς τη ρίζα. Καταρχήν, για κάθε σχεσιακό πίνακα που αναφέρεται στο ερώτηµα, εξετάζονται όλοι οι δυνατοί τρόποι προσπέλασης, από την απλή σειραϊκή σάρωση των πλειάδων µέχρι και τους δείκτες που τυχόν υπάρχουν για κάποια γνωρίσµατά του. Στο επόµενο στάδιο, απορρίπτεται κάθε προσχέδιο για το οποίο υπάρχει φθηνότερο ισοδύναµο δένδρο, δηλαδή κάποιο µικρότερου κόστος προσχέδιο που να επιστρέφει τα ίδια µεν αποτελέσµατα, αλλά ταξινοµηµένα βάσει των διατάξεων ενδιαφέροντος. Στην k-στή επανάληψη της διαδικασίας, το σύνολο των µερικών λύσεων µε k σχέσεις δηµιουργείται από το ήδη σχηµατισµένο σύνολο των προσχεδίων µε k-1 σχέσεις. Στο στάδιο αυτό, τα µερικά προσχέδια που έχουν αναδειχθεί φθηνότερα µέχρι τότε συνδυάζονται µε τους υπολειπόµενους σχεσιακούς πίνακες που δεν έχουν ακόµη συµπεριληφθεί στο προσχέδιο. Στο τέλος, από τα κατασκευασµένα δένδρα που εµπλέκουν όλους τους πίνακες του ερωτήµατος, επιλέγεται το φθηνότερο. Αν υποτεθεί ότι το ερώτηµα περιέχει n συνδέσεις, τότε η διαδικασία δυναµικά απορρίπτει προσχέδια ελέγχοντας µόνο O(n 2 n-1 ) απ αυτά και αποφεύγοντας την εξέταση όλων των δυνατών συνδυασµών O(n!) του χώρου λύσεων [Cha98]. Το µεγάλο µειονέκτηµα της µεθόδου εντοπίζεται στην υπερβολική κατανάλωση µνήµης λόγω της ανάγκης τήρησης όλων των ηµιτελών προσχεδίων που παράγονται σε κάθε στάδιο και πρόκειται να εξεταστούν στο αµέσως επόµενο, φαινόµενο που εντείνεται στις τελευταίες φάσεις. Εφόσον και ο χρόνος εκτέλεσης αυξάνει εκθετικά µε τον αριθµό των συνδέσεων, η διαδικασία αυτή αποδεικνύεται ιδιαίτερα προβληµατική για ερωτήµατα µε περισσότερες από συνδέσεις Τυχαιοποιηµένοι αλγόρι θµοι Για ν αντιµετωπίσουν το πρόβληµα βελτιστοποίησης ερωτη- µάτων πολλαπλών συνδέσεων, οι τυχαιοποιηµένοι αλγόριθµοι πραγµατοποιούν τυχαίους περιπάτους (random walks) εκτελώντας κινήσεις σ έναν γράφο που αντιπροσωπεύει τις λύσεις. Αντί να επιχειρείται η σταδιακή κατασκευή καλών προσχεδίων, όπως στο δυναµικό προγραµµατισµό, δοκιµάζεται ο µετασχηµατισµός υπαρχόντων προσχεδίων µε τρεις µεθόδους [Ion96]: H προσοµοιωµένη ανόπτηση εκτελεί τυχαίους περιπάτους αποδεχόµενη πάντοτε καθοδικές κινήσεις προς σηµεία µε µικρότερο κόστος, αλλά και ανοδικές κινήσεις µε κάποια πιθανότητα η οποία µειώνεται µε την πάροδο του χρόνου. Όταν η πιθανότητα γίνει τελικά µηδέν, η εκτέλεση παύει. H επαναληπτική βελτίωση εκτελεί αρκετές τοπικές βελτιστοποιήσεις: ξεκινώντας από έναν τυχαίο κόµβο, αποδέχεται όσες καθοδικές κινήσεις καταλήγουν σε τοπικά ελάχιστα. Όπως και στην προσοµοιωµένη ανόπτηση, ως τελικό εξαγόµενο επιστρέφεται το χαµηλότερο τοπικό ελάχιστο που εντοπίστηκε σε κάποιο βήµα. H βελτιστοποίηση δύο φάσεων συνδυάζει τις δύο προηγού- µενες τεχνικές. Στην αρχή εκτελείται για λίγο η επαναληπτική βελτίωση για να βρεθεί µια τοπικά βέλτιστη λύση. Κατόπιν, η λύση αυτή δίνεται ως είσοδος στην προσοµοιωµένη ανόπτηση, ώστε να ελεγχθεί η εγγύς περιοχή του χώρου λύσεων, παρέχοντας στον αλγόριθµο τη δυνατότητα να βρει ένα πιθανόν καλύτερο ελάχιστο. Παρά την πιθανοτική τους συµπεριφορά («στρίφοντας νοµίσµατα»), οι τυχαιοποιηµένοι αλγόριθµοι αποδεικνύονται αρκετά ικανοί στο χειρισµό υπεράριθµων συνδέσεων σε ερωτήµατα. Η επαναληπτική βελτίωση βρίσκει σύντοµα ένα ικανοποιητικό προσχέδιο, ενώ η προσοµοιωµένη ανόπτηση µπορεί να προτείνει κάποιο ακόµη καλύτερο, αν και µε αυξηµένο χρόνο εκτέλεσης. Τέλος, η βελτιστοποίηση δύο φάσεων τείνει να συγκεράσει τα πλεονεκτήµατα των άλλων δύο, δίνοντας καλά προσχέδια σε ακόµη συντοµότερο χρόνο. 4 Γενετική βελτιστοποίηση ερωτηµάτων σύνδεσης Όπως ήδη έχει τονιστεί, η επιτυχία της χρήσης γενετικών τεχνικών σε προβλήµατα βελτιστοποίησης κρίνεται από την αναπαράσταση του πληθυσµού των λύσεων και τις παρα- µέτρους των γενετικών τελεστών που εφαρµόζονται. Στην περίπτωση της βελτιστοποίησης ερωτηµάτων τα χρωµοσώµατα συµβολίζουν αριστεροβαθή ή θαµνώδη δένδρα επεξεργασίας και ζητούµενο είναι η ελαχιστοποίηση του κόστους εκτέλεσης. Στη συνέχεια της ενότητας, αφού αναπτυχθούν οι σηµαντικότερες απόπειρες επίλυσης του προβλήµατος µε γενετικές 11

Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων

Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων Κ. Πατρούµπας 27 Ιανουαρίου 2005 27/01/2005 Τεχνητά Νευρωνικά

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

Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά

Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά ΤΕΙ Κεντρικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταπτυχιακό Πρόγραμμα Τηλεπικοινωνιών & Πληροφορικής Μάθημα : 204a Υπολογιστική Ευφυία Μηχανική Μάθηση Καθηγητής : Σπύρος Καζαρλής Ενότηα : Εξελικτική

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

Ε ανάληψη. Α ληροφόρητη αναζήτηση

Ε ανάληψη. Α ληροφόρητη αναζήτηση ΠΛΗ 405 Τεχνητή Νοηµοσύνη Το ική Αναζήτηση Local Search Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Α ληροφόρητη αναζήτηση σε πλάτος, οµοιόµορφου κόστους, σε βάθος,

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Προβλήματα Βελτιστοποίησης Περιγραφή προβλήματος με αρχική κατάσταση, τελική

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

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 5η διάλεξη (2017-18) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

Θεµελίωση Γενετικών Αλγορίθµων

Θεµελίωση Γενετικών Αλγορίθµων Θεµελίωση Γενετικών Αλγορίθµων Σηµερινό Μάθηµα Προβληµατισµοί Σχήµατα Τάξη Οριστικό Μήκος ΘεώρηµατωνΣχηµάτων Υπόθεση δοµικών Στοιχείων Πλάνη 1 Προβληµατισµοί Τι προβλέψεις µπορούν να γίνουν για τη χρονική

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

Κεφάλαιο 7. Γενετικοί Αλγόριθµοι. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 7. Γενετικοί Αλγόριθµοι. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 7 Γενετικοί Αλγόριθµοι Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Εισαγωγή Σε αρκετές περιπτώσεις το µέγεθος ενός προβλήµατος καθιστά απαγορευτική

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ

ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ ηµήτρης Ψούνης ΠΛΗ31, Απαντήσεις Quiz Γενετικών Αλγορίθµων 1 ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ ΚΩ ΙΚΟΠΟΙΗΣΗ ΕΡΩΤΗΜΑ 1.1 Ο φαινότυπος ενός ατόµου α.αναπαριστά ένα άτοµο στο χώρο λύσεων του προβλήµατος β.κωδικοποιεί

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

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Με τον όρο μη γραμμικές εξισώσεις εννοούμε εξισώσεις της μορφής: f( ) 0 που προέρχονται από συναρτήσεις f () που είναι μη γραμμικές ως προς. Περιέχουν δηλαδή

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

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Ένα από τα γνωστότερα παραδείγματα των ΕΑ είναι ο Γενετικός

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

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» 2 ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβλήματα ελάχιστης συνεκτικότητας δικτύου Το πρόβλημα της ελάχιστης

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

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

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

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

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

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

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

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

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

Υπολογιστική Νοηµοσύνη

Υπολογιστική Νοηµοσύνη Υπολογιστική Νοηµοσύνη Σηµερινό Μάθηµα Η θεωρία της Εξέλιξης των Ειδών οµή Γενετικού Αλγόριθµου Κύρια χαρακτηριστικά ενός Γενετικού Αλγορίθµου (ΓΑ) Γενετική ιαδικασία 1 Η θεωρία της Εξέλιξης των Ειδών

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

Συστήματα Επιχειρηματικής Ευφυίας

Συστήματα Επιχειρηματικής Ευφυίας Συστήματα Επιχειρηματικής Ευφυίας Γενετικοί αλγόριθμοι (GA) : Από τον Δαρβίνο (1859) στον J. Holland (1975). (Ένα ταξίδι στον υπέροχο κόσμο της επιλογής, της διασταύρωσης και της μετάλλαξης). Charles Darwin

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

Γενετικοί Αλγόριθμοι. Εισαγωγή

Γενετικοί Αλγόριθμοι. Εισαγωγή Τεχνητή Νοημοσύνη 08 Γενετικοί Αλγόριθμοι (Genetic Algorithms) Εισαγωγή Σε αρκετές περιπτώσεις το μέγεθος ενός προβλήματος καθιστά απαγορευτική τη χρήση κλασικών μεθόδων αναζήτησης για την επίλυσή του.

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

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

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

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Τεχνολογία Συστημάτων Υδατικών Πόρων

Τεχνολογία Συστημάτων Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Τεχνολογία Συστημάτων Υδατικών Πόρων Βελτιστοποίηση:Προχωρημένες Μέθοδοι Χρήστος Μακρόπουλος, Επίκουρος Καθηγητής ΕΜΠ Σχολή Πολιτικών

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

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

Q 12. c 3 Q 23. h 12 + h 23 + h 31 = 0 (6)

Q 12. c 3 Q 23. h 12 + h 23 + h 31 = 0 (6) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Πολιτικών Μηχανικών Τοµέας Υδατικών Πόρων Μάθηµα: Τυπικά Υδραυλικά Έργα Μέρος 2: ίκτυα διανοµής Άσκηση E0: Μαθηµατική διατύπωση µοντέλου επίλυσης απλού δικτύου διανοµής

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

ιοίκηση Παραγωγής και Υπηρεσιών

ιοίκηση Παραγωγής και Υπηρεσιών ιοίκηση Παραγωγής και Υπηρεσιών Προγραµµατισµός Παραγωγής Προβλήµατα µε πολλές µηχανές Γιώργος Ιωάννου, Ph.D. Αναπληρωτής Καθηγητής Σύνοψη διάλεξης Προβλήµατα Παράλληλων Μηχανών Ελαχιστοποίηση χρόνου ροής

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

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Διαχείριση Υδατικών Πόρων Βελτιστοποίηση Προχωρημένες Μέθοδοι Προβλήματα με την «κλασική» βελτιστοποίηση Η αντικειμενική συνάρτηση σπανίως

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

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Πληροφοριακά Συστήματα Διοίκησης Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Σημασία μοντέλου Το μοντέλο δημιουργεί μια λογική δομή μέσω της οποίας αποκτούμε μια χρήσιμη άποψη

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

Ενδεικτικές Ερωτήσεις Θεωρίας

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ ο (2.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 26 Ιανουαρίου 2004 ιάρκεια: 2 ώρες (9:00-:00) Στην παρακάτω

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

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

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

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

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

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: μέθοδοι μονοδιάστατης ελαχιστοποίησης Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 6 η /2017 Τι παρουσιάστηκε

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

Πολυκριτηριακός Γραμμικός Προγραμματισμός. Συστήματα Αποφάσεων Εργαστήριο Συστημάτων Αποφάσεων και Διοίκησης

Πολυκριτηριακός Γραμμικός Προγραμματισμός. Συστήματα Αποφάσεων Εργαστήριο Συστημάτων Αποφάσεων και Διοίκησης Πολυκριτηριακός Γραμμικός Προγραμματισμός Πολλαπλά κριτήρια στη λήψη απόφασης Λήψη Αποφάσεων με Πολλαπλά Κριτήρια Διακριτό σύνολο επιλογών Συνεχές σύνολο επιλογών Πολυκριτηριακή Ανάλυση (ELECTRE, Promethee,

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

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

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

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

Αστικά υδραυλικά έργα

Αστικά υδραυλικά έργα Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Αστικά υδραυλικά έργα Διαστασιολόγηση αγωγών και έλεγχος πιέσεων δικτύων διανομής Δημήτρης Κουτσογιάννης, Καθηγητής ΕΜΠ Σχολή Πολιτικών

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

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Πεπερασμένες και Διαιρεμένες Διαφορές Εισαγωγή Θα εισάγουμε την έννοια των διαφορών με ένα

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

4.3. Γραµµικοί ταξινοµητές

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

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

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

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ Συνδυασμένη χρήση μοντέλων προσομοίωσης βελτιστοποίησης. Η μέθοδος του μητρώου μοναδιαίας απόκρισης Νικόλαος

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

6. Στατιστικές μέθοδοι εκπαίδευσης

6. Στατιστικές μέθοδοι εκπαίδευσης 6. Στατιστικές μέθοδοι εκπαίδευσης Μία διαφορετική μέθοδος εκπαίδευσης των νευρωνικών δικτύων χρησιμοποιεί ιδέες από την Στατιστική Φυσική για να φέρει τελικά το ίδιο αποτέλεσμα όπως οι άλλες μέθοδοι,

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ ο (2.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις Παρασκευή 9 Ιανουαρίου 2007 5:00-8:00 εδοµένου ότι η

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

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

4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΕΙΣΑΓΩΓΗ ΣΤΗN ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ 4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ Μ. Καρλαύτης Ν. Λαγαρός Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

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

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) + KΕΦΑΛΑΙΟ 4 Κλασσικές Μέθοδοι Βελτιστοποίησης Με Περιορισµούς Ανισότητες 4. ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΠΕΡΙΟΡΙΣΜΟΥΣ ΑΝΙΣΟΤΗΤΕΣ Ζητούνται οι τιµές των µεταβλητών απόφασης που ελαχιστοποιούν την αντικειµενική συνάρτηση

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

Μηχανισµοί & Εισαγωγή στο Σχεδιασµό Μηχανών Ακαδηµαϊκό έτος: Ε.Μ.Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 3.

Μηχανισµοί & Εισαγωγή στο Σχεδιασµό Μηχανών Ακαδηµαϊκό έτος: Ε.Μ.Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 3. ΜΗΧΑΝΙΣΜΟΙ & ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕ ΙΑΣΜΟ ΜΗΧΑΝΩΝ - 3.1 - Cpright ΕΜΠ - Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 2012. Με επιφύλαξη παντός δικαιώµατος. All rights reserved. Απαγορεύεται

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΘΕΜΑ 1 ο (2,5 μονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Τελικές εξετάσεις Πέμπτη 21 Ιουνίου 2012 16:30-19:30 Υποθέστε ότι θέλουμε

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Τεχνικές κατασκευής δένδρων επιθεµάτων πολύ µεγάλου µεγέθους και χρήσης

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

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Εισηγητής: ρ Ηλίας Ζαφειρόπουλος Εισαγωγή Ιατρικά δεδοµένα: Συλλογή Οργάνωση Αξιοποίηση Data Mining ιαχείριση εδοµένων Εκπαίδευση

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΕΡΓΑΛΕΙΑ ΙΟΙΚΗΣΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΜΑΘΗΜΑ: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΙΟΙΚΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΡΓΑΛΕΙΑ ΙΟΙΚΗΣΗΣ ιδάσκων:

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

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Μέχρι στιγμής εξετάσθηκαν μέθοδοι ταξινόμησης µε πολυπλοκότητα της τάξης Θ ) ή Θlog ). Τι εκφράζει

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

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

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

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

ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο

ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο EVOLOTIONARY ALGORITHMS 1 ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Η Λογική (1/2) Ο Εξελικτικός Υπολογισµός (evolutionary computation) χρησιµοποιεί τα υπολογιστικά µοντέλα εξελικτικών

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

Περί της Ταξινόμησης των Ειδών

Περί της Ταξινόμησης των Ειδών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Tel.: +30 2310998051, Ιστοσελίδα: http://users.auth.gr/theodoru Περί της Ταξινόμησης

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

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. 4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό

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

Μέθοδοι Φυλογένεσης. Μέθοδοι που βασίζονται σε αποστάσεις UPGMA Κοντινότερης γειτονίας (Neighbor joining) Fitch-Margoliash Ελάχιστης εξέλιξης

Μέθοδοι Φυλογένεσης. Μέθοδοι που βασίζονται σε αποστάσεις UPGMA Κοντινότερης γειτονίας (Neighbor joining) Fitch-Margoliash Ελάχιστης εξέλιξης Μέθοδοι Φυλογένεσης Μέθοδοι που βασίζονται σε αποστάσεις UPGMA Κοντινότερης γειτονίας (Neighbor joining) Fitch-Margoliash Ελάχιστης εξέλιξης Μέθοδοι που βασίζονται σε χαρακτήρες Μέγιστη φειδωλότητα (Maximum

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

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

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

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

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

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΠΕΡΣΕΦΟΝΗ ΠΟΛΥΧΡΟΝΙΔΟΥ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΤΕ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΠΕΡΣΕΦΟΝΗ ΠΟΛΥΧΡΟΝΙΔΟΥ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

Γενετικός Προγραμματισμός

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

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

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

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

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

Κεφάλαιο 14: Διαστασιολόγηση αγωγών και έλεγχος πιέσεων δικτύων διανομής

Κεφάλαιο 14: Διαστασιολόγηση αγωγών και έλεγχος πιέσεων δικτύων διανομής Κεφάλαιο 14: Διαστασιολόγηση αγωγών και έλεγχος πιέσεων δικτύων διανομής Έλεγχος λειτουργίας δικτύων διανομής με χρήση μοντέλων υδραυλικής ανάλυσης Βασικό ζητούμενο της υδραυλικής ανάλυσης είναι ο έλεγχος

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

Συστήματα Επιχειρηματικής Ευφυίας. Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search

Συστήματα Επιχειρηματικής Ευφυίας. Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search Συστήματα Επιχειρηματικής Ευφυίας Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search Τέταρτη Διάλεξη Περιεχόμενα 1. Το πρόβλημα της πρόωρης σύγκλισης (premature convergence)

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

Μαθηματικά. Ενότητα 2: Διαφορικός Λογισμός. Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Μαθηματικά. Ενότητα 2: Διαφορικός Λογισμός. Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη) Μαθηματικά Ενότητα 2: Διαφορικός Λογισμός Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης ΠΕΡΙΕΧΟΜΕΝΑ Εντολές επιλογής Εντολές επανάληψης Εισαγωγή Στο προηγούμενο κεφάλαιο αναπτύξαμε προγράμματα, τα οποία ήταν πολύ απλά και οι εντολές των οποίων εκτελούνται η μία μετά την άλλη. Αυτή η σειριακή

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008

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

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων ΠΕΡΙΕΧΟΜΕΝΑ Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων Εισαγωγή Η χρήση των μεταβλητών με δείκτες στην άλγεβρα είναι ένας ιδιαίτερα

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

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ ΚΕΦΑΛΑΙΟ ΔΙΑΤΑΞΕΙΣ ΜΕΤΑΘΕΣΕΙΣ ΣΥΝΔΥΑΣΜΟΙ Εισαγωγή. Οι σχηματισμοί που προκύπτουν με την επιλογή ενός συγκεκριμένου αριθμού στοιχείων από το ίδιο σύνολο καλούνται διατάξεις αν μας ενδιαφέρει η σειρά καταγραφή

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

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης 1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης Στη συγκεκριμένη ενότητα εξετάζουμε θέματα σχετικά με την αριθμητική πεπερασμένης ακρίβειας που χρησιμοποιούν οι σημερινοί υπολογιστές και τα

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

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Κεφάλαιο 5 Ανάλυση Αλγορίθμων Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι

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

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Αριθμητική Παραγώγιση Εισαγωγή Ορισμός 7. Αν y f x είναι μια συνάρτηση ορισμένη σε ένα διάστημα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του

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

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 5η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

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

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΜΕΡΟΣ ΙΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ 36 ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ Πολλές από τις αποφάσεις

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

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Διακριτή πηγή πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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

Ε ανάληψη. Ε αναλαµβανόµενες καταστάσεις. Αναζήτηση µε µερική ληροφόρηση. Πληροφορηµένη αναζήτηση. µέθοδοι αποφυγής

Ε ανάληψη. Ε αναλαµβανόµενες καταστάσεις. Αναζήτηση µε µερική ληροφόρηση. Πληροφορηµένη αναζήτηση. µέθοδοι αποφυγής ΠΛΗ 405 Τεχνητή Νοηµοσύνη Πληροφορηµένη Αναζήτηση II Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Ε αναλαµβανόµενες καταστάσεις µέθοδοι αποφυγής Αναζήτηση µε µερική

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ 1. Διαχείριση έργων Τις τελευταίες δεκαετίες παρατηρείται σημαντική αξιοποίηση της διαχείρισης έργων σαν ένα εργαλείο με το οποίο οι διάφορες επιχειρήσεις

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

ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0

ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0 ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0 Η Θεωρία Πιθανοτήτων είναι ένας σχετικά νέος κλάδος των Μαθηματικών, ο οποίος παρουσιάζει πολλά ιδιαίτερα χαρακτηριστικά στοιχεία. Επειδή η ιδιαιτερότητα

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

Διαχείριση Υδατικών Πόρων Πολυκριτηριακή ανάλυση

Διαχείριση Υδατικών Πόρων Πολυκριτηριακή ανάλυση Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Διαχείριση Υδατικών Πόρων Πολυκριτηριακή ανάλυση Ανδρέας Ευστρατιάδης & Δημήτρης Κουτσογιάννης Σχολή Πολιτικών Μηχανικών, Αθήνα Άδεια

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

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

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