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à

modifica

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:

  1. una base di conoscenza, in cui sono accumulate le regole deduttive e i dettami procedurali di cui il sistema si serve nel suo operato;
  2. un motore inferenziale, in cui il programma si occupa di applicare in concreto le nozioni contenute nella base dati;
  3. 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

modifica

I sistemi esperti si dividono in due categorie principali.

Sistemi esperti basati su regole

modifica

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:

  1. ho mal di testa
  2. sono raffreddato
  3. 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

modifica

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[1]
Diagnosi Dedurre malfunzionamenti dagli osservabili di un sistema CADUCEUS, MYCIN, PUFF, Mistral,[2] Eydenet,[3] Kaleidos[4]
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[5]
Monitoraggio Confrontare osservazioni per pianificare azioni in sistemi vulnerabili REACTOR[6]
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,[7] Intelligent Clinical Training,[8] STEAMER[9]
Controllo Interpretazione, predizione e riparazione in relazione a sistemi oggetto di monitoraggio Real Time Process Control,[10] Space Shuttle Mission Control[11]
  1. ^ L.K. Woolery e J Grzymala-Busse, Machine learning for an expert system to predict preterm birth risk, in Journal of the American Medical Informatics Association, vol. 1, n. 6, 1994, pp. 439–446, DOI:10.1136/jamia.1994.95153433, PMC 116227, PMID 7850569.
  2. ^ Paolo Salvaneschi, Mauro Cadei e Marco Lazzari, Applying AI to structural safety monitoring and evaluation, in IEEE Expert - Intelligent Systems, vol. 11, n. 4, 1996, pp. 24–34, DOI:10.1109/64.511774. URL consultato il 5 marzo 2014.
  3. ^ Marco Lazzari e Paolo Salvaneschi, Embedding a geographic information system in a decision support system for landslide hazard monitoring (PDF), in International Journal of Natural Hazards, vol. 20, 2–3, 1999, pp. 185–195, DOI:10.1023/A:1008187024768.
  4. ^ Stefano Lancini, Marco Lazzari, Alberto Masera e Paolo Salvaneschi, Diagnosing Ancient Monuments with Expert Software (PDF), in Structural Engineering International, vol. 7, n. 4, 1997, pp. 288–291, DOI:10.2749/101686697780494392.
  5. ^ S.. H. Kwak, A mission planning expert system for an autonomous underwater vehicle, in Proceedings of the 1990 Symposium on Autonomous Underwater Vehicle Technology, 1990, pp. 123–128. URL consultato il 30 novembre 2013.
  6. ^ W. R. Nelson, REACTOR: An Expert System for Diagnosis and Treatment of Nuclear Reactors, 1982. URL consultato il 30 novembre 2013.
  7. ^ Alan Hofmeister, SMH.PAL: an expert system for identifying treatment procedures for students with severe disabilities., in Exceptional Children, vol. 61, n. 2, 1994. URL consultato il 30 novembre 2013 (archiviato dall'url originale il 3 dicembre 2013).
  8. ^ P Haddawy e S. Suebnukarn, Intelligent Clinical Training Systems, in Methods Inf Med 2010, 2010, CiteSeerX10.1.1.172.60.
  9. ^ J. Hollan, E. Hutchins e L. Weitzman, STEAMER: An interactive inspectable simulation-based training system, in AI Magazine, 1984. URL consultato il 30 novembre 2013.
  10. ^ G.M. Stanley, Experience Using Knowledge-Based Reasoning in Real Time Process Control (PDF), in Plenary paper presented at: International Federati on of Automatic Control (IFAC) Symposium on Compute r Aided Design in Control Systems, July 15–17, 1991. URL consultato il 3 dicembre 2013.
  11. ^ Arthur Rasmussen, John F. Muratore e Troy A. Heindel, The INCO Expert System Project: CLIPS in Shuttle mission control, in NTRS, febbraio 1990. URL consultato il 30 novembre 2013.

Bibliografia

modifica

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica
Controllo di autoritàThesaurus BNCF 7823 · LCCN (ENsh85046450 · GND (DE4113491-6 · BNF (FRcb11966760b (data) · J9U (ENHE987007562814005171 · NDL (ENJA00576312
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica