Intelligenza Artificiale
Introduzione
Slides Intelligenza Artificiale,
Vincenzo Cutello
1
Outline




Panoramica del corso
Cosa è l’Intelligenza Artificiale
Una breve storia
Lo stato dell’arte
Slides Intelligenza Artificiale,
Vincenzo Cutello
2
Panoramica del corso
 Agenti intelligenti
 Risoluzione di problemi:
– Ricerca
– Giochi
 Conoscenza e ragionamento sotto incertezza:
– Incertezza probabilistica
– Sistemi di ragionamento probabilistico
– Teoria delle decisioni
 Teoria dei Giochi
 Parlando di intelligenza umana: introduzione alla scienza cognitiva
Libro di testo: Russel and Norvig, Artificial Intelligence: A Modern
Approach
Per la Teoria dei Giochi: Roberto Lucchetti, Di duelli, scacchi e dilemmi.
La teoria matematica dei giochi
Slides Intelligenza Artificiale,
Vincenzo Cutello
3
Cosa è l’Intelligenza Artificiale
“[L’automazione
di]
attività
che
associamo con il pensiero umano,
come: prendere decisioni, risolvere
problemi, imparare…” (Bellman, 1978)
“Lo studio delle facoltà mentali per mezzo di
modelli computazionali”
(Charniak+McDermott, 1985)
Lo studio delle computazioni che rendono
possibili percezioni, ragionamenti e azioni
(Winston, 1992)
“Lo studio di come far fare ai computer “La branca dell’informatica che si
cose che, al momento, le persone occupa
dell’automazione
del
fanno meglio”
comportamento intelligente”
(Rich+Knight, 1991)
(Luger+Stubblefield, 1993)
Le visioni dell’Intelligenza Artificiale ricadono in quattro categorie:
Pensare come un essere umano
Pensare razionalmente
Agire come un essere umano
Agire razionalmente
Slides Intelligenza Artificiale,
Vincenzo Cutello
4
Agire umanamente: Il test di Turing
(ovvero il Software di un Blade Runner)
Turing (1950) “Computing machinery and
intelligence”:
 “Possono pensare le macchine ?”  “Possono le
macchine comportarsi intelligentemente ?”
 Maggiori componenti dell’Intelligenza Artificiale:
Conoscenza, ragionamento, linguaggio,
comprensione, apprendimento
Problema: Il test di Turing non è riproducibile,
costruttivo o adattabile all’analisi matematica.
Slides Intelligenza Artificiale,
Vincenzo Cutello
5
Pensare umanamente: Scienza Cognitiva
 Teorie scientifiche sulle attività interne al
cervello
 Quale livello di astrazione: “Conoscenza” o
“circuiti” ?
– Previsione e verifica del comportamento di
soggetti umani (top-down)
– Identificazione diretta dai dati neurologici (bottomup)
– Entrambi gli approcci (Scienza e Neuro-Scienza
Cognitiva) sono ora distinti dall’Intelligenza
Artificiale
Slides Intelligenza Artificiale,
Vincenzo Cutello
6
Pensare razionalmente: Le leggi del pensiero
 Normative (o prescrittive) piuttosto che descrittive
 Aristotele: Cosa sono i ragionamenti di
argomentazioni/pensieri corretti ?
 Parecchie scuole greche svilupparono varie forme di
logica: notazioni e regole di derivazione per i pensieri;
potrebbe o no aver portato all’idea di
meccanizzazione
 Linea diretta attraverso la Matematica e la Filosofia
alla moderna Intelligenza Artificiale
Problema:
 Non tutto il comportamento intelligente è filtrato da
ragionamenti logici
Slides Intelligenza Artificiale,
Vincenzo Cutello
7
Agire razionalmente
 Comportamento razionale: fare la cosa giusta
– La cosa giusta: quella che ci si aspetta per
massimizzare il “guadagno” (in senso generale), date le
informazioni disponibili
 Non necessariamente coinvolge il ragionamento
– es. riflesso condizionato –
– ma il ragionamento dovrebbe essere al servizio
dell’azione razionale
 Aristotele: Ogni arte ed ogni ricerca, e simili azioni
e sforzi, dovrebbero avere come scopo il bene.
Slides Intelligenza Artificiale,
Vincenzo Cutello
8
Agenti razionali
 Un agente è un’entità che percepisce e agisce
 In maniera astratta un agente è una funzione
della storia di azioni percepite:
f :P 
 A
*
 Per una qualsiasi classe di ambienti e compiti,
cerchiamo l’agente con le migliori prestazioni
 Caveat: limitazioni computazionali rendono
irraggiungibile la razionalità perfetta
Slides Intelligenza Artificiale,
Vincenzo Cutello
9
Preistoria dell’Intelligenza Arteficiale
 Filosofia logica, metodi di ragionamento, mente come
sistema fisico, fondamenti di apprendimento, linguaggio,
razionalità
 Matematica: rappresentazione formale e dimostrazione
degli algoritmi, computazione, (in)decidibilità, (in)trattabilità,
probabilità
 Psicologia: adattamento, fenomeni di percezione, tecniche
sperimentali di controllo motorio (psicofisica etc.)
 Linguistica: rappresentazione della conoscenza,
grammatica
 Neuroscienza: Substrato fisico per le attività mentali
