|
||||||
DOCUMENTS
elab.immagini
galileo
realtà virtuale
vrml
biomeccanica
esapodi
formula1
intelligenza
Papers
meccanica
sistemi
robotica
La Rappresentazione della Conoscenza
Nell'ipotesi di Craik e poi di Newell che la mente umana rappresenti internamente il mondo che percepisce occorre innanzitutto spiegare quale struttura abbia tale rappresentazione. Se poi si aggiunge anche l'ipotesi di Minsky, che un sistema basato sulla conoscenza sia piu' efficace di un sistema auto-organizzantesi nel risolvere i problemi complessi del mondo reale, occorre anche spiegare come essa possa dare origine al comportamento intelligente.Alla base del programma di rappresentazione della conoscenza nell'Intelligenza Artificiale e' un'altra ipotesi, quella "riflessiva" di McCarthy (1968): l'intelligenza dipende essenzialmente dal fatto di essere in grado di rappresentare con il linguaggio i fatti che riguardano situazione, obiettivi e possibili azioni; in altre parole, per essere intelligente un sistema deve poter rappresentare le proprie operazioni e le proprie strutture. A queste ipotesi va aggiunto un principio che Minsky (1985) ha cosi', paradossalmente, riassunto: il modo piu' efficiente di risolvere un problema e' quello di sapere gia' come risolverlo; la conoscenza che si vuole fornire alla macchina e' conoscenza relativa a come risolvere problemi: quanto piu' essa e' specifica per la soluzione di una certa classe di problemi, tanto piu' e' utile.
Apparentemente la struttura tramite cui gli esseri umani reperiscono, elaborano e comunicano conoscenza e' il linguaggio. Anche se cio' fosse vero, il linguaggio non potrebbe essere utilizzato da una teoria computazionale della conoscenza per almeno tre ragioni: (1) le frasi del linguaggio presentano delle ambiguita' (per esempio, "l'uccello del bosco che preferisco" ha due significati), e non e' ancora chiaro come la mente risolva tali ambiguita'; (2) ne' la sintassi ne' la semantica di alcun linguaggio umano sono state interamente determinate; (3) occorrono risorse computazionali infinite per riuscire a trattare la varieta' di forme consentita dal linguaggio naturale.
E' pertanto necessario definire un nuovo "linguaggio" che non presenti i tre ostacoli di cui sopra, ovvero postulare che le strutture di rappresentazione della conoscenza non coincidano necessariamente con quelle del linguaggio naturale. E' ovviamente infinito il numero di possibili convenzioni per rappresentare la conoscenza che soddisfano il requisito di essere: (1) non ambigue, (2) specificate, (3) finite. Soltanto la plausibilita' psicologica e l'adeguatezza computazionale possono aiutare a selezionare quelle piu' opportune, nonostante Hector Castaneda abbia sostenuto (1964) che nessuna logica della conoscenza puo' essere psicologicamente plausibile. La conoscenza e', innanzitutto, sempre relativa a "qualcosa": la conoscenza di "qualcosa" e' la capacita' di formare un modello mentale di quella "cosa". Questa definizione non identifica pero' in maniera univoca la strutture che devono essere impiegate dalla mente: per "modello mentale" di un oggetto di conoscenza si puo' intendere, per esempio, tanto una struttura che esprima le proprieta' di tale oggetto, quanto uno struttura che determini le azioni che si possono compiere a fronte di tale oggetto, o ancora una struttura che ne sintetizzi la relazione con il resto del mondo; o, infine, una struttura che dichiari tutto cio' che e' "rilevante" (ai fini computazionali) di quell'oggetto.
Esistono tuttavia dei punti fermi. In una forma o nell'altra le teorie computazionali su come la mente rappresenti la conoscenza assumono che esistano strutture dinamiche ed adattative che a) hanno origine dalle esperienze passate, b) vengono in qualche modo generalizzate per valere in un numero piu' ampio di casi, c) determinano l'azione da compiere a fronte di una nuova situazione. Finora i programmi che simulano comportamenti intelligenti sono stati dotati di strutture che possono essere ricondotte a due tipi fondamentali: le formule logiche (approccio logistico) e gli schemata (approccio associativo).
Questa idea venne elaborata da Frederic Bartlett nel 1932 per reagire alla teoria associazionista. Bartlett vide nello schemata l'unita' cognitiva che poteva rendere conto del comportamento adattativo pur conservando la preminenza dei processi mentali. Con l'avvento del modello a schemata sorse l'esigenza di qualificare meglio il processo di "comprensione": se comprendere significa, in ultima analisi, reperire gli schemata piu' idonei ed applicarli alla situazione in corso, allora l'intera intelligenza puo' essere identificata con la comprensione.
Reinterpretato nell'ottica di Kant, anche lo schemata di Piaget era la rappresentazione interna di una generalizzazione di situazione che si presta ad inferire per analogia come comportarsi in tutte le situazioni simili, e che determina a sua volta come verra' ricordata una nuova situazione. Claparede, prima di Piaget, aveva notato nel 1911 come il riconoscimento di una scena richieda una "ricostruzione" a partire dagli oggetti familiari. Piaget osservo' (1968) che un bambino riusciva addirittura a ricordare una configurazione di bastoncini con maggiore accuratezza dopo sei mesi che non dopo una settimana, e lo attribui' al fatto che, nel ricostruire il ricordo, il bambino poteva servirsi di un maggior numero di schemata.
Neisser (1976) pose l'accento sul carattere "anticipatorio" dell'elaborazione a schemi, gia' sottolineato da Selz: uno schemata utilizzato a fronte di una situazione che si sta formando consente di "prevedere" come la situazione si completera'. Nel confrontare lo schemata alla situazione corrente "ci si aspetta" che alcuni eventi previsti nello schemata si verifichino. Neisser fuse inoltre il modello a schemi con il modello ecologico di James Gibson: lo schemata e' lo strumento tramite cui l'organismo raccoglie nell'ambiente l'informazione disponibile.
Un predicato e' un'entita' che stabilisce se la relazione fra un certo numero di termini e' vera o falsa; per esempio, il predicato "madre (Piero, Rosa)" e' vero se Rosa e' la madre di Piero. Una "funzione" stabilisce il valore che rende vera la relazione fra un certo numero di termini; per esempio, la funzione "madre(X)" e' un'entita' che ad ogni nome proprio X assegna il nome proprio di sua madre, e pertanto "madre(Piero)" vale Rosa. Ogni funzione f(X) puo' essere ricondotta a un predicato p(X,Y) tramite la corrispondenza:
I termini dei predicati e delle funzioni possono essere: un valore costante nel tempo (come un numero o un nome proprio, per esempio 15 e Piero), una variabile (un nome fittizio che sta ad indicare un valore "variabile" nel tempo, per esempio una variabile "Pres" che abbia come valore il nome dell'attuale presidente degli USA) oppure il valore di una funzione (per es.: "madre(Piero)", che vale Rosa).
Un predicato costituisce una "formula atomica" che descrive un qualche fenomeno elementare. Le formule piu' complesse si costruiscono associando tante formule atomiche, e a tal fine si usano gli operatori booleani (o "connettivi") AND, OR, NOT: rispettivamente congiunzione ("e") di due formule, disgiunzione ("o") di due formule e negazione ("non") di una formula. Per esempio,
madre(Piero, Rosa) AND padre(Paolo, Mario) OR fratello (Piero, Paolo)
e' una formula valida. Nell'ipotesi logistica tramite formule di questo genere e' possibile descrivere lo stato del mondo.
Le variabili sono determinanti per poter esprimere i concetti di "tutti" e "qualcuno". A tal fine, in concomitanza con l' uso di variabili fra gli argomenti di un predicato, si fa ricorso ai cosiddetti quantificatori: "per-ogni" e "esiste". Per esempio, "esiste(X) NOT madre(Piero,X)" esprime il fatto: esistono persone che non sono la madre di Piero.
Se dividiamo l'universo degli eventi in eventi statici ("Roma e' la capitale dell'Italia", "L'albero e' un vegetale") ed eventi dinamici ("Prendi l'ombrello quando piove", "Combinando due parti di idrogeno e una di ossigeno si ottiene acqua"), per rappresentare i primi con la logica dei predicati e' sufficiente utilizzare le proposizioni
capitale (Italia, Roma). .br appartiene (Albero, Vegetali).
Questi sono "fatti", e come tali vengono espressi da una formula atomica.
Per esprimere invece la conoscenza sugli eventi dinamici e' necessario usare una combinazione di formule atomiche e indicare una relazione causale fra di essi. A tal fine si impiega la "regola di produzione". Una regola di produzione si compone di un "antecedente" (o premessa) e di un conseguente. La sua semantica e' elementare: il conseguente diventa vero quando e' vero l'antecedente. Per esempio:
IF tempo (Pioggia) THEN prendere (Ombrello). .br IF idrogeno (2) e ossigeno (1) THEN acqua (1).
Una regola di produzione "IF p THEN q" equivale all'espressione "NOT p OR q". Grazie a questa equivalenza e' possibile tradurre le regole di produzione in espressioni della logica dei predicati.
Emil Post dimostro' che le regole di produzione esauriscono l'universo di cio' che e' computabile. Pertanto, se anche non esprimessero tutto cio' che puo' essere "conosciuto", esprimerebbero comunque tutto cio' che puo' essere computato di cio' che puo' essere conosciuto. E questo e' l'obiettivo in accordo con il postulato di McCarthy.
Nell'approccio logistico pertanto rappresentare la conoscenza di un dominio significa tradurrla in un insieme di regole e fatti.
Utilizzando fatti e regole e' possibile rappresentare della conoscenza in maniera del tutto avulsa dal proprio contesto. Soltanto quando il sistema di produzione andra' ad esaminarle per risolvere uno specifico problema in quel dominio, le varie regole verranno messe in relazione fra di loro e con la situazione corrente. Il principio che giustifica questa operazione e' stato definito cosi' da McCarthy: "la conoscenza necessaria ai programmi intelligenti puo' essere espressa in una forma dichiarativa indipendente dall'uso che se ne fara'".
In definitiva tramite i predicati (riveduti sotto forma di fatti e di regole) e' pertanto possibile costruire una astrazione dello stato dell'universo in funzione di due grandezze elementari: oggetti e relazioni fra oggetti. Lo stato in un certo istante e' espresso da una formula che elenca tutte le relazioni fra gli oggetti che compongono l'universo; ovvero e' rappresentato da una congiunzione di fatti: per esempio, "l'auto e' ferma, e io sono a bordo, e il cielo e' sereno, e una signora vende fiori sul marciapiede, e due ragazzi stanno parlando, e...". Due stati del mondo in tempi diversi sono rappresentati da due formule che differiscono nelle formule atomiche della propria congiunzione. Tanto il "calcolo delle situazioni" di McCarthy (1958) quanto il "mondo a blocchi" di Terry Winograd (1972) fanno uso di questo accorgimento. Il calcolo delle situazioni descrive ogni situazione con una formula logica e tenta poi di eseguire calcoli logici su tali formule per evidenziarne le relazioni causali. Il mondo a blocchi e' invece una semplificazione del mondo reale in cui tutti gli oggetti sono dei parallelepipedi e le uniche relazioni fra di essi sono quelle di tipo spaziale, espresse tramite predicati.
In tal modo Quillian, cosciente degli sviluppi della scuola dello schemata (Bartlett, Piaget, Newell, Miller), non fece che raffinare una tradizione di pensiero associazionista che si era molto evoluta dal rigido dogmatismo di Skinner. Il primo a proporre che le associazioni fossero "etichettate", ovvero che fra due parole potessero esistere associazioni di natura diversa era stato proprio Selz. Al tempo stesso la teoria di Quillian discendeva dai programmi degli anni Cinquanta che erano stati realizzati per tentare la traduzione automatica da una lingua all'altra, alcuni dei quali impiegavano tecniche simili per rappresentare il significato delle parole, per esempio le "reti correlazionali" e le "costellazioni" di Silvio Ceccato e, appunto, le "reti semantiche" di Margaret Masterman, la prima a coniare il termine. Il modello della memoria che Quillian propose era una estensione e generalizzazione di tutti questi concetti.
In Informatica per "rete" si intende un grafo, una rappresentazione grafica delle relazioni che sussistono fra gli elementi di un insieme. Ogni elemento viene detto "nodo" della rete e viene connesso tramite un "arco" a nodi che rappresentano altri elementi in relazione con esso. Una rete semantica e' un grafo relazionale, ovvero una rete nella quale ogni arco specifica anche quale "tipo" di relazione sussista fra i due nodi che congiunge. L' arco non si limita pertanto ad affermare che due elementi sono in relazione, ma specifica anche in quale relazione semantica essi siano. Quillian (le cui reti semantiche erano oltretutto assai piu' complesse) ipotizza che la memoria contenga una rete molto intricata di nodi corrispondenti a parole: la parola "padre" puo' essere connessa a quelle "madre", "figlio" e cosi' via da una relazione di tipo "parentela", mentre puo' essere connessa a quella "cane", "albero" e cosi' via dalla relazione di tipo "maschile", e a tante altre parole da tante altre relazioni. Benche' pochi anni dopo i fisiologi dimostrassero che la rapidita' di associazione fra due concetti non dipende dalla loro vicinanza semantica, ma, banalmente, dalla loro familiarita' (la legge di K. Marbe), la rete semantica entro' a far parte del repertorio di base per rappresentare la conoscenza. Ancora una volta prevalse l'efficacia computazionale sulla plausibilita' psicologica.
Il "significato" di una parola (o, piu' in generale, di un concetto) e' l'insieme di tutti i nodi che possono essere raggiunti a partire dal nodo che la rappresenta e continuando a "navigare" finche' possibile di arco in arco, piu' l'insieme di tutte le relazioni fra tali nodi. La rete semantica asserisce il fatto intuitivo che la definizione di un oggetto non puo' fare a meno della definizione degli oggetti con cui e' in relazione e, in ultima analisi, del contesto in cui l'oggetto e' situato. In tal senso la rete semantica e' un metodo di rappresentazione della conoscenza coerente con il pensiero fenomenologico di Husserl. Per definizione ogni nodo di una rete semantica contiene soltanto una parte dell'informazione che la rete ha a disposizione riguardo l'oggetto rappresentato da quel nodo: gli archi che "escono" da quel nodo costituiscono estensioni naturali dell'informazione contenuta nel nodo. Di arco in arco tale informazione si sparge per una regione della rete che puo' essere molto ampia. La rete semantica e' anche coerente con l'altro fatto intuitivo che e' sempre difficile stabilire quali siano i confini dell'informazione relativa ad un oggetto.
Una relazione particolarmente importante che puo' sussistere fra i nodi di una rete semantica e' quella di "individuo che appartiene ad un insieme", ovvero di un nodo che e' congiunto ad un altro nodo tramite un arco "appartiene" (da un arco "IS A"). In tal modo si genera infatti una tassonomia gerarchica, una classificazione degli oggetti in classi sempre piu' astratte ("gatto" IS A "felino" IS A "mammifero" IS A "animale" IS A ... ). Una delle conseguenze della relazione di appartenenza e' l' ereditarieta' delle proprieta': l' oggetto che appartiene ad una certa classe ne eredita anche le sue proprieta'. Per esempio, se i felini sono mammiferi, la classe dei felini eredita la proprieta' che i mammiferi non fanno le uova: non c'e' bisogno di dire esplicitamente "i felini non fanno le uova". Aggiornato ai tempi, questo non e' altro che il primo sillogismo di Aristotele (il cosiddetto "Barbara"). Una rete di relazioni gerarchiche, grazie proprio a questo principio di ereditarieta', puo' far risparmiare parecchie risorse computazionali, nel senso che molte informazioni possono essere inferite direttamente.
Gary Hendrix (1977) dimostro' l'equivalenza della rete semantica alla logica dei predicati, ampliando in tal modo la sua originaria funzione di passiva rappresentatrice di conoscenza. Le reti semantiche di Hendrix possono innanzitutto essere "partizionate": ogni sotto-rete descrive un mondo separato e sta in qualche relazione con le altre reti. Per esempio, e' possibile imporre una relazione gerarchica definendo una rete come nodo di un'altra rete. Alcuni archi svolgono il ruolo di quantificatori, inclusioni e operatori logici. Per esempio, per quantificare universalmente ("per-ogni") una sotto-rete si impone un arco di tipo "per ogni" collegato dall'esterno al nodo che rappresenta tale sotto-rete. Analogamente per "negare" la sotto-rete si collega la sotto-rete con un arco "NOT". E cosi' via, in modo molto analogo a cio' che aveva fatto Charles Peirce con i suoi "grafi logici" del 1897 e a cio' che avrebbe fatto John Sowa con i suoi "grafi concettuali" del 1984. Una variante di questo approccio e' data dalle "reti proposizionali" inventate da Stuart Shapiro nel 1971, nelle quali ogni nodo era una proposizione (quella di Shapiro fu anche la prima implementazione a reti dell'intera logica dei predicati). L'approccio "partizionato" di Hendrix alle reti semantiche e' indispensabile, per esempio, quando si debbano esprimere dipendenze temporali (un certo contesto capita prima di un altro).
Nel 1975 William Woods propose di dotare la rete semantica di una semantica introducendo un formalismo rigoroso analogo a quello della semantica tarskiana per la logica dei predicati. In particolare mosse una critica radicale all'uso degli archi nelle reti: nonostante essi possano rappresentare concetti molto diversi, tutti gli archi vengono trattati indiscriminatamente allo stesso modo. E' intuitiva la differenza fra un arco IS-A che colleghi "uomo" a "mammmifero" e un arco "fratelli" che colleghi "Piero" e "Paolo": il primo e' un arco di tipo "tassonomico", il secondo e' un arco di tipo "asserzionale". Il primo si presta a sua volta ad altri equivoci in quanto puo' essere utilizzato per rappresentare tanto fatti universali ("I felini sono mammiferi") quanto fatti stereotipici ("I gatti mangiano i topi").
Per rispondere alla critica di Woods le "reti di ereditarieta' strutturata" che Ronald Brachmann ha utilizzato nei programmi KL-ONE (1978) e KRYPTON (1983) stabiliscono esplicitamente il ruolo giocato da ciascun arco: le "definizioni" consentono di rappresentare tassonomie indipendenti dal dominio, mentre le "asserzioni" consentono di descrivere il dominio specifico di applicazione. In pratica le definizioni forniscono il vocabolario che verra' usato nelle asserzioni. In tal modo si ottengono anche vantaggi computazionali non indifferenti: servendosi della tassonomia, il programma KRYPTON e' in grado di valutare anche asserzioni che non compaiono esplicitamente, ovvero e' in grado di rispondere a domande a cui un tradizionale sistema basato sulla logica dei predicati non saprebbe rispondere. In altre parole e' diverso cio' viene detto al sistema e cio' che il sistema ricorda.
La divergenza fra sistemi asserzionali e sistemi definizionali e' implicita nella storia stessa della logica: Aristotele era un definizionista (un nuovo "tipo" e' definito dal "genus", ovvero dal super-tipo a cui esso appartiene, e dalle "differentiae", ovvero dalle proprieta' che lo distinguono da altri sotto-tipi di quel super-tipo), mentre Frege era un asserzionista (i termini usati nelle espressioni logiche non appartengono ad alcuna tassonomia). A mediare fra i due estremi e' il calcolo Lambda, il quale consente, fra l'altro, di costruire una struttura definizionale sopra un sistema asserzionale in quanto il sistema asserzionale del calcolo Lambda consente, in particolare, di definire nuovi tipi a partire dai tipi esistenti.
Il primo ad introdurre il calcolo Lambda nelle reti semantiche fu Len Schubert nel 1975 e alle sue idee si ispiro' Sowa nel 1984, il primo a formulare la semantica auspicata da Woods. I suoi grafi concettuali sono reti semantiche in grado di distinguere modelli estensionali del mondo da proposizioni intensionali sul mondo. Per determinare il valore di verita' di una proposizione si "proietta" il grafo proposizionale ad essa associata sul grafo modello. Cio' e' equivalente ad "interpretare" una proposizione secondo un dato modello nella semantica model-theoretic di Tarsky, la quale risulta infatti un caso particolare (qualora il modello sia il tradizionale mondo chiuso).
Un'estensione della tripla O-A-V e' il "frame" inventato da Marvin Minsky nel 1975. L'intenzione di Minsky non era tanto quella di rappresentare le proprieta' degli oggetti, ma piuttosto quella di rappresentare una situazione stereotipica, sulla scia dello "schemata" di Selz e Bartlett, e di farne la struttura portante della modellizzazione del mondo, sulla scia di Craik.
Secondo Minsky la rappresentazione della conoscenza sotto forma di logica dei predicati non solo e' poco plausibile dal punto di vista psicologico e fisiologico, ma porta persino a risultati controproducenti. Con un argomento simile a quello gia' usato contro i sistemi auto-organizzantesi Minsky sostenne che i presunti vantaggi computazionali della Logica Matematica si traducono in svantaggi: il cervello utilizza scorciatoie che esulano dalla Logica Matematica, e che anzi spesso ne violano gli stessi principi fondamentali. Cio' non toglie che il cervello riesca a trovare soluzioni perfettamente funzionali in tempi brevissimi a problemi di grande complessita', come possono essere, per esempio, riconoscere che un barboncino e' un cane o decidere quale azione compiere per spedire un telegramma. Per quanto efficaci possano essere i metodi euristici utilizzati, una rappresentazione sotto forma di logica dei predicati di tali situazioni richiederebbe una quantita' molto elevata di calcoli logici per giungere alle stesse conclusioni.
Minksy cercava un metodo per rappresentare quella conoscenza che gli umani utilizzano quotidianamente per risolvere i problemi piu' svariati, ovvero quella che viene normalmente indicata con "senso comune" ("commonsense"). In ogni situazione la memoria attiverebbe un "pacchetto" di informazioni tale da consentirle di "comprendere" la situazione. Il "comprendere" significa prima "riconoscere" e poi "strutturare": riconoscerla in quanto affine a una di quelle stereotipiche gia' note e poi strutturarla secondo quello stereotipo per poterne trarre delle inferenze. Questo "pacchetto" dovrebbe consentire di ragionare sulla situazione senza prendere in considerazione l'intero scibile dell' universo, ma soltanto le informazioni rilevanti alla situazione, e senza impiegare complesse tecniche di inferenza, anzi impiegando una banale operazione di confronto fra stereotipo e caso specifico.
Per esempio, una persona che entri per la prima volta in una stanza provera' inizialmente un senso di disorientamento, ma presto riuscira' a muoversi con disinvoltura compiendo le azioni che e' naturale compiere in una stanza (entrare, uscire, guardare dalla finestra e cosi' via). La ragione di cio' e' che, a fronte della situazione "stanza", la persona puo' reperire uno stereotipo di "stanza" che fornisce tutte le informazioni rilevanti a quella situazione. Grazie a quelle informazioni la persona potra' ragionare sui dati specifici che le pervengono dalla percezione sensoriale. Dal punto di vista computazionale il frame evita semplicemente di compiere laboriosi ragionamenti logici. A conferma di cio' Bartlett aveva fatto notare quanto piu' facile sia riconoscere un oggetto nel suo contesto tipico che in un contesto anomalo (per esempio, un pallone in un negozio di articoli sportivi piuttosto che un pallone in un negozio di frutta).
Un frame descrive tramite il suo "prototipo" una classe di oggetti (una categoria), la quale di volta in volta verra' "istanziata" in un oggetto particolare. Una classe e' un "universale" che e' noto sempre e comunque, mentre gli oggetti concreti della classe vengono "istanziati" di volta in volta. Per esempio, la classe "Nazione", della quale e' possibile definire il prototipo, puo' essere instanziata nell' oggetto "Italia", nell' oggetto "Francia" e cosi' via. L'"istanziazione" consiste nel creare un nuovo frame copiando i valori degli attributi del frame prototipo salvo laddove sia specificato diversamente (ovvero salvo i valori che distinguono l'oggetto dagli altri oggetti della stessa classe).
La mente umana sarebbe pertanto composta da un reticolo di frame. Ogni percezione "seleziona" il frame piu' opportuno (ovvero la "categoria" piu' prossima). La mente sarebbe poi in grado di "adattare" quel frame alla percezione specifica, ovvero di "interpretare" la situazione sulla base delle proprieta' associate alla categoria selezionata. Compito della mente e' pertanto quello di ricondurre una situazione ad uno dei frame disponibili: in mancanza di un frame sufficientemente "prossimo" alla situazione, il comportamento non potra' essere intelligente. Secondo Robert Wilensky (1983) principi di coerenza, concrezione, completezza e minimalita' guidano la mente nello stabilire se un frame rappresenta una certa situazione: il singolo frame deve essere coerente con la situazione (ovvero non devono esservi contraddizioni fra i due) e deve essere il piu' "particolare" possibile di quelli che sono coerenti con la situazione, e i frame nel loro insieme devono rendere conto dell'intera situazione e devono massimizzare il numero di connessioni (ovvero minimizzare il numero di frame).
Minsky estende di fatto un'idea che ricorre spesso nella storia del pensiero, dalla teoria delle categorie di Aristotele (che tenta di ricondurre ogni concetto a un insieme di concetti primitivi) al principio della "somiglianza" di Wittgenstein (che assegna un oggetto al concetto piu' somigliante), dallo "stereotipo" di Hilary Putnam al "prototipo" di Brant Berlin. Nella teoria di Minsky il processo di classificare un oggetto nella classe appropriata ha delle implicazioni molto piu' dirette, perche' equivale a comprendere una situazione ed equivale ad eseguire un ragionamento su tale siutazione.
"Adattarsi", "riconoscere", "comprendere" e "predire" si scoprono in tal modo aspetti diversi dello stesso fenomeno. La mente e' un reticolo di frame, percepire una situazione consiste nel selezionare il frame piu' appropriato per quella situazione e ragionare consiste nell'adattare quel frame a quella situazione. La conoscenza impone coerenza all'esperienza.
Piu' in dettaglio un frame consente di esprimere conoscenza su: le proprieta' dell'oggetto (esattamente come una tripla O-A-V); il modo in cui l'oggetto e' correlato ad altri oggetti (il valore di un attributo puo' essere a sua volta un altro frame); e le operazioni possibili su tale oggetto (il valore di un attributo puo' essere una procedura). Di fatto il frame di Minsky dota di una struttura interna il nodo della rete semantica di Quillian.
Si puo' ovviare alla perdita di informazione dovuta alla discretizzazione dell'universo (tipica di ogni forma di rappresentazione) grazie alla procedura che specifica le operazioni possibili sull'oggetto. Tale procedura (o, piu' propriamente, "procedural attachment") prescrive una sequenza di operazioni da compiere ogni volta che si accede al frame. In pratica ad ogni informazione presente nella memoria viene associato un ragionamento prestabilito che la tratta. La capacita' inferenziale di cui e' dotato il sistema a frame viene in tal modo distribuito all'interno della conoscenza stessa. La capacita' inferenziale di cui e' dotato il sistema a frame viene in tal modo distribuita all'interno della conoscenza stessa. E' questo, per esempio, il modo in cui opera il programma FRL ("Frame Representation Language") creato da Ira Goldstein nel 1977.
Un altro importante concetto introdotto dai frame e' quello di valore di "default". Il valore di un attributo puo' essere un "default", ovvero un valore che va assunto in mancanza di ulteriore informazione: per default tutti gli uccelli volano, le foglie degli alberi cadono in autunno, un giorno d'estate e' caldo e cosi' via. I default non sono pero' delle condizioni necessarie e sufficienti, non sono delle "caratteristiche" che definiscono gli oggetti della classe; il frame di Minsky e' coerente con l'idea di Wittgenstein che un concetto sia definito da una rete di somiglianze piu' che da un insieme di proprieta' comuni a tutti i suoi membri. Minsky ritiene inoltre poco opportuno e non naturale tentare di definire leggi precise: continuare a raffinare una regola in modo che tenga conto di tutti i casi puo' non essere tanto efficiente quanto tenere la regola cosi' com'e' e aggiungere semplicemente l'elenco delle sue eccezioni.
Pat Hayes ha dimostrato che anche il linguaggio dei frame (escluso il default) puo' essere ridotto ad una variante notazionale di un dialetto della logica dei predicati. I frame sono pertanto meno potenti dal punto di vista di cio' che consentono di rappresentare e di calcolare. Sono pero' molto piu' efficienti della Logica Matematica in tutte le situazioni in cui essi possono essere utilizzati. Un frame e' infatti una mini-logica concepita su misura per una situazione e, relativamente a quella situazione, consente pertanto di compiere inferenze in maniera molto rapida.
Il meccanismo dei default non puo' invece essere espresso al primo ordine della logica dei predicati, poiche', quando un default non e' giusto e va cambiato con il valore reale ("ma il pinguino non vola"), tutti i teoremi che erano veri non sono piu' necessariamente tali, contraddicendo la monotonicita' della logica classica.
Un problema comune a tutti i metodi di rappresentazione della conoscenza e' quello di rappresentare non solo le regole che valgono in un dominio ma anche le loro eccezioni: come specificare che una certa regola ("tutti gli uccelli volano") ammette delle eccezioni (ma "il pinguino non vola")? I sistemi ereditari e i sistemi di default consentono di specificare una regola ("tutti gli uccelli volano") in maniera computazionalmente efficace (o collegando il concetto di uccello con il concetto di oggetto che vola tramite un arco IS-A oppure specificando fra gli attributi del frame "uccello" anche quello di "modo di locomozione" con valore di default "volo"), ma non consentono di specificare l'eccezione a una tale regola. Un modo semplice per aggirare l' ostacolo e' quello di prevedere la possibilita' di fornire ulteriori precisazioni. In altre parole, il frame "uccello" ha tutte le proprieta' del frame "oggetti che volano" a meno che' qualcuna non venga cancellata. Dopo tutto un frame non e' altro che la definizione di una classe data sotto forma di attributi tipici (per ereditarieta' o per default) che i membri di quella classe esibiscono, e pertanto ogni ragionamento compiuto sui frame puo' fornire soltanto la conclusione che "tipicamente" e' cosi'. Questa prassi non e' molto elegante in quanto, come ha fatto notare Brachman, di "eccetto" in "eccetto", si puo' arrivare a frasi come "il pomodoro e' un uccello, eccetto che non vola, eccetto che non e' un animale, eccetto che ... ".
Anche nel caso dei frame vale, piu' in generale, l'obiezione sollevata da Woods a proposito delle reti semantiche: non esiste una semantica formale che consenta di interpretare il significato di un sistema a frame e delle inferenze che se ne possono trarre. Le informazioni contenute in un frame possono in effetti riferirsi a significati diversi: alcune possono esprimere la condizione di appartenenza di un membro alla classe ("gli uccelli volano", ergo se l'oggetto non vola non puo' appartenere alla classe degli uccelli), altre possono descrivere l'esemplare tipico della classe (il default "volano" significa che il membro tipico vola), altre ancora possono elencare le azioni possibili (il procedural attachment). Un frame fornisce di fatto rappresentazioni multiple dell'oggetto che rappresenta: quella tassonomica (una congiunzione di regole universali), quella descrittiva (l'elenco dei valori di default), quella funzionale (l'insieme delle operazioni che consente di compiere). Il programma KRL, realizzato (1977) da Daniel Bobrow e Terry Winograd, consentiva sia di distinguere i due tipi di frame "universale" e "particolare" sia di fornire descrizioni dello stesso oggetto da diverse "prospettive": un utensile, per esempio, puo' essere identificato sulla base della sua forma o sulla base della sua posizione o sulla base della sua funzione.
La teoria dei frame non affronta il problema di come si formino le categorie, ma soltanto come esse siano rappresentate nella mente. Rifacendosi agli studi sulle tassonomie "folk" di Brant Berlin (1966), che distingueva le categorie in "forme di vita", "generici" e "specifici" e assegnava agli specifici la responsabilita' di generare la tassonomia, Eleanor Rosch (1975) ha stabilito empiricamente che debbano esistere tre livelli di categorie: base, subordinata e super-ordinata. La prima ad essere imparata, anche perche' e' direttamente correlata all'esperienza sensoriale, e' quella base, per esempio "sedia". Per generalizzazione delle categorie base si formano poi le categorie super-ordinate ("mobili" generalizza "sedia" e "tavolo"), cosi' come per discriminazione fra le categorie base si formano le categorie subordinate ("sedia a dondolo" piuttosto che "sedia sdraio" piuttosto che "poltrona"). Ogni categoria e' definita da uno "spazio di feature", una funzione delle proprieta' tale da massimizzare tanto la somiglianza fra membri della stessa categoria quanto la differenza fra membri di categorie diverse. Il membro della categoria che si situa al centro dello "spazio di feature" e' il prototipo della categoria ed e' quello che viene usato per determinare se un nuovo oggetto e' membro della stessa categoria.
Esistono due teorie antitetiche su quale sia la nozione primitiva della mente umana che presiede al riconoscimento degli oggetti all'interno delle categorie, quella degli empiristi e quella dei razionalisti. Secondo i primi la memoria ricorda soltanto alcuni esemplari della categoria e stabilisce l'identita' di un nuovo oggetto per approssimazione. Secondo i secondi la memoria e' invece capace di "indurre" il prototipo di una classe e riconosce un oggetto sulla base della sua somiglianza con il prototipo. Secondo i primi si riconosce un'automobile perche' ricorda la propria auto, secondo i secondi si riconosce un'automobile perche' soddisfa i requisiti della definizione di automobile. La teoria dei frame, in accordo con i dati sperimentali di Rosch, adotta il punto di vista dei razionalisti.
Uno script e' una struttura che contiene sostanzialmente due tipi di conoscenza: una sequenza di azioni e un insieme di ruoli. Una volta riconosciuta una situazione e reperito il relativo script, la sequenza di azioni (o "scene") consente di compiere elaborazioni di tipo "anticipatorio" (di "aspettarsi che succedano certe cose"). Grazie a questa elaborazione, a questo mettersi in attesa di certi eventi, risultera' piu' semplice riconoscere quegli eventi. I ruoli consentono a loro volta di determinare gli oggetti presenti nella situazione e la loro funzione.
Nella sua teoria della dipendenza concettuale (1973) Schank ipotizza che esistano un certo insieme di azioni e un certo insieme di ruoli primitivi, indipendenti dalla struttura del linguaggio e comuni a tutti i linguaggi. Per esempio, esiste un'azione astratta di trasferimento che contempla: un oggetto, un agente che trasmette l'oggetto, un agente che riceve l'oggetto, un trasferimento fisico dell'oggetto. Influenzato dai lavori di D.Hays (1964), S.Klein (1963) e R.Simmons (1963), Schank tenta in pratica di costruire una teoria dei concetti primitivi mediante i quali sarebbe possibile costruire tutti gli altri. Uno script fa uso di questi concetti primitivi.
La teoria di Schank e' una teoria di "astrazioni di situazione". Costruire un'astrazione (come lo puo' essere "muoversi" per "camminare") significa trovare concetti semanticamente ricchi a un livello piu' elevato di generalita' che catturino il significato di concetti a livello piu' basso. Un'astrazione, come ha scritto Quine, e' "tipicamente ambigua".
La teoria di Schank fa riferimento al suo modello di memoria, il quale contempla almeno quattro diversi tipi di memoria: la memoria degli eventi, che ricorda in dettaglio avvenimenti specifici, e' una semplice replica di cio' che e' accaduto e tende a perdere informazioni con il passare del tempo; la memoria degli eventi generalizzati, che ricorda i caratteri comuni a situazioni che si sono verificate diverse volte, e' prodotta da un processo di induzione e si raffina progressivamente; la memoria situazionale ricorda le "convenzioni" di ogni situazione; la memoria intenzionale ricorda invece le "intenzioni" da cui le situazioni possono essere causate, costituisce lo stadio terminale della memoria. Quando un evento viene registrato nel primo livello di memoria, si scatena il processo per cui, a partire dai tre livelli superiori, viene prodotto uno script relativo a quell' evento particolare. Tale script viene utilizzato per analizzare ("comprendere") l' evento.
Vale anche il processo contrario, quello di acquisizione di uno script. Quando un evento specifico della "memoria degli eventi" puo' essere ricondotto ad un evento generalizzato, l'evento specifico perde informazione che viene sostituita con un riferimento all'evento generalizzato (magari a sua volta perfezionato da questa nuova istanza di se stesso). In tal modo un evento tende a ridursi all'informazione di essere un'istanza di un certo evento generalizzato e all'informazione saliente che lo distingue da altre istanze di quello. Ogni evento "compreso" dalla memoria di livello piu' basso contribuisce di fatto a riorganizzare le informazioni contenute nelle memorie superiori, in modo che gli script da esse prodotte siano sempre piu' efficaci nel riconoscere quel tipo di evento. Questa forma di apprendimento graduale funziona per "somiglianze": cio' che viene ricordato sono le somiglianze fra eventi diversi, le quali, opportunamente classificate, formano eventi generalizzati, situazioni, intenzioni.
Nell'accezione di Schank la memoria ha pertanto due funzioni: una passiva, che e' quella di ricordare, e una attiva, che e' quella di predire. La comprensione del mondo e la sua categorizzazione procedono simultaneamente. A differenza del modello classico di memoria semantica e statica, la memoria del modello di Schank e' sintattica (episodica) e dinamica (adattativa).
Dal punto di vista computazionale gli script costituiscono una semplificazione importante per rendere conto dei tempi rapidissimi in cui la mente riesce a determinare quale azione compiere dopo una certa altra azione. Dal punto di vista psicologico gli script non sono pero' coerenti con le osservazioni di Gordon Bower che gia' nel 1971 aveva messo in luce l'evidenza empirica di una qualche forma di elaborazione seriale, ma aveva altresi' notato e studiato il fenomeno della "confusione". Secondo Bower le scene di uno script possono essere utilizzate da piu' script: per esempio, la scena di stare in coda alla banca e la scena di stare in coda alla posta sono una stessa scena che appartiene tanto allo script di andare in banca quanto allo script di andare alla posta. Cio' puo' dare origine a fenomeni di confusione: un soggetto puo' confondere uno script con un altro che ammette la stessa scena.
Per ovviare all'implausibilita' psicologica degli script Schank ha introdotto i "memory organization packets", o MOP (1982), che assolvono sostanzialmente lo stesso scopo, ma non contengono tutta la conoscenza di cui fanno uso: contengono soltanto il riferimento a tale conoscenza. Siccome piu' MOP possono puntare alla stessa conoscenza, il modello rende effettivamente conto dell'imperfezione della memoria notata da Bower. Per la precisione la struttura di un MOP e' composta da: le motivazioni che danno luogo all'evento rappresentato dal MOP; le condizioni che devono essere presenti affinche' quell'evento possa effettivamente aver luogo; le conseguenze dell'evento; una descrizione dell'evento in termini di "scene".
Il modello cognitivo di Schank prevede pertanto che la memoria contenga due tipi di entita': strutture e organizzatori di strutture. Le prime sono "scene" e le seconde sono MOP.
Il meccanismo che guida la creazione di nuovi MOP e' il "fallimento" (failure) del ragionamento anticipatorio. Quando un MOP non riesce a rendere conto di una situazione che pure aveva attivato quel MOP come MOP piu' appropriato, si rende necessario generare un nuovo MOP. L'apprendimento e' "failure-driven" (Christopher Riesbeck, 1981), non fa ricorso all'induzione se non per creare generalizzazioni (come nei programmi di Janet Kolodner e di Mike Lebowitz del 1980).
In accordo con quanto sostenuto da Minsky, anche per Schank "comprendere", "ricordare" e "ragionare" sono aspetti diversi dello stesso fenomeno: il continuo processo di ri-organizzazione della memoria.
L'obiezione comunemente mossa agli script (o ai MOP) e' la carenza di intenzionalita': all'interno di uno script un'azione segue l'altra per la semplice ragione che sono disposte in quell'ordine, non perche' l'una stia in qualche relazione causale con l'altra. Dallo script non e' possibile inferire perche' un'azione segua un'altra azione. Per quanto meccanici siano certi nostri comportamenti, noi siamo invece sempre in grado di rispondere alla domanda "perche' incominci a mangiare DOPO che il cameriere ti ha servito il pasto?".
La nascita di questa disciplina puo' essere fatta risalire al 1962, quando Jaakko Hintikka reinterpreto' il dibattito su conoscenza e credenza alla luce della logica modale: come la comprensione del linguaggio richiede operatori di carattere "modale" per esprimere le condizioni di necessita' e di possibilita', cosi' la rappresentazione della conoscenza richiede operatori di carattere "espistemico" per esprimere le condizioni di "conoscere" ("so che p e' vero") e di "credere" ("credo che p sia vero"). Piu' in generale cio' e' valido per tutti i casi di "attitudine proposizionale", ovvero per tutte le frasi del tipo "io temo che l'autobus arrivi tardi", "Maria spera che l'orologio non si fermi", "Cesare vede che l'armata sta vincendo" ("temere", "sperare", "vedere" sono le attitudini, cosi' come "sapere" o "credere").
Anche la logica della conoscenza di Hintikka, come la logica della modalita', si puo' esprimere nella semantica dei mondi possibili di Kripke: un agente A conosce una proposizione p se p e' vera in tutti i mondi che sono compatibili con tutto cio' che A conosce.
si legge:
e significa che "p" e' vera in tutti i mondi possibili che sono compatibili con cio' che l' agente conosce (ovvero "a conosce p" se e solo se p e' compatibile con tutto cio' che "a conosce").
La logica di Hintikka incorre pero' nel paradosso dell'"onniscienza logica": secondo il suo sesto assioma dal fatto che "a conosce i postulati di Peano" conseguirebbe che egli conosce tutto cio' che deriva da tali postulati, ovvero l' intera teoria dei numeri, compreso per esempio il teorema di Fermat. Anche altri assiomi di Hintikka non sembrano plausibili: per esempio, che l'agente conosca cio' che conosce (il quinto assioma).
Hintikka propose inoltre una logica doxastica (cioe' per le credenze) del tutto analoga, semplicemente introducendo l'operatore BELIEVE al posto del KNOW e togliendo uno degli assiomi, il quarto, quello che afferma che la conoscenza e' sempre vera (come dai tempi di Platone si e' sempre fatto).
Per ovviare al paradosso del sesto assioma sono state proposte molte alternative. Hector Levesque (1984) ha per esempio introdotto una logica che distingue fra conoscenza esplicita e quella implicita: la conoscenza esplicita di un agente e' quella di cui l' agente e' al corrente; la conoscenza implicita e' tutto cio' che ne consegue.
Robert Moore (1977), Kurt Konolige (1982) e James Allen (1984) hanno trasferito varianti della logica di Hintikka in un contesto in cui la conoscenza (o la credenza) e' esplicitamente legata all'agente e all'azione. La credenza e' ovviamente sempre relativa a un agente, e l'uso che l'agente ne fa e' tipicamente quello di determinare l'azione da compiere.
La definizione platoniana di conoscenza e' stata rielaborata anche da Fred Dretske (1981), il quale ha coniato una definizione sulla base del concetto di informazione di Shannon: l'agente A conosce p se il fatto di possedere l'informazione che p e' vera gli fa credere che p sia vera. Il fatto che A conosca p implica che A abbia una credenza di p e che tale credenza contenga l'informazione che p e' vera.
Ogni programma di costruire una teoria della conoscenza si imbatte nei problemi storici relativi a conoscere e credere. Problemi che erano tradizionalmente oggeto di speculazioni puramente astratte hanno trovato un senso assai pratico nel momento in cui una macchina, il computer, deve essere istruita in merito ad essi.
Non e' banale, per esempio definire quello che e' forse uno dei concetti piu' elementari, il concetto di identita', come dimostra il seguente paradosso di Kripke: i Babilonesi pensavano che Hesperus e Phosphorus fossero due corpi celesti distinti, mentre oggi sappiamo che si tratta del pianeta Venere; supponiamo che due babilonesi stiano parlando di Hesperus e Phosphorus; se con quei nomi noi intendiamo l' oggetto che rappresentano, essi sono una sola cosa (Venere); se con quei nomi intendiamo gli oggetti mentali, essi sono quattro cose (due per ciascun babilonese). In quale sistema di rappresentazione sono due, come sarebbe naturale attendersi?
Un problema che era gia' stato studiato almeno da Hegel e' quello di rappresentare la differenza fra un concetto e una rappresentazione di quel concetto: ADESSO e' semanticamente equivalente al quadrante di un orologio che indica l'ora? QUI e' semanticamente equivalente a un cartello che indica il nome del paese?
Fu Frege il primo a studiare i contesti "referenzialmente opachi", come "p e' conosciuto", "p e' necessario" o "p e' creduto", cosiddetti poiche' non consentono piu' di riconoscere l'identita': se Pat conosce il numero di telefono di Jim, e Mary vive con Jim, non e' necessariamente vero che Pat conosca anche il numero di telefono di Mary (Pat potrebbe non sapere che Mary vive con Jim e pertanto ha il suo stesso numero di telefono). La frase "Pat crede che Mike voglia incontrare la moglie di Jim" ha tre possibili interpretazioni: Pat puo' credere che la persona che Mike vuole incontrare (1) sia sposata a Jim (ma Pat non ne conosce il nome o altro), (2) sia Mary, e Pat sa che Mary e' sposata a Jim, (3) sia Mary, che, guarda caso (ma Pat non lo sa), e' la moglie di Jim. "Pat sa di essere ricco" e "Pat sa che Pat e' ricco" non sono identiche se Pat, per un'amnesia, si e' dimenticato il proprio nome. Gli operatori KNOW e BELIEVE sono opachi nel senso che al loro interno non e' possibile sostituire un'espressione con un'espressione equivalente. Per far riferimento a questi casi si usano le distinzioni fra le conoscenze (o credenze) "de dicto", "de re" e "de se": il fatto che Pat conosca il numero di telefono di Jim implica "de re", ma non "de dicto", che Pat conosca anche il numero di telefono di Mary.
Queste considerazioni si possono ricondurre anche al dibattito su intensione ed estensione. L'espressione "il numero di telefono di Mike" viene usata in due modi diversi (rispettivamente come estensione e come intensione) nelle frasi "Pat conosce il numero di telefono di Jim" e "Pat ha fatto il numero di telefono di Jim". Pat potrebbe infatti aver fatto il numero di telefono di Mary, senza sapere che Mary vive con Jim: sarebbe allora vero che ha fatto il numero di telefono di Jim (in quanto e' lo stesso di Mary), ma senza sapere che quello e' il numero di telefono di Jim.
La conoscenza e' a sua volta difficile da definire. Russell inizio' e Ryle continuo' una linea di pensiero tesa a differenziare i diversi tipi di conoscenza sulla base della loro funzione: l'acquaitance ("conosco il mio vicino"), il contenuto proposizionale ("so che mi chiamo Piero") e la competenza ("so come si fa ad andare in bicicletta"). Ryle insiste soprattutto sulla differenza fra le ultime due, l'una "dichiarativa" e l'altra "procedurale". Cosi', per esempio, sapere che esiste il martello, sapere che il martello serve a battere i chiodi e sapere come si fa a battere i chiodi con il martello costituiscono tre diversi tipi di conoscenza, utili a tre funzioni diverse. Le strutture rappresentazionali necessarie per catturare questi tre tipi di conoscenza sono assai diverse fra di loro (e soltanto la prima e' banale). Esiste una relazione intuitiva fra di esse, ma e' una relazione che ha a che vedere piu' con il fatto di essere relative alla memoria che non con le loro funzioni.
Il riduzionismo che e' alla base del programma di Intelligenza Artificiale si scontra con il classico problema di definire il tutto tramite le sue parti. Quando emerge il tutto? Se prendo la mia auto e la smantello pezzo per pezzo, e' ovvio che alla fine non sara' piu' un auto ma un semplice insieme di pezzi meccanici sparsi per terra: ma "quando" ha smesso di essere un'auto? Se poi prendo i pezzi e comincio a ricostruire fedelmente l'auto, quando quell'insieme di pezzi ridiventa un'auto? Questi sono esperimenti che chiunque puo' compiere utilizzando un banale Meccano. E' intuitivo sostenere che l'auto ridiventa un'auto quando e' in grado di svolgere la funzione di un'auto. Si puo' pero' obiettare che un'auto senza carburatore, ma con tutte le altre parti, verrebbe giudicata un'auto anche se non e' in grado di svolgere quella funzione. Anche se la funzione fosse la proprieta' qualificante, non e' chiaro come le parti contribuiscano alla funzione. Nessuno spiegherebbe il funzionamento di un'auto, o di un orologio o di un qualsiasi meccanismo, sulla base di una descrizione delle sue parti: l'auto e' un mezzo di trasporto a motore e l'orologio e' uno strumento che segna il tempo. Analogamente la vita e' una proprieta' di un organismo, ma nessuna delle sue parti esibisce le sue proprieta'; la mente e' una proprieta' del cervello, ma nessuna delle sue parti esibisce le sue proprieta'.
La Fisica moderna e' certamente riduzionista, e i giganteschi progressi della Biologia sono stati ottenuti con un approccio riduzionista: esiste un limite alla comprensione del tutto tramite le sue parti? Il biologo "vitalista" Hans Driesch sosteneva, per esempio, che un organismo non potra' mai essere spiegato tramite le sue parti, perche' esiste un principio "vitale" che ha origine dal tutto.
Infine rimane irrisolto il campo della comunicazione della conoscenza. Nella comunicazione si puo' perdere della verita', come succede nel caso del paradosso "p e' vera, ma tu non lo sai". Prima che io pronunci la frase, essa e' vera; ma nel momento in cui il mio interlocutore la sente, lui apprende che "p e' vera" e pertanto la mia proposizione "p e' vera ma tu non lo sai" diventa falsa.
E' convinzione diffusa che la conoscenza da sola non basti a render conto del comportamento intelligente. Un agente intelligente che si trovi di fronte ad una situazione complessa deve innanzitutto decidere quale conoscenza utilizzare per risolvere il problema posto dalla situazione. Se non fosse in grado di conoscere la propria conoscenza (di "sapere cio' che sa") non sarebbe in grado di reagire in tempo utile. La stessa conoscenza puo' essere utilizzata in situazioni diverse e diverse conoscenze possono essere utilizzate nella stessa situazione: in qualche modo l'agente deve poter scegliere quale conoscenza utilizzare per una certa situazione. La scelta e' spesso una scelta "strategica" con implicazioni computazionali non trascurabili: a seconda della conoscenza utilizzata la soluzione puo' essere piu' o meno rapida, piu' o meno precisa, piu' o meno generale e cosi' via.
Paul Kolers (1976), Allan Collins (1978) e John Flavell (1979) hanno studiato una serie di fenomeni comuni che provano come la mente sia in grado di stabilire cio' che conosce e cio' che non conosce, e talvolta in maniera piu' rapida ed efficiente di quanto non sia in grado di utilizzare tale conoscenza. Il piu' noto e' quello dell'essere certi di non sapere una certa cosa. Se la mente avesse soltanto conoscenza, per dimostrare di non sapere una certa proposizione dovrebbe provare a inferire tale proposizione dalla conoscenza, e cio' richiederebbe quanto meno del tempo. Un sistema esperto impiega tipicamente piu' tempo a rispondere "non so" a una domanda relativa a conoscenza che non ha che non a rispondere la risposta giusta a una domanda relativa a conoscenza che ha. Il tempo di risposta e' anzi tanto piu' elevato quanto piu' vasta e' la conoscenza. Viceversa io impiego pochi millisecondi a rendermi conto che non so come andare da una citta' dello Zaire a un'altra citta' dello Zaire, che non so i nomi dei primi tre presidenti della Bolivia, che non so cos'abbia fatto ieri un amico e cosi' via. La differenza fra me e il sistema esperto e' che il sistema esperto sa soltanto, mentre in qualche modo io so anche cio' che non so. La conoscenza del sistema esperto elenca soltanto cio' che sa, mentre la mia conoscenza fornisce anche indicazioni su cio' che non so. Il sistema esperto deve pertanto prima consultare tutta la propria conoscenza per stabilire se sa quella cosa, e soltanto dopo aver verificato che nessuna parte della sua conoscenza sa quella cosa potra' rispondere "non so". E' ovviamente cruciale sapere di non sapere. Proprio perche' so di non sapere come andare da una citta' dello Zaire a un'altra citta' dello Zaire mi premunisco di una carta geografica e magari di una guida.
Un altro fenomeno comune e' quello opposto, il caso in cui "so di sapere" qualcosa, ma non riesco a ricordarmelo: "ce l'ho sulla punta della lingua". E' (apparentemente) paradossale che io sappia di sapere una cosa ma non riesca ad utilizzare il sapere quella cosa.
Infine anche dalla relazione fra meta-conoscenza e credenza si possono trarre informazioni utili. Se non so che il papa e' morto, ne inferisco che il papa non e' morto. Assumo cioe' che, se fosse morto, lo saprei. In certi casi il non sapere e' fonte di conoscenza. Moore ha fondato nel 1980 la logica auto-epistemica, scopo della quale e' appunto rappresentare le convinzioni di un agente che rifletta sulle proprie convinzioni (o, in maniera equivalente, che ragioni sulla propria conoscenza).
Konolige ha invece studiato la conoscenza che serve per risolvere problemi come quello del "terzo saggio". Un re, volendo stabilire quale sia il piu' saggio dei suoi tre saggi, dipinge un cerchiolino bianco sulle loro fronti, dice loro che esiste almeno un cerchiolino bianco e chiede poi a ciascuno di loro di indovinare il colore del proprio cerchiolino. Il primo e il secondo rispondono che non sanno. Il terzo puo' allora rispondere, correttamente, che il suo deve essere bianco. La soluzione sta nel modellare le credenze degli altri saggi: il terzo congettura che, se il suo fosse nero, il secondo avrebbe dedotto dalla dichiarazione del primo che il suo e' bianco (altrimenti ci sarebbero stati due neri e pertanto il primo avrebbe dedotto di avere l'unico bianco); siccome il secondo non e' stato in grado di compiere alcuna deduzione, il terzo puo' dedurne che il suo non e' nero. L'indovinello si risolve soltanto se si e' in grado di modellare le convinzioni che il terzo ha delle convinzioni del secondo e le convinzioni che il terzo ha delle convinzioni che il secondo ha del terzo. Nella teoria di Konolige ogni agente e' in grado di costruire un modello degli altri agenti in termini di sue e loro convinzioni, ed e' poi in grado di compiere deduzioni da tale modello.
Altri esempi di meta-conoscenza sono le regole su come devono essere usate altre regole: "le regole derivate dalla conoscenza di un esperto sono piu' affidabili di quelle derivate da un apprendista", "in un deserto le regole che spiegano come nutrirsi sono piu' prioritarie di quelle che dicono come abbronzarsi", "le regole precedenti riguardano il modo di trattare le regole".
Benche' ancora poco studiato, il problema della meta-conoscenza e' probabilmente determinante per rendere conto di alcuni degli aspetti piu' qualificanti del comportamento intelligente, dalla motivazione alle emozioni, dall'introspezione allo stesso senzo dell'io.
Uno dei casi particolari di "sapere di sapere" qualcosa e' quello di sapere di esistere, di essere cosciente di se'. E' forse possibile definire computazionalmente la coscienza come un processo ricorsivo che consiste nel "sapere di sapere", in modo non troppo dissimile da quello di Pierre Janet.
Dal punto di vista del computer possono esistere tre livelli di coscienza, identificabili con altrettanti modelli. Al primo livello l'agente cosciente e' dotato di un modello del problema da risolvere, ed e' pertanto cosciente nel senso che conosce il problema. Ad un secondo livello l'agente ha un modello dell'utente, ovvero dell'umano che lo usa, ed e' cosciente nel senso che e' in grado di capire le intenzioni di tale utente. Infine l'agente potrebbe contenere un modello di se stesso, un modello del programma che lo realizza, ed essere cosi' in grado di ragionare sul proprio comportamento.
Questa gerarchia di gradi di coscienza puo' essere schematizzata qualificando l'agente sulla base delle entita' su e' in grado di operare. L'agente "tropistico" agisce soltanto in risposta a uno stimolo (che e' rappresentato da un insieme di stati esterni), e la sua azione puo' pertanto essere identificata come
L'agente "isteretico" agisce invece in funzione di stimolo e memoria. Ammette pertanto anche degli stati interni, che costituiscono appunto la memoria. La sua azione puo' essere identificata come
L'agente e' anche "sapiente" se la memoria contiene conoscenza e se la risposta e' un ragionamento.
Una definizione computazionale di "coscienza" avrebbe delle conseguenze anche sul concetto di identita'. Descartes, Locke e Hume si posero, direttamente o indirettamente, la domanda di come una persona possa ancora essere identificata come la stessa. La materia che la compone cambia nel tempo piuttosto rapidamente, praticamente ogni secondo, eppure io sono lo stesso di quando avevo cinque anni: cos'e' che mi fa sentire "lo stesso"? Semplicemente il fatto che quel corpo si e' evoluto in questo? Secondo Locke e' la coscienza di essere questa persona, e di essere stato quell'altra persona. La memoria sarebbe allora il solo criterio per stabilire l'identita' personale, ma non necessariamente tutta la memoria: la memoria di avere quella memoria, ovvero, in termini computazionali, la conoscenza di avere quella conoscenza.
Un'altra delle conseguenze pratiche di costruire un programma dotato di meta-conoscenza sarebbe quella di consentire al programma di costruire a sua volta programmi. E' infatti possibile dotare un programma di conoscenza sulla programmazione, sul modo di costruire programmi, quella che ogni programmatore mette in pratica nel progettare i suoi programmi.
Man mano che riceve messaggi l'agente B "ricostruisce" sostanzialmente la conoscenza di quell'automobile. La conoscenza dell'automobile viene pertanto generata in B dai messaggi. Ogni messaggio agisce come un passo di algoritmo: ad ogni passo viene costruita un'immagine parziale. Cio' implica, fra l'altro, che, a seconda di come A decide di impacchettare la conoscenza in messaggi, B percepira' un mondo diverso. I due agenti tendono comunque ad uno stato di equilibrio, poiche' la trasmissione di messaggi continua finche' la conoscenza di B non sara' ritenuta identica alla conoscenza di A. I rumori di cui sopra rendono di fatto improbabile che nella pratica sia possibile giungere alla totale identita'. Esiste pertanto un tacito principio di indeterminatezza: lo stato determinato da un trasferimento di conoscenza e' imprevedibile e puo' soltanto approssimare quello desiderato.
E' per tale ragione che uno studente normalmente non impara alla perfezione: nell'esempio precedente B e' uno studente che deve apprendere la conoscenza che A gli trasmette.
E' intuitivo che, se B e' intelligente, B non aspettera' la fine della trasmissione di tutti i messaggi per iniziare a verificare di avere "capito" bene tutti quei messaggi, ma tendera' a compiere delle verifiche dopo ogni messaggio. In altre parole B tende a minimizzare la probabilita' di errori attraverso una interazione frequente con A. In pratica e' sottinteso un principio: la probabilita' di errore e' proporzionale alla quantita' di conoscenza trasmessa. A e B possono ridurre la probabilita' di errore frammentando la conoscenza in diversi blocchi e ripetendo dopo ogni blocco l'operazione di trasmettere e verificare.
La comunicazione della conoscenza ha delle applicazioni pratiche nel campo dell'insegnamento automatico: il computer-insegnante deve sostanzialmente trasmettere della conoscenza agli studenti.
La preistoria dell'"ICAI", l'"Intelligent Computer-Assisted Instruction", e' rappresentata dai programmi "adattativi" in grado di selezionare il materiale didattico piu' appropriato al livello dello studente. La carenza principale di quei programmi era la limitata capacita' di "generare" il materiale didattico in maniera personalizzata per il singolo studente. La necessita' di un approccio "generativo" venne soddisfatta soltanto quando si rese disponibile la tecnologia dei sistemi esperti.
I sistemi esperti contribuirono a definire in maniera piu' precisa l'obiettivo dei sistemi di ICAI: insegnare significa trasmettere conoscenza relativa a un certo campo (geografia, lingua spagnola, procedure di banca: conoscenza "di dominio" che e' quella accumulata da un esperto del campo) e trasmetterla sulla base della conoscenza di come si insegna (conoscenza "didattica", che e' quella accumulata da un insegnante esperto).
Se un sistema di insegnamento automatico e' sempre un caso particolare di sistema di comunicazione della conoscenza, un sistema di insegnamento automatico basato sulla tecnologia dei sistemi esperti (un cosiddetto "intelligent tutoring system" o ITS) risulta essere un caso particolare di sistema di comunicazione della conoscenza basato sulla conoscenza, dove la conoscenza che viene comunicata e' quella di dominio e la conoscenza su cui e' basato il sistema e' quella didattica.
Un sistema di comunicazione della conoscenza coinvolge tre agenti: un agente esperto, un agente insegnante e un agente studente. L'agente insegnante ha come obiettivo quello di trasferire la conoscenza dell'agente esperto all'agente studente. In termini piu' formali l'agente insegnante ha come obiettivo quello di trasformare lo stato di conoscenza dello studente in uno stato uguale allo stato di conoscenza dell'esperto (relativamente al dominio in oggetto).
Per ottenere questo risultato, l'agente insegnante pianifica degli atti di trasferimento di conoscenza all'agente studente. Ogni atto di trasferimento ha come effetto di causare un nuovo stato di conoscenza nello studente, che pero' (per il principio di indeterminatezza di cui sopra) non e' detto sia quello desiderato dall'insegnante. L'insegnante deve allora costruire una rappresentazione dello stato di conoscenza dello studente: se tale stato e' quello desiderato, l'insegnante puo' proseguire nel suo piano di trasferimenti; se invece non e' quello desiderato, come generalmente accade, l'insegnante deve costruire un nuovo piano a partire dallo stato di conoscenza effettivo dello studente.
L'agente insegnante costituisce lo stato finale di conoscenza, l'agente studente costituisce lo stato iniziale di conoscenza e ogni atto di trasferimento di conoscenza da parte dell'agente insegnante costituisce una transizione di stato per lo studente. L'intero problema della comunicazione della conoscenza sta nel fatto che quella transizione di stato non e', generalmente, quella desiderata, e pertanto l'agente insegnante deve ogni volta rivedere il proprio piano.
L'agente insegnante puo' scegliere fra un numero infinito di piani di atti di trasferimento, ma in pratica sceglie sempre quello che minimizza sia il numero di atti di trasferimento necessari sia le probabilita' di errore nella comunicazione. Per minimizzare le probabilita' di errore occorre minimizzare la quantita' di conoscenza trasmessa in ogni singolo atto di trasferimento, ma cio' farebbe aumentare a dismisura il numero di atti di trasferimento necessari per trasmettere l'intera conoscenza; e viceversa: il numero minimo di atti di conoscenza sarebbe uno solo, ma trasmettendo tutta la conoscenza in un blocco unico si introdurrebbe una quantita' molto elevata di errori. L'agente insegnante deve determinare il piano che massimizza questi due criteri contrastanti.
Oltre che minimizzare la quantita' di conoscenza trasmessa in un singolo atto di trasferimento, l'agente insegnante puo' limitare le probabilita' di errore facendo uso della conoscenza didattica. Ogni insegnante che si rispetti ha come compito innanzitutto quello di "prevenire" (invece che limitarsi a diagnosticare) gli errori di comunicazione, sforzandosi di spiegare la materia nel modo piu' efficace possibile. Nel far cio' sfrutta la propria conoscenza didattica, conoscenza di come si insegna in modo efficace, conoscenza su come massimizzare l'efficacia della sua comunicazione di conoscenza. Cio' nonostante l'atto di trasferimento di conoscenza porta lo studente in uno stato di conoscenza incognito. Prima di procedere, occorre verificare se questo stato e' quello desiderato, e, se no, riconoscere di quale stato si tratti.
Per diagnosticare la conoscenza si utilizza il principio di equivalenza: un agente A ha acquisito la conoscenza di un altro agente B se l'agente A e' totalmente equivalente all'agente B nel risolvere qualsiasi problema che possa essere risolto con quella conoscenza. Se lo studente avesse acquisito correttamente la conoscenza trasmessagli, dovrebbe essere in grado di risolvere la classe di problemi la cui soluzione richiede necessariamente quella conoscenza. Se non e' in grado di risolvere quella classe di problemi, lo studente non ha acquisito correttamente quella conoscenza.
Lo stato di conoscenza reale dello studente viene pertanto stabilito sulla base della sua performance. Se tale performance non e' quella attesa, occorre trovare lo stato di conoscenza che generi quella performance. Il problema di valutare lo stato cognitivo di una persona attraverso la sua performance viene detto "diagnosi cognitiva".
Per "performance" si intende ovviamente la capacita' di risolvere problemi. Misurare la performance di un agente significa pertanto costruire un insieme di problemi che sia rappresentativo della conoscenza trasmessa e poi valutare le soluzioni e gli errori dello studente.
Una volta nota la performance dello studente si esegue un ragionamento "condizionale" nel tentativo di trovare quale conoscenza darebbe luogo a quella performance. Occorre modificare la rappresentazione dello stato di conoscenza dello studente in maniera tale che con quella conoscenza anche l'esperto commetterebbe gli stessi errori appena compiuti dallo studente. Quella conoscenza costituisce l'effettivo stato attuale dello studente.
Ad esso l'insegnante applica la propria conoscenza didattica per determinare un nuovo piano d'azione. E cosi' via. La generazione del piano che portera' lo studente ad acquisire la conoscenza dell'esperto avviene pertanto ragionando sul differenziale (stato insegnante meno stato studente attuale) e sulla conoscenza didattica. In ogni istante esiste un "piano di lezioni", che viene pero' riveduto dopo l'esecuzione di ogni "lezione". Data una certa situazione (un certo stato di conoscenza dello studente), la differenza fra l'esperto e lo studente e' la conoscenza di cio' che deve essere ancora imparato.
Per determinare come inizia e quando finisce, un ITS puo' essere ricondotto a un dimostratore automatico di teoremi. Il teorema da dimostrare e' "lo studente ha appreso l'intera materia", e cioe' "lo stato di conoscenza dello studente e' pari a quello dell'insegnante". Affinche' questo teorema sia soddisfatto occorre che altri sotto-teoremi siano soddisfatti (cioe' che abbia appreso le parti che compongono quella materia), e cosi' via ricorsivamente. Ad un certo punto in questa regressione di teoremi da dimostrare si giunge a un teorema che non dipende da altri teoremi, ma soltanto dal proprio essere vero o falso. Per rendere vero quel teorema occorre pianificare gli atti di trasferimento di conoscenza necessari a far compiere allo studente la corrispondente transizione di stato. Una volta avviato in questo modo il dimostratore di teoremi, esso continuera' a compiere questo ciclo finche' tutti i sotto-teoremi saranno dimostrati e allora anche il primo teorema, che lo studente ha appreso tutta la conoscenza, sara' dimostrabile.
Un modo alternativo di comunicare conoscenza, che origina dagli studi di Seymour Papert, e' quello degli ambienti interattivi per l'apprendimento ("Interactive Learning Environments") o piu' popolarmente micromondi ("microworlds"). Il modello socratico di appredimento attraverso la "scoperta" ha avuto un ruolo determinante nei sistemi di questa generazione. Un micromondo e' un ambiente in cui lo studente puo' esercitare la propria creativita', ed apprende pertanto tramite sperimentazioni in cui e' lui stesso la parte attiva. Cio' equivale ad immergere una persona in una situazione reale, e lasciare che la persona si familiarizzi con la situazione. Cio' che viene comunicato e' un intero modello mentale, un modello "qualitativo" dell' ambiente che si sta studiando. Papert si ispiro' alla pedagogia di Piaget e pose l' accento soprattutto sulla necessita' di sviluppare le capacita' creative dello studente. Il principio e' quello secondo cui comprendere un sistema implica costruire un modello mentale causale di quel sistema. I modelli vengono costruiti in maniera incrementale raffinando, estendendo e generalizzando la conoscenza man mano acquisita.
Spesso l' "ambiente" virtuale del micromondo rappresenta un ambiente reale, che viene "simulato" tramite il computer. Lo studente ha a disposizione alcuni comandi per far cambiare valori alle variabili del sistema, e il sistema provvede a calcolare automaticamente le conseguenze di questi cambiamenti e a farli vedere allo studente. Lo studente puo' cosi' rendersi conto di persona, e "capire" come funziona l' ambiente, ovvero costruirsi un modello mentale.