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

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

Download "ΣΥΣΤΗΜΑ ΓΝΩΣΗΣ ΓΙΑ ΔΙΑΓΝΩΣΗ ΒΛΑΒΩΝ ΦΥΣΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΜΕ ΧΡΗΣΗ ΤΗΣ ΣΥΛΛΟΓΙΣΤΙΚΗΣ ΜΟΝΤΕΛΩΝ"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΥΣΤΗΜΑ ΓΝΩΣΗΣ ΓΙΑ ΔΙΑΓΝΩΣΗ ΒΛΑΒΩΝ ΦΥΣΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΜΕ ΧΡΗΣΗ ΤΗΣ ΣΥΛΛΟΓΙΣΤΙΚΗΣ ΜΟΝΤΕΛΩΝ Διπλωματική Εργασία του Ιορδάνη E. Δαρόγλου (ΑΕΜ: 889) Επιβλέπων Καθηγητής: Νικόλαος Βασιλειάδης ΘΕΣΣΑΛΟΝΙΚΗ ΟΚΤΩΒΡΙΟΣ i-

2 -ii- Στη γιαγιά μου Τριανταφυλλιά.

3 Πρόλογος Η έννοια της διάγνωσης υποδηλώνει τη διαδικασία που ακολουθείται προκειμένου να εντοπιστούν και να αναλυθούν τα αίτια που προκαλούν μια συνήθως ανεπιθύμητη κατάσταση. Αναλογιζόμενοι την κρισιμότητα των εφαρμογών που υποστηρίζει, μπορούμε με ασφάλεια να καταλάβουμε την πρωταρχική σημασία της διάγνωσης, για την επιβίωση αλλά και την εξέλιξη του ανθρώπινου πολιτισμού. Συνέπεια αυτών, ήταν η δημιουργία πληθώρας πληροφοριακών συστημάτων που υποστηρίζουν διαδικασίες διάγνωσης, με ευρύτατο πεδίο εφαρμογής (από απλά μηχανήματα ως τον ίδιο τον ανθρώπινο οργανισμό). Στην παρούσα εργασία, παρουσιάζεται μια εφαρμογή διάγνωσης για συνδυαστικά κυκλώματα. Αρχικά παρουσιάζονται οι επιστημονικές περιοχές από τις οποίες πηγάζουν οι αρχές που αποτελούν τη βάση του υλοποιηθέντος συστήματος: η Τεχνητή Νοημοσύνη, τα Συστήματα Γνώσης και η Συλλογιστική Μοντέλων. Ακολούθως, περιγράφονται τα εργαλεία που χρησιμοποιήθηκαν για την ανάπτυξη του συστήματος, ζητήματα που αφορούν το σχεδιασμό του και εν συνεχεία, παρουσιάζεται η τελική υλοποίησή του. Η εργασία κλείνει με καταγραφή των συμπερασμάτων που εξήχθησαν από την όλη διαδικασία. Θα ήθελα να εκφράσω τις ευχαριστίες μου στον καθηγητή κ. Νικόλαο Βασιλειάδη, για την εμπιστοσύνη που μου έδειξε αναθέτοντας μου την εργασία, η οποία εκφράστηκε και μέσω του διακριτικού τρόπου επίβλεψης της στη συνέχεια. Ακολούθως, θα ήθελα να ευχαριστήσω θερμά τον κ. Ευστράτιο Κοντόπουλο, υποψήφιο διδάκτορα του τμήματος, για την υποδειγματική και πολύ ευχάριστη συνεργασία, την υπομονετική αντιμετώπιση, τις κρίσιμες συμβουλές που μου παρείχε και τον πολύτιμο χρόνο που έθεσε στη διάθεσή μου. Τέλος, θα ήθελα να ευχαριστήσω τα μέλη του εργαστηρίου «Γλωσσών Προγραμματισμού και Τεχνολογίας Λογισμικού», και ιδιαίτερα τα μέλη της ομάδας «Ευφυών Συστημάτων & Επεξεργασίας της Γνώσης» που στάθηκαν αρωγοί της όλης προσπάθειας. Ιορδάνης Δαρόγλου iii-

4 Περιεχόμενα ΑΦΙΕΡΩΣΗ... II ΠΡΟΛΟΓΟΣ... III ΠΕΡΙΕΧΟΜΕΝΑ...IV 1 ΕΙΣΑΓΩΓΗ ΣΥΣΤΗΜΑΤΑ ΓΝΩΣΗΣ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Οι απαρχές της Τεχνητής Νοημοσύνης Η «φύση» της ΤΝ Η εξέλιξη της ΤΝ στον χρόνο και τα ορόσημά της Το παρόν και το μέλλον της ΤΝ ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΓΝΩΣΗΣ Η «φύση» των Συστημάτων Γνώσης Βασικά στοιχεία ΣΓ Στα ενδότερα των συστατικών ενός ΣΓ ΕΦΑΡΜΟΓΕΣ ΣΥΣΤΗΜΑΤΩΝ ΓΝΩΣΗΣ Κατηγοριοποίηση Διαμόρφωση Διάγνωση και Επιδιόρθωση Βλαβών ΣΥΝΤΟΜΕΣ ΜΕΛΕΤΕΣ ΠΕΡΙΠΤΩΣΕΩΝ ΣΓ DENDRAL (Κατηγοριοποίηση) MYCIN (Διαμόρφωση) DARN (Διάγνωση και Επιδιόρθωση Βλαβών) ΣΥΛΛΟΓΙΣΤΙΚΗ ΜΟΝΤΕΛΩΝ ΕΞΕΛΙΓΜΕΝΕΣ ΣΥΛΛΟΓΙΣΤΙΚΕΣ ΣΓ ΣΥΛΛΟΓΙΣΤΙΚΗ ΒΑΣΙΣΜΕΝΗ ΣΕ ΜΟΝΤΕΛΑ ΔΙΑΓΝΩΣΗ ΒΑΣΙΣΜΕΝΗ ΣΕ ΜΟΝΤΕΛΑ ΣΥΝΤΟΜΗ ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ LIVINGSTONE ΕΡΓΑΛΕΙΑ iv-

5 4.1 JAVA & NETBEANS JAVA Netbeans CLIPS JCLIPS JESS ΣΧΕΔΙΑΣΜΟΣ ΤΟ ΠΡΟΒΛΗΜΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΠΡΟΔΙΑΓΡΑΦΕΣ Γενική Άποψη της Αρχιτεκτονικής του Συστήματος Λειτουργικές Απαιτήσεις Μη Λειτουργικές Απαιτήσεις ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΔΙΕΠΑΦΗΣ ΧΡΗΣΤΗ Απαραίτητα Συστατικά Στοιχεία Στοιχεία Διεπαφής για τη Σύνθεση Μοντέλων ΖΗΤΗΜΑΤΑ ΣΥΣΤΗΜΑΤΟΣ ΓΝΩΣΗΣ ΥΛΟΠΟΙΗΣΗ ΓΕΝΙΚΗ ΕΠΙΣΚΟΠΗΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ Γραφική Διεπαφή Χρήστη Σύστημα Γνώσης Ενδιάμεσες Υπομονάδες ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ Κύρια Περίπτωση Χρήσης Λοιπές Λειτουργίες ΑΞΙΟΣΗΜΕΙΩΤΑ ΑΠΟΣΠΑΣΜΑΤΑ ΚΩΔΙΚΑ Διασύνδεση με JCLIPS Μέθοδος Διασύνδεση με JESS Μέθοδος μετατροπής χρωμάτων σε διαμπερή ΣΥΜΠΕΡΑΣΜΑΤΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΔΥΣΚΟΛΙΕΣ ΠΟΥ ΑΝΤΙΜΕΤΩΠΙΣΤΗΚΑΝ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ v-

6 7.3.1 Αξιολόγηση του Υλοποιηθέντος Συστήματος Βελτιώσεις στη Διεπαφή Χρήστη Σύγκριση Μηχανών Κανόνων για τη JAVA Βελτίωση Δυνατοτήτων Μοντελοποίησης ΒΙΒΛΙΟΓΡΑΦΙΑ ΠΑΡΑΡΤΗΜΑ Α: ΤΟ JCLIPS JAVA API ΠΑΡΑΡΤΗΜΑ Β: ΑΡΧΕΙΟ XML ΑΠΟ ΤΟ ARGUS ΠΑΡΑΡΤΗΜΑ Γ: ΓΡΗΓΟΡΟΣ ΟΔΗΓΟΣ ΑΞΙΟΛΟΓΗΣΗΣ vi-

7 1 Εισαγωγή Στόχος της εργασίας αυτής είναι η υλοποίηση ενός πληροφοριακού συστήματος που θα μπορεί να χρησιμοποιηθεί για τη διάγνωση βλαβών συνδυαστικών κυκλωμάτων, με χρήση της συλλογιστικής μοντέλων. Τα αυτοματοποιημένα πληροφοριακά συστήματα διάγνωσης διαδραματίζουν ήδη πολύ σημαντικό ρόλο σε ένα ευρύ φάσμα ανθρώπινης δραστηριότητας. Το πληροφοριακό σύστημα που αναπτύχθηκε στα πλαίσια της εργασίας αυτής, θα μπορούσε να αποτελέσει τη βάση για τη δημιουργία ενός εργαλείου ανάπτυξης συστημάτων γνώσης για τη διάγνωση πολυπλοκότερων φυσικών συστημάτων. Τα δύο βασικά μέρη που απαρτίζουν το σύστημα είναι η γραφική διεπαφή χρήστη (Graphical User Interface) μέσω της οποίας ο χρήστης θα μπορεί να σχεδιάσει ενα δισδιάστατο αφηρημένο μοντέλο του συνδυαστικού κυκλώματος και το σύστημα γνώσης (knowledge-based system) που θα επιτελεί τη λειτουργία της διάγνωσης. Η γραφική διεπαφή χρήστη, υλοποιήθηκε στη γλώσσα προγραμματισμού JAVA και πέραν της αφηρημένης σχεδίασης του μοντέλου του συστήματος, επιτρέπει στον χρήστη να ορίσει τις πειραματικές τιμές που αφορούν τη διαδικασία της διάγνωσης. Το αφηρημένο μοντέλο συστημάτων που υποστηρίζονται, είναι συνδυαστικά κύκλωμα που αποτελείται από λειτουργικά εξαρτήματα (αθροιστές και πολλαπλασιαστές), αισθητήρες, καθώς και τις απαραίτητες συνδέσεις μεταξύ αυτών. Η σύνθεση του κυκλώματος, μπορεί να γίνει κατά βούληση από το χρήστη, με μόνο περιορισμό τη μεσολάβηση αισθητήρων μεταξύ των εσωτερικών εξαρτημάτων, πράγμα που εξασφαλίζει τη μέγιστη δυνατή διαγνωσιμότητα των κυκλωμάτων που μοντελοποιούνται μέσω του συστήματος. Βασική επιδίωξη κατά τον σχεδιασμό της γραφικής διεπαφής χρήστη, είναι αυτή να καταστεί ελκυστική και κατά τον μεγαλύτερο δυνατό βαθμό εύκολη στη χρήση κι εκμάθηση. Στόχος είναι να ενθαρρύνεται, αντί να αποθαρρύνεται η χρήση του συστήματος, επιτρέποντας ακόμη και σε μη έμπειρους χρήστες Η/Υ, να το χρησιμοποιήσουν. Το σύστημα γνώσης υλοποιήθηκε σε CLIPS (C Language Interpreted Production System), είναι σε θέση να διαγνώσει τυχούσες βλάβες του φυσικού συστήματος, ελέγχοντας τις τιμές των παραμέτρων λειτουργίας του και συγκρίνοντας τες με τις αναμενόμενες από το ορισθέν μοντέλο. Το πληροφοριακό σύστημα CLIPS, παρέχει ένα πλήρες -1-

8 περιβάλλον για την ανάπτυξη συστημάτων γνώσης, μέσω προγραμματισμού με κανόνες, διαδικαστικού κι αντικειμενοστρεφούς προγραμματισμού. Η αντικειμενοστραφής μέθοδος ανάπτυξης, υποστηρίζεται μέσω της ενσωματωμένης αντικειμενοστραφούς γλώσσας COOL (CLIPS Object-Oriented Language), που παρέχει βασικά αντικειμενοστρεφή χαρακτηριστικά όπως η κληρονομικότητα και η αφαίρεση. Η υλοποίηση του συστήματος έγινε με χρήση της συλλογιστικής των μοντέλων (model-based reasoning), μιας εξελιγμένης συλλογιστικής, η οποία χρησιμοποιείται κατ εξοχήν σε εφαρμογές διάγνωσης. Η συλλογιστική μοντέλων έχει τύχει επιτυχούς εφαρμογής σε πολλούς τομείς, με κύριο πεδίο εφαρμογής εκείνο των διαγνωστικών συστημάτων. Τα δύο προαναφερθέντα μέρη του συστήματος θα επικοινωνούν μεταξύ τους μέσω του JCLIPS και του JESS. Το JCLIPS παρέχει τη δυνατότητα ελέγχου της μηχανής εξαγωγής συμπερασμάτων του CLIPS, μέσω εφαρμογών υλοποιημένων σε JAVA, καθώς κι επιστροφής αποτελεσμάτων προς αυτές, με τη μορφή συμβολοσειρών. Το JESS είναι μια μηχανή κανόνων, εξ ολοκλήρου γραμμένη σε JAVA κι όπως είναι φυσικό, μπορεί πολύ εύκολα να ενσωματωθεί σε εφαρμογές της γλώσσας. Κύριος σκοπός της εργασίας αυτής, είναι να γίνει μια προσπάθεια διερεύνησης του τρόπου διασύνδεσης του JCLIPS (κυρίως) και του JESS (σε πολύ βασικό επίπεδο). Στα επί μέρους κεφάλαια που αποτελούν την εργασία και συγκεκριμένα στο δεύτερο, ο αναγνώστης εισάγεται στο γνωστικό πεδίο της τεχνητής νοημοσύνης (της ευρύτερης επιστημονικής περιοχής στην οποία εμπίπτει η εργασία αυτή) καθώς και στα συστήματα γνώσης (το πιο συγκεκριμένο επιστημονικό πεδίο το οποίο πραγματεύεται). Στο τρίτο κεφάλαιο επιχειρείται μια εισαγωγή στις εξελιγμένες συλλογιστικές που χρησιμοποιούν τα συστήματα γνώσης και τους λόγους που οδήγησαν στην πρόταση τους, ως προοίμιο για την εκτενή μελέτη της συλλογιστικής μοντέλων. Η συλλογιστική μοντέλων υιοθετείται από το σύστημα της εργασίας, ως το πλαίσιο πάνω στο οποίο θα λαμβάνει χώρα η διαδικασία της διάγνωσης. Ακολούθως, στο τέταρτο κεφάλαιο, παρουσιάζονται τα εργαλεία που χρησιμοποιήθηκαν για την ανάπτυξη της εφαρμογής. Συγκεκριμένα γίνεται μια πολύ συνοπτική αναφορά στη γλώσσα προγραμματισμού (JAVA) καθώς και μια περιγραφή του εργαλείου υποστήριξης ανάπτυξης λογισμικού που χρησιμοποιήθηκε (Netbeans). Τέλος παρουσιάζεται συνοπτικά το σύστημα CLIPS, το JCLIPS και το JESS που αφορούν το υποσύστημα συλλογιστικής του συστήματος. -2-

9 Εν συνεχεία, στο πέμπτο κεφάλαιο παρουσιάζεται η αρχιτεκτονική του συστήματος καθώς και οι (μη)λειτουργικές απαιτήσεις του. Επίσης, παρουσιάζονται ζητήματα που α- φορούν το σχεδιασμό της διεπαφής χρήστη και ζητήματα που αφορούν το υποσύστημα συλλογιστικής. Στο έκτο κεφάλαιο, δίνεται μια γενική επισκόπηση της εφαρμογής που υλοποιήθηκε. Ακολούθως δίνεται ένας συνοπτικός οδηγός χρήσης του συστήματος, όπου περιγράφεται αναλυτικά η βασική περίπτωση χρήσης του συστήματος και καταγράφονται οι επιπλέον λειτουργίες που μπορούν να την υποστηρίξουν. Η εργασία κλείνει με μια αναφορά στα συμπεράσματα που εξήχθησαν από την εκπόνηση της εργασίας, η οποία περιλαμβάνει τα αποτελέσματα (πεπραχθέντα), αναφορά κάποιων σημείων καμπής και ο τρόπος υπέρβασής τους, καθώς και κάποιες ιδέες για κατευθύνσεις προς τις οποίες θα μπορούσε να επεκταθεί η εργασία αυτή μελλοντικά. -3-

10

11 2 Συστήματα Γνώσης Το παρόν κεφάλαιο αποτελεί μια εισαγωγή στη γενικότερη γνωστική περιοχή στην ο- ποία εμπίπτει η εργασία αυτή, την Τεχνητή Νοημοσύνη (στο εξής ΤΝ) αλλά κυρίως στο ειδικότερο θέμα το οποίο πραγματεύεται, τα Συστήματα Γνώσης (στο εξής ΣΓ). Τα ΣΓ είναι πληροφοριακά συστήματα, τα οποία κωδικοποιούν και χειρίζονται τη γνώση και την συλλογιστική ενός ανθρώπου σε έναν εξειδικευμένο τομέα, με σκοπό την επίλυση προβλημάτων ή/και την παροχή σχετικών συμβουλών. Αρχικά, δίνεται μια συνοπτική περιγραφή της πορείας της ΤΝ στο χρόνο και γίνεται μια αναφορά στα σημαντικότερα επιτεύγματα του κλάδου. Εν συνεχεία, περιγράφονται τα χαρακτηριστικά, η δομή και οι βασικές αρχές που διέπουν τη λειτουργία των ΣΓ. Επίσης, επιχειρείται μια σύντομη παρουσίαση των κυριότερων εφαρμογών όπου πραγματοποιείται ευρεία χρήση ΣΓ. Τέλος, παρουσιάζονται σύντομες μελέτες περιπτώσεων ΣΓ που έχουν αναπτυχθεί για κάθε πεδίο εφαρμογής που αναφέρθηκε. 2.1 Εισαγωγή στην Τεχνητή Νοημοσύνη Οι απαρχές της Τεχνητής Νοημοσύνης Η μελέτη της νοημοσύνης είναι ένα από τα ζητήματα που απασχόλησαν από πολύ νωρίς την ακόρεστη ανάγκη του ανθρώπου για την κατανόηση της ίδιας του της φύσης, αλλά και του κόσμου που τον περιβάλλει. Μέχρι μισό αιώνα πριν, αυτή η προσπάθεια επικεντρώθηκε κατά κύριο λόγο στον άνθρωπο και στους μηχανισμούς με τους οποίους αυτός μαθαίνει, συλλογίζεται και αντιλαμβάνεται το περιβάλλον του. Ωστόσο, καθώς η επιστήμη των υπολογιστών πλησίαζε την επίτευξη ενός ικανοποιητικού βαθμού ωριμότητας κατά την δεκαετία του 1940, δόθηκε η δυνατότητα για μια νέα προσέγγιση στην μελέτη της νοημοσύνης μέσω των πρωτοπόρων για την εποχή επιτευγμάτων της. Έ- τσι, το 1956, κι αφού είχαν ήδη δημοσιευθεί οι πρώτες εργασίες που θεωρητικά ανήκουν στο επιστημονικό πεδίο της ΤΝ, πραγματοποιήθηκε μια συνάντηση εργασίας στην οποία συμμετείχαν εξέχοντες επιστήμονες της εποχής, όπως ο John McCarthy, o Marvin Minsky, o Claude Shannon και o Nathaniel Rochester και είχε ως κυριότερο αποτέλεσμα είχε την αποδοχή της εισήγησης του McCarthy για τον ορισμό μιας νέας -5-

12 ερευνητικής περιοχής, της ΤΝ. Παρά τον μισό αιώνα ζωής της, ακόμη και σήμερα εξακολουθεί να αποτελεί μια από τις πιο δραστήριες ερευνητικές περιοχές, έχοντας ακόμη πολλά να υποσχεθεί στο μέλλον Η «φύση» της ΤΝ Ένας από τους κλασικότερους ορισμούς για την ΤΝ είναι ο ακόλουθος (Barr & Feigenbaum): «ΤΝ είναι ο τομέας της επιστήμης των υπολογιστών, που ασχολείται με την σχεδίαση ευφυών (νοημόνων) υπολογιστικών συστημάτων, δηλαδή συστημάτων που επιδεικνύουν χαρακτηριστικά που σχετίζονται με τη νοημοσύνη στην ανθρώπινη συμπεριφορά». Κατά καιρούς έχουν δοθεί πολλοί και διάφοροι άλλοι ορισμοί για την ΤΝ, που είχαν ως πυρήνα των αναμεταξύ τους διαφορών, τη σκοπιά από την οποία προσέγγισης της. Ένας ορισμός που αποπειράται να συνδυάσει στοιχεία από διάφορες προσεγγίσεις, είναι ο εξής: «ΤΝ είναι ο τομέας της επιστήμης των υπολογιστών που ασχολείται με την σχεδίαση και υλοποίηση προγραμμάτων τα οποία είναι ικανά να μιμηθούν τις ανθρώπινες γνωστικές ικανότητες, εμφανίζοντας έτσι χαρακτηριστικά που αποδίδουμε συνήθως σε ανθρώπινη συμπεριφορά, όπως για παράδειγμα η επίλυση προβλημάτων, η αντίληψη μέσω της όρασης, η μάθηση, η εξαγωγή συμπερασμάτων, η κατανόηση φυσικής γλώσσας, κτλ.» [1]. Η ΤΝ είναι ένας από τους πιο εξελισσόμενους τομείς της επιστήμης των υπολογιστών και προσπαθεί να κάνει πράξη ό,τι η τελευταία δεν έχει καταφέρει μέχρι στιγμής, μέσω της προσπάθειας για προσέγγιση των προβλημάτων, με τον αποδεδειγμένα επιτυχημένο τρόπο που αυτά προσεγγίζονται από τον ανθρώπινο νου. Η κυριότερη προσέγγιση της ΤΝ, η κλασική ή συμβολική ΤΝ βασίζεται στην κατανόηση των νοητικών διεργασιών και ασχολείται με την προσομοίωση της ανθρώπινης νοημοσύνης, προσεγγίζοντάς τη με αλγόριθμους και συστήματα που βασίζονται στη γνώση και χρησιμοποιούν ως δομικές μονάδες τα σύμβολα (π.χ. συστήματα γνώσης, επεξεργασία φυσικής γλώσσας, κτλ.). Ωστόσο, ο πραγματικός τρόπος με τον οποίο λειτουργεί ο ανθρώπινος εγκέφαλος ακολουθεί μια διαφορετική πιο κατανεμημένη λογική, απουσία κάποιου γενικού μηχανισμού ελέγχου. Έτσι, μπορεί να διακριθεί μια δέυτερη προσέγγιση, που προσπαθεί να μιμηθεί βιολογικές διεργασίες, όπως η διαδικασία λειτουργίας του εγκεφάλου και ονομάζεται υπολογιστική νοημοσύνη ή συνδετική ή μη συμβολική τεχνητή νοημοσύνη (π.χ. γενετικοί αλγόριθμοι, νευρωνικά δίκτυα, κτλ.). Η ΤΝ περικλείει μια πλειάδα ερευνητικών πεδίων, από γενικού σκοπού όπως η αντίληψη και η συλλογιστική, έως ειδικότερου, όπως τα παίγνια ικανοτήτων, η απόδειξη θεω- -6-

13 ρημάτων, η διάγνωση κτλ. Συχνά, ερευνητές άλλων επιστημονικών πεδίων καταφεύγουν στην ΤΝ, για να βρουν εργαλεία που θα τους βοηθήσουν να αυτοματοποιήσουν τις διάφορες διαδικασίες που απαιτούνται για τη διεκπεραίωση των εργασιών τους. Ομοίως, οι ερευνητές της ΤΝ, εφαρμόζουν τις μεθόδους τους σε διάφορους τομείς της ανθρώπινης δραστηριότητας, όπου απαιτείται ανθρώπινη ευφυής προσπάθεια. Από τα παραπάνω, συνάγουμε πως η ερευνητική περιοχή της ΤΝ αποτελεί τομέα με ιδιαίτερα μεγάλο διεπιστημονικό ενδιαφέρον. Το γεγονός αυτό, επηρέασε τον τρόπο με τον οποίο έγινε η διαδοχή των διάφορων φάσεων εξέλιξης της, ανάλογα με τα θέματα που απασχολούσαν κατά καιρούς τη διεθνή επιστημονική κοινότητα Η εξέλιξη της ΤΝ στον χρόνο και τα ορόσημά της Το πρώτο βήμα προς την ΤΝ, έγινε γύρω στα 2500 χρόνια πριν από τον Σταγειρίτη φιλόσοφο Αριστοτέλη, έναν από τους πρωτοπόρους στην προσπάθεια να κωδικοποίησης της ορθής σκέψης. Επόμενο σημαντικό ορόσημο για την ΤΝ, θεωρείται η θέσπιση των βάσεων της προτασιακής λογικής από τον George Boole το Το 1879 τέθηκαν οι βάσεις του κατηγορηματικού λογισμού που αποτελεί αναπόσπαστο κομμάτι της συμβολικής ΤΝ, από τον Gottlieb Frege. Αρκετές δεκαετίες αργότερα, συγκεκριμένα το 1943, δημοσιεύτηκε η πρώτη εργασία που θεωρείται ότι ανήκει στο πεδίο της ΤΝ, από τους W.McCullogh και W.Pitss, η οποία πρότεινε ένα μοντέλο τεχνητών νευρώνων με ικανότητα μάθησης και υπολογισμού μαθηματικών συναρτήσεων. Ακολούθησε, το 1950, η πρόταση από τον Alan Turing μιας δοκιμασίας για τον χαρακτηρισμό μηχανών ως ευφυών, η οποία και ονομάστηκε προς τιμήν του δημιουργού της, δοκιμασία Turing. Η δοκιμασία Turing θεωρείται μέχρι σήμερα ένα καλό μέτρο σύγκρισης μεταξύ φυσικής και τεχνητής νοημοσύνης, ενώ ο ίδιος θεωρείται ο πατέρας της TN. To 1951, οι M.Minsky και D.Edmonts υλοποίησαν το πρώτο νευρωνικό δίκτυο, το SNARC. Το 1956 πραγματοποιήθηκε στο Dartmouth της Μασαχουσέτης, η συνάντηση εργασίας που αποτέλεσε στην ουσία την τυπική αναγνώριση του νέου ερευνητικού πεδίου, υπό τον όρο ΤΝ και σηματοδότησε τις περαιτέρω εξελίξεις στον κλάδο. Επόμενος σημαντικός σταθμός στην εξέλιξη της ΤΝ, είναι η δημιουργία του γενικού επιλυτή προβλημάτων (General Problem Solver GPS) από τους Newell και Simon, o οποίος είχε την δυνατότητα επίλυσης περιορισμένου αριθμού προβλημάτων, κυρίως puzzles. To 1958, ο McCarthy όρισε την συναρτησιακή γλώσσα LISP, κυρίαρχη γλώσσσα προγραμματισμού της ΤΝ για αρκετά χρόνια. Επίσης, δημοσίευσε την εργασία «Programs with Common Sense», όπου περιέγραφε τον ADVICE TAKER, ίσως το πρώ- -7-

