430 likes | 645 Views
Simone Brundu Gianluca Cima Antonio Fasano Aniello Guarino Antonio Ornatelli Docente: prof. Quaranta Isidoro ITIS “A. Pacinotti ” – Fondi (LT) Classe 4°A INFORMATICA – A.S. 2009/2010. INTELLIGENZA ARTIFICIALE. La macchina come l’uomo ?. Realtà o solo fantasia?. INDICE.
E N D
Simone Brundu Gianluca Cima Antonio Fasano AnielloGuarino Antonio Ornatelli Docente: prof. Quaranta Isidoro ITIS “A. Pacinotti” – Fondi (LT) Classe 4°A INFORMATICA – A.S. 2009/2010 INTELLIGENZA ARTIFICIALE
La macchina come l’uomo ? Realtà o solo fantasia?
INDICE Definizioni Test di Turing Origini Gruppi Due correnti di I.A. Aree Sistemi basati sulla conoscenza Ricerca Problema da esaminare Cercare soluzioni
INDICE Gioco degli Scacchi Paradigma di programmazione logico Prolog Soluzione Programma Logico Esempi di Soluzione Programmi sul Prolog Scenari Futuri Pensieri Personali Fonti e Bibliografie
DEFINIZIONI L’intelligenza Artificiale, o IA, si occupa di comprendere e costruire entità intelligenti. È nata nel 1956, e sino ad oggi, sta provando a far arrivare l’intelligenza delle macchine ai livelli umani.
DEFINIZIONI L'intelligenza artificiale è una disciplina dibattuta tra scienziati e filosofi, la quale manifesta aspetti sia teorici che pratici.Nel suo aspetto puramente informatico, essa comprende la teoria e le tecniche per lo sviluppo di algoritmiche consentano alle macchine di mostrare un'abilità e attività intelligente.
DEFINIZIONI I fondamenti dell’IA sono: • Filosofia • Matematica(logica) • Psicologia • Ingegneria dei Calcolatori • Linguistica
origini L'espressione “Intelligenza Artificiale” fu coniata nel 1956 dal matematico americano John McCarthy, durante un seminario svoltosi nel New Hampshire
gruppi • IA DEBOLE • IA FORTE L’intelligenza artificiale è catalogata dagli studiosi in due grandi gruppi:
Ia debole L’IA Debole è l’idea che si riferisce a programmi che non possono essere compresi dalla macchina, ma solo eseguiti. Infatti alcuni sostengono che non si tratta di vera e propria intelligenza e quindi le macchine non arriveranno mai ai livelli dell’uomo.
Ia forte L’IA Forte è l’idea che opportune forme di IA possono ragionare per risolvere problemi, e diventare sapienti di se. Quindi un computer programmato opportunamente può essere davvero una mente.
Le due correnti LE MACCHINE INTELLIGENTI: – si costruiscono programmi che raggiungono un alto livello di competenza nella conoscenza di problemi particolari; – approccio ingegneristico; – Non ci si occupa di simulare l'attività umana di ragionamento, ma di arrivare allo stesso risultato, senza il ragionamento umano. SCIENZA COGNITIVA: – si cerca di modellare il comportamento umano e i suoi processi di Informazione; – approccio di filosofi, psicologi, linguisti, biologi; – Il computer è un mezzo di sperimentazione; – Siamo ancora lontani dalla costruzione della macchina; "intelligente", per cui ci si è limitati per adesso a problemi più semplici e trattabili.
Aree L'Intelligenza Artificiale è una disciplina giovane e non ancora assestata. Intelligenza Artificiale ha quattro grosse aree: • Strategie di Ricerca; • Rappresentazione della conoscenza; • Applicazioni; • Visione simbolica e dichiarativa;
Sistemi basati sulla conoscenza • – Un sistema di Intelligenza Artificiale generalmente esamina un largo numero di possibilità e costruisce dinamicamente una soluzione. • – "La potenza di un programma intelligente nel risolvere un problema dipende primariamente dalla quantità e qualità di conoscenza che possiede su tale problema". (Feigenbaum).
ricerca La maggior parte dei problemi è basata sulla RICERCA. La ricerca è basata sullo spostamento di uno stato ad un altro, fino ad arrivare ad un obiettivo (Il goal). • Spazio degli Stati - Goal
Problemi da esaminare Problemi a STATI SINGOLI Problemi a STATI MULTIPLI
• Uso di soluzioni parziali; • Dopo varie prove di sequenze diverse di azioni, vieni scelta la migliore; • Il processo di cercare tale sequenza è chiamato RICERCA; • Input Problema, Output Soluzione sotto forma di sequenza di azioni; • Dopo la soluzione, le azioni possono essere realizzate; • Tale fase è chiamata ESECUZIONE. Cercare soluzioni
Il gioco degli scacchi “la macchina batte l’uomo nel gioco degli scacchi” • Il gioco degli scacchi presenta alcune proprietà di base: • Due giocatori, con mosse alternate; • Conoscenza perfetta, informazioni univoche; • Può essere considerato un albero in cui la radice è la posizione di partenza e le foglie le posizioni finali. L’albero di gioco è deterministico, poiché si può determinare tutte le posizioni in cui ci si può trovare dopo una mossa
Il gioco degli scacchi “la macchina batte l’uomo nel gioco degli scacchi”
Il gioco degli scacchi “la macchina batte l’uomo nel gioco degli scacchi” Algoritmo Min-Max - L’algoritmo minmax è progettato per determinare la strategia ottimale per “Max” e per suggerirgli, di conseguenza, la prima mossa migliore da compiere; per fare questo, ipotizza che “Min” faccia la scelta a lui più favorevole. - Non e’ interessante la “strada”, ma solo la prossima mossa
Il gioco degli scacchi “la macchina batte l’uomo nel gioco degli scacchi” Albero di Soluzione
Il gioco degli scacchi “la macchina batte l’uomo nel gioco degli scacchi” Albero di Soluzione • Se si deve sviluppare tutto l'albero la procedura è molto inefficiente. • B = Fattore di ramificazione • D = Livelli di posizione • Numero nodi = B^D • Potazione Albero
Il gioco degli scacchi “la macchina batte l’uomo nel gioco degli scacchi” Tecnica ALFA-BETA Tecnica ALFA-BETA
Il gioco degli scacchi Differenza tra Uomo e Macchina - Il computer elabora 700.000 posizioni. - L’uomo elabora 5 livelli in media. - Forte nel Centro Partita. - Forte nel Finale. - Algoritmi specializzati per il Finale - L’uomo utilizza il colpo d’occhio.
i paradigmi Di programmazione • I principali paradigmi di programmazione sono 4: Imperativa Ad oggetti Logico Funzionale Per sviluppare i programmi di intelligenza artificiale si usa il paradigma di programmazione logico:
prolog Un linguaggio che usa il paradigma logico è il Prolog. Prolog (PROgrammationLOGique) è nato nel 1973. -ALTISSIMO LIVELLO - APPLICAZIONI DI IA • Lavora su strutture ad ALBERO • – anche i programmi sono strutture dati manipolabili; • – utilizzo della ricorsione e del non assegnamento.
Programmare in prolog Un Programma PROLOG e’ un insieme di clausole che rappresentano: – FATTI – GOAL – REGOLE • SINTASSI: un programma Prolog e’ costituito da un insieme di clausole definite della forma (cl1) A. FATTO o ASSERZIONE (cl2) A :- B1, B2,…, Bn. REGOLA (cl3) :- B1, B2,…, Bn. GOAL • A : testa della clausola • B1,B2,…,Bn : body della clausola • Il simbolo “,” indica la congiunzione; il simbolo “:-” l’implicazione • Logica in cui A e’ il conseguente e B1,B2,…,Bn l’antecedente
Soluzione Programma Logico Esaminiamo le seguenti dichiarazioni: Mario è il padre di Luca Luca è il padre di Angelo Ci può essere anche la relazione: padre (Luca) = Mario (1) padre (Angelo) = Luca (2) nonno (x) = padre (padre (x)) (3)
Mario è il padre di Luca padre (Luca) = Mario (1) Luca è il padre di Angelo padre (Angelo) = Luca (2) Relazione: nonno (x) = padre (padre (x)) (3) Interrogazione: nonno (Angelo) = ? Il sistema di risoluzione cerca tra le dichiarazioni e le relazioni una possibile associazione. Trova un’associazione tra il membro sinistro dell’interrogazione e quello della relazione (3). Con questa relazione si può effettuare la sostituzione x=Angelo e si ottiene: •nonno(Angelo) = padre (padre (Angelo)) = ? A questo punto si può utilizzare la dichiarazione (2) ed effettuare la seguente sostituzione: •nonno(Angelo) = padre (padre (Angelo)) = padre (Luca) = ? L’ultimo passaggio viene effettuato con la dichiarazione (1) che permette di inferire •nonno(Angelo) = padre (padre (Angelo)) = padre (Luca) = Mario E quindi: •nonno(Angelo) = Mario.
Esempi di programmi svolti… SOMMA Per eseguire la somma di due numeri in Prolog, basta semplicemente fare come nell’esempio somma(A,B,C):- Cis A+B. qUADRATO In questo caso, invece, si esegue il quadrato di un numero quadrato(A,B):- Bis A*A.
Esempio di riconoscimento di relazioni di parentela Maria e Dario e Paolo Franca Bea Giulia e Anna Carlo Grafico Strutturale Luigi
Codice Prolog genitore(maria, paolo). genitore(dario, paolo). genitore(dario, franca). genitore(maria,franca). genitore(paolo, giulia). genitore(paolo, anna). genitore(bea,anna). genitore(bea,giulia). genitore(giulia, luigi). genitore(carlo,luigi). maschio(dario). maschio(paolo). maschio(luigi). maschio(carlo). femmina(maria). femmina(franca) femmina(anna). femmina(giulia). femmina(bea).
Codice Prolog figlio(Y,X) :- genitore(X,Y). X = Dario Y = Paolo Paolo è il figlio di Dario soltanto se Dario è il padre di Paolo Maria e Dario Paolo
Codice Prolog nonno(X,Z) :- genitore(X,Y), genitore(Y,Z). X = Dario Y = Paolo Z = Anna Per verificare che Dario sia il nonno di Anna, il sistema di risoluzione cerca prima un figlio di Dario, e poi verifica se esso sia il padre di Anna. Se quest’ultima relazione è verificata, il risultato sarà vero Maria e Dario Bea e Paolo Anna
Codice Prolog padre(X,Y) :- genitore(X,Y), maschio(X). X = Dario Y = Paolo Dario è il padre di Paolo, solo se Dario è il genitore di Paolo e Dario è maschio Maria e Dario Paolo
Codice Prolog sorella(X,Y) :- madre(Z,X), madre(Z,Y), padre(W,X), padre(W,Y), femmina(X). Il sistema di risoluzione trova la madre di Anna e vede se essa è madre anche a Giulia, se è vero continua facendo la stessa operazione con il padre,e naturalmente controlla se Anna è femmina, nel caso che la madre e il padre di Anna siano gli stessi di Giulia e che Anna è femmina, la seguente relazione è vera. Bea e Paolo Giulia Anna X = Anna Y = Giulia Z = Bea W = Paolo
Scenari futuri “In via di sviluppo il SIMULATORE del Cervello Umano” Fino ad ora i progetti per costruire dei calcolatori in grado di raggiungere il cervello dell’uomo sono falliti, ma l’IBM sta facendo molti passi avanti nella costruzione di questa macchina, è riuscita infatti a fare un simulatore del cervello di un gatto chiamato “CERVELLONE”, che simula il 4,5% dell’intelligenza umana. E crede, l’IBM, che lavora a questo progetto con 5 università, di poter raggiungere l’intelligenza dell’uomo tra 10 anni. PRogettosynapse - Ibm Corp -
Scenari futuri “In via di sviluppo il SIMULATORE del Cervello Umano” REALM una società canadese, sta cercando di costruire una macchina capace di seguire il percorso evolutivo dell’uomo, sperano di riuscire ad avere risultati più che soddisfacenti nel giro di 7-8 anni, questo progetto viene sviluppato anche con l’aiuto di persone che sono già 6700 che scaricano un piccolo software e mettendo quindi a disposizione le risorse del proprio computer. Anche se solo unire i neuroni con delle sinapsi è un primo passo, e il successivo sarà simulare l’approccio della mente umana ai calcoli aritmetici. PRogetto REALM - Intelligente realm inc. -
Scenari futuri “In via di sviluppo il SIMULATORE del Cervello Umano” Il progetto FACETS invece utilizza un componente di silicio capace di funzionare come il cervello umano, simulando neuroni e sinapsi, che può superare anche il cervello umano grazie alla velocità nell’elaborare le informazioni. PRogettofacets - MASSACHUSETTS Instituteoftechnology-
… Pensieri Personali … Potra’ mai la macchina superare l’uomo? Nonostante la macchina possa arrivare a ragionare come l’uomo, essa non ha, e forse non potrà mai avere, come noi, una coscienza e dei sogni.
fonti e bibliografie • Sito web Università di Bologna “Alma Mater Studiorium” { http://lia.deis.unibo.it/Courses/AI/fundamentalsAI2008-09/Lucidi.html } • Wikipedia, Enciclopedia Libera • Immagini scaricate dal motore di ricerca Google
Licenza I contenuti di questo documento sono rilasciati sotto Licenza Creative CommonsAttribuzione 2.5