Έμπειρα συστήματα

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση σε: πλοήγηση, αναζήτηση

Στην τεχνητή νοημοσύνη, ένα έμπειρο σύστημα είναι ένα υπολογιστικό σύστημα το οποίο μιμείται την ικανότητα ενός εμπειρογνώμονα στη λήψη αποφάσεων[1]. Τα έμπειρα συστήματα σχεδιάστηκαν για να λύνουν πολύπλοκα προβλήματα συλλογιζόμενα με βάση τη διαθέσιμη γνώση σε ένα πεδίο, όπως κάνει ένας εμπειρογνώμονας, και όχι εκτελώντας μία ακριβή διαδικασία επίλυσης την οποία έχει προδιαγράψει ένας προγραμματιστής, όπως στην περίπτωση του συμβατικού προγραμματισμού υπολογιστών[2][3][4]. Τα πρώτα έμπειρα συστήματα δημιουργήθηκαν τη δεκαετία του 1970 και έπειτα αναπτύχθηκαν ραγδαία τη δεκαετία του 1980[5]. Τα έμπειρα συστήματα ήταν ανάμεσα στις πρώτες πραγματικά επιτυχημένες μορφές του λογισμικού της ΤΝ[6][7][8][9][10][11].

Ένα έμπειρο σύστημα έχει μοναδική δομή, διαφορετική από τα παραδοσιακά προγράμματα. Διαιρείται σε δύο μέρη, το ένα σταθερό, ανεξάρτητο από το έμπειρο σύστημα: η μηχανή εξαγωγής συμπερασμάτων, και το άλλο μεταβλητό: η βάση γνώσης. Για να τρέξει ένα έμπειρο σύστημα, η μηχανή σκέφτεται λογικά στηριζόμενη στη βάση γνώσης όπως ο άνθρωπος.[12]. Τη δεκαετία του 1980 εμφανίστηκε ένα τρίτο μέρος: ένα περιβάλλον διαλόγου (interface) για να συνδιαλέγεται με τους χρήστες [13]. Αυτή η ικανότητα να έρχεται σε επαφή με τους χρήστες ονομάστηκε αργότερα επικοινωνιακή.[14][15]

Αρχιτεκτονική του Λογισμικού[Επεξεργασία | επεξεργασία κώδικα]

Βάση κανόνα ή βάση γνώσης[Επεξεργασία | επεξεργασία κώδικα]

Στην τεχνολογία των έμπειρων συστημάτων, η βάση γνώσης είναι εκφρασμένη σε κανόνες φυσικής γλώσσας "ΑΝ ... ΤΟΤΕ ..." Για παράδειγμα:

  • "ΑΝ είναι ζωντανό ΤΟΤΕ είναι θνητό"
  • "ΑΝ η ηλικία του = γνωστή ΤΟΤΕ το έτος γεννήσεώς του = σημερινή ημερομηνία - την ηλικία του σε χρόνια"
  • "ΑΝ η ταυτότητα του μικροβίου δεν είναι γνωστή με βεβαιότητα ΚΑΙ το μικρόβιο είναι θετικό στη διαδικασία gram ΚΑΙ η μορφολογία του οργανισμού είναι "ράβδος" ΚΑΙ το μικρόβιο είναι αερόβιο ΤΟΤΕ υπάρχει μία μεγάλη πιθανότητα (0.8) το μικρόβιο να είναι τύπου εντεροβακτήριο " [16]

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

Η μηχανή εξαγωγής συμπεράσματος[Επεξεργασία | επεξεργασία κώδικα]

Η μηχανή εξαγωγής συμπεράσματος είναι ένα πρόγραμμα του υπολογιστή το οποίο έχει σχεδιαστεί για να παράγει έναν συλλογισμό σε κανόνες .Η παραγωγή του συλλογισμού βασίζεται στην Λογική. Υπάρχουν διάφορα είδη λογικής όπως η προτασιακή λογική (propositional logic), predicates of order 1 or more, η epistemic logic, η τροπική λογική (modal logic), η χρονική λογική, η ασαφής λογική, κ.α. Εκτός από την λογική των "λογικών εκφράσεων" (propositional logic) όλες οι άλλες είναι πολύπλοκες και μπορούν να γίνουν κατανοητές μόνο από μαθηματικούς , logicians ή επιστήμονες υπολογιστών. Η λογική των "λογικών εκφράσεων" είναι η βασική ανθρώπινη λογική ,η οποία εκφράζεται με τον συλλογισμό. Τα έμπειρα συστήματα τα οποία χρησιμοποιούν αυτή τη λογική ονομάζονται και έμπειρα συστήματα μηδενικής τάξης (zeroth-order). Με την λογική, η μηχανή είναι σε θέση να παράγει νέες πληροφορίες από τη γνώση η οποία εμπεριέχεται στην βάση των κανόνων και των δεδομένων προς επεξεργασία.