14 το ολοκληρωμένο σύστημα ΤΝ. Τον ίδιο χρόνο, προτάθηκε από τον Friedberg η τεχνική της μηχανικής εξέλιξης ή των γενετικών αλγορίθμων, όπως έχει επικρατήσει να ονομάζεται σήμερα. Το 1962 σημειώθηκε σημαντική πρόοδος στην περιοχή των νευρωνικών δικτύων, καθώς προτάθηκαν από τους Hebb και Rosenblatt βελτιώσεις στη μέθοδο μάθησης, με τα perceptrons. Το 1963, ο ΜcCarthy χρησιμοποίησε τη λογική και συγκεκριμένα την αρχή της ανάλυσης, προκειμένου να υλοποιήσει τον ADVICE TAKER, στο εργαστήριο ΤΝ του πανεπιστημίου του Stanford, που ο ίδιος είχε πρόσφατα ιδρύσει. Τρία χρόνια αργότερα (το 1966) και πάλι στο Stanford (συγκεκριμένα στο ινστιτούτο έρευνας - Stanford Research Institute), δημιουργήθηκε το SHAKEY, το πρώτο ρομπότ και ουσιαστικά η πρώτη «ενσάρκωση» συμπερασματικής λογικής και φυσικής δραστηριότητας σε μία τεχνητή οντότητα. Κλείνοντας με την δεκαετία του 1960 (γνωστή ως κλασική εποχή της ΤΝ), το 1968, προτάθηκε από τον Tom Evans το ANALOGY, το οποίο έλυνε προβλήματα γεωμετρικής αναλογίας. Τον ενθουσιασμό της τυπικά πρώτης δεκαετίας ζωής της ΤΝ, διαδέχθηκε η εποχή της κριτικής, με κυριότερη αιχμή, τον ισχυρισμό ότι τα συστήματα ΤΝ ήταν κατάλληλα μόνο για απλά προβλήματα (toy problems). Παρ όλ αυτά, το έργο που παρήχθη την δεκαετία αυτή (1970) δεν ήταν καθόλου αμελητέο. Στις αρχές της δεκαετίας, προτάθηκε η γλώσσα PROLOG που βασίζεται στη λογική. Επίσης, δημιουργήθηκαν τα πρώτα συστήματα που περιείχαν την απαιτούμενη γνώση, ώστε να συμπεριφέρονται όπως άνθρωποι ειδικοί σε θέματα όπως η διάγνωση, η σχεδίαση, η διαμόρφωση, η ανάλυση, κτλ. Τα συστήματα αυτά, ονομάστηκαν έμπειρα συστήματα ή συστήματα γνώσης και θα αναλυθούν ενδελεχώς στην συνέχεια, καθώς αποτελούν το κύριο θέμα της εργασίας αυτής. Το 1973, δημιουργήθηκε από τον W.Woods το LUNAR, το οποίο ήταν το πρώτο σύστημα γνώσης που επέτρεπε στους χρήστες του, να του θέτουν ερωτήσεις σε φυσική γλώσσα (συγκεκριμένα στα Αγγλικά). Στα μέσα της δεκαετίας (1975), προτάθηκαν από τον Minsky τα πλαίσια (frames) που έδιναν την δυνατότητα για ιεραρχημένη αναπαράσταση της γνώσης. Η δεκαετία του 1980, που ακολούθησε, έδωσε το έναυσμα για την έναρξη πολλών φιλόδοξων προγραμμάτων στον χώρο της ΤΝ. Χαρακτηριστικό παράδειγμα ήταν το δεκαετές πρόγραμμα 5 ης γενιάς των Ιαπώνων, για την κατασκευή υπολογιστών που θα είχαν σαν γλώσσα μηχανής την PROLOG και θα μπορούσαν να εκτελούν εκατομμύρια λογικών συμπερασμάτων το δευτερόλεπτο, με απώτερο στόχο την πλήρη επικοινωνία -8-

15 με τον άνθρωπο σε φυσική γλώσσα. Επίσης, έχουμε την επανεμφάνιση των νευρωνικών δικτύων στο επίκεντρο του ενδιαφέροντος Το παρόν και το μέλλον της ΤΝ Σήμερα (δεκαετία 90 κι έκτοτε) διανύουμε τη μεταμοντέρνα εποχή της ΤΝ, κατά την οποία αυτή καλείται να διαδραματίσει ένα σημαντικό ρόλο στο τρέχον πληροφοριακό περιβάλλον, όπως αυτό διαμορφώνεται με την ραγδαία εξάπλωση του διαδικτύου, αλλά και τη διείσδυση των υπολογιστικών συστημάτων σε κάθε είδους συσκευές καθημερινής χρήσης. Αυτήν τη στιγμή υπάρχουν ήδη ευφυή συστήματα τα οποία διαδραματίζουν κάποιο ρόλο στην καθημερινότητα μας. Υπάρχουν συστήματα που βοηθούν τον χρήστη στις καθημερινές του ασχολίες, όπως το σύστημα PEGASUS 1, που βασίζεται σε τεχνολογίες αναγνώρισης φωνής και μπορεί να προβεί σε κρατήσεις για αεροπορικές θέσεις, προτείνοντας μάλιστα τις πιο συμφέρουσες επιλογές. Επίσης, υπάρχουν συστήματα που επιτελούν κρίσιμες λειτουργίες, όπως το MARVEL 2, ένα έμπειρο σύστημα πραγματικού χρόνου το οποίο επεξεργάζεται δεδομένα από διαστημόπλοια και ενεργοποιεί τον συναγερμό σε κρίσιμες καταστάσεις. Ακόμη, η παρουσία της ΤΝ γίνεται αισθητή και στον τομέα της ψυχαγωγίας, όπως με το σκυλάκι ρομπότ AIBO 3 της SONY, το οποίο έχει δυνατότητες αναγνώρισης ομιλίας, έκφρασης συναισθημάτων με κινήσεις και ήχους και ικανότητα μετακίνησης σε διάφορες επιφάνειες. Πλέον, η έμφαση τοποθετείται στην ανάπτυξη προγραμμάτων και τεχνικών που διευκολύνουν τη χρήση του διαδικτύου και των διάφορων εφαρμογών του [1], με τις σχετικές ερευνητικές περιοχές (όπως το σημασιολογικό διαδίκτυο) να επιδεικνύουν μεγάλη κινητικότητα. Μεγάλης σημασίας είναι επίσης η έρευνα που σχετίζεται με τη διευκόλυνση της χρήσης συσκευών υψηλής τεχνολογίας όπως οι έξυπνες κάρτες, αλλά και με εφαρμογές που αναμένεται να κάνουν την εμφάνιση τους στο κοντινό μέλλον, όπως έξυπνα σπίτια, αυτοκίνητα κτλ. Η έρευνα σε αυτούς του τομείς εστιάζεται στην ανάπτυξη έξυπνων και προσαρμοστικών διεπαφών των συσκευών αυτών, την ευφυή ανά Η παραγωγή του AIBO σταμάτησε το Μάιο του 2006 από τη SONY. Περισσότερες πληροφορίες για το AIBO: -9-

16 λυση δεδομένων για τη βελτίωση της λειτουργίας τους και την προσπάθεια για την επίτευξη του μεγαλύτερου δυνατού βαθμού διαλειτουργικότητας και αυτονομίας. Στην προσπάθεια αυτή, η ΤΝ θέτει υψηλότερους στόχους, προσπαθώντας να δημιουργήσει συστήματα, τα οποία βασίζονται λιγότερο στην ευφυΐα του προγραμματιστή, αλλά πολύ περισσότερο στη δυνατότητα τους να μαθαίνουν να διαμορφώνουν την συμπεριφορά τους, βάσει των αλληλεπιδράσεών τους με το περιβάλλον λειτουργίας τους. 2.2 Εισαγωγή στα Συστήματα Γνώσης Η «φύση» των Συστημάτων Γνώσης Με τον όρο σύστημα γνώσης, δηλώνεται ένα σύστημα λογισμικού που επιδεικνύει ευφυή συμπεριφορά όσον αφορά μια συγκεκριμένη λειτουργία ή πρόβλημα, βασιζόμενο στη χρήση γνώσης που έχει αναπαρασταθεί με τυπικό τρόπο. Η αναπαράσταση της γνώσης στον υπολογιστή γίνεται με χρήση τυπικών μεθόδων αναπαράστασης και συλλογιστικής. Ιστορικά, τα πρώτα προγράμματα ΤΝ που έκαναν εκτεταμένη χρήση γνώσης προκειμένου να επιδείξουν νοήμονα συμπεριφορά, ήταν τα έμπειρα συστήματα (expert systems), τα οποία ονομάστηκαν έτσι, καθώς η γνώση που περιείχαν προερχόταν κυρίως από την εμπειρία ενός ανθρώπου-ειδικού του τομέα εφαρμογής του συστήματος. Οι μέθοδοι συλλογιστικής που χρησιμοποιούσαν τα εν λόγω συστήματα, προκειμένου να εξάγουν συμπεράσματα, ήταν ως επί το πλείστον κλασικές, όπως η συνεπαγωγική και η απαγωγική. Ωστόσο, υπήρξαν προβλήματα, τα οποία οφειλόταν κυρίως στην υποκειμενικότητα που διέπει τη διαδικασία εξαγωγής της γνώσης από τους ανθρώπους-ειδικούς. Γι αυτόν ακριβώς το λόγο, προτάθηκαν εξελιγμένες μέθοδοι συλλογιστικής, οι οποίες βασίζονται σε γνώση που δεν προέρχεται από ανθρώπους-ειδικούς, αλλά αποτελεί επιστημονική-τεχνολογική γνώση ή γνώση καταγεγραμμένη σε βάσεις δεδομένων, τεχνικές αναφορές κτλ. Η συγκεκριμένη εξέλιξη, οδήγησε στην υιοθέτηση του γενικότερου όρου σύστημα γνώσης, που μπορούσε να λειτουργεί και ως υπερσύνολο του όρου έμπειρο σύστημα που προϋπήρχε και χρησιμοποιείται πλέον μόνο εφόσον το επιβάλλουν ιστορικοί λόγοι [1] Βασικά στοιχεία ΣΓ Η αρχιτεκτονική ενός ΣΓ, εξαρτάται από την πολυπλοκότητα του προβλήματος που αυτό επιλύει. Στα απλούστερα προβλήματα, όπου η βάση γνώσης δεν είναι δυνατόν να διασπαστεί σε μεγάλα ανεξάρτητα τμήματα, η δομή και κατά συνέπεια η λειτουργία του -10-

17 ΣΓ, είναι απλή. Ωστόσο, σε πολυπλοκότερα προβλήματα, τα οποία μπορούν να υποδιαιρεθούν σε μικρότερα υποπροβλήματα, υπάρχει διαφοροποίηση της βάσης γνώσης, ανάλογα με το τμήμα του προβλήματος που αντιμετωπίζεται. Έτσι, είναι δυνατή η διάσπαση του συστήματος σε ημιανεξάρτητα συστήματα γνώσης, τα οποία συνεργάζονται για να επιλύσουν το γενικότερο πρόβλημα. Ένα σύστημα γνώσης αποτελείται συνήθως από μια ομάδα προγραμμάτων, τα οποία μπορούμε να κατατάξουμε σε δύο κατηγορίες: τον πυρήνα του συστήματος κι ένα σύνολο βοηθητικών προγραμμάτων. Η επικοινωνία του χρήστη γίνεται μέσω της διεπαφής χρήστη (διασύνδεση) που αλληλεπιδρά, τόσο με τον πυρήνα, όσο και με τα βοηθητικά προγράμματα. Εικόνα 2.1 Αρχιτεκτονική Συστημάτων Γνώσης [1] Ο πυρήνας του συστήματος, αποτελείται από δύο μέρη: τη βάση γνώσης και το μηχανισμό εξαγωγής συμπερασμάτων. Αυτό σημαίνει ότι γίνεται πλήρης διαχωρισμός της γνώσης του συστήματος, από το μηχανισμό χειρισμού της. Το γεγονός αυτό, συμβάλλει ώστε να υπάρχει διαφάνεια στον προγραμματισμό του συστήματος καθώς κι ευελιξία κατά την προσθήκη, αφαίρεση και τροποποίηση της γνώσης που αυτό εμπεριέχει. Μάλιστα, υπάρχει η δυνατότητα, με κατάλληλη τροποποίηση της γνώσης και παράλληλη διατήρηση όλων των υπολοίπων συνιστωσών, αυτό να εκτελεί μια εντελώς διαφορετική λειτουργία. Συνήθως, ο πυρήνας αναπτύσσεται σε κάποιο προγραμματιστικό περιβάλλον ανάπτυξης υψηλού επιπέδου, το οποίο μπορεί να είναι μια γλώσσα προγραμματισμού ή κάποιο εξειδικευμένο εργαλείο ανάπτυξης ΣΓ. -11-

18 Τα βοηθητικά προγράμματα που περιλαμβάνει το σύστημα γνώσης, χρησιμοποιούνται κυρίως για τη διασύνδεση κι επικοινωνία του ΣΓ με τον χρήστη, το χειρισμό εξωτερικών βάσεων δεδομένων, τη συνεργασία με περιφερειακά μηχανήματα κτλ. Ο συνδυασμός αυτών των προγραμμάτων με το μηχανισμό εξαγωγής συμπερασμάτων συχνά α- ναφέρεται ως κέλυφος γιατί προέρχεται από την αφαίρεση της βάσης γνώσης από το ΣΓ. Η όλη περιγραφή που προηγήθηκε, απεικονίζεται σχηματικά στην Εικόνα Στα ενδότερα των συστατικών ενός ΣΓ Η Βάση Γνώσης Η βάση γνώσης περιέχει όλη τη γνώση του συστήματος, όπως την κατέγραψε ο μηχανικός γνώσης σε συνεργασία με τον άνθρωπο-ειδικό κατά τη διαδικασία της ανάπτυξης του ΣΓ. Ο τρόπος αναπαράστασης της γνώσης ποικίλλει, ωστόσο, η συνηθέστερη μορφή αναπαράστασης είναι οι κανόνες (rules), με τους οποίους συνυπάρχει και συνεργάζεται κάποια δομημένη μορφή αναπαράστασης, όπως τα πλαίσια (frames). Η βάση γνώσης αποτελείται από δύο μέρη: τη στατική βάση γνώσης και τη δυναμική βάση γνώσης. Η στατική βάση γνώσης περιέχει τις διαδικασίες, τους κανόνες και τα πλαίσια α- ναπαράστασης της γνώσης που περιγράφουν το πρόβλημα, καθώς και τις γνωσιολογικές διαδικασίες επίλυσης τους. Με τη χρήση του όρου στατική, υποδηλώνεται οτι αυτό το τμήμα της βάσης γνώσης δε μεταβάλλεται κατά τη διάρκεια εκτέλεσης του προγράμματος. Η δυναμική βάση γνώσης, περιέχει τα δεδομένα καθώς και μερικά στιγμιότυπα πλαισίων που περιγράφουν τη λύση του προβλήματος, δηλαδή μερικά συμπεράσματα τα οποία δημιουργούνται κατά την εκτέλεση του προγράμματος, καθώς και την τελική λύση του προβλήματος. Το τμήμα αυτό της βάσης γνώσης, ονομάζεται και χώρος εργασίας (workspace), διότι όπως προαναφέραμε σε αυτό ακριβώς το τμήμα α- ποθηκεύονται τα προσωρινά δεδομένα που δημιουργούνται, καθώς το σύστημα γνώσης εργάζεται για να επιλύσει το πρόβλημα που του τέθηκε. Ο Μηχανισμός Εξαγωγής Συμπερασμάτων Ο μηχανισμός εξαγωγής συμπερασμάτων είναι το υπεύθυνο τμήμα του πυρήνα για το χειρισμό της βάσης γνώσης και την εξαγωγή συμπερασμάτων από αυτήν. Η δομή του, εξαρτάται από την οργάνωση και τον τρόπο αναπαράστασης της γνώσης. Αποτελείται από δυο μέρη, το διερμηνέα και το χρονοπρογραμματιστή. Ο διερμηνέας ασχολείται με το χειρισμό της υπάρχουσας γνώσης, αλλά και την παραγωγή νέας. Η εξαγωγή των συμπερασμάτων μπορεί να βασίζεται σε διάφορες συλλογιστικές καθώς και τεχνικές χειρισμού ασάφειας ή αβεβαιότητας. Ο διερμηνέας συνήθως αποτελείται από αλγορίθμους -12-

19 που υλοποιούν τη συλλογιστική διαδικασία. Ο χρονοπρογραμματιστής ορίζει τη σειρά με την οποία θα χρησιμοποιηθούν τα διάφορα στοιχεία της βάσης γνώσης, επιλύοντας το πρόβλημα πιθανής σύγκρουσης μεταξύ των κανόνων. Αυτό συμβαίνει, όταν ικανοποιούνται ταυτόχρονα οι συνθήκες δύο ή περισσότερων κανόνων. Στην περίπτωση αυτή, πρέπει να επιλεχθεί κάποιος από τους πυροδοτηθέντες κανόνες, με βάση κάποια στρατηγική επίλυσης συγκρούσεων και να εκτελεσθεί. Εκτός των συνηθισμένων στρατηγικών επίλυσης συγκρούσεων, μπορούν να χρησιμοποιηθούν και οι λεγόμενοι μετακανόνες, δηλαδή κανόνες που αποφασίζουν ποιος κανόνας θα επιλεχθεί, βάσει της τρέχουσας κατάστασης της μνήμης εργασίας. Η διασύνδεση Το τμήμα της διασύνδεσης είναι υπεύθυνο για τη δημιουργία ενός φιλικού περιβάλλοντος διασύνδεσης του ΣΓ με το χρήστη. Πολλές φορές το ΣΓ πρέπει να αντλήσει κάποια δεδομένα από τον χρήστη, που είναι απαραίτητα για την εξαγωγή των συμπερασμάτων. Ο χρήστης με τη σειρά του μπορεί να ενημερωθεί για τη σκοπιμότητα της ά- ντλησης των ζητούμενων δεδομένων από το σύστημα, καθώς και την πορεία συλλογισμού του ΣΓ. Το τμήμα διασύνδεσης, μπορεί να απευθύνεται και στον ειδικό που παρείχε τη γνώση για την υλοποίηση της βάσης γνώσης του ΣΓ ή στο μηχανικό γνώσης. Με χρήση εξειδικευμένων εργαλείων αναπαράστασης γνώσης, μπορεί να γίνει διαχείριση της βάσης γνώσης του συστήματος (εισαγωγή νέας, τροποποίηση και διαγραφή υπάρχουσας γνώσης). Ωστόσο, οποιαδήποτε τροποποίηση γίνεται στη βάση γνώσης του συστήματος, θα πρέπει να ελέγχεται ως προς την συμβατότητά της με την τρέχουσα γνώση. Τη συγκεκριμένη διαδικασία, θα πρέπει να την επιτελεί αυτόματα το ίδιο το σύστημα, στην ιδανική των περιπτώσεων. Τέλος, να σημειωθεί, ότι στον όρο διασύνδεση, συμπεριλαμβάνεται και η διασύνδεση του ΣΓ με το περιβάλλον λειτουργίας του, μέσω συσκευών αλληλεπίδρασης, όπως αισθητήρες (sensors) και μηχανισμοί δράσης (effectors). Στην ίδια κατηγορία, ανήκει και η διασύνδεση με βοηθητικά προγράμματα, όπως συστήματα διαχείρισης βάσεων δεδομένων, προγράμματα γραφικής απεικόνισης, στατιστικά πακέτα κτλ. Ο Μηχανισμός Επεξήγησης Το ΣΓ θα πρέπει να μπορεί να εξηγεί τη συμπεριφορά του στον χρήστη, ώστε να μπορούν οι ενδιαφερόμενοι (τελικοί χρήστες, μηχανικοί γνώσης, προγραμματιστές, ειδικοί κτλ.) να πεισθούν για την εγκυρότητα των παραγόμενων αποτελεσμάτων, να εξακριβώσουν την σωστή τους λειτουργία και σε περίπτωση σφαλμάτων, να τα εντοπίσουν και -13-

20 να τα επιδιορθώσουν (αφορά τους εμπλεκόμενους στην διαδικασία ανάπτυξης των ΣΓ). Το συγκεκριμένο τμήμα των ΣΓ ονομάζεται μηχανισμός επεξήγησης, ενώ πολλές φορές αναφέρεται και ως διαφάνεια του προγράμματος, επειδή μέσω αυτού, ο χρήστης μπορεί ανα πάσα στιγμή να γνωρίζει ΤΙ κάνει το πρόγραμμα και ΓΙΑΤΙ. Ο μηχανισμός επεξήγησης, προφανώς αλληλεπιδρά στενά με το μηχανισμό εξαγωγής συμπερασμάτων, α- φού η πορεία συλλογιστικής του ΣΓ συνδέεται άμεσα με τον τρόπο εκτέλεσης των κανόνων. Ο μηχανισμός επεξήγησης, αντλεί τις απαντήσεις στα ερωτήματα που τίθενται από το χρήστη, είτε από τις πληροφορίες που συγκεντρώνει σχετικά με την αποδεικτική διαδικασία, είτε αναζητώντας ίχνη των ζητούμενων πληροφοριών στις συνθήκες των κανόνων που υπάρχουν στη βάση γνώσης του συστήματος. 2.3 Εφαρμογές Συστημάτων Γνώσης Κατηγοριοποίηση Κατηγοριοποίηση (classification) είναι ο προσδιορισμός της γενικότερης κατηγορίας (τάξης) στην οποία ανήκει κάποιο αντικείμενο, φαινόμενο, πρότυπο, μέτρηση κτλ. Α- ποτελεί συνήθη τακτική των ανθρώπων, η προσπάθεια κατάταξης των προβλημάτων που αντιμετωπίζουν, σε γενικότερες κατηγορίες προβλημάτων των οποίων οι λύσεις είναι γνωστές. Φυσική συνέπεια αυτού, είναι ότι η κατηγοριοποίηση, συχνά αποτελεί το πρώτο βήμα για την επίλυση διαφόρων ειδών προβλημάτων. Τα προβλήματα κατηγοριοποίησης έχουν ως είσοδο ένα σύνολο δεδομένων που περιγράφουν το αντικείμενο και, με τη χρήση κάποιας μορφής γνώσης, παράγουν ως έξοδο την κατηγορία στην οποία αυτό ανήκει. Κύριο χαρακτηριστικό της κατηγοριοποίησης είναι ότι η επιλογή της κατηγορίας κατάταξης ενός αντικειμένου, πραγματοποιείται μέσα από ένα προκαθορισμένο σύνολο κατηγοριών, χωρίς αυτό να περιορίζει απαραίτητα τον αριθμό των κατηγοριών στις οποίες μπορεί να ανήκει ένα αντικείμενο, ή να το εξαναγκάζει να ανήκει τουλάχιστον σε μία από αυτές. Τα μέλη μιας κατηγορίας έχουν πολλά κοινά μεταξύ τους. Συνήθως, υπάρχει μια ιεραρχική ταξινόμηση των κατηγοριών, τέτοια, ώστε οι υποκατηγορίες να κληρονομούν τα χαρακτηριστικά γνωρίσματα των υπερκατηγοριών τους, καθώς επίσης και οι κατηγορίες ενός συγκεκριμένου ιεραρχικού επιπέδου να έχουν αλληλοαναιρούμενες ιδιότητες μεταξύ τους. Η κατηγοριοποίηση πραγματοποιείται από τα ΣΓ, βάσει ευριστικών κανόνων (heuristic rules), που συνήθως προκύπτουν από την εμπειρική γνώση ενός ανθρώπου-ειδικού. Σε -14-

21 απλές περιπτώσεις, όπου η κατάταξη ενός αντικειμένου είναι σχετικά εύκολη, η κατηγοριοποίηση μπορεί να βασιστεί στην απλή σύγκριση ενός αριθμού επιφανειακών χαρακτηριστικών του αντικειμένου. Ωστόσο, όταν το πρόβλημα γίνεται σύνθετο, λόγω των πολλών συγκρίσιμων χαρακτηριστικών και πολύπλοκων ιεραρχιών κατηγοριών, τότε δεν μπορούμε να βασιστούμε στα απλά χαρακτηριστικά, για να επιτύχουμε ορθή κατάταξη σε συγκεκριμένο ύψος και πλάτος της ιεραρχίας. Συν τοις άλλοις, η κατηγοριοποίηση με εξαντλητική σύγκριση όλων των χαρακτηριστικών δεν είναι πρακτικά εφαρμόσιμη. Στις παραπάνω περιπτώσεις, πραγματοποιείται ευριστική κατηγοριοποίηση, η οποία συσχετίζει τα αντικείμενα με κατηγορίες, με τη χρήση συλλογιστικών πολλαπλών βημάτων που δε βασίζονται στον πλήρη ιεραρχικό διαχωρισμό των κατηγοριών. Έτσι, η ευριστική κατηγοριοποίηση, προσπαθεί να κατατάξει τα αντικείμενα στα φύλλα του δένδρου της ιεραρχίας, χωρίς να διέλθει από τα ανώτερα επίπεδα, ελαχιστοποιώντας τον αριθμό των συγκρίσεων που πραγματοποιούνται ως το τέλος της διαδικασίας. Το τίμημα γι αυτήν την αύξηση στην ταχύτητα, είναι ότι κάποιες φορές, ενδέχεται η κατάταξη να γίνεται με μικρότερη ακρίβεια. Η συλλογιστική της ευριστικής κατηγοριοποίησης χρησιμοποιεί εμπειρική γνώση, σχετική με τα προς κατηγοριοποίηση αντικείμενα, η οποία προέρχεται από ανθρώπους ειδικούς Διαμόρφωση Διαμόρφωση (configuration) είναι η διαδικασία επιλογής και τοποθέτησης των τμημάτων ενός μηχανικού ή άλλου συστήματος, έτσι ώστε να πληρούν κάποιες συγκεκριμένες προδιαγραφές. Τα προβλήματα διαμόρφωσης, έχουν συνήθως ως ζητούμενο την σύνθεση κάποιου πολύπλοκου συστήματος, μέσω του συνδυασμού επιμέρους εξαρτημάτων, ούτως ώστε να πληρούνται ορισμένες συνθήκες λειτουργίας, κόστους, μορφής, συμβατότητας, κτλ. Άλλη συνηθισμένη περίπτωση προβλημάτων διαμόρφωσης, είναι προβλήματα με ζητούμενο τη διαμόρφωση ενός σχήματος επιλογών ή ενός πλάνου ε- νεργειών προκειμένου να επιτευχθεί ένας συγκεκριμένος σκοπός με την παράλληλη ι- κανοποίηση ενός συγκεκριμένου συνόλου συνθηκών. Τα προβλήματα διαμόρφωσης έχουν ως είσοδο τις ζητούμενες γενικές προδιαγραφές του προς διαμόρφωση συστήματος και ως έξοδο τις λεπτομερείς προδιαγραφές των στοιχείων που τελικά επελέγησαν, καθώς και τον τρόπο με τον οποίο αυτά συνδυάζονται. Η διαμόρφωση είναι μια ειδική περίπτωση της σχεδίασης. Η διαφορά τους έγκει- -15-

22 ται στο γεγονός ότι στη διαμόρφωση τα στοιχεία που απαρτίζουν την τελική λύση επιλέγονται από ένα προκαθορισμένο σύνολο. Αυτό σημαίνει ότι στα προβλήματα διαμόρφωσης, επιπλέον των περιορισμών που αφορούν τις διαθέσιμες μεθόδους υλοποίησης και των γενικών αφηρημένων περιορισμών σχετικά με τα ζητούμενα χαρακτηριστικά των στοιχείων της τελικής λύσης, αυτά, θα πρέπει οπωσδήποτε να υπάρχουν στο προκαθορισμένο σύνολο της βάσης γνώσης του συστήματος. Σημαντικό μέρος της προσπάθειας, αφιερώνεται στον προσδιορισμό του συνόλου των δυνατών ή των προτιμητέων στοιχείων της λύσης, από το ευρύτερο προκαθορισμένο σύνολο των πιθανών στοιχείων Διάγνωση και Επιδιόρθωση Βλαβών Διάγνωση είναι η παρατήρηση ενός φυσικού συστήματος το οποίο δυσλειτουργεί και η ανεύρεση της αιτίας που προκαλεί τη δυσλειτουργία. Ο όρος επιδιόρθωση βλαβών (troubleshooting) υπονοεί σε πρώτη φάση, τον εντοπισμό των αιτιών δυσλειτουργίας των συσκευών, όπως μηχανές, ηλεκτρικά/ηλεκτρονικά κυκλώματα κτλ., και σε δεύτερη φάση την επιδιόρθωσή τους. Σε πολλές περιπτώσεις, οι λειτουργίες της διάγνωσης και της επιδιόρθωσης βλαβών επικαλύπτονται, καθώς οι λειτουργίες που επιτελούνται κατά τη διάγνωση μιας δυσλειτουργίας, αποτελούν ταυτόχρονα και τη διαδικασία επιδιόρθωσής της. Στην χειρότερη των περιπτώσεων, τα αποτελέσματα της διαδικασίας της διάγνωσης, μπορούν να μας προϊδεάσουν έστω και αμυδρά για την διαδικασία επιδιόρθωσης που θα επακολουθήσει. Στα προβλήματα διάγνωσης υπεισέρχονται πολλοί ετερόκλητοι παράγοντες που χαρακτηρίζουν το πρόβλημα, καθορίζοντας κατά κάποιον τρόπο και τη διαδικασία επίλυσής του. Για να ανακαλυφθεί η αιτία δυσλειτουργίας ενός συστήματος, σε αρκετές περιπτώσεις δεν επαρκεί απλή εξέταση των συμπτωμάτων. Πολλές φορές χρειάζεται να πραγματοποιηθούν ενδιάμεσοι έλεγχοι, οι οποίοι ωστόσο εξαρτώνται άμεσα από τα διαθέσιμα διαγνωστικά όργανα και τη φύση του συστήματος. Σε κάποιες περιπτώσεις συστημάτων, υπάρχει η δυνατότητα απομόνωσης κάποιων εσωτερικών εξαρτημάτων, ώστε να πραγματοποιηθούν τα απαραίτητα πειράματα πάνω τους, χωρίς να επηρεαστεί το υπόλοιπο σύστημα. Οι πειραματισμοί αυτοί, μπορούν να θεωρηθούν ως εσωτερικοί έλεγχοι, τα αποτελέσματα των οποίων θα οδηγήσουν σε χρήσιμα συμπεράσματα κατά την πορεία της διαδικασίας διάγνωσης. Ωστόσο, κάτι τέτοιο δεν ισχύει για πληθώρα συστημάτων, όπου δεν μπορούν να εφαρμοστούν τέτοιες τεχνικές διάγνωσης, λόγω μη- -16-

