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

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

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

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης και εφαρμογή τους σε ταξινόμηση πρωτεϊνικών δεδομένων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΦΩΤΗ Ε. ΨΩΜΟΠΟΥΛΟΥ Α.Ε.Μ Επιβλέπων : Δρ. Περικλής Α. Μήτκας Αναπληρωτής Καθηγητής Α.Π.Θ Θεσσαλονίκη, Ιούλιος 2004

2 Περιεχόμενα Περιεχόμενα... 2 Εισαγωγή... 4 Κεφάλαιο 1. Περιγραφή του προβλήματος Εισαγωγή Η ανάγκη για κατηγοριοποίηση των πρωτεϊνών Πρόβλεψη Λειτουργικής Συμπεριφοράς Πρωτεϊνών Στόχοι της Διπλωματικής Απεικόνιση Δεδομένων Μοτίβα Μεθοδολογία Περιεχόμενα Κεφάλαιο 2. Η Μεθοδολογία Εξαγωγής Κανόνων Εισαγωγή Η Μεθοδολογία Συνοπτικά Πεπερασμένα Αυτόματα Δένδρο Αποδοχής Προθεμάτων (PTA) Τι είναι πρόθεμα Τι είναι το PTA PTA για πρωτεϊνικό σύνολο δεδομένων Αλγόριθμος Δημιουργίας PTA Δημιουργία Στοχαστικού Αιτιοκρατικού Πεπερασμένου Αυτόματου Αλγόριθμος ALERGIA Προετοιμασία του PTA για εφαρμογή του ALERGIA Ισοδύναμες Καταστάσεις Συμβατές Καταστάσεις (Equivalent States Compatible States) Ο Αλγόριθμος ALERGIA Πολυπλοκότητα Αλγορίθμου ALERGIA Υπολογισμός πιθανοτήτων εμφάνισης συμβόλων από FSA Υπολογισμός πιθανότητας εμφάνισης διατεταγμένου συνόλου συμβόλων Υπολογισμός πιθανότητας εμφάνισης μη διατεταγμένου συνόλου συμβόλων Πολυπλοκότητα Εξαγωγή Κανόνων Κατηγοριοποίησης Κανόνες Κατηγοριοποίησης Κανόνες Συσχέτισης (Classification Rules Association Rules) Εφαρμογή σε πρωτεϊνικά δεδομένα... 33

3 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Υπολογισμός γνωρισμάτων κανόνων από FSA Αλγόριθμος Εξαγωγής Κανόνων Ένα παράδειγμα Κεφάλαιο 3. Υλοποίηση Αρχιτεκτονική του Συστήματος Περιγραφή της Βάσης Δεδομένων Σύνδεση με τον SQL Server 2000 μέσω JDBC Αρχιτεκτονική τριών επιπέδων Αρχιτεκτονική του Εργαλεία που χρησιμοποιήθηκαν SQL Server JBoss JBuilder X Κεφάλαιο 4. Αποτελέσματα Πειράματα Προσδιορισμός της παραμέτρου confidence στον αλγόριθμο ALERGIA Πειραματικά αποτελέσματα κατηγοριοποίησης Έλεγχος σε σταθερό πλήθος οικογενειών και μεταβλητά ποσοστά δεδομένων εκπαίδευσης και ελέγχου Έλεγχος σε μεταβλητό πλήθος οικογενειών και σταθερό ποσοστό δεδομένων εκπαίδευσης και ελέγχου Έλεγχος σε όλες τις οικογένειες πρωτεϊνών Χρονική διάρκεια αλγορίθμου Κεφάλαιο 5. Συμπεράσματα και Μελλοντικές Προεκτάσεις Συμπεράσματα Μελλοντικές Επεκτάσεις Βελτιώσεις Βιβλιογραφία Παραρτήματα Παράρτημα Α: Οδηγός Χρήσης του Εικόνες Διεπαφών Παράρτημα Β: Διαγράμματα εσωτερικής δομής και λειτουργίας του συστήματος Παράρτημα Γ: Οδηγίες Εγκατάστασης του Παράρτημα Δ: Επιπλέον Πειράματα Παράρτημα Ε: Στατιστικά στοιχεία της Βάσης Δεδομένων GenBase (release 11/05/2004 Prosite)

4 Εισαγωγή Οι υπολογιστές και ο παγκόσμιος ιστός αλλάζουν δραματικά τον τρόπο της έρευνας στη βιολογία. Θεωρητική και υπολογιστική βιολογία συνυπάρχουν για δεκαετίες στα όρια της επιστήμης της βιολογίας. Αλλά μέσα σε λίγα μόνο χρόνια, τα νέα βιολογικά δεδομένα που προέκυψαν από την προσπάθεια καταγραφής του ανθρώπινου γονιδιώματος, κατέστησαν αναγκαία τη χρήση των υπολογιστών σε κάθε πλευρά της βιολογίας. Έρευνα η οποία κάποτε γινόταν μέσα σε εργαστήριο τώρα γίνεται σε υπολογιστή, καθώς επιστήμονες ερευνούν τις βάσεις δεδομένων για πληροφορίες που μπορεί να οδηγήσουν σε νέες υποθέσεις. Μέσα στις τελευταίες δύο δεκαετίες, τόσο οι προσωπικοί υπολογιστές όσο και οι υπερυπολογιστές, έχουν γίνει προσβάσιμοι από τους επιστήμονες κάθε κλάδου. Οι προσωπικοί υπολογιστές έχουν εξελιχθεί από ακριβές μηχανές με πολύ μικρή υπολογιστική ισχύ, σε μηχανές που είναι τόσο ισχυρές όσο οι υπερυπολογιστές της προηγούμενης δεκαετίας. Ακριβώς όπως αντικατέστησαν την γραφομηχανή του συγγραφέα και τον άβακα του λογιστή, οι υπολογιστές έχουν αναλάβει τη θέση ελέγχου και συλλογής πληροφοριών από εργαστηριακό εξοπλισμό. Η ισχύς των βάσεων δεδομένων επιτρέπει την πολύ ευκολότερη πρόσβαση σε δεδομένα, καθώς και την αποθήκευση, ανάλυση και οπτικοποίησή τους. Πέρα από αυτά όμως, οι υπολογιστές είναι ισχυρές μηχανές που επιτρέπουν την κατανόηση οποιουδήποτε συστήματος μπορεί να περιγραφεί με μαθηματικά μοντέλα, δίνοντας το έναυσμα κλάδων επιστημών, όπως η υπολογιστική πληροφορική, και τελευταία η βιοπληροφορική. Από την άλλη πλευρά όμως, οι υπολογιστές θα ήταν άχρηστοι χωρίς την ύπαρξη προγραμμάτων και αλγορίθμων να χρησιμοποιούν την τεράστια ισχύ των υπολογιστών στα εκάστοτε προβλήματα. Στα πλαίσια αυτής της εργασίας, αναπτύχθηκαν τόσο μία μεθοδολογία όσο και μία εφαρμογή που την υλοποιεί. Ευχαριστώ θερμά τον αναπληρωτή καθηγητή κ. Περικλή A. Μήτκα για την υπόδειξη του θέματος αυτής της εργασίας και για την επιστημονική εποπτεία κατά την εκπόνησή της, καθώς επίσης και τον υποψήφιο διδάκτορα κ. Σωτήρη Διπλάρη για την άρτια καθοδήγηση και επίβλεψη. Ευχαριστώ ακόμη για τη συμβολή τους σε θέματα προγραμματισμού τους υποψήφιους διδάκτορες κ. Ανδρέα Συμεωνίδη, κ. Διονύση Κεχαγιά και κ. Ιωάννη Αθανασιάδη.

5 Κεφάλαιο 1. Περιγραφή του προβλήματος 1.1. Εισαγωγή Με τον όρο βιοπληροφορική (bioinformatics) περιγράφεται η επιστήμη της έρευνας, ανάπτυξης και εφαρμογής υπολογιστικών εργαλείων και μεθόδων με στόχο την διεύρυνση της χρήσης βιολογικών και ιατρικών δεδομένων, καθώς και μεθόδων για την καταγραφή, αποθήκευση, οργάνωση, ανάλυση και παρουσίαση τέτοιων δεδομένων. Η υπολογιστική βιολογία (computational biology) ορίζεται ως η επιστήμη της έρευνας και εφαρμογής αριθμητικών ή θεωρητικών μεθόδων, μαθηματικών μοντέλων και τεχνικών προσομοίωσης για τη μελέτη βιολογικών και κοινωνικών συστημάτων. Η βιοπληροφορική και η υπολογιστική βιολογία έχουν τις ρίζες τους τόσο στις επιστήμες υπολογιστών και πληροφορικής, όσο και στις φυσικές επιστήμες. Και οι δύο περιλαμβάνουν στοιχεία από επιστημονικούς τομείς, όπως τα μαθηματικά, τη φυσική και τη βιολογία. Ταυτόχρονα όμως, και οι δύο διατηρούν μια στενή σχέση με τις φυσικές επιστήμες, και τις τεράστιες δυνατότητες που αυτές προσφέρουν. Η βιοπληροφορική εφαρμόζει υπολογιστικές μεθόδους έτσι ώστε να κάνει πιο χρήσιμη και κατανοητή την τεράστια ποσότητα των πολύπλοκων δεδομένων. Από την άλλη πλευρά, η υπολογιστική βιολογία χρησιμοποιεί μαθηματικές και αριθμητικές μεθόδους για να απαντήσει σε θεωρητικά ή πειραματικά ερωτήματα της βιολογίας. Παρόλο που βιοπληροφορική και υπολογιστική βιολογία είναι δύο διαφορετικές επιστήμες, υπάρχουν πολλά κοινά σημεία.

6 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 6 Είναι πλέον γνωστό ότι οι σύγχρονες εξελίξεις στη βιοπληροφορική και στη μοριακή βιολογία έχουν δημιουργήσει ένα τεράστιο όγκο δεδομένων. Μόνο ο ανθρώπινος γενετικός κώδικας περιλαμβάνει 3 δισεκατομμύρια νουκλεοτίδια, υπάρχουν ήδη πάνω από 100 βακτηριδιακά γονίδια αποκωδικοποιημένα εξ ολοκλήρου, ενώ κάθε εβδομάδα προσδιορίζονται πάνω από 20 εκατομμύρια νουκλεοτίδια [GJ 01]. Η ανάλυση όλων αυτών των δεδομένων απαιτεί τη χρήση υπολογιστικών συστημάτων, καθώς και τη δημιουργία αξιόπιστων τεχνικών μοντελοποίησης. Αναμφισβήτητα, το μεγαλύτερο, ως τώρα, επίτευγμα της βιοπληροφορικής είναι η αποκωδικοποίηση του DNA. Ο γενετικός κώδικας προσδιορίζει επακριβώς τον τρόπο με τον οποίο θα δημιουργηθούν οι απαραίτητες για τη λειτουργία του κυττάρου πρωτεΐνες. Παρόλα αυτά, η γνώση της κατασκευής των πρωτεϊνών δεν προσφέρει πληροφορίες για τον τρόπο με τον οποίο αυτή θα χρησιμοποιηθεί. Όλες οι κυτταρικές λειτουργίες επιτελούνται με τη βοήθεια πρωτεϊνών, και όχι DNA ή RNA. Πολλές από τις μετατροπές που υφίστανται οι πρωτεΐνες δεν είναι εμφανείς από το γενετικό κώδικα, ενώ ο ίδιος ο γενετικός κώδικας δεν προσδιορίζει πώς, πού και ποιες πρωτεΐνες θα αντιδράσουν. Για την ακρίβεια δεν προσδιορίζει ούτε εάν μια συγκεκριμένη πρωτεΐνη θα δημιουργηθεί κάποτε! Για όλους αυτούς τους λόγους, ένας από τους μεγαλύτερους τομείς της βιοπληροφορικής είναι η ακριβής και αξιόπιστη μοντελοποίηση της συμπεριφοράς και της λειτουργίας των πρωτεϊνών Η ανάγκη για κατηγοριοποίηση των πρωτεϊνών Ενώ χρειάστηκαν χιλιάδες χρόνια για να διαπιστωθεί ότι όλα τα έμβια όντα ζώα και φυτά αποτελούνται από παρόμοια κύτταρα, μέσα σε λίγες δεκαετίες ανακαλύφθηκε ότι το κύτταρο λειτουργεί σαν ένα ανεξάρτητο χημικό εργοστάσιο, που εκπέμπει και λαμβάνει κωδικοποιημένα μηνύματα, τα οποία συντονίζουν τη δραστηριότητα και διευθύνουν την ανάπτυξη του σώματος. Αυτό το πολύ πυκνό και πολύπλοκο δίκτυο χημικών διαδικασιών παρέμεινε μυστηριώδες μέχρι τα μέσα του 20ου αιώνα. Σήμερα μαθαίνουμε ότι τα μηνύματα αυτά είναι εξαιρετικά ακριβή, αρχίζουμε να αντιλαμβανόμαστε το αλφάβητο της γλώσσας των κυττάρων, ενώ διαπιστώνουμε ότι πρέπει να εμβαθύνουμε και στο συντακτικό της.

7 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 7 Κάθε κύτταρο είναι προικισμένο με τη δυνατότητα να ανιχνεύει τα σήματα του περιβάλλοντός του. Τα σήματα αυτά μεταδίδονται κυρίως με τη μορφή χημικών μορίων, τα οποία το κύτταρο έχει μάθει να αναγνωρίζει. Στη συνέχεια αποκωδικοποιούνται, δηλαδή οργανώνονται σε μηνύματα, στα οποία το κύτταρο μπορεί να δώσει μία απόκριση που αντλεί από το γενετικό του ρεπερτόριο: για παράδειγμα, σύσπαση, στην περίπτωση ενός μυϊκού κυττάρου, ή έκκριση μίας ορμόνης, στην περίπτωση ενός αδενικού κυττάρου. Με την έννοια αυτή μπορούμε να μιλάμε για «γλώσσα των κυττάρων». Τα σήματα, στα οποία αναφερόμαστε, είναι σχετικά απλά χημικά μόρια, που προέρχονται από τα στοιχειώδη συστατικά της ζώσας ύλης, δηλαδή τα αμινοξέα, που είναι ενώσεις άνθρακα, οξυγόνου, υδρογόνου και αζώτου, και έχουν μοριακό βάρος γύρω στα 100 daltons (100 φορές το 1/12 της μάζας του άνθρακα 12, ή 100 φορές τη μάζα του υδρογόνου). Τα απλούστερα σήματα είναι αυτά καθ εαυτά ανάλογα αμινοξέων (όπως για παράδειγμα του γλουταμινικού ή του ασπαρτικού οξέος). Σε ορισμένες περιπτώσεις, αυτά τα αμινοξέα είναι ελαφρώς τροποποιημένα, δηλαδή πρόκειται για πολύ γνωστούς διαβιβαστές, όπως η αδρεναλίνη, η ντοπαμίνη ή η ισταμίνη. Αλλά τα πιο συνήθη σήματα είναι οι πρωτεΐνες, οι οποίες αποτελούνται από πολύπλοκες συναρμολογήσεις αμινοξέων, που διατάσσονται σε διάφορες αλληλουχίες. Στο Σχήμα 1.1 παρουσιάζεται η ακολουθία των 499 αμινοξέων που αποτελούν την αλυσίδα της πρωτεΐνης με τον κωδικό P Στην αλυσίδα το κάθε αμινοξύ παρουσιάζεται με ένα γράμμα του λατινικού αλφαβήτου, σύμφωνα με την παγκόσμια τυποποίηση. Ανάλογα με τις λειτουργίες που επιτελούν, οι πρωτεΐνες χωρίζονται σε οικογένειες. Όλες οι πρωτεΐνες που ανήκουν σε μία οικογένεια παρουσιάζουν κάποια συγγένεια στη δομή, και για αυτό παρουσιάζουν και παρόμοιες ιδιότητες. Μέχρι τώρα, η βιολογική δράση των πρωτεϊνών μπορούσε να γίνει γνωστή μόνο μέσω χρονοβόρων και πολυέξοδων πειραμάτων. Η βιοπληροφορική αναλαμβάνει να επιλύσει αυτό το πρόβλημα με διάφορες μεθόδους.

8 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης GARASVLSGG ELDRWEKIRL RPGGKKKYKL KHIVWASREL ERFAVNPGLL ETSEGCRQIL GQLQPSLQTG SEELRSLYNT VATLYCVHQR IEIKDTKEAL DKIEEEQNKS KKKAQQAAAD TGHSNQVSQN YPIVQNIQGQ MVHQAISPRT LNAWVKVVEE KAFSPEVIPM FSALSEGATP QDLNTMLNTV GGHQAAMQML KETINEEAAE WDRVHPVHAG PIAPGQMREP RGSDIAGTTS TLQEQIGWMT NNPPIPVGEI YKRWIILGLN KIVRMYSPTS ILDIRQGPKE PFRDYVDRFY KTLRAEQASQ EVKNWMTETL LVQNANPDCK TILKALGPAA TLEEMMTACQ GVGGPGHKAR VLAEAMSQVT NSATIMMQRG NFRNQRKIVK CFNCGKEGHT ARNCRAPRKK GCWKCGKEGH QMKDCTERQA NFLGKIWPSY KGRPGNFLQS RPEPTAPPEE SFRSGVETTT PPQKQEPIDK 490 ELYPLTSLRS LFGNDPSSQ Σχήμα 1.1: Αλυσίδα της πρωτεΐνης P04591 (Gag polyprotein GAG_HV1H2) 1.3. Πρόβλεψη Λειτουργικής Συμπεριφοράς Πρωτεϊνών Σήμερα ένα από τα πιο μεγάλα προβλήματα της λειτουργικής γενετικής είναι η πρόβλεψη της λειτουργικής συμπεριφοράς των πρωτεϊνών, που είναι και ο σκοπός της παρούσας διπλωματικής εργασίας. Η πρόβλεψη είναι δυνατή χάρη στην ύπαρξη μοτίβων μέσα στην πρωτεϊνική αλυσίδα. Τα μοτίβα είναι μικρές αλυσίδες αμινοξέων που παρουσιάζουν συγκεκριμένη διάταξη. Σε αυτά κυρίως οφείλεται η συμπεριφορά μιας πρωτεΐνης, και χρησιμοποιούνται ευρέως για την πρόβλεψη της λειτουργίας της. Η συσχέτιση μεταξύ ιδιοτήτων και μοτίβων δεν είναι πάντα προφανής, καθώς σε μία πρωτεϊνική αλυσίδα είναι δυνατόν να υπάρχουν περισσότερα του ενός μοτίβα. Οι

