Sistema esperto

Da Wikipedia, l'enciclopedia libera.

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 | modifica wikitesto]

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 '’interazione fra il soggetto umano e il programma che deve dare risposta ai sui 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 attenere 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 | modifica wikitesto]

I sistemi esperti si dividono in due categorie principali.

Sistemi esperti basati su regole[modifica | modifica wikitesto]

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 | modifica wikitesto]

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]

Note[modifica | modifica wikitesto]

  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 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 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.
  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 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.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica