Intelligenza Artificiale
Maria Teresa PAZIENZA
a.a. 2010-11
Sito
Sul sito di Didattica Web tutte le informazioni su:
Programma
Progetto
Ricevimento
Esami (date, iscrizioni)
Tesi
Varie
Progetto
Potrà consistere
(a) nella realizzazione di un prototipo informatico
progettato e realizzato secondo modalità introdotte nel
corso delle lezioni o, equivalentemente,
(b) nella stesura di una tesina di approfondimento di temi
inerenti all’IA ed affrontati soltanto limitatamente nel
corso delle lezioni
Materiale didattico
Il materiale didattico (ulteriore ai libri di testo) verrà pubblicato nel
sito del corso su Didattica Web e distribuito di volta in volta in
relazione ai temi specifici affrontati nel corso delle lezioni
(dispense, articoli, slides, monografie e saggi, eventuali
collegamenti a risorse digitali disponibili in rete, ...).
Libri di testo:
“Knowledgs Representation and Reasoning”
R.J. Brachman, H.J. Levesque (ed. Morgan Kaufmann),
“Speech and Language Processing”
D.Jurafsky, J. Martin (ed. Prentice Hall)
Esami
Per partecipare ad una prova d’esame è obbligatorio
prenotarsi almeno 24 ore prima dell’esame.
La partecipazione ad una prova non preclude la
partecipazione a prove successive (nel caso si rifiuti
la valutazione conseguita) previa nuova
registrazione.
Problema
Il prodotto dell’età di 3 ragazzi è 72, la loro somma è 14:
qual è l’età di ciascuno di loro?
Cerchiamo la soluzione del problema a partire dalle
informazioni presenti nel testo :
72 deve essere fattorizzato in 3 termini; esistono più
combinazioni possibili : 2,6,6 – 8,3,3 – 2,4,9 - … 2 terne
sommano a 14.
Ma non basta per la soluzione. Bisogna introdurre ulteriori
informazioni per completare la risoluzione; per esempio:
Il ragazzo più grande si chiama Giorgio.
Soluzione trovata:
8,3,3
Problema
Il prodotto dell’età di 3 ragazzi è 72, la loro
somma è 14: qual è l’età di ciascuno di loro?
Come abbiamo trovato la soluzione del problema?
E’ il pensare che porta l’umano a discernere cosa
è rilevante, all’interno delle sue conoscenze, per
portare a termine un compito/attività/decisione
Intelligenza Artificiale
L’Intelligenza Artificiale è lo studio del comportamento
intelligente (di un umano e/o di un agente) raggiunto
tramite strumenti computazionali
La rappresentazione della conoscenza ed il
ragionamento automatico nell’IA sono relativi
all’analisi di come un agente (« intelligente ») usa la
sua conoscenza per decidere come comportarsi /agire
mostrando, così, un comportamento intelligente.
Intelligenza Artificiale
Studio di come raggiungere un
comportamento intelligente
attraverso
strumenti computazionali.
La rappresentazione della conoscenza ed il ragionamento
automatico coincidono con l’analisi/studio del pensare
(inteso come processo computazionale capace di estrarre le
conoscenze rilevanti per la risoluzione del problema).
Nell’umano la conoscenza è veicolata dal linguaggio naturale.
Intelligenza Artificiale
Nell’IA ci si occupa di:
• Formalizzare la conoscenza ed i meccanismi di
ragionamento in ogni settore di interesse
• Usare modelli computazionali per capire/definire
il comportamento di umani ed agenti intelligenti
• Rendere facile ed efficace l’interazione
uomo/macchina
• Costruire macchine intelligenti che operino
come/meglio degli umani
Intelligenza Artificiale
Materia in forte evoluzione; dare una definizione
che delimiti rigorosamente i campi di interesse
rischierebbe di escludere a priori sviluppi futuri
che già si intravedono.
L’IA non è una lista di argomenti e metodologie; è piuttosto una
attività complessa legata alla comprensione di
comportamenti intelligenti ed alla loro
implementazione in sistemi intelligenti.
Intelligenza Artificiale
L’IA è contemporaneamente scienza e tecnica,
disciplina di frontiera in cui s’incontrano diversi
domini del sapere: logica, informatica,
psicologia, neuroscienze, filosofia…
Attiene a tutti i campi dell’informazione e trova
applicazione in tutti i settori (alcune applicazioni
esemplificative a fine lezione)
Intelligenza Artificiale
L’IA si manifesta con un duplice profilo:
• disciplina ingegneristica (costruire macchine
capaci di svolgere compiti intellettuali integrando
componenti diverse)
• disciplina psicologica (costruire macchine capaci
di esprimere le caratteristiche essenziali
dell’attività cognitiva umana spiegando i rapporti
tra pensiero e fisicità dell’uomo)
Intelligenza Artificiale
La formalizzazione logica dei problemi è fondamentale
alla loro soluzione. Le metodologie risolutive possono
richiedere tecnologie di varia tipologia
Ove la formalizzazione completa non sia possibile, si
ricorre a soluzioni parziali
•
•
L’elaborazione del linguaggio naturale è un problema
tipico dell’IA
Gestire la conoscenza (del mondo, di dominio,
dell’applicazione,…) è un problema tipico dell’IA
Elaborazione del linguaggio naturale
multimedialità /
multimodalità
parlato
scritto
Analisi del linguaggio
rappresentazione
della conoscenza
Rappresentazione della conoscenza e
ragionamento automatico
Esempio: usando il linguaggio naturale gli umani esprimono in frasi
dichiarative « ciò che si conosce » (pur con lessicalizzazioni
diverse)
–
–
–
–
–
Mario conosce tutte le barzellette sui carabinieri
Maria conosce bene l’informatica
Giovanni conosce la strada per Milano
Il professore sa che Maria arriverà domani
…
Come definizione, a partire dalle affermazioni precedenti, si può
affermare che:
La conoscenza esprime una
relazione tra « chi conosce » ed una « proposizione »
ovvero la frase dichiarativa
Rappresentazione della conoscenza e
ragionamento automatico
Cosa sono le « proposizioni »?
Entità astratte / frasi che possono essere
vere/false, giuste/sbagliate in contesti specifici
Non sempre si tratta di proposizioni dichiarative;
possiamo anche avere credenze, aspettative,
supposizioni, attitudini, etc.
Rappresentazione
Per rappresentazione si intende una relazione tra due domini: il primo è
qualcosa che sta per o ha il posto di un altro.
In genere il primo dominio è concreto, immediato, accessibile più che il
secondo.
Vengono usati simboli formali (un carattere o gruppi di caratteri presi da un
alfabeto predeterminato) perchè più facilmente gestibili di ciò che i simboli
stessi rappresentano.
Una frase in un linguaggio naturale (es. Italiano) è concreta: possiamo
distinguere le parti che la costituiscono, i loro ruoli etc.
Giovanni ama Maria
Una proposizione è astratta in quanto, per esempio, prevede una sottostante
automatica classificazione di tutti i modi possibili nel mondo in cui
Giovanni ami Maria e quelli in cui non la ami.
Rappresentazione
La rappresentazione della conoscenza usa simboli formali
per rappresentare una collezione finita di proposizioni in
cui un agente ha fede (crede in).
L’agente può credere in un numero infinito di proposizioni.
È compito del « ragionamento » superare il gap tra
ciò che è rappresentato
e
ciò che si conosce o si crede.
Ragionamento
Manipolazione formale dei simboli che
rappresentano
• una collezione di proposizioni/credenza
• al fine di produrre la rappresentazione di nuove
proposizioni.
Il ragionamento è una forma di calcolo (tipo quello
aritmetico) in cui si opera sui simboli che
rappresentano le proposizioni
Logical entailment
Utilizzare la conoscenza rappresentata esplicitamente nella KB è
come fare una ricerca in una base di dati.
Ragionare su tale conoscenza per produrne di nuova non
rappresentata è ciò che si chiama logical entailment: le
proposizioni rappresentate da un set di frasi S implicano la
proposizione rappresentata da una nuova frase p quando la verità
di p è implicita nella verità delle frasi di S.
Il linguaggio formale usato per rappresentare la conoscenza deve
allora supportare questa forma di entailment.
Il ragionamento sulla KB equivale a calcolare l’entailment su alcune
conoscenze precedentemente formalizzate.
Ragionamento e logica
La logica è lo studio delle relazioni di implicazione (e
comprende il linguaggio, le condizioni di verità e le
regole di inferenza).
Esistono diversi linguaggi logici che permettono forme
diverse di entailment su una KB.
Si può interrogare una KB a livello di conoscenza (le
domande sono relative al linguaggio di rappresentazione
ed alla sua semantica) o a livello di simboli (le domande
coinvolgono l’aspetto computazionale del linguaggio)
Programma
Il corso sarà articolato su 3 aree:
Elaborazione
del
Ling.Naturale
Rappres. della
conoscenza e
ragionamento
Tecnologie
di IA
Il ruolo della conoscenza nei
sistemi informatici
Le conoscenze servono per:
interpretare la realtà: capire che cosa è successo (ad es.,
ipotizzare le cause di un evento che si è verificato);
prevedere l’evoluzione della realtà: prevedere con
approssimazione accettabile quali modifiche si
potranno verificare nel futuro;
agire in modo razionale modificando la realtà: costruire
piani d’azione per raggiungere determinati obiettivi.
Learning to Reason
Learning
W
Reasoning
Knowledge
Representation
KB
Task
• interarazione con il mondo (World)
per knowledge representation si intende:
- ciò che si è scelto per facilitare il processo di inferenza
- ciò che si è imparato a seguito dell’interazione con il mondo
•
la prestazione viene misurata rispetto al mondo e per uno specifico task di
ragionamento
Sistemi intelligenti (1)
• Agire in ambienti sconosciuti od ostili (robot in una
situazione ignota, agenti/softbot nel web)
• Gestire grandi quantità di “conoscenza” descrittiva
del mondo e dell’applicazione, con l’obiettivo di
migliorare le prestazioni nella risoluzione di un
problema, acquisire ulteriore conoscenza per
collaborare con altre entità (umani, agenti), gestire
informazioni non strutturate come nel Web
Sistemi intelligenti (2)
• Dialogare con altre entità (anche sul Web) per
migliorare l’interazione e l’acquisizione di
conoscenza
• Capire i sistemi con cui si interagisce per meglio
integrare le componenti, facilitare l’interazione,
regolare l’accesso alle risorse
Sistemi intelligenti (integrazione)
I sistemi intelligenti non agiscono in maniera isolata,
piuttosto costituiscono componenti importanti in
sistemi più complessi a supporto di una maggiore
capacità, flessibilità e cooperazione del sistema
nel suo insieme.
Ciò richiede l’integrazione di:
• componenti di reasoning in sistemi tradizionali
• conoscenza in basi di dati
• description logics in sistemi object oriented
Sistemi intelligenti (coordinazione di più agenti
umani/artificiali)
Per:
1. Comprensione/gestione del dialogo
2. Costruzione di “assistenti” intelligenti (capaci di
capire l’utente)
3. Supporto al lavoro di gruppo e/o collaborativo
4. Gestione “networks”
Sistemi intelligenti (coordinazione di più agenti
umani/artificiali)
Necessario, relativamente all’interazione:
1.Comprensione del linguaggio naturale
scritto/parlato
2.Generazione del linguaggio naturale
3.Gestione delle ambiguità grammaticali e
semantiche
4.Combinazione di tecniche di nlp con altre
tecnologie per realizzare interfacce multimediali
Sistemi intelligenti (acquisizione di conoscenza da
più agenti)
Necessario:
1. Capacità di collezionare, codificare, rappresentare
conoscenza
2. Integrazione di metodologie per la rappresentazione di
conoscenze differenti
3. Gestione dell’organizzazione concettuale della conoscenza
in ontologie e la loro integrazione
4. Gestione efficace della strutturazione, indicizzazione,
ricerca di grandi quantità/risorse di conoscenza
5. Ragionare su domini di conoscenza diversi
6. Applicare la conoscenza del senso comune
Web focus
I sistemi software sono sempre più alimentati dal
Web
Devono quindi gestire/interagire con dati di sorgenti
eterogenee che possono essere sconosciute in fase
di sviluppo del software.
Per la risoluzione di questo problema gli ingegneri
del software cercano tecnologie che li aiutino nella
gestione della eterogeneità anche runtime.
Intelligenza Artificiale (IA)
I calcolatori generali (general purpose) hanno la
caratteristica di essere macchine simboliche, ovvero sono
(1) macchine capaci di manipolare “strutture di simboli”
da porre in corrispondenza ad “entità diverse”:
•
•
•
•
•
parole di una lingua naturale,
espressioni matematiche,
posizioni del gioco degli scacchi,
oggetti da riconoscere e classificare,
……
Intelligenza Artificiale (IA)
I calcolatori generali (general purpose) sono
(2) macchine capaci di utilizzare l’istruzione di “salto
condizionato” che consente di cambiare l’ordine di
esecuzione delle istruzioni.
La macchina rivela una capacità discriminativa,
ovvero seleziona/sceglie la sequenza di istruzioni
da eseguire rivelando un atteggiamento intelligente.
Intelligenza Artificiale (IA)
Inizialmente
attenzione all’analisi di problemi relativi ad ambiti ben
delimitati, per risolvere i quali bastano regole
esplicite per l’elaborazione simbolica e poca
conoscenza specializzata.
Successivamente
da elaborazione simbolica a conoscenza tacita, ad
abilità senso-motorie, alla capacità di adattamento
all’ambiente naturale o alle interazioni sociali con
altri agenti naturali o artificiali.
Intelligenza Artificiale (IA)
Inizialmente
convinzione che compito principale dell’IA fosse lo studio
delle strategie di soluzione di problemi efficacemente
selettive, o “euristiche”.
La programmazione euristica, analogamente agli esseri
umani, esplora solo una parte dei percorsi che, in base alle
informazioni possedute, potrebbero portare ad una
soluzione accettabile del problema dato e che soddisfino
alcuni requisiti irrinunciabili.
Intelligenza Artificiale (IA)
Tipicamente fondati sulla programmazione euristica sono i
sistemi basati su conoscenza (e tra questi i sistemi
esperti); una base di conoscenza raccoglie e sistematizza
conoscenze e tecniche di ragionamento euristico.
Su una base di conoscenza opera un motore inferenziale
che risolve i problemi posti, anche simulando tecniche
di ragionamento euristico.
I sistemi basati su conoscenza vengono considerati uno dei
“prodotti” principali della Intelligenza Artificiale
simbolica.
Intelligenza Artificiale (IA)
I sistemi basati su conoscenza non permettono di affrontare
adeguatamente alcuni aspetti:
Conoscenza tacita: il comportamento intelligente che si
ispira al “saper fare”, ovvero ad una abilità difficile da
descrivere con conoscenze dichiarative e regole esplicite
di manipolazione simbolica
Azioni in tempo reale: capacità di reazione adeguate in
tempi utili per il problema
Robustezza: capacità di lavorare anche in situazioni diverse
da quelle previste dai progettisti
Intelligenza Artificiale (IA) in pratica
Dal punto di vista ingegneristico
Le applicazioni dell’IA sono valutate per le loro capacità
e prestazioni, indipendentemente dai metodi utilizzati.
Idea di base: costruire macchine che non necessariamente
“simulino”, riproducendolo, il comportamento del
cervello umano, ma che siano in grado di “emularlo
selettivamente” nel risultato finale di certe operazioni
Architettura di base di un sistema di IA:
ambiente
Un sistema IA non è un insieme di istruzioni
immutabili che rappresentano la soluzione
di un problema, bensì un ambiente in cui
rappresentare, utilizzare e modificare una
base di conoscenza.
La soluzione viene costruita dinamicamente a
fronte di un certo numero di possibilità.
Architettura di base di un sistema di IA:
ambiente
Un sistema IA deve esprimere due aspetti distinti :
• una “base di conoscenza” (che raccoglie la conoscenza di
dominio e del problema attraverso asserzioni e fatti da un
lato e relazioni e regole dall’altro)
• un “motore inferenziale” che utilizza la base di conoscenza
per giungere alla soluzione e fornire spiegazioni. Scelta
dinamica di quale conoscenza utilizzare nel processo
risolutivo.
forward chaining versus backward chaining.
Logica
La logica è sicuramente uno degli strumenti più antichi,
assestati e rigorosi utilizzati dall’uomo per formalizzare e
spiegare il proprio ragionamento.
La logica è semanticamente ben definita, altamente
dichiarativa, ed ha un apparato deduttivo generale.
La logica classica è utilizzata in IA per rappresentare la
conoscenza su un problema (anche se con alcune
limitazioni). La BdC diventa una collezione di asserzioni
della logica dei predicati del primo ordine; le regole di
inferenza permettono di dedurre nuove asserzioni
(teoremi) non esplicitamente contenute nella BdC
Apprendimento automatico
Un sistema non potrà dirsi “intelligente” se
manca della proprietà di accrescere le
proprie conoscenze e migliorare le proprie
abilità (apprendimento).
Per raggiungere questo obiettivo bisogna
dotare le macchine simboliche di capacità di
ragionamento induttivo oltre che deduttivo.
Apprendimento automatico
Il ragionamento induttivo procede
da asserzioni singolari riguardanti particolari fatti o
fenomeni (“esempi”)
ad asserzioni universali esprimibili mediante ipotesi o
teorie che spieghino i fatti dati e siano in grado di
predirne di nuovi.
L’inferenza deduttiva preserva la “verità” (nel senso della
correttezza logica)
L’inferenza induttiva non garantisce ciò e può tendere ad
un’eccessiva generalizzazione e a produrre errori.
Limiti, problemi aperti e …
L’apprendimento e la rappresentazione del senso comune
sono ben lontani dall’essere una soluzione completa.
Limitata crescita incrementale della conoscenza e costi
elevati nel produrla
Alto costo di manutenzione dei sistemi intelligenti
Sistemi inferiori alle aspettative iniziali
…
… aspettative
 Supporto all’accesso di informazioni in grandi patrimoni
