Prof. Francesco Trovò
Corso di Intelligenza Artificiale, a.a. 2017-2018
Introduzione all’Intelligenza Artificiale
26/02/2018
Come Viene Percepita l’Intelligenza Artificiale
L’Intelligenza Artificiale di Hollywood
Definizioni di Intelligenza Artificiale
Domande:
Cos’è l’intelligenza? Cos’è il pensiero? (Filosofia, biologia)
Come possiamo geneare costruire entità intelligenti?
Definire intelligenza:
• Agire umanamente
• Pensare umanamente
• Pensare razionalmente
• Agire razionalmente
1. Agire umanamente: Il test di Turing
Alan Turing (1912 - 1954)
Formalizzazione algoritmo, macchina di turing
Primo crittoanalista (macchina Enigma)
Padre dell’informatica e dell’IA
Test di Turing:
• Alice (donna), Bob (uomo), Charlie (giocatore) sono in stanze
separate
• Charlie deve capire da domande dattiloscritte chi dei due è Bob
• Uno dei due gioca con Charlie, altro contro
• Se sostituendo un’IA Charlie ha le stesse prestazioni di riuscita allora
l’IA ha passato il test
(Vedi anche esperimento stanza cinese)
Requisiti di una IA Capace di Passare il Test
Test di Turing
• Interpretazione del linguaggio naturale
• Rappresentazione della conoscenza
• Ragionamento automatico
• Apprendimento
Test di Turing totale
• Visione artificiale
• Manipolazione robotica
2. Pensare Umanamente
Definire pensiero umano:
introspezione o psicologia (top-down)
imaging cerebrale (bottom-up)
Trattato da Scienze cognitive
• Analisi del pensiero umano ed animale
• Modelli sul funzionamento della mente umana
I due campi sono interconnessi e si alimentano a vicenda, ma sono
distinti
3. Pensare Razionalmente
Modellizzare i processi cognitivi in maniera formale: Logica (Aristotele)
Partendo da programmi basati sulla logica vogliamo creare dei sistemi
intelligenti
Problemi:
• Molto difficile formalizzare i problemi in termini logici (in particolare
quando sono in presenza di incertezza)
• Risolvere tramite la logica problemi di dimensione elevata non è
feasible
4. Agire Razionalmente
Non significa pensare razionalmente: possiamo raggiungere l’obbiettivo
anche se non pensiamo in maniera corretta.
Contest: far camminare un agente bipede
(https://www.youtube.com/watch?v=gn4nRCC9TwQ)
Vantaggio: possiamo definire in maniera formale la razionalità
Posso richiedere che l’agente abbia razionalità perfetta oppure
razionaltà limitata
Un po’ di storia
• Filosofia
• Aristotele: sillogismi
• Pascal: calcolatori
• Cartesio: discussione mente/materia
• Carnap, Hempel: teoria della conferma
• Matematica
• Boole: logica booleana
• Al-khuwarzemi: algoritmi
• Godel: teorema di incompletezza
• Cock, Karp: NP-completezza
• Bernoulli, Bayes: probabilità
Un altro po’ di storia
• Economia
• Neumann: teoria delle decisioni
• Bellman: Markov process
• Neuroscienze
• Ingegneria informatica
• Controllo e cibernetica
• Linguistica
L’evoluzione della IA
W. McCulloch e W. Pitts (1943)
Prima definizione di un neurone artificiale
D. Hebb (1949)
Regola di aggiornamento dei pesi di una rete
M. Minsky e D. Edmonds (1950)
Primo calcolatore basato su rete neurale – 40 neuroni
A. Turing (1950)
«Computing Machinery and Intelligence»
La nascita dell’IA
J. McCarthy (1956)
Workshop sullo studio dell’intelligenza
Coniato il termine Intelligenza Artificiale
A. Newell e H. Simon (1956)
Primo programma in grado di ragionare Logic Theorist (LT)
N. Rochester (1959)
Geometry Problem Solver
A. Samuel (1956)
Programma per il gioco della dama
I primi passi
J. McCarthy (1958)
Sviluppo linguaggio LISP
J.A. Robinson (1965)
Programma per dimostrazione di teoremi con logica del primo ordine
Minsky (1968)
Studio di programmi per i micromondi
B. Widrow (1962)
Reti adaline
F. Rosemblatt (1962)
Sviluppo del perceptrone
Le prime difficoltà
I primi programmi non avevano idea del contesto in cui stavano
lavorando e che non ci fossero problemi di complessità
• Traduzione del linguaggio naturale
es: lo spirito è forte ma la carne è debole → la vodka è buona ma la
bistecca è marcia
• Modifica di programmi per ottenerne di più efficienti
• Esplorazione combinatoria di alcune metodologie
• Limitazione dei perceptroni
Stop ai finanziamenti alle ricerche di IA
Metodi basati sulla conoscenza di settore
DENDRAL (1969)
Ricostruire la struttura molecolare partendo dai dati di uno spettrometro di massa
Generare ogni possibile combinazione e poi confrontarla con un risultato è unfeasible
Integrazione dell’esperienza dei chimici nel programma (sistemi esperti)
Possibilità di applicare industrialmente i risultati dell’IA
Finanziamenti ingenti (1980-1988)
Metodi connessionisti
Rumelhart e McLelland (1986)
Rivitalizzazione dei metodi basati su reti neurali
Applicazione a problemi di apprendimento
Due differenti linee di ricerca:
• Definizione di topologie di reti per risolvere efficientemente i problemi
e per definirne le proprietà matematiche
• Modellizzazione delle proprietà dei neuroni reali
G. Hinton e Y. LeCun (2006)
Nuova interpretazione delle reti neurali
Deep Learning
Metodi basati sui dati
Negli anni il volume dei dati generati è cresciuto a ritmi impressionanti
Idea: utilizzare i dati per prendere decisioni
Tecniche di apprendimento da sostituire al processo di categorizzazione
della conoscenza.
Yarowsi (1995)
Disambiguazione di una parola
Hays ed Efros (2007)
Completamento di una foto corrotta
Esempi di problemi risolti da metodi di IA
Veicoli autonomi – DARPA urban challenge, TESLA
(https://www.youtube.com/watch?v=lULl63ERek0)
Esempi di problemi risolti da metodi di IA
Chatbot – call center automatizzati, SpacoBot
Esempi di problemi risolti da metodi di IA
Scheduling
• REMOTE AGENT pianificazione delle operazioni di controllo e
manutenzione di un veicolo spaziale
• MAPGEN pianificazione delle attività per i Mars Rover
Esempi di problemi risolti da metodi di IA
Giochi – scacchi DEEPBLUE, go ALPHA GO, poker LIBRATUS
(https://www.youtube.com/watch?v=8tq1C8spV_g)
Esempi di problemi risolti da metodi di IA
Robotica – esplorazione Roomba, BOSTON DYNAMICS
(https://www.youtube.com/watch?v=RYzn_gmFs5w)
Esempi di problemi risolti da metodi di IA
NLP – WolframAlpha, Google Translate