Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli

Intelligenza Artificiale, Web Semantico e Problem Solving - Appunti lezioni 2022, Appunti di Tecniche Di Intelligenza Artificiale

Appunti delle lezioni del corso Intelligenza Artificiale, Web Semantico e Problem Solving, dell'anno 2022

Tipologia: Appunti

2021/2022

Caricato il 03/12/2022

Anita.Brac
Anita.Brac 🇮🇹

4.3

(9)

1 / 112

Toggle sidebar

Spesso scaricati insieme


Documenti correlati


Anteprima parziale del testo

Scarica Intelligenza Artificiale, Web Semantico e Problem Solving - Appunti lezioni 2022 e più Appunti in PDF di Tecniche Di Intelligenza Artificiale solo su Docsity! UNIBO 2022/2023 INTELLIGENZA ARTIFICIALE, WEB SEMANTICO E PROBLEM SOLVING Docente: Libri da leggere per esame: Testi obbligatori: - S. Russell, P. Norvig, Intelligenza artificiale. Un approccio moderno, volume 1, Pearson-Italia, Milano-Torino, quarta edizione, 2021 (capitoli 1, 2, 3, 4, 7, 8, 9, 10, 11, 26, 27, 28). - M. Marraffa, Percezione, pensiero, coscienza. Passato e futuro delle scienze della mente, Rosenberg & Sellier, Torino, 2019. Letture suggerite: - N. Bostrom, Superintelligenza. Tendenze, pericoli, strategie, Bollati Boringhieri, Torino, 2018. - M. Marraffa, A Paternoster, Persone, menti, cervelli, Mondadori, Milano, 2012. - G. Primiero, On the Foundations of Computing, Oxford University Press, Oxford, 2020. - F. Rossi, Il confine del futuro. Possiamo fidarci dell'intelligenza artificiale, Feltrinelli, Milano, 2019. - G. Tamburrini, Etica delle macchine. Dilemmi morali per robotica e intelligenza artificiale, Carocci, Roma, 2020. Filmografia: 1. Her 2. Robocop 3. Transcendence 4. Ex machina 5. West war Modalità verifica dell’apprendimento: Primo appello valido novembre/dicembre – un appello al mese https://virtuale.unibo.it/course/view.php?id=40451 Sommario cos’è l’intelligenza artificiale?......................................................................................................7 (non) definizioni......................................................................................................................................7 Cos’è l’artificiale?....................................................................................................................................8 Riassunto introduzione...........................................................................................................................9 Domande per capire..............................................................................................................................11 Antefatti filosofici e non.............................................................................................................11 Il modello di Cartesio: dal dubbio al cogito...........................................................................................14 MIND BODY PROBLEM..........................................................................................................................14 La nascita della psicologia scientifica.........................................................................................15 Kant......................................................................................................................................................15 Dopo Kant.............................................................................................................................................15 Introspezionismo..................................................................................................................................16 Retrospezionismo.................................................................................................................................16 Associazionismo (John Stuart Mill)........................................................................................................16 Wundt e il progetto della psicologia scientifica.....................................................................................16 Freud e l’Inconscio................................................................................................................................17 L’influenza della fisica...........................................................................................................................17 La gestazione dell’AI (1943-1956)..........................................................................................................18 Cibernetica.................................................................................................................................18 I sistemi cibernetici/le macchine...........................................................................................................18 Esempi di sistemi che si autoregolano...................................................................................................20 La cibernetica.............................................................................................................................20 La cibernetica e le macchine..................................................................................................................21 Esempi di sistemi che si autoregolano......................................................................................................................21 Effetti di retroazione positiva e negativa...............................................................................................22 Due contributi paralleli.........................................................................................................................22 Cibernetica al lavoro: Esempio di artefatto cibernetico...............................................................25 Cibernetica e proto-robot.....................................................................................................................26 Interdisciplinarità: tre intermezzi per definire l’AI.......................................................................27 INTERMEZZO 1 - mente e rappresentazioni...........................................................................................27 INTERMEZZO 2 - mente e linguaggio.....................................................................................................27 INTERMEZZO 3 - mente e socialità........................................................................................................30 Scienza cognitiva........................................................................................................................31 Manifesto per l’AI: Proposta di Dartmouth.................................................................................31 Due anime dell’ai..................................................................................................................................32 Apprendimento (machine learning)......................................................................................................80 Logic theorist e general problem solver................................................................................................81 Gps: general problem solver.................................................................................................................82 Programma checkers di Samuel (1959).......................................................................................83 Advice Taker di McCarthy...........................................................................................................83 Frame problem.....................................................................................................................................84 Aspirazione alla generalità....................................................................................................................84 Intelligenza artificiale generale..................................................................................................84 Elementi della GAI.................................................................................................................................85 Linguaggio naturale...............................................................................................................................85 Rappresentazione della conoscenza...........................................................................................85 Rappresentazione della conoscenza e logica proposizionale.................................................................86 Rappresentazione della conoscenza e logica dei predicati....................................................................87 La semantica..............................................................................................................................88 Reti semantiche di Quillian...................................................................................................................88 Concetti e strutture....................................................................................................................92 Ludwig Wittgenstein.............................................................................................................................92 Idee di concetto....................................................................................................................................93 Frame....................................................................................................................................................93 Frame problem.....................................................................................................................................94 Adeguatezza rappresentazionale...............................................................................................95 SHRDLU (Winograd, 1972).....................................................................................................................95 Etarchia.................................................................................................................................................97 Sistemi.......................................................................................................................................97 Sistemi a regole di produzione..............................................................................................................97 Sistemi esperti......................................................................................................................................98 Linguaggi di programmazione....................................................................................................99 Conoscenza e concetti..............................................................................................................100 La questione della conoscenza............................................................................................................100 Il concetto...........................................................................................................................................100 La fine dell’ipotesi del sistema fisico simbolico PSS.............................................................................101 Fine anni 70 e inizi 2000......................................................................................................................102 Le critiche dell’AI......................................................................................................................102 Le reti neurali......................................................................................................................................103 Cosa sono?..........................................................................................................................................103 Come funziona una rete neurale.........................................................................................................103 Espansione Verticale...............................................................................................................................................103 Critiche al funzionalismo.....................................................................................................................104 Eliminativismo.....................................................................................................................................104 Etica dell’intelligenza artificiale................................................................................................108 Etica delle conseguenze.......................................................................................................................108 Veicoli autonomi.................................................................................................................................108 Etica dei doveri o delle virtù................................................................................................................109 Armi autonome...................................................................................................................................110 APPROFONDIMENTI.................................................................................................................111 COS’È L’INTELLIGENZA ARTIFICIALE? È la disciplina che mira a costruire artefatti artificiali di tipo softweristico, sistemi che siano in grado di comportarsi in maniera autonoma. Dispositivi sia reali che virtuali. È quella disciplina che ha l’obiettivo di costruire artefatti in maniera intelligente. Cos’è l’intelligenza? La capacità di risolvere problemi, imparare velocemente e imparare dall’esperienza. Ci sono due modi di definire un sistema intelligente: - S.I. che fa compiti cognitivamente intelligenti come un essere umano - S.I. che fa qualcosa che giudichiamo intelligente indipendentemente da come lo faccia Ad esempio, tendiamo a definire intelligenti i motori di ricerca che rispondono immediatamente alle nostre domande indipendentemente da come effettivamente lo facciano. L’intelligenza artificiale è una materia multidisciplinare: ingegneristica e umanistica. Non è né filosofica, né filosofia: tutto ciò che c’è di filosofico è l’interdisciplinarità, le ricerche avvengono in parallelo alla riflessione e al pensiero, concetti filosofici con cui c’è un confronto ma non può dare risposte filosofiche, non trova risposte a quesiti filosofici. Possiamo al massimo dire che “la filosofia ha a che fare con l’ai”: oggi per affrontare tematiche filosofiche ma anche sociologiche, culturali, ecc. non si può prescindere almeno delle idee e dei meccanismi che riguardano l’ai. Viviamo in un mondo in cui l’ai è pervasiva e non trasparente. Questo è un problema molto sentito soprattutto a livello nazionale, perché avere a che fare con l’ai crea un certo tipo di rapporto tra i cittadini comuni e organizzazioni, aziende, ecc. Oggi siamo incorporati in un mondo molto più dualista, che si fa carico di due realtà: di tipo reale e virtuale. Quello che conosciamo come metaverso è anche rebranding di social e web, questo perché le app di ai oggi riescono a trattare in maniera autonoma grandi quantità di dati che prima nemmeno esistevano. Cos’hanno in comune un sistema di controllo gerarchico schematizzato, un cervello stilizzato disegnato come circuito, dei dati binari e un robot? Parliamo di un insieme di moduli pensati per svolgere determinate funzioni che interagiscono secondo delle relazioni, di un’immagine che descriva la computizzazione dell’attività celebrare di dati e robot che hanno in comune il concetto di ai. L’unione di due o più elementi tra questi dà vita all’ai. Un robot di per sé non è ai ma lo diventa con l’unione a tutto il resto, viceversa per le altre 3 immagini. Quando si parla di robotica industriale non si parla di ai: con la dicitura robotica industriale si intende una serie di macchine avanzate utilizzate all’interno delle industrie per svolgere compiti difficili e complessi in modo sicuro ed efficiente. L’automazione industriale permette di sostituire gli uomini e le donne all’interno delle fabbriche, con macchine progettate appositamente per le applicazioni nei luoghi di produzione. Ciò, però, non implica l’elaborazione di dati o la capacità di fronteggiare gli ostacoli. (non) definizioni Non abbiamo una definizione di Intelligenza Artificiale poiché si tratta di una disciplina in costante crescita e aggiornamento. Per meglio dire, abbiamo tante definizioni ma nessuna che possa essere LA definizione. Fanno tutte riferimento alla replica di facoltà cognitive, o di alto livello, umane (linguaggio, comprensione, pensiero speculativo, creatività, problem solving ecc). In questi anni c’è grande uso dell’ai in campo medico, scientifico e di assistenza, perché viviamo in una società che invecchia. Non siamo del tutto consapevoli di quello che l’ai può fare ma in realtà siamo più avanti di quanto ci rendiamo conto. COS’È L’INTELLIGENZA È la capacità di risolvere problemi, imparare velocemente e imparare dall’esperienza. Con Cartesio ha inizio la dicotomia tra emozioni e intelletto, per cui vengono messe a confronto: - Intelligenza (Ryle): concetto discusso molto da fine 800, studiato poi dal punto di vista filosofico. - Razionalità (Simon): tema più tecnico che studia e riguarda il modo in cui gli esseri umani prendono delle decisioni. È un’idea ripresa dallo studio del comportamento che gli esseri umani assumono in un contesto economico (fare la scelta migliore, massimizzare i guadagni, ecc…) COS’È L’ARTIFICIALE Anche le risposte a questa domanda cambiano nel tempo poiché cambia l’idea di macchina e meccanismo che in epoca moderna diventa paradigma della conoscenza scientifica. Aristotele fu il primo a parlare di differenza tra naturale e artificiale. CI SONO DUE MODI PER DEFINIRE UN SISTEMA INTELLIGENTE - S.i. che fa compiti cognitivamente intelligenti come un essere umano - S.i. che fa qualcosa che giudichiamo intelligente DA INTELLIGENTE AD AUTOMATICO Agli inizi il focus era sul termine intelligenza, oggi sulla nozione di autonomia. Ma, i prodotti automatici hanno delle criticità: ad esempio, difficoltà nell’identificare un responsabile. ROBOTICA INDUSTRIALE VS AI Con robotica industriale si intende l’insieme delle macchine avanzate utilizzate all’interno delle industrie per svolgere compiti difficili e complessi in modo sicuro ed efficiente. Permette di sostituire uomini e donne all’interno delle fabbriche con macchine progettate appositamente. Ciò non implica l’elaborazione di dati, che è invece caratteristica dell’intelligenza artificiale. CIBERNETICA (DALLA ROBOTICA ALL’AI) L’evoluzione di cibernetica e macchine è fondamentale per arrivare a comprendere nuove forme di ai. La robotica sono artefatti costruiti dall’uomo che fin dall’antichità vengono prodotti cambiando di possibilità col tempo. Il rapporto tra uomo e macchina va avanti da sempre: prima della tecnologia c’era la tecnica seppur considerata di più basso livello. Solo nel nostro ultimo secolo psicologia, mente e cognizione sono diventate interesse di discipline applicative e tecnologiche. Tutto ciò che era tecnica, tecnologia, rivoluzione industriale si è unito alle scienze cognitive. ACCENNI DI FILOSOFIA Alle radici della filosofia moderna troviamo diversi scrittori e studiosi come Cartesio, Hobbes, Hume, Kant. Con loro si gettano le basi per l’AI che si compone di: - Psicologia scientifica: nuova scienza, si occupa di studiare il modello della mente - Logica: dai neopositivisti l’AI è considerata di per sé logica Linguaggio: se ne occupa Oxford, in continua evoluzione fino alla linguistica computazionale Domande per capire CHE LEGAME C’È TRA L’AI E LE SCIENZE COGNITIVE? L’ai nasce ANCHE come tentativo di andare a comprendere e spiegare fenomeni mentali e cognitivi con un metodo completamente diverso, ossia quello della simulazione attraverso i calcolatori. Quindi attraverso la costruzione di modelli cognitivi, ossia programmi. COSA C’ENTRA LA FILOSOFIA? Tutto e niente. Da una parte è una disciplina che si è interessata all’ai come a una delle varie discipline cognitive tecnologiche che caratterizzano la contemporaneità. Dall’altra, la filosofia è in realtà interessata ad una materia che si occupa di materie tradizionalmente filosofiche all’interno di contesti estremamente diversi, come se l’ai avesse skippato i tempi della filosofia. QUALI SONO LE RIFLESSIONI EPISTEMOLOGHE2 SULL’AI? Si cerca di spiegare quali siano i metodi, i principi, gli oggetti di studio di questa materia. L’Ai è una disciplina che viene studiata in termini epistemologici. Il ruolo della filosofia è un ruolo di controllo, non solo di quello che l’AI fa con i concetti filosofici ma anche di quello che l’AI con i conetti filosofici ma anche di quello che la ai può produrre in relazione alle ricadute teoriche della filosofia, ovvero  faccio ricerche sull’ai e scopro teorie filosofiche, le confuto o le cambio! SCIENZE COGNITIVE L’insieme delle discipline che hanno per oggetto lo studio dei processi cognitivi umani e artificiali (intelligenza artificiale, psicologia cognitiva, linguistica, psicolinguistica, filosofia della mente e del linguaggio, neuroscienze, antropologia). ANTEFATTI FILOSOFICI E NON 2 Epistemologia: Lo studio critico della natura e dei limiti della conoscenza scientifica, con particolare riferimento alle strutture logiche e alla metodologia delle scienze. – Epistemologia genetica, disciplina introdotta dallo psicologo J. Piaget (1896-1980), che studia i processi cognitivi umani ricostruendo le fasi del loro sviluppo nell'individuo, dall'infanzia all'età adulta. Molti concetti possono essere collegati allo studio dell’AI, sia concetti analizzati nell’antichità che concetti più nuovi nati nell’ultimo secolo. 1. Artificiale I pensatori si chiedevano “Che cos’è l’artificiale?” È una domanda che cambia nel tempo:  Nell’800 viene considerato artificiale tutto ciò che si produce. Questo pensiero è influenzato dai cambiamenti sociali dovuti alla rivoluzione industriale.  Nell’ultimo secolo anche tutto ciò che è biologico si assume che possa essere prodotto artificialmente Oggi consideriamo artificiale qualcosa di meccanico che è in grado di risolvere un compito in maniera meccanica e intelligente. 2. Macchine e robotica La cibernetica e le macchine ci aiutano a capire come nasce l’AI. Una parte di queste evoluzioni si collega alla storia della robotica  artefatti costruiti dall’uomo che sono macchine considerate robotiche fin dall’antichità. 3. Rapporto Uomo-Macchina Anche il concetto di rapporto uomo-macchina va avanti da sempre. Prima si parlava di tecnica e oggi di tecnologia, e per tecnica si intendeva l’utilizzo di strumenti. 4. Scienze Cognitive Nell’ultimo secolo tuto ciò che è tecnica, o tecnologica, o industria si connette alle scienze cognitive. Ovvero quella disciplina che si occupa di studiare i fenomeni mentali (prima era dominio esclusivo della filosofia e poi della psicologia), in un’ottica più scientifica. Infatti, già diversi autori e filosofi come Descartes, Hobbes, Hume, Kant…si sono occupati di fornire quello che oggi chiamiamo un modello della mente, del suo funzionamento. 5. La logica Un altro elemento fondamentale per lo studio dell’AI è la logica, dato che è una materia logica (programmazione). 6. Il linguaggio Il ruolo del linguaggio  studio sulla lingua che è evoluto in quella che oggi si chiama linguistica computazionale. Riflessioni sulle nozioni di:  Intelligenza, discusso già dall’800 poi viene studiato anche da un punto di vista filosofico.  Razionalità, tema più tecnico e studia come l’uomo prende decisioni (Simon). È un’idea ripresa dallo studio del comportamento che gli esseri umani assumono in un contesto economico (fare la scelta migliore, massimizzare i guadagni,ecc…) Che legame c’è tra Ai e scienze cognitive? In epoca moderna fisico e mentale non sono più due mondi platonici, l’immagine scientifica e dualistica cominciano a divergere. La dualistica è di resistenza rispetto al sostenere che si possa studiare l’essere umano studiando la sua fisicità. Negli stessi anni in cui Cartesio propone il suo modello si inizia a sostenere che pensiero e ragionamento possano essere ridotti a un calcolo: non abbiamo delle idee confuse ma di fatto il pensiero razionale è tale perché è una serie di operazioni e di calcoli obiettivi. Hobbes e Leibniz  da questa idea fanno nascere la materia della logica e del pensiero. Hobbes parla di addizioni e sottrazioni per descrivere le controversie, collega il ragionamento con il calcolo. Il nostro ragionamento è un sottrarre o addizionare. La macchina è un dispositivo di calcolo. L’idea è che la logica sia un calcolo formale ed è la scienza che ci dice come ragioniamo e come pensiamo. Questa stessa idea sta anche alla base della domanda di Turing: “le macchine possono pensare?” Nascono due diverse correnti di pensiero, l’una opposta all’altra: - RAZIONALISMO: basato sullo studio della ragione  concetti Il fondamento delle conoscenze sta nelle capacità razionali e nelle idee. - EMPIRISMO: è la credenza nella percezione dei sensi  intuizioni Le conoscenze derivano dal mondo esterno attraverso la percezione. Rifiutano la nozione di idee innate, si tratta di intuizioni, le idee derivano esclusivamente dall’esperienza sensoriale. LA NASCITA DELLA PSICOLOGIA SCIENTIFICA Kant Ci dà il primo modello cognitivo completo. Afferma che la nostra conoscenza è fatta di intuizione e concetti. Questa unione che fa Kant lancia le prime basi per una psicologia di tipo scientifico. Per Kant il pensiero è strettamente legato all’esperienza e parla di due concetti: il fenomeno, ciò che è manifesto e possiamo vedere e il noumeno, qualcosa che non possiamo vedere e quindi non possiamo mai conoscere. L’uomo, quindi, ha dei limiti e può conoscere solo ciò che è fisico, e dal momento in cui il noumeno fa parte della metafisica, è qualcosa di non conoscibile. Se l’uomo inizia ad occuparsi della metafisica non arriva ad una conoscenza ma a una pseudo-conoscenza. In parole povere: tutto ciò che noi non possiamo vedere non ci deve interessare ed è inutile perché non potremmo MAI sapere la verità. Dopo Kant Alcuni studiosi nati nel contesto europeo, sul solco kantiano decidono di fondare una psicologia di tipo scientifico. Partendo dal modello di Kant sono andati a studiare come funziona la percezione e cosa c’è tra lo stimolo e la risposta. Si propongono di andare a studiare il modo in cui determinati stimoli generano determinate situazioni e percezioni e le traducono in leggi scientifiche. In un’ottica sempre del mondo culturale tedesco ottocentesco Bretano rifiuta l’idealismo e dà il via a tutta quella parte di riflessione contemporanea sul linguaggio la mente la logica: riprende Aristotele e, essendo maestro di Husserl e svariati altri psicologi dell’area tedesca, contribuisce a fondare buona parte della filosofia della mente 800centesca. Brentano non era uno psicologo ma parte da un testo psicologico Psychologie vom empirischen Standpunkt in cui sostiene che l’osservare gli oggetti dell’esperienza interna significa immediatamente modificarli. Chiunque avesse provato a osservare la propria esperienza in atto, si sarebbe trovato a riflettere su una ricostruzione ipotetica dell’esperienza stessa.3 Da questo momento in poi, tutti si interessano a spiegare in modo più tecnico e scientifico come funziona il pensiero. Se ne occupano Wundt, James, Stuart e Mill. Introspezionismo Parlano di psicofisica, leggi scientifiche che descrivono l’andamento psicofisico, come il mio sistema di conoscenza si comporta quando percepisce determinati stimoli, attraverso un metodo introspettivo. Il problema è che è un metodo soggettivo. Studiano sé stessi per dare delle leggi ma si rendono conto che ognuno dà una legge diversa, quindi il metodo non funziona Retrospezionismo James propone il retrospezionismo  prima si fanno cose e poi si spiega quello che si sente. È un introspezionismo rivolto al passato, a ciò che si è vissuto e si può conoscere. Quindi, mi sottopongo a uno stimolo e poi descrivo quello che ho vissuto: il problema del soggettivo persiste. Nella retrospezione, insomma, le manifestazioni psichiche non si dileguano nella corrente della coscienza ma rimangono sospese nella memoria. Ciò complica ancor più le cose: con la riduzione dell’introspezione alla memoria, la prima si carica di tutte le imprecisioni e distorsioni che rendono la seconda epistemicamente inaffidabile.4 Il metodo retrospettivo ha essenzialmente due difetti: 1. Consente di operare esclusivamente su ciò che il soggetto ricorda del fenomeno in studio 2. Il soggetto che ne fa uso può, senza averne intenzione, introdurre per associazione elementi estranei Associazionismo (John Stuart Mill) Si diffonde l’idea che i nostri concetti hanno una natura associativa, ovvero si associano percezioni ed esperienze. Il concetto che ha destituito di più è quello di associazionismo. L’idea che i nostri comportamenti, concetti abbiano un carattere associativo è un’idea che viene utilizzata anche nella costruzione dell’ai. Deriva dalle riflessioni di Locke e Hume: secondo cui non siamo logici pensatori; dunque, non potremmo mai arrivare ad una verità e una conoscenza oggettiva. Noi ci muoviamo più secondo l’idea che la psicologia è la scienza dell’esperienza interna. Per Locke, la mente è come tabula rasa e come le reti neurali viene addestrata. Le idee non sono confinate in un periodo e poi muoiono, si trasformano nel tempo. Wundt e il progetto della psicologia scientifica Il progetto di una psicologia come scienza sperimentale prese forma organica all’inizio degli anni Sessanta del XIX secolo, con l’opera di Wudnt. Sotto la sua guida, nel 1879 iniziò l’attività di quello che è considerato il primo laboratorio di psicologia. 5 3 Percezione, pensiero, coscienza, 2019, p. 12 4 Percezione, pensiero, coscienza, 2019, p. 13 5 Percezione, pensiero, coscienza, 2019, p. 11 COMPENDIO DI PSICOLOGIA DI WUDNT - INCIPIT Due sono le definizioni della psicologia, che predominano nella storia di questa scienza. Secondo l'una, la psicologia è "la scienza dell'anima": i processi psichici sono considerati come fenomeni dai quali si debba conchiudere all'esistenza di una sostanza metafisica, l'anima. Secondo l'altra definizione, la psicologia è "la scienza dell'esperienza interna", e però i processi psichici fanno parte di uno speciale ordine di esperienza, il quale si distingue senz'altro per ciò, che i suoi oggetti spettano all'"introspezione" o, come anche si dice in contrapposto alla cognizione ottenuta mediante i sensi esterni, spettano al senso interno. Freud e l’Inconscio Freud, neuropsicologo, considerato il padre della psicoanalisi. È noto per aver elaborato la teoria psicanalitica secondo la quale i processi psichici inconsci influenzano il pensiero, il comportamento umano e le interazioni tra individui. Ha un ruolo fondamentale perché ci dice che il nostro io ha 3 differenti modelli che agisce nella nostra vita.* *Io,es e super io, che insieme costituiscono la nostra personalità e il nostro comportamento. Es  è la parte più istintiva, è la parte più inconscia della personalità ed è quella predominante nell’infanzia. Si occupa di soddisfare i nostri bisogni più istintivi. Ma questa volotnà di soddisfare qualsiasi bisogno si contrappone (con la crescita e l’inserimento nella società) con il mondo reale e le questioni etiche e morali della società. Dunque, entrano in azione io e super io. Io si occupa di reprimere l’istintività dell’es per mantenere la sicurezza della persona e l’integrità nella società. È la parte razionale, che prende decisioni e risolve i problemi. Mantiene in equilibrio l’es e il super-io. Super Io  si sviluppa per ultimo ma è influenzato moltissimo dal rapporto con i genitori. È la parte che si occupa di giusto e sbagliato. È ciò che ci fa sentire in colpa, e l’ideale di persona che vorremo raggiungere. L’idea che esista un inconscio è un’idea dirompente, per Cartesio non c’è qualcosa di oscuro che rimane celato, il mondo esterno è qualcosa che conosciamo in maniera imprecisa ma i nostri pensieri li conosciamo tutti. Solo Freud mette in discussione l’idea di Cartesio. Questo assunto darà vita a gran parte della psicologia cognitiva che oggi consociamo e che sta anche alla base dell’ai. L’influenza della fisica Nella prima metà del 900 si assiste ad una frenata dell’entusiasmo, quando ci si accorge che questi psicologi producono leggi scientifiche soggettive e quindi diverse tra loro. Per avere una psicologia scientifica è necessario fare un parallelismo con la scienza per eccellenza: la fisica. L’analogia è che non vedo pensieri, ricordi e rappresentazioni, e non riesco a percepire gli stimoli di un altro individuo. Non posso studiare me allora studierò gli altri esseri viventi attraverso i comportamenti. Quindi se devo dare delle leggi scientifiche del comportamento psicologico che spieghino come agiscono gli esseri viventi, andrò a vedere che risposta danno sulla base di determinati stimoli. Esempi di sistemi che si autoregolano REGOLATORE DI WATT PER IL MOTORE A VAPORE (1788) L’invenzione del regolatore di Watt è stato uno degli impulsi alle rivoluzioni industriali perché permette di regolare la velocità di qualcosa in maniera automatica. Questo meccanismo, infatti, regolava in modo automatico la distanza tra le due macine che tendeva a cambiare in seguito ad ogni variazione di velocità del mulino. Ciò che prima doveva essere fatto a mano, grazie al regolatore di Watt ora viene fatto in modo automatico. Riveste una grande importanza nella storia della tecnica perché capostipite di una numerosa famiglia di apparecchi automatici di controllo. Prima di questo…. LA CIBERNETICA La cibernetica studia i meccanismi di controllo e trasmissione di informazioni nei sistemi viventi per riprodurli in artefatti artificiali. I sistemi di controllo nell’essere umano sono nel sistema nervoso. Viene studiato perché se dobbiamo andare a trovare un ambito in cui i compiti vengono svolti bene bisogna prendere ispirazione dal mondo vivente. Negli stessi anni si sviluppa la logica novecentesca che propone una sorta di teoria logica matematica per spiegare cosa è la computazione e quali sono i limiti. Norbert Wiener (1894-1964) è il principale cibernetico. Figura rappresentativa del suo periodo e studioso che si dedica a realizzare una serie di artefatti artificiali cibernetici che avranno usi in tempo di guerra, fino allo scoppio della bomba atomica. Forte pacifista, nel 1946 pubblicava “The Atlantic Monthly” una lettera intitolata Uno scienziato si ribella, con la quale consigliava a un ingegnere che gli aveva chiesto una copia di un suo lavoro scientifico di rivolgersi al governo americano e non a lui perché "il bombardamento di Hiroshima e Nagasaki ha reso evidente che fornire informazioni scientifiche può non essere un atto innocuo e può anzi comportare le più gravi conseguenze. Lo scambio delle idee, che è una delle grandi tradizioni della scienza, deve subire limitazioni quando lo scienziato diviene arbitro di vita e di morte».7 Wiener e altri ingegneri si rendono conto che per studiare queste cose devono usare termini psicologici, dall’altro lato, credono che debbano spostarsi più verso la scienza. Il comportamentismo viene abbandonato perché non riesce a spiegare molti fenomeni. 7 http://wpage.unina.it/leone.montagnini/LONGO_Avvenire.pdf La cibernetica e le macchine - Sistemi che si autoregolano al fine di adeguarsi a determinati standard di funzionamento o a determinati obiettivi ritenuti ottimali. - Causalità circolare: il cambiamento di una parte produce una variazione di tutto il sistema, ogni parte del sistema è influenzata da qualsiasi altra parte del medesimo. Ciascun dato è al tempo stesso stimolo e risposta. - Dalla casualità all’organizzazione: questi sistemi funzionano con un’organizzazione interna partendo dalla casualità. Lo stesso cervello funziona così: le nostre funzioni neurali si organizzano in modo da portare alla comprensione. - Feedback/retroazione negativa: è il principio cardine della cibernetica, il meccanismo mediante il quale un sistema che interagisce con l’ambiente si mantiene in uno stato stabile modificando opportunamente il proprio comportamento in risposta a variazioni dell’ambiente. Tutti gli organismi viventi utilizzano la retroazione negativa per sopravvivere. - Comportamento orientato allo scopo: i sistemi teologici ci permettono di analizzare il mondo vivente. Ci diamo degli scopi mentalmente o involontariamente. I meccanismi di feedback sono definiti come sistemi di controllo volti ad uno scopo. - Informazione: è il concetto attraverso cui descriviamo la dinamica di feedback, tutto ciò che fanno le macchine lo fanno sulla base delle informazioni Un esempio è il regolatore di Watt per il motore a vapore (1788), ma ci sono anche altri meccanismi che si basano sul feedback sciacquone, il microfono, le casse, la telecamera che punta sul suo stesso schermo. Non c’è dietro un pensiero Esempi di sistemi che si autoregolano REGOLATORE DI WATT PER IL MOTORE A VAPORE (1788) L’invenzione del regolatore di Watt è stato uno degli impulsi alle rivoluzioni industriali perché permette di regolare la velocità di qualcosa in maniera automatica. Questo meccanismo, infatti, regolava in modo automatico la distanza tra le due macine che tendeva a cambiare in seguito ad ogni variazione di velocità del mulino. Ciò che prima doveva essere fatto a mano, grazie al regolatore di Watt ora viene fatto in modo automatico. Riveste una grande importanza nella storia della tecnica perché capostipite di una numerosa famiglia di apparecchi automatici di controllo. WIENER E I SISTEMI BELLICI Wiener aveva avuto finanziamenti per studiare un sistema che permettesse ai missili di andare verso l’obiettivo anche se queto cambiava direzione. Il problema a livello teorico è che questo sistema si deve autoregolare in tempo reale una volta sul missile, acquisendo informazioni dall’esterno che con effetto di retroazione fanno riadattare la traiettoria per raggiungere lo scopo. Diede vita ad un sistema di questo tipo: un radar rileva la rotta dell’aereo nemico e la immette in un calcolatore (analogico o digitale); un sistema ideato da Wiener prevede il punto dove l'aereo si troverà ed il calcolatore comanda automaticamente la mira di un cannone antiaereo. Se il bersaglio è mancato, l’errore viene rilevato, reimmesso nel circuito a correggere la posizione calcolata (è quel che si chiama circuito a feedback negativo), finché l’aereo non viene giù.8 23 SETTEMBRE Effetti di retroazione positiva e negativa Abbiamo parlato degli effetti di retroazione partendo dalla valvola del regolatore di Watt. L’idea è che un sistema debba stare in equilibrio per mantenere una determinata performance. Effetti di retroazione che conosciamo e viviamo quotidianamente sono, per esempio: lo sciacquone (retroazione negativa poiché serve a ridurre la differenza tra lo stato di vuoto della cassa dello sciacquone e lo stato ricercato), il microfono e le casse (retroazione positiva che quindi rinforza il suono proveniente dalle casse). Tutti questi effetti in realtà sono legati allo stesso principio, sono un sistema che si autopercepisce9. I fenomeni di retroazione sono sempre fenomeni circolari e si può parlare di due tipologie: - Retroazione positiva: amplifica e rinforza. Promuove un cambiamento la formazione di nuove strutture più perfezionate e implica l’instaurazione di una nuova struttura a differenza della negativa che tende verso lo stato originale. - Retroazione negativa: si oppone al cambiamento e riporta il sistema al suo stato originale, raggiungendo e ottenendo uno stato di equilibrio. Due contributi paralleli Gli anni ’40-‘50 del secolo scorso sono un periodo fecondo di teorie, tra le quali: 1- TEORIA DELL’INFORMAZIONE Teoria ingegneristica ideata da Claude Shannon, ingegnere del Bell Laboratories. Si tratta di una teoria matematica che serve a misurare la quantità di informazioni che viene trasmessa da un trasmittente ad un ricevente. È la fondazione dell’ingegneria delle telecomunicazioni e si compone, quindi, di una controparte fisica fatta di onde elettromagnetiche utilizzate dai sistemi di trasmissione dell’informazione a distanza. Notiamo che per misurare qualsiasi cosa ci vuole un’unità di misura e quella scelta per l’informazione è il bit (binary unit) prima ancora dell’invenzione dei calcolatori. Essi, nello specifico, ricorrono all’utilizzo dell’unità binaria 0-1 perché è 1) molto semplice 2) facilmente implementabile. Avvalendosi di soli due valori, la comunicazione elettronica viene elaborata senza complicazioni dai circuiti. 8 https://scienzaepace.unipi.it/index.php/it/annate/2014/item/download/133_8ab8b0905e2d1cd520854c76a8100b07.html 9 David Hume (1711-1776) afferma che la percezione è «tutto ciò che può essere presente nella mente sia che esercitiamo i nostri sensi, sia che siamo mossi dalle passioni o che esercitiamo il pensiero e la riflessione.». CIBERNETICA AL LAVORO: ESEMPIO DI ARTEFATTO CIBERNETICO Norbert Wiener (1894-1964), fondatore della cibernetica applicata, comincia a studiare i comportamenti dei sistemi che si autoregolano, orientati ad uno scopo e basati su gestione, trasmissione e controllo del sistema attraverso la trasmissione delle informazioni. Il comportamento di questo tipo viene definito teleologico, cioè basato sullo scopo. L’idea da cui tutto ha inizio è quella di costruire un sistema che permettesse ad un missile in lancio di andare verso un obiettivo mobile. Questo che era considerato un compito impossibile diventa risolvibile col feedback (retroazione negativa): sul missile vengono applicati sensori che permettono di adattare la traiettoria del missile all’obiettivo mobile. Possiamo vedere questo come un procedimento attraverso cui il sensore coglie dati usandoli per ridurre l’errore verso un target mobile (ossia la discrepanza tra lo stato attuale e quello finale). L’aspetto meno cruento e interessante è che Wiener da ingegnere se ne frega di ciò che è giusto dal punto di vista teorico. Questi sistemi non sono ideabili basandosi su uno studio psicologico del comportamento del pilota. Non si concentra sugli stimoli che portano alla risposta ma sul comportamento intenzionale del pilota. È necessario descrivere in maniera teleologica ciò che il pilota pensa e ha intenzione dall’interno dell’aereo. Mentre la psicologia ritiene poco scientifico usare questi metodi, gli ingegneri reintroducono una sorta di vocabolario mentalistico a fini applicativi per studiare qualcosa che è anche comprensione di meccanismi cognitivi. COME SI DEFINISCE LO SCOPO? Lo scopo è la riduzione della differenza tra lo stato corrente e l’obiettivo. Lo scopo non è abbattere l’aereo ma fare in modo che il missile faccia un certo percorso nella direzione del soggetto mobile. Dal punto di vista dell’intelligenza artificiale lo scopo è sempre trovare un modo di raggiungere la soluzione e non la soluzione stessa. Il focus è sul comportamento: il comportamento che ne risulta è un comportamento adattivo tipico degli esseri viventi che si adatta al contesto sulla base delle informazioni che raccoglie. Dal punto di vista teleologico questa differenziazione degli scopi può servire a distinguere obiettivi diversi che siano statici o che siano mobili ma in generale si possono racchiudere all’interno di questa nozione tante cose che consideriamo scopi in modi diversi. Il fine intenzionale è in genere lo scopo degli esseri umani. Sono gli obiettivi che uno si pone, possiamo considerare scopo anche l’obiettivo in sé. Nel fare tutto questo devo anche considerare che essendo un essere vivente devo mantenermi e mantenere il mio equilibrio, per questo gli obiettivi dei sistemi dinamici cambiano in base alla situazione. Il risultato contemporaneo è la robotica. In robotica abbiamo l’obiettivo di costruire dei sistemi che siano autonomi e che siano in grado di perseguire degli scopi ma anche in grado di autosostenersi, perché ciò che ci interessa dal punto di vista dell’ai è che siano in grado di fare qualcosa in maniera autonoma persistendo nel tempo fino a raggiungere l’obiettivo. Quando si parla di robotica si parla di sistemi complessi che svolgono compiti in ambienti differenti e che devono quindi avere differenti livelli di implementazione. Dentro la cibernetica ci sono già le radici della robotica e dell’ai. Cibernetica e proto-robot Per alcuni costruire questi sistemi già a quell’epoca non è soltanto costruire strumenti utili che hanno risvolto pratico ma è un modo per studiare e mettere alla prova teorie psicologiche e teorie cognitive. Se costruisco sistemi artificiali in grado di svolgere gli stessi compiti degli esseri viventi, secondo questa visione sintetica, avrò allora spiegato come funziona quel meccanismo o quella determinata caratteristica cognitiva. Si tratta del metodo sintetico: l’analisi è un concetto diffuso nelle spiegazioni ma la sintesi nasce con queste discipline. Ancora oggi è un metodo molto utilizzato, soprattutto grazie alla robotica virtuale. È più concreto rispetto a ciò che fa la psicologia ed è diverso rispetto alla sperimentazione classica. Se riesco a sintetizzare qualcosa che esegue attività cognitiva, allora spiego la teoria psicologica. TARTARUGHE DI GREY WALTER Ci sono alcuni esempi di artefatti di quegli anni in cui è evidente l’applicazione di queste attività, come nel caso delle tartarughe di Grey Walter, primi artefatti artificiali mobili basati sulle caratteristiche riprese dai modelli cibernetici. Ricordano un po’ i moderni robot per pavimenti. Grey Walter fu un famoso fisiologo vissuto a cavallo della Seconda Guerra Mondiale. Tra tante cose fu anche l’inventore di quella che diventò la moderna macchina per fare elettroencefalogrammi e del “toposcopio” che permetteva di vedere l’attività celebrale localizzandola nelle diverse parti del cervello. Costruì due robot, ELMER e ELSIE che imitavano la vita biologica interagendo tra di loro e con l’ambiente esterno. Il suo scopo era quello di dimostrare che probabilmente il cervello e le sue funzioni erano meno complesse di quanto si pensasse e che tanti comportamenti potevano essere imitati con un buon livello di approssimazione. La tartaruga di nome ELSIE è stato forse il primo vero robot autonomo della storia. Con solo due tubi termoionici era in grado di trovare da sé la sua sorgente di alimentazione per ricaricare la batteria a 40V. Era dotata di un solo sensore di luce e con questo scandagliava l’ambiente alla ricerca della luce. Quando però la luce diventava troppo forte, se ne allontanava per poi tornarne alla ricerca nel momento del bisogno. Il principio delle tartarughe coincide con i pulitori di oggi, il sensore quando incontra un ostacolo fa girare le ruote facendo girare l’artefatto in maniera morbida, sia che l’ostacolo sia mobile che immobile. HOMEOSTAT DI ROSS ASHBY Allo stesso modo Ross Ashby mirava alla costruzione di sistemi che simulassero le caratteristiche della stabilità e dell’equilibrio tipiche degli esseri viventi. Sono da una parte sistemi che cercano di simulare quelle caratteristiche dell’essere umano come l’apprendimento, l’elaborazione, ecc. per arrivare ad uno scopo. Altre che invece sono caratteristiche di strutture autorganizzate. L’ omeostato è una delle prime macchine cibernetiche ideata dal neurologo inglese W.R.Ashbly per imitare le proprietà di autoregolazione degli organismi viventi: consiste in un sistema di quattro dispositivi elettromeccanici (il cui stato può essere variato tramite opportuni commutatori, che simulano l’ambiente esterno) collegati elettricamente tra loro e in modo che lo stato di ciascuno di essi viene a dipendere anche da quelli assunti dagli altri tre. Si tratta, insomma, di una macchina per simulare le condizioni di stabilità degli esseri viventi, in cui la minima perturbazione di un’unità genera il movimento magnetico per tutte le altre. Questo sistema perturbato si muove e varia, ed è molto difficile ritrovare la situazione di equilibrio. Questa macchina basata su effetti di interferenza, magneti e correnti ha come scopo l’equilibrio di tutte le unità. I livelli feedback sono due (individuale e collettivo) e lo scopo è l’ultrastabilità. Gli esseri viventi non sono ultrastabili ma multisabili poiché sempre in movimento. L’ultrastabilità sarebbe immobilismo. In tutte queste applicazioni cibernetiche riusciamo a dire quali sono i meccanismi tecnici dietro e vedere i risultati di determinate performance e attività. Non riusciamo, però, a spiegare questa attività in maniera diversa dalla descrizione di un meccanismo fisico. Non c’è la spiegazione di un processo in termini di finalità, intenzioni, ecc. ma sono tutte black box. Quindi qui manca qualcosa, perché l’AI si interessa di cosa accade dentro la black box. INTERDISCIPLINARITÀ: TRE INTERMEZZI PER DEFINIRE L’AI L’AI nasce da un insieme di concettualizzazioni diverse. Vediamo tre intermezzi per dimostrare come l’intelligenza è una capacità complessa. Quando ci si è avvicinati allo studio dell’AI era già attivo l’interesse verso tutte queste cose. INTERMEZZO 1 - mente e rappresentazioni Una certa visione della psicologia cerca di riproporre una visione mentalistica e rappresentazionalista del pensiero per cui non spiego la psicologia senza parlare di rappresentazioni nella mente. Problema delle rappresentazioni mentali: non so spiegare qualcosa se non è rappresentato nella mente. Quindi le domande che ci poniamo sono: Che cosa c’è nella testa? Se devo fare AI, dovrò assumere che esista qualcosa che posso chiamare intelligenza anche se non sappiamo definirla in maniera univoca. Posso anche problematizzare questa stessa cosa, per cui chiedermi domanda b. C’è qualcosa nella testa – oltre al cervello? Come funziona? Non ci basta il punto di vista fenomenico/fenomenologico. Se devo simulare qualcosa e devo costruire un sistema definibile intelligente devo capire come può funzionare questa intelligenza. INTERMEZZO 2 - mente e linguaggio Altro concetto filosofico che ci collega all’AI è il rapporto tra mente e linguaggio. Il linguaggio ha un ruolo fondamentale nella comunicazione, nella filosofia, nella società… CHOMSKY INTERMEZZO 3 - mente e socialità Dopo rappresentazioni e linguaggio, la socialità è un altro concetto che ci porta a comprendere un altro aspetto della cognizione che ci caratterizza. Noi siamo esseri sociali e la nostra cognizione/intelligenza molto difficilmente può essere analizzata a prescindere dall’interazione sociale. Senza linguaggio non saremmo quello che siamo e l’intelligenza senza linguaggio difficilmente potrebbe esistere, ma senza interazione comunque sarebbe difficile parlare di cognizione. Molti esprimenti tutt’oggi si avvalgono di un inquadramento nella socialità. Letteratura cognitiva legata all’interazione: sostiene che motiviamo le nostre scelte in contesti sociali perché siamo portati a farlo dando ragioni che non sono vere, ci autoconvinciamo di determinate cose per darci una spiegazione. Questo è un assunto che riprende l’idea di Freud che molto di quello che noi facciamo inventando motivazioni non è qualcosa che noi conosciamo. Lo stesso accade per linguaggio o operazioni matematiche. Non sappiamo quali meccanismi applichiamo altrimenti saremmo perennemente bloccati a pensare. Quindi evolutivamente siamo esseri in grado di fare tante cose perché non ci rendiamo conto di farle e se così non fosse saremmo bloccati. Dopo aver parlato dei tre intermezzi per definire l’AI, vediamo come l’interdisciplinarità incide in maniera importante anche sulla nascita dell’AI attraverso altri tre intermezzi: 1. La nascita della scienza cognitiva nel 1977 2. La proposta di Dartmouth nel 1956 3. Le invenzioni di Turing lungo tutti gli anni 50 SCIENZA COGNITIVA Tutto quanto visto finora è confluito in qualcosa di più grande dell’ai che si sovrappone ad essa, ossia la scienza cognitiva, campo multidisciplinare dove varie discipline concorrono al medesimo obiettivo di comprendere la mente. L’esagono cognitivo è una schematizzazione classica e chiara delle varie sottocamere. È un approccio multidisciplinare e interdisciplinare allo studio mentale e dell’intelligenza. Nello specifico, per quel che riguarda l’informatica è l’ai ad avere un ruolo di rilevanza, perché l’ai stessa è una disciplina fondamentale della scienza cognitiva. Attraverso l’ai ci si confronta con lo studio dei meccanismi della scienza e della cognizione. Mentre la scienza cognitiva nasce ufficialmente nel 1977, già prima tutte queste istanze esistevano senza essere organizzate in un’intersezione stabile come poi avviene. Quando si arriva a questo si è già acquisito il fatto che lo studio computazionale della mente aveva già avuto un’ampia diffusione. Infatti, già nel 1956 alcuni personaggi si uniscono per cogliere da questa impostazione multidisciplinare e interdisciplinare il risultato di mettere insieme queste cose con un determinato fine. Quindi utilizzare il calcolatore per andare a simulare queste caratteristiche considerate menti. MANIFESTO PER L’AI: PROPOSTA DI DARTMOUTH Nel 1956 da una parte la spinta interdisciplinare e dall’altra la nascita dei calcolatori e l’idea che essi possano simulare alcune caratteristiche dell’intelligenza, portano alla nascita dell’ai. Alla base di tutto ciò c’è una visione computazione che deriva da Turing, l’idea che posso descrivere i processi come calcoli e sequenze di operazioni che portano da uno stato iniziale ad uno stato finale. 29 SETTEMBRE PROPOSTA PER IL SEMINARIO DI DARTMOUTH 1http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html Si tratta di un manifesto dell’AI, scritto e approvato dall’università di Dartmouth, che nelle prime righe contiene la proposta che vuole essere questa nuova disciplina. Ingegneri, matematici, studiosi provenienti da diversi settori della scienza propongono ciò e sono anche ottimi comunicatori; sostengono che ogni aspetto che definisce l’intelligenza in termini comuni e psicologici può essere simulato attraverso programmi e calcolatori. La teoria della programmazione era già stata progettata, quindi si dovevano trovare programmi che potessero pensare, in grado di fare cose che possono essere considerate intelligenti. Intelligente è ciò che fa un essere umano definito intelligente. Ma oggi abbiamo diversi programmi di questo tipo: con un qualsiasi motore di ricerca, entro le prime tre risposte troviamo ciò che stiamo cercando, allo stesso modo il Search Enging completa le frasi che stiamo scrivendo, e ciò accade per tutta una serie di meccanismi, algoritmi ecc. In questo caso il motore di ricerca fa una cosa molto utile e molto intelligente e tutto ciò una volta veniva fatto in maniera cartacea: pensiamo agli elenchi telefonici. La ricerca di qualcosa che è quello che noi vogliamo è sicuramente intelligente, il motore di ricerca però non fa questa cosa come la farebbe un essere umano. Se la facesse come la fa un essere umano i risultati sarebbero diversi. Due anime dell’ai Il Manifesto di Dartmouth sostiene che l’ai abbia due anime che non vanno mai separate: - VERSIONE/APPLICAZIONE INGEGNERISTICA Definita ingegneristica perché non ci interessano i meccanismi e gli strumenti delle risorse utilizzate ma ci interessa come ottenere un determinato risultato. - VERSIONE/APPLICAZIONE PSICOLOGICA Nelle prime righe del manifesto di Dartmouth vediamo che un altro fine dell’ai è quello di simulare attraverso il calcolatore quelle che sono le caratteristiche dell’intelligenza (apprendimento, memoria, concettualizzazione…). Quindi, l’interesse si sposta anche sul modo in cui noi riusciamo a simulare qualcosa di cognitivo. Il fine può essere anche capire se attraverso una simulazione del calcolatore riesco a comprendere come funziona la mente di un essere umano. Come lo faccio? Prendendo una teoria psicologica che mi dà un modello di come il cervello umano può funzionare, provo a trasformare un algoritmo per dare vita ad un programma. Se questo programma funziona e il suo andamento può corrispondere a quello dell’essere umano per le stesse operazioni, allora sono in grado di supportare la veridicità della teoria. Si tratta di un ulteriore metodo – oltre a quelli tradizionali – di studiare i processi psicologici che, anche senza un grado di certezza concreto, consente di simulare/sintetizzare una capacità di un essere umano per cogliere aspetti rilevanti e creare un programma. Se si colgono correttamente gli aspetti rilevanti del meccanismo, il programma diventa un modello del meccanismo applicato. GLI ANNI CINQUANTA E L’AI Nell’articolo Turing fa anche due predizioni: 1. Nei decenni successivi il 30% dei calcolatori opportunamente programmati per questo esperimento avrebbe vinto il gioco.  Non sappiamo se questa previsione si sia realizzata, spesso siamo di fronte ad ai senza accorgercene, ma non siamo mai davanti ad un’ai generale. 2. Entro 50 anni si sarebbe parlato di macchine pensanti  Oggi, infatti, siamo in grado di interagire con sistemi che hanno in parte dell’intelligenza e ci fidiamo. Soggetto centrale dell’articolo è l’idea che l’AI possa simulare l’intelligenza. Critiche degli studiosi al TT - Filosofi della mente: solo a partire dagli anni Sessanta del Novecento iniziano a prenderlo in considerazione grazie alla nascita del funzionalismo. Viene considerato un’interpretazione comportamentista. Il funzionalismo è un concetto che attraversa tante discipline, possiamo considerare un programma intelligente se i suoi meccanismi interni realizzano non tanto materialmente ciò che accade nelle nostre teste ma le stesse funzioni. Gli stati interni del programma devono corrispondere ai nostri stati mentali. - Informatici: le idee di Turing vengono subito accolte e appena 5 anni dopo si propone la nascita dell’ai. Questo vuol dire che la computer science in senso classico nasce in quegli anni e si sviluppa in parallelo con un’idea di ai. Si coglie subito questo aspetto già a partire da chi aveva contribuito a fondare l’informatica dal punto di vista teorico. - TT (Turing Test): versione più comune per cui un essere umano sa che sta parlando con un computer e deve decidere se questo sta pensando. Poi tanti hanno provato a dare delle estensioni e dei raffinamenti del pensiero di Turing. - TTT (Total Turing Test): se aggiungiamo la parte embedded, il corpo, siamo davanti ad artefatti che hanno più possibilità di superare il test di Turing. Pensiamo di ideare programmi da inserire in un robot, immaginiamo di arrivare all’indistinguibilità tra un robot e l’uomo, allora si parla di aver superato il test. Ci si chiede, però, se sia comunque una sorta d’inganno: il risultato è lo stesso, ma i meccanismi? - TTTT (Totally True Turing Test): prevede l’inserimento anche di un cervello, la ricostruzione di un cervello non tanto come programma ma la simulazione anche di come funziona il cervello stesso, la costruzione di un circuito. È il sistema alla base del Deeplearning che consente di avere un approccio all’ai più sbilanciato sulle reti neurali. Insomma, si aggiungono elementi ma si cade nel problema del modello: è chiaro che il modello di un gatto sia il gatto stesso perché è perfetto, ma da un punto di vista dell’analisi un modello è qualcosa che cattura gli aspetti rilevanti di qualcos’altro altrimenti non possiamo utilizzarlo nella sperimentazione. Questo sembra ovvio ma oggi in realtà si ripropone un problema molto grande: i sistemi neurali di oggi sono in grado di svolgere compiti molto forti e intelligenti, vicini alla funzione categorizzante degli esseri umani, qualcosa che di logica è praticamente impossibile da programmare. Le reti neurali riescono a categorizzare in maniera a volte migliore degli esseri umani a partire da quantità di dati maggiori di quelle a disposizione degli esseri umani. Queste reti neurali sono un mondo complesso e il problema è che danno una risposta adeguata ma dentro c’è solo matematica. Sono risultati di vettori che danno risposte adeguate ma il problema è che funziona e non sappiamo come. Il problema di non sapere il perché, in generale diventa una resistenza forte, si tratta del problema dell’Explainable AI: disciplina emergente nell’ambito del machine learning, il cui obiettivo è fare chiarezza in merito a quanto succede nella black box dei dati e degli algoritmi che elaborano modelli di intelligenza artificiale. Essere umano vs computer Che cosa succede se l’essere umano non sa che sta conversando con un computer o un programma? Vari programmi hanno messo alla prova questo e tra i più importanti ricordiamo: - Effetto ELIZA (Bobrow): simulava il comportamento di uno psicoterapeuta, usando trucchi per andare a catturare quanto detto dall’utente per riproporlo in domanda. Ridà indietro ciò che l’utente dice e molte persone in quei tempi pensavano di parlare con un essere umano. Questi programmi erano costruiti per ingannare e non pensare. Negli anni ‘60 ELIZA è stata una delle prime tecnologie “chatterbot” che si sono avvicinate al superamento del test di Turing, ovvero a ingannare gli utenti umani nel pensare che una risposta testuale fosse invita da un essere umano e non da un computer. Weizenbaum ha usato il concetto di "psicoterapeuta rogeriano" per fornire risposte testuali: ad esempio, a un input dell'utente "Mia madre mi odia", il programma potrebbe restituire: "Perché credi che tua madre ti odia?”. L'idea può essere utile per valutare i moderni sistemi di intelligenza artificiale come Siri, Cortana e Alexa. - Parry (Colby): simulava un paziente paranoico e schizofrenico e i dottori ci credevano. Uno psichiatra, Kenneth Colby, realizzò un programma simile ad Eliza, in grado di simulare il comportamento linguistico di un paranoico. Furono persino organizzate sedute di dialogo tra Parry ed Eliza, a detta di molti psichiatri estremamente realistiche. Questi programmi erano costruiti per ingannare l’utente e questo effetto di inganno persisteva nelle persone anche quando veniva spiegato fossero programmi. Premio Loebner: il TT non è mai stato superato Negli anni 90, e poi ancora fino a oggi, è stato creato il premio Loebner per andare a vedere annualmente questa sfida tra programmi che potevano essere considerati in grado di superare il test di Turing. Mai nessun programma fino ad ora si è potuto dire completamente vincitore. Questo denota l’importanza del rapporto tra esseri umani e macchine considerate intelligenti anche all’esterno del mondo della ricerca. C’è un’attenzione verso i risultati dell’ai esterni alla ricerca perché si tratta di tematiche e prodotti che toccano alcuni aspetti fondamentali della dimensione umana dal punto di vista antropologico. È ciò che accade anche con la genetica, disciplina biologica estremamente complessa le cui scoperte hanno molta risonanza nel tempo poiché interessano aspetti fondamentali del mondo naturale, mentre altre scoperte scientifiche non raggiungono lo stesso livello. Il test di Turing è stato poi considerato come non criterio scientifico per l’ai. Chi si occupa di ai a livello applicativo non sottopone i propri programmi al TT per verificarne il corretto funzionamento, però può essere considerato un criterio probabilmente di intelligenza non solo dal punto di vista scientifico ma anche dal punto di vista dell’interazione con l’utente. L’interazione con l’utente ha molte ricadute pratiche e applicative per cui QUANDO SI PARLA DI AI  UTENTE È LA PAROLA CHIAVE direttamente consapevoli di ciò che accade nella nostra mente poiché la nostra consapevolezza si rivolge soltanto alla punta dell’iceberg e tante cose accadono a livello sub cognitivo. Se dovessimo essere sempre attenti ad ogni singola azione che svolgiamo in ogni singolo momento, la mole di informazioni da gestire sarebbe sempre fortissima. All’interno di questi processi possiamo mettere tutti quelli gestiti a livello automatico, come respirare. Logica vs psicologia A cavallo tra il XIX e il XX secolo si apre una disputa: logica vs psicologia. Insomma… Tra coloro che dicono che i contenuti di pensiero possono essere studiati anche in forma astratta (con schemi anche logici di ragionamento, considerando la logica formale, matematica) E coloro che ritengono che l’analisi di ciò che accade nella nostra mente sia analizzabile o spiegabile solo attraverso meccanismi psicologici, e vada studiato empiricamente. Questa disputa va avanti a lungo, oggi lo possiamo dire in modo diverso, la letteratura ci dice che siamo bravi a ragionare psicologicamente ma dal punto di vista della logica ci sono carenze, la nostra mente è quindi più psicologicamente adeguata a certi tipi di ragionamenti e meno per altri. Nel Novecento studiosi come Boole e Frege portano alla nascita della logica formale nella sua forma più contemporanea con le varie interpretazioni semantico formali. Il problema semantico è quello del significato: risolverlo a livello formale significa che c’è una corrispondenza tra il simbolo logico e qualcosa che sta nel mondo, un modo molto tecnico di risolvere il problema del significato e se fosse solo questo lo avremmo già risolto. Il mondo del significato è molto più ampio e riguarda il modo in cui noi ragioniamo in maniera distaccata dall’utilizzo di una semantica formale. Nei nostri ragionamenti e linguaggi usiamo simboli ambigui, tante parole sono polisemiche. In logica non è e non può essere così, nelle logiche multivalore abbiamo più valori (ad esempio vero e falso), ma non più significati. Il problema del significato è stato trattato ampiamente per l’ultimo secolo; tutto ciò non è ancora scienza cognitiva, ma si riverserà dentro ad essa perché l’ai è sempre una disciplina di programmazione e i programmi sono sistemi logici per cui mettiamo insieme questi due mondi. Solo con la logica arrivo all’automazione ma solo con la psicologia posso arrivare all’intelligenza artificiale. Turing e la teoria della computazione Di Turing abbiamo visto test ma abbiamo anche citato le macchine: - 1936: macchina di Turing - 1951: scrive un programma chiedendosi se le macchine possano pensare (Test di Turing) - 1986: scrive un programma più tecnico in cui fonda la teoria della computazione Nel 1931 Godel aveva dimostrato una serie di teoremi per sostenere che un sistema logico sufficientemente complesso come quello della matematica basilare è un sistema incompleto e coerente. Per cui posso scrivere delle frasi in questo sistema logico che non posso dimostrare al suo interno, e posso anche scrivere delle frasi che sostengano che il sistema sia incoerente. 16 È la logica del paradosso: “Io mento sempre”  se è vera è falsa e viceversa Ci sono modi per superare linguisticamente questo paradosso. Non ci sono modi per superare, invece, la dimostrazione rigorosa che fa Godel. Non ci interessa l’aspetto tecnico ma ci interessa la ricaduta: la logica non è più una disciplina su cui si può fondare tutto. Ci sono logiche complete e incoerenti ma sono piccole e sono quelle che analizzano le proposizioni. Una volta, però, che andiamo dentro le proposizioni a vedere come le parole si relazionano tra loro, ci sono dei limiti. Se prendo una cosa rigorosa con un sistema logico e dentro scopro che posso dire cose che non posso dimostrare e posso dire che il sistema è incoerente, allora dalla falsità si può derivare tutto. Perciò Turing si pone il problema di: quali sono i limiti della logica? Quindi, quali sono – in positivo – le funzioni calcolabili? Turing inaugura l’informatica teorica, ossia l’idea che possiamo catturare attraverso il calcolo anche il pensiero in termini contemporanei, dato che già filosofi avevano parlato di un traguardo ideale. L’idea era di arrivare ad avere una teoria della computazione e quindi del calcolo, per cui ogni procedimento del calcolo matematico ma anche ogni ragionamento potesse essere ridotto ad un insieme di passi successivi e consequenziali che dai dati iniziali mi portano alla risposta finale. IL PROBLEMA DI TURING: È vero che la logica matematica mi dice che sia il calcolo posizionale che l’aritmetica basilare ed elementare sono incomplete e quindi non possiamo basare la nostra vita su queste. Però esiste una parte che funziona: ci sarà una serie di funzioni calcolabili? Questa è la domanda che con gli anni porterà alla teoria della programmazione/computazione. 30 SETTEMBRE Funzioni calcolabili L’idea che il pensiero possa essere un calcolo nasce in ambito filosofico in età moderna da filosofi che si occupano in ampio raggio anche di questioni scientifiche. Troviamo negli scritti di 16 Il teorema di Godel riguarda l’incompletezza di un’ampia classe di teorie formali, tra cui la teoria formale dell’aritmetica. Costituisce il fondamentale contributo di K.Godel alla logica del Novecento. Si tratta in realtà di due teoremi che concernono: a) l’incompletezza delle teorie formali: in una teoria formale di uno specificato tipo esiste sempre una proposizione non dimostrabile né refutabile b) l’impossibilità di dimostrare all’interno delle teorie formali la loro coerenza: comporta l’impossibilità per l’aritmetica di dimostrare la propria coerenza al proprio interno, utilizzando cioè i suoi stessi simboli e regole Hobbes la prima idea di calcolo che dovrebbe risolvere le controversie, poi approfondito da Leibnitz. Calcolo come computazione > il processo di pensiero può essere scomposto in una serie di passi successivi e consequenziali La teoria contemporanea su cosa sia un calcolo ce la dà Turing che risolve il problema dell’imitazione dei sistemi logici pubblicando un articolo in cui descrive le funzioni effettivamente calcolabili. Turing, non vuole costruire una calcolatrice ma vuole dare una spiegazione di tutto ciò che è calcolabile. CALCOLABILE = ARRIVARE AD UN RISULTATO QUAL È QUELLA PARTE DELLA MATEMATICA CHE SI FORMA DI FUNZIONI CALCOLABILI? Rispondere a questa domanda non è così semplice ma Turing trova un modo pratico: prendiamo una macchina/dispositivo che può essere anche realizzato concretamente ed è fatto di pochi elementi: - Aspetto formale: la macchina formale fu proposta come sistema astratto che, opportunamente programmato, era capace di eseguire ogni tipo di operazione - Aspetto concreto: oggi ne esistono molte varianti - Istruzioni: definiscono un programma, sono definite come quintuple e in questo caso possono essere ridotte a scrivi o cancella. Non vengono necessariamente eseguite sequenzialmente - Stati interni: la macchina passa da uno stato a un altro con i simboli - Simboli: una parte attiva della macchina li interpreta, i sistemi simbolici possono essere ridotti a un solo simbolo con due valori (assenza e presenza) Si tratta di un nastro su cui posso scrivere o cancellare dei simboli, attraverso una testina che scrive le operazioni della macchina. Su questo nastro posso fare calcoli matematici che sono quelli delle funzioni. Istruzioni e simboli nella macchina di Turing Le operazioni coinvolte di volta in volta sono solo due, non c’è memoria e non devo ricordare tutte le somme che devo fare. Posso quindi costruire una macchina scomponendo tutte le operazioni più complesse in operazioni semplicissime. Tale macchina è il risultato del susseguirsi di istruzioni scrivi o cancella simboli che definiscono un programma. Tutte le funzioni matematiche che possono essere calcolate e computate sono quelle per cui riesco a trovare le istruzioni che mi portano a completare un processo e sono quelle che possono essere affrontate da un programma. Se ho un sistema rappresentazionale dovrò avere anche qualcosa che questi simboli li interpreti, altrimenti non faccio nulla. Un libro è un insieme di simboli ma se nessuno lo legge, questi simboli non hanno significato. Serve una parte attiva della macchina. Il procedimento effettivo mi dà quindi un numero finito di passi per arrivare ad una soluzione. Gli stati interni di una mente o di una macchina hanno molto a che fare con il conetto di modello. L’idea è simile a quella di Craik: il cervello funziona in base a modelli di un mondo esterno. Craik sostiene che ogni organismo animale sviluppa modificazioni funzionali relativamente stabili del sistema nervoso, che si configurano come modelli di realtà. Possiamo parlare di due sensi di modello: 1. MODELLI NEL CERVELLO: si tenta di spiegare il comportamento dicendo che il nostro cervello è fatto di modelli di rappresentazione del mondo esterno. Già dal 1600/1700 i filosofi parlano di questi modelli. Però, qui non siamo più all’interno della filosofia ma è un tentativo di analisi psicologica. 2. MODELLI PER STUDIARE LA MENTE: se la mente è un software, allora posso usare un software per studiare la mente. Da una parte la mente funziona secondo i modelli, dall’altra costruisco delle capacità cognitive. Il discorso diventa più complesso: se voglio capire come funziona la mente devo capire com’è possibile che utilizziamo modelli esterni per capire il funzionamento interno. Dobbiamo considerare che non c’è solo qualcosa di materiale ma anche di funzionale. La filosofia non basta più a spiegare tutto. Architettura di Von Neumann Von Neumann ci dà un modello di come funziona il calcolatore: la cosiddetta architettura di Von Neumann. L’idea è che possiamo costruire macchine fisiche basandoci sui modelli di Turing, che hanno: - UNITÀ DI MEMORIA CORRETTA: quando faccio qualcosa ho in mente simboli e informazioni - TESTINA: la parte attiva, che è l’unità di elaborazione centrale fatta da un’unità di controllo e un’unità logico aritmetica che fa le operazioni come cancellare, scriver simboli, spostare la testina. Con questi elementi noi svolgiamo i processi. Verso la scienza cognitiva Oggi le risorse sono molto più elevate quindi il sistema è più complesso e con tutti questi strumenti andiamo verso la scienza cognitiva fortemente computazionale. - Psicologia QUANTITATIVA: basata sull’elaborazione delle informazioni studiabili (IPP) - Psicologia QUALITATIVA: computazionale, basata sulla descrizione dei processi di pensiero attraverso meccanismi che compongono programmi. 17 La psicologia dell’interpretazione e dell’informazione è quantitativa: vede i processi mentali o cognitivi come processi di lavorazione dell’informazione e si può avvalere della teoria dell’informazione; è l’elaborazione dell’informazione trasmessa, quindi della comunicazione Da un punto di vista quantitativo si può parlare anche di psicologia matematica o matematicamente orientata: si riprende quello che era l’obiettivo della prima psicologia scientifica, ossia andare a misurare gli stimoli e vedere quale fosse la connessione con la risposta interiore/sensazione. Poiché era risultata troppo introspettiva e soggettiva, riprenderla vuol dire andare a pensare si possano istruire set sperimentali in cui misurare dall’esterno la capacità di stimolare. Un tipo di psicologia così è utile per alcuni aspetti ma spiega meno le parti più semantiche come i concetti o i modelli, eppure produce risultati interessanti. 17 Programmi = processi scomponibili in una serie di passaggi che da determinate condizioni iniziali portano ad un obiettivo finale George Armitage Miller: elaborazione a 7 elementi Miller è uno psicologo di quel tempo che si occupa di studiare fenomeni legati al linguaggio/parlato con metodi ed esperimenti quantitativi. Questo tipo di approccio più quantitativo si attua tutt’oggi: si formula una teoria, e viene confermata attraverso statistiche risultato di una raccolta di dati sperimentali. La cosa interessante è che questo tipo di psicologia (IPP- psicologia quantitativa) entra nel vocabolario della teoria dell’informazione per come era stato utilizzato da Shannon e collaboratori. Questo è interessante perché, essendo un’assunzione che si fa che possiamo considerare ciò che accade nella mente come trasformazione di informazioni che vengono codificate, sono ridondanti e vengono trasmesse.  Vocabolario della teoria dell’informazione: codifica, informazione, ridondanza Dalla proposta di Dartmouth del 1956 viene fuori una cosa quantitativamente importante: facendo tanti esperimenti il gruppo di Miller si accorge che ritorna il 7 come pattern  gli esseri umano sembrano in grado di maneggiare contemporaneamente – più o meno 2 – 7 cose.  Il limite della capacità di elaborazione dell’informazione nella mente è il pattern 7. Questo perché la nostra memoria di lavoro è limitata e se vogliamo andare oltre dobbiamo mettere insieme dei pezzi o creare degli ammassi, creare schemi e ammassare i dati in maniera gerarchica. Tutto questo è importante perché ci dice qualcosa di più su come funziona la mente e ci apre la strada ad una considerazione delle nostre capacità cognitive come limitate, perché per una serie di ragioni anche evolutive, la natura ha prodotto un tetto alle cose che possiamo tenere in considerazione. Tetto che varia da essere vivente ad essere vivente. Cosa ce ne facciamo di questi fattori? Già la logica ricca che ci serve a presentare la realtà è comunque limitata, noi siamo ancora più limitati della logica e possiamo elaborare meno cose. Newell e Simon SIMON Studioso di economia che si occupa di studiare come l’organizzazione amministrativa influenza il prendere decisioni e il comportamento. Normalmente le persone, sia in contesti lavorativi che non, usano regole approssimative o euristiche, strategie e schematizzazioni che servono per arrivare ad uno scopo. Non sono metodi perfetti o infallibili. Sono quelle cose che mettiamo in campo tenendo in considerazione mezzi e fini delle risorse a disposizione. È un ragionamento molto pratico che la realtà richiede, perché la nostra razionalità è limitata. È un concetto alla base di tantissimi studi successivi e definisce anche uno degli approcci all’ai. accettata come un teorema di un determinato sistema. E si suddivideva questo cammino formato da assiomi in obiettivi e sotto obiettivi. Era un procedimento di riduzione tra uno stato iniziale (teorema e assiomi) e uno stato finale (dimostrazione). Uno spazio delle possibilità che viene ridotto, come avveniva nella cibernetica: lì era uno spazio fisico, qua astratto ma il procedimento non cambia. Spazio ci sono varie possibilità, di percorsi, di dimostrazioni di eventi, ecc.  Il programma doveva quindi applicare una serie di regole per cercare di andare a trovare la strada promettente che costruisse la dimostrazione. Non erano regole che consideravano tutte le possibilità, potevano essere anche linee semplici di concetto. Possono anche arrivare a risultati congruenti. Non prendevano in considerazione tutte le possibilità perché è impossibile dal punto di vista pratico, a rigore di principio, per mancanza di risorse temporali, materiali, energetiche… ecco perché è necessario agire secondo la razionalità. L’unico punto di riferimento è andare a vedere chi fa già il programma, ascoltare gli esperti e cercare di capire. Questo vale sia per costruire questo programma, che dimostrava il teorema, sai per il GPS General Problem Sovler che era un programma che utilizzava questo stesso quadro di principi di costruzione anche per risolvere problemi generali. La sfida, quindi, era vedere se le strategie che venivano utilizzate per risolvere e mostrare i problemi potessero coprire tutti i problemi che poteva trovarsi a fronteggiare un determinato programma sulla base di informazioni e conoscenze che venivano inserite. LEZIONE 7 07 ottobre ’22 IA-PS-WS 2021-2022 Lezione B CHOMSKY E L’ELABORAZIONE DEL LINGUAGGIO Continuiamo il nostro viaggio tra i tanti elementi che caratterizzano l’AI, dagli inizi fino a oggi. Parliamo dunque di linguaggio. Eravamo rimasti alla critica del comportamentismo e delle strutture cognitive. Attraverso questa critica Chomsky, il padre della linguistica computazionale contemporanea, inaugura un nuovo modo di studiare il linguaggio e la psicologia. Chomsky parte dal linguaggio e ci dice che noi dobbiamo pensare che esiste una facoltà mentale del linguaggio che ci permette di comprendere e produrre il linguaggio principalmente dal livello sintattico. Se partiamo dal modello comportamentista non siamo in grado di spiegare come funziona il linguaggio, perché se ci basiamo solo sul modello stimolo-risposta non abbiamo abbastanza elementi per capire il funzionamento del linguaggio. Per farlo, allora, andiamo dentro il modello di stimolo-risposta e cioè assumiamo che esistano una serie di meccanismi mentali che spiegano il linguaggio, e una volta assunti questi meccanismi bisogna vedere come funzionano! La grammatica universale Secondo Chomsky noi siamo in grado di pensare perché abbiamo capacità mentali innate che costituiscono la nostra grammatica. Chomsky, dunque, parla di una sorta di grammatica universale che è alla base di tutti gli esseri umani, che sono in grado di usare sintassi e morfologia. Anche se tutte le lingue hanno sintassi e morfologie diverse ma a un certo livello tutti gli esseri umano hanno in maniera innata questa facoltà mentale di base che si basa su dei principi grammaticali innati. Chomsky ci dice questo perché parte da questa idea: sarebbe troppo difficile accettare che noi a 3 anni siamo già in grado di comprendere e dire un numero indefinito di parole e frasi a partire da un numero definito che abbiamo ascoltato. Si parte quindi dall’argomento della povertà dello stimolo: è troppo povero lo stimolo a cui siamo sottoposti per giustificare l’immensità della potenza del nostro linguaggio. Possiamo fare numerosi esempi per spiegare meglio gli studi di Chomsky: Esempio Da 3 anni siamo in grado di riconoscere frasi che sono sintatticamente scorrete: Se io dico Tavolo libro sopra il siamo in grado di capire che è sbagliata, che la sintassi è sbagliata. Chomsky ci dice che: - Dal punto di vista sintattico una frase è giusta o è sbagliata non c’è una via di mezzo. Questo noi lo capiamo fin da subito, e non perché qualcuno ce lo insegna ma perchè fin da subito sviluppiamo questa capacità innata. È un pensiero molto simile a Leibniz: “Niente sta nell’intelletto che prima non sia stato nei sensi, eccetto l’intelletto stesso”. - Dal punto di vista semantico (il significato dei termini) le cose sono più complesse: Se noi diciamo Verdi idee senza colore dormono furiosamente riusciamo a immaginare contesti in cui questa frase può avere senso Testi poetici ecc…) Differentemente non ci sono contesti in cui possiamo immaginare Tavolo libro sopra il, perché la sintassi di questa frase non viene riconosciuta e non è la stessa di quella che rientra nella capacità innata dell’uomo. La differenza tra queste due sta nella possibilità di avere strumenti tecnologici, di AI o in generale di elaborazione del linguaggio naturale. Oggi noi abbiamo strumenti che ci permettono di elaborare automaticamente dal punto di vista sintattico e morfologico. Gli strumenti che sbagliano di più, sbagliano a causa di interpretazioni strane, non riesco a elaborar correttamente la semantica della frase. D’altro canto, il nostro linguaggio ha delle ambiguità, una dinamicità del tempo (il significato cambia col tempo) quindi la semantica è un problema non di poco conto per l’AI. Rappresentazione mentali Per Chomsky se assumiamo che c’è un dispositivo mentale, che serve a elaborare il linguaggio, dobbiamo capire cosa fa questo dispositivo mentale. Questo dispositivo elabora rappresentazioni mentali, che possiamo elaborare anche quando non c’è uno stimolo, in maniera offline. Ad esempio, quando facciamo delle considerazioni, riflettiamo tra noi e noi facciamo delle rappresentazioni in maniera offline. Il linguaggio ha delle peculiarità, esso è:  Sistematico, ovvero ci sono strutture legate da relazioni di simmetria. Può esserci prima il verbo e poi il soggetto ecc.. e questo cambia da lingua a lingua.  Produttivo, ovvero che attraverso il linguaggio posso costruire frasi sempre nuove. Dunque, queste rappresentazioni mentali non sono delle idee di tipo cartesiano o impressioni sbiadite ma sono considerate delle tecniche, molto più simili a una struttura logica. La struttura profonda e superficiale Chomsky sostiene che solamente un esame delle strutture profonde del linguaggio può dare il vero significato di ciò che appare esternamente e che le strutture superficiali non sono sufficienti a togliere l'ambiguità ad alcune frasi. L’analisi della struttura profonda del linguaggio, profonda ovvero che non è immediatamente visibile, ci porta alla creazione di alberi sintattici. Ogni volta che sentiamo/diciamo una frase, la frase stessa è la struttura superficiale, che può essere analizzata come stringhe di simboli che rimanda a significati. Ma il modo in cui gli elementi sono concatenati sono gli elementi che la compongono, ed è la struttura profonda della frase. Una frase o è giusta o sbagliata e non possiamo spiegarlo tramite un metodo empirico. Si considera il linguaggio come un insieme finito e infinito di frasi, ciascuna da lunghezza finita costruiti a partire da elementi finiti ma infinito il numero delle frasi che si possono fare. Lo scopo principale di un’analisi linguistica è separare le sequenze grammaticali giuste e quelle sbagliate, noi lo facciamo in maniera innata ma possiamo farlo fare a un sistema artificiale che non è in grado di capirlo in maniera innata. Noi abbiamo dunque il compito di trasformare questa capacità innata in una serie finita di regole. Le regole di Chomsky sono regole derivazionali, ovvero posso derivare da una frase gli elementi di cui è composta (articolo, nome…). Se devo formare una frase nominale so che devo utilizzare prima l’articolo poi il soggetto e così via, ma sono cose che noi facciamo inconsapevolmente. Tutto questo però lo facciamo inconsapevolmente: mentre parliamo non pensiamo a pezzi sintattici delle frasi così anche quando ascoltiamo e comprendiamo una frase. Questo vale per la sintassi e non per la semantica che presenta sfide e problemi più complessi. Tant’è che oggi tecnologie e semantiche non sono ancora del tutto precise e perfette! Questo dispositivo mentale di cui parla Chomsky si può basare su diversi tipi di grammatica Il dispositivo mentale di Chomsky si può basare su diversi tipi di grammatica e sui suoi diversi utilizzi. Si può trattare di una grammatica a stati finiti (FSG) Ma anche di una grammatica con dei loop, che ci permette di creare un numero infinito di frasi. La ricchezza del linguaggio non sta solo nella semantica ma nella possibilità di creare infinite concatenazioni di frasi e di sintassi. Possiamo creare frasi molto complesse, ambigue che danno luogo al problema dell’annidamento, ad esempio «Il libro con la copertina verde e le figure divertenti è sul tavolo». Per un sistema artificiale che vede simboli e stringhe non è sempre facile capire la giusta relazione tra le parole, mentre per noi è più semplice. Si tratta di problemi che sono stati risolti via via ma si ha comunque sempre la possibilità di avere ambiguità in questi campi. La rappresentazione della grammatica, di un insieme di regole è il diagramma ad albero Sono regole che applico in una determinata direzione: Se devo creare una frase allora prendo le regole da sinistra a destra, o dall’alto verso il basso nel diagramma. Se devo comprenderla parto dall’altra parte, dalle parole, dal basso verso l’alto nel diagramma. Nell’ambito delle tecnologie ci sono due passaggi fondamentali: 1. Come far capire ad un sistema quando inizia e finisce una parola, quando ne inizia un’altra nel flusso indistinto di suoni che caratterizza il nostro parlato. 2. Come far raggruppare per bene delle parole nelle frasi più complesse con delle ambiguità. La donna con i capelli rossi colpiva la porta con una mazza. Noi capiamo subito che non colpisce la mazza con i suoi capelli, ma per una macchina può essere difficile capirlo. C’è un problema di contesto, anche dal punto di vista sintattico possono esserci dei problemi! Grammatiche trasformazionali (TG) È l’idea di Chomsky secondo cui le regole grammaticali permettono di trasformare delle frasi. Partendo dalla frase Il libro è sul tavolo, possiamo cambiarla e farla diventare passiva, una domanda ecc.. Quello che ci interessa soprattutto di Chomsky è .. Da un punto di vista generale Chomsky ci lascia l’idea che: - Esistano due livelli rappresentazionali, di uno specifico compito cognitivo: una struttura di superficie e una profonda. - Il mentale è tornato. L’introspezione non c’è più perché molti di questi processi sono considerati sotto il livello della nostra consapevolezza. - La semantica viene dopo la sintassi nella comprensione di una frase. Abbiamo concluso la parte di Chomsky, che ci interessa per l’elaborazione del linguaggio naturale. LEZIONE 8 10 OTTOBRE LEZIONE C- APPENDICE 1 PROBLEM SOLVING Problemi da risolvere Da sempre noi ci troviamo di fronte a diversi problemi di risolvere. Problemi di aritmetica standard: A scuola li ritrovavamo nell’aritmetica, questo problema ci si presentava sotto forma di testo e dovevamo risolverlo facendo dei calcoli, usando regole più o meno semplici e applicandole per trovare la soluzione. Problemi di aritmetica non standard, ma con operazioni aritmetiche: Ma se prendiamo un altro tipo di problema e cerchiamo la risposta, la cosa sarà diversa: 11x11=4 22x22=16 33x33=? Le risposte possono essere diverse, perché non si applica l’aritmetica standard. In questo caso prendiamo quello che c’è scritto, lo interpretiamo per quello che è e poi aggiungiamo regole per fare tornare i conti, uscendo fuori dal sistema dell’aritmetica standard per arrivare ad una risposta coerente. Problemi con operazioni non aritmetiche: Possono esserci anche delle operazioni non aritmetiche  abbiamo spostato solo un simbolo! Quello che viene spontaneo chiedersi è: un sistema riuscirebbe a risolvere un problema di un certo tipo? Nel problema solving abbiamo problemi più risolvibili in maniera automatica e altri meno. Ad esempio, un problema per l’Ai è la rappresentazione del tempo. Definizione Il problem solving è la risoluzione dei problemi Una disciplina che andava di moda nei contesti educativi americani, che è arrivato poi in Europa. È il processo che nelle pratiche aziendali è la soluzione effettiva e non ideologica di un problema definire il problema, esplorare le possibili soluzioni, applicarle e vedere se si risolve. Tutti i problemi possono essere affrontati, e i problemi non ammettono una sola e unica soluzione, ma diverse soluzioni, e le soluzioni non sono tutte uguali. Noi cerchiamo sempre la soluzione migliore, anche se non riusciamo sempre. Non potremmo mai trovare la soluzione migliore in assoluto, perché noi abbiamo un numero limitato di conoscenza ma dovremmo cercare la soluzione migliore tra quelle che abbiamo trovato! Funzionamento La risoluzione dei problemi può essere scomposta in un insieme di passi. Cerchiamo una serie di operazioni che ci permette di risolvere il problema. Ci interessa capire come si può rendere il problem solving utile nella costruzione di algoritmi? Per risolvere un problema noi dobbiamo: 1. Comprendere il problema 2. Rappresentare correttamente il problema 3. Categorizzare, assegnando quali operazioni fare per risolverlo 4. Pianificare tutti i passaggi 5. Monitorare il processo 6. Valutare il risultato Automatizzazione del Problem Solving Come possiamo automatizzare questo processo? Ma c’è un limite a questo: per quanto noi possiamo avere una progressione lineare delle risorse computazionali la complessità dei problemi non ha progressione esponenziale. In parole povere, anche il computer più potente avrà difficoltà a risolvere un problema molto complesso. Non possiamo utilizzare un metodo basato sulla potenza computazionale, ma dobbiamo fare come fanno gli esseri umani. Quindi l’ai dal punto di vista pratico è anche questo: l’obiettivo di fondo è programmare un programma che scelga tra le varie possibilità e scelga la strada ottimale per compiere una determinata scelta. Esempio: perdo le chiavi di casa, ma non inizio a cercare in tutti i centimetri di casa ma andrò a cercare in alcuni posti per primi con alcuni criteri (dove le ho lasciate l’ultima volta, dove mi ricordo di averlo visto). Struttura teorica dell’algoritmo Un algoritmo si basa su 3 strutture fondamentali: 1. Sequenza 2. Ciclo, può essere ripetuta fino a che una determinata condizione può essere soddisfatta. 3. Scelta condizionata Ogni processo di soluzione è una sequenza di passi in cui a un certo punto ci può essere un ciclo che si ripete finché una determinata condizione non viene soddisfatta. E infine scelta condizionata: se le cose stanno così fai questo altrimenti altro. I programmi sono e possono essere scritti in tanti linguaggi di programmazione diversi mentre questa è la I programmi sono e possono essere scritti in tanti linguaggi di programmazione diversi mentre questa è la struttura teorica dell’algoritmo. COSA SI FA NEL PROBLEM SOLVING AUTOMATICO? Da una parte abbiamo il problema da affrontare: si affronta trovando un modo per sequenzializzare le informazioni. Il problema è una serie di stati, cioè la rappresentazione di una possibile configurazione degli elementi del problema, e naturalmente questi elementi del problema devono essere un numero finito. Ovvero se il problema è la partita di scacchi, ogni stato è un particolare modo in cui sono posizionate le pedine sulla scacchiera. Gli stati Ci sono diversi stati del problema: - Stato è la rappresentazione di una possibile configurazione degli elementi del problema. - Stato iniziale - Uno o più stati finali ovvero l’obiettivo, o obiettivi. L’agente o software o programma fa una serie di operazioni per passare da uno stato all’altro quindi costruisce un percorso. Questi passaggi sono chiamati transizioni di stato. Le azioni possono essere chiamate anche operatori, perché possono essere facilmente definite da operatori in formato logico. Gli operatori possono essere espressi in formato logico La formula che diamo per generare azioni nel gioco del cubo di Rubik, ad esempio, è Operatore: sposta x, destra (tessera, direzione). Il processo di risoluzione che porterà all’obiettivo non sarà altro che una sequenza di questo unica operazione attraverso un’esplicita descrizione non ambigua. C’è una sequenzialità nelle operazioni, quindi possiamo dire ce uno stato è successore di un altro se si ottiene tramite l’applicazione di un operatore. Questa però è una limitazione, non è detto che posso ottenere lo stesso risultato a partire dallo stesso stato. Non è detto che posso ottenere con tutti gli stati sono ottenibili immediatamente da qualunque stato. Iniziamo a vedere tutto nell’insieme… Tutti gli stati presi nel loro insieme costituiscono lo spazio degli stati. Lo spazio degli stati allora è l’insieme di tutti gli stati raggiungibili nel corso del processo di soluzione gli stati sono raggiungibili nel senso che c’è una sequenza di operazioni che mi fanno arrivare a quello stato. Può non esserci un unico stato finale e questi stati si possono esprimere in termini relazionali, ovvero ci sono relazioni fra stato sono le azioni che li legano. Tante concatenazioni di operazioni sono processi che portano da uno stato iniziale ad uno finale/da uno stato a un altro. Rappresentazione grafica dello spazio degli stati Si da una rappresentazione grafica dello spazio degli stati almeno si capisce più precisamente quali sono le operazioni che deve fare l’algoritmo. Grafo Orientato Si usa il grafo orientato. È un insieme di nodi, che rappresentano gli stati, e di linee che li collegano. È orientato perché ci sono delle frecce sue questi collegamenti; quindi, in un grafo orientato ci sono i nodi che sono gli stati, gli archi sono i collegamenti; quindi, rappresentano le operazioni che si possono fare. In questi grafi possono esserci anche della ciclicità, possiamo passare più volte per lo stesso stato. Con il grafo possiamo riconoscere predecessore e successore. Quando il programma ha trovato un percorso tra due nodi definito si parla di cammino, ma la questione importante non è il cammino in sé, ma quanto esso vale quindi la lunghezza del cammino, che posso misurare tramite il numero degli archi. Posso confrontare i cammini tra loro e il programma può prendere le sue informazioni per fare delle scelte. Se guardiamo in figura 5 è uno stato finale, sperando sia la soluzione che cerchiamo Il 6 è uno stato non raggiungibile con gli stati che abbiamo. È un elemento dello spazio non è raggiungibile. In ogni problema ci possono essere stati non raggiungibili. Grafo orientato aciclico Un grafo dove non ci sono mai cicli. È la rappresentazione più maneggevole perché con i cicli posso non saper quando arriverò all’obiettivo, alla fine. Senza i cicli invece potrò definire in maniera non ambigua tutti i cammini che voglio, più o meno lunghi senza che questa infinità sia contenuta dentro al grafico ma è un contenuto del grafo. Problema dei ponti di Koenigsberg I grafi vengono presi da Eulero e il problema dei ponti di Koenigsberg, una città prussiana dove è nato Kant. Si dice che le persone si divertissero a fare un particolare gioco: dovevano passare su tutti i 7 ponti una sola volta. Possiamo stilizzare questo problema e farlo diventare un grafo. I problemi legati al grafo sono proprio quelli legati al gioco di Koenigsberg: è possibile percorrere tutti e 7 i ponti senza mai passare sullo stesso? Tutti i grafi sono percorribili per intero se ha tutti i nodi di grado pari o due di grado dispari, nel qual caso si parte da uno dispari e si arriva uno dispari. Se posso matematizzare questo aspetto sarò in grado di calcolare tutti i percorsi e questo ci interessa perché posso trovare la soluzione di un problema, analizzando tutte le possibili soluzioni Però prendere in considerazione tutte le mosse per una possibile soluzione è impossibile da fare con un problema reale (nel gioco degli scacchi è possibile) perché non possiamo sapere tutte le variabili possibili. Quindi l’algoritmo, come facciamo noi, deve prendere in considerazione solo poche possibilità. Come facciamo a programmare questi algoritmi’? Ci vuole una funzione di calcolo che mi permette di fare una comparazione, che calcola ciò che conviene di più. Ma come stabiliamo ciò che conviene di più? Questa è la parte dell’intelligenza! Devo fare in modo di insegnare alla macchina (machine learning) per far scegliere alla macchina. Ricerca in profondità L’altra modalità che ha una ricerca differente (depth-first): Invece di andare a vedere tutti i figli parto dalla radice e visito il primo figlio e scendo in profondità e se si arriva a una foglia riparto dal fratello di livello più basso. È anche detta visita a scandaglio Se vado verso in basso magari arrivo più velocemente alla soluzione, è un tipo di ricerca a pila. Non vado a vedere tutti i nodi ma provo solo con uno e vado a cercare in profondità. Mentre nella prima si sostituiva il nodo all’inizio con questa ricerca si sostituisce il nodo alla fine. È una filosofia diversa che si applica quando vogliamo arrivare in un posto e siamo più o meno sicuri della strada. Queste due ricerche esprimono due approcci diversi e hanno due possibilità diverse. L’algoritmo ha le stesse istruzioni di quello di prima, ma cambia solo una cosa: il nodo che non ha figli viene inserito all’inizio della lista spessa. Le differenze tra le due ricerche Questa piccola differenza (un nodo all’inizio e uno alla fine) definisce delle potenziali differenze molto elevate. Innanzitutto, ricordiamo che ci sono diversi spazi che devono essere analizzati:  Spazio degli stati; tutti gli stati che possono essere assunti dalle configurazioni degli stati (alcuni non sono nemmeno raggiungibili).  Spazio del problema; quelli che sono gli stati effettivamente raggiungibili. Io applico i miei operatori e ho le mie operazioni da fare e non posso arrivare a tutti gli state ma ad un numero abbastanza ampio. Questi stati mi definiscono lo spazio del problema, perché tutti gli stati che prendo in considerazione sono tutti elementi che mi aiutano a capire il cammino di soluzione.  Spazio di ricerca, lo spazio che effettivamente vado a vedere, i rami che vado a espandere, che vado a analizzare. Possiamo arrivare a vedere tutti gli spazi del problema, sono gli stati che mi definiscono dove sta la mia ricerca, quello che ho cercato. Questi tre differenti insiemi hanno questa relazione: lo spazio degli stati avrà una grandezza maggiore dello stato del problema e lo stato della ricerca sarà minore dello stato del problema SS > SP > SR Quello che dovrebbe are un programma intelligente è ristringere il più possibile lo spazio della ricerca. Se prendo in considerazione meno nodi, più velocemente arriverò alla soluzione e risparmierò più risorse. Se ci si mette troppo tempo a fare il piano per arrivare allo stato finale, ho sprecato troppo tempo. Contenuto dei nodi Nei nodi noi troveremo  Lo stato associato, come stano le cose in un determinato momento. Ovviamente non ci basta questo perché è solo un elenco di informazioni.  L’arco che collega il nodo al padre questo ci fa capire da dove viene il nodo, quale mossa è stata fatta.  Un arco per ogni figlio che rappresenta tutte le possibili mosse che possono essere fatte, mi dice dove posso andare e quale percorso devo prendere e con quali mezzi. Mi mostra l’operatore che ha portato a esso, quali sono gli applicatori, e gli operatori applicabili per arrivare ai figli generabili  La variabile, ovvero Il costo del cammino compiuto dalla radice a quel nodo. Mi serve per fare le mie valutazioni sulle risorse che io impiego. Tutte queste info servono perché il programma agisce sulla base di queste informazioni. A seconda dell’obiettivo che noi ci diamo dobbiamo capire la quantità di risorse che servono per arrivare alla soluzione. È per questo motivo che è importante riuscire a minimizzare il numero dei nodi che devono essere analizzati. È importante minimizzare ma non sempre: se io voglio la situazione ottimale senza interessarmi del tempo che impiegherà allora non mi interessa minimizzare. In base all’obiettivo che mi do posso dosare quella che è la capacità di risorse che vengono impiegate per trovare il cammino di soluzione e quelle che vengono impiegate per metterlo in pratica. LEZIONE 9 SEMINARIO LEZIONE 10 14 OTTOBRE STRATEGIE DI RICERCA Quello che ci interessa non è arrivare all’obiettivo ma capire come arriva all’obiettivo. In situazioni complesse gi essere umani prendono decisioni, e per farlo non fanno un’analisi di tutte le risorse e i modi disponibili per raggiungere un obiettivo ma attuano delle strategie. Le strategie di ricerca che affronteremo sono basate su metodi che prendono in considerazione più possibilità. Abbiamo visto la ricerca per ampiezza e la ricerca in profondità; con entrambe queste ricerche la scelta viene fatta a priori e attua delle strategie sistematiche. Ricerca in avanti È una ricerca guidata dai dati, ovvero dalle informazioni che ha della situazione attuale. Parte dalla situazione iniziale, si muove in avanti e cerca di arrivare alla situazione finale. Anche detto Forward Chaining Ricerca all’indietro Con queto tipo di ricerca si parte da uno stato finale e si cerca di arrivare a quello iniziale. La differenza è che la seconda strategia la possiamo applicare solo quando conosciamo l’obiettivo. Viene anche detto Backward Chaining Ricerca Didirezionale Nella maggior parte delle situazioni possiamo applicare, in maniera opportunistica, quello che ci interessa maggiormente, e quello che riteniamo più utile, utilizzando quindi una strategia mista. Per valutare le strategie di ricerca possiamo considerare altri elementi:  Strategia completa, una strategia viene considerata completa se ci aiuta a vedere se il problema in questione ha una soluzione, se esiste. Un esempio è la ricerca in ampiezza perché si prendono in considerazione tutti i possibili livelli.  Strategia ottimale, una strategia iene considerata ottimale se la prima soluzione che viene trovata è quella più breve, che mi costa di meno. In questo caso anche la ricerca in ampiezza è ottimale perché analizzando tutti i livelli so subito quale è quello più corto. Ricerca in profondità VS Ricerca per ampiezza Anche se i due algoritmi sono molto simili, dal punto di vista teorico, la ricerca per ampiezza è completa e ottimale. MA per ottenere la situazione ottimale dobbiamo perderci tempo, e spesso non possiamo permettercelo (ad esempio, la sostenibilità ambientale può essere un limite). Con la ricerca in profondità non è detto che arriviamo ad una soluzione, e anche se poniamo dei limiti e trovo questa soluzione non è detto che questo sia ottimale. Nonostante questo, la ricerca in profondità viene considerata quella più efficiente perché non tengo in considerazione tutte le possibilità, ma solo i nodi del cammino attuale. Entrambe queste ricerche sono cieche, non utilizzano dati e per questo motivo funzionano solo in spazi di ricerca piccoli. Quando i nodi hanno un valore, vengono stimati vengono poi messi in coda e si sceglie quello con il valore più basso, e si continua (viene espanso, si scelgono i figli e così via) Questi nodi vengono utilizzati poi per trovare il cammino ottimale. Il cammino ottimale riesco a trovare se la seconda parte h(n), la vera funzione valutativa, è una sottostima del costo effettivo che porta da n alla soluzione finale. La funzione che sottostima di più, che è più informata, e più ottimista arriverà alla soluzione ottimale. Una traduzione algoritmica della strategia ottimista, del nostro comportamento e ragionamento. Esempio Se prendo il gioco del 15 posso usare due diverse euristiche: posso configurare tutti gli stati del problema e calcolare quante caselle sono fuori posto, facendo quindi una stima attraverso la funzione di valutazione euristica e posso impilare i nodi secondo un ordine (magari la soluzione in cui ho solo 3 caselle fuori posto è meglio di averne 8 fuori posto. Oppure posso calcolare qual è la distanza che ogni tassello ha dal posto in cui dovrebbe essere. In questo modo non ho solo l’informazione di ciò che ho fori posto ma anche di quanto è fuori posto. Mi permette di agire con più cognizione. Grafi AND/OR Possiamo risolvere un problema scomponendo in sotto problemi, quindi devo risolvere ogni sotto problema e arrivare a quello finale. Ci sono due possibilità: ci sono sotto problemi che si risolvono affrontando una serie di sotto parti, oppure quelli in cui basta affrontarne solo uno. 1. And, ho una serie di questioni da risolvere per risolvere il problema e devo risolverle tutte. 2. OR, devo risolvere o una questione o un’altra. Se vado a Roma devo decidere se prendere il treno, o aereo  Nodo OR Se prendo l’aereo devo comprare biglietto, fare check-in. Sono cose che devo fare tutte non posso scegliere nodo AND E così via… PIANIFICAZIONE Riguarda tutti quei metodi di problem solving adattati a problemi che richiedono la pianificazione delle azioni, una sequenzialità delle azioni. Se dobbiamo risolvere un problema che implica una serie di azioni, dobbiamo pianificare questa sequenza di azioni in modo di arrivare al nostro obiettivo. Mentre nel problem solving il punto è trovare il punto di soluzione e minimizzare le risorse, con la pianificazione teniamo in considerazione che le mosse possono avere e spesso hanno una sequenzialità. Esempio Torri di Londra da dei vincoli e devi spostare le palline con una data sequenza per raggiunger l’obiettivo. Pianificare un percorso per arrivare a un obiettivo non è altro che risolvere un problema (è quindi una parte del problem solving) ma con delle implicazioni. Il ruolo del tempo e dell’azione sono molto importanti in questo caso. A cosa serve la pianificazione? Ci serve per determinare quali azioni ci possono far trovare soluzioni anche in modo diverso, perché se troviamo un ostacolo dobbiamo prevedere delle alternative. Temporalità e Frame Problem I programmi devono risolvere problemi tenendo conto dei vincoli che hanno. Organizzare la sequenzialità delle azioni significa mettere in ordine e quindi dobbiamo tenere conto della:  Temporalità; dobbiamo tenere conto della relazione d’ordine tra le azioni che vengono fatte. Nei primi anni dell’AI non si teneva conto della variabile tempo, poi con McCarthy viene introdotto il tema del tempo, e si trova una prima soluzione. Introduce il calcolo situazionale, una variabile per calcolare il tempo. Il calcolo consiste nel descrivere la situazione in cui ci si trova quando si deve compiere l’azione. Ma questo da un lato complica un po’ le cose perché aggiungiamo ulteriori informazioni che poi dovranno essere elaborate, producendo dei problemi. Tra cui il l Frame Problem, uno dei problemi principali dell’AI. Quando io riesco a risolvere un problema, il sistema non ha la percezione di ciò che non cambia. Se io faccio un piano d’azione e applico azioni cambia qualcosa nel mondo in cui opero. Ad esempio, se voglio togliere la borsa dal tavolo farò una sequenza di azioni e cambia qualcosa da un punto di vista logico classico. Ogni volta che faccio delle azioni (sposto la borsa) e non parlo di tutti gli altri cambiamenti, che riguardano tutti gli oggetti che sono nella stanza. Però non è così semplice dire al sistema tutto quello che cambia, perché tutti questi cambiamenti non sono facilmente rappresentabili secondo sistemi logici. Però conoscere questi cambiamenti ci servono e il Frame Problem si occupa proprio di questo. Ci sono stati dei tentativi per risolvere questo problema, tra cui gli strips. Strips Sono algoritmi di pianificazione. Se costruiamo uno scenario in cui noi riusciamo a dominare l’informazione di ciò che cambia e che non cambia, ci siamo portati avanti rispetto al problema del frame. In questi casi le azioni sono definite dalle precondizioni e conseguenze. Simili al “se… allora...” nella logica classica. Ci saranno delle aggiunte e delle cancellazioni nella base di conoscenze da cui ero partito. Ad esempio, nel gioco del 15 non dico solo sposto quella tessere a destra, ma faccio delle valutazioni “se sposto quella tessere a destra allora bla bla bla…” La nuova configurazione delle tessere la aggiungo alla mia conoscenza, e la vecchia configurazione la cancello. In termini logici: Un’azione A è caratterizzata da una serie di variabili che ne esprimono le precondizioni, le aggiunte e le cancellazioni. Il problema è che per definire anche azioni molto semplici devo usare troppe risorse computazionali. Dal punto di vista logico funziona ma se dobbiamo costruire algoritmi che mettano in sequenza delle azioni diventa tutto molto complicato. Per costruire una sequenza di azioni con precondizioni e conseguenza l’euristica che viene utilizzate è: Analisi mezzi-fini Se guardo l’obiettivo che devo raggiungere e vedo quali operatori devo applicare per arrivare all’obiettivo. Se guardo l’obiettivo e vado all’indietro per ridurre la distanza tra dove mi trovo e l’obiettivo la costruzione della sequenza di azioni come sarà? Per ogni azione devo vedere precondizioni di ogni azione e vado sempre più indietro, fino a creare una soluzione in cui tutte le precondizioni sono soddisfatte. Esempio Se vado a Milano vedo lo stato finale. Lo stato finale è arrivare in stazione, quale è la precondizione? Prendere il treno, come arrivo sul treno? Prendo il biglietto ecc ecc… Il problema è rappresentare correttamente la situazione tra le conoscenze del programma. Quello di cui si deve tenere conto è che gli obiettivi sono in sequenza, e che quando costruiamo tutte queste azioni andando all’indietro dobbiamo fare attenzione nello scegliere un’azione che riesca a salvaguardare tutto il processo che ho fatto fino a ora, e che non lo metta a repentaglio. In parole più semplici: Una cosa importante è la sequenzialità delle azioni, se costruiamo una concatenazione delle operazioni non possiamo prevedere delle azioni che danneggiano qualcosa che verrà fatto in futuro se no danneggiano l’obiettivo. Ridurre la differenza Quello di cui si deve tenere conto è che gli obiettivi sono in sequenza, e che quando costruiamo tutte queste azioni andando all’indietro dobbiamo fare attenzione nello scegliere un’azione che riesca a salvaguardare tutto il processo che ho fatto fino a ora, e che non lo metta a repentaglio. Quando sequenziamo le azioni, anche a ritroso, non dobbiamo arrivare nella situazione che mi impedirà di fare un passo futuro che era in programma. LEZIONE 11 Lunedì 17 ottobre 3. Problema dell’ambiente che si modifica continuamente L’ambiente in cui si trova il robot cambia in continuazione, non è possibile prevedere tutti i cambiamenti (ci sono cambiamenti standard e non standard). Noi abbiamo almeno il concetto di imprevedibilità 4. Problema del rispondere in tempi brevi Se mi muovo nel mondo reale lo devo fare secondo tempi adeguati, non posso fare cose troppo veloci o troppo lentamente. Critiche Queste problematiche hanno generato una serie di critiche 1. Critiche al modello classico (quello basato sulla logica classica) Il modello classico della pianificazione funziona solo se tutti i passaggi possono essere definiti, è un modello troppo rigido. Se noi fossimo solo logici non riusciremmo ad adattarci all’ambiente circostante 2. Critiche al rappresentazionalismo Non è detto che noi ragioniamo per rappresentazioni. 3. Critiche al simbolico L’idea che l’informazione possa essere trattata tramite simboli è stata messa in dubbio, se rimaniamo in un orizzonte simbolico rimaniamo sempre confinati in domini troppo specifici, a una quantità di informazioni piuttosto limitata. 4. Critiche alla mancanza di plausibilità Viene criticata l’idea che non possiamo fregarcene di cosa è plausibile dal punto di vista naturale e biologico, se poi ci ispiriamo alla biologia. Se non sono plausibili dal punto di vista naturale non possono essere usati. Difficoltà e risposte La robotica opera su sistemi situati, collocati in un ambiente dalle caratteristiche definiti solo in termini non assoluti. L’idea è quella di costruire sistemi che si basano non solo sulle informazioni che hanno dentro ma sull’interazione con l’ambiente in cui operano. È importante il modo in cui reagisce ad una interazione (sbatto contro un muro allora mi giro). Allora si cerca un approccio basato sul comportamento all’interno di un contesto e non la preimpostazione dei concetti e delle informazioni. NUOVA ROBOTICA Questi nuove idee hanno portato ad una nuova robotica, anche detta situata. Questa robotica tiene conto del fatto che gli automi operano in un mondo reale, e il loro essere situati è rilevante e per costruire un sistema che si comporti in maniera adeguata. In particolare, Rodney Brooks, uno scienziato robotico, ha costruito robot simili agli insetti. Questi robot non sono rappresentazionali o memorizzanti, non hanno sistemi che hanno esseri umani, e infatti si ispirano ad apparati neurali più limitati dei nostri. In questi robot ci sono dei moduli per ogni operazione, con un determinato scopo che fa svolgere una determinata attività. Non c’è un'unica elaborazione ma tanti sottosistemi che si occupano di alcune funzioni. Chi decide quale attività deve essere fatta? Le attività vengono gerarchizzate, alcune sono più basiche altre più elevate e quando il robot può fare attività più complesse, ovvero in contesti semplici che glielo permettono, si fa partire i moduli più elevati. Questo modo di costruire apparati robotici è stato visto come un neocomportamentismo. L’idea che non è importante costruire al meglio sistemi di regolazione centrale, vedere quello che accade nella black box, ma è importante creare un sistema che funzioni, che metta insieme stimoli risposta in maniera autonoma. Architettura stratificata Si parla di architettura stratificata, per architettura si intende il modo in cui vengono strutturata la struttura. È stratificata perché gli strati vengono gerarchizzati. Quando alcuni strati sono attivi, altro sono scienziati, alcuni possono prendere il sopravvento su altri. L’idea di base è la scomposizione del comportamento di un’attività complessa in attività più semplici. Il modo in cui noi descriviamo un’attività non è il modo preciso in cui questa attività viene fatta effettivamente ma può essere fatta come composizione di tante micro-attività. In questo caso il comportamento si dice emergente rispetto alle attività più semplici che lo costituiscono. Non c’è un’unità di elaborazione centrale perché è costosa in termini di energia computazionale ed è fragile, perché in una sequenza di azioni basta che un qualunque passaggio salti per rovinare tutto ed è ingombrante in termini materiali. Situatedness In questa nuova robotica si vede un’evoluzione delle embodiment, la cognizione sensoriale è essenziale per fare degli artefatti autonomi e c’è l’idea che i circuiti percettivo-motori sono dove avviene la cognizione e non c’è più l’idea che ci sia un’unità di elaborazione centrale. Parliamo quindi di situetedness, un’idea secondo cui l’informazione è la raccolta dell’ambiente in cui ci si trova e quindi il sistema che interagisce con l’ambiente produce il comportamento. L’idea di fondo è che si può partire dal basso per costruire dei sistemi (bottom-up), aggiungere pezzi a queste architetture per costruire poi un pezzo autonomo. Questo genera una domanda: Si può far a meno della rappresentazione? Forse sì, ma solo nei compiti di più basso livello, come ad esempio i Roomba. Ma fino a dove si può arrivare? È una domanda anche filosofica e psicologica: possiamo fare a meno di tutte le teorie percettive? Questo è un dibattito che nasce circa 30 anni fa ed è ancora attivo. Nuova Robotica A un modello classico di questo tipo si sostituisce a questo nuovo modello. I livelli intermedi non sono sequenziali ma sono gerarchizzati secondo una scala per cui i livelli più bassi sono quelli collegati alle azioni più basilari. Ogni livello può attivarsi ma se c’è una necessità quelli più bassi, quelli basilari si attivano per dare la possibilità di prendere il sopravvento su operazione più complesse. Video A seguito di questi sviluppi comincia una riflessione anche sulla possibilità di costruire una robotica di altro tipo, in grado di avere capacità di alto livello, immagini, concetti, pensiero off line. Questi sono i due poli della questione, diversi approcci che hanno cominciato a convivere all’interno dell’intelligenza artificiale che hanno determinato diversi approcci e diverse visioni. La robotica si è espansa in diversi campi diventando una disciplina su cui si è investito tantissimo. A partire dai primi sviluppi negli anni successivi cerca di sviluppare altri artefatti con varie generazioni di robot: Robotica e Etica Ci sono due filoni riguardo all’etica e la robotica: Come posso programmare dei robot in maniera etica? Come gli costruisco il metodo etico per farlo interagire con gli altri e nell’ambiente circostante? C’è un grosso studio riguardo comportamenti etici dietro queste costruzioni, perché bisogna capire quali regole dare a questi robot affinché non siano dannosi. Emozioni in ambito robotico https://www.youtube.com/watch?v=dKZczUDGp_I Un artefatto robotico deve usare le giuste emozioni per relazionarsi con gli umani, c’è quindi un problema sul capire cosa sono le emozioni, come emulare le emozioni e se le emozioni emulato siano delle vere emozioni. La robotica umanoide https://www.youtube.com/watch?v=uD1CdjlrTBM Oltre al fatto che di solito mette un senso di angoscia e inquietudine, ci sono delle problematiche dal punto di vista commerciale; infatti, questi non sono i robot di maggior diffusione. TIPI DI RAGIONAMENTO LOGICO Deduzione: a partire da premesse vere si arriva a conclusione necessariamente vera Induzione: a partire da premesse vere si arriva a un certo grado di probabilità Analogia: si procede per somiglianze tra le strutture di due cose. Diventa più difficile arrivare alla modellizzazione. Parte dello studio dell’ai è stato dedicato a programmi che fanno analogie Abduzione: a partire da una premessa certa e una probabile, si giunge ad una conclusione. A partire da ipotesi particolari si ricava una deduzione particolare, come un investigatore che parte da indizi e arriva a ipotesi. Sono forme di ragionamento altamente ipotetico.  Più ci muoviamo verso le forme di ragionamento che implicano probabilità e non certezza, più le cose si fanno difficili da implementare all’interno di ai. LOGICA E SCIENZA C’è stato sempre un legame tra logica e ragionamento scientifico, tanto che intorno alla metà del xx secolo le forme di spiegazioni scientifiche andavano incontro a tentativi di formalizzazione. Vediamo il modello nomologico-deduttivo di Hempel. Se devo spiegare un fenomeno E, utilizzo una serie di condizioni che descrivono il contesto in cui il fenomeno avviene e una serie di leggi generali all’interno di una o più teorie scientifiche. Questa visione sarebbe bella e facilmente inseribile in un sistema computazionale ma non coglie quelle che sono le nostre possibilità esplicative. Il nomologico-deduttivo è un modello di forme di ragionamento basate sulla deduzione, quelle che sono abbastanza semplici da fare. Però nella stragrande maggioranza dei casi noi non deduciamo ma induciamo: partiamo dalla collezione di eventi, dalle conoscenze che abbiamo per arrivare a regolarità/generalizzazioni. In tutti questi casi statistici parliamo di probabilità perché se vediamo accadere numerose volte lo stesso fenomeno empirico non abbiamo la certezza assoluta di poter generalizzare quel fenomeno. Non c’è mai la certezza assoluta quando generalizziamo a partire dall’empirismo. Apprendimento (machine learning) Il machine learning è stato a lungo basato sul ragionamento induttivo, su due forme di induzione: - Probabilità: P(h):0-1 Astrae da una serie di casi particolari una generalizzazione con un grado di probabilità misurata in un intervallo tra 0 e 1. Dove: 0 è l’impossibilità che qualcosa accada e 1 è la necessità che accada. - Inferenza alla migliore spiegazione In maniera più informale, i sistemi di ml hanno cercato di mettere in atto un ragionamento abduttivo per cui, a partire da una serie di indizi si ipotizza quella che potrebbe essere la soluzione migliore La logica è stata anche collegata, oltre che con la programmazione, anche con la simulazione di: - Neurone (McCulloch and Pitts, von Neumann) - Cervello - Pensiero critico - Programmazione Logic theorist e general problem solver  La rappresentazione della conoscenza si è basata in prismis sulla logica. LT e GPS sono due programmi intelligenti in cui la rappresentazione della conoscenza aveva un formato simbolico, un insieme di proposizioni scriveva i domini e le situazioni in cui il sistema si trovava ad operare. Attraverso questo riducevano la differenza tra lo stato corrente e lo stato obiettivo. Che è un modo di avvicinarsi alla soluzione del problema. Tre tipi di obiettivo (con A e B come oggetti): - Trasformare A in B - Ridurre la differenza tra A e B - Applicare l’operatore Q ad A Questi modi di considerare un obiettivo sono tutti esprimibili in formato logico: un operatore è facilmente esprimibile in formato logico come la relazione tra due variabili. Attraverso una rappresentazione in formato logico riusciamo a tradurre tutte queste operazioni ed espressioni di quelli che sono oggetti, situazioni, ecc. e quindi applicare l’euristica generale ossia l’analisi mezzi- fini.  Euristica generale = analisi mezzi-fini: partire dai mezzi per vedere come raggiungere un determinato fine. In questi programmi era già presente la struttura in precondizioni e soddisfazione delle precondizioni. L’abbiamo vista nel planning: le azioni erano definite dall’effettiva azione fatta e anche dalle sue condizioni e dalle conseguenze. Le conseguenze sono cambiamenti nel dominio in cui si sta operando che si flettono nella rappresentazione della conoscenza del sistema stesso. In questi programmi c’erano varie strategie: se la strategia non funziona, allora si fa il backtracking fino a un punto di scelta. PROBLEMA DELL’ESPLOSIONE COMBINATORIALE Ovviamente anche questi programmi, soprattutto il general problem solver, hanno avuto la pretesa di essere generalisti con la possibilità di essere applicati ad ampio raggio, come noi utilizziamo l’intelligenza per risolvere molti problemi. Tra i problemi che ne risaltano c’è quello dell’esplosione combinatoriale: il fatto che ci si trovi di fronte a tantissime possibilità che devono essere tutte considerate ed analizzate. Esiste sempre una classe di problemi che riguarda soprattutto l’azione nel mondo reale e che pone di fronte un numero indeterminato di possibilità. Una strategia di ricerca non può comporre assolutamente tutte quante. PROBLEMA DELL’INSUCCESSO E RAZIONALITÀ LIMITATA (BOUNDED) Altro problema è il fatto che questi sistemi possono anche fallire, arrivare all’insuccesso. Ciò è strettamente collegato al modo in cui cercano di valutare le possibilità che hanno. Anche strettamente collegato al fatto che questa valutazione viene fatta sulla base di un numero limitato di risorse che possono essere computazionali ma anche risorse di conoscenza. Risolvere un problema diventa tanto più facile quante più cose si conoscono della situazione che si vuole affrontare, ma le conoscenze quasi sempre sono parziali e quindi si agisce in un contesto di incertezza per trovare la soluzione. Gps: general problem solver È facile rappresentare un problema in termini di obiettivi attraverso formalismi logici e calcolo predicativo. Ogni problema si compone di: obiettivo, operatore e azioni. Siccome tutta la conoscenza viene immessa dall’esterno, il programmatore rappresenta il problema (la parte intelligente): se il sistema non impara, sarà sempre limitato; il programmatore vincola il programma a fare determinate cose perché non è detto che il suo sia il giusto spazio problemico. Il programma deve solo mettere insieme relazioni e correlazioni. Non c’è una vera conoscenza approfondita della situazione e quindi non è tanto intelligente o libero, chi definisce l’analogia migliore? Se la conoscenza che mettiamo dentro è già strutturata per arrivare a qualcosa, il programma sarà spinto a fare questa determinata operazione. Oggi abbiamo sistemi che apprendono a partire da una serie di casi, i sistemi basati su reti neurali fanno training per arrivare a settarli per arrivare ad altri esempi. Il problema sta nelle conoscenze che vengono scelte per dare le informazioni su cui il sistema si deve formare, sono scelte da esseri umani e portano con sé tutti i loro bias. Sembra ovvio ma ci si è accorti di ciò solo dopo che algoritmi usati in situazioni sensibili hanno dato problemi. Resta sempre il problema della conoscenza  Tutte le volte che la conoscenza viene fornita dall’esterno (e oggi non si sa ancora come fare altrimenti) manca una parte di fluidità dell’intelligenza che è difficile da implementare nel programma e non si è ancora capito come fare. Elementi della GAI Per arrivare all’intelligenza artificiale generale si andavano a studiare gli aspetti più generali del linguaggio naturale. Da qui sono nate varie branche dell’ai tra cui: - SIP: elaborazione dell’informazione semantica - NLP: elaborazione del linguaggio naturale Dalla seconda derivano gli studi di linguistica computazionale pensati come sistemi per maneggiare e manipolare la conoscenza semantica, di cui oggi disponiamo in larga misura, in formato testuale e ultimamente anche vocale. La rete è piena di testi che tutti scrivono e anche, ormai, di vocali (tecnicamente anche un audio WhatsApp potrebbe essere utilizzato per raccogliere informazioni). Questa visione sposa l’idea di un computer come dispositivo di elaborazione simbolica generale, in grado di elaborare il linguaggio. Negli anni 60-70 vengono prodotti sistemi che cercano di spiegare come sia possibile che un programma elabori un linguaggio naturale: lo può fare appoggiandosi ad una serie di strumenti che fanno sembrare che il programma capisce quello che stiamo facendo come aveva detto Turing. Si costruiscono programmi come ELIZA che simulava il comportamento di uno psicoterapeuta, questo ha dato nome all’effetto eliza, ossia all’idea di essere di fronte a qualcosa di più intelligente, una parvenza di intelligenza. Linguaggio naturale Il problema del linguaggio naturale è che i computer non risolvono problemi IN linguaggio naturale. Quindi, il linguaggio naturale non va bene per modelli e rappresentazioni della conoscenza (knowledge representation - KR). Si sceglie la logica dei predicati e non la lingua con cui ci esprimiamo perché il linguaggio naturale ha delle caratteristiche di incertezza che lo rendono difficilmente trattabile da un computer basato su metodi logici. Ci si rende conto che fare una KR nel modo più utile o più affrontabile significa lavorare di volta in volta su domini specifici con una serie di conoscenze più generali, ma si abbandona l’idea di poter arrivare a sistemi generalisti. RAPPRESENTAZIONE DELLA CONOSCENZA Requisiti per la costruzione: - Linguaggio di rappresentazione basato su un insieme di strutture sintattiche, logiche, formali, interpretabili semanticamente, che servono a codificare la conoscenza e che possono essere implementate su un calcolatore. - Insieme di regole (procedure effettive) per manipolare le strutture sintattiche, con il fine di ottenere inferenze. Rappresentazione della conoscenza e logica proposizionale La computazione rappresentazionale della mente è l’idea che la nostra mente abbia una parte rappresentazione e una computazionale, conoscenze e procedure. Cosa vuol dire utilizzare in termini logici una rappresentazione della conoscenza di questo tipo? Se ci riferiamo alla logica base e proposizionale avremo una serie di enunciati che possono avere una forma atomica e forme più complesse. Le forme più complesse sono la costruzione di proposizioni attraverso i connettivi che indicano la negazione, la congiunzione, ecc. Possiamo costruire forme di proposizione più complesse a partire da quelle atomiche e otterremo regole di inferenza: valide se conservano la verità delle premesse, se l’applicazione di queste regole porta a conclusioni vere. Fra le regole di inferenza, quella interessante per l’ai è la regola di risoluzione. Immaginiamo di avere un sistema di proposizioni che dice come è strutturata la disposizione degli oggetti all’interno della stanza: se qualcosa cambia posso cambiare le proposizioni che descrivono quello che c’è all’interno. Se qualcuno inserisce una conoscenza da fuori e non è vera, come fa un sistema di ai senza sensore e nulla a percepirlo? In questo tipo di visione si applica un procedimento di riduzione all’assurdo, il sistema assume che ci sia una sedia davanti alla porta e fa tutta una serie di inferenze, se arriva ad una contraddizione allora si deduce che quella deduzione che si era inserita sia falsa e quindi si butta via. Dobbiamo pensare come finiti questi casi di conoscenza, mentre per l’uomo così non è. Il problema di questi sistemi è che sono troppo rigidi, posso giocarci a dama ma non posso spiegare cosa succede nel mondo reale e questo limite ha portato al superamento di queste tecniche. Il ragionamento per assurdo18 è una forma di ragionamento che consociamo da migliaia di anni. Questo tipo di argomentazione logica consiste nell'assumere temporaneamente un'ipotesi e svilupparne le conseguenze così da giungere ad una conclusione assurda e dimostrare, di conseguenza, che l'assunto originale è errato. È stato pensato come regola da inserire per la manipolazione e trasformazione delle basi di conoscenza perché: 1. Più o meno facilmente formalizzabile 2. Rompe la monotonia (un sistema è monotono quando non contempla l’aggiunta di ulteriori conoscenze aldilà di quelle che si derivano a partire dalle espressioni). L’aggiunta di conoscenze è ciò che noi facciamo sempre di fronte a un problema. Tutto ciò che facciamo aggiunge conoscenze a ciò che sappiamo. La nostra rappresentazione della conoscenza e 18 La dimostrazione per assurdo, nota anche come ragionamento per assurdo, è un tipo di argomentazione logica nella quale, muovendo dalla negazione della tesi che si intende sostenere e facendone seguire una sequenza di passaggi logico-deduttivi, si giunge a una conclusione incoerente e contraddittoria l’utilizzo della nostra conoscenza è assolutamente non monotono mentre le logiche classiche (quelle dell’ai) sono assolutamente monotone.  In generale, se da una base di conoscenza deriva una contraddizione allora il fatto contraddetto non segue da quella base di conoscenza. Rappresentazione della conoscenza e logica dei predicati Noi possiamo utilizzare forme più espressive di logica, non solo la proposizionale ma anche la predicativa. Logica predicativa: è più espressiva perché ci permette di entrare nelle posizioni e descrivere le proprietà e le relazioni tra i concetti che esprimono determinate classi e proposizioni, come nei sillogismi (proposizioni che descrivono relazioni tra classi, una sotto parte delle logiche predicative) Le logiche predicative sono più complesse: con l’espressività del calcolo predicativo posso avere una maggiore ricchezza e quindi basi di dati e di conoscenze che utilizzano formule più complesse e che sono più espressive, che descrivono con più dettaglio il mondo o il modello di riferimento.  Tanta maggior espressività abbiamo, tanta maggiore ricchezza di dettaglio abbiamo, tanto più ci servono risorse computazionali per trattare questo tipo di proposizioni. Oggi abbiamo a che fare con grandi repertori di dati, database giganteschi perché abbiamo strumenti che accolgono dati ovunque, il famoso big data. Disponiamo anche di basi di conoscenze gigantesche, dati strutturati in maniera dettagliata, relazionale, ecc. perché molte conoscenze che abbiamo inserito non sono soltanto semplici dati ma anche espressioni più complesse di relazioni tra dati. Oggi il modo in cui tutto questo può essere trattato è diventata una branca a sé dell’ai. Non è più soltanto mettere una conoscenza nei programmi ma è tutto quell’insieme di tecniche e teorie che ic permettono di analizzare i dati in maniera utile. Anche per la logica predicativa si è standardizzato nel tempo l’utilizzo di regole di risoluzione, riduzione dell’assurdo, ecc. per fare ricerche e quindi aggiungere o cancellare conoscenze. dentro al computer nel quale metteremo una serie di proposizioni che definiranno questo. Oggi questo non si fa più, ci sono algoritmi che estraggono automaticamente relazioni che occorrono. ALTRI ELEMENTI DELLA RETE SEMANTICA: - archi di sussunzione (isa): per le sottocategorie, la relazione di sussunzione indica la gerarchizzazione - archi che rappresentano gli attributi di un concetto generico (attraverso l’etichetta) - archi di istanziazione collegano un concetto individuale a uno generico - archi per attributi dei concetti individuali  Questa è solo una terminologia tecnica per dire le cose di cui abbiamo parlato, quello che è fondamentale è la questione dell’ereditarietà degli attributi. Se devo inserire una conoscenza all’interno di una rete con l’ereditarietà, vuol dire che l’informazione dentro la metto una sola volta, questa è una delle motivazioni per cui le nostre conoscenze semantiche sono associative  concetto di economia Altrimenti ogni volta dovremmo immagazzinare ogni informazione e tutte le sue proprietà, e questo non sarebbe fattibile né per noi né per il calcolatore, sarebbe molto dispendioso. EREDITARIETÀ DEGLI ATTRIBUTI NEI CALCOLATORI L’ereditarietà degli attributi, che si adatta perfettamente a questa visione della rappresentazione della conoscenza semantica, funziona molto bene anche dal punto di vista dei calcolatori. Questi concetti/relazioni li inseriamo nelle basi di conoscenza con la logica dei predicati che permette di descrivere le relazioni tra categorie. Utilizziamo la logica dei predicati perché facilmente implementabile dal calcolatore. L’ereditarietà dal punto di vista logico non è altro che una sorta di inferenza, deduzione intesa a provare o sottolineare una conseguenza logica. Le reti semantiche nei calcolatori si compongono di: - Concetti generici: predicati a un solo argomento - Concetti individuali: costanti, nel sistema logico assumono un solo riferimento. - Attributi: proprietà relazionali binarie dedicate ad un argomento. - Archi di sussunzione: implicazioni quantificate universalmente - Archi di istanziazione: predicati a un posto di concetti individuali Con le reti semantiche posso rappresentare eccezioni all’ereditarietà, una delle caratteristiche del nostro modo di conoscere la realtà è che noi possiamo categorizzare e questo ci consente di risparmiare. Ma ogni oggetto ha delle caratteristiche diverse seppur appartenenti alla stessa categoria, le proprietà fanno la differenza. Queste proprietà di specifiche sono eccezioni dei concetti più generali. Il nostro modo di ragionare si muove tra queste due cose: in base alla necessità specifica utilizziamo concetti più o meno generici. Se ci vogliamo sedere cerchiamo una sedia, se ci vogliamo sedere sulla sedia rossa dobbiamo soffermarci sulle caratteristiche delle sedie all’interno dell’aula. Le eccezioni le mettiamo via, queste eccezioni non sono altro che la traduzione semantica di quello che dicevamo ieri: abbiamo bisogno di modificare continuamente la nostra base di conoscenza rendendola, dal punto di vista logico, non monotono; perché noi non ragioniamo tenendo presente sempre un complesso fisso ma siamo in grado di acquisire dati e informazioni che cambiano costantemente la nostra percezione di una determinata situazione. Attraverso l’attivazione di determinati nodi, l’inclusione dell’attivazione dei nodi vicini mi permette o dovrebbe simulare il fatto che normalmente quando pensiamo passiamo da un concetto a un altro attraverso connessioni. Sono cose su cui noi non poniamo attenzione, ma vengono esplicitate per poter trovare un modello a questo tipo di capacità. ESISTONO MODI DIVERSI DI SCRIVERE LE RELAZIONI NELLE RETI SEMANTICHE La semantica che descrive il mondo coglie tutti gli elementi fondamentali della situazione raffigurata sopra con cerchi e frecce. La lista è la stessa cosa, però, il calcolatore lavora molto meglio con questa che con il grafico. È solo un modo diverso di scrivere le relazioni che ci sono. Ogni volta che mi trovo davanti ad un dominio definito, non è difficile creare reti semantiche ma può diventare più difficile. Vediamo le relazioni in termini tassonomici con, a livello eterarchico, per ogni categoria le caratteristiche che possono essere espresse. Una volta inserite tutte queste conoscenze, il dispositivo può utilizzarle. CONCETTI E STRUTTURE Raffinamenti delle reti semantiche: - SCRIPT: sono dei copioni composti da scene che servivano ai sistemi di AI per comprendere le situazioni. Un copione per ogni situazione, una serie di conoscenze stereotipate su una serie di situazioni in cui però l’informazione poteva essere aggiunta cambiata, cancellata, ecc. Tutti questi sistemi sono pensati per dare un nucleo di informazioni standard che valgono quanto più generalmente possibile, più tutte le informazioni che vogliamo aggiungere. La nostra razionalità è limitata perché abbiamo poche risorse e questo ci permette di rivedere continuamente le informazioni che abbiamo. È una descrizione del modo in cui ragioniamo. - FRAME (Minsky): simili alle reti semantiche dove però le eccezioni sono rappresentate (il cane può avere 4 zampe ma quello sfortunato può averne anche 9). Tutto ciò serve a raffinare i modelli attraverso un ragionamento non monotono tipico del ragionamento quotidiano. Dal punto di vista logico-informatico quello che non funziona è un’idea di concetti che è tipica della visione più classica del significato. Secondo varie teorie in passato il concetto non era altro che quell’insieme di proprietà necessarie e sufficienti, esplicitamente definite che deve avere una certa entità del mondo per poter essere categorizzato. Ma se così fosse non ci sarebbero mai ambiguità semantiche, non potremmo confonderci o sbagliare mai, però avremo perso la fluidità della semantica che non vogliamo perdere perché ci permette di avere più potenza espressiva. L’idea che noi possiamo utilizzare dei concetti o che i concetti che utilizziamo possono essere definiti da liste, è un’idealizzazione dal punto di vista di come ragioniam. Questa visione dal punto di vista logico computazionale funziona, ma nostra conoscenza semantica non è così. Ludwig Wittgenstein La più grande critica a questa idea o perlomeno la prima nel corso dell’evoluzione, è quella del filosofo Wittgenstein che nelle ricerche filosofiche dà una teoria molto diversa della semantica, ADEGUATEZZA RAPPRESENTAZIONALE Da un punto di vista di riflessione epistemologica McCarthy e Hayes hanno proposto una differenziazione a tre modelli di rappresentazione: a. Rappresentazione metafisicamente adeguata: la forma del mondo all’interno del sistema corrisponde alla realtà e alle mie conoscenze, non contraddice la realtà b. Rappresentazione epistemologicamente adeguata: per esprimere i fatti da un punto di vista pratico c. Rappresentazione euristicamente adeguata: i processi di ragionamento sono esprimibili nel linguaggio di programmazione, fa riferimento a come arriviamo a rappresentare dal punto di vista della programmazione questi aspetti più pratici e applicativi che ci servono per la costruzione di un’adeguata conoscenza del sistema Tutte le forme che abbiamo visto e che cercano di cogliere gli aspetti semantici tipici del modo di concettualizzare la realtà, sono delle euristiche della conoscenza. Sono modi e metodi per cogliere nel giusto modo di rappresentare la realtà secondo gli scopi di un ragionamento effettivo. Ma noi esseri umani siamo in grado di muoverci anche di fronte a situazioni assurde come queste:  Tutte queste problematiche del frame problem non sono altro che riflessioni che devono essere condotte in reversione al rapporto tra figura e sfondo, tra conoscenza implicita ed esplicita, che per noi è fondamentale in ogni momento ma difficilmente inseribile in un sistema si soli metodi logici. SHRDLU (Winograd, 1972) Programmi degli anni 70 volevano raggiunger e trovare soluzioni al sistema turingiano. Ci sono altri linguaggi che hanno seguito programmi più filosofici. SHRDLU è un programma con motore semantico abbastanza avanzato, un sistema che si muoveva nel mondo di blocchi senza una generalità, per agire in un dominio specifico. Questi domini sono chiamati anche domini giocattolo perché si vuole esprimere l’idea che di fronte ad una situazione facilmente rappresentabile il gioco della conoscenza è un gioco da ragazzi. È facile costruire basi di conoscenza in cui tutti gli elementi sono definiti e questa facilità si riflette nella facilità di utilizzare conoscenze anche da un punto di vista di interazione. Questo programma è una pietra lineare nello sviluppo delle tecniche e tecnologie semantiche. Avremo un buon parsing, cioè un buon analizzatore sintattico basato sui livelli di formalizzazione. Secondo regole della grammatica delle lingue che è in grado di analizzare sistematicamente le frasi del linguaggio naturale però, è rilevante comprendere queste frasi dal punto di vista semantico. Come? Tornando all’esempio delle reti semantiche, ovviamente si parla di un cubo, una piramide, un oggetto che sta sopra un altro oggetto, ecc. Possiamo facilmente confrontare queste frasi, questi ordini dati dall’esterno, dall’utente del programma e andare a vedere se fanno parte del dominio giocattolo con cui si stava confrontando. Ci si rende conto che costruire la rappresentazione di una conoscenza in un dominio giocattolo è facile, ci si rende anche conto però che tutta la conoscenza del dominio è rilevante. È quella che serve per fare le operazioni, agire e rispondere, utilizzando il nostro linguaggio naturale come oggi fanno gli assistenti vocali. Ciò che non era programmato dal punto di vista della conoscenza non poteva entrare nel programma.  La conoscenza di dominio rilevante è fornita dal programma Si vuole arrivare ad avere maggiore conoscenza rispetto a quelli che potrebbero essere i modi di inserire la conoscenza all’interno di un sistema, in maniera: - Dichiarativa: inferenze, descrizioni di fatti in formato logico, ma spesso vicino al linguaggio naturale - Procedurale: che cosa deve essere fatto (mini-programmi) C’è stato un dibattito su quale fosse la migliore forma di conoscenza, se i programmi dovessero andare solo verso l’una o l’altra. In filosofia della mente in questi anni si discute se le nostre menti non siano altro che repertori di immagini o proposizioni, ecc. Quali sono i contenuti delle nostre menti? Ci sono diversi dibattiti filosofici che si riflettono sull’ai perché il percorso è simile, ma soprattutto la spinta è sempre euristica e le teorie servono. C’è una sorta di decadenza dell’utilizzo della logica per rappresentare la conoscenza, la logica non scompare ma ci si rende conto che i limiti di questo approccio sono ben più che banali. Fine anni 70 si propone di combinare i due tipi di rappresentazione e si considerano le nostre conoscenze in parte dichiarative e in parte procedurali. La rappresentazione della conoscenza resta un grande problema. Resta il problema di doversi confrontare con il concetto della conoscenza che diventa il frutto su cui nascono nuovi approcci all’ai. Di linguaggi specifici nell’ai per la rappresentazione della conoscenza ce ne sono stati diversi a partire da quelli iniziali. Ci si accorge di volta in volta che è molto rigido questo modo di utilizzare le informazioni e noi non siamo così rigidi. Etarchia Wiston, negli anni 70, è stato uno dei primi modellizzatori del ragionamento analogico e da quel punto di vista dall’ai è nata l’idea che dobbiamo considerare i sistemi cognitivi come degli apparati neurali dove ci sono tanti sotto pacchi implementabili in programmi che agiscono tra loro. Sono moduli, per fare tutte queste cose e arrivare ad avere un sistema da cui emerge un vero modo di ragionale, fare analogia, categorizzazione. Sono i sistemi in cui si tradurranno quelli che oggi sono gli agenti di cooperazione su cui si basa la programmazione. L’idea è che possiamo costruire modelli di tante situazioni della realtà utilizzando agenti che sono interessanti perché il singolo agente è programmato per essere un sistema intelligente in un qualche dominio, ma anche e soprattutto per la loro imperfezione. Da questi tentativi di distribuire la cognizione e quelle che sono le risorse informazionali dei sistemi nascono grandi nuovi approcci e modelli distribuiti che sono un po’ un fallimento. Rappresentazione di modelli gerarchici vs modelli non gerarchici: la rigidità di una certa rappresentazione logica e gerarchica delle conoscenze si cerca di superarla costruendo sistemi dove il comportamento collettivo di tante entità fa una media del comportamento cognitivo intelligente più adeguato. SISTEMI Sistemi a regole di produzione Questa lunga riflessione sulla rappresentazione produce sistemi che funzionano e che vengono utilizzati ancora oggi. L’ai è un mondo dove gli approcci cambiano ma non si butta via nulla. Si iniziano a costruire sistemi in cui la conoscenza è tutta inserita con regole di produzione: se c’è una certa condizione allora succede una certa cosa. Questo perché si mescolano l’idea che la nostra conoscenza sia solo indicativa o solo procedurale.  Se condizione allora effetto In questo modo è facile arrivare a una rappresentazione logica e cogliere tutti gli aspetti più ordinari e fattibili. Si sistemicano delle cose che producono dei fatti e questo implica una conoscenza nella base di conoscenze di ciò che può essere fatto. Sono interessanti perché sono già un primo tentativo di
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved