Intelligenza Artificiale

Slides:



Advertisements
Presentazioni simili
…da von Neumann al computer quantistico
Advertisements

…da von Neumann al computer quantistico architettura dellelaboratore.
La Comunicazione Bisogno insopprimibile nella vita di ognuno di noi.
Intelligenza artificiale
Intelligenza Artificiale 1
IL COMPUTER.
Laurea Magistrale in Informatica Percorso: Metodi e Modelli (M & M) a.a. 2007/2008.
Incontro n. 1 - Significato e scopo della formazione (o educazione?)
Cultura Tecnologica del Progetto - Evoluzione delle Tecnologie Informatiche - A. A. 2003/2004 Marco M. Vernillo 1. STORIA DELL’INFORMATICA.
Linguaggi di programmazione
Informatica Generale Alessandra Di Pierro
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
L’aritmetica delle macchine e la macchina della mente
Reti neurali per la percezione dell’ambiente in robotica autonoma
Reti Neurali: studi sull'intelligenza artificiale
Intelligenza Artificiale 1 Gestione della conoscenza Prof. M.T. PAZIENZA a.a
Computer Science as Empirical Inquiry Temi filosofici dellinformatica 28 aprile 2008.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
A cura di Eleonora Bilotta
La nascita della psicologia scientifica
Informatica a Verona Dipartimento di Informatica Facoltà di Scienze MM. FF. NN. Università degli Studi di Verona
Apprendimento di movimenti della testa tramite Hidden Markov Model
Decisione e Complessità Psicologia Sociale A.A Rosaria Conte Laboratory of Agent Based Social Simulation (LABSS) ISTITUTO.
L’indagine OCSE-PISA: il framework e i risultati per la matematica
Modelli simulativi per le Scienze Cognitive
ANNUNCI Modulo B: RICEVIMENTO DOMANI: 17-19
Unità Didattica 2 I Linguaggi di Programmazione
l’intelligenza artificiale e la vita artificiale
Strutture di controllo in C -- Flow Chart --
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Alcune definizioni dellAI Dario Bianchi 1999 Sistemi che pensano come gli esseri umani: modellizzazione cognitiva. Sistemi che pensano razionalmente: le.
Intelligenza Artificiale
Stefano Cagnoni Dip. Ingegneria dellInformazione Parco Area delle Scienze 181a PARMA Tel FAX
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Chomsky La grammatica/sintassi è una proprietà della mente Distinta dalla capacità di comunicare E una facoltà autonoma ed innata La comunicazione è solo.
Jean Piaget.
Elementi di Informatica di base
La memoria realizzato da Stefania Bozzolan
L’inventore del calcolatore odierno
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Questi sono stati tra gli ostacoli maggiori incontrati dalla teoria classica dellIntelligenza Artificiale per dei limiti concettuali della logica bivalente.
Informatica Giuridica e Diritto dellinformatica (IUS 20) a cura di Domenico Condello Avvocato del Foro di Roma 1 Informatica giuridica Classificazioni.
Programma di Informatica Classi Prime
Teoria e Metodologia del movimento umano
L’infinito l’infinito in matematica Il numerabile  o Il continuo C.
IO E LA MATEMATICA PROCEDURALE
Gli Algoritmi L’algoritmo è un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si.
PERCEZIONE Processo psicologico di creazione di un’immagine interna del mondo esterno.
Intelligenze artificiali (I.A.)
Robotica Lezione 4. 2 Attributi dell’Intelligenza Pensiero Capacita’ a risolvere problemi Apprendimento e Memoria Linguaggio Intuizione e Creativita’
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Intelligenza Artificiale: possono le machine ragionare?
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Introduzione
INTELLIGENZA ARTIFICIALE
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
…da von Neumann al computer quantistico L’archittettura dell’elaboratore.
Il Computer Un elaboratore o computer è una macchina automatizzata in grado di eseguire complessi calcoli matematici ed eventualmente altri tipi di elaborazione.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
BLAISE PASCAL “Attraverso lo spazio, l’universo mi afferra e mi inghiotte come un granello; attraverso il pensiero, io afferro l’universo”
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Intelligenza Artificiale: applicazioni Prof. Paola Velardi.
Intelligenza artificiale 3 reti neurali e robotica.
Transcript della presentazione:

Intelligenza Artificiale Introduzione Agostino Poggi Stefano Cagnoni