9 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 9 τελικές ιδιότητες που θα παρουσιάσει μία πρωτεΐνη είναι συνάρτηση πολλών μοτίβων, όπου κάποια υπερισχύουν κάποιων άλλων. Διαπιστώνεται λοιπόν η ανάγκη να δημιουργηθούν εξειδικευμένα εργαλεία για την εύρεση των κανόνων που διέπουν αυτές τις συσχετίσεις, με απώτερο στόχο την πρόβλεψη της συμπεριφοράς κάποιας πρωτεΐνης. Ένα πρώτο βήμα προς αυτό το στόχο έχει ήδη γίνει με την αναλυτική καταγραφή τέτοιων μοτίβων σε βάσεις δεδομένων. Μερικές από τις πιο γνωστές είναι οι εξής: α) Η Prosite [URL1] είναι μία βάση δεδομένων η οποία περιέχει πρωτεϊνικές οικογένειες και ομάδες, δηλαδή βιολογικώς σημαντικά μοτίβα, πρότυπα και χαρακτηριστικά, τα οποία επιτρέπουν την αξιόπιστη κατάταξη μίας νέας πρωτεϊνικής αλυσίδας σε μία οικογένεια. Γενικά, πρωτεΐνες οι οποίες ανήκουν στην ίδια οικογένεια έχουν κοινά λειτουργικά χαρακτηριστικά και προέρχονται από διαφορετικές μεταλλάξεις κάποιας κοινής πρωτεΐνης. Αυτή τη στιγμή (2004) η Prosite περιέχει πάνω από 1000 διαφορετικές οικογένειες. β) Η Pfam [URL2] είναι μία συλλογή πρωτεϊνικών οικογενειών. Περιέχει πολλαπλές ακολουθίες ευθυγραμμίσεων πρωτεϊνών (Multiple Sequence Alignments), καθώς και κρυφά μοντέλα Markov (Hidden Markov Models) των οικογενειών. γ) Η Prints [URL3] είναι μία βάση δεδομένων πρωτεϊνικών αποτυπωμάτων. Τα αποτυπώματα (fingerprints) είναι ένα σύνολο μοτίβων τα οποία χρησιμοποιούνται για να χαρακτηρίσουν μία πρωτεϊνική οικογένεια Στόχοι της Διπλωματικής Το βασικό πρόβλημα, το οποίο επιχειρεί να επιλύσει η παρούσα διπλωματική, είναι το ακόλουθο: με δεδομένο ένα σύνολο πρωτεϊνών με γνωστές, προσδιορισμένες πειραματικά, ιδιότητες και με γνωστά τα μοτίβα που περιέχονται στην κάθε αλυσίδα, να προσδιοριστούν κανόνες που συσχετίζουν μοτίβα με ιδιότητες. Με τον τρόπο αυτό θα είναι δυνατός ο προσδιορισμός των ιδιοτήτων άγνωστων πρωτεϊνικών αλυσίδων. Συγκεκριμένα για κάθε πρωτεΐνη είναι γνωστή η οικογένεια στην οποία αυτή ανήκει, καθώς και τα μοτίβα που αυτή περιέχει. Μία οικογένεια πρωτεϊνών, όπως έχει ήδη αναφερθεί, περιέχει «συγγενείς» πρωτεΐνες, δηλαδή πρωτεΐνες με ίδιες ή παρόμοιες

10 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 10 ιδιότητες. Έτσι, έχοντας ως δεδομένη την οικογένεια στην οποία ανήκει μία πρωτεΐνη, γνωρίζουμε και τις βασικές ιδιότητές της. Επομένως, το πρόβλημα ανάγεται στη συσχέτιση μοτίβων που περιέχονται σε μία πρωτεϊνική αλυσίδα, με οικογένειες «συγγενών» πρωτεϊνών. Η προσέγγιση του προβλήματος γίνεται με την κλασική μέθοδο αντιμετώπισης προβλημάτων εξόρυξης δεδομένων. Δημιουργείται ένα σύνολο δεδομένων εκπαίδευσης (training data set), το οποίο χρησιμοποιείται ως είσοδος στον αλγόριθμο. Σαν έξοδο παίρνουμε κάποιους κανόνες ταξινόμησης, οι οποίοι με τη σειρά τους ελέγχονται για την ορθότητά τους από ένα άλλο σύνολο δεδομένων ελέγχου (test data set). Τόσο για τις πρωτεΐνες που ανήκουν στο σύνολο δεδομένων εκπαίδευσης, όσο και για αυτές που ανήκουν στο σύνολο δεδομένων ελέγχου, γνωρίζουμε την «οικογένεια» στην οποία ανήκουν, καθώς και τα μοτίβα που περιέχουν. Για τον έλεγχο των κανόνων, τα αποτελέσματα που προκύπτουν συγκρίνονται με τις πραγματικές τιμές Απεικόνιση Δεδομένων Μοτίβα Απαραίτητη προϋπόθεση για την διαδικασία συσχέτισης μοτίβων οικογενειών είναι η σωστή απεικόνιση της πρωτεϊνικής αλυσίδας. Οι περισσότεροι αλγόριθμοι αντιμετωπίζουν το κάθε στοιχείο ως ταξινομημένο τμήμα ενός συγκεκριμένου συνόλου γνωρισμάτων. Στη δική μας περίπτωση οι πρωτεϊνικές αλυσίδες απεικονίζονται με τη χρήση ενός κατάλληλου λεξικού ακολουθιών μοτίβων, με τον εξής απλό τρόπο: Έστω ότι το λεξικό περιλαμβάνει Ν μοτίβα. Κάθε πρωτεϊνική αλυσίδα περιλαμβάνει ένα περιορισμένο αριθμό αυτών. Έτσι, μπορεί εύκολα να αντιστοιχιστεί μία πρωτεΐνη με μία αλληλουχία μοτίβων. Το σύνολο εκπαίδευσης επομένως δεν είναι τίποτα άλλο από μία συλλογή ακολουθιών μοτίβων. Στο εξής, κάθε αναφορά σε «πρωτεϊνική αλυσίδα» θα εκφράζει ακριβώς αυτή την ακολουθία μοτίβων που αντιστοιχεί στην εκάστοτε πρωτεΐνη. Τα ίδια τα μοτίβα χωρίζονται σε δύο μεγάλες κατηγορίες: τα μοτίβα (profiles) και τα πρότυπα (patterns). Η πιο απλή κατηγορία είναι τα πρότυπα. Ένα, παράδειγμα προτύπου είναι το εξής: [IV] G x G T [LIVMF] x(2) [GS]

11 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 11 που διαβάζεται: στην πρώτη θέση πρέπει να βρίσκεται μία ισολευκίνη (I) ή μία βαλίνη (V), στη δεύτερη θέση πρέπει να βρίσκεται μόνο μία γλυκίνη (G), κοκ. Το x σημαίνει ότι εκεί μπορεί να εμφανιστεί οποιοδήποτε αμινοξύ, ενώ το x(2) σημαίνει ότι δύο θέσεις μπορεί να περιέχουν οποιοδήποτε αμινοξύ, με τον αριθμό να υποδηλώνει ακριβώς το μήκος των μη προσδιορισμένων αμινοξέων. Το μοτίβο είναι αριθμητική αναπαράσταση μιας πολλαπλής ακολουθίας ευθυγραμμίσεων (Multiple Sequence Alignments). Στην πραγματικότητα ένα μοτίβο μοιάζει με ένα πίνακα. Η διαφορά με το πρότυπο είναι ότι ένα μοτίβο επιστρέφει ένα βαθμό ομοιότητας σε μία πιθανή αντιστοίχιση, σε αντίθεση με το πρότυπο το οποίο επιστρέφει ένα δυαδικό TRUE ή FALSE. Η λειτουργία των μοτίβων είναι να ευθυγραμμίζονται με μία πραγματική ακολουθία αμινοξέων, και να επιστρέφουν έναν αριθμό ο οποίος ονομάζεται βαθμός ομοιότητας ή βαθμός ευθυγράμμισης. Η περιγραφή του υπολογισμού των μοτίβων είναι πολύπλοκη και εκτός του στόχου της εργασίας αυτής, για αυτό στο εξής με τον όρο μοτίβα θα εννοούμε είτε μοτίβα είτε πρότυπα Μεθοδολογία Μέχρι αυτή τη στιγμή έχει αναπτυχθεί μία πληθώρα αλγορίθμων για την εξόρυξη δεδομένων στα πλαίσια της αναγνώρισης άγνωστων πρωτεϊνών με τη βοήθεια μοτίβων. Τέτοιοι αλγόριθμοι υπάρχουν τόσο στη βιβλιογραφία της τεχνητής νοημοσύνης, όσο και της αναγνώρισης προτύπων. Κάποιοι από αυτούς δημιουργούν δέντρα αποφάσεων [WWH + 01, QUI 92], άλλοι δημιουργούν τεχνητά νευρωνικά δίκτυα [BIS 95], στατιστικά μοντέλα [DH 73], και άλλα. Μία άλλη προσέγγιση του προβλήματος, η οποία επιχειρείται εδώ, είναι με τη χρήση πεπερασμένων αυτομάτων. Αρχικά όλα τα πρωτεϊνικά δεδομένα καταγράφονται σε βάση δεδομένων, με τρόπο ώστε να διευκολύνεται η είσοδός τους στον αλγόριθμο. Στη συνέχεια τμήμα των δεδομένων χρησιμοποιείται για την κατασκευή ενός πεπερασμένου αυτομάτου, έτσι ώστε να είναι δυνατή η εξαγωγή κανόνων κατηγοριοποίησης από αυτό. Οι κανόνες αυτοί εφαρμόζονται στις υπόλοιπες πρωτεΐνες για να εκτιμηθεί το ποσοστό επιτυχίας και αξιοπιστίας των κανόνων.

12 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 12 Συγκεκριμένα, χρησιμοποιήθηκαν δεδομένα από 10, 18 και 28 οικογένειες πρωτεϊνών, καθώς και δεδομένα από όλες τις οικογένειες (1100). Τα αποτελέσματα που προέκυψαν συγκρίθηκαν με τα αποτελέσματα που έδωσαν άλλοι αλγόριθμοι σε ίδιες συνθήκες με στόχο να διαπιστωθούν τα πλεονεκτήματα του νέου αλγορίθμου Περιεχόμενα Το υπόλοιπο της διπλωματικής διαρθρώνεται ως εξής: Στο 2ο κεφάλαιο παρουσιάζεται η μεθοδολογία που αναπτύχθηκε για τη δημιουργία του συγκεκριμένου συστήματος, μαζί με ένα σύντομο παράδειγμα της λειτουργίας του. Στο Κεφάλαιο 3 γίνεται η επαφή με τη μεθοδολογία ανάπτυξης του συστήματος και περιγράφεται αναλυτικά η αρχιτεκτονική του, καθώς και τα εργαλεία που χρησιμοποιήθηκαν. Στο 4ο κεφάλαιο περιγράφονται εκτενώς πειράματα και στατιστικά που έχουν προκύψει από την εφαρμογή του αλγορίθμου και γίνεται σύγκριση με αποτελέσματα που δίνουν άλλοι αλγόριθμοι. Στο Κεφάλαιο 5 παρουσιάζονται τα συμπεράσματα που προκύπτουν από την όλη μελέτη, καθώς και σχέδια για μελλοντικές επεκτάσεις και βελτιώσεις της μεθόδου. Τέλος, πέρα από την αναγκαία βιβλιογραφία, υπάρχουν διάφορα παραρτήματα με τον αναλυτικό οδηγό εγκατάστασης του συστήματος, καθώς και με διαγράμματα και εικόνες από τη λειτουργία του συστήματος.

13 Κεφάλαιο 2. Η Μεθοδολογία Εξαγωγής Κανόνων 2.1. Εισαγωγή Η Μεθοδολογία Συνοπτικά Η μεθοδολογία που υλοποιήθηκε μπορεί να συνοψισθεί ως εξής: Αρχικά δημιουργούνται τα σύνολα δεδομένων εκπαίδευσης και ελέγχου. Τα σύνολα αυτά πρέπει απαραίτητα να είναι ξένα μεταξύ τους, καθώς και να είναι γνωστά όλα τα γνωρίσματά τους. Δηλαδή πρέπει για κάθε μία πρωτεΐνη, σε οποιοδήποτε από τα δύο σύνολα, να είναι γνωστή και η οικογένεια στην οποία ανήκει, και τα μοτίβα που περιέχει. Στη συνέχεια, χρησιμοποιώντας τις πρωτεϊνικές αλυσίδες του συνόλου δεδομένων εκπαίδευσης, δημιουργείται το δένδρο αποδοχής προθεμάτων (prefix tree acceptor PTA). Αυτό το δένδρο μετασχηματίζεται, με τη βοήθεια του αλγορίθμου ALERGIA [CO 94] σε ένα ισοδύναμο στοχαστικό πεπερασμένο αυτόματο. Θεωρώντας αυτή την ισοδυναμία, είναι δυνατόν να ανιχνευθούν πληροφορίες από τη δομή του αυτόματου. Καθώς το αυτόματο στην πραγματικότητα εκφράζει μία γενικευμένη άποψη της δομής των πρωτεϊνών, και όχι μόνο μία απλή απεικόνιση του συνόλου εκπαίδευσης, είναι δυνατόν να εξαχθούν ποσοστά και πιθανότητες, όπως το

14 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 14 ποσοστό αλυσίδων που περιέχουν κάποιο μοτίβο, ή την πιθανότητα μία αλυσίδα να περιέχει ταυτόχρονα δύο συγκεκριμένα μοτίβα. Με βάση τις τελευταίες πιθανότητες κατασκευάζονται κανόνες που περιγράφουν ακριβώς τη δομή των πρωτεϊνών. Οι κανόνες αυτοί μπορεί να είναι απλοί, της μορφής: «Αν υπάρχει το μοτίβο α, τότε η πρωτεΐνη ανήκει στην οικογένεια P», έως πολύπλοκοι της μορφής: «Αν υπάρχουν ταυτόχρονα τα μοτίβα α και β, τότε η πρωτεΐνη ανήκει στην οικογένεια P 1 ή στην οικογένεια P 2 ή και στις δύο με κάποια πιθανότητα». Η παραπάνω μεθοδολογία παρουσιάζεται συνοπτικά στο Σχήμα 2.1: Βάση Δεδομένων Ν πρωτεϊνών με γνωστά μοτίβα και γνωστές οικογένειες Σύνολο δεδομένων εκπαίδευσης με Ν Τ πρωτεΐνες Σύνολο δεδομένων εκπαίδευσης με Τ < Ν πρωτεΐνες PTACreator Algorithm Κατασκευάζει το Δένδρο Αποδοχής Προθεμάτων PTA Rules ProbExtractor Algorithm Υπολογίζει Πιθανότητες από FSA Σύγκριση πραγματικής κατάταξης πρωτεϊνών με κατάταξη συστήματος Απόδοση Συστήματος ALERGIA Algorithm Μετατρέπει ένα PTA σε FSA FSA Σχήμα 2.1: Διάγραμμα μεθοδολογίας Πεπερασμένα Αυτόματα Καθώς ο αλγόριθμος που αναπτύχθηκε στηρίζεται στη θεωρία πεπερασμένων αυτομάτων, είναι αναγκαία μία μικρή εισαγωγή στις έννοιες που θα χρησιμοποιηθούν παρακάτω. Τα πεπερασμένα αυτόματα είναι υπολογιστές με τα ακόλουθα χαρακτηριστικά:

15 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 15 Έχουν πεπερασμένη (σταθερού μεγέθους) μνήμη εντός της κεντρικής μονάδας επεξεργασίας. Δέχονται ως είσοδο συμβολοσειρές τις οποίες διαβάζουν σειριακά, το ένα σύμβολο μετά το άλλο, χωρίς να μπορούν να γυρίσουν πίσω. Παράγουν ως "έξοδο" μόνο μία ένδειξη για το αν η συμβολοσειρά εισόδου γίνεται αποδεκτή. Το σύνολο των αποδεκτών συμβολοσειρών είναι η αποδεκτή γλώσσα του αυτόματου. Τα πεπερασμένα αυτόματα αντιστοιχούν ένα προς ένα σε κανονικές γλώσσες. Υπάρχουν δύο βασικές κατηγορίες πεπερασμένων αυτόματων, τα αιτιοκρατικά και τα μη αιτιοκρατικά. Τα αιτιοκρατικά πεπερασμένα αυτόματα (deterministic finite state automaton DFSA), τα οποία και θα χρησιμοποιηθούν, ορίζονται ως πεντάδες της μορφής: Μ = (Κ, Σ, δ, s, F) όπου: Κ είναι το πεπερασμένο σύνολο καταστάσεων, Σ είναι το αλφάβητο των συμβόλων εισόδου, s K είναι η αρχική κατάσταση, F Κ είναι το σύνολο των τελικών καταστάσεων και δ είναι η συνάρτηση μετάβασης από το Κ Σ στο Κ. Μια συμβολοσειρά (συμβόλων του Σ) γίνεται αποδεκτή όταν, διαβάζοντάς την, το Μ μεταβαίνει (σύμφωνα με την δ: Κ Σ Κ) από κατάσταση σε κατάσταση (ξεκινώντας από την s) και καταλήγει (εξαντλώντας την συμβολοσειρά) σε οποιαδήποτε τελική κατάσταση. Η σημαντικότερη διαφορά με τα μη αιτιοκρατικά πεπερασμένα αυτόματα είναι ότι στα αιτιοκρατικά, από μία κατάσταση q το ίδιο σύμβολο οδηγεί πάντα στην ίδια κατάσταση q. Αντίθετα, στα μη αιτιοκρατικά αυτόματα, από μία κατάσταση q το ίδιο σύμβολο ενδέχεται να οδηγεί σε περισσότερες της μίας καταστάσεις q. Μία ιδιαίτερη κατηγορία των αιτιοκρατικών πεπερασμένων αυτομάτων, είναι τα στοχαστικά (Stochastic Finite State Automaton ή S DFSA). Η διαφορά τους με τα απλά αιτιοκρατικά αυτόματα είναι ότι υπάρχει πιθανότητα μετάβασης από μία

16 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 16 κατάσταση σε μία άλλη, σύμφωνα με την δ: Κ Σ Κ. Αυτό σημαίνει ότι υπάρχει περίπτωση ορισμένες μεταβάσεις μεταξύ καταστάσεων να ευνοούνται έναντι των άλλων Δένδρο Αποδοχής Προθεμάτων (PTA) Τι είναι πρόθεμα Εάν θεωρήσουμε μία τυχαία ακολουθία συμβόλων (πχ w = a 1 a 2 a 3 a n ) τότε πρόθεμα αυτής της συμβολοσειράς θεωρείται οποιοδήποτε υποσύνολο w p αυτών των συμβόλων, για το οποίο ισχύει: w = w p w όπου w μια συμβολοσειρά οποιουδήποτε μήκους (δηλαδή η w μπορεί να περιέχει οποιοδήποτε πλήθος συμβόλων, ακόμα και 0). Για παράδειγμα, εάν θεωρήσουμε τη συμβολοσειρά w = aabcab, τότε οποιαδήποτε από τις παρακάτω συμβολοσειρές αποτελεί πρόθεμα της w: w p1 = a w p2 = aab w p3 = aabcab (γιατί για w = abcab, ισχύει w = w p1 w ) (γιατί για w = cab, ισχύει w = w p2 w ) (γιατί για w = e, ισχύει w = w p3 w ) Τι είναι το PTA Προφανώς, για ένα δεδομένο σύνολο συμβολοσειρών, είναι δυνατόν να δημιουργηθεί ένα αντίστοιχο σύνολο προθεμάτων. Στο νέο αυτό σύνολο, κάθε στοιχείο πρόθεμα θα είναι μία συμβολοσειρά με μήκος μικρότερο, ή το πολύ ίσο, με την αντίστοιχη συμβολοσειρά από την οποία προήλθε. Ταυτόχρονα όμως το νέο αυτό σύνολο επιτρέπει την αναγνώριση μίας συμβολοσειράς χρησιμοποιώντας πολύ λιγότερα σύμβολα.

