intelligenza artificiale ing. federico bergenti dipartimento di matematica università degli studi...
TRANSCRIPT
Intelligenza Artificiale
Ing. Federico BergentiDipartimento di MatematicaUniversità degli Studi di Parma
E-mail [email protected] +39 0521 90 6929
© 2010 F. Bergenti Intelligenza Artificiale 2
Intelligenza Artificiale (AI)
Ambizioso progetto nato giàagli albori dell’Informatica
Lo scopo era di realizzare Macchine intelligenti Macchine capaci di interagire
con il mondo reale (robot) Recentemente si cerca di realizzare
Macchine in grado di risolvere problemi complessi Macchine dotate di comportamento razionale Macchine capaci di interagire con mondi complessi e
dinamici (Internet, il Web)
© 2010 F. Bergenti Intelligenza Artificiale 3
Il Meeting di Dartmouth
John McCarthy (1927-) conia il termine Intelligenza Artificiale nel 1955 Nella proposta per un meeting al
Dartmouth College del 1956 Nel meeting a Dartmouth si
pongono tutti i problemi che la AI non ha ancora risolto Cosa significa intelligenza? Cosa significa razionalità? ...
© 2010 F. Bergenti Intelligenza Artificiale 4
Test di Turing (1/3)
Ma cosa caratterizza un comportamento intelligente?
Alan Turing (1912-1954) propone nel 1950 un test empirico
Il test di Turing è ancora utile per capire di cosa si occupa l’AI
© 2010 F. Bergenti Intelligenza Artificiale 5
Test di Turing (2/3)
L’articolo del 1950 Computing Machinery and Intelligence inizia con la frase
I propose to consider the question, “Can machines think?”
L’articolo descrive un test che, applicato ad una qualsiasi macchina, è in grado di stabilire se la macchina è intelligente È una definizione operativa di intelligenza Esistono altre definizioni (Filosofia, Psicologia,
Neuropsichiatria, ...)
© 2010 F. Bergenti Intelligenza Artificiale 6
Test di Turing (3/3)
Due persone B e C sono giocatori di scacchi (inesperti)
A è una macchina realizzata con l’unico scopo di giocare a scacchi E.g., Deep Blue della IBM
C è in una stanza isolata e gioca a scacchi, ma non sa se sta giocando contro B o contro A
Se C non riesce a decidere se sta giocando contro B o contro A, allora A può essere considerato intelligente almeno quanto B!
© 2010 F. Bergenti Intelligenza Artificiale 7
Quattro Punti di Vista
Pensare come una persona Pensare razionalmente
Agire come una persona Agire razionalmente
© 2010 F. Bergenti Intelligenza Artificiale 8
Agire come una Persona
Il test di Turing definisce il termine comportamento intelligente Nel test originale, Turing non utilizza gli scacchi,
che richiedono razionalità
È un approccio antropocentrico L’obiettivo è imitare il comportamento dell’Uomo Da qui nascono gli imitation game
© 2010 F. Bergenti Intelligenza Artificiale 9
Eliza (J. Weizenbaum, 1966)
Ci sono stati vari tentativi di realizzare macchine che superassero il test di Turing
Eliza si comporta come uno psicoterapeuta della scuola di Rogersiana
Eliza si limita a Identificare le parti della
struttura delle frasi Riformulare in modo
interrogativo la frase appena ricevuta
> Hello, I am Eliza. * Hi> How are you today...What would you like to discuss?* I have problems at school> Can you elaborate on that? * I don't pass exams> Do you wish to be able to pass exams? * Yes, sure> I see. * Math exams are too difficult for me> Come, come, elucidate your thoughts. * I don't see a meaning in math> Do you wish to be able to see a meaning in math?
© 2010 F. Bergenti Intelligenza Artificiale 10
Pensare come una Persona
Per imitare il comportamento dell’Uomo si può simulare l’organo che genera il pensiero Il cervello è l’organo in cui si forma il
pensiero...almeno per la scienza!
L’obiettivo è creare un cervello elettronico che simuli il comportamento del cervello A livello cellulare Ricostruendo gli equivalenti di neuroni, assoni,
soma, ...
© 2010 F. Bergenti Intelligenza Artificiale 11
Il Cervello e i Neuroni
© 2010 F. Bergenti Intelligenza Artificiale 12
Le Reti Neurali
Ogni unità di calcolo simula un neurone
Le unità sono collegate in una rete Che riceve input da
sensori Che produce output su
attuatori La rete viene addestrata e
apprende il modo giusto di comportarsi È troppo complessa da
programmare Apprendimento per
rinforzo
© 2010 F. Bergenti Intelligenza Artificiale 13
Perceptron (Rosenblatt, 1957)
L’intelligenza risiede nei valori di w1, w2 e
Y = soglia(w1*x1 + w2*x2)
© 2010 F. Bergenti Intelligenza Artificiale 14
Riconoscitore di Testo Manoscritto
Neocognitron (K. Fukushima, 1980) Rete neurale
addestrata per riconoscere testo manoscritto
Usata in Sistemi OCR (Optical
Character Recognition) Dispositivi portatili di
nuova generazione
© 2010 F. Bergenti Intelligenza Artificiale 15
Pensare Razionalmente
Il pensiero Umano non è sempre razionale Siamo guidati dalle abitudini, dalle speranze,
dalle false credenze, ... Il ragionamento razionale è solo quello della
Logica Ritengo che se è vero A allora lo è anche B Appena ritengo vero A devo ritenere vero B!
La Logica consente di compiere delle deduzioni
© 2010 F. Bergenti Intelligenza Artificiale 16
Sistemi Esperti (1/2)
Macchine in cui sono state elencate delle regole di inferenza
Si fornisce alla macchina una base di conoscenza Un insieme di fatti veri o ritenuti tali
Il sistema esperto deduce nuovi fatti applicando le regole di inferenza ai fatti noti e ai fatti già dedotti La base di conoscenza cresce mentre la
macchina lavora
© 2010 F. Bergenti Intelligenza Artificiale 17
Sistemi Esperti (2/2)
Regole di inferenza: IF (mal_di_testa AND temperatura ≥ 37)
THEN influenza IF influenza
THEN prescrivi_aspirina
Base di conoscenza: mal_di_testa temperatura = 38 influenza prescrivi_aspirina
Regole di inferenza
© 2010 F. Bergenti Intelligenza Artificiale 18
MYCIN (E. Shortliffe, anni ‘70)
MYCIN è un sistema esperto per la diagnosi Contiene più di 600 regole Pone solo domande sì/no Fornisce una lista di diagnosi e
di trattamenti
È stato valutato utile nel 69% dei casi Superando i medici che hanno
fornito le regole di inferenza
© 2010 F. Bergenti Intelligenza Artificiale 19
Comportarsi Razionalmente
È l’approccio più moderno e promettente
I sistemi che si comportano razionalmente vengono detti agenti intelligenti e oggi sono molto studiati Per applicazioni tradizionali Per applicazioni nuove: ricerca nel Web, coordinamento di
operazioni in ambienti decentralizzati, ...
L’unica cosa importante è che la macchina si comporti razionalmente Non importa come
© 2010 F. Bergenti Intelligenza Artificiale 20
Teoria dei Giochi
È la base di molti agenti intelligenti Inventata da John Nash (1928-) Viene usata, in modo diverso, in
Economia ed AI
Descrive il comportamento razionale senza cercare di capire come questo venga generato
Il comportamento razionale è quello che massimizza l’utilità
© 2010 F. Bergenti Intelligenza Artificiale 21
La Teoria dei Giochi in AI
Spesso, in AI considerano giochi A due giocatori in cui le mosse sono alternate Con conoscenza perfetta in cui i giocatori hanno le stesse
informazioni
Ad esempio Dama, scacchi…si Poker, bridge…no
In più, i giochi della AI hanno Regole semplici e formalizzabili Un ambiente completamente accessibile Vincoli di tempo stringenti
© 2010 F. Bergenti Intelligenza Artificiale 22
L’Algoritmo Min-Max
Realizza un agente che sceglie sempre la mossa migliore Per ogni mossa possibile, simula tutti i possibili
risultati della scelta Sceglie una tra le mosse che possono portare
alla maggiore utilità Vincere, o almeno, pareggiare, se ancora possibile
È ottimo, ma spesso non si applica perché può richiedere troppo tempo per esaminare tutte le mosse
© 2010 F. Bergenti Intelligenza Artificiale 23
Gioco del Tris (1/5)
Applichiamo Min-Max al gioco del Tris Due giocatori chiamati
Min e Max L’agente è Max e deve
scegliere la prossima mossa
La scacchiera non è necessariamente vuota
© 2010 F. Bergenti Intelligenza Artificiale 24
Gioco del Tris (2/5)
© 2010 F. Bergenti Intelligenza Artificiale 25
Gioco del Tris (3/5)
Algoritmo Min-Max Genera l’intero albero di gioco, fino ai nodi
terminali Valuta il punteggio di ciascun nodo terminale
(-1, 0, +1) Partendo dai nodi terminali assegna ai nodi
intermedi Mossa di Max: il massimo del punteggio dei nodi figli Mossa di Min: il minimo del punteggio dei nodi figli
© 2010 F. Bergenti Intelligenza Artificiale 26
Gioco del Tris (4/5)
0 1 0 -1 -1 -1 1 1 1
0 1-1
1
© 2010 F. Bergenti Intelligenza Artificiale 27
Gioco del Tris (5/5)
0 1 0 -1 -1 -1 1 0 1
0 0-1
0?!?
© 2010 F. Bergenti Intelligenza Artificiale 28
Giocatori “Reali”
Chinook è stato campione di dama nel torneo Man-Machine Checkers Champion
Viene sviluppato all’Università di Alberta
Si può giocare contro Chinook qui
www.cs.ualberta.ca/~chinook
© 2010 F. Bergenti Intelligenza Artificiale 29
Alcuni Progetti @ UniPR (1/5)
Il veicolo autonomo BRAiVE Guida senza che il pilota tocchi il voltante Individua pedononi ed ostacoli Si mantiene allineato
con il traffico
© 2010 F. Bergenti Intelligenza Artificiale 30
Alcuni Progetti @ UniPR (2/5)
Il sistema di rilevamento intrusioni APaChe Identifica la targa nell’immagine Legge la targa
© 2010 F. Bergenti Intelligenza Artificiale 31
Alcuni Progetti @ UniPR (3/5)
Il portiere della Nazionale Italiana RoboCup Si comporta come un vero e proprio
portiere di calcio Interagisce con il
resto della squadra
© 2010 F. Bergenti Intelligenza Artificiale 32
Alcuni Progetti @ UniPR (4/5)
Il sistema di sviluppo per agenti JADE Fornisce un’infrastruttura standard per lo
sviluppo di agenti che comunicano Utilizzato in vari progetti industriali di
telecomunicazioni
© 2010 F. Bergenti Intelligenza Artificiale 33
Alcuni Progetti @ UniPR (5/5)
{log} – Linguaggio di programmazione basato su un dimostratore di teoremi per la teoria degli insiemi
max(S,X) :- X in S & forall(Z in S, X >= Z).
pairs(S) :-
forall(X in S, exists([X1,X2], X = [X1,X2])).
© 2010 F. Bergenti Intelligenza Artificiale 34
In Conclusione
Intelligenza Artificiale forte Un computer correttamente programmato può essere
dotato di intelligenza non distinguibile da quella umana Come per il filosofo empirista inglese Thomas Hobbes:
ragionare non è nient’altro che calcolare Il pensiero umano è il prodotto di un complesso insieme di
calcoli eseguiti dal cervello Intelligenza Artificiale debole
Un computer non sarà mai in grado di uguagliare la mente umana Non sarà mai così complesso Potrà solo arrivare a simulare alcuni processi cognitivi umani
senza riuscire a riprodurli completamente