La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Breve introduzione all’IA

Presentazioni simili


Presentazione sul tema: "Breve introduzione all’IA"— Transcript della presentazione:

1 Breve introduzione all’IA
Alessandro Cappellini 9 Aprile 2004

2 Per dimostrarlo Turing teorizza la logical computing machine.
Churh - Turing Negli anni ’20 David Hilbert ha proposto il problema della decidibilità come “sfida” della moderna matematica. Secondo Turing: “Non è possibile stabilire in maniera certa e meccanica la verità o la falsità di tutti gli enunciati matematici”. Per dimostrarlo Turing teorizza la logical computing machine. Una macchina di Turing consta in un nastro cartaceo diviso in singole celle, che serve sia per l’input che per l’output, una testina per scrivere e cancellare sul nastro e un interprete.

3 Algoritmi E' un procedimento per la soluzione di un problema. Esiste un qualcuno (una macchina o in generale un interprete) che esegue ciò che l’algoritmo specifica (le istruzioni): azioni che devono essere eseguite; ordine con cui devono essere eseguite. Un algoritmo può essere paragonato a una ricetta (entità astratta). La ricetta scritta in un libro di cucina sarà un programma scritto con un formalismo (linguaggio di programmazione). Nel definire un problema algoritmico dobbiamo specificare: l'insieme degli input ammissibili; l'insieme degli output desiderati in funzione degli input. Un problema algoritmico è risolto se si trova un algoritmo appropriato (che deve fornire output corretti partendo da tutti gli input ammissibili).

4 Problemi Fortemente Indecidibili (Tiling Problem con spazio infinito) Indecidibili (Halting Problem, Tiling Problem) Intrattabili (Torri di Hanoi, Scacchi, Blocchi stradali) Decidibili TSP, Scheduling, problema dello zaino, massimizzazione, problemi economici e di ricerca operativa sono NP-Completi (il loro tempo di soluzione nei worst-case è non polinomiale). Il calcolo parallelo aiuta la ricerca di soluzioni in casi adatti (e.g. scavare un pozzo o un fossato). I metodi Montecarlo e Las Vegas possono ridurre i problemi NP alla classe RP. Ma ogni algoritmo casuale può essere simulato da uno deterministico, ricadendo nella tesi di Church-Turing.