Η μηχανή τρέχει με δύο τρόπους: με διαδικασία επεξεργασίας ενός συνόλου δεδομένων (batch) ή με την διαδικασία διαλόγου. Με την διαδικασία επεξεργασίας ,το έμπειρο σύστημα έχει όλα τα απαραίτητα δεδομένα για να παραχθεί από την αρχή. Για τον χρήστη ,το πρόγραμμα δουλεύει ως ένα κλασικό πρόγραμμα: στο οποίο ο χρήστης παρέχει δεδομένα και λαμβάνει αποτελέσματα αμέσως. Ο συλλογισμός είναι αόρατος. Ο διαλογικός τρόπος γίνεται απαραίτητος όταν ο προγραμματιστής γνωρίζει ότι δεν μπορεί να ρωτήσει τον χρήστη όλα τα απαραίτητα δεδομένα από την αρχή και για τον λόγο αυτό το πρόβλημα γίνεται πολύπλοκο. Το λογισμικό πρέπει να “εφευρίσκει” τον τρόπο να λύνει το πρόβλημα ,να ζητάει από τον χρήστη ελλειπή δεδομένα, σταδιακά, πλησιάζοντας στον στόχο όσο το δυνατόν γρηγορότερα. Το αποτέλεσμα δίνει την εντύπωση του διαλόγου καθοδηγούμενο από έναν ειδικό. Για να καθοδηγήσει ένα διάλογο, η μηχανή πρέπει να έχει διάφορα επίπεδα sophistication: "forward chaining", "backward chaining" και "mixed chaining". Η αλυσιδοποίηση (chaining) προς τα εμπρός είναι η ερώτηση ενός ειδικού ο οποίος δεν έχει ιδέα για την λύση και την διερευνά σταδιακά (π.χ. λάθος διάγνωση). Στην αλυσιδοποίηση προς τα πίσω, η μηχανή έχει μια ιδέα για τον στόχο (π.χ. είναι εντάξει ή όχι; Η’ υπάρχει κίνδυνος αλλά ποιο είναι το επίπεδο του;). Ξεκινάει στοχεύοντας να βρεθεί η λύση όσο το δυνατόν γρηγορότερα. Στην μεικτή αλυσιδοποίηση η μηχανή έχει την ιδέα του στόχου αλλά αυτό δεν είναι αρκετό: αυτό συνάγει στην αλυσιδοποίηση προς τα εμπρός από όλες τις πιθανές απαντήσεις προηγούμενων χρηστών, πριν κάνει την επόμενη ερώτηση. Έτσι, αρκετά συχνά το πρόγραμμα συμπεραίνει την απάντηση της επόμενης ερώτησης πριν καν προβεί στην ερώτηση.

Μεγάλο ενδιαφέρον στη χρήση λογικής έχει το ότι αυτό το είδος λογισμικού είναι σε θέση να δίνει στο χρήστη ξεκάθαρη εξήγηση σχετικά με το τι κάνει (το “Γιατί;”)και το τι αποτέλεσμα έχει παραχθεί (το «Πώς;»). Ακόμα καλύτερα, χάρη στην λογική τα περισσότερα sophisticated έμπειρα συστήματα είναι σε θέση να ανιχνεύουν αντιφάσεις[17] στις πληροφορίες των χρηστών ή στην παρεχόμενη γνώση, και μπορούν να τα επεξηγούν ξεκάθαρα, αποκαλύπτοντας την ίδια στιγμή την εξειδικευμένη γνώση και τον τρόπο σκέψης τους.

Πλεονεκτήματα[Επεξεργασία | επεξεργασία κώδικα]

Τα έμπειρα συστήματα προσφέρουν πολλά πλεονεκτήματα στους χρήστες σε σύγκριση με τα παραδοσιακά προγράμματα, επειδή λειτουργούν σαν τον ανθρώπινο εγκέφαλο.

Διάλογος[Επεξεργασία | επεξεργασία κώδικα]

Τα έμπειρα συστήματα επιτρέπουν στους χρήστες να συνδιαλέγονται με τους υπολογιστές όπως θα έκαναν και με κάποιον άλλο άνθρωπο.Για την εισαγωγή δεδομένων στον υπολογιστή, η παραδοσιακή μέθοδος της πληροφορικής χρησιμοποιεί μία ακριβή αλληλεπίδραση ανθρώπου-μηχανής: η οθόνη εισαγωγής δεδομένων, η οποία είναι ένα μη διαδραστικό μέσο. Η εισαγωγή δεδομένων ωθεί τον χρήστη να προετοιμάσει ένα σετ δεδομένων χωρίς αυτό να είναι απαραίτητα κατανοητό γιατί να χρειάζεται. Συνήθως απαιτεί από τους χρήστες να καταβάλλουν μία εξάσκηση πριν χρησιμοποιήσουν το λογισμικό αυτό. Ο χρήστης πάντα σκέφτεται μία ερώτηση τη φορά.

Γρήγορη διαθεσιμότητα και ευκαιρία να αυτοπρογραμματιστεί[Επεξεργασία | επεξεργασία κώδικα]

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

Δυνατότητα να εκμεταλλευθεί ένα αξιοσημείωτο σύνολο γνώσης[Επεξεργασία | επεξεργασία κώδικα]

Τα έμπειρα συστήματα χρησιμοποιούν μία βάση κανόνων, σε αντίθεση με τα συμβατικά προγράμματα, που σημαίνει ότι δεν χρειάζεται να έχει αρκετές γνώσεις κάποιος για να προγραμματίσει. Είτε η βάση κανόνων έχει 10 είτε 10 000 κανόνες, η λειτουργία της μηχανής είναι ίδια.

Αξιοπιστία[Επεξεργασία | επεξεργασία κώδικα]

Η αξιοπιστία ενός έμπειρου συστήματος είναι ίδια με την αξιοπιστία μίας βάσης δεδομένων, δηλαδή καλή και υψηλότερη από εκείνη ενός κλασσικού συστήματος.

Επεκτασιμότητα[Επεξεργασία | επεξεργασία κώδικα]

Για να εξελιχθεί ένα έμπειρο σύστημα πρέπει, να προστεθούν, να τροποποιηθούν ή να διαγραφούν κανόνες. Εφόσον οι κανόνες είναι γραμμένοι σε απλή γλώσσα, είναι εύκολο να εντοπίζει κανείς εκείνους που χρειάζεται να διαγραφούν ή να τροποποιηθούν.

Παιδαγωγία[Επεξεργασία | επεξεργασία κώδικα]

Οι μηχανές που τρέχουν με απλή λογική είναι σε θέση να επεξηγούν στο χρήστη σε απλή γλώσσα, γιατί κάνουν μία ερώτηση και πώς καταλήγουν στο κάθε συμπέρασμα. Με τον τρόπο αυτό, επιδεικνύουν τη γνώση ενός εμπειρογνώμονα που εμπεριέχεται στα έμπειρα συστήματα. Έτσι, οι χρήστες μπορούν να μαθαίνουν αυτή τη γνώση και να τη χρησιμοποιούν. Επιπλέον, μπορούν να καταλήγουν σε συμπεράσματά τους βήμα-βήμα. Έτσι οι χρήστες έχουν πληροφορία σχετικά με το πρόβλημά, πολύ νωρίτερα από την τελική απάντηση του έμπειρου συστήματος.

Διατήρηση και βελτίωση των γνώσεων[Επεξεργασία | επεξεργασία κώδικα]

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

Νέοι τομείς που έχουν αγνοηθεί από την συμβατική πληροφορική[Επεξεργασία | επεξεργασία κώδικα]

Αυτοματοποιώντας μία τεράστια γνώση, ο προγραμματιστής ενδέχεται να συναντήσει ένα κλασσικό πρόβλημα: την «συνδυαστική έκρηξη» ("combinatorial explosion"), η οποία περιπλέκει σε μεγάλο βαθμό την δουλειά του και τα αποτελέσματα, σε ένα πολύπλοκο και χρονοβόρο πρόγραμμα. Το συλλογιστικό έμπειρο σύστημα δεν αντιμετωπίζει αυτό το πρόβλημα αφού η μηχανή φορτώνει αυτόματα συνδυασμούς ανάμεσα στους κανόνες. Αυτή η ικανότητα μπορεί να απευθύνεται σε τομείς όπου οι συνδυασμοί είναι τεράστιοι: πολύ διαδραστικές ή διαλογικές εφαρμογές, λανθασμένες διαγνώσεις, υποστήριξη αποφάσεων σε πολύπλοκα συστήματα, εκπαιδευτικό λογισμικό, λογική προσομοίωσης των μηχανών ή συστημάτων και συνεχώς εναλλασσόμενο λογισμικού.

Μειονεκτήματα[Επεξεργασία | επεξεργασία κώδικα]

Το έμπειρο σύστημα έχει ένα σημαντικό ελάττωμα το οποίο εξηγεί τη χαμηλή του επιτυχία αν και υπάρχει εδώ και 70 χρόνια.Αυτό το ελάττωμα είναι: η συλλογή γνώσης και η εξήγηση της σε κανόνες, δηλαδή μηχανική γνώσης. Αρκετοί προγραμματιστές δεν έχουν κάποια μέθοδο για να παρουσιάσουν αυτό το έργο. Εργάζονται «χειροκίνητα» κάτι που τους δίνει μεγάλη πιθανότητα να κάνουν λάθος. Η γνώση ενός εμπειρογνώμονα δεν είναι αρκετά κατανοητή, υπάρχει έλλειψη κανόνων, οι οποίοι είναι αντιφατικοί, μερικοί από τους οποίους είναι φτωχά γραμμένοι και άχρηστοι. Χειρότερα, οι περισσότεροι συνήθως χρησιμοποιούν μία μηχανή που δεν μπορεί να κάνει συλλογισμό. Το αποτέλεσμα είναι: το έμπειρο σύστημα λειτουργεί άσχημα και το έργο εγκαταλείπεται.[18] Η σωστή μεθοδολογία ανάπτυξης μπορεί να μετριάσει αυτά τα προβλήματα. Υπάρχει λογισμικό που παίρνει συνέντευξη από τον ειδικό βήμα - βήμα , η οποία αυτόματα γράφει τους κανόνες και ταυτοχρόνως τρέχει το έμπειρο σύστημα μπροστά στα μάτια του, εκτελώντας συνοχή των κανόνων ελέγχου.[19][20][21] Έτσι ειδικοί και χρήστες μπορούν να ελέγξουν την ποιότητα του λογισμικού πριν τελειώσει.