Programma del corso (Intelligenza Artificiale A) Tecniche di base dell’Intelligenza Artificiale Risoluzione di problemi Rappresentazione della conoscenza Pianificazione Apprendimento Gestione dell’incertezza L’intelligenza richiede conoscenza, quindi la conoscenza è anche la base delle tecniche di IA. Dia conto delle generalizzazioni: non è necessario descrivere separatamente ogni situazione, ma situazioni con parti in comuni sono raggruppate insieme. Possa essere compresa da coloro che devono fornirla: non sempre la conoscenza è acquisibile in modo automatico. Possa essere facilmente modificabile: per correggere errori e seguire i mutamenti del mondo.

Programma del corso (Intelligenza Artificiale v. o Programma del corso (Intelligenza Artificiale v.o. (2003-2004)/ Calcolo naturale, evoluzionistico, emergente ? (2004-2005)) Tecniche di soft computing e di calcolo emergente Reti Neurali Calcolo Evoluzionistico Cenni di calcolo emergente (Alife, ant algorithms, particle swarm optimization) L’intelligenza richiede conoscenza, quindi la conoscenza è anche la base delle tecniche di IA. Dia conto delle generalizzazioni: non è necessario descrivere separatamente ogni situazione, ma situazioni con parti in comuni sono raggruppate insieme. Possa essere compresa da coloro che devono fornirla: non sempre la conoscenza è acquisibile in modo automatico. Possa essere facilmente modificabile: per correggere errori e seguire i mutamenti del mondo.

Testi Consigliati Stuart Russell e Peter Norvig. Artificial Intelligence: A Modern Approach, seconda edizione. Prentice Hall, 2003. In versione italiana: Stuart Russell e Peter Norvig. Intelligenza artificiale: un approccio moderno, Traduzione italiana della prima edizione. UTET Libreria, 1998, a cura di Luigia Carlucci Aiello.

Cosa è l'Intelligenza Artificiale È lo studio di come rendere i calcolatori capaci di pensare nel senso letterale del termine (Haugeland, 1985). Cioè come realizzare sistemi che pensano come gli uomini. È lo studio di come far fare ai calcolatori cose che, ora come ora, gli uomini fanno meglio (Rich and Knight, 1991). Cioè come realizzare sistemi che agiscono come gli uomini.

Cosa è l'Intelligenza Artificiale È lo studio delle facoltà mentali attraverso l'uso di modelli computazionali (Charniak and McDermott, 1985). Cioè come realizzare sistemi che pensano razionalmente. È lo studio di come spiegare e emulare il comportamento intelligente attraverso processi computazionali (Schalkoff, 1990). Cioè realizzare sistemi che agiscono razionalmente.

Primo dilemma….. L’Intelligenza Artificiale è la scienza: che permette ad una macchina di imitare l’uomo modellandone anche i processi biologici e mentali ed i comportamenti ? che crea processi computazionali che ottengono risultati comparabili o migliori di quelli ottenuti dall’uomo in attività considerate tipiche dell’intelligenza umana ?

Secondo dilemma (versione 1)….. Nel primo caso (sillogismo aristotelico) L’IA imita l’uomo ed i suoi processi biologici, mentali e comportamentali L’uomo agisce in modo intelligente => L’IA imita processi intelligenti. Ma è davvero intelligenza ? (discutere… ) Intelligente = umano ? (cioè che fa esattamente la stessa cosa che farebbe un uomo)

Secondo dilemma (v.1, corollario) Intelligente = umano ? (cioè che fa esattamente la stessa cosa che farebbe un uomo) Imitare un uomo stupido è Intelligenza Artificiale ? A seconda del contesto, non è detto che una stessa decisione/azione sia sempre intelligente o sempre stupida… Es. di contesti : a) cantina di Steve Jobs o b) deserto del Sahara dopo una lunga marcia

Secondo dilemma (versione 2) Nel secondo caso L’IA definisce processi computazionali che ottengono risultati comparabili o migliori di quelli ottenuti dall’uomo in attività intelligenti Ma è davvero intelligenza ? (discutere… ) Intelligente = razionale ? (cioè che fa la cosa giusta per un certo contesto in ogni istante)

Altri dilemmi…... È un ramo dell'ingegneria? È un ramo dell'informatica? È un ramo delle scienze cognitive? È un ramo della filosofia? È una scienza?

Le Basi dell'Intelligenza Artificiale L'Intelligenza Artificiale è una campo di ricerca giovane (1943). l'Intelligenza Artificiale si basa sulle idee e risultati ottenuti in altri campi: Filosofia Psicologia Linguistica Matematica Informatica Ingegneria dei calcolatori Elaborazione dei segnali e riconoscimento delle immagini Teoria dei sistemi e del controllo

