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

Στην τεχνητή νοημοσύνη, ένα **έμπειρο σύστημα** είναι ένα υπολογιστικό σύστημα το οποίο μιμείται την ικανότητα ενός εμπειρογνώμονα στη λήψη αποφάσεων. Τα έμπειρα συστήματα σχεδιάστηκαν για να λύνουν πολύπλοκα προβλήματα συλλογιζόμενα με βάση τη διαθέσιμη γνώση σε ένα πεδίο, όπως κάνει ένας εμπειρογνώμονας, και όχι εκτελώντας μία ακριβή διαδικασία επίλυσης την οποία έχει προδιαγράψει ένας προγραμματιστής, όπως στην περίπτωση του συμβατικού προγραμματισμού υπολογιστών. Τα πρώτα έμπειρα συστήματα δημιουργήθηκαν τη δεκαετία του 1970 και έπειτα αναπτύχθηκαν ραγδαία τη δεκαετία του 1980. Τα έμπειρα συστήματα ήταν ανάμεσα στις πρώτες πραγματικά επιτυχημένες μορφές του λογισμικού της ΤΝ.

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

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

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

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

### Η μηχανή εξαγωγής συμπεράσματος

Η μηχανή εξαγωγής συμπεράσματος είναι ένα πρόγραμμα  του  υπολογιστή το οποίο έχει σχεδιαστεί για να παράγει έναν συλλογισμό σε κανόνες .Η παραγωγή του συλλογισμού βασίζεται στην Λογική. Υπάρχουν διάφορα είδη λογικής όπως η προτασιακή λογική (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 έμπειρα συστήματα είναι σε θέση να ανιχνεύουν αντιφάσεις στις πληροφορίες των  χρηστών ή στην παρεχόμενη γνώση, και μπορούν να τα επεξηγούν ξεκάθαρα, αποκαλύπτοντας την ίδια στιγμή την εξειδικευμένη γνώση  και τον τρόπο σκέψης τους.

## Πλεονεκτήματα

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

### Διάλογος

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

### Γρήγορη διαθεσιμότητα και ευκαιρία να αυτοπρογραμματιστεί

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

### Δυνατότητα να εκμεταλλευθεί ένα αξιοσημείωτο σύνολο γνώσης

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

### Αξιοπιστία

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

### Επεκτασιμότητα

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

### Παιδαγωγία

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

### Διατήρηση και βελτίωση των γνώσεων

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

### Νέοι τομείς που έχουν αγνοηθεί από την συμβατική πληροφορική

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

## Μειονεκτήματα

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

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

## Πεδίο εφαρμογής

Τα έμπειρα συστήματα απευθύνονται σε τομείς όπου η συνδυαστική ανάλυση είναι τεράστια:
* υψηλά διαδραστικές  ή  εφαρμογές με διάλογο, IVR , φωνή του διακομιστή, chatterbot
* λανθασμένη διάγνωση, ιατρική διάγνωση
* υποστήριξη αποφάσεων σε πολύπλοκα συστήματα, έλεγχος διαδικασίας, διαδραστικός οδηγός χρήσης 
* εκπαιδευτικό και tutorial software  
* προσομοίωση λογικής των μηχανών ή των συστημάτων
* διαχείριση γνώσης 
* συνεχής αλλαγή του λογισμικού

Μπορούν επίσης να χρησιμοποιηθούν στη μηχανική του λογισμικού για γρήγορη προτυποποίηση των εφαρμογών (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. Σήμερα θα μπορούσαμε απλά να πούμε ότι «η τεχνητή νοημοσύνη του παιχνιδιού παρέχει στρατηγική που αντιτίθεται με αυτή του χρήστη του παιχνιδιού».

## Μηχανική γνώσης

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

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

## Ιστορία

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

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

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

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

## Πηγές


## Βιβλιογραφία
### Εγχειρίδιο
* 
* 
* 
* 
* 

### Ιστορία της Τεχνητής Νοημοσύνης
* Crevier 1993
* McCorduck 2004
* 
* 
* Russell Norvig 2003
* 

### Άλλα
* 
* Jean-Philippe de Lespinay, Admiroutes, December 2008: Reasoning AI 
* Automates Intelligents, 2009: Conversational and Call centers 
* 

## Εξωτερικοί σύνδεσμοι

* 
* Expert System tutorial on Code Project 

Κατηγορία:Τεχνητή νοημοσύνη
Κατηγορία:Θεωρία της απόφασης