5 Halting Problem Un programma si ferma davvero per tutti gli input fornendo un risultato? Secondo il teorema di Rice non possiamo dire “un bel niente” sui programmi e non esiste un algoritmo in grado di stabilire se una certa computazione ha qualsiasi proprietà non banale. Uno dei più famosi Halting problem è quello proposto da L. Collatz in 1937, noto anche come 3x+1 (http://mathworld.wolfram.com/CollatzProblem.html). Non è provato che si fermi per tutti gli input positivi, e crea cicli per input negativi (-1, -5…)

6 Collatz – “3X+1” #include <stdio.h> // 3x+1 problem aka Collatz (1937) int main () { int number,i; i=0; printf("choose an integer and hit return: \n"); scanf("%d", &number); printf("\n"); while (number!=1) if (number%2==0) {number = number/2;} else {number = 3*number+1;} i++; printf("%d %d \n",i,number); } return 0; La sequenza (hailstone numbers) generata dal numero 27 è lunga 111 elementi.

7 1950 Computing Machinery and Intelligence: “Can machines Think?”
Test di Turing 1950 Computing Machinery and Intelligence: “Can machines Think?” Il test proposto è una conversazione (chat) tra un umano e alcuni soggetti (umani o macchine). Se l’esaminatore non distinguerà la macchina dall’umano questa potrà essere considerata intelligente. Di solito si chiede al computer/programma di affrontare sessioni diverse con diversi esaminatori per rendere il giudizio meno soggettivo. Molti pensano che nessun computer lo supererà mai. Ogni anno si tiene il premio Loebner che premia chi più si avvicina a superare il test di Turing. Nessuno lo ha mai superato.

8 Storia Blaise Pascal nel 1642 realizza la “Pascalina”, una macchina calcolatrice meccanica. Charles Babbage a fine 1800 progetta l’Analytic Engine, un primo computer, mai realizzato e Ada Byron (Lady Lovelace) inventa le basi della programmazione. Nel 1889 Herman Hollerith idea una macchina calcolatrice a schede perforate per il censimento americano e dopo poco fonda la International Business Machines – I BM.

9 Computer Bellici Konrad Zuse nel 1931 costruisce Z1, il primo calcolatore digitale tedesco, usato per le traiettorie delle V2. Turing collabora al progetto ULTRA che prevede la costruzione di elaboratori per decifrare il codice tedesco Enigma, basato sui numeri primi. A Bletchley Park verrà costruito Colossus, e nel 1943 si decifrerà il codice. ENIAC (electronic numerical integrator and computer) di Prepser Eckert e John Mauchly sarà usato per il calcolo delle tabelle di artiglieria e per il progetto Manhattan. Ha il difetto che pochi minuti di calcolo costano ore di settaggi di relè e interruttori. EDVAC (electronic discrete variables automatic computer) è il successore di ENIAC ed è programmabile.

10 Architettura von Neumann
Nel giugno 1945, durante la costruzione di EDVAC viene formalizzata l’architettura di von Neumann, oggi usata nella maggior parte dei calcolatori, che consta in: una memoria che contenga il programma (nella macchina di Turing il lungo nastro cartaceo); una unità di calcolo che riceve i dati ed esegue le operazioni richieste dal programma; una unità di controllo che interpreta le istruzioni di programma in memoria e fa effettuare all’unità di calcolo le operazioni corrispondenti.

11 Summer Research Project on Artificial Intelligence
Dartmouth College, NH, 1956 Migliorare la potenza di calcolo e raffinare i metodi di programmazione; Programmare un computer che “possieda un linguaggio” manipoli simboli e concetti in maniera simile a una mente umana; Costruire sistemi di neuroni artificiali capaci di ricreare il comportamento di sistemi nervosi biologici e di formare concetti; Stimare la durata di un calcolo o come trovare delle euristiche per abbreviarla; Automiglioramento dei calcolatori (che imparano da soli e modificano il proprio programma); Come far sì che i calcolatori possano formare concetti e astrazioni; Come mettere nei calcolatori una qualche forma di creatività e libero arbitrio.

12 Allen Newel, Cilff Shaw, Herbert Simon
Logic theorist LT – viene definito il primo programma di IA. Dimostra i teoremi contenuti nei Principia Mathematica di Russell e Whitehead. The General Problem Solver GPS 1957 – risolve la torre di Hanoi e il dilemma di “lupo, capra e cavoli”. Si critica che il programma riceve una descrizione tanto dettagliata del problema da contenere la soluzione dello stesso. Edward Feigenbaum 1967 – Sistemi Esperti Sono knowledge-based system composti principalmente da due parti: una base di conoscenza e un motore inferenziale. La base di conoscenza raccoglie in maniera simbolica tutte le conoscenze che un esperto umano usa per risolvere il problema. Il metodo più utilizzato è costruire una gran serie di regole (rule-based reasoning) del tipo “se X allora Y”. Con Joshua Lederberg, Bruce Buchanan, George Sutherland scrive Heuristic Dendral, un sistema esperto per la chimica che nel 1975 scopre nuove molocole.

13 Sistemi Esperti Mycin (1974) di Edward Shortliffe è un sistema esperto in diagnosi su meningite e infezioni del sangue con 400 regole, che batte diversi medici nella diagnosi. Vantaggi: Sanno risolvere problemi scomponendoli in più sottoproblemi; Possono fornire una traccia della loro linea di ragionamento; Di fronte a informazioni incomplete o contraddittorie se ne rendono conto e chiedono spiegazioni; La loro conoscenza non è stabilita, è possibile accrescerla. Svantaggi: Sono rigidi: non escono dal loro settore specialistico; Non hanno creatività e non possono immaginare nuove strategie oltre a schemi di aggiornamento prefissati; La comunicazione con l’uomo è scarsa e non flessibile; Sono privi del senso comune. Un sistema esperto in uso alla Ford per concedere i prestiti, ne concesse uno a un ragazzo di vent’anni, che vantava dieci anni di onorata carriera: non sapeva cosa significasse avere vent’anni o dieci.

14 Douglas Lenat Automatic Mathematician AM 1982 è un programma LISP con possibilità di automodificarsi, che partendo da semplici assiomi impara la matematica (insiemi, addizioni, ecc.). Automodificandosi corre il rischio di bloccarsi. Eurisko è stato usato anche per una variante della battaglia navale, e crea una strategia con molte navi piccolissime e veloci, vincendo il campionato. Cyc, da encyclopedia,1984 contiene di regole che descrivono le conoscenze umane anche più banali come: “esistono cose che si possono toccare”. Alcune versioni preliminari di Cyc gestiscono grandi database “intelligenti”.

15 Joseph Weizenbaum – Eliza
Lo script Doctor impersona uno psicologo di scuola rogeriana che incoraggia il paziente a parlare, durante tutta la seduta. Ma di fronte a frasi come: “Ho litigato con mia madre” o “Ho visto la Regina Madre” ci chiederebbe comunque “Mi parli della sua famiglia”. Kenneth Colby – Parry Paziente paranoico che si ricorda l’andamento della conversazione. Traduzioni automatiche “Ho visto un film con Sharon Stone” – la frase ha due interpretazioni, di cui una (la presenza fisica di Sharon Stone) viene scartata a priori dagli umani. Terry Winograd – Shrdlu – 1971 Risposta ai sistemi esperti. Un robot virtuale in un mondo di giocattoli che può: Costruirsi una conoscenza completa del mondo e un senso comune sulle proprietà degli oggetti; Modificare il mondo applicando piani e strategie diversi; Capire domande e ordini sottoposti in linguaggio naturale.

16 Giochi Nel 1950, Claude Shannon, che aveva introdotto l’uso dell’algebra booleana, teorizza una applicazione per computer per giocare a scacchi. Arthur Samuel nel 1960 inventa un programma che gioca a dama Chinook che usa la regola del min-max. Dopo poche mosse, osservati gli effetti della scelta, poteva modificare i propri parametri di scelta del min-max, migliorandosi. 11 maggio 1997 Deep Blue batte Garry Kasparov a scacchi (Deep Thought il predecessore, aveva perso con lui nel 1989). A detta degli stessi programmatori Deep Blue non pensa ma usa forza bruta.

17 Min-max Secondo la teoria dei giochi di John von Neumann e Oskar Morgenstern, in ogni momento l’algoritmo del minmax negli scacchi e in altri giochi può stabilire la mossa migliore da fare. La mossa massimizzerà il numero di posizioni favorevoli per un giocatore, minimizzando quelle favorevoli all’avversario. Per trovarla basta esplorare l’albero della soluzioni quanto più approfonditamente possibile. Euristiche Sono Regole Pratiche. Istruzioni che formalizzano idee intuitive che eliminano rami interi dell’albero delle soluzioni. Un processo che può risolvere un certo problema, ma che non offre nessuna garanzia di riuscirci, viene detto un’euristica per quel problema (George Polya).

18 Cibernetica Norbert Wiener applica un potenziometro di controllo all’artiglieria tenendo conto del feedback. Sarà il padre della cibernetica, da kybernetè timoniere. 1948 Walter Grey Walter tartarughe elettroniche Elsie Electro Light sensitive Internal Externsal e Elmer Electro Mechanical Robot. 1957 Planebot braccio robot industriale. Sono capaci di montaggi e avvitare lampadine, ma tutto deve essere dettagliatamente programmato e posizionato con accuratezza.

19 Rodney Brooks Costruisce insetti e semplici robot. Hermes è servito come prototipo alla Nasa per Sojourner. “L’intelligenza è una proprietà emergente dei sistemi complessi. Apparirà spontaneamente quando costruiremo un robot dotato di una gerarchia e di una coordinazione sufficientemente completa e complicata di reazioni fra stimolo e risposta”. Nel 1992 realizza il “bambino elettronico” di Turing: Kismet (una testa capace di espressioni che reagisce a stimoli visivi esterni) e Cog (un bambino con braccia che manipola giocattoli).

20 RoboCup: partite di calcio da 10 minuti con robot reattivi.
Il futuro dell’IA RoboCup: partite di calcio da 10 minuti con robot reattivi. Reti neurali e Algortimi Genetici. Vita artificiale (inventata da von Neumann): Norms di Stephen Grand. Intelligenza Artificiale Distribuita: tanti agenti capaci di poche operazioni e in grado di coordinarsi. Computer affettivi. Semplificando: L’IA forte ha un approccio top down, solo software e con uso di ragionamento simbolico; La cibernetica ha un approccio bottom up.

21 Contro l’IA Secondo il teorema dell’incompletezza di Godel: “ogni sistema formale è inconsistente, incoerente, cioè permette di dimostrare frasi false, oppure è incompleto, cioè non è capace di decidere, dimostrare, la verità o la falsità di alcuni teoremi”. Un esempio è la frase “io non sono dimostrabile”; se è dimostrabile è falsa, se invece la frase fosse vera il teorema non è dimostrabile. Roger Penrose usa il teorema di Godel per attaccare l’IA, sostenendo che nessun computer in grado di manipolare simboli possa risolvere l’impasse. John Searle va contro contro l’IA forte con il paradosso della Chinese Box, in cui un uomo, rinchiuso con dei manuali di cinese, interagisce con dei madrelingua all’esterno. I detrattori sostengono che l’intelligenza sia nel complesso della stanza (sistema).

22 Yurij Castelfranchi – Oliviero Stock
Bibliografia Yurij Castelfranchi – Oliviero Stock Macchine come Noi – La scommessa dell’intelligenza Artificiale, Laterza, 2000 David Harel Computer a responsabilità limitata – Dove le macchina non riescono ad arrivare, Einaudi, 2000


Scaricare ppt "Breve introduzione all’IA"

Presentazioni simili


Annunci Google