23 χανισμών ανάδρασης που ενεργοποιούνται και αντιδρούν σε κάθε απόπειρα εξωτερικής παρέμβασης. Η ακρίβεια με την οποία εντοπίζεται η αιτία της δυσλειτουργίας διαφέρει ανάλογα με τη σοβαρότητα της δυσλειτουργίας, το κόστος και την υποστήριξη ή μη της δυνατότητας επιδιόρθωσης, καθώς και το διαθέσιμο χρόνο μέσα στον οποίο απαιτείται να έχει ολοκληρωθεί η διάγνωση. Επίσης, όταν η συμπεριφορά του συστήματος μεταβάλλεται με το χρόνο, η διαδικασία διάγνωσης μπορεί να περιπλακεί σημαντικά. Σε τέτοια συστήματα δεν επαρκεί η αντιμετώπιση των βλαβών ως σταθερές καταστάσεις, καθώς είναι αναγκαία η αντιμετώπιση τους ως καταστάσεις μεταβαλλόμενες στο χρόνο, ενώ σημαντικό είναι η δυνατότητα εκτέλεσης υπολογισμών που λαμβάνουν υπ όψιν και τις ενδιάμεσες καταστάσεις. 2.4 Σύντομες Μελέτες Περιπτώσεων ΣΓ DENDRAL (Κατηγοριοποίηση) Το σύστημα DENDRAL ήταν ίσως το πρώτο σύστημα που απέδειξε ότι ένα πρόγραμμα υπολογιστή μπορεί να ανταγωνιστεί την επίδοση ενός ανθρώπου ειδικού σε κάποιο συγκεκριμένο γνωστικό πεδίο. Αποτελεί ενδιάμεσο σταθμό μεταξύ των αρχικών προγραμμάτων έξυπνης αναζήτησης και των μετέπειτα έμπειρων συστημάτων, στα οποία γίνεται ρητή αναπαράσταση της ειδικής γνώσης. Το αντικείμενο του ήταν ο καθορισμός της μοριακής δομής αγνώστων οργανικών ουσιών (ενώσεων), βάσει της ανάλυσης των αποτελεσμάτων του φασματογράφου μάζας, με τη χρήση της τροποποιημένης μεθόδου παραγωγής κι ελέγχου εναλλακτικών λύσεων, γνωστής και ως μέθοδος Κ1. Η λογική που διέπει τη λειτουργία του βασίζεται στην παρατήρηση ότι, η παρουσία, η σχετική ένταση ή η απουσία κάποιων τμημάτων από το φάσμα μιας σύνθετης ένωσης, μπορεί να δώσει αφορμή για υποθέσεις σχετικά με τη δομή της, ή για κάποιους περιορισμούς που αυτή θα πρέπει να ικανοποιεί. Οι περιορισμοί αυτοί αποτελούν τη βάση γνώσης του DENDRAL και χρησιμοποιούνται για να περιορίσουν τον αρχικά μεγάλο αριθμό ισομερών της ένωσης. Υπάρχουν δύο είδη περιορισμών: οι απαιτούμενοι περιορισμοί και οι απαγορευτικοί περιορισμοί. Οι πρώτοι στηρίζονται στα υπάρχοντα συμπεράσματα και στην απαίτηση ότι οι υποψήφιες ενώσεις πρέπει να ικανοποιούν τα στοιχεία που παρατηρήθηκαν. Οι δεύτεροι περιορίζουν τις πιθανές ενώσεις, είτε γιατί αυτές δε συμφωνούν με τα δεδομένα, είτε γιατί αυτές είναι χημικά ασταθείς. -17-

24 Ο τρόπος λειτουργίας του DENDRAL μπορεί να συνοψιστεί ως εξής: Αρχικά τα δεδομένα συνιστούν ένα αρκετά μεγάλο σύνολο υποψηφίων λύσεων (υποθέσεων). Κάθε υ- πόθεση μπορεί να ελεγχθεί με βάση την ύπαρξη ή την απουσία σχετικών δεδομένων και είτε να αποκλειστεί, είτε να γίνει πιο συγκεκριμένη. Η επανάληψη της διαδικασίας αυτής, έχει ως αποτέλεσμα την συνεχή πρόσθεση νέων περιορισμών, οι οποίοι μειώνουν ακόμη περισσότερο το σύνολο των υποθέσεων. Όταν το σύνολο των υποθέσεων έχει περιοριστεί σημαντικά, ο άνθρωπος-ειδικός μπορεί να χρησιμοποιήσει τα συμπεράσματα, είτε απευθείας είτε ως ενδιάμεσο σταθμό για τη διεξαγωγή περαιτέρω πειραμάτων και μετρήσεων, τα οποία με την σειρά τους οδηγούν σε νέους περιορισμούς. Μπορούμε λοιπόν, να θεωρήσουμε ότι η έξοδος του προγράμματος είναι μια ημιτελής λίστα υποθέσεων σχετικά με τη δομή της άγνωστης ένωσης, οι οποίες βρίσκονται σε συμφωνία με τα δεδομένα της στατικής βάσης γνώσης, αλλά και της μνήμης εργασίας. Εικόνα 2.2 Άποψη της αρχιτεκτονικής του DENDRAL [11] MYCIN (Διαμόρφωση) Το MYCIN είναι ένα σύστημα για διάγνωση μολυσματικών ασθενειών και πρόταση κατάλληλων σχημάτων θεραπείας. Μετά το πέρας της διαδικασίας διάγνωσης, ακολουθεί -18-

25 η διαμόρφωση της θεραπείας, η οποία συνίσταται στον καθορισμό πιθανών φαρμάκων και στη συνέχεια στην επιλογή ενός η περισσότερων προτιμητέων φαρμάκων ως προτεινόμενο σχήμα θεραπείας. Οι κανόνες του MYCIN, που αφορούν τη λειτουργία της διαμόρφωσης θεραπείας, περιέχουν πληροφορίες, με τη μορφή πιθανοτήτων για την ευαισθησία κάθε μικροοργανισμού σε συγκεκριμένα φάρμακα. Τα προτιμητέα φάρμακα, επιλέγονται με τέτοιο τρόπο ώστε, να τηρούνται οι αντενδείξεις μεταξύ των φαρμάκων, να ελαχιστοποιείται ο αριθμός των φαρμάκων του τελικού προτεινόμενου σχήματος θεραπείας και να μεγιστοποιείται η ευαισθησία του μικροοργανισμού στα παρεχόμενα φάρμακα. Πέραν του τελικού προτεινόμενου σχήματος θεραπείας, το σύστημα είναι σε θέση να προτείνει κι εναλλακτικά σχήματα με διαφορετική βεβαιότητα για την επιτυχία της θεραπείας. Το MYCIN αποτελεί κλασικό παράδειγμα που επιδεικνύει ότι η διαμόρφωση μπορεί κάλλιστα να εφαρμοστεί και σε προβλήματα πέραν των κατασκευαστικών εργασιών. Εικόνα 2.3 Δένδρο εννοιών (context tree) για διαμόρφωση θεραπείας στο MYCIN [12] DARN (Διάγνωση και Επιδιόρθωση Βλαβών) Το σύστημα DARN είναι ένα σύστημα διάγνωσης κι επισκευής βλαβών που αφορούν σταθμούς εργασίας. Το DARN χρησιμοποιήθηκε για να καθοδηγήσει έναν άπειρο τεχνικό σε εργασίες διάγνωσης κι επισκευής βλαβών. Το αρχικό πρόβλημα που αντιμετώπιζε, ήταν βλάβες σε ελεγκτές δίσκων σταθμών εργασίας, ενώ αργότερα χρησιμοποιήθηκε και για επίλυση προβλημάτων φωτοτυπικών μηχανημάτων. Το DARN αποτέλεσε εκπρόσωπο ενός μεγάλου αριθμού διαγνωστικών συστημάτων, τα οποία κατασκευάστηκαν μετά την εμφάνιση των διαδικασιών διάγνωσης κι επιδιόρθωσης, οι οποίες απεικονίζονταν με δένδρα απόφασης στα εγχειρίδια εκπαίδευσης των τεχνικών. -19-

26 Η βάση γνώσης του, αποτελείται από ένα σύνολο έτοιμων πλάνων διάγνωσης και επιδιόρθωσης προβλημάτων και ουσιαστικά αποτελεί αναπαράσταση ενός δένδρου απόφασης. Το υποσύστημα διεπαφής χρήστη του DARN, επιτρέπει τόσο την εκτέλεση πλάνων διάγνωσης κι επιδιόρθωσης, όσο και τη διαχείριση της βάσης γνώσης (προσθήκη / τροποποίηση πλάνων). Τα πλάνα ορίζονται μέσω μιας ενσωματωμένης γλώσσας περιγραφής του συστήματος. Η διαδικασία διάγνωσης ουσιαστικά επιτελείται διαλογικά, καθώς σε κάθε κόμβο του δένδρου απόφασης, ο χρήστης καλείται να απαντήσει στην αντίστοιχη ερώτηση. Ανάλογα με την απάντησή του, ακολουθείται η αντίστοιχη διαδρομή στο δένδρο, μέχρι η διαδικασία να φτάσει σε κάποια οριστική απόφαση, βάσει του εκτελούμενου πλάνου. Κατ αυτόν τον τρόπο, το σύστημα παρουσιάζει στον τεχνικό κάθε φορά, μόνο το επόμενο βήμα που αυτός πρέπει να εκτελέσει, απαλλάσσοντάς τον από τον κόπο αναζήτησης της λύσης μέσα στις σελίδες των εγχειριδίων. Επιπλέον, δίνεται η δυνατότητα καταγραφής των ενεργειών που ακολουθήθηκαν, για σκοπούς μελλοντικής αναφοράς. Εικόνα 2.4 Παράδειγμα πλάνου διάγνωσης κι επιδιόρθωσης στο DARN [13] -20-

27 3 Συλλογιστική Μοντέλων Το συγκεκριμένο κεφάλαιο αφορά τη συλλογιστική μοντέλων ή συλλογιστική βασισμένη σε μοντέλα (model-based reasoning), μια εξελιγμένη συλλογιστική που χρησιμοποιείται σε ΣΓ. Αρχικά, εξηγούνται οι λόγοι που οδήγησαν στην ανάπτυξη εξελιγμένων συλλογιστικών ΣΓ και γίνεται σύντομη αναφορά σε κάποιες από αυτές. Ακολουθεί εκτενέστερη αναφορά επικεντρωμένη στη συλλογιστική μοντέλων, ενώ στη συνέχεια, το ενδιαφέρον εστιάζεται στο κατ εξοχήν πεδίο χρήσης της, τις διαγνωστικές εφαρμογές. Τέλος, παρατίθεται μια σύντομη μελέτη περίπτωσης του Livingstone, ενός συστήματος που χρησιμοποιεί τη συλλογιστική μοντέλων. 3.1 Εξελιγμένες Συλλογιστικές ΣΓ Πολλές φορές, η ενσωμάτωση της απαιτούμενης γνώσης σε ένα ΣΓ παρουσιάζει προβλήματα. Αυτά τα προβλήματα μπορούν να προκύψουν κατά την εκμαίευση της γνώσης του ειδικού από το μηχανικό γνώσης, την κατανόηση της, καθώς και τη μετατροπή της σε εύχρηστα υπολογιστικά μοντέλα, ώστε να γίνεται αποτελεσματική αξιοποίηση της από τα ΣΓ. Τα προβλήματα αυτά προκύπτουν κυρίως λόγω της (συνήθως) μεγάλης δυσκολίας στην επικοινωνία του ειδικού του τομέα με το μηχανικό γνώσης. Πέραν της αυτονόητης υποκειμενικότητας, που υπεισέρχεται με την σχεδόν αποκλειστική εξάρτηση της όλης διαδικασίας, από τη γνώση που εκμαιεύεται από ανθρώπους-ειδικούς, άλλα χαρακτηριστικά προβλήματα που μπορούν να προκύψουν είναι το παράδοξο της ειδίκευσης, το παράδοξο του ευσεβούς πόθου καθώς και η απροθυμία του ειδικού να συνεισφέρει. Όλα τα προαναφερθέντα μπορούν να υπονομεύσουν την διαδικασία ανάπτυξης ενός συστήματος γνώσης με δυσμενείς επιρροές στον χρόνο ανάπτυξης του συστήματος ή/και στην ποιότητα της βάσης γνώσης. Για το λόγο αυτό, αναπτύχθηκαν διάφορες μεθοδολογίες για την εκμαίευση της γνώσης, με σκοπό την συστηματική ελαχιστοποίηση αυτών των επικοινωνιακών επιπλοκών. (π.χ. ανάλυση πρωτοκόλλου, επαναδιδασκαλία, διδακτική συνέντευξη, βαθμωτά πλέγματα, κλπ.). Ωστόσο, η χρήση τους δεν μπορεί από μόνη της να εγγυηθεί την ελαχιστοποίηση του αντικτύπου των προαναφερθέντων προβλημάτων. Επιπλέον, οι περισσότερες από αυτές είναι χρονοβόρες κάτι που πιθανώς να αποθαρρύνει την ευρεία χρήση τους. -21-

28 Τα παραπάνω ζητήματα, έστρεψαν το επιστημονικό ενδιαφέρον στην ανάπτυξη εξελιγμένων συλλογιστικών ΣΓ, που αποβλέπουν στην ελαχιστοποίηση της ανάγκης ενσωμάτωσης εμπειρικής γνώσης. Οι συλλογιστικές αυτές, εισήγαγαν τη χρήση άλλων πηγών γνώσης που βασίζονται στον ελάχιστο δυνατό βαθμό σε ανθρώπους-ειδικούς. Χαρακτηριστικά παραδείγματα τέτοιων πηγών γνώσης είναι φυσικά ή μηχανικά μοντέλα, τεχνικά εγχειρίδια, αναφορές περιπτώσεων αντιμετώπισης προβλημάτων, κτλ. Η χρήση των πηγών αυτών, οδηγεί πιθανώς και σε ευκολότερη τυποποίηση κι ενσωμάτωση της γνώσης στα ΣΓ, καθώς οι πηγές αυτές τείνουν να έχουν κάποια έστω υποτυπώδη δομή οργάνωσης της γνώσης που περιέχουν. Μερικές από τις εξελιγμένες συλλογιστικές αυτές είναι η συλλογιστική βασισμένη σε μοντέλα (model-based reasoning) που αποτελεί και αντικείμενο του κεφαλαίου αυτού, η ποιοτική συλλογιστική (qualitative reasoning), η συλλογιστική βασισμένη σε περιπτώσεις (case-based reasoning). Μάλιστα, πολλές φορές συνδυάζονται περισσότερα του ενός είδη συλλογιστικών, με σκοπό τη βελτιστοποίηση της εκμετάλλευσης της διαθέσιμης γνώσης για το πεδίο εφαρμογής, αλλά και την ελαχιστοποίηση της επίδρασης των περιορισμών που εισάγονται από τη χρήση μιας μόνο μεθόδου συλλογιστικής. Τα συστήματα αυτής της κατηγορίας, λέμε ότι χρησιμοποιούν πολυτροπική συλλογιστική (multi-modal reasoning)[2]. Η ανάπτυξη των εξελιγμένων συλλογιστικών ΣΓ οδήγησε στη γενίκευση του όρου έμπειρο σύστημα που παραδοσιακά χρησιμοποιούνταν μέχρι τότε, σε σύστημα γνώσης, ώστε να μπορούν να συμπεριληφθούν υπό την σκέπη του και συστήματα τα οποία δεν βασίζονται σε αποκλειστική χρήση ανθρώπινης εμπειρικής γνώσης. 3.2 Συλλογιστική Βασισμένη σε Μοντέλα Η συλλογιστική μοντέλων ή συλλογιστική βασισμένη σε μοντέλα εμφανίστηκε στις αρχές τις δεκαετίας του 80, ως μία προσπάθεια αντιμετώπισης των περιορισμών που αφορούσαν την ανάπτυξη των έμπειρων συστημάτων της εποχής [4]. Είναι μια μεθοδολογία για την ανάλυση, την κατανόηση και την πρόβλεψη της συμπεριφοράς ενός συστήματος (φυσικού ή τεχνητού), μιας διαδικασίας ή ενός φαινομένου 4, που βασίζεται στη χρήση μοντέλων. Ως μοντέλα θεωρούμε μικρές (περατές), απλοποιημένες, αφηρημένες αναπαραστάσεις μιας πολύπλοκης πραγματικότητας, τυπικά δομημένες έτσι ώστε να 4 Στο εξής όλα αυτά θα υπονοούνται με τον όρο σύστημα. Όταν ο όρος συνοδεύεται από τον προσδιορισμό «φυσικό», θα υπονοούνται αυστηρά τα φυσικά ή τεχνητά συστήματα, αποκλειόμενων των διαδικασιών και των φαινομένων που θα υπονοούνται αυστηρά με τον όρο «μη-φυσικά συστήματα». -22-

29 μπορούν να χρησιμοποιηθούν για την ανάλυση συγκεκριμένων πτυχών της πραγματικότητας αυτής (ορισμός εμπνευσμένος από το [3]). Τα μοντέλα αποτελούνται από αποσυνθέσιμες δομές και σαφώς καθορισμένες αλληλεπιδράσεις μεταξύ των στοιχείων που απαρτίζουν τις δομές αυτές. Η λειτουργία οποιουδήποτε ΣΓ βασίζεται στην συλλογιστική μοντέλων, ανεξάρτητα από το ρόλο που επιτελεί και το πεδίο εφαρμογής του, ανάγεται στην πραγματοποίηση και αποτίμηση προβλέψεων για την εξέλιξη των καταστάσεων στις οποίες μπορεί να βρεθούν τέτοια αποσυνθέσιμα μοντέλα συστημάτων. Οι προβλέψεις γίνονται θεωρώντας ότι το σύστημα είναι σχεδόν κλειστό, καθώς γνωρίζουμε την αρχική του κατάσταση κι όλες τις πιθανές εξωγενείς επιδράσεις που μπορούν να επακολουθήσουν (το «σχεδόν» έγκειται στο ότι υπάρχουν και εξαιρέσεις σ αυτήν τη δεσπόζουσα τάση). Εικόνα 3.1 Μοντελοποίηση Συστημάτων για χρήση Συλλογιστικής Μοντέλων (εμπνευσμένη από το [3]) Τυπικά, η διαδικασία της ανάπτυξης του μοντέλου (γνωστή και με τον όρο μοντελοποίηση) ενός συστήματος συνίσταται στην κατασκευή του μοντέλου βάσει των επιστημονικών ή τεχνικών αρχών που το διέπουν, αντί της εμπειρικής γνώσης ενός ειδικού. Α- κολούθως πραγματοποιείται (επαναληπτική) ανάλυση του μοντέλου και αναθεώρηση του μέχρι να αυτό να κριθεί επαρκές για τις ανάγκες του ΣΓ. Η συγκεκριμένη διαδικασία είναι αρκετά επίπονη κι απαιτητική, είναι όμως πιο προβλέψιμη από την αλληλεπίδραση με έναν άνθρωπο-ειδικό. Ωστόσο, η παρουσία του ειδικού κρίνεται απαραίτητη, ώστε να διευκολύνει τον μηχανικό γνώσης στην αποτύπωση του μοντέλου παρέχοντας του τυχόν διευκρινίσεις για τις σχετικές επιστημονικές και τεχνικές έννοιες. Τα μοντέλα εμπίπτουν ως επί το πλείστον στις εξής κατηγορίες: -23-

30 Τα μαθηματικά μοντέλα (mathematical models), που περιγράφουν με αναλυτικές εξισώσεις ένα σύστημα. Τα στοχαστικά μοντέλα (stochastic models), που περιγράφουν στατιστικά την συμπεριφορά ενός συστήματος. Τα αιτιοκρατικά μοντέλα (causal models), που περιγράφουν το σύστημα μέσω των αλληλεπιδράσεων των επιμέρους μελών του. Η γνώση που ενσωματώνεται στα ΣΓ που βασίζονται στην συλλογιστική μοντέλων είναι δηλωτικά κωδικοποιημένη, ενώ η διεξαγωγή του συμπερασμού γίνεται από μηχανή εξαγωγής συμπερασμάτων που είναι σχετικά ανεξάρτητη του πεδίου εφαρμογής. Τα ΣΓ, μπορούν να υιοθετούν οποιαδήποτε μέθοδο αναπαράστασης της γνώσης, όπως κανόνες και πλαίσια, ή και συνδυασμό μεθόδων. Συγκεκριμένα, με τους κανόνες μπορεί να αναπαρασταθεί η αιτιότητα σ ένα τέτοιο σύστημα. Οι κανόνες μπορούν να διακριθούν σε δύο είδη: Κανόνες προσομοίωσης (simulation rules), που προσομοιώνουν τους φυσικούς περιορισμούς ή νόμους που ισχύουν για το σύστημα. Κανόνες εξαγωγής συμπερασμάτων (inference rules), με βάση τους οποίους εξάγονται τα συμπεράσματα για την κατάσταση και συμπεριφορά του φυσικού συστήματος. Επιπλέον η αρχιτεκτονική της βάσης γνώσης τους τείνει να είναι αρθρωτή, πράγμα που οφείλεται στην προτίμηση χρησιμοποίησης μοντέλων γενικού σκοπού κι έχει ως φυσική συνέπεια τον αυστηρότερο διαχωρισμό του ΤΙ είναι γνωστό από το ΠΩΣ αυτό θα χρησιμοποιηθεί. Ωστόσο, όταν παρίσταται ανάγκη για αυξημένη υπολογιστική αποδοτικότητα, το περιεχόμενο και η οργάνωση της βάσης γνώσης διαμορφώνεται με βάση την εκάστοτε σκοπιμότητα χρήσης. Με χρήση της συλλογιστικής μοντέλων μπορεί κανείς να επιλύσει μεγάλο εύρος προβλημάτων, πράγμα που μας επιτρέπει να την χαρακτηρίσουμε εύρωστη ως μεθοδολογία. Ένα ακόμα χαρακτηριστικό της συλλογιστικής μοντέλων είναι η συνθετικότητα (compositionality), δηλαδή τη δυνατότητα συνδυασμού πολλών μοντέλων (υπο)συστημάτων σε ένα μοναδικό γενικό υπερμοντέλο. Ένα επιπλέον πλεονέκτημα που προκύπτει από τη χρήση της, είναι ότι παρέχει τη δυνατότητα επαναχρησιμοποίησης της ίδιας γνώσης για άλλα παρεμφερή ή/και συσχετιζόμενα προβλήματα. Ωστόσο το πόσο πρόσφορη είναι η χρήση της συλλογιστικής μοντέλων για κάποια συγκεκριμένη -24-

31 εργασία είναι ευθέως ανάλογο του κατά πόσο είναι δυνατόν αυτή να μοντελοποιηθεί. Είναι προφανές ότι δεν προσφέρονται όλες οι εργασίες για κάτι τέτοιο, ωστόσο αν υ- πάρχει κάποια κατάλληλη θεωρία που θα αποτελέσει τη βάση για τη μοντελοποίηση, τότε, θεωρητικά τουλάχιστον, θα έπρεπε να είναι δυνατή η χρήση της συλλογιστικής μοντέλων. Κάτι τέτοιο φαίνεται να ισχύει σε μεγαλύτερο βαθμό για τα φυσικά συστήματα [4]. Αυτό καταδεικνύεται και από το γεγονός ότι το κυριότερο πεδίο εφαρμογής της συλλογιστικής μοντέλων είναι η διάγνωση φυσικών συστημάτων. Η διάγνωση βασισμένη σε μοντέλα αποτελεί το θέμα της επόμενης παραγράφου. 3.3 Διάγνωση Βασισμένη σε Μοντέλα Τα διαγνωστικά συστήματα είναι μεταξύ των πιο πετυχημένων εφαρμογών της τεχνολογίας των συστημάτων γνώσης, τόσο από πλευράς του πλήθους των υλοποιημένων εφαρμογών, αλλά και του πλήθους των οφελών που έχουν προκύψει από τη χρήση του. Η αυτοματοποιημένη διάγνωση είναι ένα κλασικό πρόβλημα ΤΝ, καθώς μπορεί να α- ναδείξει ζητήματα κοινά για όλες τις αυτοματοποιημένες προσπάθειες συλλογιστικής. Κατά κάποιον τρόπο, αποτελεί πρόσφορο πεδίο δοκιμών για τις διάφορες προτεινόμενες προσεγγίσεις, λόγω της πληθώρας των πραγματικών προκλήσεων που μπορεί να προσφέρει [5]. Για τη διάγνωση ως υποθετική συλλογιστική διαδικασία, έχουν προταθεί διάφοροι ορισμοί, κοινός τόπος των οποίων αποτελεί η παρατήρηση ότι η διαγνωστική διαδικασία θα πρέπει να παρέχει μια εξήγηση της παρατηρούμενης συμπεριφοράς του υπό διάγνωση συστήματος. Η ανάγκη για βελτίωση της αξιοπιστίας, ασφάλειας και αποδοτικότητας των συστημάτων που βασίζονται σε τεχνολογικά μέσα, οδήγησε στη χρήση εξελιγμένων μεθόδων για την επίβλεψη, αναγνώριση και διάγνωση βλαβών [6]. Στα συστήματα γνώσης που βασίζονται στη χρήση ευριστικής/εμπειρικής γνώσης, η διάγνωση συνίσταται στην α- πόπειρα συσχέτισης ενός αντιπροσωπευτικού σύνολου εισόδων που σχετίζονται με τις παρατηρήσιμες παραμέτρους του φυσικού συστήματος, με ένα σύνολο παρατηρήσιμων δυσλειτουργιών του συστήματος. Ο ορισμός των συσχετίσεων μεταξύ των παραμέτρων αυτών και των βλαβών, βασίζεται στην εμπειρική γνώση και στις παρατηρήσεις των ανθρώπων ειδικών που επιτελούν τα διαγνωστικά καθήκοντα, ενώ η αναπαράσταση τους στη βάση γνώσης γίνεται με τη χρήση ενός συνόλου κανόνων. Έτσι, οδηγούμαστε σε μια περιορισμένη θεώρηση του προς εξέταση φυσικού συστήματος, που ουσιαστικά αντιμετωπίζεται σαν μαύρο κουτί (black-box). Το έμπειρο σύστημα, δε «γνωρίζει» τίπο- -25-

32 τε για τη δομή και τη λειτουργία του φυσικού συστήματος. Η συμπεριφορά του συστήματος, καθορίζεται με κάποιο ποσοστό ακρίβειας, με βάση συμπεριφορές σε παρόμοιες περιπτώσεις στο παρελθόν, που στην ουσία αποτελούν αποτυπώσεις της εμπειρίας των ανθρώπων-ειδικών που παρείχαν τη γνώση. Στις περισσότερες των περιπτώσεων, οι σχεδιαστές ενός φυσικού συστήματος είναι σε θέση να γνωρίζουν πολύ περισσότερα για τον εσωτερικό τρόπο λειτουργίας του, από τους ανθρώπους-ειδικούς που το διαχειρίζονται και το επιτηρούν. Αυτό τους οδηγεί στο να χρησιμοποιούν μια θεώρηση του συστήματος που βασίζεται στις βασικές αρχές λειτουργίας του κι όχι στις περιπτώσεις βλαβών που παρατηρήθηκαν στο παρελθόν. Την προσέγγιση αυτή προσπαθεί να προσεταιριστεί η διάγνωση βασισμένη σε μοντέλα, καθώς σε αντίθεση με τα παραδοσιακά διαγνωστικά συστήματα, η διαγνωστική διαδικασία στηρίζεται σε γνώση που αποτυπώνει τις αρχές που διέπουν τη δομή και τη συμπεριφορά του υπό διάγνωση φυσικού συστήματος. Με τον τρόπο αυτό αντιμετωπίζονται περιορισμοί των παραδοσιακών προσεγγίσεων, όπως η υποκειμενικότητα της εμπειρικής γνώσης, η αδυναμία εφαρμογής σε νέα φυσικά συστήματα για τα οποία δεν υπάρχει εμπειρική γνώση, η περιορισμένη δυνατότητα παροχής επαρκών επεξηγήσεων και η έλλειψη γενικότητας. Η βασισμένη σε μοντέλα προσέγγιση για αυτοματοποιημένη διάγνωση αποτέλεσε θεμελιώδους σημασίας στροφή σε σχέση με τις παραδοσιακές τεχνικές ΤΝ [7]. Μάλιστα, η χρήση της συλλογιστικής μοντέλων σε διαγνωστικές εφαρμογές, έτυχε τόσο μεγάλης αποδοχής, ώστε ο όρος διάγνωση βασισμένη σε μοντέλα (model-based diagnosis) να τείνει να αντικαταστήσει το γενικότερο όρο συλλογιστική βασισμένη σε μοντέλα, στη συνείδηση των ερευνητών. Εικόνα 3.2 Τυπικός Τρόπος Λειτουργίας Model-based Διαγνωστικού Συστήματος Ο τυπικός τρόπος λειτουργίας ενός διαγνωστικού συστήματος βασισμένου σε μοντέλα είναι η παρατήρηση της συμπεριφοράς του πραγματικού συστήματος και στη συνέχεια, η σύγκριση με την συμπεριφορά που προβλέπεται από το μοντέλο (Εικόνα 3.2). Ο- ποιεσδήποτε παρατηρούμενες αποκλίσεις μπορεί να οφείλονται σε δυσλειτουργία ενός -26-

33 ή περισσότερων εξαρτημάτων. Ωστόσο σε περίπτωση που χρησιμοποιούνται διάφορα όργανα μέτρησης για την επιτήρηση της λειτουργίας του πραγματικού (στο εξής θα α- ναφέρονται ως αισθητήρες), πολλές φορές δε θα πρέπει να θεωρείται δεδομένη η ορθή λειτουργία τους. Για το λόγο αυτό, οι σχεδιαστές του συστήματος θα πρέπει να μεριμνούν, ώστε η διαγνωστική διαδικασία να λαμβάνει υπ όψιν και δυσλειτουργίες αυτού του τύπου. Είναι προφανές λοιπόν, ότι η τοποθέτηση αισθητήρων μπορεί να αυξήσει την υπολογιστική πολυπλοκότητα της διαγνωστικής διαδικασίας [8]. Συνοψίζοντας τον τρόπο λειτουργίας ενός διαγνωστικού συστήματος βασισμένου σε μοντέλα, μπορούμε να πούμε ότι, δοθέντος ενός μοντέλου του προς διάγνωση συστήματος κι ενός συνόλου παρατηρήσεων που υποδεικνύουν αποκλίσεις από την αναμενόμενη συμπεριφορά, ο στόχος είναι ο καθορισμός ενός συνόλου υποθέσεων που εξηγούν τις αποκλίσεις αυτές. Η διαδικασία της διάγνωσης είναι ένας κύκλος, όπου ένα σύνολο υποψηφίων λύσεων παράγεται με σκοπό την εξήγηση του τρέχοντος συνόλου παρατηρήσεων. Ακολουθεί η διάκριση μεταξύ των ανταγωνιζόμενων επεξηγήσεων με διάφορες διαδικασίες ελέγχου. Σύμφωνα με το [9], το κύριο χαρακτηριστικό των διαγνωστικών συστημάτων που βασίζονται στην συλλογιστική μοντέλων, είναι η χρήση γενικών μηχανών διαγνωστικής συλλογιστικής που είναι σε θέση να φέρουν εις πέρας διάφορες διαγνωστικές διαδικασίες με χρήση συλλογισμών πραγματικού χρόνου και εξαγωγής συμπερασμάτων για την καθολική συμπεριφορά του φυσικού συστήματος, από τον αυτόματο συνδυασμό των τοπικών μοντέλων των εξαρτημάτων που το απαρτίζουν. Το παραπάνω είναι προφανής εκδήλωση του χαρακτηριστικού της συνθετικότητας, το οποίο όπως προαναφέραμε είναι γενικότερο γνώρισμα της συλλογιστικής μοντέλων. Στην ίδια πηγή, προτείνεται και μια πολύ σημαντική αρχή που πρέπει να ακολουθείται από τους σχεδιαστές των διαγνωστικών συστημάτων κατά τη μοντελοποίηση του φυσικού συστήματος, την αρχή της ανεξαρτησίας δομής-λειτουργίας (no function in structure principle). Η αρχή αυτή σχετίζεται έμμεσα με το χαρακτηριστικό της συνθετικότητας και υποδεικνύει ότι τα μοντέλα των εξαρτημάτων δεν πρέπει να περιέχουν υποθέσεις σχετικές με τα συστήματα στα οποία θα εμφανίζονται είτε με τις εισόδους που θα τους δίδονται στην τυπική περίπτωση, αλλά θα πρέπει να περιγράφουν την συμπεριφορά του εξαρτήματος σε όλα τα πιθανά συστήματα που μπορεί να χρησιμοποιηθεί και με όλες τις πιθανές εισόδους. Πλεονεκτήματα Τα πλεονεκτήματα που προκύπτουν από τη χρήση της συλλογιστικής μοντέλων σε διαγνωστικά συστήματα γνώσης έχουν εν μέρει αναφερθεί παραπάνω. Ανακεφαλαιώνο- -27-

34 ντας κι επεκτείνοντας, με χρήση της συλλογιστικής μοντέλων μειώνεται η εξάρτηση για ενσωμάτωση και χρήση εμπειρικής γνώσης στο σύστημα. Πλέον, αντί της χρονοβόρας και υψηλού κόστους, παραδοσιακής διαδικασίας εκμαίευσης της γνώσης από τον ειδικό, το ενδιαφέρον εντοπίζεται στη σύνθεση ενός μοντέλου για το φυσικό σύστημα, διαδικασία χρονοβόρα κι απαιτητική μεν, ωστόσο πιο προβλέψιμη και συνεπώς με λιγότερο ρίσκο όσον αφορά το πιθανό της κόστος. Ένα ακόμη μεγάλο πλεονέκτημα των ΣΓ που βασίζονται σε μοντέλα είναι ότι δε χρειάζεται να προβλεφθούν και να καταγραφούν λεπτομερώς όλες οι πιθανές βλάβες σ ένα σύστημα, καθώς η δυσλειτουργία κάθε εξαρτήματος δεν απαιτεί ιδιαίτερη προεργασία για την αντιμετώπιση της, με προϋπόθεση βέβαια την προσεκτική μοντελοποίηση του φυσικού συστήματος. Το σημαντικότερο ίσως πλεονέκτημα των ΣΓ αυτού του τύπου είναι η ανεξαρτησία των διαγνωστικών λειτουργιών σε σχέση με τις λειτουργίες του φυσικού συστήματος. Αυτό οδηγεί στη δυνατότητα επαναχρησιμοποίησης του διαγνωστικού πυρήνα σε υλοποιήσεις που αφορούν άλλα παρόμοια φυσικά συστήματα, καθώς και στην ευελιξία των χρησιμοποιούμενων μοντέλων, δίνοντας τη δυνατότητα για σημαντικές τροποποιήσεις τους, χωρίς αντίκτυπο στην ακεραιότητα της συνολικής διαγνωστικής διαδικασίας. Μειονεκτήματα - Περιορισμοί Στην αντίπερα όχθη, κατά καιρούς υπήρξαν σημαντικοί περιορισμοί που καθιστούσαν τη διάγνωση βασισμένη σε μοντέλα, μη ελκυστική για συγκεκριμένες εφαρμογές, ω- στόσο με την πάροδο του χρόνου οι ερευνητές κατάφεραν να τους υπερβούν. Χαρακτηριστικά αναφέρουμε την υπόθεση της απλής βλάβης (simple fault assumption), η οποία υιοθετήθηκε κατά κόρον στις πρωτοπόρες εργασίες του τομέα (μάλλον με σκοπό τη μείωση της υπολογιστικής πολυπλοκότητας της διαγνωστικής διαδικασίας), υπόθεση η οποία δεν υιοθετείται από την πλειοψηφία των σύγχρονων συστημάτων του τομέα. Ένα ακόμη ζήτημα, το οποίο κατά τα φαινόμενα έχει αντιμετωπιστεί, είναι η ανεπαρκής ι- κανότητα διαχείρισης αβέβαιης γνώσης καθώς πλέον έχουν προταθεί προσεγγίσεις που τη διαχειρίζονται ικανοποιητικά. Ωστόσο, ένα έμφυτο μειονέκτημα της μεθόδου, είναι ότι πάντα θα υπάρχει ο κίνδυνος, το προς μοντελοποίηση σύστημα να είναι υπερβολικά πολύπλοκο ή να μην υπάρχει η δυνατότητα παρακολούθησης του μέσω αισθητήρων, με αποτέλεσμα η κατασκευή του μοντέλου τους να είναι ασύμφορη ή/και άσκοπη. -28-

35 3.4 Σύντομη Μελέτη περίπτωσης LIVINGSTONE Η επιστήμη του διαστήματος είναι ένα αρκετά πρόσφορο πεδίο για την εφαρμογή των αρχών της συλλογιστικής μοντέλων. Ένα τέτοιο παράδειγμα, αποτελεί το αυτόνομο σύστημα ενεργούς αυτορύθμισης βασισμένο σε μοντέλα (model-based reactive selfconfiguring system) Livingstone, το οποίο δημιουργήθηκε από τη NASA, με σκοπό την επίτευξη μέρους των στόχων του διαστημικού προγράμματος «New Millennium» που παρουσιάστηκε το Κυριότερος στόχος του προγράμματος αυτού, ήταν η δραστική μείωση του κόστους των διαστημικών αποστολών, του τυπικού μεγέθους των συμμετεχόντων σε αυτές (πλήρωμα και προσωπικό εδάφους) καθώς και του χρόνου ανάπτυξης νέων διαστημικών μηχανών. Οι ανάγκες του προγράμματος αυτού επέβαλαν την ανάπτυξη ενός εξελιγμένου αυτόνομου διαγνωστικού συστήματος, καθώς αυξήθηκε σε πολύ μεγάλο βαθμό η κατασκευαστική πολυπλοκότητα των σύγχρονων διαστημικών μηχανών. Η απαίτηση για αυτονομία ήρθε ως φυσικό επακόλουθο της πληθώρας των μη επανδρωμένων αποστολών που προγραμματίστηκαν στα πλαίσια του «New Millennium». Στην προσπάθεια της αυτή, η NASA στράφηκε στην συλλογιστική των μοντέλων κατασκευάζοντας κι εξελίσσοντας το Livingstone. Στο Livingstone, χρησιμοποιούνται μοντέλα για την επίβλεψη των συστημάτων των διαστημικών μηχανών, τη διάγνωση προβλημάτων και για τη συλλογιστική διαδικασία που σχετίζεται με τις συνέπειες πιθανής τροποποίησης των ρυθμίσεων των μηχανημάτων, με σκοπό την αντιμετώπιση των προβλημάτων αυτών. Χρησιμοποιούνται βιβλιοθήκες μοντέλων με επαναχρησιμοποιήσιμα εξαρτήματα, πράγμα που συντελεί στη μείωση του χρόνου υλοποίησης ενός διαγνωστικού συστήματος, ενώ το κόστος μοντελοποίησης, ουσιαστικά κατανέμεται μεταξύ πολλών συσχετιζόμενων διαγνωστικών ε- φαρμογών που μπορούν να αναπτυχθούν με το Livingstone. Για να επιτευχθούν στο ακέραιο οι απαιτούμενοι στόχοι από πλευράς διάγνωσης και σχεδιασμού της αυτορύθμισης, το Livingstone συνεργάζεται με το HSTS, ένα σύστημα σχεδιασμού / χρονοπρογραμματισμού, και το RAPS, ένα σύστημα εκτέλεσης πλάνων. Ένα παράδειγμα εφαρμογής που υλοποιήθηκε με χρήση του Livingstone, αφορούσε μια μικρής-κλίμακας εκδοχή του Cassini, μιας από τις πολυπλοκότερες διαστημικές μηχανές που έχουν κατασκευαστεί ως σήμερα, το οποίο έχει ως αποστολή την παρατήρηση του πλανήτη Κρόνου, των δακτυλίων του και των δορυφόρων που τον περιβάλλουν. -29-

36 Εικόνα 3.3 Σχηματική αναπαράσταση του μοντέλου που χρησιμοποίησε το Livingstone για το προωθητικό σύστημα του Cassini [14] Στο παραπάνω σχήμα (Εικόνα 3.3) απεικονίζεται αναπαράσταση του προωθητικού υ- ποσυστήματος του Cassini. Tα εξαρτήματα που απαρτίζουν το μοντέλο του προωθητικού υποσυστήματος είναι: βαλβίδες (valves), πυροτεχνικές βαλβίδες (pyro valves), ρυθμιστές (regulators), δεξαμενές (tanks), μηχανές (engines) και πυροτεχνικές σκάλες (pyro ladders). Τα μοντέλα των εξαρτημάτων περιγράφονται ως μοντέλα μετάβασης, ενώ αντιστοιχούνται κόστη στις μεταβάσεις μεταξύ διαφορετικών καταστάσεων. Περιλαμβάνονται μεταβάσεις σε καταστάσεις βλάβης, οι οποίες συνοδεύονται από την πιθανότητα εμφάνισης της βλάβης. Ένα μοντέλο συμπεριφοράς εξαρτήματος για τη βαλβίδα φαίνεται στην Εικόνα 3.4. Εικόνα 3.4 Μοντέλο συμπεριφοράς για τη βαλβίδα στο Livingstone. Τα μοντέλα του συστήματος του Cassini χρησιμοποιούνται σε τρεις φάσεις λειτουργίας: Αναγνώριση κατάστασης (mode identification), όπου γίνεται η υπόθεση για την πιθανότερη τρέχουσα κατάσταση στην οποία βρίσκεται η συσκευή (αυτή μπορεί να είναι μια αναμενόμενη ή μία μη αναμενόμενη κατάσταση, οπότε και επιτελείται διάγνωση). -30-

37 Επαναρύθμιση κατάστασης (mode reconfiguration), όπου παράγεται η ακολουθία αλλαγών κατάστασης του εξαρτήματος που θεωρητικά θα έπρεπε να οδηγεί στην επιθυμητή κατάσταση της συσκευής. Αντιδραστικός (reactive) σχεδιασμός βασισμένος σε μοντέλα (model-based reactive planning), όπου επιλέγεται μια μοναδική μετάβαση κατάστασης, ως η καλύτερη δυνατή και ακολούθως υλοποιείται. Οι τρεις αυτές φάσεις επαναλαμβάνονται συνεχώς, με σκοπό την επίτευξη της επιθυμητής κατάστασης στόχου. Η επανάληψη δε λαμβάνει χώρα μετά από μια ακολουθία αλλαγών κατάστασης των εξαρτημάτων, αλλά μετά από κάθε μοναδική αλλαγή κατάστασης ενός εξαρτήματος. Με αυτόν τον τρόπο μπορούν να ανιχνευτούν πιθανά λάθη κατά τη φάση της αναγνώρισης κατάστασης, πριν λάβουν χώρα πολλές εσφαλμένες «διορθωτικές» ενέργειες. Το τελικό σύστημα που αναπτύχθηκε δοκιμάστηκε σε ένα απαιτητικό σενάριο εξομοίωσης που απαιτούσε την εκτέλεση προσομοιωμένων αυτόνομων αποπειρών εισαγωγής του Cassini στην τροχιά του Κρόνου υπό διάφορες συνθήκες αποτυχίας. Το σύστημα ανταποκρίθηκε με θριαμβευτική επιτυχία στα δοκιμαστικά σενάρια και επιλέχθηκε ως βασικό μέρος του πυρήνα της αρχιτεκτονικής του διαστημικού προγράμματος «New Millennium». Η NASA προχώρησε στην ανάπτυξη δύο νέων εκδόσεων του Livingstone υπό τις κωδικές ονομασίες L2 και L3, που σκοπό είχαν την υπέρβαση συγκεκριμένων περιορισμών σχετικά με τις δυνατότητες μοντελοποίησης καθώς και την περαιτέρω ε- πέκταση των δυνατοτήτων του L1 (Livingstone 1). Εικόνα 3.5 Γραφική απεικόνιση του τρόπου εξέλιξης των σχημάτων συλλογιστικής και μοντελοποίησης στα L2,L3 και χρήσης διαφορετικών επιπέδων μοντελοποίησης στο L

38 4 Εργαλεία Στο παρόν κεφάλαιο παρουσιάζονται τα εργαλεία που χρησιμοποιήθηκαν για την υλοποίηση της εφαρμογής. Αρχικά, παρουσιάζεται πολύ συνοπτικά η αντικειμενοστραφής γλώσσα προγραμματισμού JAVA καθώς θεωρείται ευρέως διαδεδομένη και γνωστή και το εργαλείο υποβοήθησης ανάπτυξης λογισμικού Netbeans. Εν συνεχεία παρουσιάζεται το σύστημα παραγωγής CLIPS και το JCLIPS, που χρησιμοποιείται για τη διασύνδεση της μηχανής του CLIPS με την JAVA. Το κεφάλαιο ολοκληρώνεται με μία σύντομη παρουσίαση του JESS, που είναι μια μηχανή κανόνων γραμμένη σε JAVA, η οποία μπορεί να χρησιμοποιηθεί αυτόνομα, αλλά και να ενσωματωθεί σε εφαρμογές που υλοποιήθηκαν με τη γλώσσα. 4.1 JAVA & Netbeans JAVA Η JAVA αποτελεί σήμερα μια από τις δημοφιλέστερες γλώσσες προγραμματισμού. Η εξέλιξη της ήταν ραγδαία από το 1995, οπότε και άρχισε να διατίθεται. Είναι αντικειμενοστραφής, ανεξάρτητη από υπολογιστικές πλατφόρμες και παρέχει πολλές ευκολίες στους προγραμματιστές για ανάπτυξη διαδικτυακών εφαρμογών. Η ομοιότητα της με τη C/C++ σε συνδυασμό με το γεγονός ότι είναι απλούστερη, την κατέστησε σε ελάχιστο χρονικό διάστημα οικεία στους προγραμματιστές, συντελώντας στη ευρεία διάδοση της. Ένας ακόμη πολύ σημαντικός παράγοντας για την ευρεία εξάπλωση της, είναι και το γεγονός ότι είναι ανοιχτού κώδικα (open-source), πράγμα που σημαίνει ότι μπορεί οποιοσδήποτε να επέμβει στον πηγαίο κώδικα της, επεκτείνοντάς την, σύμφωνα με τις ανάγκες του. Χαρακτηριστικό είναι, ότι σήμερα η χρήση της έχει επεκταθεί τόσο, ώστε υπάρχουν εφαρμογές της για πληθώρα σύγχρονων συσκευών καθημερινής χρήσης, πέραν των Η/Υ Netbeans Το Netbeans είναι ένα ανοιχτού κώδικα, ελεύθερα διακινούμενο περιβάλλον ανάπτυξης εφαρμογών λογισμικού. Υποστηρίζει τις διαδικασίες ανάπτυξης, αποσφαλμάτωσης, μεταγλώττισης και εκτέλεσης εφαρμογών σε JAVA, C και C++. Είναι διαθέσιμο σε πολ- -32-

39 λές υπολογιστικές πλατφόρμες όπως το Linux, το Solaris, τα Windows και το ΜacOS. Το Netbeans αποτελεί μια επεκτάσιμη πλατφόρμα, καθώς έχουν αναπτυχθεί επεκτάσεις που διευκολύνουν σημαντικά την ανάπτυξη εφαρμογών ειδικού σκοπού, όπως διαδικτυακές εφαρμογές (internet applications), εφαρμογές μεγάλης κλίμακας (enterprise applications) και εφαρμογές για φορητές συσκευές (mobile applications). Η συνοπτική παρουσίαση που ακολουθεί, αφορά ένα μικρό βασικό υποσύνολο δυνατοτήτων του Netbeans, που σχετίζεται με τις ευκολίες τις οποίες αυτό παρέχει για την ανάπτυξη ε- φαρμογών JAVA γενικού σκοπού. Συγκεκριμένα, παρουσιάζονται κάποιες βασικές δυνατότητες που αφορούν τη διαχείριση έργων λογισμικού (software projects), τη διαχείριση βιβλιοθηκών και λειτουργικών μονάδων (modules), το συντάκτη πηγαίου κώδικα και συνθέτη γραφικού περιβάλλοντος (GUI / source code editor). Εικόνα 4.1 Τυπική οθόνη από το Netbeans 5.5 Διαχείριση Έργων Λογισμικού Ο χρήστης έχει τη δυνατότητα να δημιουργήσει νέα έργα λογισμικού με τη χρήση διάφορων παρεχόμενων προτύπων τα οποία είναι κατάλληλα δομημένα ώστε να διευκολύνουν την ανάπτυξη εφαρμογών γενικού ή ειδικού σκοπού. Ανάλογα με το πρότυπο επιλογής, υπάρχει περίπτωση αυτόματης παραγωγής κώδικα στον συντάκτη (π.χ. αρχικο- -33-

40 ποίηση μιας φόρμας του γραφικού περιβάλλοντος). Κάθε project έχει ένα χαρακτηριστικό όνομα, ενώ αναπαριστάται με μια ιεραρχική δενδροειδή δομή, με ρίζα το ίδιο το project και κόμβους τα συστατικά του, σε διάφορα επίπεδα ανάλυσης. Ο χρήστης έχει τη δυνατότητα να ορίσει μία εργασία ως κύρια (main project), ώστε να αποκτήσει γρηγορότερη πρόσβαση σε διάφορες λειτουργίες επί αυτής, όπως η εκτέλεση της, ανεξάρτητα με το project πάνω στο οποίο δουλεύει ανά πάσα χρονική στιγμή. Σε κάθε project μπορούν να εφαρμοστούν μετακίνηση σε άλλη τοποθεσία στο δίσκο (path), μετονομασία, διαγραφή ή ακόμη και παραγωγή ακριβούς αντιγράφου. Ο χρήστης έχει τη δυνατότητα να συνδέσει στα projects πόρους όπως βιβλιοθήκες, έτοιμα javadocs και διάφορους πόρους άλλων ειδών όπως εικόνες JPEG, βάσεις δεδομένων κλπ. Για λόγους πληρότητας της αναφοράς, αναφέρουμε πως με τη χρήση επιπρόσθετων modules μπορούν να προστεθούν πολλές επιπλέον λειτουργίες που αφορούν τη διαχείριση έργων λογισμικού (Profiling, CVS κλπ.) Τέλος, αναφέρουμε τη δυνατότητα ρύθμισης διαφόρων παραμέτρων που αφορούν τη μεταγλώττιση, την παραγωγή τεκμηρίωσης (documenting), το πακετάρισμα (packaging) και την εκτέλεση της εφαρμογής. Διαχείριση Βιβλιοθηκών και Λειτουργικών Μονάδων Οι διάφορες βιβλιοθήκες που χρησιμοποιούνται στα έργα λογισμικού μπορούν να οργανωθούν με τη χρήση του Library Manager, ώστε να γίνεται ευκολότερη ενσωμάτωση τους σε αυτά. Ο χρήστης επιλέγει ένα όνομα αναφοράς για κάθε βιβλιοθήκη, ορίζει τα πηγαία αρχεία της και προαιρετικά κάποιο έτοιμο πακέτο τεκμηρίωσης javadoc. Έπειτα. η προσθήκη της βιβλιοθήκης σε κάποιο έργο λογισμικού, γίνεται διαθέσιμη στο α- ντίστοιχο διαλογικό παράθυρο μέσω του ονόματος αναφοράς που επέλεξε ο χρήστης. Η διαχείριση των λειτουργικών μονάδων, αφορά τις βασικές λειτουργικές που αποτελούν το Netbeans καθώς και τις διάφορες επιπρόσθετες που του προσδίδουν συνήθως λειτουργικότητα σε συγκεκριμένους τομείς (π.χ. Profiler, Mobility Pack κλπ.). Ο χρήστης μπορεί να εγκαταστήσει / απεγκαταστήσει modules, ενώ του παρέχεται η δυνατότητα αναζήτησης κι εγκατάστασης αναβαθμισμένων εκδόσεων αυτών. GUI / Source Code Editor Το Netbeans παρέχει έναν αρκετά εύχρηστο συνθέτη γραφικού περιβάλλοντος (GUI editor) που υποβοηθά την ανάπτυξη αντίστοιχων εφαρμογών καθώς κι έναν εξελιγμένο και χρηστικότατο συντάκτη πηγαίου κώδικα (Source code editor). Ο GUI editor, δίνει τη δυνατότητα σύνθεσης του γραφικού περιβάλλοντος της εφαρμογής με γραφικό WYSIWYG (What You See Is What You Get) τρόπο. Ακόμη, μέσω αυτού παρέχεται -34-

41 ένας πολύ βολικός τρόπος ορισμού των ιδιοτήτων των γραφικών στοιχείων της εφαρμογής καθώς και ορισμού διασυνδέσεων με EventListeners κλπ. Οι ενέργειες του χρήστη στον GUI editor, αποτυπώνονται στο συντάκτη πηγαίου κώδικα με την αυτόματη παραγωγή του αντίστοιχου κώδικα. Ο κώδικας που αφορά τον ορισμό των γραφικών στοιχείων δεν μπορεί να τροποποιηθεί από το χρήστη μέσω του συντάκτη πηγαίου κώδικα, πράγμα που αποτρέπει την ακούσια αλλοίωση του, ωστόσο αφαιρεί τη δυνατότητα άμεσης παρέμβασης σε αυτόν. Ο συντάκτης πηγαίου κώδικα παρέχει τη δυνατότητα αυτόματης συμπλήρωσης κώδικα (code auto-completion). Μάλιστα, εφόσον έχει εγκατασταθεί javadoc για τη βιβλιοθήκη στην οποία αφορά ο κώδικας, τότε αυτό προβάλλεται προκειμένου να διευκολυνθεί ο χρήστης στην επιλογή του συμπληρούμενου κώδικα. Η λειτουργία αυτή συμπληρώνεται από τη δυνατότητα αντιστοίχισης συντετμημένων πληκτρολογήσεων σε συγκεκριμένα πρότυπα κώδικα (π.χ. η πληκτρολόγηση sout+[space] εισάγει τον κώδικα System.Out.println( );), και η δυνατότητα πλήρους παραμετροποίησης τους από το χρήστη. Σημαντική είναι η δυνατότητα αυτόματης κατάτμησης του κώδικα σε αναδιπλούμενες ενότητες και η δυνατότητα μαζικής επέκτασης/αναδίπλωσης όλων ή συγκεκριμένων κατηγοριών τμημάτων κώδικα(π.χ. αναδίπλωση μόνο των σχολίων). Πολύ σημαντική είναι η δυνατότητα αυτόματης περιβολής τμήματος κώδικα με trycatch blocks, ανάλογα με τις εντολές που αυτό περιέχει. Εξίσου σημαντικές είναι οι κατευθύνσεις (hints) που δίνει το Netbeans για την διόρθωση του κώδικα και η δυνατότητα αυτόματης εφαρμογής τους με 1 κλικ (π.χ. εφαρμογή εισαγωγής κάποιας απαιτούμενης βιβλιοθήκης). Τέλος αξίζει να αναφέρουμε τη δυνατότητα εισαγωγής σημείων ε- λέγχου (breakpoints) που λειτουργούν σαν σελιδοδείκτες μέσα στον κώδικα και διευκολύνουν σημαντικά τη διαδικασία αποσφαλμάτωσης του εκάστοτε έργου λογισμικού. 4.2 CLIPS Το CLIPS (C Language Integrated Production System) είναι ένα εξελιγμένο εργαλείο ανάπτυξης συστημάτων γνώσης. Αναπτύχθηκε από τη NASA το 1985, με σκοπό την παράκαμψη των περιορισμών που επέβαλλε η χρήση της LISP στις μέχρι τότε εφαρμογές ΤΝ του οργανισμού κι έκτοτε χρησιμοποιείται ευρέως σε πληθώρα εφαρμογών. -35-

42 Εικόνα 4.2 Τυπική οθόνη από το CLIPS 6.24 Μερικά από τα κυριότερα χαρακτηριστικά του CLIPS είναι: Υποστήριξη αναπαράστασης της γνώσης με διάφορες προσεγγίσεις, όπως η βασισμένη σε κανόνες (rule-based), η αντικειμενοστρεφής (object-oriented) και η διαδικασιακή (procedural). Η αυξημένη του φορητότητα και ταχύτητα που προκύπτει από το γεγονός ότι είναι γραμμένο σε C. Έτσι μπορεί να μεταγλωττιστεί σε οποιαδήποτε υπολογιστική πλατφόρμα για την οποία υπάρχει μεταγλωττιστής της C συμβατός με το πρότυπο ANSI της γλώσσας. Είναι λογισμικό ανοιχτού κώδικα, πράγμα που σημαίνει ότι ο πηγαίος κώδικας του διατίθεται ελεύθερα και μπορεί να τροποποιηθεί από τους χρήστες κατά το δοκούν, προκειμένου να καλύψει συγκεκριμένες ανάγκες τους. Η εύκολη ενσωμάτωσή (integration) του σε εφαρμογές που έχουν γραφεί με διαδικασιακές γλώσσες όπως η C, η JAVA, η Fortran και ADA και η δυνατότητα επέκτασής του μέσω πληθώρας καλώς ορισμένων πρωτοκόλλων. Υποβοήθηση της διαδικασίας επικύρωσης κι επαλήθευσης συστημάτων γνώσης μέσω της υποστήριξης περιορισμών όπως ο δυναμικός ή στατικός έλεγχος περιορισμών (dynamic/static constraint checking) κλπ. -36-

