Simone Brundu Gianluca Cima Antonio Fasano Aniello Guarino Antonio Ornatelli Docente: prof. Quaranta...

Post on 02-May-2015

218 views 2 download

Transcript of Simone Brundu Gianluca Cima Antonio Fasano Aniello Guarino Antonio Ornatelli Docente: prof. Quaranta...

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