conoscitivi (archivi aziendali, informazioni on-line,
repositories di dominio,…) che richiede la capacità di
analisi e gestione di dati eterogenei e ridondanti.
 Strumenti per l’estrazione di conoscenza ad ampio spettro
che utilizzino tecniche di apprendimento automatico e la
capacità di analizzare il linguaggio naturale.
 Capacità di integrare, all’interno di sistemi informativi
generali, moduli che producano task intelligenti
 Navigazione intelligente sul web
IA debole versus IA forte
L’IA debole si propone di costruire (reale costruibilità)
macchine che si comportino “come se” fossero
intelligenti, ossia macchine capaci di risolvere tutti i
problemi che l’intelligenza umana sa risolvere.
L’IA forte afferma che la macchina che agisce in modo
intelligente deve avere una “intelligenza cosciente”, una
mente cosciente indistinguibile dalla mente umana; l’IA
forte vuol dare risposta al problema astratto di che cosa
sia il “pensare” per una macchina, anche se poi non
riesce a costruire macchine intelligenti.
… Le simulazioni al calcolatore dei processi cerebrali forniscono
modelli degli aspetti formali di questi processi, ma la simulazione
non va confusa con la riproduzione.
Il modello computazionale dei processi mentali non è più reale di
quello di qualsiasi altro fenomeno naturale. Si può immaginare
una simulazione al calcolatore dell’ossidazione degli idrocarburi
in un motore d’automobile, o dei processi di digestione in uno
stomaco alle prese con una pizza. Nel caso del cervello la
simulazione non è più reale che nel caso dell’automobile e dello
stomaco.
La simulazione di un processo cognitivo non produce gli stessi effetti
della neurobiologia di quel processo cognitivo….
J.Searle, La mente è un programma?, 1990
Dove si usa?
(Esempi di Noemi Scarpato e Andrea Turbati)
Nel mondo informatico
•
•
•
•
•
•
Ingegneria del software
Sicurezza Informatica
Web
Robotica
Videogiochi
….
Dove si usa?
…ma anche
• Giurisprudenza
• Medicina
• Geografia
• Biologia
• Meteorologia
• Arte
• Linguistica
• …….
Ingegneria del sw
La definizione dell’insieme delle features di un
sistema dipende dalle richieste degli stakeholder:
l’analisi di tali richieste può essere attuata
mediante l’utilizzo di tecniche di NLP in
maniera automatica o semiautomatica
La fase di analisi dei requisiti può essere
supportata dalla creazione di ontologie che
descrivono il dominio dell’applicazione.
Sicurezza Informatica
Applicazioni intelligenti possono essere usate come
strumento parallelo ai firewall applicativi.
Vantaggi:
Apprendimento di nuove regole mediante
l’intercettazione dei comportamenti anomali mai
incontrati precedentemente a differenza dei firewall
tradizionali che possono prevenire solo ciò che
conoscono già.
Analisi dei dati ricevuti dai client che consente di
identificare comportamenti non desiderati.
Generazione dinamica di strategie diverse a fronte di
attacchi differenti.
Motori di ricerca
Miglioramento delle prestazioni dei motori di
ricerca utilizzando sistemi di NLP per
interpretare correttamente il significato della
query dell’utente . Vantaggi:
 Aumento della precision: restituisce solo link a siti rilevanti