17 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 17 Τα προθέματα αυτά μπορούν να αντιστοιχιστούν σε ένα πεπερασμένο αυτόματο, το οποίο αναγνωρίζει αυτά και μόνο αυτά. Αυτό το αυτόματο ονομάζεται δένδρο αποδοχής προθεμάτων, ή PTA. Καθώς κάθε συμβολοσειρά είναι και πρόθεμα του εαυτού της, ένας τρόπος δημιουργίας του PTA είναι από τις αρχικές συμβολοσειρές, χρησιμοποιώντας μία μετάβαση μεταξύ καταστάσεων για κάθε σύμβολο. Για παράδειγμα, χρησιμοποιώντας τις παρακάτω συμβολοσειρές το PTA που προκύπτει είναι το εξής: w 1 = aaaaab w 2 = abbaaa w 3 = bababa a a a a a b b b a a a b a b a b a Σχήμα 2.2: PTA από αρχικές συμβολοσειρές Προφανώς το PTA μπορεί να μικρύνει κατά πολύ σε μέγεθος εάν χρησιμοποιηθεί με τον ίδιο τρόπο το αντίστοιχο σύνολο προθεμάτων. Με βάση τις τρεις προηγούμενες συμβολοσειρές, το σύνολο με τα προθέματα ελάχιστου μήκους, ώστε να είναι δυνατή η διαφοροποίηση των συμβολοσειρών, είναι το εξής: w p1 = aa w p2 = ab w p3 = b οπότε και το νέο PTA είναι το ακόλουθο:

18 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 18 a a b b Σχήμα 2.3: PTA από σύνολο προθεμάτων PTA για πρωτεϊνικό σύνολο δεδομένων Στην περίπτωση που το σύνολο δεδομένων είναι πρωτεϊνικές αλυσίδες, η διαδικασία είναι ακριβώς αντίστοιχη. Οι συμβολοσειρές πλέον δεν είναι ακολουθίες συμβόλων αλλά ακολουθίες μοτίβων. Καθώς όμως τα μοτίβα αναπαρίστανται με ένα κωδικό (της μορφής PSxxxxx), μπορεί να γίνει αντιστοίχηση μοτίβων με σύμβολα, οπότε και η διαδικασία δημιουργίας του PTA παραμένει ίδια. Χρησιμοποιώντας ως παράδειγμα την πρωτεΐνη P04591, της οποίας η ακολουθία παρουσιάστηκε στην παράγραφο 1.2, ολόκληρη η αλυσίδα μπορεί να αντικατασταθεί με το μοτίβο PS50158 (αμινοξέα της αλυσίδας της πρωτεΐνης P04591), καθώς αυτό είναι το μοναδικό μοτίβο που εμφανίζεται Αλγόριθμος Δημιουργίας PTA Ο αλγόριθμος ο οποίος υλοποιήθηκε για τη δημιουργία του PTA μπορεί να περιγραφεί συνοπτικά ως εξής: αρχικά ως είσοδος υπάρχει ένα σύνολο πρωτεϊνών. Ο αλγόριθμος διαβάζει την πρώτη πρωτεΐνη και δημιουργεί την αντίστοιχη ακολουθία μοτίβων. Στη συνέχεια ελέγχει εάν υπάρχει μετάβαση από την αρχική κατάσταση του PTA προς κάποια νέα κατάσταση χρησιμοποιώντας το πρώτο μοτίβο της ακολουθίας. Εάν υπάρχει κάποια μετάβαση, εντοπίζεται η νέα κατάσταση, ενώ εάν δεν υπάρχει, ο αλγόριθμος εισάγει μία νέα κατάσταση και την αντίστοιχη μετάβαση. Σε κάθε

19 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 19 περίπτωση, ο έλεγχος συνεχίζεται από τη νέα κατάσταση με το δεύτερο μοτίβο, μέχρι να εξαντληθούν τα μοτίβα της πρώτης πρωτεΐνης. Η διαδικασία αυτή επαναλαμβάνεται για όλες τις πρωτεΐνες του συνόλου εισόδου. Ο αλγόριθμος σε μορφή ψευδοκώδικα παρουσιάζεται παρακάτω (Πλαίσιο Κώδικα 1). algorithm PTACreator begin do (για κάθε πρωτεΐνη protein στο σύνολο εκπαίδευσης) motifs = findproteinchain(protein) currentstate = firstnode(pta) do (για κάθε μοτίβο m της ακολουθίας motifs) if (η currentstate δεν περιέχει μετάβαση για το μοτίβο m) πρόσθεσε νέα κατάσταση newstate στο PTA πρόσθεσε μετάβαση μεταξύ currentstate και newstate με το μοτίβο m. currentstate = newstate else βρες την κατάσταση endstate στην οποία μεταβαίνει η currentstate με το μοτίβο m. currentstate = endstate end if end do end do end algorithm PTACreator Πλαίσιο Κώδικα 1: Αλγόριθμος Δημιουργίας PTA Εάν θεωρήσουμε ότι στο σύνολο εκπαίδευσης υπάρχουν P σε πλήθος πρωτεΐνες, κάθε πρωτεΐνη έχει το πολύ M μοτίβα και υπάρχουν A σε πλήθος διαφορετικά μοτίβα, τότε η πολυπλοκότητα του παραπάνω αλγορίθμου προκύπτει ίση με: Ο( ) = P Μ (Α 1) Καθώς όμως τόσο το A, όσο και το M μπορούν να θεωρηθούν κατά προσέγγιση σταθερά, η πολυπλοκότητα αυξάνει γραμμικά με το πλήθος των στοιχείων στο σύνολο δεδομένων εκπαίδευσης.

