Modelli e metafore: il caso degli agenti Temi filosofici dell’informatica 12 maggio 2008 Modelli e metafore 2 I modelli scientifici come metafore Una teoria della metafora Il ruolo delle metafore nella concettualizzazione e nella spiegazione scientifica Le metafore: dalla scienza all’ingegneria informatica Le metafore dell’ingegneria informatica: il concetto di agente come esempio Temi filosofici dell’informatica Teorie: la visione tradizionale 3 Nella visione tradizionale in voga fino all’inizio degli anni ’50 una teoria scientifica consiste in Un sistema assiomatico espresso mediante la logica del primo ordine, dove gli assiomi sono formulazioni delle leggi che specificano le relazioni fra i termini teorici di una teoria Delle regole di corrispondenza che specificano le procedure sperimentali ammissibili per applicare le teorie ai fenomeni Secondo la visione sintattica dell’empirismo logico le teorie sono spiegate nei termini della loro forma logica Temi filosofici dell’informatica Contro i modelli 4 Nella visione sintattica i modelli sono irrilevanti per la scienza e, al massimo, possono avere un ruolo pedagogico, estetico o psicologico Per Rudolf Carnap i modelli hanno valenza didattica ed eventualmente euristica, ma non sono essenziali per la corretta applicazione di una teoria fisica Per Pierre Duhem i modelli introducono confusione perché consentono rappresentazioni diverse dello stesso fenomeno Temi filosofici dell’informatica Qualcosa comincia a cambiare 5 A partire dagli anni ’50 alcuni filosofici britannici (R. Braithwaite, M. Hesse, E. Hutten) cominciano ad interessarsi ai modelli e al loro ruolo nella concettualizzazione e nella spiegazione scientifica Questo interesse è motivato da un’attenzione alla pratica scientifica e all’uso delle teorie scientifiche piuttosto che dalla loro semantica o ricostruzione logica Questi filosofi tentano di passare da una caratterizzazione statica a una dinamica delle teorie scientifiche viste come strutture in evoluzione e non come sistemi logici Temi filosofici dell’informatica Teorie: la visione semantica 6 Dagli anni ’60 la filosofia della scienza comincia ad occuparsi di modelli In particolare ci si chiede che cosa siano e quale rapporto abbiano con le teorie La visione semantica delle teorie (di cui P. Suppes, B. van Fraassen e R. Giere sono i maggiori proponenti) considera le teorie come famiglie di modelli e non come calcoli formali Temi filosofici dell’informatica Hesse: modelli e analogie 7 I modelli non possono essere considerati come descrizioni letterali della natura, ma stanno in una relazione di analogia con la natura I modelli descrivono solo certi aspetti di qualcosa in natura ma non altri e, in alcuni casi, distorcono (semplificazione, idealizzazione) intenzionalmente la descrizione La Hesse (1966) analizza il contributo dei modelli alla creatività nella scoperta scientifica ed è in questo contesto che sostiene che i modelli siano delle metafore Queste metafore sono costruite sulla base delle analogie che esistono fra il dominio di ciò che deve essere spiegato e il dominio utilizzato per spiegarlo Temi filosofici dell’informatica Metafore: che cosa sono 8 Il termine ‘metafora’ deriva dal greco e letteralmente significa ‘trasportare altrove’ (Il termine metafora nasce a sua volta da una metafora …) La metafora è una figura retorica che consiste nel trasferire a un oggetto il termine proprio di un altro oggetto secondo un rapporto di analogia Le metafore sono comuni nel linguaggio quotidiano Alberto è un coniglio (un’aquila, un carro armato, …) La Grecia classica fu un faro di civiltà La vita è un viaggio Temi filosofici dell’informatica Metafore: come funzionano 9 Un enunciato metaforico è composto da due oggetti distinti: l’oggetto primario e l’oggetto secondario Entrambi gli oggetti esprimono un insieme di idee comuni e condivise che gli sono associate e che possono essere comprese diffusamente Le parole usate come oggetti primari e oggetti secondari variano nel loro significato e ognuna di esse impegna all’accettazione di un sistema di credenze standard ad essa relative Temi filosofici dell’informatica Un esempio 10 Nella metafora ‘la vita è un viaggio’, ‘vita’ sta come sistema primario e ‘viaggio’ come sistema secondario Ognuno dei sistemi è associato a diverse idee sulla vita e sui viaggi, tutte comunemente accettate e sufficientemente note Il sistema-vita e il sistema-viaggio sono messe insieme dalla metafora che organizza la nostra visione relativa al sistema primario Le idee e le credenze associate al sistema secondario sono trasferite a quello primario Il sistema primario è visto attraverso il framework del sistema secondario La vita come viaggio è vista così come avventurosa, godibile, ecc. Temi filosofici dell’informatica Modelli scientifici come metafore 11 Hesse applica questo schema di funzionamento delle metafore al contesto scientifico Il dominio di ciò che deve essere spiegato (explanandum) è visto come il sistema primario descrivibile in termini osservativi Il sistema secondario è il sistema dal quale è preso il modello ed è descritto o in linguaggio osservativo o nel linguaggio di una teoria familiare Il sistema primario è così visto attraverso il modello fornito dal sistema secondario Nei contesti scientifici ai due sistemi possono essere associate non solo delle credenze, ma tutta una rete di leggi naturali Temi filosofici dell’informatica Un esempio 12 Il modello a palle da biliardo della teoria cinetica dei gas costituisce un esempio dell’applicazione del concetto di metafora alla concettualizzazione scientifica Molecole di gas modellate come palle da biliardo che si muovono a caso e urtano l’una contro l’altra Il sistema primario (molecole di un gas ideale) è visto nei termini di un sistema secondario (palle da biliardo) Qual è la relazione fra i due sistemi? Non una relazione uno a uno, ma una relazione di analogia Temi filosofici dell’informatica Analogie 13 La relazione di analogia fra il sistema primario e il sistema secondario può essere Analogia negativa: costituita dalle proprietà che appartengono a un sistema ma non a un altro Per esempio rigidità delle palle da biliardo Analogia positiva: costituita dalle proprietà che appartengono a entrambi i sistemi Per esempio movimento e impatto Sia le analogie negative sia quelle positive implicano che si conoscano già quali siano le proprietà nella nuova teoria sviluppata Temi filosofici dell’informatica Analogie neutre 14 Analogia neutra: insieme delle proprietà di cui non si sa se costituiscono analogie positive o negative Sono queste analogie che permettono di estendere la nuova teoria e hanno un ruolo creativo Ci si può domandare, ad esempio, se una specifica proprietà delle palle da biliardo appartenga alle molecole del gas e progettare opportuni esperimenti per trovare risposta Questa visione dei modelli come metafore supporta una visione ipotetica dei modelli e la loro propensione nel suggerire ulteriori sviluppi teorici Temi filosofici dell’informatica Metafore e linguaggio scientifico 15 In generale le metafore sono largamente utilizzate nel linguaggio scientifico Il cervello è un computer, la mente il suo programma (scienze cognitive) Gioco linguistico (linguistica) Le funzioni della metafora nel linguaggio scientifico possono essere molteplici, tra cui Favorire la comprensione intuitiva di concetti astratti Suggerire analogie utili Aprire nuove prospettive di ricerca Appare chiaro che le metafore hanno un valore euristico Temi filosofici dell’informatica La funzione delle metafore 16 Posizioni estreme: nel linguaggio scientifico la metafora è sempre dannosa e non andrebbe mai utilizzata la metafora è ineliminabile dal linguaggio scientifico Posizione intermedia: le metafore sono utili per il loro valore euristico nella fase pionieristica di un concetto innovativo ... ... ma vanno gradualmente eliminate e trasformate in definizioni letterali Temi filosofici dell’informatica Svelare/criticare/eliminare 17 Svelare una metafora Esplicitare i tratti salienti messi a tema dalla metafora Le proprietà del sistema primario che si vogliono mettere in luce attraverso il sistema secondario (la mente è un programma) Criticare una metafora Mettere in luce le analogie suggerite dalla metafora e valutarne l’utilità Identificare le nuove prospettive di ricerca aperte dalla metafora e valutarle Eliminare una metafora Rimpiazzare il significato metaforico con una definizione letterale del termine Che cosa significa, ‘fuor di metafora’, che la mente è un programma? Sistema fisico di simboli Temi filosofici dell’informatica Metafore e informatica 18 Dal ruolo delle metafore nella concettualizzazione e nella spiegazione scientifica … … alle metafore dell’ingegneria informatica Il concetto di agente come esempio Temi filosofici dell’informatica Il termine agente “Agente” Termine tecnico dell’informatica Usato in modo analogo al termine “oggetto” 19 Sistema ad oggetti, sistema ad agenti Object oriented programming (OOP)/agent oriented programming (AOP) Come è usato il termine? In senso letterale? In senso metaforico? Che cosa significa esattamente? Temi filosofici dell’informatica Termini letterali La definizione letterale di un termine può essere basata su: Un insieme di condizioni necessarie e sufficienti Esempi: forza (fisica), molecola (chimica), array (informatica) Un insieme di tratti salienti 20 Esempi: nevrotico ossessivo (psicologia), oggetto (informatica) Nella scelta iniziale del termine può essere presente una componente metaforica Nella fisica, per esempio, forza, lavoro, energia, onda, campo Nell’informatica, per esempio, pila, oggetto, scrivania, cartella, cestino Nell’uso tecnico, tuttavia, il valore metaforico originario è irrilevante Temi filosofici dell’informatica 21 “Agente” Nel linguaggio informatico “agente” è a tutt’oggi un termine utilizzato in modo metaforico Disvelamento: quali tratti salienti mette a tema? Critica: quali analogie suggerisce e quali prospettive apre? Eliminazione: è possibile rimpiazzare la metafora (pur riconoscendone l’utilità) sostituendola con una definizione rigorosa? La metafora Agente informatico individuo (essere umano, organizzazione umana, organismo animale) in azione, eventualmente all’interno di un gruppo Temi filosofici dell’informatica Disvelamento 22 Tratti salienti messi a tema dalla metafora Autonomia Razionalità, intelligenza (reattività, proattività, capacità di ragionamento) Capacità di relazionarsi con altri agenti (gruppi di interazione temporanei o permanenti) Responsabilità (anche legale) … Temi filosofici dell’informatica 23 Critica Gli attributi messi a tema sono complessi e difficili da definire È utile ragionare per analogia con gli agenti umani? Una nuova prospettiva per la concettualizzazione e lo sviluppo di sistemi distribuiti Porta vantaggi effettivi? Temi filosofici dell’informatica Eliminazione 24 È possibile eliminare la metafora? Agente def sistema che esegue azioni Azione def ??? Un possibile punto di partenza Certi sistemi (in particolare certi sistemi biologici come gli esseri umani) possono realizzare intenzionalmente degli eventi Alzare un braccio, aprire una porta, rompere un vetro scagliandogli contro un sasso Un’azione è un evento realizzato intenzionalmente da un sistema x e si dice allora che x esegue l’azione Il sistema che esegue l’azione a si dice attore di a Un sistema in grado di eseguire azioni si dice agente Temi filosofici dell’informatica Quattro concetti primitivi 25 La definizione di agente poggia su quattro concetti primitivi Sistema Evento Realizzare Intenzionalmente In ambito informatico Possiamo dare definizioni rigorose di questi concetti? Oppure il loro uso è a sua volta metaforico? In altri termini: cercando di eliminare la componente metaforica di “agente” ci imbattiamo in altre metafore difficili da eliminare? Temi filosofici dell’informatica Sistema, evento 26 Nell’informatica un sistema è un processo, inteso come un programma in esecuzione Un evento è un cambiamento nello stato di un processo Un cambiamento di valore di una variabile Un cambiamento in una struttura dati dinamica … In ogni sistema informatico certi cambiamenti possono essere definiti a priori come eventi Nell’informatica “sistema” ed “evento” sono termini letterali e non metaforici Temi filosofici dell’informatica 27 Realizzare In prima approssimazione “realizzare” equivale a “causare” In generale il concetto di causa è molto difficile da analizzare Nei sistemi informatici possiamo dire che un evento è causato da un processo x … … quando l’evento si verifica come effetto dell’evoluzione del processo x … … ovvero quando l’evento si verifica come effetto dell’esecuzione di istruzioni appartenenti al programma x In questo senso, “realizzare” sembra essere un termine letterale e non metaforico Temi filosofici dell’informatica Intenzionalmente 28 Che cos’è un’intenzione e che cosa vuol dire “realizzare intenzionalmente”? Il concetto è ragionevolmente chiaro nel caso dell’azione umana, tant’è che viene utilizzato in ambito legale, per es. Omicidio volontario: causare intenzionalmente la morte di una persona Omicidio preterintenzionale: causare la morte di una persona non intenzionalmente, ma come conseguenza di un tentativo intenzionale di nuocerle Omicidio colposo: causare la morte di una persona non intenzionalmente, come conseguenza di un’azione non diretta a danneggiare la vittima, ma di cui si è sottovalutata la pericolosità Temi filosofici dell’informatica Le intenzioni 29 Definire le intenzioni in ambito informatico non è semplice Ci sono due possibilità Riuscire a definire il termine “intenzione” come fatto per i termini precedenti (“sistema”, “evento”, “realizzare”) In tal caso abbiamo eliminato la componente metaforica del termine “agente” pur conservando la definizione originale di agente come sistema che esegue azioni Non riuscire a definire il termine; in questo caso si hanno ancora tre possibilità Trovare una definizione alternativa di agente utilizzabile nell’informatica Continuare a usare “agente” come termine metaforico Abbandonare il termine Temi filosofici dell’informatica Quattro posizioni filosofiche (1) 30 Le intenzioni sono stati mentali Ciò significa che le intenzioni sono stati soggettivi (come la felicità o il mal di denti) e quindi intrinsecamente inosservabili Naturalismo biologico (John Searle) Come tutti gli stati mentali, le intenzioni sono reali … … e intrinsecamente legate al fenomeno della coscienza e al cervello che lo causa Convenzionalismo (Daniel Dennett) Forse le intenzioni sono reali o forse non lo sono … … ma è comunque utile attribuire intenzioni agli agenti (naturali o artificiali) per spiegare e prevedere i loro comportamenti Temi filosofici dell’informatica Quattro posizioni filosofiche (2) 31 Eliminativismo (Paul Churchland) Il termine “intenzione” appartiene al linguaggio quotidiano, non al linguaggio scientifico … … e va sostituito con termini che fanno riferimento a entità osservabili (come gli stati del sistema nervoso) Funzionalismo (Hilary Putnam) Un’intenzione è qualsiasi cosa che abbia un ruolo di tipo ben determinato (e da specificare) nel processo che causa il comportamento osservabile del sistema Il funzionalismo sembra essere la posizione più promettente in relazione a questa discussione Temi filosofici dell’informatica La funzione delle intenzioni 32 In una serie di articoli e poi nel testo Intentions, Plans, and Practical Reason (1999), Michael Bratman ha analizzato la funzione delle intenzioni Il lavoro di Bratman ha influenzato i ricercatori di IA che hanno formulato il concetto di agente BDI (Beliefs, Desires, Intentions) al centro di una famiglia di modelli formulati e studiati in termini logico-modali Per Bratman un’intenzione è essenzialmente Un piano di azione diretto al raggiungimento di un obiettivo (desire) … costruito in base alle credenze dell’agente (beliefs) … … con la funzione fondamentale di dare stabilità e coerenza all’azione Temi filosofici dell’informatica Conseguenze per il concetto di agente (1) 33 Autonomia Un agente può sviluppare piani d’azione (intentions) per raggiungere i propri obiettivi (desires) a seconda delle circostanze (rappresentate dai beliefs) Razionalità Un agente può massimizzare l’utile atteso dei propri piani d’azione Un agente deve bilanciare l’opportunità di reagire immediatamente agli eventi esterni (reattività) con la capacità di anticipare del futuro (proattività) Temi filosofici dell’informatica Conseguenze per il concetto di agente (2) 34 Relazioni con gli altri agenti Linguaggio di comunicazione, la cui semantica è a sua volta basata sui modelli BDI Responsabilità I modelli BDI non affrontano il problema della responsabilità (obblighi, ecc. derivanti dai ruoli) Temi filosofici dell’informatica La situazione attuale 35 I modelli BDI hanno avuto un certo successo nella letteratura scientifica, ma non sembrano avere influenzato decisamente la pratica professionale Il concetto informale di agente BDI è considerato utile, in certi ambiti applicativi, per progettare sistemi distribuiti In questi casi il concetto di agente BDI è utilizzato comunque non in senso formale, ma in senso metaforico Al momento non esiste ancora una definizione letterale di agente paragonabile, per esempio, alla definizione di oggetti in C ++ o Java Temi filosofici dell’informatica Direzioni per il futuro 36 Mantenere il termine “agente” come termine metaforico facendo bene attenzione che siano chiari i tratti salienti messi a tema dalla metafora In questa direzione sarebbe quindi più sensato parlare di agenti come paradigmi informatici piuttosto che tecnologie Cercare approcci alternativi alla definizione del concetto di agente e valutare se in questi casi si possa eliminare l’uso metaforico e passare a uno letterale Un approccio alternativo, ad esempio, può basarsi sullo spostare l’attenzione dai processi interni di un agente (che coinvolgono credenze, desideri, intenzioni) … … ai processi esterni che si manifestano nelle interazioni fra gli agenti membri di un gruppo (temporaneo o permanente) Posizione intermedia: agenti fra paradigmi e tecnologie Temi filosofici dell’informatica 37 Bibliografia Bailer- Jones, D. (1999), “Tracing the development of models in the philosophy of science” in Magnani, L. et al. (Eds.) Model-Based Reasoning in Scientific Discovery, Kluwer Academic Press, 23-40 Bratman, M. (1999) Intentions, plans, and practical reason, CSLI Publications, Stanford, CA Hesse, M. (1966), Models and Analogies in Science, University of Notre Dame Press, Indiana Suppes, P., (1967), “What is a scientific theory?” in Morgenbesser, S. (Ed.) Philosophy of Science Today, Basic Books, 55-67 Temi filosofici dell’informatica