ANNUNCI ORARI LABORATORI QUESTA SETTIMANA NIENTE RICEVIMENTO QUESTA SETTIMANA (VISITATORE DALLA GERMANIA) Modulo B: NON CI SARANNO LEZIONI MARTEDI’ 10-12 (B2) IL 4 APRILE (CONFERENZA EACL) ULTIMA LEZIONE (10-11 APRILE): RIASSUNTO DEL CORSO, ESEMPI DOMANDE ESAMI APPELLI: INSIEME A MODULO C, 15 E 30 GIUGNO LABORATORI QUESTA SETTIMANA LUN 8-10 MAR GIO LAB B (& B2) LAB E 12-14 C2 14-16 LAB D? (& B3) 16-18 LAB C 18-20 VEN LAB A (30/3) LAB A 10-12 MER B1 D C3 C1 RICEVIMENTO (MASSIMO POESIO) Ricevimento: Martedi’ 16-18, via Sighele 7 NON questa settimana INFORMATICA UMANISTICA B 8: INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE: UNA DEFINIZIONE “L’intelligenza artificiale è quella disciplina appartenente all’informatica che studia i fondamenti teorici, le metodologie e le tecniche che permettono di progettare sistemi hardware e sistemi software capaci di fornire a un elaboratore delle prestazioni che, per un osservatore comune, sembrerebbero essere di esclusiva pertinenza dell’intelligenza umana” BREVE STORIA DELL’INTELLIGENZA ARTIFICIALE PRECURSORI: interesse nello sviluppo di ‘esseri umani meccanici’; ‘robots’ dalla fantascienza DOPO LA GUERRA: cibernetica, giochi, ragionamento automatico, traduzione automatica IL RUOLO DELLA COMMONSENSE KNOWLEDGE nel linguaggio / nei sistemi esperti IL RUOLO CENTRALE DELLE TEORIE DI APPRENDIMENTO L’IA COME INDUSTRIA L’IA COME SCIENZA I PRECURSORI LE GRANDI ASPETTATIVE DEI PRIMI ANNI (1956-1969) Obiettivo principale: trovare dei metodi di risoluzione dei problemi GENERALI che si potessero applicare a problemi considerati ‘caratteristici dell’intelligenza avanzata’ come il gioco degli scacchi o la dimostrazione automatica dei teoremi COMPUTER CHESS: DEEP BLUE Nel 1997, il programma DEEP BLUE sviluppato da ricercatoridell’IBM guidati da Feng-hsiung Hsu batte’ il campione del mondo Gary Kasparov su sei gare HEURISTIC SEARCH La ricerca IA negli anni ’50 e ’60 si concentro’ sullo sviluppo di algoritmi di RICERCA estremamente efficienti che permettessero di analizzare un numero enorme di possibilita’ usando delle FUNZIONI EURISTICHE I PRIMI PROBLEMI (1966-1973) Insuccesso programmi di traduzione automatica: il rapporto ALPAC Ritiro sovvenzioni Crisi generale Insuccesso nello sviluppo di programmi di visione LA TRADUZIONE AUTOMATICA LA TRADUZIONE AUTOMATICA LE SCOPERTE CHIAVE DELLA IA, 1 Molte delle attivita’ che noi consideriamo ‘intelligenti’ (giocare a scacchi, dimostrare un teorema matematico) sono (relativamente) facili per un calcolatore usando la forza bruta (= heuristic search) Gli aspetti della cognizione umana che sono piu’ difficili per un calcolatore sono le attivita’ che noi svolgiamo senza pensarci: Comprensione del linguaggio Visione Tutte queste attivita’ richiedono quantita’ enormi di conoscenza e la capacita’ di fare ragionamento ‘commonsense’ I SISTEMI BASATI SULLA CONOSCENZA (1969-1985) Sviluppo di tecniche per la RAPPRESENTAZIONE DELLA CONOSCENZA Sviluppo dei primi SISTEMI ESPERTI Importanza della conoscenza del dominio Sistemi di supporto all’esperto umano Trattamento del linguaggio naturale Attenzione all’aspetto semantico oltre a quello sintattico RAPPRESENTAZIONE DELLA CONOSCENZA LOGICA e ragionamento automatico La logica del primo ordine e’ la forma piu’ antica di formalizzazione del ragionamento Venne naturale pensare di utilizzare metodi logici per codificare il ragionamento (particolarmente di tipo matematico) Rappresentazione della COMMONSENSE KNOWLEDGE (SENSO COMUNE) A partire dagli anni ’60 si svilupparono meccanismi di ragionamento ispirati agli studi psicologici LA LOGICA DI ARISTOTELE IL SILLOGISMO (Aristotele, Analitici primi ed altre opere): Tutti gli uomini sono mortali Socrate e’ un uomo. Quindi, Socrate e’ mortale. DALLA LOGICA AL RAGIONAMENTO AUTOMATICO A partire dagli anni ’50 vennero sviluppati una serie di metodi di dimostrazione di teoremi basati sulla logica del primo ordine sufficientemente formali da poter essere ’meccanizzati’ Queste tecniche continuano ad essere sviluppate ed hanno portato alla creazione di ‘theorem provers’ in grado di dimostrare teoremi non banali IL PROBLEMA DEI QUATTRO COLORI Congettura: dato un piano diviso in regioni, e’ possibile colorare le regioni usando non piu’ di 4 colori in modo che due regioni ADIACENTI siano sempre di colore diverso Provato da un dimostratore automatico di teoremi nel 1997 DIMOSTRAZIONE AUTOMATICA: RISOLUZIONE Per gli entusiasti ….. All Cretans are islanders. All islanders are liars. Therefore all Cretans are liars. ∀X C(X) implies I(X) ∀X I(X) implies L(X) Therefore, ∀X C(X) implies L(X) ¬C(X) ∨ I(X) ¬I(Y) ∨ L(Y) ¬C(X) ∨ L(Y) ESEMPI DI THEOREM PROVER ‘HIGH PERFORMANCE’ Otter Donner & Blitzen SCOPERTA CHIAVE DELL’IA N. 2 La logica da sola non e’ sufficiente come teoria del ragionamento `commonsense’ umano LIMITI DELLA LOGICA TRADIZIONALE Falso problema: la logica tradizionale e’ una formalizzazione del ragionamento ‘veridico’, ma il ragionamento umano non e’ sempre veridico Soluzione: logiche non monotone Problema piu’ serio: la logica NON ci dice quali sono le inferenze richieste Altro problema: la complessita’ Un terzo problema discusso di seguito USO DELLA ‘COMMONSENSE KNOWLEDGE’ NELLA COMPRENSIONE DEL LINGUAGGIO Sidner (1979): The city council refused the women a permit because they feared violence. The city council refused the women a permit because they advocated violence Hirst (1981): BRISBANE – a terrific right rip from Hector Thompson dropped Ross Eadie at Sandgate on Friday night and won him the Australian welterweight boxing title. DUE VISIONI DELL’INTELLIGENZA ARTIFICIALE Visione 1: lo sviluppo di programmi capaci di eseguire compiti intelligenti, possibilmente MEGLIO degli esseri umani Visione 2: lo sviluppo di programmi capaci di SIMULARE comportamenti umani Con l’obiettivo di studiare come si comportano gli umani (visione cognitiva) Con l’obiettivo di creare macchine che possano interagire con gli umani RETI SEMANTICHE: RISULTATI DALLA PSICOLOGIA COGNITIVA Collins & Quillian, 1969: tempi per decidere se un oggetto ha una certa proprieta’ aumentano a seconda della ‘distanza’ A canary is yellow A canary has feathers A canary eats food Haviland & Clark 1974, Sanford & Garrod 1979: I looked around the house. The lounge was very spacious. LE RETI SEMANTICHE RETI SEMANTICHE: IL PRESENTE Idee sviluppate nel lavoro sulle reti semantiche vengono oggi applicate anche in ambiti non strettamente ‘IA’ Nei linguaggi di programmazione ‘ad oggetti’ come Java Nel SEMANTIC WEB (lezione prossima) SCRIPTS (SCHANK & ABELSON, 1977) Giovanni entro’ al ristorante. Il menu’ era cambiato; ordino’ uno dei nuovi piatti. Il conto fu salatissimo. CONOSCENZE STEREOTIPE NELLA COMPRENSIONE DEL LINGUAGGIO Schank & Abelson fecero osservare che il tipico testo riporta solo una minima parte di quel che succede in una situazione Per il resto, si assumono conoscenze ‘implicite’ su situazioni stereotipe (gli SCRIPTS) Queste conoscenze vengono anche usate per interpretare riferimenti ‘tipici’ come IL CONTO UN ESEMPIO DI SCRIPT SCOPERTE CHIAVI DELL’IA, 3 Le quantita’ di conoscenza ‘commonsense’ che noi umani utilizziamo per compiti come comprendere il linguaggio e’ enorme E’ praticamente impossibile codificarla tutta a mano, ed in ogni caso e’ probabile che la conoscenza cosi’ codificata non sia nel formato ‘giusto’ per risolvere I problemi Due soluzioni: Anni ’70-’80: domini ristretti Anni ’90: Ritorno all’apprendimento automatico I PRIMI SISTEMI ‘KNOWLEDGE-BASED’ PER LA COMPRENSIONE DEL LINGUAGGIO: SHRDLU Winograd, 1974 UN DIALOGO CON SHRDLU Person: PICK UP A BIG RED BLOCK. Computer: OK. Person: GRASP THE PYRAMID. Computer: I DON'T UNDERSTAND WHICH PYRAMID YOU MEAN. Person (changing their mind): FIND A BLOCK WHICH IS TALLER THAN THE ONE YOU ARE HOLDING AND PUT IT INTO THE BOX. Computer: BY "IT", I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I AM HOLDING. Computer: OK. Person: WHAT DOES THE BOX CONTAIN? Computer: THE BLUE PYRAMID AND THE BLUE BLOCK. Person: WHAT IS THE PYRAMID SUPPORTED BY? Computer: THE BOX. Person: HOW MANY BLOCKS ARE NOT IN THE BOX? Computer: FOUR OF THEM. Person: IS AT LEAST ONE OF THEM NARROWER THAN THE ONE WHICH I TOLD YOU TO PICK UP? Computer: YES, THE RED CUBE. SISTEMI ESPERTI Un altro esempio di applicazione che richiedeva informazione su domini limitati e poteva quindi venire sviluppata con le techniche IA anni ’70 sono i SISTEMI ESPERTI: sistemi che possono risolvere problemi in un dominio specifico ESEMPI DI SISTEMI ESPERTI Diagnosi medica (MYCIN, anni ’70) Diagnosi di guasti ai motori DELTA-CATS1, General Electric, Bonissone et al 1984 IDEA, Centro Ricerche Fiat, ~1993 Energia: monitoraggio di centrali nucleari / controllo dello stato della rete di distribuzione (DIAPO, 1994) UN SISTEMA ESPERTO PER LA DIAGNOSI DEI DOLORI TORACICI: THORASK UN’ENCICLOPEDIA DEL SENSO COMUNE: CYC Un progetto cominciato nel 1984 da Doug Lenat con l’obiettivo di codificare tutta la commonsense knowledge Cambiato formalismo diverse volte, oggi: rete semantica espressa in formalismo di tipo logico Due versioni: OpenCyc, disponibile al pubblico (50 000 concetti, 300 000 fatti) e sulla rete ad http://www.opencyc.org/ ResearchCyc, a pagamento / per motivi di ricerca (“3 volte le dimensioni di OpenCyc”) CONOSCENZE IN CYC "Bill Clinton appartiene al gruppo dei presidenti degli USA“ (#$isa #$BillClinton #$UnitedStatesPresident) “Tutti gli alberi sono piante” (#$genls #$Tree-ThePlant #$Plant) “Parigi e’ la capitale della Francia". (#$capitalCity #$France #$Paris) L’APPRENDIMENTO PRENDE IL RUOLO CENTRALE (1985) La ricerca sui metodi per l’apprendimento automatico comincio’ anche prima dell’Intelligenza Artificiale vera e propria, ma per anni senza grossi risultati A partire dagli anni ’70 pero’ lo sviluppo di metodi nuovi di apprendimento, e la presa coscienza del ruolo essenziale della conoscenza nei processi conoscitivi (e della necessita’ di acquisirla automaticamente) fece si’ che la teoria dell’apprendimento divento’ forse la parte centrale dell’IA. PRIMI LAVORI SULL’APPRENDIMENTO: LA CIBERNETICA Studio della comunicazione e del controllo negli organismi viventi e non viventi McCulloch, Pitts (1943) Primo modello di neuroni artificiali Ogni funzione calcolabile può essere calcolata da una rete di neuroni RAPPRESENTAZIONE DELLA CONOSCENZA NEL CERVELLO MODELLI COGNITIVI ISPIRATI ALLE RETI NEURALI: IL PERCETTRONE ALTRE TEORIE DELL’ APPRENDIMENTO Reti neurali come uno dei tanti approcci allo studio dell’acquisizione Oggi oltre che a teorie basate sull’analogia con il cervello esistono Approcci statistici basati su teorie della generalizzazione Approcci logici (logiche INDUTTIVE) PERCEZIONE Un’area in cui le teorie dell’apprendimento (particolarmente statistico, ma anche reti neurali) oggi svolgono una funzione dominante e’ la percezione, sia visiva che auditoria ESEMPIO: COMPRENSIONE DEL PARLATO LA ROBOTICA La robotica oggi e’ una delle aree piu’ importanti dell’Informatica Uno degli obiettivi e’ ancora di sviluppare ‘robot’ umanoidi (od animaloidi) nel senso classico, specialmente come giocattoli Forse l’area piu’ importante e’ quella dei robot industriali ROBOTICA ‘EVOLUTIVA’ Si e’ sviluppato pero’ anche un nuovo paradigma, secondo il quale e’ un errore cominciare dal tentare di riprodurre le facolta’ cognitive piu’ sofisticate; occorre invece cominciare dal ‘basso’ GLI SVILUPPI DAL 1995 AD OGGI Intelligenza artificiale come scienza Intelligenza artificiale come industria L’INTELLIGENZA ARTIFICIALE DIVENTA UNA SCIENZA Rivoluzione nei contenuti e nelle metodologie Teoremi rigorosi Evidenze sperimentali Chiarimento dei rapporti con le scienze cognitive INTELLIGENZA ARTIFICIALE E SCIENZE COGNITIVE IA condivide molti degli obiettivi e dei metodi delle scienze cognitive Storicamente molta interazione fino agli anni ’90 Ora le due aree si stanno separando: Intelligenza artificiale interesse maggiore verso l’aspetto applicativo e verso i metodi simbolici Scienze cognitive interesse maggiore per gli aspetti psicologici ed i metodi ispirati dalle scienze neurali IA `FORTE’ E `DEBOLE’ Intelligenza artificiale FORTE: Un computer dotato di genuina intelligenza non distinguibile in nessun senso importante dall’intelligenza umana “L’IA vuole solo originali: macchine dotate di mente in senso pieno e letterale” IA `FORTE’ E `DEBOLE’ Intelligenza artificiale DEBOLE: Un computer opportunamente programmato possa solamente simulare i processi cognitivi umani (o alcuni di essi) nello stesso senso in cui un computer può simulare il comportamento di un evento atmosferico, o di una fissione nucleare. IA FORTE E DEBOLE Condividono: Metodologie Strumenti Tecnologie Elaborano informazione, rappresentata da simboli discreti, mediante un programma L’INTELLIGENZA ARTIFICIALE COME INDUSTRIA Sistemi esperti commerciali Uso di ragionamento automatico per la verifica di programmi Robotica industriale Progettazione di chip Linguaggio: Ricerca di informazioni Interfacce uomo-macchina Traduzione automatica (EU) ROBOTICA INDUSTRIALE & APPLICATIVA TEST DI TURING Turing propose di sostituire la domanda “E’ possibile per una macchina pensare” con un TEST: E’ possibile per una macchina ingannare il suo utente e fargli credere di essere un’essere umano? LETTURE Ciotti, cap. Search: Dimostrazione online SHRDLU: Wikipedia, sito di Winograd