INTELLIGENZA ARTIFICIALE
L'i.a. è una moderna disciplina sorta nell'ambito della scienza dei calcolatori e dell'informatica che negli anni recenti, specialmente per merito dell'avvento dei sistemi esperti, ha avuto un'importante influenza nel progresso dell'intera informatica. Inoltre l'i.a. riveste un indubbio interesse per coloro che siano interessati a un'approfondita valutazione delle potenzialità dell'informatica e degli effetti che il progresso di questa disciplina ha e avrà nei confronti dell'uomo. L'i.a. è innanzitutto la denominazione di una disciplina e non va, quindi, confusa con l'ipotetica connotazione della funzionalità complessa sviluppata in una macchina.
Questa precisazione è molto importante perché nella letteratura giornalistica di divulgazione spesso viene indicata con la dizione ''intelligenza artificiale'' la funzione avanzata di elaborazione che la macchina è in grado di compiere. Viene cioè attribuito, alla stessa dizione, un errato significato, che si discosta dalla denominazione scientifica accettata concordemente dalla comunità internazionale, la quale individua, come si è detto, una disciplina e non talune prestazioni, sia pur avanzate, della macchina.
L'i.a. è dunque la disciplina recente, appartenente all'informatica, che studia i fondamenti teorici, le metodologie e le tecniche che permettono di progettare sistemi digitali (hardware) e di programmi (software) capaci di fornire all'elaboratore elettronico prestazioni che, a un osservatore comune, sembrerebbero di pertinenza esclusiva dell'intelligenza umana. Si tratta dunque della definizione, accettata a livello internazionale, di un'area scientifica di notevole importanza strategica che si propone di superare, in talune zone, le attuali frontiere dell'informatica, ponendosi come obiettivo scientifico quello di migliorare ed estendere le prestazioni offerte dall'elaboratore e dal robot.
Si osservi che l'i.a. è una disciplina sperimentale, nel senso che un sistema realizza gli obiettivi richiesti solamente quando le prestazioni desiderate sono effettivamente sperimentali. Inoltre, obiettivo di questa disciplina non è quello di ''simulare'' l'intelligenza umana, obiettivo la cui ponibilità è, per taluni scienziati, addirittura non ammissibile per motivi epistemologici secondo i quali si deve distinguere tra la verità intrinseca nella realtà naturale e la conoscenza della verità che si esprime nel modellare la realtà naturale e nel costruire una realtà artificiale quale è quella costituita dalle macchine.
L'i.a. si pone certo, tra gli altri, l'obiettivo di ''emulare'' l'intelligenza umana, non essendovi alcun motivo a priori che impedisca che talune, ma non necessariamente tutte, prestazioni dell'intelligenza umana (per es. la capacità di risolvere problemi solubili con procedimenti inferenziali) possano anche essere fornite da una macchina.
La necessità che qui si vuole affermare è quella di evitare, per lo meno da un punto di vista aprioristico, di cadere in uno dei seguenti due estremi, che sembrano essere troppo categorici, e cioè:
a) da un lato l'affermazione secondo cui (non guardando con oggettività ai risultati già ottenuti) nessuna attività che, se svolta nell'uomo, denominiamo come intelligente, possa essere fatta fare alla macchina (è ovvio che la macchina fa solamente ciò che l'uomo, concependola, progettandola e costruendola, ha determinato che faccia);
b) dall'altro lato l'affermazione secondo cui (anche se si riconosce che fino a oggi ciò non è ancora stato possibile) ogni attività che, se svolta nell'uomo, denominiamo come intelligente, possa essere fatta fare alla macchina.
Quando si constata, oggettivamente e realisticamente, che l'uomo è stato capace di far fare alla macchina un'attività che, se svolta nell'uomo, denominiamo come intelligente, evidentemente, in tal caso, si sono utilizzati meccanismi propri della costituzione interna della macchina, ben diversi da quelli ipotizzati per l'uomo, ma tali comunque da fornire, col supporto della tecnologia più opportuna, prestazioni qualitativamente equivalenti a quelle umane e quantitativamente superiori (per es. minor tempo necessario per fornire le prestazioni stesse).
Si noti anche che la disciplina dell'i.a. non è caratterizzata da un elenco completo ed esaustivo di tematiche nelle quali essa si articola: al contrario essa si occupa di problemi di ricerca aperti, di frontiera, che di volta in volta vengono individuati e opportunamente denotati e definiti. Infatti una prestazione che oggi apparirebbe esclusiva dell'intelligenza umana, e quindi, secondo la definizione data, essere di pertinenza dell'i.a., domani non creerebbe più questa impressione, lasciando l'osservatore perfettamente convinto della possibilità che la prestazione possa essere fornita da un sistema artificiale, e, pertanto, non rientrare più, secondo la definizione prima riportata, come oggetto degli studi della disciplina i. artificiale.
Un modo al tempo stesso semplice e astratto per comprendere ulteriormente il significato di i.a. è quello di riflettere sul fatto che l'informatica è la scienza dell'elaborazione dell'informazione e che la robotica estende la scienza informatica dedicandosi all'elaborazione dell'informazione e all'interazione con il mondo fenomenico.
Si noti ora che la nozione d'informazione individua al tempo stesso uno strumento e un contenuto. Come ''strumento'', l'informazione denota strutture di modellizzazione utilizzabili, nelle loro funzionalità modellizzatorie, come macchine artificiali basate sullo sfruttamento di fenomenologie prevalentemente di tipo elettrico. Come ''contenuto'', l'informazione denota l'entità che è stata modellizzata, la cui natura condiziona la scelta dello strumento di modellizzazione utilizzato.
In passato, nell'informatica e nella robotica, ci si è occupati di due fondamentali tipologie d'informazione che hanno di conseguenza coinvolto due diverse tipologie di elaborazione dell'informazione. La prima tipologia d'informazione, intesa come contenuto, è costituita dalla nozione di algoritmo, cioè di una sequenza programmata di passi (cioè di problemi elementari risolubili dall'esecutore dell'algoritmo) che nel loro insieme sinergico permettono di risolvere un problema complesso (l'algoritmo si dice infatti algoritmo risolvente il problema complesso rispetto all'esecutore considerato).
L'elaborazione dell'algoritmo, compiuta dall'elaboratore o dal robot, consiste pertanto nell'esecuzione dell'algoritmo che porta alla costruzione del risultato del problema. Il linguaggio di comunicazione, cioè quello con cui l'uomo comunica alla macchina l'algoritmo, si chiama linguaggio di programmazione. L'algoritmo comunicato alla macchina si chiama programma. Il software di base necessario alla macchina per svolgere la sua funzionalità di esecutore di algoritmo si chiama traduttore del linguaggio di programmazione, potendosi il traduttore articolare nei tre seguenti sottocasi: l'assemblatore, il compilatore, l'interprete. Il software applicativo che la macchina elabora, svolgendo la sua funzionalità di esecutore di algoritmo, è detto sistema di programmi.
La seconda tipologia d'informazione, intesa come contenuto, è costituita dalla nozione di dato, inteso come una certa quantità di nozioni elementari quantitative, opportunamente collegate e strutturate tra loro, secondo certe relazioni logiche e astratte.
L'elaborazione dei dati compiuta dall'elaboratore o dal robot consiste pertanto nella memorizzazione dei dati. Il linguaggio di comunicazione con cui l'uomo comunica alla macchina i dati si chiama linguaggio di memorizzazione (cioè di descrizione e d'interrogazione) dei dati. L'insieme dei dati comunicati alla macchina si chiama base dati. Il software di base necessario alla macchina per svolgere la sua funzionalità di gestore di dati, si chiama sistema di gestione di basi dati. Il software applicativo che la macchina elabora, svolgendo la sua funzionalità di gestore di dati, si chiama sistema di basi dati.
L'i.a. si può considerare come quel settore dell'informatica che si occupa di un nuovo tipo d'informazione, intesa come contenuto. Questa terza tipologia d'informazione, intesa come contenuto, non è costituita né dalla nozione di algoritmo, né dalla nozione di dato, ma è costituita dalla nozione di problema intesa come esigenza di natura diversa che l'uomo desidera risolvere. Quando l'informazione è impiegata come modello di problema viene denominata ''conoscenza''.
L'elaborazione del problema compiuta dall'elaboratore o dal robot consiste pertanto nella risoluzione automatica del problema, ovvero nella costruzione dell'algoritmo risolvente il problema rispetto a un determinato esecutore. L'elaborazione del problema, oltre che ''risoluzione automatica'', viene anche denominata ''inferenza'' e viene distinta nelle due possibili attività di deduzione e d'induzione.
Si noti inoltre che l'algoritmo che viene costruito da questo terzo tipo di attività di elaborazione, cioè di tipo risolutorio o inferenziale, può essere previsto, sia per un esecutore ancora macchina (è questo il caso dei sistemi di sintesi di programmi per l'elaboratore o di autopianificazione per i robot), sia per un esecutore umano (è questo il caso dei sistemi di supporto alle decisioni per l'uomo).
Il linguaggio di comunicazione con cui l'uomo comunica alla macchina il problema (o la conoscenza) si chiama linguaggio di rappresentazione del problema (o della conoscenza). Il problema comunicato alla macchina si chiama problema rappresentato. Quando, come capita nel caso dei sistemi esperti, si comunica alla macchina, con un determinato insieme di informazioni, una classe di problemi, all'interno della quale si evoca uno alla volta un problema da risolvere, mediante l'indicazione di un'ulteriore condizione di obiettivo, la classe di problemi comunicati alla macchina si chiama base di conoscenza. Il software di base necessario alla macchina per svolgere la sua funzionalità di risoluzione automatica di problema, si chiama risolutore automatico di problema. Nel caso dei sistemi esperti, il software di base necessario alla macchina per svolgere la sua funzionalità di risoluzione automatica di un problema, evocato all'interno di una classe di problemi, si chiama guscio di sistema esperto o sistema di sviluppo di sistemi esperti. Il software applicativo che la macchina elabora, svolgendo la sua funzionalità di risolutore automatico di problema, si chiama sistema di problemi rappresentati. Nel caso dei sistemi esperti, il software applicativo che la macchina elabora, svolgendo la sua funzionalità di risoluzione automatica di un problema evocato all'interno di una classe di problemi, si chiama sistema di basi di conoscenza.
Quest'analisi delle tre tipologie d'informazione, cioè l'algoritmo, i dati, il problema o la conoscenza, ha permesso d'inquadrare con precisione l'i.a. all'interno dell'informatica, fornendo un criterio d'interpretazione delle diverse applicazioni dell'informatica, da quelle più classiche alle più recenti, in uno spirito d'integrazione e di continuità.
La denominazione i.a. è stata formulata per la prima volta da J. McCarthy, della Stanford University, durante uno storico simposio tenutosi nel 1956 al Darmouth College negli Stati Uniti, cui parteciparono altri noti scienziati dell'area quali M. Minsky, A. Newell, H. Simon e A. Samuel. Durante il simposio McCarthy propose alcuni obiettivi preliminari per la neodefinita e neonata i.a., quali, per es., il poter ragionare, con un elaboratore elettronico, su fatti e concatenazioni causali, quali quelli che devono essere affrontati, per es., per decidere come fare per prendere l'aereo delle 12,00 che parte per Washington. Sono nate così le prime scuole e sono emersi così i primi scienziati; sono nate anche le prime industrie del settore e sono sorti rapidamente dei centri di ricerca che studiano l'i. artificiale.
È opportuno approfondire il rapporto uomo-macchina nell'ambito dell'i.a., intesa non solo astrattamente come disciplina caratterizzata da potenzialità concettuali, ma considerata, anche, come scienza sperimentale, individuata da ben precise classi di sistemi sperimentali, dalla cui natura e dalle cui funzionalità si può desumere, sperimentalmente appunto, la natura più specifica della disciplina stessa.
La questione fondamentale, già accennata, che ci si deve dunque porre, è quella di valutare se, nell'ambito dell'i.a., i modelli e le tecniche, basati su tali modelli, e i sistemi che sono concepiti, realizzati e sperimentati adottando tali tecniche, costituiscono una simulazione dell'intelligenza umana. Perché la risposta a questa domanda fosse positiva, occorrerebbe che tali sistemi fossero stati concepiti e realizzati basandoli sull'impiego di modelli antropomorfici.
In altri termini, se l'uso di modelli interpretativi delle attività intellettive dell'uomo fosse indispensabile per la costruzione dei sistemi d'i.a., allora si potrebbe giungere alla conclusione che tali sistemi costituiscono il risultato di un tentativo di simulare talune facoltà intellettive dell'uomo. Ma non è questo il caso. Infatti lo studioso dell'i.a., nel momento in cui si accinge a concepire una nuova tecnica per progettare un nuovo sistema d'i.a., deve adottare un modello opportuno e funzionale allo scopo che si prefigge.
Ebbene, considerando attentamente la storia e la natura dei risultati ottenuti dalle ricerche scientifiche sviluppate in i.a. a partire dal 1956, si può dire che gli studiosi hanno, ogni volta, valutato diversi modelli alternativi, scegliendo di adottare, in ogni occasione, quello migliore al fine di procedere alla concezione della nuova tecnica e del nuovo sistema. Va detto, inoltre, che i modelli che lo studioso ha considerato in competizione tra di loro sono stati sia di tipo antropomorfico, sia di tipo non antropomorfico, e che il modello scelto è sempre stato, ovviamente, quello che ha garantito, a sistema realizzato, le migliori prestazioni fornite dal sistema stesso.
Ebbene, di regola, quello vincente tra i modelli possibili non è stato un modello antropomorfico, bensì un modello non antropomorfico che più era in grado di adeguarsi e d'integrarsi con le caratteristiche tecnologiche e con i modelli, le tecniche e i sistemi già resi disponibili dalle ricerche in i. artificiale. Ciò vuol dire che in i.a. non esiste un'ideologia che porti a preferire, a priori, l'adozione di modelli antropomorfici, anche se tali modelli non sono comunque esclusi a priori dalla possibilità di essere scelti (cioè non esiste nemmeno un'ideologia contraria a priori all'impiego di tali modelli).
Sulla base dell'esperienza del passato, si constata comunque che i modelli utilizzati sono stati, nella loro quasi totalità, dei modelli non antropomorfici. Diremo pertanto che nell'i.a. non si procede a una simulazione dell'intelligenza umana, ma si tende solamente a una sua emulazione, proprio per evidenziare che quello che conta nella scelta di un modello, sia antropomorfico, sia non antropomorfico, è solamente l'efficienza dei risultati ottenuti, e cioè la validità e la competitività delle prestazioni offerte dai sistemi artificiali nei confronti di quelle parallelamente offerte dall'intelligenza umana.
È importante, a questo punto, esaminare la nozione di risoluzione di problemi, sia umana, sia interattiva, sia automatica, in quanto, come si è già accennato, l'attività di un sistema intelligente consiste appunto nella sua capacità di formulare, in modo automatico, la risoluzione di un problema. Per analizzare gli aspetti concettuali e funzionali della risoluzione (anche se interattiva o automatica) di un problema è molto utile partire da un parallelo con la fisica.
In fisica vi è una differenza tra l'occorrenza di un ''fenomeno'' percepito dall'uomo, e la formalizzazione di un ''modello'' che interpreta in modo esatto taluni parametri fisici che definiscono il fenomeno. Analogamente, in i.a. esiste una differenza tra un ''problema intuitivo'', cioè un'esigenza, avvertita dall'uomo, di un problema da risolvere, e la formalizzazione di tale problema, che in i.a. è detta problema rappresentato ovvero rappresentazione del problema.
Inoltre, il fisico utilizza il modello di un fenomeno al fine di derivarne, mediante un'attività inferenziale (sia deduttiva che induttiva) una legge che permetta di caratterizzare le proprietà del fenomeno e di prevedere anche nuovi fenomeni. Analogamente, il risolutore automatico di problemi è in grado di operare un'elaborazione sul problema rappresentato che permette di costruire il ''problema risolto'', il quale viene espresso sia dall'algoritmo risolvente il problema rappresentato, sia dall'esecuzione dell'algoritmo risolvente, che produce la soluzione del problema (parleremo pertanto di ''soluzione algoritmica'' del problema). Quindi ai tre concetti, nella fisica, di fenomeno, di modello e di legge, corrispondono, nell'i.a., i tre concetti di problema intuitivo, di problema rappresentato e di problema risolto.
È interessante a questo proposito analizzare con attenzione il ruolo dell'uomo e della macchina algoritmica nel complesso processo della risoluzione di un problema. Precisiamo innanzitutto che la nozione di macchina algoritmica, in i.a., non dev'essere limitata alla nozione di elaboratore, ma dev'essere estesa anche alla nozione di robot, che è appunto una macchina algoritmica, di diverso tipo dalla precedente, perché capace non solamente di elaborare informazione, ma anche d'interagire con il mondo fisico.
La macchina algoritmica può essere classificata nelle seguenti categorie:
a) l'elaboratore, capace di elaborare informazioni, ma privo della capacità d'interazione con il mondo fisico;
b) il robot, capace di elaborare informazioni e d'interagire con il mondo fisico, sia con i sensori (intesi come il sistema d'ingresso capace di percepire fenomeni dal mondo fisico), sia con gli attuatori (intesi come il sistema di uscita capace di provocare dei fenomeni nel mondo fisico). È utile, inoltre, classificare il robot nelle seguenti tre sottocategorie: b1) il robot blu, dotato sia dei sensori, sia degli attuatori, e capace quindi di interagire con il mondo fisico sia in ingresso, sia in uscita; b2) il robot bianco, dotato dei sensori, ma sprovvisto degli attuatori, e capace di interagire con il mondo fisico solo in ingresso; b3) il robot nero, dotato degli attuatori, ma sprovvisto dei sensori, e capace quindi d'interagire con il mondo fisico solo in uscita.
Mentre nel caso della fisica le attività sono compiute solamente dall'uomo, nel caso dell'i.a. le attività sono compiute tanto dall'uomo quanto dalla macchina algoritmica. L'i.a. si pone l'ambiziosa ipotesi di una risoluzione automatica dei problemi, nel senso che il passaggio dal problema rappresentato al problema risolto viene svolto in modo automatico dalla macchina algoritmica. All'esclusiva attività dell'uomo viene invece riservato tanto il passaggio dal problema intuitivo al problema rappresentato, cioè la capacità di ''formalizzazione'' di un problema, quanto il passaggio dal problema risolto al problema intuitivo, cioè la capacità di ''confronto'' della soluzione ottenuta del problema con l'esigenza da soddisfare, che aveva rappresentato l'inizio del procedimento di risoluzione.
Considerando in modo unitario, da un punto di vista gnoseologico, sia il caso della fisica (fenomeno, modello, legge), sia il caso dell'i.a. (problema intuitivo, problema rappresentato, problema risolto), appare chiaro che le attività in gioco possono essere così articolate:
a) passaggio dal mondo della realtà (fenomeno, in fisica; problema intuitivo, in i.a.) al mondo della conoscenza della realtà (modello, in fisica; problema rappresentato, in i.a.); questo passaggio, che in fisica viene chiamato ''formalizzazione'' e in i.a. ''rappresentazione'', in filosofia viene chiamato ''abduzione'';
b) passaggio all'interno della conoscenza della realtà (dal modello alla legge, in fisica; dal problema rappresentato al problema risolto, in i.a.); questo passaggio, che in fisica viene chiamato ''derivazione'' e ''formulazione'', e in i.a. ''risoluzione'' ed ''esecuzione'', in filosofia viene chiamato ''inferenza'' e viene distinto nelle due forme cooperanti dell'''induzione'' e della ''deduzione'';
c) passaggio dal mondo della cognizione della realtà (legge, in fisica; problema risolto, in i.a.) al mondo della realtà (fenomeno, in fisica; problema intuitivo in i.a.); questo passaggio, che in fisica viene chiamato ''aspettazione'' e ''previsione'', e in i.a. ''confronto'' e ''soddisfacimento'', in filosofia viene chiamato ''adduzione''.
Si noti pertanto che mentre l'abduzione e l'adduzione sono esclusive dell'attività dell'uomo, l'inferenza, ovvero l'insieme dell'induzione e della deduzione, può essere oggetto o solo dell'uomo, o solo della macchina algoritmica, o della collaborazione interattiva dell'uomo con la macchina algoritmica. Si osservi inoltre che oltre le attività di abduzione (induzione-deduzione) e adduzione, esiste un'ulteriore attività di livello superiore, sempre esclusiva dell'uomo. Quest'attività è quella di ''critica'' e consiste nella capacità di rivedere e di modificare un precedente ''ciclo'' di abduzione, inferenza (induzione-deduzione), adduzione, in un nuovo ciclo, analogo ma migliorativo rispetto al precedente.
Il miglioramento, di tipo evolutivo, consiste in una migliore conoscenza della realtà che si esplica in una più perfezionata e mirata abduzione e, di conseguenza, in una più efficace inferenza (induzionededuzione), con conclusiva più soddisfacente adduzione.
Intelligenza artificiale e robotica. - La nozione di robot rappresenta, alla luce dell'i.a., l'ampliamento delle potenzialità dell'elaboratore, dotato delle funzioni della sola elaborazione dell'informazione (costituite dall'esecuzione di algoritmi, dalla memorizzazione dei dati, dalla risoluzione dei problemi), alle ulteriori potenzialità, tipiche del robot, dotato sia delle funzioni dell'elaborazione dell'informazione, sia delle nuove funzioni dell'interazione con la realtà fenomenica (costituite dalla percezione di modelli di fenomeni e dall'attuazione di fenomeni secondo modelli fissati).
Il robot è definito come un sistema artificiale capace d'interagire con l'ambiente esterno e con parti costitutive di se stesso, e dotato della capacità di elaborare informazioni, per eseguire un compito di modifica che gli è stato preordinato. In questa definizione è posto l'accento sulla capacità di elaborazione e interazione, e si tiene anche conto che il preordinamento dei compiti avviene con un trasferimento di informazioni non tutte note a priori, anzi, tipicamente, da acquisirsi durante il ciclo di lavoro della macchina.
Le attività d'interazione e di elaborazione sono svolte secondo quanto previsto da un programma, che utilizza come ''ingresso'' delle informazioni ottenute da un sistema di sensori e che produce come ''uscita'' una modifica prodotta mediante un sistema di attuatori. Le attività elementari che il robot può compiere evidenziano, caratterizzandone meglio la natura originale, le peculiarità tipiche del robot, con particolare riferimento alle sue capacità d'interazione con l'ambiente, sia per quanto riguarda la capacità di modificare, in modo concreto, l'ambiente (per es. mediante il movimento di parti strutturali del robot rispetto ad altre) sia mediante l'effettuazione di operazioni di significato tecnologico od operativo (tramite il sistema di attuatori). Un sistema artificiale, dotato dei predetti attributi, è di grande importanza nell'ambito dell'automazione della produzione industriale ed è destinato a svolgere un ruolo centrale nella fabbrica automatizzata.
Le categorie di applicazione dei robot nell'automazione manufatturiera sono: i robot di manipolazione (carico e scarico, pallettizzazione), i robot di verniciatura, i robot per il trattamento delle superfici, i robot di saldatura (a punti, ad arco), i robot di taglio, i robot d'incollaggio, i robot di misura, i robot d'ispezione, i robot di trasporto, i robot di montaggio. Rilevante è pertanto il ruolo della robotica nel più ampio spettro della fabbrica automatizzata nella quale convivono, accanto ai robot, altri sistemi artificiali, quali:
a) gli impianti e le macchine che svolgono processi continui (trasformazione tra forme di lavoro chimico, termico, meccanico, elettrico; trasformazione tra stati, proprietà chimico-fisiche, quantità, geometria della materia);
b) gli impianti e le macchine che svolgono processi discreti quali le macchine tecnologiche, le macchine utensili, le macchine operatrici.
Il problema dell'integrazione in linea di una o più macchine o, addirittura, di più aggregazioni di macchine in isole, richiede l'impiego di strutture di comunicazione ed elaborazione, costituite dalle reti locali di calcolatori, nonché di sistemi artificiali di supervisione costituiti dai sistemi esperti operanti in tempo reale, dotati di sistemi sensoriali, impiegati nella pianificazione della produzione, nella supervisione dei processi, nella manutenzione preventiva, nella gestione degli allarmi, nella diagnosi dei guasti, nella riparazione dei guasti, nell'esecuzione dei collaudi, nel controllo di qualità.
I sistemi esperti, com'è già individuabile da quanto detto, rivoluzionano l'approccio all'impiego dell'elaboratore, poiché non richiedono più alla macchina algoritmica di ''programmare algoritmi'' per risolvere problemi applicativi, ma solamente di rappresentare conoscenza, formulando la base di conoscenza che la macchina algoritmica, dotata di un guscio di sistema esperto, utilizza per costruire inferenzialmente la soluzione dei problemi applicativi posti (purché inerenti la conoscenza posseduta dal sistema esperto). L'interesse dei sistemi esperti è accresciuto dall'accento sul modellizzare conoscenza e non sul meccanizzare algoritmi risolutivi, estendendo l'interazione con la macchina direttamente a coloro che possiedono tale conoscenza.
Non desta quindi stupore il fatto che nella fabbrica del futuro si possano avere i seguenti casi distinti:
a) sistemi esperti per la generazione di programmi per l'elaboratore elettronico: l'elaboratore elettronico sia costruisce l'algoritmo, sia esegue l'algoritmo costruito per se stesso;
b) sistemi esperti per l'autopianificazione del robot: il robot sia costruisce l'algoritmo (il piano di attività), sia esegue l'algoritmo (il piano) costruito per se stesso;
c) sistemi esperti per il supporto alle decisioni dell'uomo: l'elaboratore elettronico o il robot costruiscono l'algoritmo per l'uomo (sequenza di decisioni e di azioni umane), mentre l'uomo esegue l'algoritmo costruito dall'elaboratore elettronico o dal robot per il supporto alle decisioni e alle azioni dell'uomo.
Le categorie più significative di applicazioni sono le seguenti: interpretazione di dati, previsione di eventi, supervisione di sistemi, diagnosi di guasti, pianificazione di attività, progettazione di prodotti, addestramento di funzionalità.
Vediamo ora in breve alcune tipologie di sistemi esperti di particolare interesse per il caso dell'automazione industriale. Nei vari casi considerati, ci si riferirà a un sistema di produzione industriale, intendendo con questo termine individuare una fabbrica del futuro, una linea di produzione, una cella di produzione (tutte altamente automatizzate e robotizzate), un impianto automatizzato di produzione industriale, un processo automatizzato di produzione industriale. Inoltre, nell'ipotesi d'interazione con un sistema industriale di produzione, si supporrà che i dati, relativi al funzionamento del sistema industriale di produzione in esame, siano forniti al sistema esperto non solo da prove ed esperimenti svolti dall'uomo, ma anche da sensori che permettono al sistema esperto di acquisire direttamente conoscenza dal mondo fisico interagente.
Un primo sistema esperto d'interpretazione di dati può essere impiegato, in un sistema di produzione industriale, per interpretare i diversi dati relativi al funzionamento del sistema di produzione stesso, al fine di formulare la descrizione dello stato di funzionamento. Un secondo sistema di previsione di eventi può essere utilizzato per prevedere, sulla base di una tendenza verso una situazione anomala, presentata dallo stato del sistema di produzione industriale in esame, l'occorrenza di un possibile guasto futuro. Un terzo sistema esperto di pianificazione di attività può essere adottato, nell'ipotesi di un previsto guasto futuro, nel sistema di produzione industriale in esame, per segnalare degli allarmi preventivi, al fine di evitare l'occorrenza del guasto futuro. Un quarto sistema esperto di diagnosi di guasti può essere impiegato, nell'ipotesi di un'occorrenza di un guasto imprevisto nel sistema di produzione industriale in esame, per individuare la natura del guasto che si è verificato. Un quinto sistema esperto di pianificazione di eventi può essere utilizzato per pianificare le attività di riparazione di un guasto diagnosticato nel sistema di produzione industriale in esame. Un sesto sistema esperto di supervisione di sistemi può essere adottato per controllare la qualità delle funzioni espresse dal sistema di produzione industriale in esame. Un settimo sistema esperto di supervisione di sistemi può essere impiegato per controllare la qualità delle caratteristiche dei prodotti ottenuti dal sistema di produzione industriale in esame. Un ottavo sistema esperto di pianificazione di eventi può essere usato per formulare e gestire il piano di attività del sistema di produzione industriale in esame, nei confronti sia di obiettivi normali di produzione, sia di improvvisi cambiamenti degli obiettivi di produzione. In sintesi, la natura delle attività svolte da ciascuno di questi otto esempi, tra i molti possibili, di sistemi esperti, permette di evidenziare il ruolo dell'i.a. nella fabbrica del futuro.
Architetture parallele degli elaboratori e dei robot intelligenti. - Gli elaboratori classici si sono ispirati, nella loro architettura, a un'idea del grande matematico ungherese von Neumann.
Questi nel 1945 concepì una soluzione che utilizzava dei circuiti elettronici elementari, detti ''logici'', capaci di eseguire tre operazioni elementari: la negazione di un numero binario (dato 1 in ingresso si fornisce 0 in uscita e viceversa), la somma logica di due numeri binari (dati in ingresso due numeri, ciascuno 0 oppure 1, si fornisce in uscita 0 solo se i due ingressi sono entrambi 0, altrimenti si fornisce 1), il prodotto logico di due numeri binari (dati in ingresso due numeri, ciascuno 0 oppure 1, si fornisce in uscita 1 solo se i due ingressi sono entrambi 1, altrimenti si fornisce 0). Con questi tre tipi di umili mattoni (o con loro inessenziali varianti) sono stati costruiti gli elaboratori che, secondo il progetto di von Neumann, sono capaci di eseguire ogni programma che viene loro dato dall'uomo.
Il cuore dell'elaboratore, chiamato unità aritmetico-logica, è costituito da un numero limitato (qualche decina) di sistemi elettronici digitali (dall'inglese digit, "cifra", perché questi sistemi elaborano numeri) capaci di eseguire il programma mediante l'esecuzione, in sequenza, delle varie istruzioni del programma. Ebbene, ciascuno di questi sistemi elettronici digitali è costruito utilizzando solamente i tre circuiti logici elementari richiamati prima.
Dalla fine degli anni Ottanta sono in fase di studio nuove architetture chiamate reti cellulari (un'altra definizione di moda, ma assai ambigua, è reti neurali), che rivoluzionano l'idea di von Neumann e che si basano sull'idea di realizzare un elaboratore complesso mediante la costituzione di un ben organizzato collegamento di numerosissimi elaboratori semplici. Esistono tre approcci: il primo, detto a ''grana grossa'', utilizza un centinaio di elaboratori semplici (ciascuno paragonabile a quello di un personal computer abbastanza potente); il secondo, detto a ''grana media'', utilizza una decina di migliaia di elaboratori ancora più semplici; il terzo, detto a ''grana fine'', utilizza fino a un milione di elaboratori semplicissimi.
L'uso che si fa dei numerosissimi elaboratori della rete (ogni elaboratore semplice è appunto chiamato cellula della rete, in quanto è l'intera rete a costituire il nuovo elaboratore complesso) è ovvio ed è ispirato a un'emulazione (ma non simulazione) dell'attività del cervello umano, che possiamo chiamare come attività ''in parallelo''.
Poiché nel cervello umano esistono una ventina di miliardi di neuroni, ciascuno capace di svolgere attività logiche elementari, ma in parallelo, le reti cellulari costituenti le moderne architetture degli elaboratori, proprio ispirandosi al cervello (ma certo non imitandolo) si basano sull'idea, ovvia nella sua semplicità ma eccezionale per le difficoltà superate nel concretizzarla, di far eseguire il programma dall'elaboratore non in modo sequenziale ma in parallelo. In altri termini un programma viene spezzato in tanti piccoli programmi (in certi casi fino a ottenere un milione di minuscoli programmi), che vengono assegnati a ciascuno dei numerosi elaboratori semplici.
Mediante questo nuovo tipo di applicazione del vecchio principio del divide et impera ci avviamo al 2000 con nuovi tipi di elaboratori che, sfruttando l'elaborazione in parallelo, permettono di accelerare l'esecuzione dei programmi, in certi casi tanto più fortemente quanto più numerose sono le cellule che s'introducono nella rete. Questo scenario apre nuove appassionanti prospettive non solo per le ricerche e le realizzazioni dell'informatica e dell'ingegneria dell'informazione, ma per i riflessi di servizio e di stimolo che le nuove tecnologie faranno rifluire sull'uomo esaltandone l'intelligenza creativa e stimolandola nell'inventare programmi sempre più complessi da affidare ai nuovi elaboratori, ricordando comunque che anche queste nuove macchine, come ogni macchina, è sempre l'uomo a farle e a farle agire.
Bibl.: S. Amarel, On representation of problems of reasoning about actions, in Machine Intelligence, a cura di D. Michie, New York 1968, pp. 131-71; E.P. Hart, N.J. Nilsson, N.J. Raphael, A formal basic for heuristic determination of minimum cost paths, in IEEE Trans. on Systems, Science, and Cybernetics, 4 (2), 1968, p. 100-07; N.J. Nilsson, Problem-solving methods in artificial intelligence, New York 1971; G. Guida, M. Somalvico, A method for computing heuristics in problem solving, in Information Sciences, 19 (1979), pp. 251-59; W.A. Kornfeld, ETHER - A parallel problem solving system, in Proc. IJCAI, 6 (1979), pp. 490-92; R. Davis, Meta-rules: reasoning about control, in Artificial Intelligence, 15 (1980), pp. 179-222; Id., Content reference: reasoning about rules, ibid., pp. 223-39; L.D. Erman, F. Hayes-Roth, V.R. Lesser, D.R. Reddy, The Hearsay-II speech-understanding system: Integrating knowledge to resolve uncertainty, in ACM Computing Surveys, 12 (2), 1980, pp. 213-53; D.E. Korf, Toward a model of representation changes, in Artificial Intelligence, 14 (1980), pp. 41-78; N.J. Nilsson, Principles of artificial intelligence, Palo Alto (CA) 1980; D.G. Carbonell, A computational model of analogical problem solving, in Proc. IJCAI, 7 (1981), pp. 147-52; M.S. Fox, An organizational view of distributed systems, in IEEE Trans. on System, Man and Cybernetics, 11 (1981), pp. 70-80; W.A. Kornfeld, C.E. Hewitt, The scientific community metaphor, ibid., pp. 24-33; V.R. Lesser, D.D. Corkill, Functionally accurate, cooperative distributed system, ibid., pp. 81-96; R.G. Smith, R. Davis, Frameworks for cooperation in distributed problem solvers, ibid., pp. 61-70; G.W. Ernst, M.M. Goldstein, Mechanical discovery of classes of problem-solving strategies, in Journal of the Association for Computing Machinery, 29 (1982), pp. 1-23; M.P. Georgeff, Procedural control in production systems, in Artificial Intelligence, 18 (1982), pp. 175-201; E.M. Allen, YAPS: Yet Another Production System, Report 11-46, University of Maryland 1983; R. Davis, R.G. Smith, Negotiation as a metaphor for distributed problem solving, in Artificial Intelligence, 20 (1983), pp. 63-109; M.R. Genesereth, An overview of meta-level architecture, in Proc. AAAI, 83 (1983), pp. 119-24; M.R. Genesereth, J.S. Rosenschein, Communication and cooperation, Report 84-85 della Stanford University, 1984; M.R. Genesereth, M.L. Ginsberg, J.S. Rosenschein, Cooperation without communication, Report 84-36 della Stanford University, 1984; J.P. Laurent, Control structures in expert system, in Technique et Science Informatiques, 3 (1984), pp. 147-62; A. Bundy, Catalogue of artificial intelligence, New York 1990; H. M. Collins, Artificial experts; social knowledge and intelligent machines, Cambridge (Mass.) 1990; J. H. Fetzer, Artificial intelligence: its scope and limits, Norwell 1990; P. Jackson, Introduction to expert systems, Reading 1990; L. K. Kanal, Search in artificial intelligence, New York 1990; D. W. Patterson, Introduction to artificial intelligence and expert systems, Englewood Cliffs 1990; P. H. Wintson, Artificial intelligence, Reading 1990; I° Workshop sul Machine learning, Torino 1990; II Workshop sul Machine learning, Bari 1991; E. Rich, K. Knight, Artificial intelligence, New York 19912; III Workshop sul Machine learning, Roma 1992.