è in grado di riconoscere siti off topic ma che contengono
omonimi e non li prende in considerazione;
 Aumento della recall: è in grado di restituire un maggior
numero di siti rilevanti . Utilizza l’analisi semantica della
query per individuare i siti rilevanti anche nel caso in cui
essi non contengano esattamente gli stessi termini della
query.
Web Services
Web Services: è una tecnologia promettente ,ma ha
un problema, non si riesce a fare composizione
automatica. Di fatto questo rende difficile
l’utilizzo, è impensabile chiedere agli sviluppatori
di fare manualmente il lavoro di composizione.
Problema: Come scelgo il web service più adatto alla
mia esigenza?
Soluzione: Analizzo il file di descrizione del web
service utilizzando tecniche di NLP per
automatizzare il processo.
Accessibilità
Sistemi di speach recognition consentono ad un utente
con problemi nella lettura o nella scrittura di
interagire con il computer attraverso un dialogo. I
sistemi di spech recognition sono in grado di
comprendere il parlato e di reagire ad ordini vocali.
Sistemi di traduzione automatica intelligenti in grado di
analizzare dei documenti e tradurli nel linguaggio
richiesto dall’utente.
Videogiochi
Caratterizzazione dei personaggi
(espressioni facciali,
comportamento) in base
all’ambiente circostante.
Variazione/evoluzione della
strategia di gioco dei personaggi
gestita dal computer in base ai
comportamenti del giocatore.
Evoluzione del mondo virtuale
anche durante l’assenza del
giocatore.
Robotica
L'iQue è in grado di dialogare con il suo
interlocutore facendo domande e
ricordando avvenimenti accaduti, ma non
può parlare di se stesso. Riceve una
risposta dall’Umano tramite una tastiera.
Alcuni scienziati di Sydney che
hanno realizzato un gruppo di robot
umanoidi in grado di ballare in stile
hip-hop.
…e nelle altre discipline?
Oltre agli ambiti informatici citati precedentemente
moltissime discipline utilizzano tecniche di NLP per la
gestione dei dati. Alcuni esempi:
In giurisprudenza tali tecnologie possono essere
utilizzate per analizzare norme con il fine di
evidenziare possibili relazioni tra queste.
Sono stati creati cataloghi strutturati di opere
artistiche e letterarie.
In ambito spaziale e geografico l’enorme quantità di
dati raccolti durante le osservazioni è gestita con il
supporto di tecnologie di Intelligenza Artificiale.
Bibliografia (per cominciare…)
• Association for the Advancement of Artificial Intelligence: AI in the news , 2009,
http://www.aaai.org/AITopics/pmwiki/pmwiki.php/AITopics/AINews
• J. McCarty, M.L. Minsky, N. Rochester, C.E. Shannon: A proposal for the
Dartmouth Summer Research Project on Artificial Intelligence, 1955,
http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html
• R. Cordeschi, G. Tamburrini: L’Intelligenza Artificiale: la storia e le idee, 2001,
http://www3.humnet.unipi.it/epistemologia/gtamb/ia.pdf
• H. Uskoreit: “Language Technology, A First Overview”
http://www.dfki.de/~hansu/LT.pdf
• D. Gelernter: “Artificial Intelligence is Lost in the Woods”
http://www.technologyreview.com/printer_friendly_article.aspx?id=18867
Bibliografia (per cominciare…)
• M. Benasayag G. Schmit : “L'epoca delle passioni tristi”
Feltrinelli Editore, 2004, ISBN 8807103672, 9788807103674
• R. Dipert: Artifacts. Art works and Agency, 1993, Philadelphia:
Temple University Press
• J. Searle: Is the brain a digital computer?, Proceedings of The
American Philosophical Association, 64,3 (1990), pagg.21-38.
• J. Searle: The construction of social reality, 1995, New York:
Thje Free Press
• J. Doyle, T. Dean: Strategic Directions in Artificial Intelligence,
ACM Computing Surveys, 28 (4), Dec. 1996
Scarica

Intelligenza Artificiale - Università degli Studi di Roma Tor Vergata