Introduzione all Intelligenza Artificiale

Похожие документы
Intelligenza Artificiale. Introduzione. Intelligenza Artificiale Daniele Nardi, 2003 Introduzione 0

Rappresentazione della Conoscenza. Lezione 1. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 1 0

Intelligenza Artificiale A (lezione introduttiva parte di teoria)

Università di Bergamo Facoltà di Ingegneria. Intelligenza Artificiale. Paolo Salvaneschi A1_1 V1.1. Introduzione

L intelligenza artificiale

Intelligenza artificiale

REGISTRI D'ESAME CODICE ESAME CORSO DI LAUREA NOME DEL CORSO LAUREA CFU

Intelligenza artificiale

Università di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali

Materiale didattico. Intelligenza Artificiale. L inizio dell Intelligenza Artificiale

Università di Bergamo Facoltà di Ingegneria. Intelligenza Artificiale. Paolo Salvaneschi A3_1 V1.3. Agenti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M

Intelligenza Artificiale

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

LOGICA E FILOSOFIA DELLA SCIENZA

Per un vocabolario filosofico dell informatica. Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Intelligenza Artificiale. Lezione 6bis. Sommario. Problemi di soddisfacimento di vincoli: CSP. Vincoli CSP RN 3.8, 4.3, 4.5.

Un punto di vista sulla Vita Artificiale. Domenico Parisi Istituto di Scienze e Tecnologie della Cognizione Consiglio Nazionale delle Ricerche

FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M

INTELLIGENZA ARTIFICIALE

Intelligenza Artificiale

UNIVERSITA DEGLI STUDI DI MILANO-BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI

Sistemi di Interpretazione dati e Diagnosi Overview

UNIVERSITA' DEGLI STUDI DI MILANO - BICOCCA Facoltà di Scienze Matematiche, Fisiche e Naturali

Circuiti e algoritmi per l elaborazione dell informazione

Università degli Studi di Enna Kore Facoltà di Scienze dell Uomo e della Società Anno Accademico

MANIFESTO DEGLI STUDI DEL CORSO DI LAUREA IN INFORMATICA (CREMA)

Rappresentazione della Conoscenza. Lezione 6. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 0

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu

Linguaggi di programmazione e astrazione

Tecnologie per la mente. Laboratorio di Psicologia e Scienze Cognitive

Fondamenti di Elaborazione di Immagini Introduzione. Raffaele Cappelli.

Rappresentazione con i diagrammi di flusso (Flow - chart)

L approccio costruzionista attraverso la robotica educativa. Scritto da Roberto Orazi

Reti Neurali in Generale

METODI DI RICERCA E DI VALUTAZIONE IN PSICOLOGIA DELLO SVILUPPO

POLITECNICO DI TORINO ALLEGATO B - Bando D.R. n. 148 del Settore Scientifico disciplinare

i Giorgio Buttazzo Scuola Superiore Sant Anna - Pisa

Corso di Informatica per Biologia

CHE COS è L INTELLIGENZA ARTIFICIALE? Si può definire l intelligenza artificiale (IA) l insieme di studi e tecniche che tendono alla realizzazione di

Apprendere (e ragionare) con i modelli

Introduzione alla programmazione

LOGICA E PSICOLOGIA DEL PENSIERO. Logica, Linguistica e Scienza Cognitiva

Applicazioni:la traduzione automatica

APPUNTI PER IL CORSO DI ALFABETIZZAZIONE INFORMATICA

Università degli Studi di Enna Kore Facoltà di Scienze dell Uomo e della Società

Università di Udine Dip. di Scienze Matematiche, Informatiche e Fisiche

Dipartimento di Informatica Scienza e Ingegneria LAUREA MAGISTRALE IN INFORMATICA A.A. 2015/2016

Macchine come noi. L intelligenza artificiale: parte seconda

Intelligenza Artificiale (IA) Fondamenti di Intelligenza Artificiale

Sistemi e modelli. Sistemi

L Intelligenza Artificiale

Università degli studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in INFORMATICA

Teorie dell apprendimento, teorie della mente e dida0ca. Romina Nes+

Insegnare informatica nella scuola primaria e secondaria

Cosa è cambiato - la parte facile

Транскрипт:

Introduzione all Intelligenza Artificiale

Obiettivi e Sommario l Ilustrare brevemente le tecniche alla base dei Sistemi di Intelligenza Artificiale l Presentare l architettura dei Sistemi basati su Conoscenza l Presentare un semplice esempio di base di conoscenza regole, applicate in forward chaining 2

Intelligenza Artificiale l Il campo dell Intelligenza Artificiale o AI (dall inglese Artificial Intelligence) tenta di capire e costruire entità intelligenti l Nasce nel 1956 (Minsky, McCarthy, Shannon, Newell, Simon) l Quale definizione di Intelligenza? l Quale definizione di Intelligenza Artificiale? 3

Intelligenza Artificiale (1) l È lo studio di come far fare alle macchine cose che, ora come ora, gli esseri umani fanno meglio l insoddisfacente (scacchi, e altri giochi ) 4

Intelligenza Artificiale (2) l Una macchina in grado di superare il test di Turing l Alan Mathison Turing (1912-1954), pioniere dello studio della logica dei computer, il primo ad interessarsi di Intelligenza Artificiale l Computing machinery and intelligence, 1950 5

Test di Turing Interazione con un terminale in cui posso fare domande, ottenendo risposte Dall'altra parte c è una persona o un computer Se dopo 30 minuti non sono in grado di distinguere fra persona e computer... Il computer deve avere le seguenti capacità: Elaborazione del linguaggio naturale Rappresentazione della conoscenza Ragionamento automatico Apprendimento automatico Test di Turing globale (interazioni fisiche dirette): Robotica Visione artificiale

Categorie di attività in IA l Attività normali (ovvero come è possibile che cose così semplici siano così complicate?) l Processo del linguaggio naturale Comprensione" Generazione" Traduzione" l Percezione Visione" Linguaggio parlato" Ragionamento di buon senso" Controllo di Robot"

Applicazioni: Computer vision: Riconoscimento del parlato: Robotica:

Esempi l Robot violinista l Asimo (Carnegie Mellon), visione, pianificazione e movimento l Robocup, Robocup umanoidi, BigDog Robot l Geminoide l Wolfram Alpha l Deep Blue vs Kasparov (1997) l Watson (IBM), partecipa al gioco televisivo Jeopardy

Categorie di attività in IA l Attività formali Giochi" Scacchi" Dama " Matematica e Logica" Dimostrazione automatica di Teoremi" Geometria" Calcolo differenziale" Dimostrazione di proprietà di programmi"

Esempi l Robot violinista l Asimo (Carnegie Mellon), visione, pianificazione e movimento l Robocup, Robocup umanoidi, BigDog Robot l Geminoide l Wolfram Alpha l Deep Blue vs Kasparov (1997) l Watson (IBM), partecipa al gioco televisivo Jeopardy

DeepBlue IBM vs Kasparov (1996)

Ma anche, più recente... WatsonIBM

Categorie di attività in IA l Attività specializzate Ingegneria" Progetto" Ricerca di guasti (diagnosi)" Pianificazione della produzione" Programmazione automatica" Diagnosi medica" Analisi finanziaria" Analisi scientifica, etc. l Sistemi basati su conoscenza, o knowledgebased

IA: due correnti l Macchine intelligenti l si costruiscono programmi che raggiungono un alto livello di competenza nella conoscenza di problemi particolari" l approccio ingegneristico" l Non ci si occupa di simulare l'attività umana di ragionamento, ma di emularla selettivamente." l Scienza cognitiva l si cerca di modellare il comportamento umano e i suoi processi di informazione" l approccio di filosofi, psicologi, linguisti, biologi." l Il computer è un mezzo di sperimentazione." l Siamo ancora lontani dalla costruzione della macchina "intelligente", per cui ci si è limitati per adesso a problemi più semplici e trattabili."

La disciplina dell IA l E una disciplina giovane e in divenire, non ancora assestata, ma con alcuni principi comuni l Intelligenza Artificiale ha tre grosse aree: l Strategie di Ricerca" l Rappresentazione della Conoscenza" l Applicazioni" l Visione simbolica e dichiarativa " l Alternative (sistemi sub-simbolici): " l Connessionismo, reti neurali;" l Brooks e la costruzione di piccoli sistemi artificiali reattivi (insetti)."

Sistemi knowledge-based (kb) l Un sistema di Intelligenza Artificiale generalmente esamina un ampio numero di possibilità e costruisce dinamicamente una soluzione! 17

Sistemi knowledge-based (kb) l Un sistema basato sulla conoscenza è un sistema con: l Rappresentazione esplicita della conoscenza (regole - COSA) l Modulo di controllo che esamina le alternative, e cerca una soluzione (COME) l in grado di risolvere problemi di un dato settore (dominio), con prestazioni simili a quelle di un esperto umano 18

Architettura di un sistema kb 19

Base di conoscenza KB l Si rappresenta la conoscenza sul dominio come regole: if Antecedente then Conseguente Antecedente Conseguente l Formalismo simbolico e dichiarativo" l Maggiore leggibilità, modularità" l Attivazione in base alla verifica dell antecendente (pattern matching)" "