Πολλά έμπειρα συστήματα συχνά πλαισιώνονται από τη χρήση λογικής. Πολλές από τις λογικές λειτουργούν πάνω σε " μεταβλητές " γεγονότα, δηλαδή αυτών των οποίων η τιμή αλλάζει πολλές φορές κατά τη διάρκεια μιάς συλλογιστικής πράξης, η οποία θεωρείται σαν ιδιοκτησία που ανήκει σε μία πιο ισχυρή λογική. Ακριβώς όπως στην κλασσική πληροφορική, ένας τρόπος προγραμματισμού όπου οι προγραμματιστές είναι όντως άνετοι. Αυτή είναι η περίπτωση του Mycin, Dendral , fuzzy logic, predicate logic (Prolog), symbolic logic, mathematical logic κλπ. Η προτασιακή λογική χρησιμοποιεί μόνο αμετάβλητα γεγονότα [22].Αποδεικνύεται ότι στο ανθρώπινο μυαλό, τα γεγονότα που χρησιμοποιούνται πρέπει να παραμένουν σταθερά εφόσον το μυαλό σκέπτεται λογικά επ' αυτών. Αυτό καθιστά εύκολη την ανίχνευση αντιφάσεων και την παραγωγή της εξήγησης, δύο τρόποι ελέγχου της συνάφειας της γνώσης [23][24]. Αυτός είναι ο λόγος για τον οποίο τα έμπειρα συστήματα χρησιμοποιώντας μεταβλητά γεγονότα, περισσότερο κατανοητά για τους προγραμματιστές του ΙΤ, και τα περισσότερα από αυτά είναι δυσκολότερο να αναπτυχθούν, πιο δυσνόητα στους χρήστες, λιγότερο αξιόπιστα και για τον λόγο ότι δεν παράγουν εξηγήσεις ή ανίχνευση αντίφασης.

Πεδίο εφαρμογής[Επεξεργασία | επεξεργασία κώδικα]

Τα έμπειρα συστήματα απευθύνονται σε τομείς όπου η συνδυαστική ανάλυση είναι τεράστια:

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

Κάθε πρόγραμμα περιλαμβάνει ειδικές γνώσεις και ο κλασσικός προγραμματισμός ξεκινά πάντα με μία συνέντευξη με τον εμπειρογνώμονα. Ένα πρόγραμμα γραμμένο στη μορφή ενός έμπειρου συστήματος λαμβάνει όλα τα ειδικά πλεονεκτήματα των έμπειρων συστημάτων, και μεταξύ άλλων, μπορεί να αναπτυχθεί από τον καθένα χωρίς εκπαίδευση στην πληροφορική και χωρίς γνώση των γλώσσών προγραμματισμού. Αλλά αυτή η λύση έχει ένα ελάττωμα: το ειδικό σύστημα τρέχει πιο αργά από ένα παραδοσιακό πρόγραμμα επειδή αυτό συνεχώς «σκέφτεται» , ενώ στην πραγματικότητα ένα κλασικό λογισμικό, απλά ακολουθεί μονοπάτια τα οποία έχουν ανιχνευτεί από τον προγραμματιστή.

Παραδείγματα εφαρμογών[Επεξεργασία | επεξεργασία κώδικα]

Τα έμπειρα συστήματα είναι σχεδιασμένα για να διευκολύνουν τα καθήκοντα στο πεδίο της λογιστικής, της ιατρικής, process control, financial service, της παραγωγής, του ανθρώπινου δυναμικού, και πολλών άλλων. Τυπικά, ο τομέας του προβλήματος είναι αρκετά πολύπλοκος, έτσι ώστε οι περισσότεροι απλοί παραδοσιακοί αλγόριθμοι να μην μπορούν να παρέχουν την κατάλληλη λύση. Η υποδομή ενός επιτυχημένου έμπειρου συστήματος βασίζεται σε μία σειρά τεχνικών διαδικασιών και ανάπτυξης, οι οποίες μπορούν να σχεδιαστούν από τεχνικούς και σχετικούς εμπειρογνώμονες. Ως εκ τούτου, τα έμπειρα συστήματα τυπικά δεν παρέχουν οριστικές απαντήσεις, αλλά παρέχουν πιθανολογικές συστάσεις.

Ένα παράδειγμα εφαρμογής των έμπειρων συστημάτων στο οικονομικό πεδίο είναι είναι τα έμπειρα συστήματα για υποθήκες (expert systems for mortgages). Τα τμήματα δανείων ενδιαφέρονται για ειδικά συστήματα για υποθήκες εξαιτίας του αυξανόμενου κόστους εργασίας, το οποίο κάνει τον χειρισμό και την αποδοχή σχετικά μικρών δανείων λιγότερο κερδοφόρα. Επίσης, βλέπουν την δυνατότητα για τυποποιημένο και αποτελεσματικό χειρισμό των δανείων μέσω υποθήκης με την εφαρμογή έμπειρων συστημάτων, εκτιμώντας ότι για την αποδοχή των δανείων υπάρχουν δύσκολοι και γρήγοροι κανόνες οι οποίοι δεν υπάρχουν πάντα σε άλλους τύπους δανείων. Άλλη μία συνηθισμένη εφαρμογή στον χρηματοοικονομικό τομέα για τα έμπειρα συστήματα, είναι οι συστάσεις για διαπραγμάτευση (trading) σε διάφορες χρηματαγορές. Αυτές οι αγορές, περιλαμβάνουν πολλές μεταβλητές και ανθρώπινα συναισθήματα τα οποία μπορεί να είναι αδύνατον να χαρακτηριστούν ντετερμινιστικά. Για αυτό και τα έμπειρα συστήματα βασίζονται σε εμπειρικούς κανόνες από ειδικούς και χρησιμοποιούν δεδομένα προσομοίωσης. Τα έμπειρα συστήματα αυτού του είδους, μπορούν να επεκτείνονται σε εκείνα που παρέχουν περιφερειακές λιανικές συστάσεις, όπως η Wishabi (αγορές μέσω διαδικτύου) και σε εκείνα τα οποία συνδράμουν στις νομισματικές αποφάσεις των χρηματοοικονομικών ιδρυμάτων και κυβερνήσεων.

Άλλες εφαρμογές των έμπειρων συστημάτων της δεκαετίας του 1970 και του 1980, τις οποίες σήμερα αποκαλούμε απλά τεχνητή νοημοσύνη, υπάρχουν στα ηλεκτρονικά παιχνίδια. Ένα παράδειγμα είναι τα ηλεκτρονικά παιχνίδια μπέιζμπολ, Earl Weaver Baseball και Tony La Russa Baseball, με το καθένα να έχει υψηλές λεπτομέρειες προσομοίωσης. Όταν ένας άνθρωπος παίζει το παιχνίδι με αντίπαλο τον υπολογιστή, ο υπολογιστής ρωτάει το έμπειρο σύστημα Earl Weaver ή Tony La Russa, για να αποφασίσει ποια στρατηγική θα ακολουθήσει. Ακόμη και αυτές οι επιλογές που μερικές είναι τυχαίες, είναι μέρος του φυσικού συστήματος (όπως το να προσποιείται σε ένα παίχτη μπέιζμπολ ότι θα του κλέψει τη βάση) όπου αποφασίστηκαν βασιζόμενες στις παρεχόμενες πιθανότητες από τους Earl Weaver και Tony La Russa. Σήμερα θα μπορούσαμε απλά να πούμε ότι «η τεχνητή νοημοσύνη του παιχνιδιού παρέχει στρατηγική που αντιτίθεται με αυτή του χρήστη του παιχνιδιού».

Μηχανική γνώσης[Επεξεργασία | επεξεργασία κώδικα]

Κύριο λήμμα: Μηχανική Γνώσης

Το χτίσιμο, η διατήρηση και η ανάπτυξη των έμπειρων συστημάτων είναι γνωστή ως μηχανική των γνώσεων.[25]. Η μηχανική των γνώσεων είναι μία "ακολουθία που περιέχει ενοποιημένη γνώση στα υπολογιστικά συστήματα με σκοπό να λύσει πολύπλοκα προβλήματα τα οποία χρειάζονται μία υψηλού επιπέδου ανθρώπινη εμπειρογνωμοσύνη" [26]

Υπάρχουν γενικά τρία άτομα που έχουν αλληλεπίδραση στα έμπειρα συστήματα. Ο ένας από αυτούς είναι ο τελικός χρήστης, το άτομο το οποίο χρησιμοποιεί το σύστημα για να τον βοηθήσει να επιλύσει το πρόβλημά του. Στη κατασκευή και την διατήρηση του συστήματος υπάρχουν δύο άλλοι ρόλοι: ο εμπειρογνώμονας στον τομέα μοντελοποίησης του προβλήματος, ο οποίος δημιουργεί το σύστημα και τροφοδοτεί τη βάση γνώσης, και ένας μηχανικος γνώσης ο οποίος βοηθά τον εμπειρογνώμονα να προσδιορίσει την αναπαράσταση της γνώσης του, εισάγοντας αυτή τη γνώση μέσα σε μία υπομονάδα επεξήγησης η οποία προσδιορίζει την τεχνική εξαγωγή συμπεράσματος που απαιτείται για τη λύση του προβλήματος. Συνήθως, ο μηχανικός γνώσης θα παρουσιάσει τη δραστηριότητα επίλυσης του προβλήματος σε μορφή κανόνων (rule-based programming). Όταν αυτοί οι κανόνες έχουν δημιουργηθεί από τον τομέα τεχνογνωσίας, η βάση γνώσης αποθηκεύει τους κανόνες του έμπειρου συστήματος.

Ιστορία[Επεξεργασία | επεξεργασία κώδικα]

Οι ερευνητές του προγραμματιστικού έργου Stanford Heuristic και ο αποκαλούμενος ως "πατέρας" του έμπειρου συστήματος Edward Feigenbaum εισήγαγαν τα έμπειρα συστήματα, συμπεριλαμβανομένων των συστημάτων Dendral και Mycin. Οι πρωταρχικοί συνεισφέροντες σε αυτήν την τεχνολογία ήταν οι Bruce Buchanan, Edward Shortliffe, Randall Davis, William vanMelle, Carli Scott και άλλοι στο Stanford. Τα έμπειρα συστήματα ήταν μεταξύ των πρώτων πραγματικά επιτυχημένων μορφών του λογισμικού της τεχνητής νοημοσύνης.[6][7][8][9][10][11]

Η έρευνα είναι επίσης πολύ ενεργή στη Γαλλία, όπου οι ερευνητές επικεντρώνονται στον αυτοματισμό της συλλογιστικής που χρησιμοποιούν οι μηχανές. H Γαλλική συμβολική προγραμματιστική γλώσσα Prolog σχεδιάστηκε το 1972 και σηματοδοτεί μία αληθινή εξέλιξη στα έμπειρα συστημάτα όπως είναι το Dendral ή το Mycin: είναι κελύφη[27], τα οποία έχουν μία δομή λογισμικού έτοιμη να λάβει οποιοδήποτε έμπειρο σύστημα και να το τρέξει. Ενοποιεί μία μηχανή η οποία χρησιμοποιεί πρωτοβάθμια (ανθρώπινη) λογική, με βάσεις γνώσης και δεδομένα. Είναι ένα εργαλείο για μαζική παραγωγή έμπειρων συστημάτων και ήταν η πρώτη επιχειρησιακή δηλωτική γλώσσα[28], η οποία αργότερα έγινε η μεγαλύτερη σε πωλήσεις γλώσσα τεχνητής νοημοσύνης στον κόσμο[29], παρόλο που η Prolog δεν είναι ιδιαίτερα φιλική για τον χρήστη και είναι μακρυά από την ανθρώπινη λογική.[30][31][32].

Τη δεκαετία του 1980, τα έμπειρα συστήματα αναπτύχθηκαν ραγδαία καθώς αναγνωρίστηκαν ως πρακτικά εργαλεία για επίλυση προβλημάτων της καθημερινότητας. Τα πανεπιστήμια προσφέρουν μαθήματα για τα έμπειρα συστήματα και τα 2/3 των εταιρειών της λίστας Fortune 1000 (οι 1000 πιο πλούσιες εταιρείες) εφάρμοσαν την τεχνολογία αυτή, σε καθημερινές επιχειρηματικές δραστηριότητες τους.[5][33]. Το ενδιαφέρον ήταν παγκόσμιο με την πέμπτη γενιά του ερευνητικού προγράμματος των υπολογιστικών συστημάτων στην Ιαπωνία και κατά συνέπεια αυξήθηκε το ερευνητικό κεφάλαιο στην Ευρώπη. Η ανάπτυξη στο πεδίο αυτό, συνεχίστηκε μέσα στη δεκαετία του 1990.

Η ανάπτυξη των έμπειρων συστημάτων βοηθήθηκε από την ανάπτυξη των συμβολικών διαδικαστικών γλωσσών Lisp και Prolog. Για την αποφυγή της «ανακάλυψης του τροχού» ξανά, τα κελύφη των έμπειρων συστημάτων κατασκευάστηκαν, ούτως ώστε να δημιουργούνται μεγαλύτερα έμπειρα συστήματα με εξειδικευμένα χαρακτηριστικά [34] .

Το 1981 εμφανίστηκε το πρώτο IBM PC, μαζί με τα λειτουργικά συστήματα της οικογένειας του MS-DOS. Η χαμηλή του τιμή οδήγησε στην πολλαπλασιαστική αύξηση των χρηστών και άνοιξε μία καινούργια αγορά για τους υπολογιστές και τα έμπειρα συστήματα. Τη δεκαετία του 1980 η τεχνητής νοημοσύνης φαινόταν πολλά υποσχόμενη και οι άνθρωποι πίστευαν ότι θα πετύχαινε πολύ σύντομα[15].

Πολλές εταιρίες ξεκίνησαν το εμπόριο των κελυφών των έμπειρων συστημάτων από τα πανεπιστήμια, που μετονομάστηκαν σε “γεννήτριες” επειδή πρόσθεσαν στο κέλυφος ένα εργαλείο για το γράψιμο κανόνων σε απλή γλώσσα και έτσι, θεωρητικά, επέτρεψαν τη δημιουργία έμπειρων συστημάτων χωρίς γλώσσα προγραμματισμού ή κάποιου άλλου λογισμικού[16]. Τα καλύτερα από αυτά που δημιουργήθηκαν ήταν: το Guru (USA) και το Personal Consultant Plus (USA)[19][20], τα οποία επηρεάστηκαν από το Mycin [17][18], το Nexper Object (προγραμματισμένο από την Neuron Data, εταιρεία που ιδρύθηκε στην Καλιφόρνια από τρεις Γάλλους) [21][22], το Genesia (το οποίο προγραμματίστηκε από τη Γαλλική δημόσια εταιρία ηλεκτροδότησης και βγήκε στην αγορά από την Steria)[23] και η VP Experts(USA)[24]. Αλλά τελικά τα εργαλεία χρησιμοποιήθηκαν μόνο σε ερευνητικά προγράμματα. Αυτά τα ερευνητικά προγράμματα δεν είχαν διεισδύσει στην αγορά των επιχειρήσεων, παρουσιάζοντας ότι η τεχνητή νοημοσύνη δεν ήταν ακόμη ώριμη.