20 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Δημιουργία Στοχαστικού Αιτιοκρατικού Πεπερασμένου Αυτόματου Αλγόριθμος ALERGIA Το επόμενο βήμα, μετά τη δημιουργία που PTA, είναι η κατασκευή του αντίστοιχου FSA. Η κατασκευή αυτή ουσιαστικά αποτελεί μία μετατροπή του PTA με συστηματική συγχώνευση ισοδύναμων στατιστικά καταστάσεων. Ο αλγόριθμος που υλοποιεί αυτή τη μετατροπή είναι ο αλγόριθμος ALERGIA, που προτάθηκε από τους R.C. Carrasco και J. Oncina [CO 94] Προετοιμασία του PTA για εφαρμογή του ALERGIA Για να εφαρμοσθεί ο ALERGIA θα πρέπει το PTA να περιέχει στατιστικές πληροφορίες, δηλαδή θα πρέπει ήδη να αποτελεί ένα στοχαστικό αιτιοκρατικό πεπερασμένο αυτόματο (Stochastic Deterministic Finite State Automaton S-DFSA). Οι πληροφορίες αυτές είναι οι ακόλουθες: Για κάθε κατάσταση i πρέπει να είναι γνωστό το πλήθος των αλυσίδων που έχουν φτάσει σε αυτήν ( n i ) Για κάθε κατάσταση i πρέπει να είναι γνωστό το πλήθος των αλυσίδων που έχουν τερματίσει σε αυτήν ( f i (#) ). Για κάθε μετάβαση α από οποιαδήποτε κατάσταση i πρέπει να είναι γνωστό το πλήθος των αλυσίδων που την έχουν χρησιμοποιήσει ( f i (α) ). Οι πληροφορίες αυτές μπορούν πολύ εύκολα να ενσωματωθούν στη διαδικασία κατασκευής του PTA. Οι λόγοι f i (α)/n i και f i (#)/n i εκφράζουν την πιθανότητα p i (α) της μετάβασης α, και την πιθανότητα τερματισμού p if αντίστοιχα Ισοδύναμες Καταστάσεις Συμβατές Καταστάσεις (Equivalent States Compatible States) Ο αλγόριθμος συγκρίνει καταστάσεις (κόμβους) ανά ζεύγη ( q i, q j ) με 1 i j 1 και 2 j PTA (όπου PTA το πλήθος των καταστάσεων του PTA).

21 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 21 Σύμφωνα με τη θεωρία, δύο καταστάσεις είναι ισοδύναμες όταν έχουν ίσες πιθανότητες μετάβασης για κάθε σύμβολο α, και ταυτόχρονα οι νέες καταστάσεις (μετά τη μετάβαση) είναι επίσης ισοδύναμες. Δηλαδή: q q p ( α ) = p ( α), i i i j α δ α(i) δ α( j) Εάν όμως θεωρηθεί απλή ισοδυναμία μεταξύ καταστάσεων, το τελικό FSA θα έχει ένα προς ένα αντιστοιχία με το PTA, δηλαδή δεν θα αποτελεί γενίκευσή του, που είναι και το ζητούμενο. Για αυτό το λόγο εισάγεται μία νέα παράμετρος εμπιστοσύνης (confidence), η οποία μετατρέπει την αυστηρή ισότητα σε ισότητα εντός ορίων. Σε αυτή την περίπτωση οι καταστάσεις ονομάζονται συμβατές. Τα όρια αυτά προκύπτουν από το όριο Hoeffding για μια στοχαστική μεταβλητή Bernoulli με πιθανότητα p και πραγματική εμφάνιση f στις n τιμές: f 1 2 p < log n 2 n α με πιθανότητα μεγαλύτερη από (1 α) Ο Αλγόριθμος ALERGIA Ο αλγόριθμος ALERGIA (Πλαίσιο Κώδικα 2) περιγράφεται αναλυτικά στο άρθρο Learning Stochastic Regular Grammars by Means of a State Merging Method [CO 94]. Συνοπτικά μπορεί να περιγραφεί ως εξής: ο αλγόριθμος δέχεται ως είσοδο ένα δένδρο αποδοχής προθεμάτων (PTA). Στη συνέχεια γίνεται έλεγχος συμβατότητας (αλγόριθμος Compatible) μεταξύ της αρχικής κατάστασης και της αμέσως επόμενης. Εάν οι καταστάσεις είναι συμβατές τότε συγχωνεύονται και ελέγχεται η διατήρηση της αιτιοκρατίας. Στη συνέχεια ο έλεγχος συνεχίζεται για τη συμβατότητα μεταξύ της αρχικής και της τρίτης κατάστασης μέχρι να εξαντληθούν οι καταστάσεις. Η διαδικασία επαναλαμβάνεται για κάθε κατάσταση μετά την αρχική, με τις συγκρίσεις να γίνονται με όλες τις καταστάσεις που έπονται.

22 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 22 Ο αλγόριθμος Compatible (Πλαίσιο Κώδικα 3) ελέγχει εάν δύο καταστάσεις είναι συμβατές ή όχι. Αρχικά ελέγχει εάν οι πιθανότητες τερματισμού των δύο καταστάσεων είναι διαφορετικές (αλγόριθμος Different). Εάν είναι διαφορετικές τότε οι καταστάσεις είναι ασύμβατες και ο αλγόριθμος τελειώνει. Σε αντίθετη περίπτωση γίνεται έλεγχος για κάθε δυνατή μετάβαση από τις δύο καταστάσεις, τόσο για τις πιθανότητες μετάβασης όσο και για τη συμβατότητα των τελικών καταστάσεων: εάν οι πιθανότητες μετάβασης, για οποιαδήποτε μετάβαση, είναι διαφορετικές ή εάν οι τελικές καταστάσεις είναι ασύμβατες, τότε οι καταστάσεις εισόδου είναι ασύμβατες και αλγόριθμος τερματίζει. Σε αντίθετη περίπτωση οι αρχικές καταστάσεις είναι συμβατές. Τέλος, ο αλγόριθμος Different (Πλαίσιο Κώδικα 4) είναι ένας απλός έλεγχος του ορίου Hoeffding. Δέχεται ως είσοδο τις παραμέτρους δύο καταστάσεων και επιστρέφει μια Boolean μεταβλητή για το εάν ικανοποιούν το όριο Hoeffding. algorithm ALERGIA input: A: ένα στοχαστικό PTA α: παράμετρος εμπιστοσύνης output: στοχαστικό FSA begin do (for j = successor( first node(a)) to lastnode(a)) do (for i = firstnode(a) to j) if (compatible(i, j) merge(a, i, j) determinize(a) exit (i-loop) end if end for end for return A end algorithm ALERGIA Πλαίσιο Κώδικα 2: Αλγόριθμος ALERGIA

23 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 23 algorithm Compatible input: i, j: καταστάσεις ni, nj :πλήθος αλυσίδων που φτάνουν fi(#), fj(#):πλήθος αλυσίδων που τερματίζουν fi(α), fj(α): πλήθος αλυσίδων που χρησιμοποιούν την μετάβαση με το μοτίβο α. output: Boolean begin if different (ni, fi(#), nj, fj(#) ) return false end if do (για κάθε α) if different (ni, fi(α), nj, fj(α) ) return false end if if not compatible ( δ(i, α), δ(j, α) ) return false end if end do return true end algorithm Compatible Πλαίσιο Κώδικα 3: Αλγόριθμος Compatible algorithm Different input: n, n : πλήθος αλυσίδων που φτάνουν σε κάθε κόμβο f, f : πλήθος αλυσίδων που μεταβαίνουν από ή τερματίζουν σε κάθε κόμβο output: Boolean begin f f' return > log + n n' 2 α n n' end algorithm Different Πλαίσιο Κώδικα 4: Αλγόριθμος Different

24 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Πολυπλοκότητα Αλγορίθμου ALERGIA Έστω ότι το μέγεθος του τελικού FSA (σε πλήθος καταστάσεων) είναι m, ενώ το πλήθος των διαφορετικών συμβόλων είναι Α. Σύμφωνα με τον αλγόριθμο Different, σε κάθε κόμβο του FSA συγκρίνονται οι πιθανότητες τερματισμού (f i (#)) και εξόδου για κάθε σύμβολο ( f i (α) ). Επομένως, σε κάθε κόμβο γίνονται (Α + 1) έλεγχοι. Οι κόμβοι όμως ελέγχονται ανά ζεύγη διατεταγμένα σε τριγωνική μορφή (i < j). Διαπιστώνεται λοιπόν ότι η συνολική πολυπλοκότητα του αλγορίθμου είναι 1 m (m- 1) (A+ 1). Αν και στη χειρότερη περίπτωση η πολυπλοκότητα είναι τρίτου 2 βαθμού, πειραματικά αποδεικνύεται ότι ο χρόνος αυξάνει γραμμικά με το μέγεθος του PTA Υπολογισμός πιθανοτήτων εμφάνισης συμβόλων από FSA Μετά τη μοντελοποίηση των δεδομένων, πρώτα ως PTA και έπειτα ως FSA, το επόμενο βήμα είναι ο υπολογισμός της πιθανότητας εμφάνισης συγκεκριμένου συνόλου συμβόλων σε μία συμβολοσειρά από το τελικό S DFSA. Στη βιβλιογραφία υπάρχουν αλγόριθμοι, οι οποίοι υπολογίζουν την πιθανότητα εμφάνισης συγκεκριμένων ακολουθιών από FSA [HIN 01]. Ανιχνεύουν δηλαδή ενδιαφέρουσες ακολουθίες συμβόλων που υπάρχουν σε μεγάλα σύνολα συμβολοσειρών. Καθώς όμως τα δεδομένα εισόδου που πρόκειται να χρησιμοποιηθούν δεν περιέχουν πληροφορία διάταξης, με την έννοια ότι δεν είναι γνωστό ποιο μοτίβο προηγείται ή έπεται σε μία πρωτεϊνική αλυσίδα, είναι αναγκαίο να μετασχηματισθούν οι υπάρχοντες αλγόριθμοι έτσι ώστε να ανιχνευθούν μη διατεταγμένα σύνολα. Παρακάτω περιγράφεται η μεθοδολογία που έχει αναπτυχθεί από τον P. Hingston στο άρθρο Using Finite State Automata for Sequence Mining [HIN 01] για τον υπολογισμό της πιθανότητας εμφάνισης διατεταγμένου συνόλου συμβόλων σε δεδομένη συμβολοσειρά, και στη συνέχεια θα παρουσιαστεί ο νέος αλγόριθμος που αναπτύχθηκε για τον υπολογισμό της αντίστοιχης πιθανότητας για μη διατεταγμένο σύνολο συμβόλων.

25 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Υπολογισμός πιθανότητας εμφάνισης διατεταγμένου συνόλου συμβόλων Ζητείται να υπολογισθεί η πιθανότητα εμφάνισης συμβολοσειρών, οι οποίες περιέχουν το σύμβολο x ακολουθούμενο αργότερα από το σύμβολο y. Για διευκόλυνση, εάν S είναι μία κατάσταση του FSA και x ένα τυχαίο σύμβολο, τότε συμβολίζεται: p(s, x): η πιθανότητα χρήσης του συμβόλου x κατά μία μετάβαση από την κατάσταση S. q(s, x): η κατάσταση στην οποία μεταβαίνει από την S χρησιμοποιώντας το σύμβολο x. Μία συμβολοσειρά που περιέχει ένα x και μετά ένα y, μπορεί να διαιρεθεί με μοναδικό τρόπο σε ένα τμήμα που περιέχει το x στην τελευταία θέση και σε ένα τμήμα που περιέχει το y σε οποιαδήποτε θέση. Δηλαδή: [ ] (1) P(S, < x,y > ) = F(S,T,x) P(T,y) T όπου: P(S, <x,y>) : η πιθανότητα ένα τυχαίο μονοπάτι από την κατάσταση S να περιέχει πρώτα ένα x και μετά ένα y. F(S, T, x) : η πιθανότητα ένα τυχαίο μονοπάτι από την κατάσταση S στην κατάσταση T να περιέχει ένα και μόνο ένα σύμβολο x και μάλιστα στην τελευταία θέση. P(T, y) : η πιθανότητα ένα τυχαίο μονοπάτι από την κατάσταση T να περιέχει το σύμβολο y. Αρχικά η πιθανότητα P(T, y) υπολογίζεται ως εξής: (2) P(T,y) = p(t,y) + p(t,z) P[ q(t,z),y] z y

26 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 26 όπου: p(t, y) : η πιθανότητα να ξεκινά με y. p(t, z) P(q(T, z),y) : η πιθανότητα η επόμενη κατάσταση (στην οποία φτάνει με σύμβολο z διαφορετικό του y) να εκπέμψει το σύμβολο y. Η εξίσωση (2) μπορεί να γραφεί ως εξής: P(T,y) = p(t,y) + p(t,z) P(V,y) V z y q( T,z ) = V (3) Δηλαδή για κάθε κατάσταση V για την οποία T z V υπολογίζεται το άθροισμα των πιθανοτήτων T z με z διαφορετικό του y. Ορίζεται ο πίνακας: ρ ( y) = p(t,z) (4) S,T z y q( T,z ) = V οπότε σε μορφή πινάκων πλέον έχουμε: όπου [ ] 1 ( ) P(y) = p(y) +ρ(y) P(y) I ρ(y) P(y) = p(y) P(y) = I ρ(y) p(y) P(y) = J(y) p(y) [ ] 1 J(y) = I ρ(y) (5) Ομοίως υπολογίζεται η πιθανότητα F(S, T, x): F(S,T,x) = [ p(s,z) F(q(S,z),T,z) ] + z x p(s,x)ά q( ε S ν,x ) T = 0 αλλού

27 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 27 όπου το πρώτο μέλος του αθροίσματος εκφράζει την πιθανότητα εκπομπής άλλων συμβόλων, ενώ το δεύτερο μέλος εκφράζει την πιθανότητα εκπομπής του συμβόλου x στην τελευταία θέση. Μετασχηματίζοντας το πρώτο μέλος προκύπτει: p(s,x)ά q( ε S ν,x ) T = F(S,T,x) = p(s,z) F(V,T,x) + V z x 0 αλλού q( S,z ) = V πίνακα: Tο πρώτο μέρος είναι ουσιαστικά ο πίνακας ρ S,V (x). Χρησιμοποιώντας τον γ S,T (x) = p(s,x)ά q( ε S ν,x ) T = 0 αλλού (6) η τελευταία σχέση, σε μορφή πινάκων, γράφεται ως εξής: [ ] F(x)=ρ(x) F(x)+ γ(x) I -ρ(x) F(x) =γ(x) F(x) = J(x) γ(x) Επομένως, το αρχικό ερώτημα, σε μορφή πινάκων, γράφεται ως εξής: P(<x, y>) = F(x) P(y) = J(x) γ(x) J(y) p(y) (7) Η παραπάνω σχέση γενικεύεται και για n σύμβολα ως εξής: P( < x,x,x,...,x > ) = F( x ) F( x )... F( x ) P( x ) n 1 2 n 1 n ή ισοδύναμα: P( < x,x,x,...,x > ) = J(x ) γ(x ) J(x ) γ(x )... J(x ) γ(x ) J(x ) p(x ) n n 1 n 1 n n

28 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Υπολογισμός πιθανότητας εμφάνισης μη διατεταγμένου συνόλου συμβόλων Η παραπάνω πιθανότητα δεν ικανοποιεί το συγκεκριμένο σύνολο δεδομένων, καθώς οι ακολουθίες μοτίβων σε μία πρωτεΐνη είναι μη διατεταγμένες. Προκύπτει λοιπόν η ανάγκη να υπολογισθεί η πιθανότητα ύπαρξης πολλών μοτίβων ταυτόχρονα σε μία ακολουθία, αλλά χωρίς την έννοια της διάταξης. Για αυτό το σκοπό δημιουργήθηκε ένας νέος αλγόριθμος ο οποίος βασίζεται στη μεθοδολογία που περιγράφηκε στην προηγούμενη παράγραφο. Έστω δύο σύμβολα a και b. Χρησιμοποιώντας την πιθανότητα που υπολογίσθηκε πιο πριν, διαπιστώνεται ότι: P(a+b) = + P(a b) + P(b a) P(a b a) P(b a b) + P(a b a b) + P(b a b a) P(a b a b a) P(b a b a b) + + Δηλαδή, η ζητούμενη πιθανότητα μπορεί να προσεγγισθεί με ένα άπειρο άθροισμα. Ουσιαστικά, κάθε φορά αφαιρείται ή προστίθεται στην τελική πιθανότητα μία ποσότητα που οφείλεται στις αλληλεπικαλύψεις των πιθανοτήτων. Για παράδειγμα, μία συμβολοσειρά της μορφής aba θα ληφθεί υπόψιν στον υπολογισμό και της πιθανότητας P(a b), και της πιθανότητας P(b a). Για αυτό το λόγο, αφαιρείται μία φορά με την αφαίρεση της πιθανότητας P(a b a) από τη συνολική. Έστω τρία σύμβολα a, b και c. Για τον υπολογισμό της πιθανότητας P(a+b+c), η διαδικασία είναι αντίστοιχη με την προηγούμενη. Στην πρώτη γραμμή του πίνακα υπάρχουν οι πιθανότητες για κάθε μετάθεση των τριών συμβόλων (3! = 6), δηλαδή: + P(a b c) + P(a c b) + P(b a c) + P(b c a)

29 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 29 + P(c a b) + P(c b a) Στη δεύτερη γραμμή, υπάρχουν οι εξής πιθανότητες: P((a b) c (a b)) P((a c) b (a c)) P((b a) c (b a)) P((b c) a (b c)) P((c a) b (c a)) P((c b) a (c b)) Στην τρίτη γραμμή, υπάρχουν οι εξής πιθανότητες: + P((a b) c (a b) c) + P((a c) b (a c) b) + P((b a) c (b a) c) + P((b c) a (b c) a) + P((c a) b (c a) b) + P((c b) a (c b) a) κ.ο.κ. Η παραπάνω μεθοδολογία γενικεύεται εύκολα για n μοτίβα. Τα βήματα που αποτελούν τον αλγόριθμο παρουσιάζονται στο Πλαίσιο Κώδικα 5.

30 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 30 Αλγόριθμος ProbExtractor 1ο βήμα: Υπολογίζονται όλες οι δυνατές μεταθέσεις των n μοτίβων (n!): Perm(j), για j = 0, 1,, (n! 1) 2ο βήμα: Για κάθε μετάθεση υπολογίζεται το πρόθεμα, μήκους (n-1) και το επίθεμα, μήκους 1: Prefix(j), Suffix(j), j = 0, 1,, (n! 1) 3ο βήμα: Αρχικοποίηση: Για i = 0: Υπολογίζεται η αρχική τιμή της πιθανότητας, σύμφωνα με τη σχέση: n! 1 i (( ) [ Perm( j )] ) P= 1 p j= 0 Για i = 1: Δημιουργούμε τις νέες ακολουθίες με βάση τις παλιές και τα αντίστοιχα προθέματα, ως εξής: Perm(j) = Perm(j) + Suffix(j), j = 0, 1,, (n! 1) Υπολογίζεται η νέα τιμή της πιθανότητας n! 1 i ( ) P' = ( 1) p[ Perm( j )] j= 0 4ο βήμα: While ( P P > e) i = i + 1 P = P If ( i mod 2 == 0) Perm(j) = Perm(j) + Prefix(j), j = 0, 1,, (n! 1) Else Perm(j) = Perm(j) + Suffix(j), j = 0, 1,, (n! 1) End If n! 1 i ( ) P' = ( 1) p[ Perm( j )] j= 0 End While Τέλος Αλγορίθμου ProbExtractor Πλαίσιο Κώδικα 5: Αλγόριθμος ProbExtractor

31 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Πολυπλοκότητα Έστω ότι το τελικό FSA έχει Κ καταστάσεις και Α πλήθος διαφορετικών συμβόλων. Το ζητούμενο είναι να βρεθούν κανόνες με n πλήθος μοτίβων. Αυτό σημαίνει ότι θα γίνουν συνολικά n i= 1 A comb i συνδυασμοί συμβόλων. Για κάθε ένα από αυτούς τους συνδυασμούς γίνονται όλες οι δυνατές μεταθέσεις (i! για κάθε συνδυασμό ανά i), ενώ για κάθε μετάθεση γίνονται i αναστροφές πινάκων (μία για κάθε σύμβολο). Θεωρώντας ότι η βέλτιστη πολυπλοκότητα για αντιστροφή πίνακα είναι ανάλογη του κύβου της διάστασης του πίνακα, η συνολική πολυπλοκότητα του αλγορίθμου προκύπτει τελικά ίση με: Ο( ) n A! = i K i= 1 ( A i )! Εξαγωγή Κανόνων Κατηγοριοποίησης Το τελευταίο βήμα του αλγορίθμου είναι η εξαγωγή κανόνων κατηγοριοποίησης των πρωτεϊνών. Ας ορίσουμε επομένως πιο συγκεκριμένα την έννοια του κανόνα Κανόνες Κατηγοριοποίησης Κανόνες Συσχέτισης (Classification Rules Association Rules) Οι κανόνες είναι λογικές σχέσεις, οι οποίες εκφράζουν συσχέτιση μεταξύ στοιχείων ενός συνόλου. Συνήθως έχουν τη μορφή X Y, η οποία διαβάζεται ως εξής: «Στοιχεία που ικανοποιούν το X είναι πιθανό να ικανοποιούν και το Υ». Ανάλογα με το τι εκφράζουν τα X και Y, οι κανόνες χωρίζονται σε κανόνες συσχέτισης και κανόνες κατηγοριοποίησης.

32 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 32 Εάν τόσο το X, όσο και το Y, αποτελούν απλά γνωρίσματα ή ιδιότητες των στοιχείων, τότε ο κανόνας είναι κανόνας συσχέτισης. Εάν το X είναι γνώρισμα ή ιδιότητα, ενώ το Y είναι κατηγορία στοιχείων, τότε ο κανόνας ονομάζεται κανόνας κατηγοριοποίησης. Κάθε κανόνας έχει δύο ποιοτικά γνωρίσματα: την υποστήριξη (support) και την εμπιστοσύνη (confidence). Ισχύουν οι εξής ορισμοί: Η υποστήριξη ενός κανόνα X Y είναι η πιθανότητα supp(x Y) = p(x Y). ή, με άλλα λόγια, το ποσοστό των στοιχείων του αρχικού συνόλου που περιέχουν το X ή/και το Y. Η εμπιστοσύνη ενός κανόνα X Y είναι η αναλογία conf ( X Y ) = X Y X, ή ισοδύναμα conf ( X Y ) = supp( X Y ) supp( X ) Πρακτικά, μπορεί κανείς να πει ότι η υποστήριξη εκφράζει τη συχνότητα εμφάνισης των δεδομένων που εμπεριέχονται στον κανόνα, ενώ η εμπιστοσύνη εκφράζει τη βαρύτητα της συσχέτισης. Τέλος, ένα άλλο γνώρισμα, που χρησιμοποιείται όμως για την αξιολόγηση και πιθανόν την ταξινόμηση των κανόνων, είναι το ενδιαφέρον (interest) του κανόνα. Το ενδιαφέρον ορίζεται ως εξής: p( X Y ) supp(x Y ) interest( X Y ) = = p( X ) p(y ) supp( X ) supp(y ) Ουσιαστικά το ενδιαφέρον ενός κανόνα εκφράζει κατά πόσο τα X και Y είναι ανεξάρτητα μεταξύ τους. Όσο περισσότερο απέχει η τιμή από το 1, τόσο μεγαλύτερη εξάρτηση υπάρχει μεταξύ των X και Y.

33 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 33 Για ένα φιλτράρισμα των κανόνων, ώστε τελικά να εξαχθούν μόνο ισχυροί κανόνες, μπορεί να χρησιμοποιηθεί μία νέα παράμετρος mininterest ελάχιστου ενδιαφέροντος, με 1 > mininterest > 0, έτσι ώστε: Εάν p(xuy) 1 mininterest, τότε ο κανόνας X Y είναι ενδιαφέρων p( X ) p(y ) Εφαρμογή σε πρωτεϊνικά δεδομένα Στην περίπτωση που εξετάζεται, οι κανόνες έχουν μία πολύ συγκεκριμένη μορφή. Το X είναι πάντα ένας συνδυασμός μοτίβων (δηλαδή ένα μη διατεταγμένο σύνολο ενός ή και περισσοτέρων μοτίβων), ενώ το Y είναι πάντα ένας συνδυασμός οικογενειών πρωτεϊνών. Προφανώς οι κανόνες που προκύπτουν είναι κανόνες κατηγοριοποίησης, και τα γνωρίσματά τους μπορούν να ορισθούν, με βάση τα νέα δεδομένα, ως εξής: # πρωτεϊνών που περιέχουν το Χ & ανήκουν στην Υ confidence(χ Υ) = Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο Χ # πρωτεϊνών που περιέχουν το Χ ή ανήκουν στην Υ support(χ Υ) = Το συνολικό πλήθος των πρωτεϊνών Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο Χ support(χ ) = Το συνολικό πλήθος των πρωτεϊνών Το πλήθος των πρωτεϊνών που ανήκουν στην οικογένεια Y support(y ) = Το συνολικό πλήθος των πρωτεϊνών Προφανώς, στη θέση του μοτίβου X και της οικογένειας Y μπορούν να βρίσκονται συνδυασμοί μοτίβων ή οικογενειών.

34 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Υπολογισμός γνωρισμάτων κανόνων από FSA Η πιθανότητες που υπολογίζονται από το FSA, στην περίπτωση των πρωτεϊνικών δεδομένων, μπορούν να περιγραφούν ως εξής: Το πλήθος των πρωτεϊνών που περιέχουν το X και ανήκουν στην Υ p ( X, Y ) = Το πλήθος των πρωτεϊνών που ανήκουν στην Υ Επομένως, εάν δημιουργηθεί ένα αυτόματο από πρωτεϊνικές αλυσίδες τριών διαφορετικών οικογενειών (έστω Y 1, Y 2 και Y 3 ), τότε από το συγκεκριμένο FSA μπορούν να υπολογισθούν μόνο πιθανότητες της μορφής: # πρωτεϊνών που περιέχουν το X και ανήκουν στην Y Y Y p( X, Y1 Y 2 Y 3) = Το πλήθος των πρωτεϊνών που ανήκουν στην Y Y Y για κάθε μοτίβο ή συνδυασμό μοτίβων X που εμφανίζεται στις συγκεκριμένες αλυσίδες δεδομένων. Προφανώς, εάν για τη δημιουργία του FSA χρησιμοποιηθούν όλα τα δεδομένα, δηλαδή όλες οι οικογένειες, τότε η παραπάνω πιθανότητα παίρνει την εξής μορφή: Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο X p(x) = Το συνολικό πλήθος των πρωτεϊνών Διαπιστώνεται δηλαδή ότι από το συνολικό FSA μπορεί να υπολογισθεί απευθείας το γνώρισμα support(x), για κάθε μοτίβο ή συνδυασμό μοτίβων X. Η εκτίμηση του γνωρίσματος support(y), για κάθε οικογένεια Y, μπορεί να γίνει εύκολα κατά τη δημιουργία του PTA, καθώς το γνώρισμα αυτό αποτελεί την πιθανότητα εμφάνισης κάποιας οικογένειας, δηλαδή: Το πλήθος των πρωτεϊνών που ανήκουν στην οικογένεια Y support(y ) = p(y ) = Το συνολικό πλήθος των πρωτεϊνών Το επόμενο γνώρισμα, η εμπιστοσύνη, μπορεί εύκολα να υπολογισθεί από τα δύο παραπάνω γνωρίσματα με τη βοήθεια ενός «τοπικού» αυτή τη φορά FSA. Με την

35 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 35 έννοια «τοπικό» υπονοείται ότι το FSA δημιουργείται για ένα μικρότερο υποσύνολο οικογενειών. Θα ισχύει: # πρωτεϊνών που περιέχουν το Χ & ανήκουν στην Υ confidence( Χ Υ ) = = Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο Χ # πρωτεϊνών που περιέχουν το Χ & ανήκουν στην Υ Το πλήθος των πρωτεϊνών που ανήκουν στην Υ Το πλήθος των πρωτεϊνών που ανήκουν στην Υ Το συνολικό πλήθος των πρωτεϊνών Το πλήθος των πρωτεϊνών που περιέχουν το μοτίβο Χ Το συνολικό πλήθος των πρωτεϊνών δηλαδή: support(x, τοπικό FSA) support(y) confidence( X Y ) = support(x, συνολικό FSA) Τέλος, το τελευταίο γνώρισμα μπορεί να υπολογισθεί με τη βοήθεια γνωστών ιδιοτήτων συνόλων, και προκύπτει ίσο με: supp(x Y) = supp(x) + supp(y) conf(x Y) supp(x) Συνοψίζοντας, για κάθε κανόνα X Y, τα γνωρίσματά του μπορούν να υπολογισθούν από FSA με βάση τους παρακάτω τύπους: supp(x Y) = supp(x) + supp(y) conf(x Y) supp(x) support(x, τοπικό FSA) support(y) conf ( X Y ) = support(x, συνολικό FSA) Αλγόριθμος Εξαγωγής Κανόνων Με βάση όσα έχουν προηγηθεί, ο αλγόριθμος RuleCreator για την εξαγωγή κανόνων είναι ο εξής:

36 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 36 Αλγόριθμος RuleCreator Δεδομένα: Πλήθος m μοτίβων σε κάθε κανόνα Πλήθος c οικογενειών σε κάθε κανόνα Ελάχιστο ενδιαφέρον κανόνα mininterest 1 ο βήμα: Από τα δεδομένα και για κάθε συνδυασμό Y των οικογενειών (από συνδυασμούς ανά 1 έως και ανά c) υπολογίζεται η πιθανότητα supp(y) 2 ο βήμα: Δημιουργείται το συνολικό FSA (για κάθε οικογένεια), και για κάθε συνδυασμό Χ των μοτίβων (από συνδυασμούς ανά 1 έως και ανά m) υπολογίζεται η πιθανότητα supp(χ). 3 ο βήμα: Για κάθε συνδυασμό Y των οικογενειών (από συνδυασμούς ανά 1 έως και ανά c) δημιουργείται ένα «τοπικό» FSA. Από αυτό το FSA, και για κάθε συνδυασμό Χ των μοτίβων (από συνδυασμούς ανά 1 έως και ανά m) υπολογίζονται τα γνωρίσματα του κανόνα X Y. Εάν το ενδιαφέρον που παρουσιάζει ο κανόνας είναι μικρότερο από mininterest ο κανόνας απορρίπτεται. Τέλος Αλγορίθμου RuleCreator Πλαίσιο Κώδικα 6: Αλγόριθμος RuleCreator 2.6. Ένα παράδειγμα Η αναλυτική παρουσίαση της λειτουργίας ολόκληρου του αλγορίθμου θα ήταν άσκοπη, τόσο λόγω του όγκου των υπολογισμών όσο και επειδή γίνεται πολλές φορές επανάληψη της ίδιας μεθοδολογίας. Γι αυτούς τους λόγους θα γίνει αναλυτική περιγραφή της δημιουργίας ενός PTA, της μετατροπής του σε FSA και, τέλος, του υπολογισμού πιθανοτήτων και κανόνων από το τελικό αυτό FSA.

37 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 37 Θα χρησιμοποιηθεί ως παράδειγμα η οικογένεια PDOC50086 των πρωτεϊνών (TBC/rab GAP domain). Στην οικογένεια αυτή υπάρχουν 14 πρωτεΐνες, οι οποίες παρουσιάζονται στον Πίνακα 2.1 μαζί με τα μοτίβα της κάθε πρωτεΐνης: Πίνακας 2.1: Πρωτεΐνες και Μοτίβα της οικογένειας PDOC50086 Α/Α Πρωτεΐνη Μοτίβα 1. P09379 PS P26448 PS P32806 PS P36618 PS P43570 PS P48365 PS50086, PS P48566 PS50086, PS P53258 PS50031, PS50086, PS Q04322 PS50086, PS Q09445 PS Q09830 PS50086, PS Q09830 PS50079, PS Q10496 PS00018, PS00402, PS Q92609 PS50086, PS50322, PS50324 Από τις 14 αυτές πρωτεΐνες, οι 11 θα χρησιμοποιηθούν ως σύνολο δεδομένων εκπαίδευσης, ενώ οι υπόλοιπες 3 ως σύνολο δεδομένων ελέγχου. Η επιλογή γίνεται τυχαία, οπότε προκύπτουν τα εξής σύνολα: Train Data Set = {1, 2, 3, 4, 5, 7, 8, 9, 12, 13 και 14} Test Data Set = {6, 10 και 11} Οι αλυσίδες των μοτίβων διαβάζονται με τη σειρά με την οποία δίνονται, οπότε δημιουργείται το PTA του Σχήματος 2.5 Ισχύουν οι εξής συμβολισμοί:

38 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 38 Ο αύξων αριθμός της κατάστασης Το πλήθος των αλυσίδων που έχουν τελειώσει στη συγκεκριμένη κατάσταση Το πλήθος των αλυσίδων που έχουν φτάσει στη συγκεκριμένη κατάσταση PS50322 [1] Οι φορές που χρησιμοποιήθηκε το συγκεκριμένο μοτίβο Κατεύθυνση της μετάβασης Σχήμα 2.4: Συμβολισμοί PS50312 [1] PS50154 [1] PS50086 [8] PS50322 [1] 12 PS50324 [1] O PS50031 [1] PS50086 [1] PS50222 [1] PS50079 [1] PS50086 [1] PS00018 [1] PS00402 [1] PS50086 [1] Σχήμα 2.5: Δένδρο Αποδοχής Προθεμάτων Στη συνέχεια, εφαρμόζεται ο αλγόριθμος ALERGIA, χρησιμοποιώντας παράμετρο confidence = 0.8, οπότε γίνονται οι ακόλουθες συγχωνεύσεις (Σχήματα ):

39 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 39 PS50312 [1] PS50154 [1] PS50086 [8] PS50322 [1] PS50324 [1] O PS50031 [1] PS50086 [1] PS50222 [1] PS50079 [1] PS50086 [1] PS00018 [1] PS00402 [1] PS50086 [1] Σχήμα 2.6: Συγχώνευση καταστάσεων 1 και 2 PS50312 [1] PS50154 [1] PS50086 [8] PS50222 [1] PS50322 [1] PS50324 [1] O PS50086 [1] PS50031 [1] PS50079 [1] PS00018 [1] PS50086 [1] PS00402 [1] PS50086 [1] Σχήμα 2.7: Συγχώνευση καταστάσεων 0 και 4

40 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 40 PS50312 [1] PS50154 [1] PS50222 [1] PS50086 [8] PS50322 [1] PS50324 [1] PS50086 [1] O 12 0 PS50031 [1] PS50079 [1] PS50086 [1] PS00018 [1] PS00402 [1] PS50086 [1] Σχήμα 2.8: Συγχώνευση καταστάσεων 1 και 5 PS50312 [1] PS50222 [1] PS50086 [8] PS50322 [1] PS50154 [1] PS50324 [1] O 12 0 PS50086 [1] PS50031 [1] PS00018 [1] PS50079 [1] 7 PS50086 [1] PS00402 [1] PS50086 [1] Σχήμα 2.9: Συγχώνευση καταστάσεων 3 και 6

41 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 41 PS50312 [1] PS50322 [1] PS50324 [1] PS50222 [1] PS50086 [8] 11 8 PS50154 [1] PS50086 [1] PS50086 [1] O 12 0 PS50031 [1] PS00018 [1] PS50079 [1] PS00402 [1] PS50086 [1] Σχήμα 2.10: Συγχώνευση καταστάσεων 1 και 8 PS50222 [1] PS50086 [8] PS50312 [1] PS50154 [1] PS50322 [1] PS50324 [1] PS50086 [1] O 12 0 PS00018 [1] PS50031 [1] PS50086 [1] PS00402 [1] PS50079 [1] PS50086 [1] Σχήμα 2.11: Συγχώνευση καταστάσεων 3 και 9

42 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 42 PS50222 [1] PS50086 [8] PS50312 [1] PS50154 [1] PS50322 [1] PS50324 [1] PS50086 [1] O PS50086 [1] 12 0 PS00018 [1] PS50031 [1] PS00402 [1] PS50079 [1] 7 PS50086 [1] Σχήμα 2.12: Συγχώνευση καταστάσεων 7 και 10 PS50222 [1] PS50086 [8] PS50312 [1] PS50154 [1] PS50322 [1] PS50324 [1] PS50086 [1] O PS50086 [2] 12 0 PS00018 [1] PS50031 [1] PS00402 [1] PS50079 [1] Σχήμα 2.13: Συγχώνευση καταστάσεων 1 και 11

43 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 43 PS50312 [1] PS50322 [1] PS50222 [1] PS50086 [8] PS50324 [1] PS50154 [1] PS50086 [2] O 12 0 PS00018 [1] PS50031 [1] PS50086 [1] PS00402 [1] PS50079 [1] Σχήμα 2.14: Συγχώνευση καταστάσεων 1 και 13 Με αυτή την τελευταία συγχώνευση προκύπτει και το τελικό FSA, το οποίο είναι το εξής: PS50312 [1] PS50322 [1] PS50222 [1] PS50086 [8] PS50324 [1] PS50154 [1] PS50086 [2] O 12 0 PS50086 [1] PS50031 [1] PS00018 [1] PS50079 [1] PS00402 [1] Σχήμα 2.15: Στοχαστικό Αιτιοκρατικό Πεπερασμένο Αυτόματο

44 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 44 Θεωρώντας ότι έχουν υπολογιστεί τα γνωρίσματα supp(x) και supp(y) για κάθε μοτίβο X και οικογένεια Y, οι κανόνες με ένα μοτίβο που προκύπτουν από το παραπάνω FSA είναι οι εξής: Πίνακας 2.2: Κανόνες από οικογένεια PDOC50086 Motif Class: Probability Confidence Support Interest PS50086 PDOC50086: E PS50324 PDOC50086: PS00402 PDOC50086: PS50222 PDOC50086: PS50154 PDOC50086: E PS50312 PDOC50086: PS00018 PDOC50086: PS50322 PDOC50086: PS50079 PDOC50086: PS50031 PDOC50086: E Δηλαδή, παίρνοντας τον πρώτο κανόνα, διαπιστώνουμε ότι εάν μία πρωτεΐνη περιέχει το μοτίβο PS50086, τότε αυτή ανήκει στην οικογένεια PDOC50086 με πιθανότητα 1, με βεβαιότητα 0.78.

45 Κεφάλαιο 3. Υλοποίηση Αρχιτεκτονική του Συστήματος 3.1. Περιγραφή της Βάσης Δεδομένων Για την εξαγωγή του μοντέλου και τη βέλτιστη υλοποίησή του χρησιμοποιούνται δεδομένα από τη διπλωματική: «Ανάπτυξη Συστήματος για την Πρόβλεψη Συμπεριφοράς Πρωτεϊνών με τη χρήση μεθόδων Εξόρυξης Δεδομένων» Χατζηδαμιανός Γεράσιμος Χρησιμοποιούνται οι παρακάτω πίνακες, οι οποίοι έχουν δημιουργηθεί στην παραπάνω διπλωματική και στηρίζονται στα δεδομένα της βάσης Prosite: Πίνακας 3.1: Δομή του πίνακα Pattern. Περιέχονται εγγραφές. Πίνακας Pattern Protein Code Protein Name Pattern Code Pattern Name O00058 MTDH_UROFA PS00061 ADH_SHORT O00086 IMH3_CANAL PS00487 IMP_DH_GMP_RED O00088 GLNA_AGABI PS00181 GLNA_ATP O00091 G6PD_SCHPO PS00069 G6P_DEHYDROGENASE O00098 CISY_EMENI PS00480 CITRATE_SYNTHASE O00139 KIF2_HUMAN PS00017 ATP_GTP_A

46 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 46 O00142 KITM_HUMAN PS00017 ATP_GTP_A O00155 GPRP_HUMAN PS00237 G_PROTEIN_RECEP_F1_1 O00159 MY1C_HUMAN PS00017 ATP_GTP_A O00168 PLM_HUMAN PS01310 ATP1G1_PLM_MAT8 O00178 GTB1_HUMAN PS00017 ATP_GTP_A O00182 LEG9_HUMAN PS00309 GALAPTIN Πίνακας 3.2: Δομή του πίνακα Profile. Περιέχονται εγγραφές. Πίνακας Profile Protein Code Protein Name Profile Code Profile Name O00060 CYPH_UROFA PS50072 CSA_PPIASE_2 O00086 IMH3_CANAL PS50147 SNF4_REP O00086 IMH3_CANAL PS50264 FMN_ENZYMES O00087 DLDH_SCHPO PS50205 NAD_BINDING O00102 UBC7_SCHPO PS50127 UBIQUITIN_CONJUGAT_2 O00103 UBCD_SCHPO PS50127 UBIQUITIN_CONJUGAT_2 O00116 ADAS_HUMAN PS50310 ALA_RICH O00124 REP8_HUMAN PS50033 UX_DOMAIN O00139 KIF2_HUMAN PS50007 PIPLC_X_DOMAIN O00139 KIF2_HUMAN PS50067 KINESIN_MOTOR_DOMAIN2 O00139 KIF2_HUMAN PS50079 NLS_BP O00141 SGK_HUMAN PS50011 PROTEIN_KINASE_DOM O00151 PDL1_HUMAN PS50023 LIM_DOMAIN_2 O00151 PDL1_HUMAN PS50106 PDZ O00151 PDL1_HUMAN PS50157 ZINC_FINGER_C2H2_2 O00154 CTE2_HUMAN PS50079 NLS_BP O00155 GPRP_HUMAN PS50262 G_PROTEIN_RECEP_F1_2 O00155 GPRP_HUMAN PS50323 ARG_RICH

47 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 47 Πίνακας 3.3: Δομή του πίνακα Prosite. Περιέχονται εγγραφές. Πίνακας Prosite Class Code Protein Code Protein Name Flag PDOC00010 O00187 MAS2_HUMAN T PDOC00010 O00339 MTN2_HUMAN T PDOC00010 O00548 DLL1_HUMAN T PDOC00010 O08746 MTN2_MOUSE T PDOC00010 O15943 CADN_DROME F PDOC00010 O19045 FA10_RABIT T PDOC00010 O35568 FBL3_RAT T PDOC00010 O55058 FBL4_CRIGR T PDOC00010 O73775 FBL1_CHICK T PDOC00010 O77469 FBL1_CAEEL T PDOC00010 O88322 NID2_MOUSE T PDOC00010 O89029 MTN4_MOUSE T PDOC00010 O95460 MTN4_HUMAN T Πριν αξιοποιηθούν οι παραπάνω πίνακες θα πρέπει να γίνει μια βελτιστοποίησή τους, έτσι ώστε να ελαχιστοποιηθούν πιθανά προβλήματα. Η βελτιστοποίηση έγινε με βάση τις παρακάτω παραδοχές: Κάθε ένας από τους πίνακες δεν περιέχει διπλότυπα. Στον πίνακα Prosite υπάρχουν μόνο εγγραφές οι οποίες έχουν στην στήλη Flag τιμές T (true positive η αλυσίδα περιέχεται στην υπό εξέταση ομάδα) ή F (false positive η αλυσίδα δεν περιέχεται στην υπό εξέταση ομάδα). Οι τιμές P (potential hit η αλυσίδα ανήκει στην ομάδα αλλά δεν ήταν δυνατή η επαλήθευσή της), N (false negative η αλυσίδα ανήκει στην ομάδα αλλά δεν ήταν δυνατή η ανίχνευσή της) και? (unknown άγνωστη πρωτεΐνη η οποία θα μπορούσε να ανήκει στην συγκεκριμένη ομάδα) διαγράφονται καθώς κρίνονται μη αναγκαίες για την δημιουργία του FSA.

48 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 48 Στον πίνακα Prosite υπάρχουν μόνο εγγραφές για τις οποίες, για κάθε τιμή στη στήλη Protein Code, υπάρχει κάποια αναφορά είτε στον πίνακα Pattern είτε στον πίνακα Profile. Εφαρμόζοντας τις τρεις παραπάνω παραδοχές, προκύπτουν οι παρακάτω τιμές: Πίνακας 3.4: Πλήθος στοιχείων σε κάθε πίνακα Protein Codes Codes Total Records Prosite Class Codes: Pattern Pattern Codes: Profile Profile Codes: Είναι χρήσιμο να προστεθεί και ο παρακάτω πίνακας, ο οποίος δίνει μια εικόνα της μετατροπής της βάσης: Πίνακας 3.5: Μεταβολή της βάσης GenBase Τιμή Flag Αρχικά Τελικά T F N P ? Πέρα από τους Πίνακες , θα χρησιμοποιηθούν, για τεχνικούς κυρίως λόγους, και δύο όψεις: η AllMotifs και η DistinctClasses. Η πρώτη όψη περιέχει μία μόνο στήλη, της οποίας τα στοιχεία είναι όλα τα διαφορετικά μοτίβα που υπάρχουν στους πίνακες Pattern και Profile. Η δεύτερη όψη περιέχει και αυτή μόνο μία στήλη με στοιχεία όλες τις διαφορετικές οικογένειες πρωτεϊνών που υπάρχουν στον πίνακα Prosite.

49 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Σύνδεση με τον SQL Server 2000 μέσω JDBC Μετά τη σχεδίαση της βάσης δεδομένων, το επόμενο βήμα είναι ο προσδιορισμός του τύπου της σύνδεσης με αυτή, και συγκεκριμένα με τον SQL Server Εφόσον όλος ο κώδικας είναι σε γλώσσα προγραμματισμού Java, αρκεί να προσδιοριστεί ο JDBC Driver που θα χρησιμοποιηθεί. Υπάρχουν τεσσάρων τύπων JDBC Drivers: Τύπος 1: JDBC - ODBC Bridge Τύπος 2: Native - API/partly Java driver Τύπος 3: Net - protocol/all - Java driver Τύπος 4: Native - protocol/all - Java driver Ακολουθεί μια συνοπτική περιγραφή του καθενός και αναφέρονται τα πλεονεκτήματα και τα μειονεκτήματα αυτών έτσι ώστε να επιλεγεί ο καταλληλότερος. Τύπου 1: JDBC - ODBC Bridge Client Machine JDBC ODBC bridge Server Machine Database Server ODBC driver Vendor DB library Σχήμα 3.1: Αρχιτεκτονική του JDBC - ODBC Bridge Ο τύπου 1 οδηγός, JDBC ODBC driver, μεταφράζει όλες τις JDBC κλήσεις σε ODBC (Open DataBase Connectivity) κλήσεις και τις αποστέλλει στον οδηγό ODBC. Για αυτό το λόγο, ο ODBC driver, καθώς και ο client database code, πρέπει να βρίσκεται και στις client μηχανές.

50 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 50 Υπέρ: Ο οδηγός JDBC ODBC Bridge επιτρέπει την πρόσβαση σε οποιαδήποτε βάση, καθώς οι οδηγοί ODBC της βάσης είναι ούτως ή άλλως διαθέσιμοι. Οι οδηγοί τύπου 1 είναι χρήσιμοι για όλους όσους έχουν ήδη εγκατεστημένο τον ODBC οδηγό στις client μηχανές. Κατά: Η απόδοση μειώνεται καθώς η κλήση του JDBC περνά μέσα από την γέφυρα ODBC μέχρι να φτάσει στη βάση. Η απάντηση έρχεται ακολουθώντας την αντίστροφη διαδρομή. Λαμβάνοντας υπόψη τον παράγοντα της απόδοσης, οι οδηγοί τύπου 1 μπορεί να μην είναι κατάλληλοι για μεγάλης κλίμακας εφαρμογές. Επίσης ο οδηγός ODBC και το native connectivity interface πρέπει να έχουν ήδη εγκατασταθεί στις client μηχανές. Έτσι όμως χάνεται το πλεονέκτημα της χρήσης των Java Applets σε ένα διαδικτυακό περιβάλλον, καθώς παραμένει το πρόβλημα της εγκατάστασης όπως και στα «παραδοσιακά» προγράμματα. Τύπου 2: Native - API/partly Java driver Client Machine Native API partly Java driver Server Machine Database Server Vendor DB library Σχήμα 3.2: Αρχιτεκτονική του Native - API/partly Java driver Ο οδηγός JDBC τύπου 2 ο Native - API/partly Java driver μετατρέπει τις κλήσεις JDBC σε κλήσεις προκαθορισμένες από τον τύπο της βάσης, όπως SQL Server, Informix, Oracle ή Sybase. Ο οδηγός τύπου 2 επικοινωνεί άμεσα με τον database server, γι αυτό απαιτεί κάποια τμήματα δυαδικού κώδικα να βρίσκονται στα client μηχανήματα.

51 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 51 Υπέρ: Οι οδηγοί τύπου 2 τυπικά προσφέρουν σημαντικά καλύτερη απόδοση από τους JDBC - ODBC Bridge. Κατά: Οι βιβλιοθήκες της βάσης δεδομένων πρέπει κάθε φορά να φορτώνονται στο μηχάνημα του client. Επομένως οι οδηγοί τύπου 2 δεν μπορούν να χρησιμοποιηθούν για το διαδίκτυο. Επίσης οι οδηγοί τύπου 2 παρουσιάζουν χαμηλότερη απόδοση από τους οδηγούς τύπου 3 ή 4. Τύπου 3: Net - protocol/all - Java driver Client Machine Server Machine Net protocol pure Java driver Middleware Server Database Server Σχήμα 3.3: Αρχιτεκτονική του Net - protocol/all - Java driver Ο JDBC οδηγός τύπου 3 - Net - protocol/all - Java driver ακολουθεί μια τακτική αρχιτεκτονικής 3 επιπέδων, όπου οι κλήσεις διέρχονται μέσω δικτύου στον ενδιάμεσο server. Ο ενδιάμεσος server στη συνέχεια μεταγλωττίζει την κλήση (άμεσα ή έμμεσα) με τρόπο ανάλογα με το native connectivity interface της συγκεκριμένης βάσης, έτσι ώστε να προωθήσει την κλήση στον database server. Εάν ο ενδιάμεσος server είναι γραμμένος σε γλώσσα προγραμματισμού Java, μπορεί να χρησιμοποιηθεί ένας οδηγός τύπου 1 ή 2 για την τελική κλήση. Υπέρ: Ο οδηγός Net - protocol/all - Java βασίζεται σε server, γι αυτό δεν υπάρχει ανάγκη οποιαδήποτε βιβλιοθήκη της βάσης να βρίσκεται σε client μηχανές. Επίσης, υπάρχουν πολλές δυνατότητες για βελτίωση συμβατότητας, επίδοσης και μεγέθους. Ο οδηγός αυτός μπορεί ακόμη να σχεδιαστεί έτσι ώστε ο client JDBC driver να γίνει πολύ μικρός και γρήγορος στο φόρτωμα. Επιπλέον, ένας οδηγός τύπου 3 συνήθως παρέχει

52 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 52 υποστήριξη για χαρακτηριστικά όπως caching (συνδέσεις, αποτελέσματα ερωτημάτων κτλ), load balancing και advanced system administration όπως logging και auditing. Κατά: Ο οδηγός τύπου 3 απαιτεί να βρίσκεται στον ενδιάμεσο server κώδικας βασισμένος στην εκάστοτε βάση. Διατρέχοντας όμως την όλη αρχιτεκτονική χρειάζεται πολύς χρόνος, καθώς όλες οι απαντήσεις έρχονται από το database server στην άλλη άκρη της αρχιτεκτονικής. Τύπου 4: Native - protocol/all - Java driver Client Machine Server Machine Native protocol pure Java driver Database Server Σχήμα 3.4: Αρχιτεκτονική του Native - protocol/all - Java driver Ο οδηγός JDBC τύπου 4 ο Native - protocol/all - Java driver μετατρέπει τις κλήσεις JDBC σε πρωτόκολλο DBMS (Database Management System) της εκάστοτε βάσης, έτσι ώστε οι client εφαρμογές να επικοινωνούν απευθείας με τον database server. Οι οδηγοί τύπου 4 είναι εξ ολοκλήρου υλοποιημένοι σε Java έτσι ώστε να εξασφαλίζεται η ανεξαρτησία πλατφόρμας. Υπέρ: Καθώς οι τύπου 4 οδηγοί δεν χρειάζεται να μετατρέπουν κλήσεις σε ODBC ή σε οποιοδήποτε άλλο interface μέχρι την βάση, η απόδοση είναι αρκετά καλή. Οι οδηγοί τύπου 4 γενικά έχουν καλύτερες αποδόσεις από τους τύπου 1 και 2. Επίσης, δεν χρειάζεται να εγκατασταθεί επιπλέον λογισμικό στον client ή στον server. Τέλος, οι οδηγοί αυτοί μπορούν να φορτωθούν δυναμικά (real time download).

53 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 53 Κατά: Με τους οδηγούς τύπου 4, ο χρήστης χρειάζεται διαφορετικό οδηγό για την κάθε βάση. Ο Πίνακας 3.6 συνοψίζει τις επιδόσεις 5 οδηγών JDBC: Πίνακας 3.6: Επιδόσεις διαφόρων τύπων JDBC drivers [URL 8] JDBC Driver/Requirement JDBC- ODBC Bridge IDS Driver SequeLink JTurbo 1.22 I-net Sprinta Vendor Comes with Sun JDK IDS Software MERANT Ashna Inc. I-net Software Type of driver Footprint (compressed) Database connection time (ms) Data retrieval time (ms) (33,000 records) Fetch & traversal time (ms) (33,000 records) Data insertion time (ms) (1,000 records) KB 269 KB 107 KB 42 KB ,700 3, ,700 3,000 3,500 3,600 3,050 Οι μετρήσεις έγιναν στο ακόλουθο περιβάλλον:

54 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 54 Πίνακας 3.7: Συνθήκες Ελέγχου [URL 8] Test conditions Platform: Windows NT 4.0 Computer with Java VM: SQL Server 7.0: Pentium III Pentium III JVM: JDK Η βάση είχε στήλες με στοιχεία int, varchar(255) και datetime. Τα παραπάνω στοιχεία υπάρχουν στο site [URL 8]. Αν και από τον πίνακα φαίνεται ότι οι οδηγοί τύπου 1 είναι ταχύτεροι ως προς το Database Connection Time, οι χρόνοι για το Fetch&Traversal είναι πιο μικροί για οδηγούς τύπου 4. Επομένως, θα χρησιμοποιηθεί ο τύπου 4 JDBC driver, και μάλιστα ο επίσημος οδηγός της Microsoft, ο οποίος είναι τύπου 4. Η Microsoft προσφέρει τον οδηγό για δύο πλατφόρμες: Windows (setup.exe) και Solaris (mssqlserver.tar). Εγκαθιστώντας τον οδηγό για την πλατφόρμα Windows διαπιστώνεται ότι το πρόγραμμα εγκατάστασης φορτώνει το σύστημα με περίπου 30 DLL, κάτι το οποίο απέχει πολύ από έναν καθαρό Java οδηγό. Αντίθετα, ο οδηγός της πλατφόρμας Solaris περιέχει ακριβώς τα 3 Java αρχεία που είναι απαραίτητα (δηλαδή τα lib/msbase.jar, lib/mssqlserver.jar και lib/msutil.jar) Αρχιτεκτονική τριών επιπέδων Τέλος, απομένει να επιλεχθεί ο τρόπος σχεδίασης του συνολικού συστήματος. Επειδή το σύστημα περιλαμβάνει ήδη μία βάση δεδομένων, οι δυνατές επιλογές αρχιτεκτονικής σχεδίασης είναι είτε με αρχιτεκτονική 2 επιπέδων (2 tier architecture), είτε με αρχιτεκτονική πολλών επιπέδων (multitiered architecture). Η αρχιτεκτονική 2 επιπέδων είναι η απλούστερη δυνατή. Περιλαμβάνει δύο μέρη, τη βάση δεδομένων (database server) και τον client στον οποίο εκτελείται όλη η λογική του προγράμματος. Η γενική δομή μίας αρχιτεκτονικής πολλών επιπέδων παρουσιάζεται στο παρακάτω διάγραμμα.

55 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 55 Web Browser HTML Pages Tier 1: Client Tier Network Web Server (Thin-Client Servlet) Tier 2: Web Tier Network Enterprise Beans Application Server Tier 3: Business Tier Network Database Server Tier 4: Enterprise Information Systems (EIS) Tier Σχήμα 3.5: Αρχιτεκτονική πολλών επιπέδων Η παραπάνω αρχιτεκτονική όμως δεν είναι δεσμευτική, καθώς πολλές φορές τα δύο πρώτα επίπεδα συγχωνεύονται στο επίπεδο client. Η νέα μορφή είναι ουσιαστικά διανεμημένη σε τρία συστήματα: στους client υπολογιστές, στον ενδιάμεσο application server και τέλος τις βάσεις δεδομένων στην τελική άκρη. Με αυτό τον τρόπο επεκτείνεται η αρχιτεκτονική δύο επιπέδων προσθέτοντας έναν application server, με δυνατότητες multithreading, μεταξύ της client εφαρμογής και της αποθήκευσης των δεδομένων. Τα πλεονεκτήματα που παρουσιάζει αυτή η μορφή εμφανίζονται κυρίως στη συντήρηση της εφαρμογής, καθώς και στην υπολογιστική ισχύ που απαιτείται συνολικά. Ένα σύστημα βασισμένο σε αυτή τη μορφή αποτελείται ουσιαστικά από πολλά μικρότερα υποσυστήματα που επικοινωνούν μεταξύ τους με καθορισμένες διεπαφές (interfaces). Επομένως, είναι δυνατόν ολόκληρα υποσυστήματα να

56 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 56 ανανεωθούν χωρίς να επηρεαστεί η λειτουργία του συστήματος. Επίσης, ενώ στην περίπτωση των δύο επιπέδων ολόκληρη η λειτουργία του συστήματος θα έπρεπε να εκτελεστεί ουσιαστικά σε έναν υπολογιστή, με τα 3 επίπεδα η υπολογιστική ισχύς κατανέμεται σε περισσότερους υπολογιστές. Από την άλλη πλευρά, ένα από τα σημαντικότερα μειονεκτήματα που παρουσιάζει μία τέτοια αρχιτεκτονική, είναι η δυσκολία στην υλοποίηση. Σε αυτό το σημείο όμως δίνει μία λύση η ίδια η γλώσσα προγραμματισμού Java καθώς παρέχει έτοιμο το υπόβαθρο της αρχιτεκτονικής, όπως φαίνεται και από το παρακάτω διάγραμμα: Application Client Container EJB Container Application Client Enterprise Bean JMS JNDI RMI - IIOP JDBC JMS JNDI JTA Java Mail JAF RMI - IIOP JDBC Database J2SE J2SE Σχήμα 3.6: Υποδομή της Java για αρχιτεκτονική 3 επιπέδων Με βάση τα παραπάνω η επιλογή της αρχιτεκτονικής τριών επιπέδων είναι προφανής, καθώς συνδυάζει τόσο ευελιξία στην ανανέωση και συντήρηση του συστήματος, όσο και μεγαλύτερη υπολογιστική ισχύ για την εφαρμογή του αλγορίθμου Αρχιτεκτονική του Με βάση όσα αναφέρθηκαν, το σύστημα που υλοποιήθηκε με το όνομα, έχει την αρχιτεκτονική που παρουσιάζεται στο παρακάτω διάγραμμα:

57 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 57 Tables Entity Beans Session Beans Prosite Prosite Pattern Pattern FSA Profile Profile Connections Views AllMotifs AllMotifs Client Data Mining DistinctClasses DistinctClasses GenBase (Database Server) Application Server Σχήμα 3.7: Αρχιτεκτονική του συστήματος Από το διάγραμμα φαίνεται καθαρά η αρχιτεκτονική 3 επιπέδων που υλοποιεί το σύστημα. Το μεσαίο επίπεδο (application server) χωρίζεται πρακτικά σε δύο μικρότερα επίπεδα. Το πρώτο, από τη πλευρά της βάσης, είναι υπεύθυνο για την ανάσυρση των δεδομένων από τη βάση. Το δεύτερο επίπεδο έχει δύο λειτουργίες: αφενός λειτουργεί ως διεπαφή (interface) με την εφαρμογή client, και αφετέρου εκτελεί όλη την προεργασία των δεδομένων πριν αποσταλούν στην εφαρμογή Εργαλεία που χρησιμοποιήθηκαν SQL Server 2000 Η επιλογή του SQL Server 2000 της Microsoft ως βάση δεδομένων, έγινε για τους παρακάτω λόγους: Θεωρείται ένα από τα καλύτερα και πιο ολοκληρωμένα συστήματα της αγοράς. Συνοδεύεται από πολύ καλή τεκμηρίωση, γεγονός το οποίο βοηθά ιδιαίτερα στην ανάπτυξη λογισμικού. Παρουσιάζει ευρωστία σε διαδικτυακές εφαρμογές.

58 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης JBoss Η επιλογή του JBoss ως application server, έγινε για τους παρακάτω λόγους: Είναι Open Source εφαρμογή, γραμμένη σε Java και επομένως συνεργάζεται πολύ καλά με την γλώσσα αυτή. Χρησιμοποιείται ευρέως για διαδικτυακές εφαρμογές. Παρουσιάζει ευελιξία και προσαρμοστικότητα ανάλογα με τις απαιτήσεις της κάθε εφαρμογής JBuilder X Τέλος, ολόκληρη η εφαρμογή αναπτύχθηκε σε Java, κυρίως λόγω της δυνατότητας που παρέχει να εκτελείται σε οποιοδήποτε λειτουργικό σύστημα. Μετά την επιλογή της Java ως γλώσσας ανάπτυξης, η επιλογή του JBuilder X ως περιβάλλον ανάπτυξης είναι προφανής καθώς: Αποτελεί το πλέον εξελιγμένο περιβάλλον ανάπτυξης λογισμικού σε Java, καθώς παρέχει πολλές ευκολίες για τη δημιουργία συμπαγούς και χωρίς λάθη κώδικα. Παρέχει αυτοματοποιημένες διαδικασίες, ιδιαίτερα στον τομέα του γραφικού περιβάλλοντος. Υπάρχουν έτοιμες βιβλιοθήκες για τη σύνδεση με application servers και database servers.

59 Κεφάλαιο 4. Αποτελέσματα Πειράματα 4.1. Προσδιορισμός της παραμέτρου confidence στον αλγόριθμο ALERGIA Όπως έχει αναφερθεί, η παράμετρος confidence στον αλγόριθμο ALERGIA είναι αυτή που καθορίζει το εύρος ανοχής για τη συμβατότητα μεταξύ δύο καταστάσεων. Όσο μικρότερη η τιμή, τόσο μεγαλύτερο είναι το εύρος. Για τον προσδιορισμό της τιμής αυτής της παραμέτρου, εκτελείται το ακόλουθο πείραμα. Ως δεδομένα χρησιμοποιούνται οι 14 πρωτεΐνες που ανήκουν στην οικογένεια PDOC50086 και εμφανίζονται στον Πίνακα 2.1 (σελίδα 39). Εάν χρησιμοποιηθούν όλες οι πρωτεΐνες για τη δημιουργία του FSA, τότε για διαφορετικές τιμές της παραμέτρου confidence, προκύπτουν τελικά τα παρακάτω FSA (Σχήμα 4.1 Σχήμα 4.3):

60 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 60 PS50086 [1] PS50324 [1] PS50086 [11] PS50312 [1] PS00018 [1] PS50079 [1] PS50322 [1] O 28 8 PS50222 [1] PS50086 [2] PS50031 [1] PS50324 [2] PS50154 [1] PS00402 [1] Σχήμα 4.1: Τελικό FSA με παράμετρο confidence = 0.1 PS50324 [2] PS50222 [1] PS50031 [1] PS50086 [12] PS00018 [1] PS50322 [1] O 17 2 PS50079 [1] PS50312 [1] PS50154 [1] PS00402 [1] PS50086 [1] PS50086 [1] PS50324 [1] Σχήμα 4.2: Τελικό FSA με παράμετρο confidence = 0.45

61 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 61 PS50324 [2] PS50222 [1] PS50322 [1] 13 PS50086 [12] PS50324 [1] 1 0 PS50031 [1] PS50086 [2] PS50312 [1] PS50154 [1] O 15 0 PS50079 [1] PS00402 [1] 3 2 PS00018 [1] Σχήμα 4.3: Τελικό FSA με παράμετρο confidence = 0.8 Από τα σχήματα είναι φανερό ότι όσο αυξάνεται η παράμετρος confidence τόσο περισσότερο αυξάνει η πολυπλοκότητα του τελικού FSA. Δηλαδή, μεγάλη τιμή στην παράμετρο confidence σημαίνει λιγότερες παραδοχές στη συγχώνευση δύο καταστάσεων και επομένως μεγαλύτερη εξάρτηση από τα αρχικά δεδομένα. Όσο μειώνεται η παράμετρος, γίνονται περισσότερες συγχωνεύσεις και επομένως το τελικό FSA γίνεται πιο γενικό. Ζητούμενο όμως είναι η κατασκευή ενός FSA το οποίο να είναι μεν γενικό, αλλά ταυτόχρονα να περιγράφει ικανοποιητικά τη δομή των δεδομένων. Με άλλα λόγια, είναι επιθυμητό κάθε μετάβαση μεταξύ καταστάσεων να οφείλεται σε ένα μοτίβο, αλλά ταυτόχρονα να υπάρχει μικρό πλήθος καταστάσεων. Οι δύο αυτές συνθήκες πειραματικά ικανοποιούνται ταυτόχρονα, ως ένα βαθμό, στην περιοχή του 0.8. Αυτό φαίνεται και από τα παραπάνω διαγράμματα, όπου όσο αυξάνεται το confidence τόσο αυξάνει το πλήθος των καταστάσεων, αλλά ταυτόχρονα μειώνεται και το πλήθος των μοτίβων στην ίδια μετάβαση.

62 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Πειραματικά αποτελέσματα κατηγοριοποίησης Ο αλγόριθμος που υλοποιήθηκε εξετάστηκε για την ορθότητα και την αξιοπιστία του με μία σειρά πειραμάτων. Τα αποτελέσματα που προέκυψαν, συγκρίθηκαν με αντίστοιχα αποτελέσματα άλλων αλγορίθμων. Σε όλα τα πειράματα που ακολουθούν, χρησιμοποιήθηκαν απλοί κανόνες της μορφής «Μοτίβο Οικογένεια». Αν και είναι δυνατόν να δημιουργηθούν πιο πολύπλοκοι κανόνες από τον αλγόριθμο, η πολυπλοκότητα των υπολογισμών καθιστά απαγορευτική την υλοποίησή τους, καθώς ο χρόνος που απαιτείται στον περιορισμένων δυνατοτήτων διαθέσιμο υπολογιστή αυξάνει δραματικά Έλεγχος σε σταθερό πλήθος οικογενειών και μεταβλητά ποσοστά δεδομένων εκπαίδευσης και ελέγχου Στο άρθρο «Data Driven Generation of Decision Trees for Motif Based Assignment of Protein Sequences to Functional Families» [WWH + 01], παρουσιάζεται μία μέθοδος κατηγοριοποίησης πρωτεϊνών με τη βοήθεια δέντρου αποφάσεων. Για την επαλήθευση της ορθότητας των αποτελεσμάτων, χρησιμοποιήθηκαν 10 τυχαίες οικογένειες πρωτεϊνών με διαφορετικά ποσοστά δεδομένων εκπαίδευσης και ελέγχου. Εκτελώντας ακριβώς το ίδιο πείραμα, προκύπτουν τα ποσοστά επιτυχίας που παρουσιάζονται στον Πίνακα 4.1. Στο πείραμα, για κάθε διαφορετικό ποσοστό, ο αλγόριθμος εκτελέστηκε τρεις φορές με διαφορετικό σύνολο δεδομένων εκπαίδευσης κάθε φορά, επιλεγμένο τυχαία. Οι κανόνες που παράγονταν κάθε φορά, ελέγχονταν από όλες τις πρωτεΐνες και προσδιοριζόταν το ποσοστό επιτυχίας της κατηγοριοποίησής τους. Οι οικογένειες που χρησιμοποιήθηκαν είναι οι ακόλουθες: 10 οικογένειες: PDOC00064, PDOC00154, PDOC00224, PDOC00271, PDOC00343, PDOC00561, PDOC00662, PDOC00670, PDOC00791, PDOC50007

63 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 63 Πίνακας 4.1: Έλεγχος για 10 τυχαίες οικογένειες πρωτεϊνών (585 πρωτεΐνες σε επικαλυπτόμενα σύνολα) Train Set (%) / Test Set (%) (με επαναλήψεις) [WWH + 01] 2 (%) / 100 (%) % % 59.1 % 3 (%) / 100 (%) % % 71.7 % 5 (%) / 100 (%) % % 82.7 % 10 (%) / 100 (%) % % 94.0 % 20 (%) / 100 (%) % % 95.1 % 30 (%) / 100 (%) % % 96.5 % 40 (%) / 100 (%) % % 98.4 % 50 (%) / 100 (%) % % 99.0 % 60 (%) / 100 (%) % % 98.7 % 99 (%) / 100 (%) % % 99.8 % Οι κανόνες είναι διατεταγμένοι κατά φθίνουσα σειρά, με βάση το γνώρισμα interest. Κατά τη διάρκεια του ελέγχου, ο αλγόριθμος συγκρίνει τα μοτίβα που υπάρχουν στην πρωτεϊνική αλυσίδα, με τα μοτίβα του πρώτου κανόνα. Εάν ο κανόνας ικανοποιείται, χρησιμοποιείται για την κατάταξη της αλυσίδας, αλλιώς ο αλγόριθμος συνεχίζει στον επόμενο κανόνα κοκ μέχρι την εξάντληση των κανόνων ή μέχρι την κατάταξη της πρωτεΐνης. Από αυτή τη διαδικασία γίνεται φανερό ότι η διάταξη των κανόνων είναι ζωτικής σημασίας. Καθώς το κριτήριο του interest για την κατάταξη των κανόνων δεν είναι πάντα το ιδανικό, γίνεται και ένας δεύτερος έλεγχος. Στο δεύτερο έλεγχο, εάν ο κανόνας ικανοποιείται, ελέγχεται στη συνέχεια και το αν έχει γίνει σωστή κατάταξη της πρωτεΐνης. Εάν δεν έχει γίνει σωστή κατάταξη, τότε ο αλγόριθμος αγνοεί τον κανόνα και συνεχίζει παρακάτω μέχρι να βρει σωστό κανόνα, ή να τελειώσουν οι κανόνες. Ο δεύτερος αυτός έλεγχος γίνεται για να διαπιστωθεί κατά πόσο πράγματι οι κανόνες είναι διατεταγμένοι σωστά, και ποιο θα ήταν το ποσοστό στην περίπτωση της ιδανικής διάταξης. Όσο πιο μικρή είναι η διαφορά των δύο ποσοστών, τόσο πιο κοντά στην ιδανική είναι η διάταξη που έγινε. Αυτά τα δύο διαφορετικά ποσοστά παρουσιάζονται στον Πίνακα 4.1 στις στήλες και «(με επαναλήψεις)» αντίστοιχα.

64 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 64 Για να υπάρξει καλύτερη εκτίμηση για την ικανότητα του αλγορίθμου να κατατάσσει σωστά άγνωστες πρωτεΐνες, επαναλαμβάνεται το πείραμα, αλλά αυτή τη φορά τα σύνολα δεδομένων εκπαίδευσης και ελέγχου είναι ξένα μεταξύ τους, αποτελούν δηλαδή μία διαμέριση του αρχικού συνόλου. Τα νέα ποσοστά επιτυχίας παρουσιάζονται στον παρακάτω πίνακα. Πίνακας 4.2: Έλεγχος για 10 τυχαίες οικογένειες πρωτεϊνών (585 πρωτεΐνες σε ξένα σύνολα) Train Set (%) / Test Set (%) (με επαναλήψεις) 2 (%) / 98 (%) % % 3 (%) / 97 (%) % % 5 (%) / 95 (%) % % 10 (%) / 90 (%) % % 20 (%) / 80 (%) % % 30 (%) / 70 (%) % % 40 (%) / 60 (%) % % 50 (%) / 50 (%) % % 60 (%) / 40 (%) % % 99 (%) / 1 (%) % % Από τους παραπάνω πίνακες είναι φανερό ότι ο νέος αλγόριθμος παρουσιάζει εξαιρετικά υψηλό ποσοστό επιτυχίας, ακόμα και με πολύ μικρό σύνολο εκπαίδευσης. Τα Σχήματα 4.4 και 4.5 παρουσιάζουν γραφικά την απόδοση του αλγορίθμου (μπλέ), την ιδανική απόδοση (κόκκινο), καθώς και την απόδοση του αλγορίθμου που περιγράφεται στο άρθρο [WWH + 01] (μαύρο).

65 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης FSA Algorithm (Ideal) FSA Algorithm [WWH+ 01] Percentage of Success Train Set Percentage Σχήμα 4.4: Ποσοστά επιτυχίας για επικαλυπτόμενα σύνολα 100 Percentage of Success FSA Algorithm (Ideal) FSA Algorithm [WWH+ 01] Train Set Percentage Σχήμα 4.5: Ποσοστά επιτυχίας για ξένα σύνολα Αντίστοιχα πειράματα παρουσιάζονται στο Παράρτημα Δ.

66 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Έλεγχος σε μεταβλητό πλήθος οικογενειών και σταθερό ποσοστό δεδομένων εκπαίδευσης και ελέγχου Στο άρθρο «GenMiner: a Data Mining Tool for Protein Analysis» [HAD + 03] γίνεται επίσης μία προσέγγιση του προβλήματος με δένδρα αποφάσεων. Ο έλεγχος γίνεται για διαφορετικό πλήθος τυχαίων οικογενειών, έχοντας σταθερό ποσοστό δεδομένων εκπαίδευσης και ελέγχου. Για την επαλήθευση της ορθότητας των αποτελεσμάτων χρησιμοποιήθηκαν τα τρία σύνολα οικογενειών πρωτεϊνών που παρατίθενται στον Πίνακα 4.3. Στη συνέχεια, για κάθε σύνολο οικογενειών, το σύστημα εκπαιδεύεται χρησιμοποιώντας μία αναλογία 90 / 10 στα ποσοστά δεδομένων εκπαίδευσης και ελέγχου. Εκτελώντας ακριβώς το ίδιο πείραμα, προκύπτουν τα ποσοστά επιτυχίας που φαίνονται στον Πίνακα 4.4. Πίνακας 4.3: Τα τρία σύνολα οικογενειών πρωτεϊνών που χρησιμοποιήθηκαν στο πείραμα Σύνολο 1: PDOC00064, PDOC00154, PDOC00224, PDOC00271, (10 οικογένειες) PDOC00343, PDOC00561, PDOC00662, PDOC00670, PDOC00791, PDOC50007 Σύνολο 2: PDOC00020, PDOC00023, PDOC00027, PDOC00335, (19 οικογένειες) PDOC00340, PDOC00344, PDOC00351, PDOC00552, PDOC00561, PDOC00564, PDOC00567, PDOC00789, PDOC00790, PDOC00793, PDOC00800, PDOC00803, PDOC50001, PDOC50006, PDOC50017 Σύνολο 3: PDOC00010, PDOC00013, PDOC00021, PDOC00024, (28 οικογένειες) PDOC00027, PDOC00031, PDOC00061, PDOC00067, PDOC00072, PDOC00075, PDOC00160, PDOC00164, PDOC00166, PDOC00167, PDOC00171, PDOC00298, PDOC00300, PDOC00304, PDOC00305, PDOC00307, PDOC00310, PDOC00485, PDOC00486, PDOC00490, PDOC00495, PDOC00499, PDOC00722, PDOC00728 Στο πείραμα, για κάθε διαφορετικό σύνολο, ο αλγόριθμος εκτελέστηκε τρεις φορές με διαφορετικό σύνολο δεδομένων εκπαίδευσης κάθε φορά, επιλεγμένο τυχαία. Οι κανόνες που παράγονταν κάθε φορά, ελέγχονταν από τις πρωτεΐνες του συνόλου δεδομένων ελέγχου (το οποίο είναι ξένο με το σύνολο δεδομένων εκπαίδευσης), και

67 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 67 προσδιοριζόταν το ποσοστό επιτυχίας της κατηγοριοποίησής τους. Οι τιμές που παρουσιάζονται στον Πίνακα 4.4 είναι ο μέσος όρος των ποσοστών για κάθε περίπτωση. Πίνακας 4.4: Έλεγχος για 3 τυχαία σύνολα οικογενειών Πλήθος (με οικογενειών επαναλήψεις) [HAD + 03] % % % % % % % % % Έλεγχος σε όλες τις οικογένειες πρωτεϊνών Ένα αναγκαίο πείραμα για τον έλεγχο της ορθότητας του αλγορίθμου είναι ο έλεγχος με όλα τα διαθέσιμα δεδομένα. Σε αυτή την περίπτωση αναφερόμαστε σε 1100 οικογένειες πρωτεϊνών (όχι απαραίτητα ξένες μεταξύ τους) και περίπου πρωτεΐνες. Χρησιμοποιώντας το 90% των πρωτεϊνών ως σύνολο δεδομένων εκπαίδευσης, και το υπόλοιπο 10% ως σύνολο δεδομένων ελέγχου, ο αλγόριθμος έδωσε τα εξής ποσοστά επιτυχίας: Πίνακας 4.5: Έλεγχος για όλες τις οικογένειες πρωτεϊνών Πλήθος οικογενειών (με επαναλήψεις) % % Δηλαδή ο αλγόριθμος δημιουργεί κανόνες για τη σωστή κατάταξη του % των πρωτεϊνών, αλλά αδυνατεί να τους κατατάξει σωστά, με αποτέλεσμα το πραγματικό ποσοστό να πέφτει στο %.

68 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης Χρονική διάρκεια αλγορίθμου Όλα τα παραπάνω πειράματα εκτελέστηκαν σε υπολογιστή Pentium 4, 1.51 GHz με 512 MB Ram και 768 MB Virtual Ram. Οι χρόνοι εκτέλεσης παρουσιάζονται στον Πίνακα 4.6: Πίνακας 4.6: Πειραματικοί χρόνοι εκτέλεσης Πλήθος κλάσεων (Cold Start) (Warm Start) sec (7m 9sec) 248 sec (4m 8sec) sec (17m 46sec) 835 sec (13m 55sec) sec (26m 39sec) 1461 sec (24m 21sec) sec (7h 30m 58sec) sec (7h 33m 57sec) Η διαφορά του Cold Start από το Warm Start είναι η κατάσταση του Application Server. Όταν ο αλγόριθμος εκκινεί ταυτόχρονα με τον Application Server, τότε η εκκίνηση είναι Cold Start, καθώς πρέπει να αρχικοποιηθεί ο Server. Όταν ο αλγόριθμος εκκινεί αφού έχει σταθεροποιηθεί ο Server, τότε η εκκίνηση είναι Warm Start. Αξίζει επίσης να παρατηρηθεί ότι δεν υπάρχει σημαντική διαφορά χρόνου για διαφορετικά ποσοστά συνόλων εκπαίδευσης και ελέγχου, εάν το πλήθος των οικογενειών μένει σταθερό. Αναλυτικά για το κάθε τμήμα του αλγορίθμου, οι χρόνοι εκτέλεσης παρουσιάζονται στον Πίνακα 4.7.

69 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 69 Δημιουργία βασικών αρχείων (αρκεί να εκτελεστεί μόνο μία φορά) Πίνακας 4.7: Αναλυτικοί χρόνοι εκτέλεσης Τμήμα αλγορίθμου Χρόνος εκτέλεσης Εκκίνηση Application Server 192 sec (3m 12sec) Υπολογισμός πιθανοτήτων για κάθε οικογένεια 2489 sec (41m 29sec) Υπολογισμός Train και Test Sets 162 sec (2m 42sec) Δημιουργία συνολικού PTA sec (3h 4m 33sec) Δημιουργία συνολικού FSA (ALERGIA) 1071 sec (17m 51sec) Υπολογισμός του support(χ) για κάθε συνδυασμό μοτίβων sec (3h 10m 13sec) Σύνολο sec (7h 20m) Για κάθε οικογένεια ή συνδυασμό οικογενειών Υπολογισμός Train και Test Sets Δημιουργία τοπικού PTA Δημιουργία τοπικού FSA (ALERGIA) Υπολογισμός του support(χ) για κάθε συνδυασμό μοτίβων < 1 sec 0.28*[Πλήθος πρωτεϊνών] sec < 1 sec 0.1*[Πλήθος συνδυασμών] sec Έλεγχος κανόνων 0.3*[Πλήθος πρωτεϊνών] sec

70 Κεφάλαιο 5. Συμπεράσματα και Μελλοντικές Προεκτάσεις 5.1. Συμπεράσματα Από τα παραπάνω φαίνεται καθαρά ότι ο αλγόριθμος είναι εξαιρετικά ταχύς, ιδιαίτερα εάν δε λάβουμε υπόψη το πρώτο τμήμα του, το οποίο αρκεί να εκτελεστεί μία φορά. Το πρόβλημα όμως εμφανίζεται όταν ο αλγόριθμος προσπαθήσει να δημιουργήσει πολύπλοκους κανόνες. Για παράδειγμα, εάν δημιουργούνται απλοί κανόνες (με ένα μοτίβο και μία οικογένεια), τότε απαιτούνται 0.1*(συνδυασμούς των 1185 ανά 1) seconds, δηλαδή περίπου 2 λεπτά. Για λίγο πιο πολύπλοκους κανόνες (με δύο μοτίβα και μία οικογένεια) ο χρόνος εκτοξεύεται στα 0.1*(συνδυασμούς των 1185 ανά 1 + συνδυασμούς των 1185 ανά 2), δηλαδή περίπου 20 ώρες. Είναι φανερό ότι κάτι τέτοιο είναι μάλλον απαγορευτικό για τον αλγόριθμο. Από την άλλη πλευρά, ο αλγόριθμος παρουσιάζει εξαιρετικά μεγάλες επιδόσεις, ακόμα και με πολύ λίγα στοιχεία. Κατά τη διάρκεια των πειραμάτων, δεν ήταν λίγες οι φορές που το πραγματικό ποσοστό επιτυχίας έφτασε πολύ κοντά στο 100% με το ιδανικό να είναι 100%, χρησιμοποιώντας τυχαία σύνολα εκπαίδευσης. Αυτά τα αποτελέσματα οδηγούν στην εξής υπόθεση: Καθώς ο αλγόριθμος απλά γενικεύει μία μορφή η οποία του δίνεται ως είσοδος, θα ήταν ίσως δυνατόν, με τη βοήθεια ειδικών, να δοθεί ως είσοδος ένα πολύ μικρό πλήθος πρωτεϊνών, οι οποίες όμως να είναι χαρακτηριστικές για κάθε οικογένεια. Με αυτό τον τρόπο οι επιδόσεις του αλγορίθμου μπορεί να είναι πολύ μεγαλύτερες.

71 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 71 Ένα άλλο σημαντικό πλεονέκτημα αυτής της μεθόδου είναι η συμπίεση των δεδομένων που επιτυγχάνεται. Με τη χρήση μερικών εκατοντάδων κανόνων έγινε δυνατή η πιστή και ακριβής περιγραφή χιλιάδων πρωτεϊνικών αλυσίδων. Ένα τέτοιο αποτέλεσμα είναι ιδιαίτερα επιθυμητό, εάν ληφθεί υπόψιν η πληθώρα δεδομένων που υπάρχει και δημιουργείται καθημερινά, κυρίως σε επιστημονικούς κλάδους όπως ο κλάδος της βιολογίας Μελλοντικές Επεκτάσεις Βελτιώσεις Το σύστημα επιδέχεται επεκτάσεις τόσο από αλγοριθμικής πλευράς, όσο και από πλευράς υλοποίησης. Καταρχήν είναι αναγκαία η εφαρμογή του αλγορίθμου με στόχο την κατασκευή πιο πολύπλοκων κανόνων, με τουλάχιστον 2 οικογένειες στο δεξί μέρος και 5 μοτίβα στο αριστερό. Με αυτό τον τρόπο θα βελτιωθεί σημαντικά η ακρίβεια των κανόνων που θα δημιουργηθούν, καθώς αυτοί θα ανταποκρίνονται σε μια πιο πιστή αναπαράσταση της πραγματικότητας. Από πλευράς υλοποίησης, το σύστημα θα μπορούσε να κατασκευαστεί εξ ολοκλήρου ως εφαρμογή διαδικτύου, με τη χρήση JSP σελίδων, με στόχο την βελτίωση της φιλικότητας προς τον χρήστη. Μία άλλη επέκταση θα μπορούσε να είναι η αυτοματοποιημένη σύνδεση του συστήματος, τόσο με τον Application Server όσο και με τον Database Server, κάτι που αυτή τη στιγμή πρέπει να γίνεται χειροκίνητα. Τέλος, μία σημαντική εξέλιξη του αλγορίθμου θα είναι η εφαρμογή του αλγορίθμου σε Πλέγμα Υπολογιστών. Απαραίτητη προϋπόθεση σε αυτή την περίπτωση είναι αφενός η ανάλυση του αλγορίθμου σε παράλληλες διεργασίες, και αφετέρου η υλοποίησή του με χρήση πρωτοκόλλων Πλέγματος Υπολογιστών. Με αυτόν τον τρόπο θα είναι δυνατή τόσο η πλήρης αυτοματοποίηση όλων των διαδικασιών, όσο και η υποστήριξη εξαιρετικά πολύπλοκων κανόνων.

72 Βιβλιογραφία [ACF + 00] T.K. Attwood, M.D.R. Croning, D.R. Flower, A.P. Lewis, J.E. Mabey, P. Scordis, J. Selley, W. Wright, PRINT-S: the database formerly known as PRINTS, Nucleic Acids Res. 28, pp , [BAI 99] A. Bairoch, Prosite: A dictionary of protein sites and patterns User Manual, Swiss Institute of Bioinformatics, Geneva, [BBD + 00] A. Bateman, E. Birney, R. Durbin, S.R. Eddy, K.L. Howem, E.L.L. Sonnhammer, The Pfam protein families database, Nucleic Acids Res. 28, pp , [BIS 95] C. Bishop, Neural Networks for Pattern Recognition, Oxford University Press, New York, [BO 01] A.D. Baxevanis, B.F.F.Ouellette, Bioinformatics, Wiley Interscience, New York, [CO 94] R.C. Carrasco, J. Oncina, Learning stochastic regular grammar by means of a state merging method, Proc. The Second International Colloquium on Grammatical Inference (ICGI 94), Alicante, Spain, Lecture Notes in Artificial Intelligence LNAI 862, pp , Springer Verlag, [DH 73] R. Duad, P. Hart, Pattern Classification and Scene Analysis, Wiley, New York, [EN 00] R. Elmasri, S.B. Navathe, Fundamentals of Database Systems, Addison Wesley, Massachusetts, [FPB + 02] L. Falquet, M. Pagni, P. Bucher, N. Hulo, C.J. Sigrist, K. Hofmann, A. Bairoch, The PROSITE database, its status in 2002, Nucleic Acids Res. 30, pp , [GJ 01] C. Gibas, P. Jambeck, Developing Bioinformatics Computer Skills, O Reilly, 2001 [HAD + 03] G. Hatzidamianos, S. Diplaris, I. Athanasiadis, P.A. Mitkas, GenMiner: a Data Mining Tool for Protein Analysis, 9 th Panhellenic Conference on Informatics, pp , November 21 23, 2003, Thessaloniki, Greece.

73 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 73 [HIN 01] P. Hingston, Using Finite State Automata for Sequence Mining, Twenty Fifth Australasian Computer Science Conference, Melbourne, Australia, , [LAF 03] R. Lafore, Data Structures and Algorithms in Java, Sams, Indianapolis, [QUI 92] J.R. Quinlan, Programs for Machine Learning, Morgan Kaufmann, San Mateo, CA, [WF 00] I.H. Witten, E. Frank, Data Mining, Morgan Kaufmann, London, [WWH + 01] D. Wang, X. Wang. V. Honavar, D.I. Dobbs, Data Driven Generation of Decision Trees for Motif Based Assignment of Protein Sequences to Functional Families, Iowa State University, Ames, IA, [ΖΖ 02] C. Zhang, S. Zhang, Association Rule Mining, Springer, [ΝΤΕ 01] Α. Ντελόπουλος, Θεωρία Υπολογισμών και Αλγορίθμων, Πανεπιστημιακές Σημειώσεις ΑΠΘ, Θεσσαλονίκη, [URL 1] [URL 2] [URL 3] [URL 4] [URL 5] [URL 6] [URL 7] [URL 8]

74 Παραρτήματα

75 Παράρτημα Α: Οδηγός Χρήσης του Εικόνες Διεπαφών Το πρώτο βήμα πριν τη χρήση του, είναι η εκκίνηση του SQL Server και του JBoss, καθώς και η ανάπτυξη των EJB modules στον JBoss. Έτσι, αρχικά η οθόνη του JBoss πρέπει να έχει την παρακάτω μορφή: Εικόνα Α.1: Οθόνη JBoss πριν την εκτέλεση του

76 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 76 Η πρώτη οθόνη του συστήματος είναι η ακόλουθη: Εικόνα Α.2: Αρχική οθόνη συστήματος Ο χρήστης έχει τρεις επιλογές: η πρώτη είναι να δημιουργήσει τα βασικά αρχεία για τη σωστή λειτουργία του συστήματος, δηλαδή τα αρχεία που περιέχουν το συνολικό PTA, το συνολικό FSA, τις πιθανότητες των οικογενειών και το support όλων των μοτίβων. Η δεύτερη επιλογή είναι και η ουσιαστική λειτουργία του συστήματος. Δίνεται η δυνατότητα στο χρήστη να εξάγει κανόνες με βάση παραμέτρους που αυτός θέτει. Η τρίτη επιλογή είναι ουσιαστικά η χρήση κανόνων που έχουν ήδη εξαχθεί για την κατηγοριοποίηση άγνωστων πρωτεϊνών. Πατώντας το πρώτο πλήκτρο, εμφανίζεται η εξής οθόνη: Εικόνα Α.3: Οθόνη δημιουργίας βασικών αρχείων

77 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 77 Αριστερά βρίσκονται τα βασικά αρχεία που απαιτεί το σύστημα, μαζί με μία ένδειξη για το αν ήδη υπάρχουν ή όχι. Εάν δεν υπάρχουν, ο χρήστης είναι αναγκασμένος να τα δημιουργήσει ακολουθώντας μία προκαθορισμένη σειρά. Εάν υπάρχουν, μπορεί να δημιουργήσει ξανά κάποια από τα αρχεία, βάζοντας νέες παραμέτρους. Πατώντας το πλήκτρο OK, το σύστημα εμφανίζει στο χρήστη τις τιμές των παραμέτρων για επαλήθευση (Εικόνα Α.4), και στη συνέχεια, εάν οι ρυθμίσεις είναι αποδεκτές, το σύστημα δημιουργεί συγκεκριμένα αρχεία (Εικόνα Α.5). Εικόνα Α.4: Οθόνη δημιουργίας βασικών αρχείων Επαλήθευση παραμέτρων

78 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 78 Εικόνα Α.5: Οθόνη δημιουργίας βασικών αρχείων Έξοδος συστήματος Έχοντας δημιουργήσει πλέον τα βασικά αρχεία, το επόμενο βήμα είναι η εξαγωγή κανόνων, πατώντας το δεύτερο πλήκτρο («Create Rules»). Στα αριστερά της οθόνης (Εικόνα Α.6) βρίσκεται μία λίστα με όλες τις οικογένειες πρωτεϊνών που βρίσκονται στη βάση. Ο χρήστης μπορεί να επιλέξει κάποιες ή και όλες τις οικογένειες, και στη συνέχεια να δημιουργήσει κανόνες με βάση τις παραμέτρους που αυτός θέτει στα στοιχεία ελέγχου στα δεξιά της οθόνης. Μετά την επιλογή των παραμέτρων, το σύστημα ζητά από το χρήστη να δώσει κάποιο όνομα στο αρχείο εξόδου που θα προκύψει. Το αρχείο αυτό περιέχει τους κανόνες καθώς και πληροφορίες για τις παραμέτρους που δημιούργησαν τους κανόνες. Μετά την επιλογή κάποιου αρχείου, το σύστημα εμφανίζει για επαλήθευση τις τιμές των παραμέτρων που επιλέχθηκαν (Εικόνα Α.7) και στη συνέχεια αρχίζει η εκπαίδευση του συστήματος.

79 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 79 Εικόνα Α.6: Οθόνη δημιουργίας κανόνων Εικόνα Α.7: Οθόνη δημιουργίας κανόνων Επαλήθευση παραμέτρων

80 Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης 80 Μετά την εκπαίδευση του συστήματος, παρουσιάζονται στο χρήστη οι κανόνες που δημιουργήθηκαν, καθώς και το ποσοστό επιτυχίας που είχαν κατά τη διάρκεια του ελέγχου. Εικόνα Α.8: Οθόνη δημιουργίας κανόνων Ποσοστό επιτυχίας κανόνων Η τελευταία δυνατότητα που παρέχεται στο χρήστη είναι η δυνατότητα να χρησιμοποιήσει απευθείας τους κανόνες που δημιουργήθηκαν, για την κατηγοριοποίηση άγνωστων πρωτεϊνών, με τη βοήθεια του τρίτου πλήκτρου («Use Rules»). Η νέα οθόνη που παρουσιάζεται στον χρήστη είναι η ακόλουθη:

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

Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης και εφαρµογή τους σε ταξινόµηση πρωτεϊνικών δεδοµένων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη FSA για εξαγωγή ισχυρών κανόνων συσχέτισης και εφαρµογή τους σε

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

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

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

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

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

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

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

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

Εξόρυξη Γνώσης από Βιολογικά εδομένα

Εξόρυξη Γνώσης από Βιολογικά εδομένα Παρουσίαση Διπλωματικής Εργασίας Εξόρυξη Γνώσης από Βιολογικά εδομένα Καρυπίδης Γεώργιος (Μ27/03) Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας MIS Πανεπιστήμιο Μακεδονίας Φεβρουάριος 2005 Εξόρυξη Γνώσης από Βιολογικά

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

Τηλεπικοινωνιακά Συστήματα ΙΙ

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 11: Κωδικοποίηση Πηγής Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Αλγόριθμοι κωδικοποίησης πηγής Αλγόριθμος Fano Αλγόριθμος Shannon Αλγόριθμος Huffman

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

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος

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

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας

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

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

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

Δευτεροταγείς βάσεις δεδομένων (Secondary databases)

Δευτεροταγείς βάσεις δεδομένων (Secondary databases) Δευτεροταγείς βάσεις δεδομένων (Secondary databases) Οι δευτεροταγείς (pattern) βάσεις δεδομένων (ΒΔ) περιέχουν τα αποτελέσματα από τις αναλύσεις των αλληλουχιών που βρίσκονται στις πρωτοταγείς πηγές πληροφόρησης.

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

Μάθημα 16 ο ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ

Μάθημα 16 ο ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ Μάθημα 16 ο ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ Περιεχόμενα Παρουσίασης Βιολογικό υπόβαθρο Το κεντρικό αξίωμα Σύνοψη της Βιοπληροφορικής Ερευνητικές περιοχές Πηγές πληροφοριών Τι είναι η Βιοπληροφορική Βιο Πληροφορική μοριακή

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

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

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

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

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 450 ΥΠΟΛΟΓΙΣΤΙΚΗ ΒΙΟΛΟΓΙΑ. Παύλος Αντωνίου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 450 ΥΠΟΛΟΓΙΣΤΙΚΗ ΒΙΟΛΟΓΙΑ. Παύλος Αντωνίου ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 450 ΥΠΟΛΟΓΙΣΤΙΚΗ ΒΙΟΛΟΓΙΑ Παύλος Αντωνίου Με μια ματιά: Εισαγωγή στη Βιολογία Ευθυγράμμιση Ακολουθιών Αναζήτηση ομοίων ακολουθιών από βάσεις δεδομενων Φυλογενετική πρόβλεψη Πρόβλεψη

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

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

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

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6 Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

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

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές

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

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

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

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

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

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

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

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

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

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

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

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

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

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

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

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

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

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

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

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

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

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

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

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

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

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

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

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

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η Δ.Π.Θ. - Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2016-2017 Τομέας Συστημάτων Παραγωγής Εξάμηνο Β Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης ΜΑΘΗΜΑ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί); Μοντελοποίηση του Υπολογισµού Στοιχεία Θεωρίας Υπολογισµού (): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ποιές οι θεµελιώδεις δυνατότητες

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

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

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

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

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

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

Στοχαστικές Στρατηγικές. διαδρομής (1)

Στοχαστικές Στρατηγικές. διαδρομής (1) Στοχαστικές Στρατηγικές η ενότητα: Το γενικό πρόβλημα ελάχιστης διαδρομής () Τμήμα Μαθηματικών, ΑΠΘ Ακαδημαϊκό έτος 08-09 Χειμερινό Εξάμηνο Παπάνα Αγγελική Μεταδιδακτορική ερευνήτρια, ΑΠΘ & Πανεπιστήμιο

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

Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής

Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής Αλγόριθμος (algorithm) λέγεται μία πεπερασμένη διαδικασία καλά ορισμένων βημάτων που ακολουθείται για τη λύση ενός προβλήματος. Το διάγραμμα ροής

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

Η έννοια του συνόλου. Εισαγωγικό κεφάλαιο 27

Η έννοια του συνόλου. Εισαγωγικό κεφάλαιο 27 Εισαγωγικό κεφάλαιο 27 Η έννοια του συνόλου Σύνολο είναι κάθε συλλογή αντικειμένων, που προέρχονται από την εμπειρία μας ή τη διανόησή μας, είναι καλά ορισμένα και διακρίνονται το ένα από το άλλο. Αυτός

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

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

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

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

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

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

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

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών 7. Εισαγωγή (ορισμός προβλήματος, αριθμητική ολοκλήρωση ΣΔΕ, αντικατάσταση ΣΔΕ τάξης n με n εξισώσεις ης τάξης) 7. Μέθοδος Euler 7.3

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

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ. Ερωτήσεις πολλαπλής επιλογής. Συντάκτης: Δημήτριος Κρέτσης

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η Δημοκρίτειο Πανεπιστήμιο Θράκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2015-2016 Τομέας Συστημάτων Παραγωγής Εξάμηνο Β Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης ΜΑΘΗΜΑ :

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

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

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

Βιοπληροφορική και Πολυµέσα. Ειρήνη Αυδίκου Αθήνα

Βιοπληροφορική και Πολυµέσα. Ειρήνη Αυδίκου Αθήνα Βιοπληροφορική και Πολυµέσα Αθήνα 1.2.2009 ΠΕΡΙΕΧΟΜΕΝΑ 1. Πως σχετίζεται µε τα Πολυµέσα 2. Τι είναι η Βιοπληροφορική 3. Χρήσεις 4. Συµπεράσµατα 5. Βιβλιογραφία Βιοπληροφορική και Πολυµέσα 2 1. Τι είναι

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

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Διακριτές Πηγές Πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

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

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή

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

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

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

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

Στατιστική, Άσκηση 2. (Κανονική κατανομή)

Στατιστική, Άσκηση 2. (Κανονική κατανομή) Στατιστική, Άσκηση 2 (Κανονική κατανομή) Στον πίνακα που ακολουθεί δίνονται οι μέσες παροχές όπως προέκυψαν από μετρήσεις πεδίου σε μια διατομή ενός ποταμού. Ζητείται: 1. Να αποδειχθεί ότι το δείγμα προσαρμόζεται

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

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

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

Ε Π Ι Χ Ε Ι Ρ Η Σ Ι Α Κ Η Ε Ρ Ε Υ Ν Α

Ε Π Ι Χ Ε Ι Ρ Η Σ Ι Α Κ Η Ε Ρ Ε Υ Ν Α ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΣΕΠΤΕΜΒΡΙΟΣ 2011 ΤΟΜΕΑΣ ΣΤΑΤΙΣΤΙΚΗΣ, ΠΙΘΑΝΟΤΗΤΩΝ & ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ Ε Π Ι Χ Ε Ι Ρ Η Σ Ι Α Κ Η Ε Ρ Ε Υ Ν Α ΘΕΜΑ 1 ο Σε ένα διαγωνισμό για την κατασκευή μίας καινούργιας γραμμής του

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

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

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

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

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

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

3.1 ΔΕΙΓΜΑΤΙΚΟΙ ΧΩΡΟΙ ΕΝΔΕΧΟΜΕΝΑ

3.1 ΔΕΙΓΜΑΤΙΚΟΙ ΧΩΡΟΙ ΕΝΔΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ : ΠΙΘΑΝΟΤΗΤΕΣ. ΔΕΙΓΜΑΤΙΚΟΙ ΧΩΡΟΙ ΕΝΔΕΧΟΜΕΝΑ Αιτιοκρατικό πείραμα ονομάζουμε κάθε πείραμα για το οποίο, όταν ξέρουμε τις συνθήκες κάτω από τις οποίες πραγματοποιείται, μπορούμε να προβλέψουμε με

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

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα Τεχνητή Νοημοσύνη (Artificial Intelligence) Ανάπτυξη μεθόδων και τεχνολογιών για την επίλυση προβλημάτων στα οποία ο άνθρωπος υπερέχει (?) του υπολογιστή Συλλογισμοί

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

Στοχαστικές Στρατηγικές

Στοχαστικές Στρατηγικές Στοχαστικές Στρατηγικές 3 η ενότητα: Εισαγωγή στα στοχαστικά προβλήματα διαδρομής Τμήμα Μαθηματικών, ΑΠΘ Ακαδημαϊκό έτος 2018-2019 Χειμερινό Εξάμηνο Παπάνα Αγγελική Μεταδιδακτορική ερευνήτρια, ΑΠΘ & Πανεπιστήμιο

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

Ανασκόπηση θεωρίας ελαχίστων τετραγώνων και βέλτιστης εκτίμησης παραμέτρων

Ανασκόπηση θεωρίας ελαχίστων τετραγώνων και βέλτιστης εκτίμησης παραμέτρων Τοπογραφικά Δίκτυα και Υπολογισμοί 5 ο εξάμηνο, Ακαδημαϊκό Έτος 2016-2017 Ανασκόπηση θεωρίας ελαχίστων τετραγώνων και βέλτιστης εκτίμησης παραμέτρων Χριστόφορος Κωτσάκης Τμήμα Αγρονόμων Τοπογράφων Μηχανικών

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 9: Ελαχιστοποίηση και Κωδικοποίηση Καταστάσεων, Σχεδίαση με D flip-flop, Σχεδίαση με JK flip-flop, Σχεδίαση με T flip-flop Δρ. Μηνάς

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

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER 4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER Σκοπός του κεφαλαίου είναι να παρουσιάσει μερικές εφαρμογές του Μετασχηματισμού Fourier (ΜF). Ειδικότερα στο κεφάλαιο αυτό θα περιγραφούν έμμεσοι τρόποι

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

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

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

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

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX ΚΕΦΑΛΑΙΟ 3 ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX 3.1 Εισαγωγή Ο αλγόριθμος Simplex θεωρείται πλέον ως ένας κλασικός αλγόριθμος για την επίλυση γραμμικών προβλημάτων. Η πρακτική αποτελεσματικότητά του έχει

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 8 : Αυτόματα NFA - DFA Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών. Εισαγωγή (ορισμός προβλήματος, αριθμητική ολοκλήρωση ΣΔΕ, αντικατάσταση ΣΔΕ τάξης n με n εξισώσεις ης τάξης). Μέθοδος Euler 3. Μέθοδοι

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

ΗΥ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. Περίληψη Συνεισφοράς

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

HEAD INPUT. q0 q1 CONTROL UNIT

HEAD INPUT. q0 q1 CONTROL UNIT Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

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

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ 2 Ο Εργαστηριακό Μάθημα Λεξική Ανάλυση Σκοπός: Το μάθημα αυτό αναφέρεται: Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση Στη δήλωση ορισμό κανονικών εκφράσεων Θεωρία Πρόλογος

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

καθ. Βασίλης Μάγκλαρης

καθ. Βασίλης Μάγκλαρης ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα 005 - Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Ενισχυτική Μάθηση - Δυναμικός Προγραμματισμός: 1. Markov Decision Processes 2. Bellman s Optimality Criterion 3. Αλγόριθμος

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

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

x 2,, x Ν τον οποίον το αποτέλεσμα επηρεάζεται από

x 2,, x Ν τον οποίον το αποτέλεσμα επηρεάζεται από Στη θεωρία, θεωρία και πείραμα είναι τα ΘΕΩΡΙΑ ΣΦΑΛΜΑΤΩΝ... υπό ισχυρή συμπίεση ίδια αλλά στο πείραμα είναι διαφορετικά, A.Ensten Οι παρακάτω σημειώσεις περιέχουν τα βασικά σημεία που πρέπει να γνωρίζει

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

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

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

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

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 3: Στοχαστικά Συστήματα Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος. Σύνοψη Προηγούµενου Κανονικές Γλώσσες () ιαδικαστικά του Μαθήµατος. Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Εισαγωγή: Υπολογισιµότητα και Πολυπλοκότητα. Βασικές

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

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

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

Μέθοδοι μελέτης εξέλιξης

Μέθοδοι μελέτης εξέλιξης H διερεύνηση της μοριακής βάσης της εξέλιξης βασίζεται σε μεγάλο βαθμό στη διευκρίνιση της διαδικασίας με την οποία μετασχηματίσθηκαν στη διάρκεια της εξέλιξης πρωτεϊνες, άλλα μόρια και βιοχημικές πορείες

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

Κεφάλαιο 2 Α Ν Τ Ι Γ Ρ Α Φ Η

Κεφάλαιο 2 Α Ν Τ Ι Γ Ρ Α Φ Η ΒΙΟΛΟΓΙΑ ΚΑΤΕΥΘΥΝΣΗΣ Κεφάλαιο 2 Μεθοδολογία Ασκήσεων Α Ν Τ Ι Γ Ρ Α Φ Η 1 η Κατηγορία: Ασκήσεις στην Αντιγραφή (υπολογιστικές) Αφού αναφέρουμε τον ημισυντηρητικό τρόπο αντιγραφής φτιάχνουμε ένα απλό σχήμα

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

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

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

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

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

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

Έλεγχος υποθέσεων και διαστήματα εμπιστοσύνης

Έλεγχος υποθέσεων και διαστήματα εμπιστοσύνης 1 Έλεγχος υποθέσεων και διαστήματα εμπιστοσύνης Όπως γνωρίζουμε από προηγούμενα κεφάλαια, στόχος των περισσότερων στατιστικών αναλύσεων, είναι η έγκυρη γενίκευση των συμπερασμάτων, που προέρχονται από

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 4: Εισαγωγή / Σύνολα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

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