Upload
marzia-di-giacomo
View
217
Download
2
Embed Size (px)
Citation preview
Simone BrunduGianluca CimaAntonio FasanoAniello 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?
INDICEDefinizioniTest di TuringOriginiGruppiDue correnti di I.A.AreeSistemi basati sulla conoscenzaRicercaProblema da esaminareCercare soluzioni
INDICE
Gioco degli ScacchiParadigma di programmazione logicoPrologSoluzione Programma LogicoEsempi di SoluzioneProgrammi sul PrologScenari FuturiPensieri PersonaliFonti e Bibliografie
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 algoritmi che consentano alle macchine di mostrare un'abilità e attività intelligente.
DEFINIZIONI
I fondamenti dell’IA sono:
DEFINIZIONI
• Filosofia
• Matematica(logica)
• Psicologia
• Ingegneria dei Calcolatori
• Linguistica
TEST DI TURING
L'espressione “Intelligenza Artificiale” fu coniata nel 1956 dal matematico americano John McCarthy, durante un seminario svoltosi nel New Hampshire
ORIGINI
L’intelligenza artificiale è catalogata dagli studiosi in
due grandi gruppi:
• IA DEBOLE• IA FORTE
GRUPPI
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 DEBOLE
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.
IA FORTE
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, madi arrivare allo stesso risultato, senza il ragionamento umano.
SCIENZA COGNITIVA:– si cerca di modellare il comportamento umano e i suoi processi diInformazione;– 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.
L'Intelligenza Artificiale è una disciplina giovane e non ancora assestata.
AREE
• Strategie di Ricerca;• Rappresentazione della conoscenza;• Applicazioni;• Visione simbolica e dichiarativa;
Intelligenza Artificiale ha quattro grosse aree:
– 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).
SISTEMI BASATI SULLA
CONOSCENZA
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
RICERCA
- 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”
- 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
Algoritmo Min-Max
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”
Tecn
ica A
LFA
-BE
TA T
ecn
ica A
LFA
-BE
TA
IL GIOCO DEGLI SCACCHIDifferenza 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 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:
I PARADIGMI DI PROGRAMMAZIONE
PROLOG
Lavora su strutture ad ALBERO– anche i programmi sono strutture dati manipolabili;– utilizzo della ricorsione e del non assegnamento.
Un linguaggio che usa il paradigma logico è il Prolog.Prolog (PROgrammation LOGique) è nato nel 1973.-ALTISSIMO LIVELLO- APPLICAZIONI DI IA
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:
padre (Luca) = Mario (1)padre (Angelo) = Luca (2)
nonno (x) = padre (padre (x)) (3)
Mario è il padre di Luca
Luca è il padre di Angelo
Ci può essere anche la relazione:
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.
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) = ?
Esempi di programmi svolti…
somma(A,B,C):- C is A+B.
Per eseguire la somma di due numeri in Prolog, basta semplicemente fare come nell’esempio
SOMMA
QUADRATO
In questo caso, invece, si esegue il quadrato di un numero
quadrato(A,B):- B is A*A.
Maria e Dario
e PaoloBea
Giulia e Carl
o
Luigi
Anna
Franca
Grafico Struttural
e
ESEMPIO DI RICONOSCIMENTO DI
RELAZIONI DI PARENTELA
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 = DarioY = 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 = DarioY = PaoloZ = Anna
Per verificare che Dariosia il nonno di Anna, il sistemadi risoluzione cerca primaun figlio di Dario, e poi verificase esso sia il padre di Anna. Sequest’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 = DarioY = Paolo
Dario è il padre di Paolo,solo se Dario è il genitore diPaolo 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 = AnnaY = GiuliaZ = BeaW = Paolo
“IN VIA DI SVILUPPO IL SIMULATORE DEL CERVELLO UMANO”
SCENARI FUTURI
PROGETTO SYNAPSE- IBM CORP -
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.
SCENARI FUTURI“IN VIA DI SVILUPPO IL SIMULATORE DEL CERVELLO UMANO”
PROGETTO REALM- INTELLIGENTE REALM INC. -
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 sviluppatoanche 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.
“IN VIA DI SVILUPPO IL SIMULATORE DEL CERVELLO UMANO”
SCENARI FUTURI
PROGETTO FACETS- MASSACHUSETTS INSTITUTE OF
TECHNOLOGY -
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.
… 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