Esempio KB l Prescrivere un farmaco in base al risultato di un esame di laboratorio prescribe(drug) gram(neg). not(allergic(antb)). R1: gram(neg) id(ecoli). Se il risultato dell'esame è gram-negativo allora l'identità è enterium-coli" R2: id(ecoli) ind(antb)." Se l'identità è enterium-coli allora è indicato l antibiotico" R3: ind(antb) AND not(allergic(antb)) prescribe(antb)." Se è indicato un antibiotico a cui il paziente non è allergico, allora glielo si può prescrivere" "

Tutto chiaro? 22

Sviluppo di un sistema KB 23

Motore di inferenza l Modulo di controllo separato l Applica le regole, con Antecedente verificato concatenandole in avanti (forward chaining) l Esplora le alternative (se più regole applicabili) l Già disponibile (tool)

Esempio - motore forward gram(neg). not(allergic(antb)). R1: gram(neg) id(ecoli). id(ecoli). R2: id(ecoli) ind(antb)." ind(antb). R3: ind(antb) AND not(allergic(antb)) prescribe(antb)." prescribe(antb). " "

Vantaggi di un sistema KB 26

Vantaggi l Conoscenza esplicitata (regole), in modo simbolico e dichiarativo l Validabile dall esperto l Manutenzione e modifica più semplice l Sessione di spiegazione (testo di spiegazione associato alle regole) l Controllo separato (inference engine) l Tool (ambienti) per lo sviluppo 27

Domande? 28

Posso farlo in un linguaggio imperativo o OOP?! La risposta è sì, ovviamente" I linguaggi di programmazione sono in grado di esprimere tutte le funzioni calcolabili, e quindi anche la soluzione per il nostro problema di diagnosi e cura" Ma come lo fanno? Tipicamente mischiando COSA e COME (conoscenza e controllo)"

Con un linguaggio imperativo (1)! program prescribe(input,output); var Answer: string[2]; presc: boolean; begin presc:=false; write('e la coltura Gram Positiva?'); read(answer); if Answer='Si' then begin write('il paziente è allergico alla penicillina?'); read(answer); if Answer='No' then begin write('allora prescriverei una cura a base di penicillina'); presc:=true; end; end;

Con un linguaggio imperativo (2)! if not presc then begin write('coltura Gram Negativa?'); read(answer); if Answer='Si' then begin write('il paziente è allergico agli antibiotici?'); read(answer); if Answer='No' then begin write('allora prescriverei una cura a base di antibiotici'); presc:=true; end; end; end; if not presc then write('prescrizione impossibile'); end.

Posso farlo in un linguaggio imperativo o OOP?! l Difficile lettura e quindi difficile validazione da parte dell esperto del dominio" l Difficile modificare la conoscenza, estenderla o comunque manutenerla" l Difficile modificare la strategia (modificare l ordine con cui le regole vanno considerate, etc etc)" l Nei sistemi knowledge-based, conoscenza e controllo sono due moduli separati!

Conclusioni l I sistemi basati su conoscenza possono essere validi strumenti per formalizzare conoscenza di esperti (regole, protocolli, etc) l e applicarla in modo automatico (ragionamento e applicazione forward delle regole) l ma anche apprendimento automatico di regole dai dati (machine learning) 33

Quando è appropriato un sistema KB? l Conoscenza formalizzabile facilmente in regole/operatori l Necessità di cambiare le regole l Non-determinismo: più alternative possibili (esplorate automaticamente dal motore inferenziale) l Linee di ragionamento (chaining) l Spiegazione della soluzione ottenuta 34

Punti critici o aperti l Acquisizione della conoscenza (collo di bottiglia) l Validazione della conoscenza esplicitata l Incertezza (ragionamento qualitativo, ragionamento probabilistico, etc) l Approcci non simbolici (la conoscenza non è esplicita, reti neurali etc.) 35

Nel corso ci occuperemo di:" Controllo ed inferenza" l Soluzione di problemi di IA come ricerca nello spazio degli stati e strategie di ricerca" l Ricerca con avversario (giochi)" l Constraint Satisfaction Problems" Rappresentazione della conoscenza" l Formalizzazione di CSP" l Logica e formule logiche" l Sistemi a oggetti [DL, Semantic Web]" l Regole di produzione"

Compito a casa l Puntata di Presa diretta (Rai3) del 5 Settembre 2016, dal titolo Il pianeta dei robot, dal minuto 10:40 al minuto 58:20 l http://www.raiplay.it/video/2016/08/ Presa-diretta-Il-pianeta-deirobot-7ec6bf90-b049-450f-81eeee0cf8ee0426.html 37