43 Διαδραστική διαδικασία ανάπτυξης, μέσω ενός περιβάλλοντος βασισμένου σε κείμενο, των βοηθημάτων αποσφαλμάτωσης και του ενσωματωμένου συντάκτη κώδικα. Πλήρης τεκμηρίωση μέσω των ελεύθερα διακινούμενων οδηγού χρήστη και εγχειριδίου αναφοράς. Χαμηλό κόστος καθώς διατηρείται υπό καθεστώς ελεύθερης διακίνησης (public domain software). Η καθοριστική επίδραση του CLIPS στο χώρο των συστημάτων παραγωγής κανόνων εκδηλώνεται με πολλούς τρόπους, με χαρακτηριστικό παράδειγμα την υιοθέτηση του συντακτικού του από αντίστοιχα συστήματα, ένα από τα οποία είναι το JESS που παρουσιάζεται συνοπτικά στη συνέχεια. 4.3 JCLIPS Το JCLIPS είναι λογισμικό που επιτρέπει την ανάπτυξη εφαρμογών που συνδυάζουν το CLIPS με τη JAVA, μέσω της δυνατότητας ενσωμάτωσης της μηχανής του CLIPS σε αυτές. Αναπτύχθηκε από τον Marteen Menken, για το τμήμα Τεχνητής Νοημοσύνης του Πανεπιστημίου Vrije του Amsterdam. Το JCLIPS παρέχει τη δυνατότητα ελέγχου της μηχανής του CLIPS μέσω της JAVA, για εκτέλεση λειτουργιών όπως η φόρτωση κι «εκτέλεση» αρχείων CLIPS και την επιστροφή πληροφορίας από τη μηχανή του CLIPS προς την JAVA, με τη μορφή αλφαριθμητικού. Η διασύνδεση του JCLIPS με τις εφαρμογές JAVA, υλοποιείται από ένα αρχείο βιβλιοθήκης JAVA με τη μορφή JAVA archive (jclips.jar) και ένα αρχείο βιβλιοθήκης που περιέχει μια αυτόνομη και πλήρη διανομή του CLIPS 5. Συνεπώς, το CLIPS αυτό καθ αυτό, δεν είναι απαραίτητο για την υλοποίηση της διασύνδεσης. Στο τρέχον website του JCLIPS διατίθεται ο πηγαίος κώδικας της βιβλιοθήκης της μηχανής του CLIPS (σε γλώσσα C), ώστε να μπορεί να μεταγλωττιστεί από τους χρήστες στην εκάστοτε υπολογιστική πλατφόρμα που χρησιμοποιούν. Να σημειωθεί, ότι ο πηγαίος κώδικας της βιβλιοθήκης συμπεριλαμβάνει και τον πηγαίο κώδικα του CLIPS. Στο αρχείο JAR υλο- 5 Το JCLIPS 1.2, δηλαδή η τρέχουσα έκδοση που κυκλοφόρησε στις , περιέχει μια πλήρη διανομή της έκδοσης 6.22 του CLIPS. Στο website, διατίθεται και μία προμεταγλωττισμένη έκδοση της βιβλιοθήκης της μηχανής του CLIPS για την πλατφόρμα των Windows, σε μορφή DLL. -37-

44 ποιείται το μέρος που αφορά την όψη της διασύνδεσης από την πλευρά της JAVA. Tο αρχείο αυτό διατίθεται προμεταγλωττισμένο για χρήση σε όλες τις υπολογιστικές πλατφόρμες που υποστηρίζουν την JAVA Virtual Machine, ενώ διατίθεται και ο πηγαίος κώδικας του, σε περίπτωση που κάποιος θέλει να τον μεταγλωττίσει στο μηχάνημά του. Το αρχείο αυτό θα πρέπει απαραίτητα να προστεθεί στη μεταβλητή περιβάλλοντος CLASSPATH του λειτουργικού συστήματος ώστε να μπορεί να χρησιμοποιηθεί από τις εφαρμογές JAVA. Τέλος αξίζει να σημειώσουμε ότι διατίθεται online τεκμηρίωση σε μορφή JAVADOC για το JAVA API του JCLIPS. Τo JCLIPS «παίρνει» τις απαιτούμενες πληροφορίες από κάποιο αρχείο γνώσης, το ο- ποίο είτε μπορεί να υφίσταται σε κάποιο προσβάσιμο από τον υπολογιστή αποθηκευτικό χώρο, είτε να δημιουργείται δυναμικά από την ίδια την εφαρμογή. Στη συνέχεια, ε- κτελεί τους συλλογισμούς και επιστρέφει με τη μορφή αλφαριθμητικού, οποιαδήποτε απόκριση της μηχανής του JCLIPS (δηλώνεται στο αρχείο γνώσης με την εντολή sendto-java). Ο χρήστης έχει πλέον τη δυνατότητα να διαχειριστεί την απόκριση (αλφαριθμητικό) του JCLIPS κατά το δοκούν. Η λειτουργία του JCLIPS βασίζεται στη διεπαφή (interface) Observer της JAVA. Τo interface αυτό επιτρέπει στα αντικείμενα που το υλοποιούν, να επιβλέπουν -κατά κάποιο τρόπο- τις αλλαγές που μπορεί να συμβαίνουν σε άλλα αντικείμενα, στα οποία έ- χουν οριστεί ως «παρατηρητές». Τα «παρατηρούμενα» αντικείμενα θα πρέπει να είναι υποκλάσεις της συμπαγούς (concrete) κλάσης Observable. Ακριβώς για το λόγο αυτό, έχουν εκφραστεί προβληματισμοί για τη χρησιμότητα του σχήματος Observer / Observable, καθώς ο περιορισμός που εισάγει η συμπαγής φύση της κλάσης Observable, καθιστά το σχήμα λιγότερο αφαιρετικό και γενικό, δυσχεραίνοντας τη χρήση του. Συνέπεια των παραπάνω είναι η απαίτηση χρήσης κάποιου PropertyChangeListener που θα επιδρά σε κάποιο στιγμιότυπο (υπο)κλάσης της Observable, με σκοπό την επίβλεψη αλλαγών σε πολύπλοκα αντικείμενα, τα οποία υποχρεωτικά δεν μπορούν να είναι υπόκλαση της (π.χ. κάποιο custom GUI component). Ωστόσο, κάτι τέτοιο δεν είναι απαραίτητο για απλούστερες κλάσεις, όπως η κλάση JClips που διαχειρίζεται τη μηχανή του JCLIPS κι έχει οριστεί ως επέκταση της Observable. Αυτό που απομένει πλέον για να ολοκληρωθεί η διασύνδεση, είναι ο ορισμός του αντικειμένου, το οποίο θα επιφορτιστεί με το ρόλο του επιβλέποντα της μηχανής του JCLIPS. Αυτό μπορεί να είναι οποιοδήποτε αντικείμενο υλοποιεί τη διασύνδεση Observer, πράγμα που λύνει τα χέρια του προγραμματιστή ως προς την επιλογή (του τρόπου διαμόρφωσης της κλάσης που θα αποτε- -38-

45 λέσει το υπόδειγμα για το στιγμιότυπο) του(/των) αντικειμένου-παρατηρητή. Σε αυτό το σημείο θα πρέπει να σημειώσουμε, πως μέσω του JCLIPS, μπορεί να υπάρξει μόνο μία διασύνδεση της JAVA με το περιβάλλον CLIPS. Για να δοθεί έμφαση σε αυτό, η μία και μοναδική γέφυρα μεταξύ JAVA και CLIPS, δημιουργείται αυτόματα και η α- ναφορά σε αυτήν μπορεί να επιτευχθεί μέσω της μεθόδου getinstance(). Τα μηνύματα που επιστρέφονται από τη μηχανή του CLIPS, αποστέλλονται διαδοχικά σε όσα αντικείμενα έχουν οριστεί ως παρατηρητές της κλάσης. Αυτό γίνεται με κλήσεις της μεθόδου receive των παρατηρητών, από την CLIPS συνάρτηση send-to-java. Στη συνέχεια ο χρήστης έχει τη δυνατότητα να ορίσει κάποιες ενέργειες, οι οποίες πυροδοτούνται αυτόματα με τη λήψη του μηνύματος από τα παρατηρούμενα αντικείμενα, μέσω της μεθόδου update των αντικειμένων παρατηρητών. Αυτές, κατ επιλογήν μπορούν να περιλαμβάνουν επεξεργασία των δεδομένα που ελήφθησαν (συνηθέστερα) ή όχι. Εικόνα 4.3 Σχηματική αναπαράσταση του τρόπου λειτουργίας του JCLIPS. Η λειτουργία του JCLIPS έχει δοκιμαστεί με επιτυχία σε περιβάλλον Linux και MS Windows. Το JCLIPS διατίθεται ελεύθερα χωρίς να επιβάλλονται περιορισμοί οποιουδήποτε είδους στη χρήση του. 4.4 JESS Το JESS είναι μια μηχανή κανόνων για την πλατφόρμα της JAVA, γραμμένη εξ ολοκλήρου σε JAVA από τον Ernest Friedman-Hill των εθνικών εργαστηρίων Sandia του Livermore της California. Με χρήση του JESS μπορεί να αναπτυχθεί λογισμικό JAVA -39-

46 που θα έχει την ικανότητα συλλογισμού, χρησιμοποιώντας γνώση η οποία του παρέχεται με δηλωτικούς κανόνες. Το JESS χρησιμοποιεί μια εκδοχή του αλγορίθμου Rete, που είναι ένας πολύ αποδοτικός μηχανισμός επίλυσης του δύσκολου προβλήματος α- ντιστοίχισης «πολλών προς πολλά». Ανάμεσα στις δυνατότητες του JESS είναι η ανάστροφη ακολουθία εκτέλεσης (backwards chaining), η δυνατότητα θέσης ερωτημάτων σχετικά με τη μνήμη εργασίας (working memory queries) και φυσικά ο απ ευθείας χειρισμός αντικειμένων JAVA και η διεξαγωγή συλλογισμών για αυτά. Οι κανόνες μπορούν να εκφραστούν είτε στη γλώσσα κανόνων του JESS (προφανώς προτιμότερο για βελτιστοποίηση της απόδοσης του JESS), είτε σε XML (JESSML). Οι δημιουργοί του ισχυρίζονται πως είναι μικρό σε μέγεθος, επιβαρύνει ελάχιστα το σύστημα (υπολογιστικά) και πως είναι μια από τις ταχύτερες διαθέσιμες μηχανές κανόνων που έχουν αναπτυχθεί. Το JESS διαθέτει ένα περιβάλλον ανάπτυξης βασισμένο στην πλατφόρμα Eclipse, καθώς και μια ισχυρή γλώσσα συγγραφής σεναρίων (scripting language) που επιτρέπει την πρόσβαση σε όλα τα διαθέσιμα JAVA ΑPIs, δίνοντας π.χ. τη δυνατότητα για τη δημιουργία αντικειμένων, κλήση μεθόδων και την υλοποίηση διεπαφών JAVA, χωρίς να είναι απαραίτητη η μεταγλώττιση, έστω και μιας γραμμής κώδικα JAVA. Γενικά, τα συστήματα που χρησιμοποιούν JESS μπορούν να αναπτυχθούν βάσει αρχιτεκτονικές που συνεπάγονται διάφορα επίπεδα εξάρτησης από το JESS. Στις α- κραίες περιπτώσεις έχουμε την αυτόνομη λειτουργία του JESS (προγραμματισμός σε JESS scripts) και από την άλλη, τον πλήρη έλεγχό του από εφαρμογές JAVA μέσω του JESS JAVA API. Το τρέχον καθεστώς αδειοδότησης του JESS διαφέρει ανάλογα με το σκοπό χρήσης. Το JESS μπορεί να αδειοδοτηθεί για εμπορικούς σκοπούς με την καταβολή κάποιου αντιτίμου, ενώ για ακαδημαϊκούς σκοπούς, η αδειοδότηση γίνεται δωρεάν κατόπιν συνεννόησης. Στο website του JESS, υπάρχει η δυνατότητα λήψης μιας πλήρως λειτουργικής δοκιμαστικής έκδοσης με περιορισμό χρήσης 30 ημερών. Στο πακέτο συμπεριλαμβάνεται και το εγχειρίδιο χρήσης καθώς και offline τεκμηρίωση σε μορφή JAVADOC (υπάρχει διαθέσιμη και online στο website). -40-

47 5 Σχεδιασμός Στο κεφάλαιο αυτό, παρουσιάζονται οι βασικές σχεδιαστικές επιλογές που έθεσαν τις βάσεις για την υλοποίηση του συστήματος που αναπτύχθηκε στα πλαίσια της εργασίας αυτής. Αρχικά παρουσιάζεται το πρόβλημα το οποίο καλείται να επιλύσει η εφαρμογή. Στη συνέχεια, παρουσιάζεται η αρχιτεκτονική του συστήματος και καθορίζεται το σύνολο των απαιτήσεων (λειτουργικών ή όχι). Ακολούθως, αναλύονται οι σχεδιαστικές αποφάσεις που αφορούν τον τομέα διεπαφής χρήστη. Τέλος, γίνεται αναφορά σε ζητήματα που αφορούν το σύστημα γνώσης. 5.1 Το πρόβλημα Το πρόβλημα που καλείται να επιλύσει το σύστημα είναι η διάγνωση βλαβών σε συνδυαστικά κυκλώματα τα οποία αποτελούνται από αθροιστές και πολλαπλασιαστές. Για τους σκοπούς της διαγνωστικής λειτουργίας, πέραν αυτών των βασικών λειτουργικών εξαρτημάτων, κρίνεται απαραίτητη η χρήση αισθητήρων που θα καταγράφουν μετρήσεις σχετικές την έξοδο των εξαρτημάτων, στα οποία συνδέονται. Τα πειράματα που καλείται να επιλύσει το σύστημα αποτελούνται από μια αφηρημένη αναπαράσταση του προς εξέταση κυκλώματος και ενός συνόλου πειραματικών δεδομένων που αφορούν τις εισόδους του και τις μετρήσεις των αισθητήρων. Η αναπαράσταση αυτή, θα πρέπει να συντίθεται με γραφικό τρόπο βάσει συστατικών, τα οποία αναπαριστούν τα εξαρτήματα και τις μεταξύ τους διασυνδέσεις. Τελικός στόχος του συστήματος είναι η αποσαφήνιση της κατάστασης λειτουργίας του κυκλώματος, λαμβάνοντας υπ όψιν τις επί μέρους καταστάσεις των συστατικών εξαρτημάτων. Για το λόγο αυτό, το πρόβλημα θεωρείται πως είναι κατάλληλα δομημένο για επίλυση με χρήση της συλλογιστικής μοντέλων, αφού μεταξύ άλλων μπορούμε να εκμεταλλευθούμε το χαρακτηριστικό της συνθετικότητας. Για τη δημιουργία ενός συστήματος βασισμένου στη συλλογιστική μοντέλων, είναι α- παραίτητος ο σχεδιασμός ενός πλαισίου μοντελοποίησης (modeling framework) του πραγματικού συστήματος, το οποίο θα αποτελεί κατά κάποιον τρόπο, το «σχεδιαστικό πυρήνα» του συστήματος. Στην περίπτωση του προβλήματος μας, το πλαίσιο μοντελο- -41-

48 ποίησης θα μπορούσε να συντεθεί από συμβάσεις σχετικά με τη φύση, τις παραμέτρους συνδεσιμότητας και τις καταστάσεις λειτουργίας των εξαρτημάτων. Οι συμβάσεις αυτές ορίζονται με τρόπο τέτοιο, ώστε το τελικό πλαίσιο μοντελοποίησης να απεικονίζει κατά το μεγαλύτερο δυνατό βαθμό τις ιδιότητες των πραγματικών συνδυαστικών κυκλωμάτων. Αναλυτικότερα, οι συμβάσεις που υιοθετούνται από το πλαίσιο μοντελοποίησης που χρησιμοποιεί η εφαρμογή και αφορούν τον τρόπο σύνθεσης των μοντέλων των συνδυαστικών κυκλωμάτων είναι (o Πίνακας 1 παρουσιάζει συνοπτικά υποσύνολο αυτών): Όλα τα εξαρτήματα έχουν μια μοναδική έξοδο που μπορεί να συνδεθεί σε ένα μοναδικό εξάρτημα. Τα λειτουργικά εξαρτήματα έχουν 2 εισόδους. Οι αισθητήρες έχουν μια μοναδική είσοδο. Οι ακροδέκτες εισόδου δεν έχουν είσοδο, καθώς η τιμή εισόδου τους ορίζεται απευθείας από το χρήστη. Οι έξοδοι των ακροδεκτών εισόδου μπορούν να συνδεθούν μόνο με λειτουργικά εξαρτήματα κι όχι με αισθητήρες. Οι έξοδοι των αισθητήρων μπορούν είτε να αποτελούν την τελική έξοδο του κυκλώματος, είτε να συνδέονται σε εισόδους λειτουργικών εξαρτημάτων. Οι έξοδοι των λειτουργικών εξαρτημάτων πρέπει οπωσδήποτε να συνδέονται σε εισόδους αισθητήρων, ώστε να εξασφαλίζεται το μεγαλύτερο δυνατό ποσοστό διαγνωσιμότητας των μοντέλων κυκλωμάτων. Δεν επιτρέπονται κύκλοι στο γράφο (ουσιαστικά δυαδικό δένδρο) που απεικονίζει το μοντέλο των συνδεδεμένων εξαρτημάτων. Δηλαδή δεν επιτρέπονται συνδέσεις ανατροφοδότησης. Ο γράφος αυτός, θα πρέπει να αποτελείται από μια μοναδική συνδεδεμένη συνιστώσα. Πίνακας 1 Φύση και παράμετροι συνδεσιμότητας των εξαρτημάτων -42-

49 Η φύση των εξαρτημάτων καθορίζεται βάσει του ρόλου που επιτελούν στο μοντέλο του συστήματος. Συγκεκριμένα, ο ρόλος των αισθητήρων είναι διαγνωστικός, των πολλαπλασιαστών και των αθροιστών λειτουργικός, ενώ οι ακροδέκτες εισόδου ενσωματώνονται στο μοντέλο συστήματος καθαρά κατά σύμβαση μοντελοποίησης. Μερικές επιπλέον συμβάσεις, που αφορούν τις καταστάσεις λειτουργίας των εξαρτημάτων, σύμφωνα με το πλαίσιο μοντελοποίησης είναι: Οι συνδέσεις μεταξύ των εξαρτημάτων υλοποιούνται από ιδανικούς αγωγούς, οπότε δεν τίθεται θέμα εσφαλμένης λειτουργίας τους. Ομοίως, και οι ακροδέκτες εισόδου είναι ιδανικοί και λειτουργούν πάντα χωρίς βλάβες. Οι δυνατές καταστάσεις λειτουργίας / δυσλειτουργίας των λειτουργικών εξαρτημάτων καθορίζονται από την ένδειξη του αισθητήρα που συνδέεται στην έξοδό τους και είναι οι εξής τρεις: κατάσταση κανονικής λειτουργίας (nominal operation), κατάσταση αποκοπής σημαντικότερου ψηφίου (Most Significant Bit cutoff MSB) και κατάσταση βραχυκυκλώματος (short circuit). Οι δυνατές καταστάσεις λειτουργίας των αισθητήρων είναι η κατάσταση κανονική λειτουργίας και η κατάσταση βραχυκυκλώματος. Τα λειτουργικά εξαρτήματα βρίσκονται σε κατάσταση: o Κανονικής λειτουργίας όταν η ένδειξη του αισθητήρα τους, ισούται με το υπόλοιπο της διαίρεσης του αθροίσματος (αθροιστές) / γινομένου (πολλαπλασιαστές), δια 32 (δηλαδή 2 5 ). o Αποκοπής σημαντικότερου ψηφίου (MSB), όταν η ένδειξη του αισθητήρα τους, ισούται με το υπόλοιπο της διαίρεσης του αθροίσματος (αθροιστές) / γινομένου (πολλαπλασιαστές), δια 16 (δηλαδή 2 4 ). o Bραχυκυκλώματος, όταν η ένδειξη του αισθητήρα τους, ισούται με 0. Οι αισθητήρες βρίσκονται σε κατάσταση: o Κανονικής λειτουργίας, όταν η ένδειξη τους αντιστοιχεί σε κάποια από τις τρεις καταστάσεις λειτουργίας των λειτουργικών εξαρτημάτων. o Κατάσταση βραχυκυκλώματος, σε αντίθετη περίπτωση. Πίνακας 2 Καταστάσεις λειτουργίας λειτουργικών εξαρτημάτων και αισθητήρων -43-

50 5.2 Αρχιτεκτονική και Προδιαγραφές Γενική Άποψη της Αρχιτεκτονικής του Συστήματος Το πληροφοριακό σύστημα που επιλύει το πρόβλημα μας, όπως αυτό ορίστηκε στην ενότητα 5.1, θα μπορούσε να σχεδιαστεί αρθρωτά, αποτελούμενο από τρία βασικά συστατικά: Τη διεπαφή χρήστη, μέσω της οποίας πραγματοποιείται οποιαδήποτε επικοινωνία του χρήστη με το πληροφοριακό σύστημα, όπως οι ενέργειες που απαιτούνται για τη γραφική αναπαράσταση των μοντέλων των συνδυαστικών κυκλωμάτων, ο ορισμός των πειραματικών τιμών κτλ. Τις ενδιάμεσες υπομονάδες, που αναλαμβάνουν τη μετατροπή των αναπαραστάσεων που δημιουργεί ο χρήστης σε μορφές κατάλληλα κωδικοποιημένες για αποδοτική επεξεργασία από το σύστημα γνώσης Το σύστημα γνώσης, το οποίο δέχεται αυτές τις κατάλληλα κωδικοποιημένες μορφές των αναπαραστάσεων και των πειραματικών τιμών που τους αντιστοιχούν και επιτελεί τη λειτουργία διάγνωσης, βάσει των κανόνων της βάσης γνώσης του. Εικόνα 5.1 Απλή θεώρηση της αρχιτεκτονικής του συστήματος Μια απλή θεώρηση της αρχιτεκτονική του συστήματος, όπως περιγράφηκε παραπάνω, απεικονίζεται στην Εικόνα 5.1. Το πλαίσιο μοντελοποίησης που παρουσιάστηκε στην ενότητα 5.1, όπως είναι ευνόητο θα πρέπει να εκφράζεται με σχεδιαστικές επιλογές που θα μεταφράζονται, είτε ως περιορισμοί στις δυνατές επιτρεπτές ενέργειες του χρήστη μέσω της διεπαφής, είτε ως κανόνες που ενσωματώνονται στη βάση γνώσης του συστήματος Λειτουργικές Απαιτήσεις Απαραίτητες Το σύστημα που θα αναπτυχθεί θα πρέπει να πληροί ένα συγκεκριμένο σύνολο προδιαγραφών λειτουργίας, ώστε να επιλύει το ζητούμενο πρόβλημα. Συγκεκριμένα, για να -44-

51 μπορούμε να θεωρήσουμε επιτυχημένο το σύστημα που θα αναπτυχθεί, ο χρήστης θα πρέπει να μπορεί οπωσδήποτε να εκτελέσει τουλάχιστον τις εξής λειτουργίες: Σύνθεση αναπαράστασης του συνδυαστικού κυκλώματος με γραφικό τρόπο Καθοδήγηση του χρήστη με κατατοπιστικά μηνύματα σε περίπτωση απόπειρας παραβίασης των μη αυτονόητων συμβάσεων του πλαισίου μοντελοποίησης, κατά τη διαδικασία της σύνθεσης μοντέλων Παρουσίαση των ιδιοτήτων των συστατικών των μοντέλων με συνοπτικό κι εύληπτο τρόπο Δυνατότητα δημιουργίας πειραμάτων μέσω του ορισμού πειραματικών τιμών για τους ακροδέκτες εισόδου και τους αισθητήρες Δυνατότητα αποθήκευσης μοντέλων συνδυαστικών κυκλωμάτων, αλλά και πειραμάτων, για μελλοντική επεξεργασία Εκτέλεση πειραμάτων διάγνωσης και παρουσίαση των αποτελεσμάτων με εύληπτο τρόπο στο χρήστη Επιθυμητές Πέραν των απαραίτητων και βασικών λειτουργικών απαιτήσεων, κατά τη φάση του σχεδιασμού, καταγράφηκαν επιπλέον ιδέες που θα μπορούσαν να βελτιώσουν τη λειτουργικότητα του συστήματος. Ενδεικτικά αναφέρουμε κάποιες: Αποθήκευση μοντέλων / πειραμάτων σε μορφή κατανοητή από ανθρώπους, για εύκολη «χειροκίνητη» επεξεργασία. Δυνατότητα εξαγωγής του αναπαριστώμενου μοντέλου σε κάποια μορφή ψηφιακής εικόνας. Δυνατότητα εξαγωγής αρχείων πειραμάτων για χρήση σε αυτόνομες μηχανές κανόνων. Δυνατότητα αναίρεσης κι επανάληψης ενεργειών στην επιφάνεια σχεδίασης/ σύνθεσης μοντέλου. Δυνατότητα επιλογής τρόπου εσωτερικής αναπαράστασης της γνώσης με παραπάνω από έναν τρόπο. -45-

52 5.2.3 Μη Λειτουργικές Απαιτήσεις Οι μη λειτουργικές απαιτήσεις, αφορούν το τεχνικό σκέλος του σχεδιασμού του συστήματος. Οι τεχνικές προδιαγραφές του συστήματος, ήταν η υλοποίηση της διεπαφής χρήστη σε γλώσσα JAVA (ενότητα 4.1.1) και η διεξαγωγή των συλλογιστικών διαδικασιών από το JCLIPS (ενότητα 4.3). Στη συνέχεια, τέθηκε ως στόχος και η υλοποίηση της επιπλέον απαίτησης για δυνατότητα διεξαγωγής των συλλογιστικών διαδικασιών και μέσω του JESS (ενότητα 4.4). 5.3 Σχεδιασμός της Διεπαφής Χρήστη Απαραίτητα Συστατικά Στοιχεία Η διεπαφή χρήστη θα πρέπει να είναι οργανωμένη κατά τέτοιο τρόπο ώστε να παρέχει στο χρήστη τη μέγιστη δυνατή λειτουργικότητα. Συγκεκριμένα για τη σύνθεση των μοντέλων, είναι απαραίτητο να υπάρχει μια παλέτα από την οποία ο χρήστης θα επιλέγει τα εξαρτήματα και μια περιοχή σχεδίασης/σύνθεσης, όπου θα τα τοποθετεί τα εξαρτήματα συνθέτοντας το μοντέλο του κυκλώματος. Επίσης, θα πρέπει να υπάρχει ένα διαλογικό παράθυρο, όπου ο χρήστης θα μπορεί να εισάγει τις τιμές που απαιτούνται για τη δημιουργία πειραμάτων. Καλό θα ήταν να υπάρχει μια περιοχή όπου ο χρήστης θα μπορεί να ελέγξει διάφορες πληροφορίες που αφορούν τα εκάστοτε επιλεγμένα εξαρτήματα της επιφάνειας σχεδίασης. Επιπλέον, θα πρέπει να υπάρχουν στοιχεία ελέγχου, που θα δίνουν τη δυνατότητα στο χρήστη να επιλέξει τη μηχανή η οποία θα εκτελέσει τη συλλογιστική διαδικασία και τον τρόπο αναπαράστασης της γνώσης. Σημαντική είναι η παρουσία μιας περιοχής που θα καταδεικνύει την κατάσταση του αναπαριστάμενου μοντέλου, όσον αφορά την πληρότητα και την εγκυρότητα του, αλλά και την πληρότητα των απαραίτητων τιμών εισόδου για τη δημιουργία κι εκτέλεση πειραμάτων. Τα ενεργά στοιχεία ελέγχου (κουμπιά) που επιτελούν τις βασικές λειτουργίες του συστήματος, θα πρέπει να είναι τοποθετημένα σε καίριες θέσης, ενώ καλό θα ήταν να σχεδιαστούν με τέτοιο τρόπο ώστε να ελκύουν την προσοχή του χρήστη. Τέλος, ευπρόσδεκτη θα ήταν η ύπαρξη ενός κεντρικού μενού, το οποίο θα είναι οργανωμένο ώστε να ομαδοποιεί τις λειτουργίες βάσει της συνάφειας τους, παρέχοντας έναν εναλλακτικό τρόπο εκτέλεσης ορισμένων λειτουργιών. -46-

53 5.3.2 Στοιχεία Διεπαφής για τη Σύνθεση Μοντέλων Τα στοιχεία που σχετίζονται με τη σύνθεσης των μοντέλων των συνδυαστικών κυκλωμάτων, λογικά θα είναι αυτά με τα οποία θα αλληλεπιδρά συχνότερα ο χρήστης. Κατά συνέπεια, η σχεδίαση του τομέα αυτού θα πρέπει να γίνει με τη μέγιστη δυνατή προσοχή, καθώς η επιτυχία της σχεδίασής του, θα κρίνει κατά πάσα πιθανότητα και την επιτυχία του συστήματος εν γένει. Το στοιχείο της διεπαφής που σχετίζεται σε μεγαλύτερο βαθμό με την επιτέλεση της εν λόγω λειτουργίας, είναι η επιφάνεια σχεδίασης / σύνθεσης. Ενδεικτικά, επιθυμητά στοιχεία που χαρακτηρίζουν ένα τέτοιο στοιχείο διεπαφής, είναι η γρήγορη απόκριση του σε αλλαγές και η θεωρητική επ άπειρον δυνατότητα ε- πέκτασης του, με παράλληλη δυνατότητα κύλισης (scrolling). Καλή σχεδιαστική τακτική θα ήταν η τοποθέτηση ενεργών στοιχείων ελέγχου που σχετίζονται στενά με τη λειτουργικότητα επιφάνεια σχεδίασης, σε σημεία κοντινά της. Για παράδειγμα, θα μπορούσαν να τοποθετηθούν ενεργά στοιχεία ελέγχου που αφορούν λειτουργίες, όπως η αναίρεση κι επανάληψη λειτουργιών, η εξαγωγή του αναπαριστώμενου μοντέλου σε ψηφιακή εικόνα και οι λειτουργίες αποθήκευσης και φόρτωσης μοντέλων ή πειραμάτων. 5.4 Ζητήματα Συστήματος Γνώσης Το σύστημα γνώσης θα πρέπει να δομηθεί κατάλληλα, ώστε να μπορεί να υποστηρίξει τις απαραίτητες διαδικασίες συλλογιστικής, για την επιτέλεση της λειτουργίας της διάγνωσης. Συγκεκριμένα, θα πρέπει να περιέχει δηλωτική γνώση σχετικά με τα γεγονότα που ουσιαστικά αναπαριστούν το μοντέλο του προς διάγνωση συστήματος και κανόνες οι οποίοι θα καθοδηγούν τη διαδικασία της διάγνωσης. Ο τρόπος αναπαράστασης της γνώσης επηρεάζει ελάχιστα, αλλά όχι κατ αμελητέο τρόπο και τη μορφή των κανόνων που τη χρησιμοποιούν. Κατά συνέπεια, εφόσον θέλουμε να υποστηρίξουμε παραπάνω από μία μορφή αναπαράστασης της γνώσης, θα πρέπει να είμαστε σε θέση να υποστηρίξουμε και αντίστοιχο αριθμό ελάχιστα παραλλαγμένων μορφών των κανόνων. -47-

54

55 6 Υλοποίηση Στο ενότητα αυτή, παρουσιάζεται η υλοποίηση του συστήματος Argus 6 που θα υποστηρίζει τη διάγνωση συνδυαστικών κυκλωμάτων, με χρήση της συλλογιστικής μοντέλων. Αρχικά παρουσιάζεται μια γενική άποψη του συστήματος που υλοποιήθηκε. Στη συνέχεια παρουσιάζεται αναλυτικά η κυριότερη περίπτωση χρήσης που υποστηρίζει η εφαρμογή. Ακολουθεί ένας συνοπτικός οδηγός χρήσης του συστήματος, που θα μπορούσε να χρησιμοποιηθεί για την άμεση εξοικείωση των χρηστών με την εφαρμογή. Το κεφάλαιο κλείνει με την παρουσίαση κάποιων αξιοσημείωτων αποσπασμάτων από τον πηγαίο κώδικα. 6.1 Γενική Επισκόπηση της Εφαρμογής Γραφική Διεπαφή Χρήστη Η γραφική διεπαφή χρήστη υλοποιήθηκε με χρήση του SWING API της JAVA, ενώ χρησιμοποιήθηκε το NimROD Look and Feel 7 (αναπτύχθηκε από τον Nilo J. González), μια εξωτερική βιβλιοθήκη για τη βελτίωση της αισθητικής, αλλά και της εμπειρίας χρήσης της εφαρμογής εν γένει. Το κύριο παράθυρο της εφαρμογής υλοποιείται από ένα αντικείμενο της κλάσης JFrame και χωρίζεται σε 5 περιοχές (φαίνονται με την αντίστοιχη αρίθμησή τους στην Εικόνα 6.1): Παλέτα Εξαρτημάτων (1) Περιοχή Σχεδίασης / Σύνθεσης Μοντέλων (2) Περιοχή Εμφάνισης Πληροφοριών Εξαρτημάτων (3) Περιοχή Παραμετροποίησης Υποσυστήματος Συλλογιστικής (4) Περιοχή Ελέγχου & Εκτέλεσης Πειραμάτων (5) 6 Η ονομασία του συστήματος είναι εμπνευσμένη από την Ελληνική Μυθολογία. Συγκεκριμένα, προέρχεται από τον Άργο τον Πανόπτη, που κατά το μύθο είχε 100 μάτια που ποτέ δεν έκλειναν όλα ταυτόχρονα και διαδραματίζει πρωταγωνιστικό ρόλο στο μύθο της Ιούς

56 Οι περιοχές αυτές υλοποιούνται με αντικείμενα της κλάσης JPanel, ενώ περιβάλλονται από περιγράμματα (borders), ώστε να είναι πιο διακριτή η ομαδοποίησή τους. Εκτός των περιοχών αυτών, το κύριο παράθυρο περιλαμβάνει και ένα πλήρες μενού με τις λειτουργίες οργανωμένες κατά ομάδες. Το μενού υλοποιείται και αυτό με μια κλάση του SWING, την JMenu, ενώ τα επί μέρους συστατικά του υλοποιούνται μέσω της κλάσης JMenuItem. Πέραν του κυρίου παραθύρου, η εφαρμογή περιέχει και άλλα παράθυρα διαλόγου, τα οποία υλοποιούνται μέσω της κλάσης JDialog. Το σημαντικότερο από αυτά, είναι το παράθυρο όπου ο χρήστης εισάγει τις πειραματικές τιμές για τους αισθητήρες και τους ακροδέκτες εισόδου. Άλλα παράθυρα διαλόγου, χρησιμοποιούνται για το «About» σκέλος της εφαρμογής καθώς και για την επιβεβαίωση εκτέλεσης συγκεκριμένων «επικίνδυνων» λειτουργιών από το χρήστη. Εικόνα 6.1 Το κύριο παράθυρο της εφαρμογής με τις περιοχές αριθμημένες Παλέτα Εξαρτημάτων Η παλέτα εξαρτημάτων χρησιμοποιείται από το χρήστη για την επιλογή του εξαρτήματος που θα προστεθεί στην περιοχή σχεδίασης. Για κάθε εξάρτημα (συμπεριλαμβανομένων και των συνδέσεων) υπάρχει ένα αντίστοιχο κουμπί επιλογής που υλοποιείται με -50-

57 την κλάση JToggleButton, ενώ όλα τα κουμπιά δηλώνονται στην ίδια ομάδα (Button- Group), ώστε να μπορεί να είναι επιλεγμένο μόνο ένα σε κάθε συγκεκριμένη στιγμή. Εκατέρωθεν κάθε κουμπιού, υπάρχει αφ ενός το γραφικό σύμβολο της αντίστοιχης κλάσης εξαρτημάτων και αφ εταιρου ο αριθμός των αντίστοιχων αντικειμένων που έ- χουν προστεθεί στο σύστημα. Να σημειωθεί ότι υπάρχει κι ένα μη ορατό κουμπί της ίδιας κλάσης το οποίο ουσιαστικά αντιστοιχεί στη μη επιλογή κάποιου από τα ορατά κουμπιά (αντιστοιχεί δηλαδή στη μη επιλογή κάποιου εξαρτήματος για προσθήκη). Περιοχή Σχεδίασης / Σύνθεσης Μοντέλων Η περιοχή σχεδίασης είναι ουσιαστικά το πιο σημαντικό τμήμα του υποσυστήματος διεπαφής χρήστη. Αποτελείται από ένα αντικείμενο της κλάσης JLayeredPane, ενώ υ- πάρχουν κουμπιά (κλάσης JButton) για την εκτέλεση κάποιων συναφών ενεργειών (περιγράφονται στην ενότητα του συνοπτικού οδηγού χρήσης). Τα αντικείμενα που αναπαριστούν τα εξαρτήματα αποτελούν επεκτάσεις της κλάσης JPanel, ενώ υλοποιούν διεπαφές που σχετίζονται με γεγονότα που προκαλούνται από το ποντίκι (διεπαφές MouseListener, MouseMotionListener), ώστε να ανταποκρίνονται με το ζητούμενο τρόπο σε αυτά. Η λειτουργικότητα της επιφάνειας χρήστη υποστηρίζεται από μεθόδους που αυξομειώνουν το μέγεθός της ανάλογα με τη θέση των αντικειμένων που περιλαμβάνει, ενώ υποστηρίζεται και αυτόματη κύλιση, ώστε να είναι πάντα εμφανές το τρέχον αντικείμενο με το οποίο αλληλεπιδρά ο χρήστης. Τέλος, υπάρχουν και στοιχεία που χρησιμοποιούνται για την πληροφόρηση του χρήστη (με τη μορφή κειμένου), σχετικά με την τρέχουσα κατάσταση ετοιμότητας του συστήματος και για τις όποιες αποκρίσεις του και υλοποιούνται με τις κλάσεις JLabel & JTextField (με απενεργοποιημένη τη δυνατότητα τροποποίησης των περιεχομένων τους). Περιοχή Εμφάνισης Πληροφοριών Εξαρτημάτων Στο συγκεκριμένο τμήμα του κύριου παραθύρου εμφανίζονται πληροφορίες σχετικά με το τρέχον εξάρτημα που είναι επιλεγμένο στην επιφάνεια σχεδίασης. Οι πληροφορίες σηματοδοτούνται με ετικέτες κειμένου (αντικείμενα της κλάσης JLabel) και εμφανίζονται σε αντικείμενα της κλάσης JTextField (πάλι με τη μορφή κειμένου). Στην περιοχή αυτή εμφανίζονται πληροφορίες για την κλάση και τον αύξοντα αριθμό του εξαρτήματος, τα εξαρτήματα με τα οποία αυτό συνδέεται και στην περίπτωση των αισθητήρων και των ακροδεκτών εισόδου, οι πειραματικές τιμές (ένδειξη και τιμή εισόδου αντίστοιχα) που τους αντιστοιχούν. Πέραν των πληροφοριών αυτών, στο κάτω μέρος της περιοχής εμφανίζεται κι ένα κουμπί το οποίο υλοποιεί τη λειτουργία της διαγραφής του τρέ- -51-

58 χοντος επιλεγμένου εξαρτήματος. Σε περίπτωση που δεν είναι επιλεγμένο κανένα εξάρτημα, στην περιοχή αυτή εμφανίζεται η αντίστοιχη ετικέτα που σηματοδοτεί το γεγονός αυτό. Περιοχή Παραμετροποίησης Υποσυστήματος Συλλογιστικής Σε αυτό το τμήμα της διεπαφής, υπάρχουν τα στοιχεία ελέγχου για την παραμετροποίηση του υποσυστήματος συλλογιστικής. Συγκεκριμένα υπάρχουν κουμπιά επιλογής για τη μηχανή κανόνων που θα χρησιμοποιηθεί και για τον εσωτερικό τρόπο αναπαράστασης της γνώσης που θα χρησιμοποιηθεί. Στην περίπτωση αυτή, τα κουμπιά επιλογής υλοποιούνται με JRadioButtons και δηλώνονται σε δύο διαφορετικές ομάδες κουμπιών, μία για κάθε ομάδα επιλογών. Στην περιοχή αυτή τοποθετήθηκε και το κουμπί εξαγωγής των πειραμάτων σε αρχεία CLP για εξωτερική χρήση στο CLIPS. Περιοχή Ελέγχου & Εκτέλεσης Πειράματος Σε αυτήν την περιοχή εμφανίζονται πληροφορίες με τη μορφή κειμένου, σε στοιχεία σχετικά με την εγκυρότητα (ικανοποίηση των συμβάσεων του πλαισίου μοντελοποίησης) του μοντέλου συνδυαστικού κυκλώματος που έχει δημιουργηθεί από το χρήστη, αλλά και την πληρότητα του συνόλου των δεδομένων για τις πειραματικές τιμές που αφορούν τα εξαρτήματα του. Στόχος είναι η διευκόλυνση του χρήστη κατά την εντοπισμό πιθανών ασυμφωνίων / παραλείψεων που δεν επιτρέπουν την εκτέλεση των πειραμάτων. Τα παραπάνω λειτουργούν υποστηρικτικά, καθώς η κύρια λειτουργία της περιοχής αυτής είναι η εκτέλεση των πειραμάτων και η εμφάνιση των αποτελεσμάτων. Στην περιοχή αυτή υπάρχει και το στοιχείο ελέγχου (κουμπί της κλάσης JButton) που ανοίγει το πλαίσιο διαλόγου για την εισαγωγή των πειραματικών τιμών, καθώς κι ένα κουμπί για τον «καθαρισμό» αποτελεσμάτων από προηγούμενα πειράματα, ώστε να μπορούν να εμφανιστούν νέα. Παράθυρο Διαλόγου για Εισαγωγή Πειραματικών Τιμών Στο συγκεκριμένο παράθυρο διαλόγου, ο χρήστης μπορεί να εισάγει τις τιμές που αντιστοιχούν στα εξαρτήματα που συνθέτουν το μοντέλο του συνδυαστικού κυκλώματος. Το παράθυρο περιέχει δυο περιοχές που οριοθετούνται από JPanels με περιγράμματα, που αντιστοιχούν στα στοιχεία εισαγωγής τιμών για τις ενδείξεις των αισθητήρων και των τιμών των ακροδεκτών εισόδου. Σε κάθε περιοχή προσθαφαιρούνται με δυναμικό τρόπο (ανάλογα με τα περιεχόμενα της σχεδίασης), επαναχρησιμοποιήσιμα JPanels που περιέχουν τα απαραίτητα στοιχεία ελέγχου για την εισαγωγή των πειραματικών τιμών. Έχουν κατασκευαστεί δύο ελαφρώς παραλλαγμένες εκδοχές των στοιχείων αυτών, μία -52-

59 για τους αισθητήρες και μία για τους ακροδέκτες εισόδου. Τα στοιχεία αυτά περιέχουν ετικέτες με το γραφικό σύμβολο της κλάσης εξαρτημάτων την οποία αντιπροσωπεύουν και το κείμενο που υποδηλώνει την ταυτότητά τους. Η τιμές εισάγονται σε πεδία κειμένου (κλάσης JTextField), ενώ υπάρχει κι ένα κουμπί (κλάσης JButton) για επιβεβαίωση του ορισμού της τιμής που έδωσε ο χρήστης (εναλλακτικά του ActionListener που έχει οριστεί στο JTextfield κι ενεργοποιείται με την πίεση του πλήκτρου [ENTER]). Πέραν αυτών των συστατικών, υπάρχουν και κουμπιά ελέγχου (κλάσης JButton) για τη μαζική εκτέλεση συγκεκριμένων λειτουργιών (αναφέρονται στη συνέχεια στο συνοπτικό οδηγό χρήσης) κι ένα στοιχείο επιλογής (κλάσης JCheckBox) που επιτρέπει να στο χρήστη να επιλέξει, αν μαζί με τα μοντέλα συστημάτων θέλει να αποθηκεύονται και οι πειραματικές τιμές. Εικόνα 6.2 Το παράθυρο εισαγωγής πειραματικών τιμών Άλλα Παράθυρα Διαλόγου Από τα υπόλοιπα παράθυρα διαλόγου αξίζει να αναφερθούμε στο παράθυρο επιβεβαίωσης που εμφανίζεται όταν ο χρήστης αποπειράται να εκτελέσει συγκεκριμένες ενέργειες. Στο παράθυρο αυτό δίνεται η ευκαιρία στο χρήστη, να επιβεβαιώσει τις επιλογές του, ενώ του δίνεται και η δυνατότητα να απενεργοποιήσει τη μελλοντική επανεμφάνιση του εν λόγω προειδοποιητικού παραθύρου. Τα υπόλοιπα παράθυρα διαλόγου υλοποιούν το «About» τμήμα της εφαρμογής, και στην ουσία έχουν υλοποιηθεί μέσω ενός μοναδικού στιγμιοτύπου στο οποίο προστίθενται στιγμιότυπα της κλάσης JLabel. Ανάλογα με τη συγκεκριμένο σκέλος του «About» τμήματος που θέλουμε να υποστηρίξουμε, αλλάζουμε το περιεχόμενο των ετικετών, προσθέτουμε ή αφαιρούμε κάποιες από αυτές και φυσικά αλλάζουμε τον τίτλο του παραθύρου. -53-

60 Εικόνα 6.3 Παράδειγμα άλλου παραθύρου διαλόγου Υποστηρικτικές Μέθοδοι για τη Διεπαφή Χρήστη Για την υποστήριξη της λειτουργικότητας της διεπαφής χρήστη, αναπτύχθηκαν διάφορες μέθοδοι που υποστηρίζουν διάφορες πτυχές της λειτουργίας της. Συγκεκριμένα, α- ναπτύχθηκαν μέθοδοι που αναλαμβάνουν την ενημέρωση των απαραίτητων πεδίων στην επιφάνεια χρήστη και πυροδοτούνται όταν συμβαίνουν συγκεκριμένα γεγονότα. Για παράδειγμα, όταν αναγνωρίζεται ότι κάποιος αισθητήρας θα μπορούσε να ιδωθεί ως τελικός, τότε το αντίστοιχο πεδίο ενημερώνεται με το όνομα του αισθητήρα αυτού. Όπως είναι λογικό να υποθέσει κανείς, αναπτύχθηκαν και μέθοδοι οι οποίες καλούν μαζικά διάφορες από τις μεθόδους που προαναφέραμε, με σκοπό την ομαδοποίηση μεθόδων που καλούνται ταυτόχρονα σε πολλές περιπτώσεις γεγονότων. Πέραν αυτών των μεθόδων, αναπτύχθηκαν μέθοδοι οι οποίες εκμεταλλεύονται την κλάση Timer για τη δημιουργία «εφέ», όπως το σβήσιμο του κειμένου μετά από 5 δευτερόλεπτα στο πεδίο απόκρισης του συστήματος και το εφέ κατάδειξης των ένοχων εξαρτημάτων Σύστημα Γνώσης Το σύστημα γνώσης υλοποιείται συνδυάζοντας την απαραίτητη γνώση, με κάποια εκ των δύο μηχανών κανόνων που θα επιτελέσουν τη συλλογιστική διαδικασία. Και στις δύο περιπτώσεις, η απαραίτητη γνώση αποθηκεύεται σε αρχεία CLP. Τα αρχεία αυτά κατασκευάζονται συνδυάζοντας τα αποτελέσματα των μεθόδων που υπάγονται στην κατηγορία των ενδιάμεσων υπομονάδων (η περιγραφή τους ακολουθεί) και των κατάλληλων κανόνων που διέπουν τη διαδικασία διάγνωσης. Οι δύο δυνατές μορφές εσωτερικής αναπαράστασης της γνώσης είναι μια ψευδό-αντικειμενοστραφής προσέγγιση (COOL CLIPS Object Oriented Language) και η προσέγγιση των προτύπων (templates). Στο σύστημα της υλοποίησης, το JCLIPS μπορεί να υποστηρίξει και τις δύο -54-

61 μορφές αναπαράστασης, ενώ το JESS μόνο τη μορφή των προτύπων. Τα αρχεία αυτά δίνονται στις μηχανές κανόνων, εκτελείται η συλλογιστική διαδικασία και τα αποτελέσματα επιστρέφονται για ανάλυση στις αντίστοιχες μεθόδους των ενδιάμεσων υπομονάδων. Κατά τη συλλογιστική διαδικασία, και καθώς ενεργοποιούνται κανόνες, προστίθενται στη μνήμη εργασίας του συστήματος γνώσης διάφορα γεγονότα-κατηγορήματα. Τα κατηγορήματα αυτά χρησιμοποιούνται, είτε σε συνθήκες μεταγενέστερων κανόνων (οπότε ουσιαστικά ελέγχουν την ενεργοποίηση τους), είτε ως μεταβλητές καθολικής εμβέλειας, όπου αποθηκεύονται πληροφορίες για την ταυτοποίηση (κλάση και αύξοντα αριθμό) του τελικού ένοχου εξαρτήματος. Όπως είναι προφανές, σε περίπτωση διάγνωσης βλάβης, η τελική συμβολοσειρά-αποτέλεσμα παράγεται από συνένωση πληροφοριών που περιέχονται στα αντίστοιχα κατηγορήματα, με χρήση της εντολής strcat. Σε περίπτωση που το αποτέλεσμα της διάγνωσης είναι κανονική λειτουργία επιστρέφεται η συμβολοσειρά «Nominal Operation!». Σε περίπτωση απροσδιόριστου αποτελέσματος, δεν ενεργοποιείται κάποιος κανόνας που να περιέχει κλήση συνάρτησης επιστροφής πληροφορίας στο περιβάλλον της JAVA. Αυτό σημαίνει, ότι δεν επιστρέφεται τίποτα στο περιβάλλον JAVA, οπότε η συμβολοσειρά για το αποτέλεσμα παραμένει (κενή) όταν η εκτέλεση φτάσει στη μέθοδο που την ερμηνεύει. Η κενή συμβολοσειρά, ερμηνεύεται ως απροσδιόριστο αποτέλεσμα από την εν λόγω μέθοδο. Κλείνοντας, θα πρέπει να σημειώσουμε ότι σε περίπτωση σύγκρουσης κανόνων που πυροδοτούνται ταυτόχρονα, στο μεν JCLIPS η επίλυση γίνεται βάσει της στρατηγικής MEA (Means-Ends- Analysis), ενώ στο JESS με την εξ ορισμού στρατηγική (προτεραιότητα έχουν οι πιο πρόσφατα ενεργοποιούμενοι κανόνες), η οποία στο εγχειρίδιο χρήσης αναφέρεται ως depth Ενδιάμεσες Υπομονάδες Οι ενδιάμεσες υπομονάδες δηλώνουν μία ομάδα μεθόδων που χρησιμοποιούνται για την μετατροπή των αναπαραστάσεων που δημιουργεί ο χρήστης, σε μορφή κατάλληλη για επεξεργασία από τις δύο μηχανές κανόνων που υποστηρίζει το σύστημα. Για λόγους αναφοράς, ο αναγνώστης μπορεί να ανατρέξει στην Εικόνα 5.1, όπου δίνεται μια σχηματική αναπαράσταση της αρχιτεκτονικής του συστήματος. Οι υπομονάδες αυτές αποτελούν ένα χαλαρά ορισμένο σύνολο μεθόδων, δηλαδή δεν έχουν υλοποιηθεί π.χ. σαν μέθοδοι μιας ορισμένης κλάσης, αλλά περισσότερο αποτελούν μια συλλογή μεθόδων από τις διάφορες κλάσεις (κυρίως από τις κλάσεις που υλοποιούν τα εξαρτήματα του μοντέλου). Για παράδειγμα, η κλάση των αισθητήρων περιέχει μεθόδους που μετατρέ- -55-

62 πουν τα δεδομένα του στιγμιοτύπου ενός αισθητήρα (όπως την ένδειξή του, το εξάρτημα το οποίο παρακολουθεί κτλ.) στις δυνατές μορφές αναπαράστασης της γνώσης. Το ίδιο ισχύει και με τις υπόλοιπες κλάσεις για τα εξαρτήματα τα οποία πρέπει να αναπαρίστανται στο σύστημα γνώσης ως αντίστοιχες οντότητες (π.χ. κάτι τέτοιο δεν είναι α- παραίτητο για τους ακροδέκτες εισόδου, που απλά δανείζουν την τιμή τους στο εξάρτημα με το οποίο συνδέονται). Έχουν υλοποιηθεί μεθόδοι που σαρώνουν τη μνήμη, καλώντας για κάθε απαραίτητο αντικείμενο τις μεθόδους που προαναφέρθηκαν. Μ αυτόν τον τρόπο, δομούν τα γεγονότα που σχετίζονται με το σύνολο των εξαρτημάτων του μοντέλου, εντάσσοντάς τα σε ένα μπλοκ deffacts. Τέλος σε αυτήν τη μονάδα μπορούμε να κατατάξουμε και τη μέθοδο η οποία αναλύει τη συμβολοσειρά που επιστρέφει το υποσύστημα συλλογιστικής, για να καλέσει την κατάλληλη μέθοδο στη συνέχεια (π.χ. σε περίπτωση εύρεσης του ένοχου εξαρτήματος καλεί τη μέθοδο που το καταδεικνύει στην περιοχή σχεδίασης). 6.2 Συνοπτικός Οδηγός Χρήσης Σε αυτήν την ενότητα δίνεται ένας συνοπτικός χρήσης της εφαρμογής. Αρχικά παρουσιάζεται η βασική περίπτωση χρήσης του συστήματος που είναι η (βασισμένη σε μοντέλα) διάγνωση συνδυαστικών κυκλωμάτων. Στη συνέχεια παρουσιάζονται οι υπόλοιπες λειτουργίες που υποστηρίζει η εφαρμογή Κύρια Περίπτωση Χρήσης Ακολουθεί η περιγραφή μιας ακολουθίας ενεργειών που οδηγεί στην εκτέλεση ενός πειράματος για την αποσαφήνιση της κατάστασης λειτουργίας ενός συνδυαστικού κυκλώματος. Τα κυριότερα σκέλη της ακολουθίας αυτής είναι: Σύνθεση του μοντέλου του κυκλώματος Καθορισμός των πειραματικών τιμών Εκτέλεση της διαδικασίας διάγνωσης Σύνθεση του μοντέλου του κυκλώματος Για τους σκοπούς της παρουσίασης αυτής, ας θεωρήσουμε ένα απλό κύκλωμα το οποίο αποτελείται από δύο αθροιστές, οι έξοδοι των οποίων καταλήγουν στις εισόδους ενός πολλαπλασιαστή, αφού μετρηθεί η τιμή τους από δύο αισθητήρες. Ακόμη υποθέτουμε πως η έξοδος του τελικού πολλαπλασιαστή παρακολουθείται από έναν τρίτο αισθητήρα. Τέλος θεωρούμε ότι οι είσοδοι των αθροιστών προέρχονται από τέσσερις διαφορε- -56-

63 τικούς ακροδέκτες. Μια σχηματική αναπαράσταση του κυκλώματος αυτού, δίνεται στην παρακάτω εικόνα (Εικόνα 6.4). Εικόνα 6.4 Σχηματική αναπαράσταση του κυκλώματος στο οποίο θα βασιστεί η παρουσίαση Ας ξεκινήσουμε τοποθετώντας τους ακροδέκτες εισόδου. Επιλέγουμε από την παλέτα των εξαρτημάτων το κουμπί με την ένδειξη Input Connectors. Στη συνέχεια κάνουμε κλικ στο σημείο της επιφάνειας σχεδίασης, όπου θέλουμε να τοποθετηθεί ο ακροδέκτης ω (Εικόνα 6.5). Οι ακροδέκτες εισόδου σηματοδοτούνται με την ετικέτα INP κι έναν μοναδικό αύξοντα αριθμό που του αντιστοιχείται (ισχύει για κάθε τύπο εξαρτημάτων). Εικόνα 6.5 Τοποθέτηση του πρώτου ακροδέκτη εισόδου -57-

64 Με τον ίδιο τρόπο, τοποθετούμε και τους υπόλοιπους 3 ακροδέκτες εισόδου. Με παρόμοιο τρόπο (κουμπιά Adder, Sensor, Multiplier στην παλέτα) τοποθετούμε τους δύο αθροιστές, τους πολλαπλασιαστές και τους αισθητήρες (Εικόνα 6.6). Εικόνα 6.6 Ολοκλήρωση της τοποθέτησης των εξαρτημάτων Αναδιατάσσουμε τα εξαρτήματα (προαιρετικά, σύροντάς τα) και τοποθετούμε τις μεταξύ τους συνδέσεις. Επιλέγουμε το κουμπί Connection στην παλέτα. Για να συνδέσουμε δύο εξαρτήματα, κάνουμε πρώτα κλικ στο εξάρτημα από το οποίο ξεκινά η σύνδεση και μετά στο εξάρτημα στο οποίο καταλήγει (Εικόνα 6.7). Όταν ολοκληρώσουμε τη σύνδεση όλων των εξαρτημάτων, παρατηρούμε στην περιοχή ελέγχου κι εκτέλεσης πειραμάτων, ότι έχει αναγνωριστεί ο αισθητήρας SEN 3 ως έξοδος του κυκλώματος (Εικόνα 6.8). Έχει πλέον ολοκληρωθεί η αναπαράσταση του μοντέλου του συνδυαστικού κυκλώματος και μπορούμε να προχωρήσουμε στην εισαγωγή των πειραματικών τιμών. Εισαγωγή Πειραματικών Τιμών Εντοπίζουμε κι επιλέγουμε το κουμπί με την ένδειξη Set / Change Values.. στην περιοχή ελέγχου κι εκτέλεσης πειραμάτων. Ανοίγει το παράθυρο διαλόγου που μας επι- -58-

65 τρέπει να δώσουμε πειραματικές τιμές για τις εισόδους (ανά ακροδέκτη) του κυκλώματος και τις ενδείξεις των αισθητήρων. Συμπληρώνουμε τις τιμές που επιθυμούμε σε όλα Εικόνα 6.7 Αναδιάταξη των εξαρτημάτων και τοποθέτηση της πρώτης σύνδεσης -59-

66 Εικόνα 6.8 Ολοκλήρωση των συνδέσεων. Το σύστημα αναγνωρίζει τον αισθητήρα εξόδου. τα πεδία και επιλέγουμε Submit All. Εναλλακτικά θα μπορούσαμε να θέσουμε την τιμή για ένα μόνο εξάρτημα τη φορά (χρήσιμο σε περιπτώσεις που θέλουμε να τροποποιήσουμε την τιμή ενός μόνο εξαρτήματος, κάνοντας κλικ στο κουμπί με την ένδειξης Set που αντιστοιχεί στο εξάρτημα αυτό. -60-

67 Εικόνα 6.9 Συμπλήρωση όλων των πειραματικών τιμών. Πλέον μπορούμε να εκτελέσουμε το πείραμα, καθώς το σχετικό κουμπί (με την ένδειξη Process ) ενεργοποιήθηκε. Το παράθυρο διαλόγου για τη συμπλήρωση τιμών κλείνει κι επιστρέφουμε στο κύριο παράθυρο της εφαρμογής. Παρατηρούμε ότι στην περιοχή εκτέλεσης πειράματος, έχει αλλάξει πλέον η ένδειξη του πεδίου Experiment Data Set από Incomplete (μη πλήρες) σε πλήρες. Το ίδιο ισχύει και για το πεδίο Experiment Status που άλλαξε από Not Submittable (σε ελεύθερη ερμηνεία: ακατάλληλο προς παράδοση στο υποσύστημα συλλογιστικής) σε Submittable (κατάλληλο προς παράδοση). Είμαστε πλέον έτοιμοι να εκτελέσουμε το πείραμα μας και αυτό καταδεικνύεται από το γεγονός ότι το σχετικό κουμπί (με ένδειξη Process ) έχει ενεργοποιηθεί. Σε περίπτωση που έχουμε ελλιπές σύνολο πειραματικών δεδομένων ή/και μη αναγνώριση αισθητήρα εξόδου (πράγμα που σημαίνει ότι το αναπαριστώμενο μοντέλο συστήματος είναι ασύμφωνο με τις συμβάσεις μοντελοποίησης που έχουμε ορίσει), το κουμπί αυτό παραμένει απενεργοποιημένο. Κάνουμε κλικ στο κουμπί Process. Το σύστημα εκτελεί τις απαραίτητες για τη διάγνωση ενέργειες και μας ενημερώνει για την κατάσταση λειτουργίας του κυκλώματος σε ευδιάκριτο πεδίο της περιοχής ελέγχου κι εκτέλεσης πειραμάτων. Σε περίπτωση που δεν υπάρχει βλάβη, το πεδίο αυτό χρωματίζεται πράσινο και φέρει την ένδειξη Nominal Operation. Σε περίπτωση μη αναγνώρισιμης από το σύστημα βλάβης, -61-

68 το πεδίο χρωματίζεται ματζέντα και φέρει την ένδειξη Unidentifiable Failure. Αν αναγνωριστεί κάποιο είδος βλάβης, το πεδίο χρωματίζεται κόκκινο και φέρει ένδειξη που μας ενημερώνει για το ένοχο εξάρτημα και τον τύπο της βλάβης του. Επίσης, το ένοχο εξάρτημα καταδεικνύεται στην περιοχή σχεδίασης με αλλεπάλληλες εναλλαγές μεταξύ του κανονικού του χρώματος και του κόκκινου.. Ο χρήστης μπορεί να εκτελέσει κάποιο νέο πείραμα, επιλέγοντας Reset Experiment. Να σημειώσουμε ότι στο πεδίο Diagnosis Powered by: επιστρέφεται πληροφορία από το σύστημα το οποίο εκτέλεσε τη συλλογιστική διαδικασία. Εικόνα 6.10 Εμφάνιση του αποτελέσματος και κατάδειξη του ένοχου εξαρτήματος Λοιπές Λειτουργίες Λειτουργίες που υποστηρίζουν τη σχεδίαση μοντέλων συστημάτων Οι λειτουργίες αυτές έχουν ως στόχο τη διευκόλυνση του χρήστη κατά τη σχεδίαση των μοντέλων των συνδυαστικών κυκλωμάτων. Αυτές είναι: Αναίρεση κι επανάληψη ενεργειών στην επιφάνεια σχεδίασης Εκκαθάριση των περιεχομένων της επιφάνειας σχεδίασης Απαλοιφή όλων των συνδέσεων μεταξύ των εξαρτημάτων -62-

69 Απαλοιφή εξαρτήματος (σε περίπτωση που είναι κάποιο συνδεδεμένο εξάρτημα, ευνόητα απαλείφονται και οι συνδέσεις του με άλλα εξαρτήματα) Εξαγωγή ψηφιακής εικόνας JPEG με την επιφάνεια σχεδίασης Λειτουργίες που υποστηρίζουν την προετοιμασία / εκτέλεση πειραμάτων Οι λειτουργίες σκοπεύουν να διευκολύνουν την προετοιμασία πειραμάτων. Ένα μεγάλο σύνολο αυτών, αφορούν τη διαχείριση των πειραματικών τιμών και κατά συνέπεια είναι προσβάσιμες από το αντίστοιχο παράθυρο διαλόγου. Ωστόσο η σημαντικότερη σχετική λειτουργία είναι η δυνατότητα εξαγωγής αρχείου πειράματος, για χρήση στο CLIPS και είναι προσπελάσιμη μέσω κουμπιού το οποίο βρίσκεται στην περιοχή παραμετροποίησης του υποσυστήματος συλλογιστικής. Ακολουθεί η πλήρης λίστα των λειτουργιών αυτών: Λειτουργία απαλοιφής των τρεχόντων πειραματικών τιμών Λειτουργία καθαρισμού όλων των πεδίων εισαγωγής πειραματικών τιμών Λειτουργία μαζικής υποβολής τιμών για όλα τα εξαρτήματα (έχει αναφερθεί ήδη στην περιγραφή της βασικής περίπτωσης χρήσης) Λειτουργία εξαγωγής αρχείου πείραματος για εξωτερική χρήση στο CLIPS Λειτουργίες αποθήκευσης / φόρτωσης αρχείων με μοντέλα / πειράματα Το σύστημα υποστηρίζει την αποθήκευση μοντέλων κυκλωμάτων (χωρίς οποιεσδήποτε πειραματικές τιμές) αλλά και πειραμάτων (μοντέλα κυκλωμάτων που συμπεριλαμβάνουν πειραματικές τιμές). Η αποθήκευση γίνεται σε μορφή XML. Οι λειτουργίες αυτές είναι προσβάσιμες μέσω κουμπιών που βρίσκονται ακριβώς κάτω από την περιοχή σχεδίασης. Η επιλογή της αποθήκευσης ή μη των πειραματικών τιμών, γίνεται από το σχετικό παράθυρο διαλόγου εισαγωγής αυτών. Λειτουργίες παραμετροποίησης του συστήματος Το σύστημα διαθέτει κάποιες λειτουργίες μέσω των οποίων μπορεί να παραμετροποιηθεί η λειτουργία του. Οι πιο σημαντικές από αυτές αφορούν τη μηχανή κανόνων που χρησιμοποιείται για τη διεκπεραίωση των συλλογιστικών διαδικασιών και τον τρόπο αναπαράστασης της γνώσης. Η επιλογή του τρόπου αναπαράστασης της γνώσης αφορά και τη λειτουργία εξαγωγής αρχείου πειράματος για το CLIPS. Να σημειώσουμε ότι η μη συμβατότητα του JESS με την ψευδο-αντικειμενοστραφή μορφή αναπαράστασης της γνώσης, εκδηλώνεται με απενεργοποίηση του κουμπιού εκτέλεσης πειράματος ( Process ) σε περίπτωση ταυτόχρονης ενεργοποίησης των δύο επιλογών, ακόμη κι αν -63-

70 πληρούνται όλες οι υπόλοιπες απαραίτητες προϋποθέσεις (εγκυρότητα αναπαριστώμενου μοντέλου και πληρότητα συνόλου πειραματικών δεδομένων). Τέλος, δίνεται η δυνατότητα απενεργοποίησης των ελάχιστων κινούμενων γραφικών του συστήματος και αντικατάστασής τους με στατικά, πράγμα που μπορεί να βελτιώσει την εμπειρία χρήσης σε παλιότερα συστήματα. 6.3 Αξιοσημείωτα Αποσπάσματα Κώδικα Στη συνέχεια παρατίθενται κάποια αποσπάσματα κώδικα για λόγους αναφοράς. Συγκεκριμένα, παρατίθεται ο κώδικας των μεθόδων που χρησιμοποιήθηκαν για τη διασύνδεση των JCLIPS (συμπεριλαμβανομένης της κλάσης διασύνδεσης) και JESS με την JAVA. Η ενότητα κλείνει με μια απλή μέθοδο, για μετατροπή χρωμάτων σε διαμπερή Διασύνδεση με JCLIPS Η κλάση jclipsbridge -64-

71 Η μέθοδος διασύνδεσης με το JCLIPS Για λόγους πληρότητας, να σημειώσουμε ότι η μέθοδος theoutsystem προετοιμάζει κατά κάποιον τρόπο την εκτέλεση των πειραμάτων. Η μέθοδος makekf δημιουργεί το αρχείο CLP που επεξεργάζεται το JCLIPS, ενώ η μέθοδος diagnose επεξεργάζεται την επιστρεφόμενη συμβολοσειρά προβαίνοντας στις ανάλογες ενέργειες. Τέλος να σημειώσουμε ότι η μεταβλητή diagnosis είναι τύπου String και ανήκει στην κλάση του προγράμματος (κάτι σαν global μεταβλητή) Μέθοδος Διασύνδεση με JESS Επιπλέον των όσων επεξηγηματικών αναφέρονται παραπάνω, να σημειώσουμε ότι το όρισμα ta που χρησιμοποιείται στον κατασκευαστή του αντικειμένου TextAreaWriter είναι ένα στιγμιότυπο της κλάσης TextArea. -65-

72 6.3.3 Μέθοδος μετατροπής χρωμάτων σε διαμπερή Η συνάρτηση αυτή πραγματοποιεί την απεικόνιση χρωμάτων από το χώρο RGB (Red, Green, Blue) στο χώρο RGBA (Red, Green, Blue, Alpha), στην JAVA. Το 0.74f υποδηλώνει την τιμή του καναλιού άλφα (alpha channel), που καθορίζει το πόσο διαμπερές (translucent) θα είναι ένα χρώμα. Τιμές κοντά στο 1 υποδηλώνουν μη διαμπερές χρώμα, ενώ τιμές κοντά στο 0 το αντίθετο. -66-

73 7 Συμπεράσματα Στο τελικό κεφάλαιο αυτό, αρχικά γίνεται απόπειρα κριτικής θεώρησης των πεπραχθέντων της εργασίας. Στην συνέχεια αναλύονται οι δυσκολίες που αντιμετωπίστηκαν, ώ- στε ει δυνατόν, να αποτελέσουν οδηγό αντιμετώπισης ανάλογων καταστάσεων. Τέλος το κεφάλαιο και η εργασία, κλείνουν με την αναφορά κάποιων κατευθύνσεων προς τις οποίες θα μπορούσαν να επεκταθούν τα πεπραγμένα, με την ελπίδα ότι θα μπορούσαν να εμπνεύσουν μελλοντικά έργα. 7.1 Αποτελέσματα Αποτέλεσμα της εργασίας αυτής, είναι η δημιουργία μιας εφαρμογής που πληροί της λειτουργικές απαιτήσεις, όπως αυτές αναφέρονται σε προγενέστερο κεφάλαιο. Θεωρητικά. το σύστημα είναι σε θέση να μοντελοποιήσει όλα τα συστήματα που μπορούν να εκφραστούν μέσω του (περιορισμένου είναι η αλήθεια..) ρεπερτορίου του, δηλαδή συνδυαστικά κυκλώματα που αποτελούνται από αθροιστές και πολλαπλασιαστές και χρησιμοποιούν αισθητήρες για την επιτήρηση της λειτουργίας τους. Το σύστημα είναι σε θέση να χρησιμοποιήσει γνώση η οποία μπορεί να παρασταθεί με δύο διαφορετικούς τρόπους, τα πρότυπα (templates) και μια ψευδο-αντικειμενοστραφή προσέγγιση. Η γνώση αυτή μπορεί να χρησιμοποιηθεί για τη διάγνωση βλαβών στα μοντελοποιημένα συνδυαστικά κυκλώματα, με χρήση μεθόδων συλλογιστικής που βασίζονται σε κανόνες. Αυτές οι συλλογιστικές διαδικασίες μπορούν να εκτελεστούν από δύο διαφορετικά πληροφοριακά συστήματα του είδους, το JCLIPS και το JESS. Ο κυριότερος περιορισμός της εφαρμογής είναι το περιορισμένο μοντέλο γνώσης που υιοθετεί και η επίδραση του στις δυνατότητες της διαγνωστικής διαδικασίας. Η απλοϊκότητα του μοντέλου καταδεικνύεται από την ύπαρξη της υπόθεσης της απλής βλάβης, καθώς και από τον περιορισμό που τίθεται με την υποχρεωτική τοποθέτηση αισθητήρων στην έξοδο του κάθε εξαρτήματος. Στον τομέα των εμπλεκόμενων τεχνολογιών που χρησιμοποιήθηκαν, μελετήθηκε και αποσαφηνίστηκε ο τρόπος διασύνδεσης εφαρμογών JAVA με δύο συγκεκριμένες μηχανές συλλογιστικής. Συγκεκριμένα μελετήθηκε σε βασικό επίπεδο ο τρόπος διασύνδεσης της JAVA με το JCLIPS και σε κάποιον βασικό βαθμό, ο τρόπος διασύνδεσης με το JESS. Διαπιστώθηκε, πως η ενσωμάτωση τους σε εφαρμογές JAVA είναι πολύ εύκολη, -67-

74 ειδικά εφόσον υπάρχει εμπειρία χρήσης αυτόνομων εργαλείων του τομέα, όπως το CLIPS, καθώς και τα δύο συστήματα μπορούν να διεξάγουν συλλογιστικές διαδικασίες βάσει παρόμοιων φορμαλισμών αναπαράστασης. 7.2 Δυσκολίες που αντιμετωπίστηκαν Κατά τη διάρκεια της όλης διαδικασίας ανάπτυξης παρουσιάστηκαν αρκετά σημεία καμπής στην πρόοδο της εργασίας. Ενδεικτικά αναφέρουμε, παραθέτοντας και τον αντίστοιχο τρόπο αντιμετώπισης: Ορθότητα απεικόνισης των γραφικών components που αναπαριστούν τις συνδέσεις μεταξύ αντικειμένων. Αντιμετωπίστηκε με προσεκτικότερη μελέτη του SWING JAVA API κι έρευνα στα fora 8 της Sun για την JAVA. Υλοποίηση υποσυστήματος αναίρεσης/επάναληψης ενεργειών (Undo/Redo) H υλοποίηση βασίστηκε μια πρόχειρη/γρήγορη μέθοδο/τέχνασμα που χρησιμοποιούσε τις ήδη υλοποιημένες μεθόδους αποθήκευσης/φόρτωσης μοντέλων συστήματος σε XML, ώστε να επιτευχθεί η αποθήκευση και η ανάκληση παρελθόντων καταστάσεων. Δυσχέρεια συντήρησης του συστήματος, λόγω ελλιπούς σχολιασμού του κώδικα και ανεπαρκούς σχεδίασης της δομής του. Χρησιμοποιήθηκαν δυνατότητες που παρέχει το περιβάλλον ανάπτυξης για τον περιορισμό των αρνητικών επιδράσεων. Συγκεκριμένα τοποθετήθηκαν breakpoints και σχόλια σε καίρια σημεία, ενώ χρησιμοποιήθηκε εκτενώς η δυνατότητα αναδίπλωσης του κώδικα ανά ενότητες. Ωστόσο η απόδοση των μέτρων αυτών δεν μπορεί να συγκριθεί σε καμία περίπτωση με τη χρήση σχολίων και καλής σχεδίασης/τμηματοποίησης του συστήματος. Σωστή απόδοση (rendering) των animated GIF αρχείων που χρησιμοποιεί η ε- φαρμογή από την JAVA. Το πρόβλημα αφορούσε στη χρήση animated GIF τα οποία είχαν οριστεί να μην επαναλαμβάνουν τη σχεδιοκίνηση (animation) επ άπειρον και τη μετέπειτα με

75 τατροπή τους και αποθήκευσή τους ως τέτοια 9. Τα αρχεία δημιουργήθηκαν με εξ αρχής ορισμένη την επ άπειρον επανάληψη του animation, και το πρόβλημα επιλύθηκε ως δια μαγείας. 7.3 Μελλοντική Εργασία Αξιολόγηση του Υλοποιηθέντος Συστήματος Έχει ήδη αναπτυχθεί λογισμικό το οποίο μπορεί να χρησιμοποιηθεί για την αξιολόγηση του Argus, αλλά και άλλων εφαρμογών. Τo λογισμικό αυτό δίνει ιδιαίτερο βάρος στην αλληλεπίδραση του χρήστη με το πληροφοριακό σύστημα και βασίζεται στην εργασία [16]. Ο χρήστης καλείται να απαντήσει σε ένα ερωτηματολόγιο κλειστού τύπου, βαθμολογώντας την επίδοση του συστήματος σε συγκεκριμένους τομείς ενδιαφέροντος, ενώ προτρέπεται να σχολιάσει ελεύθερα το σύστημα αναφέροντας τις γενικές εντυπώσεις που του άφησε η χρήση του συστήματος, τους προβληματισμούς του και τις όποιες προτάσεις για προσθήκες έχει να καταθέσει. Η μελέτη των απαντήσεων των χρηστών στο κλειστό ερωτηματολόγιο, μπορεί να καταδείξει ποιοι συγκεκριμένοι τομείς του συστήματος χρήζουν βελτίωσης, ενώ η μελέτη των ελεύθερων σχολίων μπορεί να αναδείξει ζητήματα που δεν μπορούν εύκολα να εκφραστούν με ερωτηματολόγια κλειστού τύπου (ακόμη και με πολύ προσεκτική επιλογή των ερωτήσεων που τα απαρτίζουν). Εικόνα 7.1 Το Interface μιας πολύ πρώιμης έκδοσης της εφαρμογής διαχείρισης και ανάλυσης των επιστρεφόμενων ερωτηματολογίων. Η εφαρμογή διαχείρισης και ανάλυσης των ερωτηματολογίων αξιολόγησης βρίσκεται ακόμη σε πολύ πρώιμο στάδιο, ωστόσο μπορεί να υποστηρίξει τουλάχιστον την προβο- 9 Δοκιμάστηκαν δύο διαφορετικές εφαρμογές δημιουργίας animated GIFs, ωστόσο τα αποτελέσματα ή- ταν το ίδιο απογοητευτικά. -69-

76 λή των επιστρεφόμενων ερωτηματολογίων. Στα πλαίσια της μελλοντικής εργασίας θα μπορούσε να εμπλουτιστεί και αυτή για να παρέχει μεγαλύτερη υποστήριξη στη διαδικασία της αξιολόγησης. Ευνόητα, το εργαλείο αυτό θα μπορούσε να χρησιμοποιηθεί και για την αξιολόγηση οποιουδήποτε άλλου συστήματος λογισμικού, εκτός του Argus. Εικόνα 7.2 Το Interface της εφαρμογής αξιολόγησης Βελτιώσεις στη Διεπαφή Χρήστη Ο τομέας της διεπαφής χρήστη του συστήματος θα μπορούσε να βελτιωθεί, ώστε να παρέχει αυξημένη λειτουργικότητα. Ενδεικτικά, μπορούν να γίνουν βελτιώσεις στο γραφικό συνθέτη μοντέλων, ώστε να υποστηρίζει χαρακτηριστικά όπως: Πολλαπλή επιλογή και χειρισμός συστατικών (εξαρτημάτων) Υποστήριξη πλεγμάτων για υποβοήθηση στην τοποθέτηση των εξαρτημάτων (για καλύτερα αισθητικά αποτελέσματα) Δυνατότητα μεγένθυσης και σμίκρυνσης της επιφάνειας σχεδίασης Περιοχή προεπισκόπησης και πλοήγησης της περιοχής σχεδίασης Context Menus για ταχύτερη εκτέλεση συχνών λειτουργιών Keyboard Shortcuts για τον ίδιο ακριβώς λόγο Δυνατότητα Ορισμού και χρήσης μακροεντολών (macros) Βελτίωση του τρόπου παροχής των πειραματικών τιμών -70-

77 Χρήση JInternalFrames για την παροχή ενός πιο παραμετροποιήσιμου ως προς την εμφάνιση περιβάλλοντος Σύγκριση Μηχανών Κανόνων για τη JAVA Επίσης, το σύστημα θα μπορούσε εύκολα να τροποποιηθεί, ώστε να συγκεντρώνει πληροφορίες σχετικά με την επίδοση των δύο διαφορετικών μηχανών συλλογιστικής που χρησιμοποιεί και να τις παρουσιάζει με διάφορους τρόπους στο χρήστη. Επίσης, δε θα πρέπει να αποκλειστεί η ενσωμάτωση τυχόν επιπλέον rule engines στο σύστημα και βεβαίως η συμμετοχή τους σε ανάλογες διαδικασίες αξιολόγησης Βελτίωση Δυνατοτήτων Μοντελοποίησης Το Argus μπορεί να επεκταθεί ώστε να παρέχει αυξημένες δυνατότητες μοντελοποίησης. Η εφαρμογή θα μπορούσε εύκολα να επεκταθεί ώστε να μην περιορίζεται στη διάγνωση συνδυαστικών κυκλωμάτων, αλλά και άλλων ειδών φυσικών (ή όχι) συστημάτων. Ο χρήστης θα μπορούσε να συνθέσει το μοντέλο του συστήματος που επιθυμεί και να ορίσει αυτός, τις επιθυμητές παραμέτρους εύρυθμης λειτουργίας και προβληματικής λειτουργίας του. Έτσι το Argus θα μπορούσε να μετατραπεί σε ένα γενικού σκοπού model-based διαγνωστικό σύστημα. Μια προσθήκη που θα μπορούσε να προσδώσει μεγαλύτερη εκφραστικότητα στον τρόπο με τον οποίο γίνεται η μοντελοποίηση συστημάτων στο Argus θα μπορούσε να είναι η υποστήριξη ιεραρχικών μοντέλων αναπαράστασης, που θα αναπαριστούν το σύστημα σε διάφορα επίπεδα αφαίρεσης [5]. Με τον τρόπο αυτό θα μπορούσε να αναδειχθεί περισσότερο το χαρακτηριστικό της συνθετικότητας και κατά συνέπεια o model-based χαρακτήρας του συστήματος. Οι συλλογιστικές διαδικασίες που αφορούν τη διάγνωση στα υψηλότερα επίπεδα αφαίρεσης θα μπορούσαν να απαλλαγούν από τον περιορισμό της υπόθεσης της απλής βλάβης. Ακόμη κι αν επιβάλλεται στο κατώτατο επίπεδο αφαίρεσης, οι περιορισμοί που εισάγει δεν είναι τόσο ασφυκτικοί, αφού σε αυτό το επίπεδο θα μπορούσαμε εύκολα να σχεδιάσουμε μοντέλα εξαρτημάτων με δυαδικές καταστάσεις λειτουργίας (κανονική, βλάβη). Επιπλέον, λόγω του αμελητέου χρόνου απόκρισης του συστήματος (στην τυπική περίπτωση) θα μπορούσαν να μοντελοποιηθούν συστήματα πραγματικού χρόνου (real-time systems) πέραν των διακριτών (όπως το τρέχον σύστημα). Για τον ίδιο λόγο, αν και δεν σχετίζονται με τις δυνατότητες μοντελοποίησης, θα μπορούσαν να υποστηριχθούν και πειράματα δέσμης (batch experiments). Γενικά, με εκτενέστερη και σε μεγαλύτερο βά- -71-

78 θος μελέτη του αντικειμένου της συλλογιστικής μοντέλων (συγκεκριμένα της διάγνωσης βασισμένης σε μοντέλα), θα μπορούσαν να υπερκεραστούν αρκετοί περιορισμοί του συστήματος, ώστε να αυξηθούν οι δυνατότητες του και κατά συνέπεια το εύρος ε- φαρμογών που θα μπορούσε να υποστηρίξει. Μια ακόμη κατεύθυνση προς την οποία θα μπορούσε να επεκταθεί το σύστημα, θα μπορούσε να είναι η υποστήριξη άλλων εξελιγμένων συλλογιστικών συστημάτων γνώσης, όπως η ποιοτική συλλογιστική και η συλλογιστική βασισμένη σε περιπτώσεις. Α- κόμη, θα μπορούσε να γίνει συνδυασμός των διάφορων «σχολών» συλλογιστικών, ώ- στε το σύστημα να υποστηρίζεται από τα πληρέστερα δυνατά μοντέλα και να εμπίπτει στην πολλά υποσχόμενη κατηγορία των συστημάτων γνώσης που χρησιμοποιούν πολυτροπική συλλογιστική. Όλα τα παραπάνω, δημιουργούν την εικασία ότι το σύστημα θα μπορούσε να γενικευτεί ώστε να αποτελέσει ένα πλήρες κέλυφος για την ανάπτυξη συστημάτων γνώσης. Επιπλέον, το σύστημα θα μπορούσε να γενικευτεί και προς την κατεύθυνση της υποστήριξης οποιασδήποτε εργασίας που είναι κατάλληλη για ανάλυση με χρήση της συλλογιστικής μοντέλων. Αυτές οι απόπειρες γενίκευσης, θα μπορούσαν να υποστηριχθούν με τεχνολογίες όπως XML, RDF & OWL, που θα μπορούσαν να αποτελέσουν ισχυρό υ- πόβαθρο για την αποδοτική αναπαράστασης της γνώσης που θα χρησιμοποιεί το σύστημα στην πρώτη περίπτωση, ενώ στη δεύτερη θα μπορούσαν να συμβάλλουν στην περαιτέρω ενίσχυση της εκφραστικότητας των παραγόμενων μοντέλων. -72-

79 Βιβλιογραφία [1] Τεχνητή Νοημοσύνη, Β Έκδοση, Εκδόσεις Γαρταγάνη, Θεσσαλονίκη 2005, Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας & Η. Σακελλαρίου [2] Integrating Model-Based Decision Support in a Multi-Modal Reasoning System for managing Type 1diabetic patients, Elsevier, Artificial Intelligence in Medicine 29, 2003, S. Montani, P. Magni, R. Bellazzi, C. Larizza, A.V. Rousdari & E. R. Carson [3] CS 367: Model-Based Reasoning Lecture Notes, Vanderbilt University, Nashville, 2001, G. Biswas [4] Model-Based Reasoning in Financial Domains, Price Waterhouse Technology Centre, 1992, W. Hamscher [5] Theories and Technics of Structural Abstraction for Hierarchical Model-Based Diagnosis, Universita degli Studi di Udine, 2002, R. Ranon [6] Model-Based Fault-Detection and Diagnosis Status and Applications, Elsevier, Annual Reviews in Control 29, 2005, R. Isermann [7] Introduction, Annals of Mathematics and Artificial Intelligence 11, J.C. Baltzer AG Science Publishers, 1994, L. Console & G. Friedrich [8] Robust Fault Diagnosis of Physical Systems in Operation, NASA, Langley Research Centre, 1991, K.H. Abbott [9] Fundamentals of Model-Based Diagnosis, PARC, Palo Alto, 2003, J. De Kleer & J. Kurien [10] Computer-Based Diagnostic Systems, Springer-Verlag, 1999, C. Price [11] HEURISTIC DENDRAL: a Program for Generating Explanatory Hypotheses in Organic Chemistry, Stanford University Computer Science Department, 1968, B. Buchanan, G. Sutherland & E.A. Feigenbaum -73-

80 [12] Rule-Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project, Addison Wesley Publishing Company, B. Buchanan & E. Shortliffe [13] DARN: Toward a Community Memory for Diagnosis & Repair Tasks, PARC, Palo Alto, 1988, S. Mittal, D. Bobrow & J. de Kleer [14] A Model-based Approach to Reactive Self-Configuring Systems, NASA Ames Research Center, Moffett Field, 1996, B. Williams & P. Nayak [15] Rete: A Fast Algorithm for the Many Pattern/ Many Object Pattern Match Problem, ΙΕΕΕ Computer Society Press, Artificial Intelligence 19, Los Alamitos, 1982, C. Forgy [16] Development of an Instrument Measuring User Satisfaction of the Human- Computer Interface, University of Maryland - Department of Psychology - Human-Computer Interaction Laboratory, Maryland, 1988, J. Chin, V. Diehl & L. Norman -74-

81 Παράρτημα Α: Το JCLIPS JAVA API -75-

82 -76-

83 -77-

84 -78-

85 Παράρτημα Β: Αρχείο XML από το Argus Το παραπάνω XML έγγραφο δημιουργήθηκε από το Argus και αναπαριστά ένα αποθηκευμένο πείραμα. Χρησιμοποιούνται κενά elements. To attribute expv του element flag δηλώνει την ύπαρξη ή όχι πειραματικών τιμών στο αρχείο XML. Εν προκειμένω, αν η τιμή του ισούται με y επισημαίνει την ύπαρξή τους και συνεπώς ότι το αρχείο αφορά πείραμα, ενώ το n θα υποδήλωνε πως στο XML αρχείο αφορά καθαρά ένα μοντέλο συστήματος. Αν και θα μπορούσε να χρησιμοποιηθεί κάποια κομψότερη αναπαράσταση, η τρέχουσα κρίθηκε ικανοποιητική για τις ανάγκες του συστήματος της εργασίας. -79-

86 Παράρτημα Γ: Γρήγορος Οδηγός Αξιολόγησης Το παρακάτω έγγραφο έχει ετοιμαστεί για να δοθεί σε όσους συμμετέχουν στη διαδικασία αξιολόγησης, ως ένας οδηγός για τη γρήγορη εξοικείωση τους με το Argus: -80-

Τεχνητή Νοημοσύνη (ΤΝ)

Τεχνητή Νοημοσύνη (ΤΝ) Τεχνητή Νοημοσύνη (ΤΝ) (Artificial Intelligence (AI)) Η ΤΝ είναι ένα από τα πιο νέα ερευνητικά πεδία. Τυπικά ξεκίνησε το 1956 στη συνάντηση μερικών επιφανών επιστημόνων, όπως ο John McCarthy, ο Marvin

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

Πληροφορική 2. Τεχνητή νοημοσύνη

Πληροφορική 2. Τεχνητή νοημοσύνη Πληροφορική 2 Τεχνητή νοημοσύνη 1 2 Τι είναι τεχνητή νοημοσύνη; Τεχνητή νοημοσύνη (AI=Artificial Intelligence) είναι η μελέτη προγραμματισμένων συστημάτων τα οποία μπορούν να προσομοιώνουν μέχρι κάποιο

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

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

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

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

Οικονόμου Παναγιώτης.

Οικονόμου Παναγιώτης. Οικονόμου Παναγιώτης panawths@gmail.com poikonomou@teilam.gr Οικονόμου Παναγιώτης 1 Παπαγεωργίου. 2 Αθήνα-Ελλάδα χρόνου 460 π.χ.? Ένας νεαρός άνδρας σκεπτόμενος το ενδεχόμενο γάμου, ζητά από τον Σωκράτη

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

Πληροφοριακά Συστήματα & Περιβάλλον

Πληροφοριακά Συστήματα & Περιβάλλον ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Πληροφοριακά Συστήματα & Περιβάλλον Ενότητα 9: Έμπειρα Συστήματα Παναγιώτης Λεφάκης Δασολογίας & Φυσικού Περιβάλλοντος Άδειες Χρήσης Το

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

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

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

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

ΕΜΠΕΙΡΑ ΣΥΣΤΗΜΑΤΑ Χρυσόστομος Στύλιος

ΕΜΠΕΙΡΑ ΣΥΣΤΗΜΑΤΑ Χρυσόστομος Στύλιος ΕΜΠΕΙΡΑ ΣΥΣΤΗΜΑΤΑ Χρυσόστομος Στύλιος Email: stylios@teiep.gr Ιστοσελίδα: Ανακοινώσεις, διαφάνειες, εργασίες, χρήσιμοι σύνδεσμοι, κλπ. Ύλη του μαθήματος Εισαγωγή-Έμπειρα συστήματα. Αναπαράσταση γνώσης

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

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

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

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι Συστήματα Υποστήριξης Αποφάσεων Τα Συστήματα Υποστήριξης Αποφάσεων (Σ.Υ.Α. - Decision Support Systems, D.S.S.) ορίζονται ως συστήματα

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

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Άδειες

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

Έμπειρα Συστήματα. Εργαστήριο

Έμπειρα Συστήματα. Εργαστήριο Έμπειρα Συστήματα Εργαστήριο Χρυσόστομος Στύλιος E-class: Ανακοινώσεις, διαφάνειες, εργασίες, χρήσιμοι σύνδεσμοι, κλπ. 1 Εργασίες Θα δοθεί υποχρεωτική εργασία: Ανάπτυξη ενός έμπειρου συστήματος σε γλώσσα

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

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

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

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

Περιεχόμενα ΕΝΟΤΗΤΑ I. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Πρόλογος 15

Περιεχόμενα ΕΝΟΤΗΤΑ I. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Πρόλογος 15 Περιεχόμενα Πρόλογος 15 ΕΝΟΤΗΤΑ I. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 1 Τεχνητή νοημοσύνη 21 1.1 Εισαγωγή 21 1.2 Ιστορική εξέλιξη 22 1.3 Εφαρμογές Τεχνητής Νοημοσύνης 25 2 Επίλυση Προβλημάτων 29 2.1 Διαμόρφωση

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

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

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

ΤΙΤΛΟΣ ΑΝΑΦΟΡΑΣ: ΕΦΑΡΜΟΓΗ ΚΑΙ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΕ ΕΠΙΛΕΓΜΕΝΕΣ ΠΕΡΙΤΠΩΣΕΙΣ ΤΙΤΛΟΣ ΑΝΑΦΟΡΑΣ: ΕΦΑΡΜΟΓΗ ΚΑΙ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΕ ΕΠΙΛΕΓΜΕΝΕΣ ΠΕΡΙΤΠΩΣΕΙΣ ΚΩΔΙΚΟΣ ΠΑΡΑΔΟΤΕΟΥ: Π18 ΑΡΙΘΜΟΣ ΠΡΩΤΟΚΟΛΛΟΥ ΈΡΓΟΥ: ΤΠΕ/ΟΡΖΙΟ/0308(ΒΕ)/03 ΤΙΤΛΟΣ ΕΡΓΟΥ: ΓΕΝΙΚΕΥΜΕΝΟ ΣΥΣΤΗΜΑ ΑΣΑΦΟΥΣ ΓΝΩΣΤΙΚΟΥ ΧΑΡΤΗ

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

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

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

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

ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ, 2011-2012 ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. 2. Εισαγωγή στην Τεχνητή Νοημοσύνη

ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ, 2011-2012 ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. 2. Εισαγωγή στην Τεχνητή Νοημοσύνη ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ, 2011-2012 ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2. Εισαγωγή στην Τεχνητή Νοημοσύνη Σήμερα Ορισμοί Τεχνητής Νοημοσύνης Δοκιμασία Turing Ιστορική Αναδρομή Συμβολική Τεχνητή Νοημοσύνη Αλγόριθμοι και Ευρετικά

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

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

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

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

Πρόλογος των Συγγραφέων

Πρόλογος των Συγγραφέων Πρόλογος των Συγγραφέων Τεχνητή Νοηµοσύνη (ΤΝ) είναι ο τοµέας της επιστήµης των υπολογιστών, που ασχολείται µε τη σχεδίαση ευφυών (νοηµόνων) υπολογιστικών συστηµάτων, δηλαδή συστηµάτων που επιδεικνύουν

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ 12 η εβδομάδα Κεφάλαιο 11 Τεχνητή νοημοσύνη Τεχνητή νοημοσύνη 11.1 Νοημοσύνη και μηχανές 11.2 Αντίληψη 11.3 Συλλογισμός 11.4 Άλλοι τομείς της έρευνας 11.5 Τεχνητά νευρωνικά δίκτυα

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

Χαρακτηριστικά, οµή και Λειτουργία Συστηµάτων Γνώσης

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

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

Μ. Κλεισαρχάκης (Μάρτιος 2017)

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

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

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

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

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

Επιστήμη της Πληροφορικής. Εργασία του μαθητή Δημήτρη Τσιαμπά του τμήματος Α4

Επιστήμη της Πληροφορικής. Εργασία του μαθητή Δημήτρη Τσιαμπά του τμήματος Α4 Επιστήμη της Πληροφορικής Εργασία του μαθητή Δημήτρη Τσιαμπά του τμήματος Α4 Η πληροφορική είναι η επιστήμη που ερευνά την κωδικοποίηση, διαχείριση και μετάδοση συμβολικών αναπαραστάσεων πληροφοριών. Επίσης

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

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 5: Χαρακτηριστικά, Δομή και Λειτουργία Συστημάτων Γνώσης

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 5: Χαρακτηριστικά, Δομή και Λειτουργία Συστημάτων Γνώσης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Θεωρητικό Κομμάτι Μαθήματος Ενότητα 5: Χαρακτηριστικά, Δομή και Λειτουργία Συστημάτων Γνώσης Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Άδειες

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

Όμως πώς θα ορίζαμε την έννοια πληροφορία; Πώς την αντιλαμβανόμαστε;

Όμως πώς θα ορίζαμε την έννοια πληροφορία; Πώς την αντιλαμβανόμαστε; 1.1 ΕΙΣΑΓΩΓΗ Η πληροφορία αποτελεί το βασικό εργαλείο άσκησης της ιατρικής επιστήμης. Η διάγνωση, η θεραπεία, η πρόληψη και η διοίκηση της υγείας βασίζονται στην απόκτηση, διαχείριση και επεξεργασία της

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

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

Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Επιμέλεια Καραβλίδης Αλέξανδρος. Πίνακας περιεχομένων

Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Επιμέλεια Καραβλίδης Αλέξανδρος. Πίνακας περιεχομένων Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Πίνακας περιεχομένων Τίτλος της έρευνας (title)... 2 Περιγραφή του προβλήματος (Statement of the problem)... 2 Περιγραφή του σκοπού της έρευνας (statement

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr Διαφάνειες: Καθ. Νικόλαος Λορέντζος 1 12. ΤΕΧΝΗΤΗ

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

RobotArmy Περίληψη έργου

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

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

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής ΗΥ 180 - Λογική Διδάσκων: Καθηγητής E-mail: dp@csd.uoc.gr Ώρες διδασκαλίας: Δευτέρα, Τετάρτη 4-6 μμ, Αμφ. Β Ώρες φροντιστηρίου: Πέμπτη 4-6 μμ, Αμφ. Β Ώρες γραφείου: Δευτέρα, Τετάρτη 2-4 μμ, Κ.307 Web site:

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

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

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

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

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

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

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

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

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

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

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

Σ.Ε.Π. (Σύνθετο Εργαστηριακό Περιβάλλον)

Σ.Ε.Π. (Σύνθετο Εργαστηριακό Περιβάλλον) ΔΡΑΣΤΗΡΙΟΤΗΤΑ: ΝΟΜΟΙ ΙΔΑΝΙΚΩΝ ΑΕΡΙΩΝ με τη βοήθεια του λογισμικού Σ.Ε.Π. (Σύνθετο Εργαστηριακό Περιβάλλον) Φυσική Β Λυκείου Θετικής & Τεχνολογικής Κατεύθυνσης Νοέμβριος 2013 0 ΤΙΤΛΟΣ ΝΟΜΟΙ ΙΔΑΝΙΚΩΝ ΑΕΡΙΩΝ

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

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

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

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

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας 1. Εισαγωγή Σχολιασµός των εργασιών της 16 ης παράλληλης συνεδρίας µε θέµα «Σχεδίαση Περιβαλλόντων για ιδασκαλία Προγραµµατισµού» που πραγµατοποιήθηκε στο πλαίσιο του 4 ου Πανελλήνιου Συνεδρίου «ιδακτική

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

Προσφερόμενα Διπλώματα (Προσφερόμενοι Τίτλοι)

Προσφερόμενα Διπλώματα (Προσφερόμενοι Τίτλοι) Εισαγωγή Το Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Πανεπιστημίου Κύπρου προσφέρει ολοκληρωμένα προπτυχιακά και μεταπτυχιακά προγράμματα σπουδών στους κλάδους του Ηλεκτρολόγου Μηχανικού

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ, Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ, Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ Σκοπός του μαθήματος είναι οι μαθητές και οι μαθήτριες να αναπτύξουν ικανότητες αναλυτικής και συνθετικής σκέψης, ώστε να επιλύουν προβλήματα, να σχεδιάζουν

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

Στόχος της ψυχολογικής έρευνας:

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

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

Στρατηγική Αξιολόγησης κατά την Υλοποίηση Εκπαιδευτικού Λογισμικού

Στρατηγική Αξιολόγησης κατά την Υλοποίηση Εκπαιδευτικού Λογισμικού Στρατηγική Αξιολόγησης κατά την Υλοποίηση Εκπαιδευτικού Λογισμικού Μαρία Καραβελάκη, Γεώργιος Παπαπαναγιώτου, Γιάννα Κοντού INTE*LEARN Αγν.Στρατιώτη 46, Καλλιθέα τηλ. 95 91 853, fax. 95 72 098, e-mail:

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

6. Διαχείριση Έργου. Έκδοση των φοιτητών

6. Διαχείριση Έργου. Έκδοση των φοιτητών 6. Διαχείριση Έργου Έκδοση των φοιτητών Εισαγωγή 1. Η διαδικασία της Διαχείρισης Έργου 2. Διαχείριση κινδύνων Επανεξέταση Ερωτήσεις Αυτοαξιολόγησης Διαχείριση του έργου είναι να βάζεις σαφείς στόχους,

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

ΠΛΗΡΟΦΟΡΗΣΗ ΚΑΙ ΔΗΜΙΟΥΡΓΙΚΟΤΗΤΑ 21

ΠΛΗΡΟΦΟΡΗΣΗ ΚΑΙ ΔΗΜΙΟΥΡΓΙΚΟΤΗΤΑ 21 ΕΙΣΑΓΩΓΗ Κατά τη διάρκεια των τελευταίων δεκαετιών, η ραγδαία αύξηση της διαθεσιμότητας των παρεχόμενων πληροφοριών σε όλους τους τομείς της ανθρώπινης δραστηριότητας (επαγγελματικούς και μη), σε συνδυασμό

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

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

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

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

Εφαρμογές Προσομοίωσης

Εφαρμογές Προσομοίωσης Εφαρμογές Προσομοίωσης H προσομοίωση (simulation) ως τεχνική μίμησης της συμπεριφοράς ενός συστήματος από ένα άλλο σύστημα, καταλαμβάνει περίοπτη θέση στα πλαίσια των εκπαιδευτικών εφαρμογών των ΤΠΕ. Μπορούμε

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9 ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ (1) ΓΕΝΙΚΑ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΥΤΕΧΝΙΚΗ Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9 ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Επιστημονικός Προγραμματισμός

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

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

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

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

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

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

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

Διδακτική Προγραμματισμού. Χαρίκλεια Τσαλαπάτα 20/2/2012

Διδακτική Προγραμματισμού. Χαρίκλεια Τσαλαπάτα 20/2/2012 Διδακτική Προγραμματισμού Χαρίκλεια Τσαλαπάτα 20/2/2012 Διδακτική προγραμματισμού Παλαιότερα, η διδασκαλία του προγραμματισμού ταυτιζόταν με τη διδακτική της πληροφορικής Πλέον Η διδακτική της πληροφορικής

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

Τμήμα Επιστημών της Θάλασσας Σύντομες οδηγίες συγγραφής της Πτυχιακής Εργασίας

Τμήμα Επιστημών της Θάλασσας Σύντομες οδηγίες συγγραφής της Πτυχιακής Εργασίας Τμήμα Επιστημών της Θάλασσας Σύντομες οδηγίες συγγραφής της Πτυχιακής Εργασίας Περίληψη (τυπική έκταση: 2-3 παράγραφοι) Η Περίληψη συνοψίζει την εργασία και τα κύρια ευρήματα αυτής με τέτοιον τρόπο, ώστε

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

ΔΙΔΑΣΚΑΛΙΑ ΤΗΣ ΕΝΝΟΙΑΣ ΤΟΥ ΟΡΙΟΥ ΣΥΝΑΡΤΗΣΗΣ

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

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

Ευφυείς Τεχνολογίες ----Πράκτορες

Ευφυείς Τεχνολογίες ----Πράκτορες Ευφυείς Τεχνολογίες ----Πράκτορες Ενότητα 3: Εισαγωγή στους Ευφυείς Πράκτορες Δημοσθένης Σταμάτης demos@it.teithe.gr www.it.teithe.gr/~demos Μαθησιακοί Στόχοι της ενότητας 3 H κατανόηση της φύσης των πρακτόρων

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

Αναλυτικό Πρόγραμμα Μαθηματικών

Αναλυτικό Πρόγραμμα Μαθηματικών Αναλυτικό Πρόγραμμα Μαθηματικών Σχεδιασμός... αντιμετωπίζει ενιαία το πλαίσιο σπουδών (Προδημοτική, Δημοτικό, Γυμνάσιο και Λύκειο), είναι συνέχεια υπό διαμόρφωση και αλλαγή, για να αντιμετωπίζει την εξέλιξη,

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

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

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΤΕΙ Δυτικής Μακεδονίας ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ 2015-2016 Τεχνητή Νοημοσύνη Εισαγωγή Διδάσκων: Τσίπουρας Μάρκος Εκπαιδευτικό Υλικό: Τσίπουρας Μάρκος http://ai.uom.gr/aima/ 2 Τεχνητή Νοημοσύνη Στα πλαίσια

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

Διερευνητική μάθηση We are researchers, let us do research! (Elbers and Streefland, 2000)

Διερευνητική μάθηση We are researchers, let us do research! (Elbers and Streefland, 2000) Διερευνητική μάθηση We are researchers, let us do research! (Elbers and Streefland, 2000) Πρόκειται για την έρευνα που διεξάγουν οι επιστήμονες. Είναι μια πολύπλοκη δραστηριότητα που απαιτεί ειδικό ακριβό

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

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

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

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

Υποδείγματα Ανάπτυξης

Υποδείγματα Ανάπτυξης Υποδείγματα Ανάπτυξης περιεχόμενα παρουσίασης Αποσύνθεση Αφαίρεση Μοντελοποίηση Η δεδομένο λειτουργική προσέγγιση Η αντικειμενοστρεφής προσέγγιση αποσύνθεση Όταν επιχειρούμε τη λύση ενός προβλήματος, πρώτα

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

Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας

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

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

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

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

Μεθοδολογία Έρευνας Διάλεξη 1 η : Εισαγωγή στη Μεθοδολογία Έρευνας

Μεθοδολογία Έρευνας Διάλεξη 1 η : Εισαγωγή στη Μεθοδολογία Έρευνας Μεθοδολογία Έρευνας Διάλεξη 1 η : Εισαγωγή στη Μεθοδολογία Έρευνας 1 Δρ. Αλέξανδρος Αποστολάκης Email: aapostolakis@staff.teicrete.gr Τηλ.: 2810379603 E-class μαθήματος: https://eclass.teicrete.gr/courses/pgrad_omm107/

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

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

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

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

Μαθηµατική. Μοντελοποίηση

Μαθηµατική. Μοντελοποίηση Μαθηµατική Μοντελοποίηση Μοντελοποίηση Απαιτητική οικονοµία και αγορά εργασίας Σύνθετες και περίπλοκες προβληµατικές καταστάσεις Μαθηµατικές και τεχνολογικές δεξιότητες Επίλυση σύνθετων προβληµάτων Μαθηµατικοποίηση

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

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

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

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

215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας

215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας 215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας Το Τμήμα ασχολείται με τη διδασκαλία και την έρευνα στην επιστήμη και τεχνολογία των υπολογιστών και τη μελέτη των εφαρμογών τους. Το Τμήμα ιδρύθηκε το 1980 (ως

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 9: Τεχνητή νοημοσύνη Δημοσθένης Πασχαλίδης Τμήμα Ιερατικών Σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

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

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

Κεφάλαιο 8. Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής. Τεχνητή Νοηµοσύνη - Β' Έκδοση

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

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

Εξελιξη των ηλεκτρονικων υπολογιστων. Εξέλιξη της τεχνολογίας Υπολογιστές του μέλλοντος Έξυπνες συσκευές του μέλλοντος Τεχνητή νοημοσύνη

Εξελιξη των ηλεκτρονικων υπολογιστων. Εξέλιξη της τεχνολογίας Υπολογιστές του μέλλοντος Έξυπνες συσκευές του μέλλοντος Τεχνητή νοημοσύνη Εξελιξη των ηλεκτρονικων υπολογιστων Εξέλιξη της τεχνολογίας Υπολογιστές του μέλλοντος Έξυπνες συσκευές του μέλλοντος Τεχνητή νοημοσύνη Εξελιξη της τεχνολογιας Η εξέλιξη της τεχνολογίας αφορά: Την Ιατρική

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 9: Τεχνητή Νοημοσύνη και Έμπειρα Συστήματα, 1ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Με την ολοκλήρωση

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 9 : Τεχνητή νοημοσύνη. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 9 : Τεχνητή νοημοσύνη. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 9 : Τεχνητή νοημοσύνη Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

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

Οι Τομείς (κατευθύνσεις ειδικότητας) του Τμήματος Πληροφορικής & Επικοινωνιών είναι:

Οι Τομείς (κατευθύνσεις ειδικότητας) του Τμήματος Πληροφορικής & Επικοινωνιών είναι: Ακαδημαϊκή οργάνωση του Τμήματος Το Τμήμα Πληροφορικής και Επικοινωνιών είναι οργανωμένο ακαδημαϊκά σε τρεις Τομείς (κατευθύνσεις) με στόχο την εξειδίκευση των σπουδαστών σε ειδικότητες ανάλογες με τις

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

ΔΙΔΑΚΤΙΚΉ ΤΩΝ ΜΑΘΗΜΑΤΙΚΏΝ

ΔΙΔΑΚΤΙΚΉ ΤΩΝ ΜΑΘΗΜΑΤΙΚΏΝ ΔΙΔΑΚΤΙΚΉ ΤΩΝ ΜΑΘΗΜΑΤΙΚΏΝ 2. Εκπαιδευτικό Λογισμικό για τα Μαθηματικά 2.1 Κύρια χαρακτηριστικά του εκπαιδευτικού λογισμικού για την Διδακτική των Μαθηματικών 2.2 Κατηγορίες εκπαιδευτικού λογισμικού για

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

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

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

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

Περιεχόµενα. ΜΕΡΟΣ Α: Επίλυση Προβληµάτων... 17

Περιεχόµενα. ΜΕΡΟΣ Α: Επίλυση Προβληµάτων... 17 ΠΡΟΛΟΓΟΣ... I ΠΡΟΛΟΓΟΣ ΤΩΝ ΣΥΓΓΡΑΦΕΩΝ...III ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΠΕΡΙΕΧΟΜΕΝΩΝ... IX ΠΕΡΙΕΧΟΜΕΝΑ... XI 1 ΕΙΣΑΓΩΓΗ... 1 1.1 ΤΙ ΕΙΝΑΙ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ... 1 1.1.1 Ορισµός της Νοηµοσύνης... 2 1.1.2 Ορισµός

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

Συστήματα Πληροφοριών Διοίκησης

Συστήματα Πληροφοριών Διοίκησης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πειραιά Συστήματα Πληροφοριών Διοίκησης Ενότητα 2: Γενική θεώρηση και κατάταξη συστημάτων πληροφοριών διοίκησης Διονύσιος Γιαννακόπουλος, Καθηγητής Τμήμα

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

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

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

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

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

Εκπαιδευτική Μονάδα 8.1: Επαγγελματικοί ρόλοι και προφίλ για την παρακολούθηση και την εποπτεία.

Εκπαιδευτική Μονάδα 8.1: Επαγγελματικοί ρόλοι και προφίλ για την παρακολούθηση και την εποπτεία. Εκπαιδευτική Μονάδα 8.1: Επαγγελματικοί ρόλοι και προφίλ για την παρακολούθηση και την εποπτεία. Η παρακολούθηση ενός project κινητικότητας. Η διαδικασία παρακολούθησης ενός διακρατικού project κινητικότητας

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

Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών

Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών Κων/νος Στεφανίδης Σχολικός Σύμβουλος Πειραιά kstef2001@yahoo.gr Νικόλαος Στεφανίδης Φοιτητής ΣΕΜΦΕ, ΕΜΠ

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

Απαιτήσεις Λογισμικού

Απαιτήσεις Λογισμικού Απαιτήσεις Λογισμικού περιεχόμενα παρουσίασης Τι είναι οι απαιτήσεις Δραστηριότητες προσδιορισμού απαιτήσεων Η εξαγωγή απαιτήσεων τι είναι οι απαιτήσεις Πριν βρούμε τη λύση πρέπει να καταλάβουμε το πρόβλημα.

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

Το λογισµικό εκπόνησης οικονοµοτεχνικών µελετών COBA. Η δυνατότητα εφαρµογής του στην Ελλάδα.

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

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

Διδακτικές Τεχνικές (Στρατηγικές)

Διδακτικές Τεχνικές (Στρατηγικές) Διδακτικές Τεχνικές (Στρατηγικές) Ενδεικτικές τεχνικές διδασκαλίας: 1. Εισήγηση ή διάλεξη ή Μονολογική Παρουσίαση 2. Συζήτηση ή διάλογος 3. Ερωταποκρίσεις 4. Χιονοστιβάδα 5. Καταιγισμός Ιδεών 6. Επίδειξη

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

Μεθοδολογία ερευνητικής εργασίας

Μεθοδολογία ερευνητικής εργασίας Μεθοδολογία ερευνητικής εργασίας Σύντομος οδηγός επιβίωσης Μεθοδολογία Ερευνητικής Εργασίας: Γ. Τράπαλης & Ά. Μητρέλης 1 Τι είναι Έρευνα: η παραγωγή πρωτότυπων αποτελεσμάτων μέσω της συστηματικής, ορθολογικής

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

Εκπαιδευτική Μονάδα 1.1: Τεχνικές δεξιότητες και προσόντα

Εκπαιδευτική Μονάδα 1.1: Τεχνικές δεξιότητες και προσόντα Εκπαιδευτική Μονάδα 1.1: Τεχνικές δεξιότητες και προσόντα Πέρα από την τυπολογία της χρηματοδότησης, των εμπλεκόμενων ομάδων-στόχων και την διάρκεια, κάθε project διακρατικής κινητικότητας αποτελεί μια

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

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια

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

Ειδικής Υποδομής Υποχρεωτικό

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

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

"The Project ARXIMIDIS ΙΙ is co-funded by the European Social Fund and National Resources EPEAEK ΙΙ "

The Project ARXIMIDIS ΙΙ is co-funded by the European Social Fund and National Resources EPEAEK ΙΙ Αρχιµήδης ΙΙ Ενίσχυση Ερευνητικών Οµάδων του ΤΕΙ Κρήτης Τίτλος Υποέργου: Εφαρµογές Τεχνητής Νοηµοσύνης στην Τεχνολογία Λογισµικού και στην Ιατρική Επιστηµονικός Υπεύθυνος: ρ Εµµανουήλ Μαρακάκης ραστηριότητα

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

Εννοιολογική χαρτογράφηση: Διδακτική αξιοποίηση- Αποτελέσματα για το μαθητή

Εννοιολογική χαρτογράφηση: Διδακτική αξιοποίηση- Αποτελέσματα για το μαθητή Το λογισμικό της εννοιολογικής χαρτογράυησης Inspiration Η τεχνική της εννοιολογικής χαρτογράφησης αναπτύχθηκε από τον καθηγητή Joseph D. Novak, στο πανεπιστήμιο του Cornell. Βασίστηκε στις θεωρίες του

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

Διοίκηση Επιχειρήσεων

Διοίκηση Επιχειρήσεων 10 η Εισήγηση Δημιουργικότητα - Καινοτομία 1 1.Εισαγωγή στη Δημιουργικότητα και την Καινοτομία 2.Δημιουργικό Μάνατζμεντ 3.Καινοτομικό μάνατζμεντ 4.Παραδείγματα δημιουργικότητας και καινοτομίας 2 Δημιουργικότητα

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

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

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

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

1 Ανάλυση Προβλήματος

1 Ανάλυση Προβλήματος 1 Ανάλυση Προβλήματος 1.1 Η Έννοια Πρόβλημα Τι είναι δεδομένο; Δεδομένο είναι οτιδήποτε μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή, με μία από τις πέντε αισθήσεις του. Τι είναι επεξεργασία

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

Εισαγωγή. ! Η µελέτη της νοηµοσύνης είναι ένα από τα πιο παλιά θέµατα.

Εισαγωγή. ! Η µελέτη της νοηµοσύνης είναι ένα από τα πιο παλιά θέµατα. Εισαγωγή! Η ΤΝσυµπλήρωσε 45 χρόνια ζωής Είναι ένα από τα πιο νέα ερευνητικά πεδία Τυπικά ξεκίνησε το 1956 στη συνάντηση µερικών επιφανών επιστηµόνων, όπως ο John McCarthy, ο Marvin Minsky, ο Claude Shannon

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

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

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

Διαχείριση έργων. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαχείριση έργων. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαχείριση έργων Στόχοι Ερμηνεία των κύριων εργασιών ενός διευθυντή έργου λογισμικού Παρουσίαση της διαχείρισης έργων λογισμικού και περιγραφή των χαρακτηριστικών που τη διακρίνουν Εξέταση του σχεδιασμού

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