Το 1986, μία νέα γεννήτρια έμπειρων συστημάτων για τους προσωπικούς υπολογιστές εμφανίστηκε στην αγορά, προερχόμενη από την Γαλλική ακαδημία έρευνας και ήταν η: Intelligence Service [35][36],η οποία πουλήθηκε από την εταιρεία λογισμικού GSI-TECSI. Αυτό το λογισμικό παρουσίασε μία ριζοσπαστική καινοτομία: χρησιμοποιούσε μία λογική η οποία οδηγούσε σε συμπεράσματα (λογικής μηδενικής τάξης, zeroth order logic), την οποία εκτελούσε το έμπειρο σύστημα, βασισμένο σε μία βάση κανόνων γραμμένη σε καθημερινή γλώσσα, παράγοντας εξηγήσεις και εντοπίζοντας αντιφάσεις μεταξύ των γεγονότων. ‘Ήταν το πρώτο εργαλείο το οποίο παρουσίαζε την τεχνητή νοημοσύνη, η οποία είχε οριστεί από τον Edward Feigenbaum ,και στο βιβλίο του για την Ιαπωνική πέμπτη γενιά Artificial Intelligence and Japan's Computer Challenge to the World (1983) έλεγε: «Τα μηχανήματα θα έχουν τη δύναμη της συλλογιστικής, τα οποία αυτόματα μηχανοποιούν μεγάλες ποσότητες γνώσεων για να εξυπηρετήσουν οποιαδήποτε σκοπό των ανθρώπινων προτάσεων, από ιατρικές διαγνώσεις μέχρι την σχεδίαση παραγωγής προϊόντων και από διοικητικές αποφάσεις μέχρι την εκπαίδευση», «Η ανθρώπινη συλλογιστική έχει, ίσως αναπόφευκτα, διαμορφώσει τη συλλογιστική μηχανή», «η δύναμη του συλλογισμού αυτών των μηχανημάτων φτάνει ή υπερβαίνει τη δύναμη του ανθρώπινου συλλογισμού ο οποίος τα καθοδηγεί, και σε μερικές περιπτώσεις, η δύναμη του συλλογισμού κάθε ανθρώπου εκτελείται σαν καθήκον». Στην πραγματικότητα η "Pandora" ήταν Υπηρεσία Πληροφοριών (1985)[37], ένα πρόγραμμα το οποίο δημιουργήθηκε από την διατριβή των δύο ακαδημαϊκών φοιτητών: τους Jean-Louis Laurière [38], που ήταν από τους διασημότερους Γάλλους ερευνητές της τεχνητής νοημοσύνης. Δυστυχώς, επειδή αυτό το λογισμικό δεν γράφτηκε από τους ίδιους τους προγραμματιστές της τεχνητής νοημοσύνης, το GSI-TECSI δεν ήταν [39] σε θέση να το αναπτύξει. Οι πωλήσεις μειώθηκαν και το εμπόριο των έμπειρων συστημάτων μετά από μερικά χρόνια σταμάτησε.

