Un sistema esperto è un programma che cerca di riprodurre le prestazioni di una o più persone esperte in un determinato campo di attività, ed è un'applicazione o una branca dell'intelligenza artificiale.
Generalità I programmi utilizzati dai sistemi esperti sono in grado di porre in atto procedure di inferenza adeguate alla risoluzione di problemi particolarmente complessi, a cui potrebbe, se posto in una dimensione umana, porre rimedio solo un esperto del settore disciplinare in cui rientra la questione da risolvere. Ciò implica che tale sistema possa avvalersi in modo risoluto e autorevole delle istanze inferenziali che soggiacciono al corretto funzionamento del programma, cosicché sia capace di superare le incertezze e le difficoltà su cui volge la propria attività.
I sistemi esperti si differenziano dunque da altri programmi simili, in quanto, facendo riferimento a tecnologie elaborate in funzione dell'intelligenza artificiale, sono sempre in grado di esibire i passaggi logici che soggiacciono alle loro decisioni: proposito che, ad esempio, non è attuabile da parte della mente umana.
Il sistema esperto si compone principalmente di tre sezioni: una base di conoscenza, in cui sono accumulate le regole deduttive e i dettami procedurali di cui il sistema si serve nel suo operato; un motore inferenziale, in cui il programma si occupa di applicare in concreto le nozioni contenute nella base dati; un'interfaccia utente, che permette l’interazione fra il soggetto umano e il programma che deve dare risposta ai suoi problemi. Queste informazioni sono piuttosto generiche, ed estremamente flessibili per ciò che concerne la designazione di un programma con una tale definizione. Non esistono infatti sistemi capaci per davvero di soddisfare nella sua interezza il tipo di conoscenza che dovrebbe caratterizzare un sistema di tale fatta. Difatti, nella maggior parte dei programmi le componenti che presiedono alle procedure di inferenza non riescono ad ottenere il rigore connaturato ad un algoritmo, in quanto nelle situazioni altamente complicate sarebbe troppo dispendioso analizzare ogni possibilità; si ricorre così allo stratagemma dell'euristica, che, tramite ragionamenti approssimativi (fuzzy logic), sacrifica la sicurezza dell'algoritmo per giungere a risultati altamente probabili, ma comunque fallibili.
Classificazione I sistemi esperti si dividono in due categorie principali.
Sistemi esperti basati su regole
I sistemi esperti basati su regole sono dei programmi composti da regole nella forma IF condizione THEN azione (se condizione, allora azione). Dati una serie di fatti, i sistemi esperti, grazie alle regole di cui sono composti, riescono a dedurre nuovi fatti.
Per esempio, supponiamo di avere un problema di salute, forniamo al sistema esperto i seguenti fatti: ho mal di testa sono raffreddato la temperatura corporea è di 38 °C
il sistema esperto assume i fatti e sceglie una regola così formata: IF ((mal di testa) AND (raffreddore) AND (temperatura >= 38)) THEN (Il suo problema è l'INFLUENZA).
Esempi di sistemi a regole sono Jess e CLIPS.
Sistemi esperti basati su alberi
Un sistema esperto basato su alberi, dato un insieme di dati ed alcune deduzioni, creerebbe un albero che classificherebbe i vari dati. Nuovi dati verrebbero analizzati dall'albero e il nodo di arrivo rappresenterebbe la deduzione.
È da notare che un sistema esperto non è "intelligente" nel senso comune della parola, ossia in modo creativo. Le deduzioni di un sistema esperto non possono uscire dall'insieme di nozioni immesse inizialmente e dalle loro conseguenze. Ciò che li rende utili è che, come i calcolatori elettronici, possono maneggiare una gran quantità di dati molto velocemente e tenere quindi conto di una miriade di regole e dettagli che un esperto umano può ignorare, tralasciare o dimenticare.
Categoria Tipo di applicazione Esempi Interpretazione Dedurre descrizioni di situazioni a partire da dati descrittivi Hearsay (Speech Recognition), PROSPECTOR Predizione Desumere le probabili conseguenze di certe situazioni Pretirm Birth Risk Assessment Diagnosi Dedurre malfunzionamenti dagli osservabili di un sistema CADUCEUS, MYCIN, PUFF, Mistral, Eydenet, Kaleidos Design Configurare oggetti a partire da date condizioni e vincoli Dendral, Mortgage Loan Advisor, R1 (Dec Vax Configuration) Planning Pianificare azioni Mission Planning for Autonomous Underwater Vehicle Monitoraggio Confrontare osservazioni per pianificare azioni in sistemi vulnerabili REACTOR Debugging Generare soluzioni incrementali per problemi complessi SAINT, MATHLAB, MACSYMA Ripristino Implementare un piano per mettere in atto date prescrizioni Toxic Spill Crisis Management Istruzione Valutazione, diagnosi e intervento su specifici comportamenti di studenti SMH.PAL, Intelligent Clinical Training, STEAMER Controllo Interpretazione, predizione e riparazione in relazione a sistemi oggetto di monitoraggio Real Time Process Control, Space Shuttle Mission Control
Note
Bibliografia
Voci correlate Jess (informatica) CLIPS Motore inferenziale
Altri progetti
Collegamenti esterni
Sistemi basati su conoscenza, uniroma2.it
Categoria:Intelligenza artificiale