Basi Filosofiche (428 BC - ) Platone nel 428 BC descrive un dialogo in cui Socrate cerca un algoritmo per distinguere la pietà dalla non-pietà. Aristotele cerca di formulare le leggi che governano la parte razionale della mente. Rene Descartes (1596-1650) propone la tesi del dualismo. Esiste una parte della mente (anima) che non segue le regole fisiche. Gli animali non possedendo questo dualismo possono essere considerati come delle macchine. Wilhelm Leibniz (1646-1716) propone la tesi del materialismo. Ogni cosa, quindi anche la mente, segue le leggi fisiche. Quindi è possibile costruire una macchina che riesce ad eseguire le operazioni mentali.

Basi Filosofiche (428 BC - ) Francis Bacon (1561-1626) con il suo lavoro “Novum Organum” da vita al movimento degli empiricisti. Tutta la conoscenza (cioè tutto quello che si trova nella mente) proviene dai sensi. David Hume (1711-1776) nel suo lavoro “A Treatise of Human Nature ” propone il principio dell'induzione. Il principio dell'induzione indica la possibilità di definire delle regole generali dall'osservazione ripetuta di casi particolari. Bertrand Russell (1872-1970) introduce il positivismo logico. Tutta la conoscenza può essere caratterizzata da teorie logiche. L’acquisizione della conoscenza si basa su observation sentences che corrispondono a sensori di ingresso. Il movimento degli empiricisti affronta il problema della sorgente della conoscenza affermando che tutto quello che si trova nella mente proviene dai sensi. Il principio dell'induzione indica la possibilità di definire delle regole generali dall'osservazione ripetuta di casi particolari. Il positivismo logico afferma che tutta la conoscenza può essere caratterizzata da teorie logiche e la sua acquisizione si basa su observation sentences che corrispondono a sensori di ingresso.

Basi Matematiche (1800 - ) George Boole (1815-1864) introduce un linguaggio formale per fare inferenza logica. Gottlob Frege (1848-1925) definisce una logica che, al di là di alcune modifiche di notazione, è la logica del primo ordine usata in gran parte dei sistemi odierni per la rappresentazione della conoscenza.

Basi Matematiche (1800 - ) Alfred Tarski (1902-1983) introduce una teoria che permette di mettere in relazione gli oggetti del mondo reale con gli oggetti di una rappresentazione logica. Kurt Gödel (1906-1978) prova il cosiddetto teorema dell'indecidibilità. Il teorema dell’indecidibilità afferma che esistono delle funzioni su interi che non possono essere rappresentate da algoritmi, cioè che non possono essere calcolate. Alan Turing (1912-1954) introduce la cosiddetta macchina di Turing e la tesi di Church-Turing. La tesi di Church-Turing afferma che una macchina di Turing è capace di rappresentare qualsiasi funzione computabile.

Basi Psicologiche (1879 - ) Herman von Helmholz (1821-1894) e Wilhelm Wundt (1832-1920) applicano il metodo scientifico allo studio della visione umana. John Watson (1878-1958) e Edward Lee Thorndike (1874-1949) formano il movimento dei comportamentalisti. Le teorie comportamentaliste si basano solo sulla misura degli stimoli dati ad un animale e delle azioni da esso eseguite in risposta. I costrutti mentali come conoscenza, credenze, goal e passi di ragionamento sono rifiutati come non scientifici e frutto della psicologia popolare. Gli studi di john Watson e Edward Lee Thorndike si basano solo sulla misura degli stimoli dati ad un animale e delle azioni da esso eseguite in risposta. I costrutti mentali come conoscenza, credenze, goal e passi di ragionamento sono rifiutati come non scientifica e popolare psicologia.

Basi dell'Ingegneria dei Calcolatori (1940 - ) Nel 1940 in Inghilterra venne costruito dal gruppo di Alan Turing il primo computer moderno, Heath Robinson. Heath Robinson era basato su relé elettromagnetici e aveva lo scopo di decifrare i messaggi tedeschi. Quando i tedeschi usarono dei meccanismi di codifica più complicati i relé elettromagnetici del calcolatore non permisero una adeguata velocità di calcolo e fu sostituito da Colossus, basato sulla tecnologia dei tubi a vuoto. Nel 1941 in Germania venne costruito da Konrad Zuse il primo computer programmabile, Z-3. Tra il 1940 e il 1942 negli Stati Uniti venne realizzato il primo calcolatore elettronico, ABC. Nel 1945 viene realizzato per Z-3 il primo linguaggio di programmazione ad alto livello. Heath Robinson era basato su relè elettromagnetici e aveva lo scopo di decifrare i messaggi tedeschi. Quando i tedeschi usarono dei meccanismi di codifica più complicati i relè elettromagnetici del calcolatore non permisero una adeguata velocità di calcolo e fu sostituito da Colossus basato sulla tecnologia dei tubi a vuoto.

Basi Linguistiche (1957 - ) Nel 1957 Noam Chomsky descrive la teoria dei modelli sintattici. I modelli sintattici permettono di spiegare come un bambino possa comprendere e generare delle frasi che non ha mai sentito. I modelli sintattici di Chomsky sono abbastanza formali da poter essere programmati. In seguito comunque è stato dimostrato che i problemi affrontati dalla linguistica sono ben più complessi di quelli che sembrano nel 1957. Un linguaggio è spesso ambiguo e spesso ha delle parti sottintese. In seguito comunque è stato dimostrato che i problemi affrontati dalla linguistica son ben più complessi di quelli che sembrano nel 1957. Infatti, un linguaggio è spesso ambiguo e spesso ha delle parti sottintese.

Storia dell'Intelligenza Artificiale Warren McCulloch e Walter Pitts nel 1943 propongono un modello di neurone artificiale. Nel 1956 durante il workshop di Dartmouth John McCarthy conia per questi tipi di ricerca il nome di Intelligenza Artificiale. John McCarthy aveva convinto Marvin Minsky e Claude Shannon a organizzare a Dartmouth un workshop per riunire i ricercatori americani interessati alle teoria degli automi, alle reti neurali e allo studio dell'intelligenza. Allen Newell and Herbert Simon nel 1956 realizzano un programma di ragionamento, Logic Theorist. Logic Theorist era capace di risolvere un gran numero di teoremi matematici presenti nel libro Principia Matematica di Russell e Whitehead. In alcuni casi le soluzioni da esso presentate erano più corte di quelle presentate in letteratura. John McCarthey aveva convinto Marvin Minsky e Claude Shannon a organizzare a Dartmounth un workshop per riunire i ricercatori americani interessati alle teoria degli automi, alle reti neurali e allo studio dell'intelligenza. Logic Theorist era capace di risolvere un gran numero di teoremi matematici presenti nel libro, Principia Matematica, di Russell e Whitehead. In alcuni casi le soluzioni da esso presentate erano più corte di quelle presentate in letteratura. La caratteristica principale di GPS è quella di voler imitare i metodi di risoluzione di problemi usati dall'uomo.

Storia dell'Intelligenza Artificiale Allen Newell and Herbert Simon nel 1956 realizzano un programma per la risoluzione di problemi, General Problem Solver. La caratteristica principale del General Problem Solver è quella di voler imitare i metodi di risoluzione di problemi usati dall'uomo. John McCarthy nel 1958 definisce il LISP. Nel 1963 Marvin Minsky incarica un gruppo di studenti di risolvere alcuni semplici problemi che sembravano richiedere intelligenza. Questo gruppo di studenti definì i cosiddetti Mondi giocattolo (Microworlds) tra cui il famoso Mondo dei Blocchi. Gli studenti di Minsky definirono i cosiddetti Mondi giocattoli (Microworlds) tra cui il famoso Mondo dei Blocchi. Ad esempio, un percettrone con due ingressi non può essere addestrato a riconoscere quando i suoi ingressi sono diversi. Questo algoritmo viene usato nelle reti neurali multi-livello e sarà riscoperto negli anni ottanta.

Storia dell'Intelligenza Artificiale Nel 1969 Marvin Minsky e Seymour Papert nel loro libro, “Perceptrons”, mettono in luce i limiti delle reti neurali. Ad esempio, un percettrone con due ingressi non può essere addestrato a riconoscere quando i suoi ingressi sono diversi (XOR logico). Nello stesso anno, Arthur Bryson e Yu Chi Ho propongono l'algoritmo di apprendimento backpropagation. Questo algoritmo viene usato nelle reti neurali multi-strato e sarà riscoperto negli anni ottanta. Nel 1969 il gruppo di Bruce Buchanan e Edward Feigenbaum realizza il primo sistema esperto, DENDRAL. lo scopo di DENDRAL è quello di aiutare l'analisi di strutture molecolari. Nel 1976 lo stesso gruppo realizza MYCIN, un sistema esperto per la diagnosi di infezioni del sangue. MYCIN introduce il calcolo dell'incertezza per gestire l'attivazione delle regole. lo scopo di DENDRAL è quello di aiutare durante l'analisi di strutture molecolari. MYCIN introduce il calcolo dell'incertezza per decidere l'attivazione delle regole.

Storia dell'Intelligenza Artificiale Nel 1975 Marvin Minsky propone il frame come struttura per la rappresentazione della conoscenza. Nel 1981 le autorità giapponesi annunciano l'avvio del progetto per la quinta generazione dei computer. L'obiettivo è realizzare computer che eseguano Codice PROLOG allo stesso modo in cui i computer tradizionali eseguono il codice macchina. Nello stesso periodo sono sviluppati dei calcolatori (LISP Machine) con processori orientati all'esecuzione di programmi LISP. Nel 1986 David Rumelhalt e James McClelland pubblicano i due libri “Parallel Distributed Processing”. Nei due libri sono presentati risultati in vari campi applicativi della backpropagation, reinventata da almeno quattro gruppi di ricerca. Questi due libri riaccendono l'interesse sulle reti neurali.

Storia dell'Intelligenza Artificiale I cosiddetti modelli “Hidden Markov” permettono ai metodi di riconoscimento del parlato e della scrittura di essere usati in sistemi commerciali. David Chapman ottiene una elegante sintesi dei programmi di pianificazione esistenti. L’applicabilità dei pianificatori passa dai mondi giocattolo allo scheduling del lavoro nelle fabbriche e delle missioni spaziali. Le cosiddette “Belief network” diventano la base per il ragionamento incerto e i sistemi esperti. Il formalismo delle belief network permette un efficiente ragionamento sulla combinazione dei fattori di certezza. Allen Newell, John Laird e Paul Rosenbloom sviluppano SOAR. SOAR è una completa architettura ad agenti che utilizza le varie metodologie dell'IA per lo sviluppo di sistemi intelligenti. L’applicabilità dei pianificatori passa dai mondi giocattoli allo scheduling del lavori nelle fabbriche e delle missioni spaziali. Il formalismo dele belief network permente un efficente ragionamento sulla combinazione dei fattori di certezza. SOAR è una completa architettura ad agenti che utilizza le varie metodologie dell'IA per lo sviluppo di sistemi intelligenti.

Campi di Applicazione Analisi finanziaria Automazione d’ufficio Automazione industriale Basi di dati Diagnosi (medica e industriale) Giochi Robotica Sistemi di progettazione Traduzione automatica Percezione: Visione, Linguaggio parlato Linguaggio Naturale: Comprensione, Generazione, Traduzione Matematica: Geometria, Logica, Calcolo differenziale, Dimostrazione di proprietà di programmi Ingegneria: Progetto, Ricerca di guasti, Pianificazione della produzione

Sistemi Intelligenti Quando è che una macchina si può dire intelligente? Turing Test (http://www.loebner.net/Prizef/TuringArticle.html) Elaborazione del linguaggio naturale Rappresentazione della conoscenza Ragionamento automatico Apprendimento Total Turing Test Visione Robotica Il Turing Test si basa sull'interrogazione del programma attraverso un terminale. Il programma supera il test se non si è in grado di decidere se le risposte provenivano da un programma o da una persona. Il Turing Test evita l'interrogazione fisica tra interrogante e computer, dato che la simulazione fisica di una persona non è necessaria per l'intelligenza. Tuttavia, esiste il Total Turing Test che si basa su un video dell'interrogatore per testare le capacità percettive e sulla possibilità di passare degli oggetti da manipolare all'interrogato.

Sistemi Intelligenti Quali sono le componenti fondamentali di una macchina intelligente?

Tecniche di Intelligenza Artificiale Le tecniche di IA manipolano conoscenza. La conoscenza ha alcune caratteristiche poco desiderabili: È voluminosa È difficile da caratterizzare con precisione È in continuo cambiamento Le tecniche di IA sono metodi che sfruttano la conoscenza rappresentandola in modo che: consenta di gestire/generare le generalizzazioni il formalismo di rappresentazione possa essere compreso da coloro che la devono fornire possa essere facilmente modificabile possa essere utilizzata anche quando non è del tutto completa e precisa L’intelligenza richiede conoscenza, quindi la conoscenza è anche la base delle tecniche di IA. Dia conto delle generalizzazioni: non è necessario descrivere separatamente ogni situazione, ma situazioni con parti in comuni sono raggruppate insieme. Possa essere compresa da coloro che devono fornirla: non sempre la conoscenza è acquisibile in modo automatico. Possa essere facilmente modificabile: per correggere errori e seguire i mutamenti del mondo.