Πηγές[Επεξεργασία | επεξεργασία κώδικα]

  1. Jackson, Peter (1998), Introduction To Expert Systems (3 έκδοση), Addison Wesley, σελ. 2, ISBN 978-0-201-87686-4 
  2. Nwigbo Stella and Agbo Okechuku Chuks, School of Science Education, Expert system: a catalyst in educational development in Nigeria: "The ability of this system to explain the reasoning process through back-traces (...) provides an additional feature that conventional programming does not handle"
  3. Regina Barzilay, Daryl McCullough, Owen Rambow, Jonathan DeCristofaro, Tanya Korelsky, Benoit Lavoie: "A new approach to expert system explanations"
  4. Conventional programming
  5. 5,0 5,1 Cornelius T. Leondes (2002). Expert systems: the technology of knowledge management and decision making for the 21st century. σελ. 1–22. ISBN 978-0-12-443880-4. 
  6. 6,0 6,1 ACM 1998, I.2.1
  7. 7,0 7,1 Russell & Norvig 2003, σελίδες 22−24
  8. 8,0 8,1 Luger & Stubblefield 2004, σελίδες 227–331
  9. 9,0 9,1 Nilsson 1998, chpt. 17.4
  10. 10,0 10,1 McCorduck 2004, σελίδες 327–335, 434–435
  11. 11,0 11,1 Crevier 1993, σελίδες 145–62, 197−203
  12. Nwigbo Stella and Agbo Okechuku Chuks, School of Science Education, Expert system: a catalyst in educational development in Nigeria: "Knowledge-based systems collect the small fragments of human know-how into a knowledge-base which is used to reason through a problem, using the knowledge that is appropriated"
  13. doi:10.1109/60.4202
  14. doi:10.1145/505282.505285
  15. doi:10.1109/64.153464
  16. Mycin rule
  17. Nabil Arman, Polytechnic University of Palestine, January 2007, Fault Detection in Dynamic Rule Bases Using Spanning Trees and Disjoin Sets: ""
  18. Kenneth Laudon, Jane Laudon, Eric Fimbel, "Management Information Systems: Managing the Digital Firm", Business & Economics, 2010 edition, chapter 11-3.5: The implementation of a large number of expert systems requires the deployment of considerable development efforts, lengthy and expensive. Hiring and training a larger number of experts may be less expensive than building an expert system .(...) Some expert systems, particularly the largest, are so complex that over years, the costs of curative and adaptive maintenance become as high as the cost of development.
  19. Systèmes Experts, April 15, 1990, Miao, authentic expert system generator of fault diagnosis: "MIAO can explain, again in [plain] language, all of his logical approach: why he is asking such a question and how it came to such a conclusion. And that because he is constantly reasoning and not because an IT developer programmed in advance all the possible explanations."
  20. Olivier Rafal, Le Monde Informatique, Programming for all (T.Rex generator): "This software allows to develop a conversational application (...) leading to a self-learning" (i.e. thanks to the automatic explanations)
  21. French Technology Survey, MAIEUTICA, An Expert System Generator which writes its own rules, July 1991: "checking the coherence of the knowledge", "it can detect contradictions", "it react appropriately to changes of minds"
  22. RGU: School of Computing, More Complex Inference: "propositional logic, where variables are not allowed".
  23. Ong K. and Lee R.M, Texas University-Austin, A logic model for maintaining consistency of bureaucratic policies, 1993: "Inconsistencies can be detected if any of the integrity constraints is proven false, and an explanation can be provided based on the proof tree. A more general inference mechanism is presented based on the theory of abduction for checking potential inconsistency of policies"
  24. Carl G. Hempel and Paul Oppenheim, Philosophy of Science, Studies in the Logic of Explanation, 1948: "The sentences constituting the explanans must be true"
  25. Kendal, S.L.; Creen, M. (2007), An introduction to knowledge engineering, London: Springer, ISBN 978-1-84628-475-5, OCLC 70987401 
  26. Feigenbaum, Edward A.; McCorduck, Pamela (1983), The fifth generation (1st έκδοση), Reading, MA: Addison-Wesley, ISBN 978-0-201-11519-2, OCLC 9324691 
  27. George F. Luger and William A. Stubblefield, Benjamin/Cummings Publishers, Rule Based Expert System Shell: example of code using the Prolog rule based expert system shell
  28. A. MICHIELS, Université de Liège, Belgique: "PROLOG, the first declarative language
  29. Carnegie Mellon University's AI Web Site: "Prolog was the most popular AI language in Japan and probably in Europe"
  30. Ivana Berković, Biljana Radulović and Petar Hotomski, University of Novi Sad, 2007, Extensions of Deductive Concept in Logic Programing and Some Applications: "the defects of PROLOG-system: the expansion concerning Horn clauses, escaping negation treatment as definite failure"
  31. "Software developed in Prolog has been criticized for having a high performance penalty compared to conventional programming languages"
  32. Dr. Nikolai Bezroukov, Softpanorama: "I think that most people exposed to Prolog remember strongly the initial disappointment. Language was/is so hyped but all you can see initially are pretty trivial examples that are solved by complex, obscure notation that lacks real expressive power: some of simple examples can be expressed no less concisely is many other languages"
  33. Durkin, J. Expert Systems: Catalog of Applications. Intelligent Computer Systems, Inc., Akron, OH, 1993.
  34. page 21. Giarratano & Riley, 3rd ed.
  35. Flamant B. and Girard G., GSI-TECSI, Intelligence Service: build your own expert system : "Intelligence Service is a development environment for expert systems that requires no experience of classic programming that offers to everyone the opportunity to develop its own expert system"
  36. Bertrand Savatier, Le Monde Informatique, November 23, 1987: "Expert systems accessible to all"
  37. Jean-Philippe de Lespinay, Science et Vie, "From total zero to Zero Plus [logic]", May 1991
  38. Death of Jean-Louis Laurière
  39. Journey "In honor of Jean-Louis Laurière", Université Pierre et Marie Curie in Paris (March 22, 2006)

Βιβλιογραφία[Επεξεργασία | επεξεργασία κώδικα]

Εγχειρίδιο[Επεξεργασία | επεξεργασία κώδικα]

Ιστορία της Τεχνητής Νοημοσύνης[Επεξεργασία | επεξεργασία κώδικα]

Άλλα[Επεξεργασία | επεξεργασία κώδικα]

Εξωτερικοί Σύνδεσμοι[Επεξεργασία | επεξεργασία κώδικα]