Slides Intelligenza Artificiale,
Vincenzo Cutello
10
Storia recente dell’Intelligenza
Artificiale
1943
McCulloch & Pitts: Modello a circuiti booleani del cervello
1950
Turing’s “Computing Machinery and Intelligence”
1950
Primi programmi di AI: il programma di dama di Samuel, Newell & Simon’s
Logic Theorist, Gelernter’s Geometry Engine
1956
Dartmouth meeting: nasce “Artificial Intelligence”
1965
Algoritmo per il ragionamento logico
66-74
AI scopre la complessità computazionale. Neural Network tendono a
scomparire
69-79
Primo sviluppo di knowledge based system
80-93
Sistemi Esperti
85-95
Neural networks ridiventano popolari
88-95
Ritornano metodologie probabilistiche e decision-theoretic: ALife, Ga’s, Soft
Computing
oggi:
Grande enfasi sulle strategie di gioco (economia). Molti studi su “Algoritmi”
che copiano la natura (Evoluzione, Sistema Immunitario, Sciami di Insetti,
etc)
Slides Intelligenza Artificiale,
Vincenzo Cutello
11
Cosa vogliamo fare ?
Imparare a scrivere programmi che possano
risolvere i seguenti problemi (più o meno …)
Slides Intelligenza Artificiale,
Vincenzo Cutello
12
Problema 1: Missionari e Cannibali
Tre missionari e tre cannibali sono su una sponda
di un fiume. Devono attraversare il fiume su una
barca, dove al massimo possono stare due
persone. Trovare il modo di farli attraversare,
evitando ad ogni istante che su una sponda o
l’altra del fiume i cannibali siano in numero
superiore ai missionari (con ovvie conseguenze
spiacevoli per i missionari)
Slides Intelligenza Artificiale,
Vincenzo Cutello
13
Problema 2: In TV
Partecipate ad una nota trasmissione televisiva assieme
ad altri concorrenti. Alla fine del gioco siete rimasti in tre,
ognuno con una busta chiusa in mano. Due buste sono
vuote, la terza contiene un assegno di € 10000. Avete tre
possibilità:
 aprire la vostra busta
 Scambiarla con quella di un altro concorrente
 Oppure accettare l’offerta di € 2000 che vi è stata fatta
dall’istrionico presentatore, per la vostra busta.
Cosa fate ?
Slides Intelligenza Artificiale,
Vincenzo Cutello
14
Problema 3: Giocando a carte
A e B giocano a carte. Entrambi mettono un euro
nel piatto per giocare. A pesca una carta a caso
che non mostra a B. Può decidere di rilanciare
mettendo un altro euro nel piatto oppure fermarsi.
B può decidere di vedere la carta, mettendo un
altro euro nel piatto oppure di lasciarla vinta ad A.
A vince in questo caso, oppure se la carta estratta
è rossa. B vince se vede e la carta estratta è nera.
Cosa fareste se foste A oppure B ? :
Slides Intelligenza Artificiale,
Vincenzo Cutello
15
Problema 4 (giochino): Saggezza !
Lo sceicco in punto di morte, dice ai suoi due figli
di montare sui propri cammelli e di andare in città.
Quello il cui cammello è più lento, erediterà tutti i
suoi averi. I due partono e vagano per giorni
assieme nel deserto, aspettando che l’altro si
decida ad andare in città per primo. Alla fine
stanchi, si rivolgono al saggio del deserto.
Appena il saggio ha finito di parlare partono a tutta
velocità verso la città.
Cosa ha detto loro il saggio ?
Slides Intelligenza Artificiale,
Vincenzo Cutello
16
Problema 5: Dannati medici !
Siete appena risultati positivi ad un test per una
malattia molto pericolosa. Il grado di affidabilità del
test è del 99,9 %.
Il vostro medico vi dice che siete fortunati, perché
la malattia è rarissima.
Voi vi sentite presi in giro e gli date un pugno in
faccia.
In realtà il povero medico ha ragione a dire che
siete fortunati. Perché ?
Slides Intelligenza Artificiale,
Vincenzo Cutello
17
Divertiamoci: Sokoban
 Giochiamo con il Sokoban e proviamo a scrivere
un programma che sappia farlo!
 Il giocatore deve spingere i pezzi (diamanti in figura)
attraverso un labirinto e portarli nel posto finale (cristalli
verdi in figura)
 Solo un pezzo alla volta può essere spinto
 Gli altri pezzi ed i muri sono ostacoli contro cui non si può
spingere.
Slides Intelligenza Artificiale,
Vincenzo Cutello
18
Divertiamoci 2: Othello (Reversi)


SI posizionano due pedine bianche e due nere
nelle quattro caselle centrali.
Regole:
–
–
–
Si muove alternativamente (inizia il nero)
appoggiando una nuova pedina in una casella
vuota in modo da imprigionare, tra la pedina che si
sta giocando e quelle del proprio colore già
presenti sulla scacchiera, una o più pedine
avversarie.
A questo punto le pedine imprigionate devono
essere rovesciate e diventano di proprietà di chi ha
eseguito la mossa.
È possibile incastrare le pedine in orizzontale, in
verticale e in diagonale e, a ogni mossa, si
possono girare pedine in una o più direzioni.
Slides Intelligenza Artificiale,
Vincenzo Cutello
19
Gioca e fai giocare !
 I giochi stanno all’AI (o alla mente) come la
formula 1 sta all’industria automobiliistica
 Cercate giochi sul web e chiedetevi come
fare a scrivere un programma che riesca a
giocare
 Esempio: www.pergioco.net
Slides Intelligenza Artificiale,
Vincenzo Cutello
20