documentia
DESCRIPTION
iaTRANSCRIPT
INTELLIGENZAARTIFICIALE
Definizione
Alan Turing
Paradigmi
Robot
Reti neurali
Vita artificiale
Sistemi esperti
Fine
Realizzato dalla prof.ssa Paola Pucci
Scopo e utilizzo
Teorie
Problemi e metodologie
Automi cellulari
Relazioni reti neurali e automi cellulari
Attività e comportamento
Sistemi
Reti immunitarie
Studio matematico Vita Artificiale
Utilizzi biologici
IA – VITA ARTIFICIALE
VITA ARTIFICIALE - SCOPO E UTILIZZO
Data di nascita: 1987
Luogo di nascita: Los Alamos National Laboratory, USA
Paternità: Christopher G. LANGTON
Scopo generale: studiare sistemi artificiali che abbiano caratteristiche comportamentali simili a quelle mostrate dagli esseri viventi esistenti in natura
Stato attuale: dominio di studio autonomo, di tipo transdisciplinare, con centri di ricerca, riviste scientifiche, corsi universitari, applicazioni industriali
La Vita Artificiale ha due obiettivi fondamentali:
VITA ARTIFICIALE - SCOPO E UTILIZZO
1) lo studio e la comprensione dei fenomeni biologici reali attraverso la loro riproduzione in sistemi artificiali
2) la creazione di tecnologie e applicazioni aventi alcune delle proprietà dei sistemi biologici, con l'intento di creare le basi per una nuova ingegneria di tipo biologico
Si ricreano, dentro i computer, i comportamenti degli esseri viventi, anche i meno intelligenti, come, ad esempio, alcuni tipi di pesci.
VITA ARTIFICIALE - SCOPO E UTILIZZO
Una volta creato questo ambiente lo scienziato si mette ad osservare come, nel corso delle generazioni, gli organismi si evolvono.
VITA ARTIFICIALE - TEORIE
La Vita Artificiale è caratterizzata da due aspetti:
1. cercare di capire i fenomeni del mondo vivente mediante la loro riproduzione in sistemi artificiali, cioè in simulazioni o in sistemi fisici, come i robot
2. guardare in modo unificato a tutti i fenomeni del mondo vivente, considerando come fenomeni ad esso associati non solo quelli studiati dalla biologia, ma anche quelli studiati dalle scienze cognitive e dalle scienze sociali
VITA ARTIFICIALE - TEORIE
Costruire un artefatto che riproduce i fenomeni della realtà è un altro modo di formulare le teorie scientifiche
L’artefatto è la teoria
Se l’artefatto si comporta come la realtà, allora si può ritenere che i principi seguiti nel costruirlo siano gli stessi che governano la realtà
VITA ARTIFICIALE - TEORIELe teorie formulate a parole sono spesso imprecise, ambigue, e non generano predizioni empiriche o le generano in modo sempre controverso
Le teorie formulate, invece, in modo matematico (equazioni) possono essere applicate solo a un ristretto sottoinsieme di fenomeni della realtà (oggi neppure a tutti i fenomeni studiati dalla fisica).
VITA ARTIFICIALE - TEORIE
Le teorie - artefatti:
sono necessariamente precise e non ambigue, perché altrimenti l’artefatto non potrebbe essere costruito
generano un grande numero di predizioni empiriche in modo non controverso in quanto i comportamenti dell’artefatto sono le predizioni empiriche derivate dalla teoria usata per costruirlo
sono applicabili a qualunque fenomeno
1. modellizzazione dei processi biologici:
− Lo studio dell’evoluzione e dell’origine della vita
− I processi di sintesi di DNA/RNA
2. individuazione dei principi sottostanti ai comportamenti intelligenti:
− Emergenza e auto-organizzazione
− Intelligenza distribuita
− Robot autonomi
3. progetto di applicazioni pratiche
Tipi di problemi affrontati dalla Vita Artificiale:
VITA ARTIFICIALE – PROBLEMI E METODOLOGIE
VITA ARTIFICIALE – PROBLEMI E METODOLOGIE
Approccio di tipo SINTETICO:
i comportamenti vengono prodotti specificando i componenti di base del sistema e le loro leggi di interazione
Ipotesi fondamentale:
la vita è una proprietà derivante dal modo di organizzazione della materia, piuttosto che dalla materia stessa
Strumenti usati:
− simulazioni su computer
− robot autonomi
− sistemi ibridi (naturali - artificiali)
Metodologia e strumenti usati:
VITA ARTIFICIALE – AUTOMI CELLULARI
Modelli matematici di tipo evolutivo discretizzati sia nello spazio che nel tempo, inventati da VON NEUMANN negli anni ’50
VITA ARTIFICIALE – AUTOMI CELLULARI
COS’È UN AUTOMA CELLULARE ?
Si tratta di un sistema caratterizzato da:
1. un INSIEME DI CELLE associato ad un’opportuna geometria e ad un’opportuna topologia
2. una LEGGE DI VICINATOstabilisce quali celle siano da considerarsi vicine di una cella data
3. una LEGGE DI TRANSIZIONEstabilisce come calcolare lo stato di una data cella al tempo t+1 in funzione degli stati delle celle vicine al tempo t
L’aggiornamento degli stati delle celle viene effettuato in parallelo
VITA ARTIFICIALE – AUTOMI CELLULARIEsempi di vicinato
vicinato di MOORE, costituito dalle 8 celle adiacenti, oltre alla cella centrale.
vicinato di VON NEUMANN, costituito dalle 4 celle adiacenti, oltre alla cella centrale.
vicinato tipico di un automa cellulare 1-dimensionale.
VITA ARTIFICIALE – AUTOMI CELLULARI
LIFE:
Due soli stati possibili per ogni cella: 0 o 1
Legge di vicinato: MOORE
Esempio di legge di transizione
− Se una cella al tempo t si trova nello stato 1 e se meno di due degli altri suoi vicini sono nello stato 1, allora al tempo t+1, la cella va nello stato 0
− Se una cella al tempo t si trova nello stato 1 e se più di tre degli altri suoi vicini sono nello stato 1, allora al tempo t+1, la cella va nello stato 0
− Se una cella nello stato 0 al tempo t ha tre vicini nello stato 1, allora al tempo t+1, va nello stato 1
− In tutti gli altri casi, lo stato della cella non muta
VITA ARTIFICIALE – AUTOMI CELLULARI
Esempi di configurazioni interessanti in LIFE
Pattern invariante
Pattern oscillante
Pattern che si sposta a velocità costante
VITA ARTIFICIALE – AUTOMI CELLULARI
LE CAPACITÀ DEGLI AUTOMI CELLULARI
Si può dimostrare che:
−entro un automa cellulare si può simulare il funzionamento di una Macchina di Turing Universale (Von Neumann, 1952)
−entro un automa cellulare si può simulare il funzionamento di una Macchina di Turing autoriproducentesi
−il comportamento di alcuni tipi di automi cellulari è imprevedibile a lungo termine (Wolfram, 1984)
Ne consegue che gli automi cellulari hanno almeno le capacità di calcolo di una Macchina di Turing
VITA ARTIFICIALE – RELAZIONI RETI NEURALI E AUTOMI CELLULARI
ESISTONO RELAZIONI TRA AUTOMI CELLULARI E RETI NEURALI ?
Nel 1988 sono stati introdotti da Chua e Yang dei tipi di reti neurali che incorporano alcuni aspetti degli automi cellulari. Queste reti vengono chiamate RETI NEURALI CELLULARI (Cellular Neural Networks o CNN)
Le CNN hanno tipicamente una struttura a strati.
Le differenze principali con le reti neurali convenzionali sono:
−ogni unità è associata ad una ben precisa posizione spaziale entro un reticolo di forma predefinita, proprio come un atomo di un cristallo
−le connessioni sono locali e traslazionalmente invarianti, ovvero i loro pesi dipendono solo dalla differenza tra le posizioni delle unità
Chua
Yang
Le CNN hanno trovato anche numerose
applicazioni nell’ambito dell’ingegneria,
specie nel dominio della progettazione di sistemi di elaborazione di immagini.
Esistono molte implementazioni dirette delle CNN su schede hardware.
Le CNN sono state oggetto di numerosi studi matematici che hanno mostrato come questi sistemi presentino una fenomenologia di comportamento molto interessante:
− biforcazioni
− comportamenti oscillatori
− andamenti caotici deterministici
VITA ARTIFICIALE – RELAZIONI RETI NEURALI E AUTOMI CELLULARI
Livello strategico: decidere in ogni determinato momento quale attività svolgere tra quelle che l’organismo è capace di elaborare
Livello tattico: decidere come svolgere l’attività scelta a livello strategico, cioè quali movimenti del corpo eseguire in modo da raggiungere l’obiettivo
VITA ARTIFICIALE – ATTIVITA’ E COMPORTAMENTO
La scelta a livello strategico è fondamentale, perché tutti gli organismi per sopravvivere e riprodursi hanno bisogno di svolgere diversi tipi di attività, ma non sono in grado di svolgere più attività nello stesso momento.
Esempi di attività diverse che un organismo può svolgere:
−procurarsi cibo
−procurarsi acqua
−evitare un predatore
−procurarsi un partner per la riproduzione
−fare qualcosa per ridurre le conseguenze negative di un qualche danno al proprio corpo
VITA ARTIFICIALE – ATTIVITA’ E COMPORTAMENTO
Per sopravvivere e riprodursi l’organismo deve procurarsi il cibo, ma deve anche evitare di farsi mangiare dal predatore
Un organismo vive in un ambiente in cui ci sono elementi di cibo sparsi a caso, ma, in aggiunta, ogni tanto compare un predatore
VITA ARTIFICIALE – ATTIVITA’ E COMPORTAMENTO
THE
WORLD
VITA ARTIFICIALE – ATTIVITA’ E COMPORTAMENTO
La rete neurale che controlla il comportamento dell’organismo ha:
−unità di input che codificano la posizione del cibo più vicino
−unità di input che codificano la posizione del predatore quando è presente
−unità di output motorio che codificano i movimenti dell’organismo
VITA ARTIFICIALE – ATTIVITA’ E COMPORTAMENTO
Il comportamento che ci si aspetta è
−se il predatore non c’è l’organismo si avvicina al cibo e lo mangia
−se il predatore c’è l’organismo ignora il cibo e scappa dal predatore
VITA ARTIFICIALE – ATTIVITA’ E COMPORTAMENTO
livello strategico: scegliere tra mangiare o scappare dal predatore
livello tattico: quali movimenti fare una volta che si è deciso di mangiare o di scappare dal predatore
Si riproducono gli individui con più fitness, dove la funzione fitness è
N° CIBI MANGIATI - 10 X N° VOLTE CHE L’ORGANISMO È
STATO RAGGIUNTO DAL PREDATORE
VITA ARTIFICIALE – SISTEMI
La visione unificata di tutti i fenomeni del mondo vivente, dalle molecole alle cellule, dagli organismi alle società di organismi, è resa possibile dal fatto di usare metodi e modelli ugualmente applicabili a tutti questi livelli:
− sistemi complessi
− sistemi evolutivi
− sistemi a rete
− Sistemi complessi:insiemi di entità che, interagendo tra loro localmente, determinano
proprietà globali che non possono essere previste o dedotte, anche se si possiede una conoscenza completa delle entità e delle regole che governano le loro interazioni
VITA ARTIFICIALE – SISTEMI
− Sistemi evolutivi:insiemi di varianti che si
riproducono selettivamente e con l’aggiunta costante di nuove varianti
− Sistemi a rete:insiemi di entità connesse tra loro
che si influenzano attraverso la topologia delle loro connessioni
SISTEMI DI VITA ARTIFICIALE:
GLI L-SISTEMI
Data di nascita: 1968
Inventore: Aristid LINDENMAYER
Scopo: Modellizzare la crescita delle piante
Funzionamento: Sistemi di produzione basati sulla riscrittura di stringhe di simboli in modo parallelo
VITA ARTIFICIALE – SISTEMI
Esempio di L-sistema
Simboli: a , b
Assioma iniziale: b
Regole di riscrittura:
a a b
b a
VITA ARTIFICIALE – SISTEMI
Utilizza un’opportuna corrispondenza tra simboli e movimenti interpretati, nell’ambito della geometria della tartaruga (si differenzia dal modo tradizionale di disegnare al computer, perché descrive i percorsi "dall'interno", piuttosto che "dall'esterno" o "dall'alto")
VITA ARTIFICIALE – SISTEMI
Gli L-sistemi possono essere usati per generare FORME (ad esempio FRATTALI), alcune delle quali simili a quelle delle piante esistenti in natura
VITA ARTIFICIALE – SISTEMI
ESEMPI DI SISTEMI DI VITA ARTIFICIALE:
LE FORMICHE VIRTUALI (VANTS)
Questi sistemi, inventati da LANGTON, si basano su una rappresentazione astratta del comportamento reale delle formiche, così come osservato dagli entomologi.
Aspetti rilevanti delle formiche reali:
−hanno una solo una visione locale del mondo
−non sanno pianificare
−seguono solo i gradienti di sostanze chimiche
−secernono a loro volta sostanze chimiche
VITA ARTIFICIALE – SISTEMI
Ambiente: un reticolo di celle bidimensionale
Stati possibili di ogni cella: 0 o 1
MODELLO SEMPLICE DI FORMICA VIRTUALE
VITA ARTIFICIALE – SISTEMI
− Ogni formica si muove di una cella per volta, ad ogni istante di tempo
− Ogni formica ha una direzione di marcia (orizzontale o verticale)
− Quando la formica si trova su una cella con stato 0 gira verso destra rispetto alla sua direzione di marcia, altrimenti gira verso sinistra
− Dopo che la formica ha lasciato una cella, lo stato della cella cambia
È stato dimostrato che ogni traiettoria di una formica virtuale di questo tipo è sempre ILLIMITATA (Bounimovich e Troubetzkoy, 1992)
Si possono utilizzare le formiche virtuali per far loro simulare il funzionamento di PORTE LOGICHE
USCITA
INGRESSO 1 INGRESSO 2
ENTRATA DELLA FORMICA
USCITA DELLA FORMICA
SCHEMA TIPICO DI UNA PORTA LOGICA
VITA ARTIFICIALE – SISTEMI
All’inizio lo stato delle celle di uscita
della porta viene fissato sempre su un valore convenzionalmente scelto come rappresentante il valore logico F (Falso)
Le celle negli ingressi della porta hanno stati corripondenti ai valori logici degli ingressi alla porta
La formica entra da sinistra e, in base alla struttura degli stati interni alla porta, percorre un cammino che le fa toccare le celle degli ingressi e, eventualmente, quelle delle uscite; alla fine esce sulla destra della porta
VITA ARTIFICIALE – SISTEMI
Lo stato delle celle di uscita dopo che la formica è uscita corrisponde all’uscita della funzione logica calcolata dalla porta
UN ESEMPIO: I CAMMINI PERCORSI NELLA PORTA LOGICA CHE CALCOLA LA FUNZIONE NOT
INGRESSO
ENTRATA DELLA FORMICA
USCITA
USCITA DELLA FORMICA
F
V
Usando le formiche virtuali si può dunque simulare qualunque circuito logico (e anche qualunque Macchina di Turing).
VITA ARTIFICIALE – SISTEMI
Modificando un po’ il precedente modello si ottiene che un opportuno insieme di formiche virtuali manifesta un’INTELLIGENZA COLLETTIVA, senza che nessun individuo, isolatamente preso, sia intelligente
VITA ARTIFICIALE – SISTEMI
In particolare un insieme di formichevirtuali è in grado di:
−raccogliere cibo nell’ambiente e concentrarlo nel nido
−concentrare in mucchi il materiale sparso
SE (la formica NON ha preso il CIBO)
−se lo trova deve PRENDERLO
−se non lo trova deve muoversi seguendo la direzione della massima concentrazione di FEROMONE DEL CIBO
−ad ogni passo deve secernere il FEROMONE DEL CIBO
Algoritmo della raccolta del cibo:
VITA ARTIFICIALE – SISTEMI
SE (la formica HA preso il CIBO) e (NON STA NEL NIDO)
−deve muoversi seguendo la direzione della massima concentrazione del FEROMONE DEL NIDO
−ad ogni passo deve secernere il FEROMONE DEL NIDO
Le ricerche sulla Vita Artificiale hanno ispirato vari algoritmi, tipicamente usati per risolvere problemi di ottimizzazione.
Tra i più famosi:
−ALGORITMI GENETICI
−RETI IMMUNITARIE
Rene artificiale
VITA ARTIFICIALE – SISTEMI
VITA ARTIFICIALE – RETI IMMUNITARIE
Questi modelli si ispirano ad alcuni aspetti del funzionamento del sistema immunitario umano, in parte costituito da strutture chiamate ANTICORPI, in grado di riconoscere specifici tipi di aggressori esterni (i cosiddetti ANTIGENI).
Gli anticorpi sono di diversi tipi, ognuno dei quali è in grado di riconoscere una particolare classe di antigeni.
VITA ARTIFICIALE – RETI IMMUNITARIE
Quando un anticorpo riconosce un antigene, il linfocita che lo produce, si riproduce per clonazione. Le nuove cellule così generate hanno una vita media molto lunga e costituiscono una specie di memoria.
Alcune cellule costituiscono una popolazione di linfociti memoria.
Altre diventano linfociti B, secernenti anticorpi.
Costituenti fondamentali di una rete immunitaria
ELEMENTI (o CELLE): sono gli analoghi degli anticorpi e sono rappresentati da stringhe di numeri
CONNESSIONI: permettono relazioni tra elementi differenti
REGOLE DI CALCOLO DELL’AFFINITÀ: definiscono i criteri di misura della somiglianza tra anticorpi e della loro specificità nei confronti degli antigeni
VITA ARTIFICIALE – RETI IMMUNITARIE
LEGGI DELLA DINAMICA: specificano le variazioni nel tempo dell’affinità e delle concentrazioni degli anticorpi
METADINAMICA: specifica le regole di produzione di nuovi anticorpi e di soppressione di quelli non adatti.
MODELLI CONTINUI: l’evoluzione nel tempo delle concentrazioni dei differenti tipi di anticorpi in funzione della presenza di opportuni antigeni viene descritta da sistemi di equazioni differenziali
MODELLI DISCRETI: la procedura di adattamento degli anticorpi agli antigeni presentati in ingresso viene descritta da algoritmi di tipo iterativo (o basati su equazioni alle differenze finite) simili a quelli usati nei processi di apprendimento delle reti neurali
VITA ARTIFICIALE – RETI IMMUNITARIEEsistono molti modelli di reti immunitarie, che vengono raggruppati in due grandi classi:
Nella maggior parte dei casi, finora, le reti immunitarie sono state utilizzate soprattutto per classificare o clusterizzare insiemi di dati (che vengono considerati alla stregua di ANTIGENI) o per scoprire strutture relazionali entro i dati stessi.
In un certo numero di applicazioni le reti immunitarie sono usate in congiunzione con le reti neurali, ad esempio per meglio inizializzare i pesi di queste ultime.
VITA ARTIFICIALE – RETI IMMUNITARIE
In altre applicazioni sono state utilizzate per migliorare le prestazioni di algoritmi genetici.
UN ESEMPIO DI RETE IMMUNITARIA: RAIN
Questa rete è stata proposta da Timmis nel 2000.
Essa si serve di celle (anticorpi) costituite da stringhe di numeri di lunghezza prestabilita. Stringhe della stessa lunghezza costituiscono gli antigeni, che nella rete coincidono con i dati provenienti dall’esterno.
Lo scopo dell’algoritmo che regola l’evoluzione della rete è quello di fornire una rappresentazione topologica dell’insieme dei dati stessi.
VITA ARTIFICIALE – RETI IMMUNITARIE
In questa rete la distanza tra due stringhe coincide con la distanza euclidea. Inoltre la popolazione iniziale di anticorpi coincide con un sottoinsieme, scelto casualmente, dell’insieme degli antigeni.
Lo studio matematico della Vita Artificiale ha riguardato due aspetti fondamentali:
la capacità computazionale dei sistemi di Vita Artificiale
la previsione del loro comportamento tramite metodi di tipo analitico
Esiste solo un numero molto limitato di risultati.
VITA ARTIFICIALE – STUDIO MATEMATICO
VITA ARTIFICIALE – STUDIO MATEMATICOLe capacità computazionali dei sistemi di Vita Artificiale
Oltre ai risultati relativi agli Automi Cellulari, quelli ottenuti riguardano principalmente le formiche virtuali e asseriscono che (Gajardo, Moreira e Goles, 2003):
− la decisione relativa al fatto se una formica virtuale passerà o no per una data cella costituisce un problema riducibile ad un problema P-completo
− una formica virtuale può simulare una Macchina di Turing Universale
− esistono problemi indecidibili relativa-mente al comportamento di una formica virtuale.
CONCLUSIONI
VITA ARTIFICIALE – STUDIO MATEMATICO
1. I sistemi di Vita Artificiale sono in grado di esibire comportamenti molto complessi (apparentemente generati da processi cognitivi) a partire da regole molto semplici
2. Tali sistemi sembrano offrire metodi di soluzione di problemi matematici diversi da quelli tradizionali
3. Tali sistemi sono in gran parte imprevedibili con metodi algoritmici tradizionali
4. Sembra che tali sistemi siano in grado di produrre processi collettivi emergenti dall’insieme dei comportamenti individuali
5. Alcuni metodi analitici sembrano in grado di fornire almeno una teoria approssimata di questo tipo di emergenza
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
Costruita la prima cellula «comandata» da un genoma sintetico
Il 20 Maggio 2010 Craig Venter, Clyde Hutchinson III e Hamilton Smith, biologi molecolari del Jcvi (J Craig Venter Institute) hanno trapiantato il genoma del Mycoplasma mycoides in quello del Mycoplasma capricolum.
Il risultato si chiama Mycoplasma laboratorium ed è un batterio composto da una sola cellula.
Il batterio creato, è il primo passo per la costruzione di genomi che consentano a batteri ospiti di prendere dall‘atmosfera diossido di carbonio e produrre metano.
Addio petrolio e combustibili fossili.
Verner parla del Dna da lui creato come di "sistema operativo" in grado di coordinare l'azione dei batteri. Le sue scoperte e i suoi brevetti non sono privati, ma messi a disposizione di altri ricercatori, per utilizzarli e migliorarli.
Venter ha dato vita alla materia e ha creato il Dna open source
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
Esiste un Laboratorio di
Vita Artificiale, inaugurato in occasione
della edizione 1994 della mostra Futuro
Remoto (Mostra d'Oltremare, Napoli 24
Novembre - 14 Dicembre 1994),
allestito stabilmente presso lo Spazio IDIS dell'area industriale dismessa di Bagnoli
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
− "manipolare" fenomeni biologici quali
• evoluzione • selezione naturale • riproduzione• trasmissione ereditaria• distribuzione dell'energia• comportamento sociale• competizione• cooperazione• estinzione
in popolazioni di organismi artificiali che vivono in un ecosistema artificiale;
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
Software e hardware del Laboratorio di Vita Artificiale consentono all'utente di
− indagare sul funzionamento del cervello e dell'apparato senso-motorio di un organismo artificiale.
È necessario che le proteine, dopo che vengono sintetizzate nei ribosomi sotto forma di una struttura lineare di aminoacidi, si ripieghino su se stesse (processo di folding), fino ad assumere una struttura tridimensionale caratteristica e diversa da proteina a proteina.
Il software del Laboratorio di Vita Artificiale permette la visualizzazione grafica di una simulazione del processo di ripiegamento delle proteine.
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
La simulazione tenta di presentare, in maniera originale e incisiva, l'importanza della struttura tridimensionale delle proteine riguardo alla funzione svolta e scaturisce da una ricerca sulla predizione di tale struttura. Questo approccio permette non solo di predire la struttura tridimensionale finale, ma anche di modellizzare il processo temporale di folding che porta a tale struttura.
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
Un organismo è un sistema fatto di più livelli:
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
dei suoi geni del suo corpo incluso il sistema nervoso del comportamento della 'fitness' o probabilità di riprodursi.
I livelli sono ordinati gerarchicamente.
Piccole variazioni ad un livello possono provocare grandi modificazioni nei livelli superiori, oppure grandi cambiamenti in un livello possono produrre nessuna trasformazione nei livelli superiori.
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
Nel laboratorio di Vita Artificiale si usa Khepera, robot 'biomorfo‘, dotato di:
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
Autonomia: 45 minuti nel movimentoMotorola 68331 CPU 16 MHz256 KB RAM512 KB EEPROMIl comportamento di Khepera è guidato da una rete neurale che si sviluppa da sola nel corso dell'evoluzione di una popolazione di robot. Con la simulazione si puòosservare sia il comportamento, che il genotipo e lo sviluppo fenotipico della rete neurale che controlla il robot, durante l'evoluzione di una popolazione artificialedi robot.
VITA ARTIFICIALE – UTILIZZI BIOLOGICI
Ne esiste già una terza versione realizzata al Georgia Institute of Technology, realizzato nel 2008.
Camera manufacturer
Canon
Camera modelCanon PowerShot
SD1100IS
Exposure time 1/40 sec (0.025)
F-number f/2.8
ISO speed rating 200
Date and time of data generation
16:14, 16 May 2008
Lens focal lenght 6.2 mm
IA - DEFINIZIONE
” Insieme di studi e tecniche che tendono alla realizzazione di macchine, specialmente calcolatori
elettronici, in grado di risolvere problemi e di riprodurre attività proprie dell’intelligenza umana"
IA = acronimo di Intelligenza Artificiale
oAI = acronimo di Artificial Intelligence
Si può definire come
È una definizione molto generica adatta anche per altri rami dell’informatica (es.“tecniche di automazione”) è difficile dare una definizione più precisa
ossimoro provocatorio
Perché definisce artificiale qualcosa che è essenzialmente naturale in quanto prerogativa della natura umana: l’intelligenza.
Perché c’è chi molto seriamente si domanda se la macchina possa
essere davvero intelligente, nel senso in cui questo termine è
attribuito alla mente dell’uomo.
si tratta di una materia in forte evoluzione
è contemporaneamente una scienza e una tecnica
è una disciplina di frontiera, una specie di affascinante “punto multiplo” in cui s’incontrano diversi domini del sapere: logica, informatica, psicologia, neuroscienze, filosofia.
perchè
Definizione e scopoConfronto computer - retiDiverse concezioniGioco del pinguinoAnimat e AlexisFunzionamentoTipologieNeurone di McCullochs PittsPercettroneApprendimentoHopfieldBackpropagationMetodi apprendimento Logica fuzzy Problemi e uso
IA – RETI NEURALI
RETI NEURALI - DEFINIZIONE E SCOPO
Sono modelli matematici che tentano di simulare il sistema nervoso centrale
umano
SCOPO FINALE:
realizzare i meccanismi di apprendimento del cervello umano, interagendo con l'ambiente esterno senza l'intervento
umano.
L’origine risale all’inizio degli anni ’40.
Definizione di Rete Neurale (Hecht – Nielsen) = struttura parallela che processa informazioni distribuite.
Si collegano insieme elementi in grado di eseguire compiti semplici, in modo che l’insieme finale sia in grado di eseguire compiti complessi. La mente umana, infatti, essendo costituita da un’intricata rete di elementi relativamente semplici, detti neuroni, si comporta allo stesso modo.
riconoscimento di persone, oggetti, suoni (anche in presenza di rumore)
calcoli numerici complessi (anni per un uomo) in frazioni di secondo
CALCOLO ELETTRONICO
POTENZA LIMITI
memorizzazione di grandi quantità di dati
riconoscimento del parlato e comprensione del linguaggio naturale
apprendimento, classificazione, generalizzazione
visione e controllo del movimento
soluzione di problemi complessi in modo esaustivo (ottimizzazione combinatoria)
adattamento a nuove situazioni
RETI NEURALI – CONFRONTO COMPUTER - RETI
Perché il cervello risulta
superiore al computer per certe categorie di problemi?
I meccanismi operanti nel cervello possono essere imitati per produrre
macchine più efficienti?
La differenza non sta nelle componenti
Tempo di risposta Cellule nervose ordine msec
Circuiti logici elettronici ordine nsec
ma nell’ “architettura”
RETI NEURALI – CONFRONTO COMPUTER-RETI
La potenza di calcolo deriva dalla cooperazione di molti processori semplici e fortemente interconnessi: nel cervello abbiamo 1012 neuroni e 1015 sinapsi, quindi 103 connessioni/neurone (Per simulare al computer tale quantità di sinapsi è necessaria una memoria pari a 4x1015 byte (4 milioni Giga Byte)
Il CERVELLO come CALCOLATOREL'elaborazione è frutto di un processo altamente parallelo
Le connessioni si modificano con l'apprendimento
L'informazione non è localizzata, ma distribuita globalmente nella rete di processori
L'intelligenza deriva dall’interazione tra neuroni, non è prerogativa di un singolo neurone
Ha una notevole tolleranza ai guasti (fault tolerance)
Esempio di velocità di esecuzione: riconoscimento volti in 0,1 sec
RETI NEURALI – CONFRONTO COMPUTER-RETI
RETI NEURALI – DIVERSE CONCEZIONI
Bionica: (intelligenza artificiale tradizionale) la sua origine risale a Von Neumann, l’ideatore del moderno calcolatore elettronico, che si caratterizzava per un approccio algoritmico ai problemi della mente, basato su regole e procedure logiche rigorose e su una grande fiducia nelle possibilità del computer.
Cibernetica: (reti neurali) l’approccio della cibernetica, ossia delle reti neurali, é molto diverso; le regole impiegate per la progettazione di una tale rete non sono così rigorose come quelle utilizzate nella progettazione di sistemi elettronici.
JOHN VON NEUMANN
La storia delle reti neurali è nata dal confronto tra due concezioni diverse della mente e delle macchine destinate a riprodurla:
Intelligenza artificiale
Mente ≠ cervello
Deduzione
Simbolico
Sequenziale
Programmazione
Istruzioni imperative
Indirizzi espliciti
No generalizzazione
Connessionismo
Mente cervello
Induzione
Subsimbolico / analogico
Parallelo
Apprendimento
Adattività
Memoria associativa
Generalizzazione
RETI NEURALI – DIVERSE CONCEZIONI
RETI NEURALI – DIVERSE CONCEZIONI
Il sistema sviluppa una propria implicita rappresentazione dell'ambiente, piuttosto che fornire ad esso il modello dell'ambiente che lo sperimentatore ritiene più opportuno.
1987 Hinton: "uno degli scopi principali della ricerca sulle reti neurali è scoprire delle procedure di apprendimento efficienti che consentano alle reti di costruirsi complesse rappresentazioni interne del loro ambiente." GEOFFREY HINTON
Dopo i primi anni di scontri, tra le due teorie si è optato per la possibilità di cooperare al fine di realizzare automi capaci di apprendere dei compiti e di muoversi efficacemente in un ambiente reale.
RETI NEURALI – GIOCO DEL PINGUINO
Il gioco originale consiste nel muovere un pinguino, inseguito da api che lo uccidono, se si avvicinano abbastanza. Sia il pinguino che le api possono modificare l'ambiente muovendo dei blocchi di ghiaccio che sono distribuiti su tutto lo schermo e vengono a costituire un labirinto. Muovendo i blocchi, possono anche colpirsi vicendevolmente, eliminandosi.
Al pinguino viene fornito un algoritmo di apprendimento che lo rende sempre più capace di muoversi efficacemente in questo ambiente.
Agree e Chapman (1987) hanno realizzato un programma che impara a giocare ad un videogioco, come se avesse una strategia, senza che gliene sia stata fornita alcuna e senza che gli sia stata fornita una rappresentazione dell'ambiente.
RETI NEURALI – GIOCO DEL PINGUINO
delle routines che prevedono la messa in atto di un determinato comportamento (fuga, spinta di un blocco ecc.) nel momento in cui esso si trova in una data situazione (ad esempio: "quando stai per essere catturato, scappa");
individua di volta in volta alcune entità indicativo-funzionali, cioè degli oggetti individuati per la loro funzione in un particolare istante (il blocco che sto spingendo, il passaggio attraverso il quale sto correndo) ed in base a queste applica le sue routines.
Le entità e gli aspetti dell'ambiente sono valutati funzionalmente, relativamente agli scopi dell'automa.
Il meccanismo su cui è basato il comportamento e l'apprendimento del pinguino è un'applicazione dei loro principi :
RETI NEURALI – ANIMAT E ALEXIS
Holland realizza un automa: Animat, basato sui sistemi a classificatori, progettati in modo da fornirlo di una base di conoscenza, che gli permetta di sopravvivere in un dato ambiente, modificando il proprio comportamento in base alle conseguenze delle proprie azioni.
Le azioni sono valutate da un algoritmo (funzione di valutazione), che fornisce premi e punizioni a seconda della coerenza delle conseguenze con gli obiettivi.
E’ stato sviluppato allo scopo un programma chiamato ALEXIS (A LEarning Classifier SYStem), un sistema di apprendimento automatico.
JOHN HOLLAND
Interno ANIMAT
MEA = MULTI ELECTRODE ARRAY
RETI NEURALI – ANIMAT E ALEXIS
utilizzo di architettura di riferimento di derivazione naturale (modello di Tinbergen di gerarchia degli istinti)
utilizzo di un singolo sistema a classificatori per ogni comportamento di base da apprendere, definito dal progettista
utilizzo di un sistema a classificatori per ogni comportamento di coordinamento da apprendere.
L'Animat si muove in un ambiente bidimensionale, ha tre tipi di sensori: di luce, di calore e di colore.
I sensori di luce e di calore sono sensibili alla posizione della fonte di luce o di calore, ma non all'intensità. Sono quattro per ogni tipo e sono collocati ai quattro lati dell'Animat.
ALEXIS è basato su sistemi a classificatori ed algoritmi genetici, e presenta i seguenti aspetti innovativi rispetto ai sistemi precedenti :
NIKOLAAS TINBERGEN con KONRAD LORENZ
RETI NEURALI – ANIMAT E ALEXIS
nel primo l'Animat doveva imparare a seguire una luce;
nel secondo oltre a seguire la luce doveva imparare a cambiare colore a seconda dello sfondo;
nel terzo oltre a seguire la luce doveva evitare delle fonti di calore;
nell'ultimo doveva imparare a mantenere la stessa distanza da due fonti di calore che si muovono in modo indipendente.
Sono stati fatti quattro esperimenti con l’Animat:
RETI NEURALI – FUNZIONAMENTO Bernard Windrow, Stanford University, è
riconosciuto come un pioniere e maggior studioso delle reti neurali. Realizza il programma Adaline, basato sulle reti neurali, che elimina gli eco dalle linee telefoniche. Gli stessi principi sono stati attualmente adottati per eliminare gli errori nei modem.
Le reti neurali sono ispirate al sistema nervoso; un neurone è rappresentato da un assone, dendriti e sinapsi. Un neurone artificiale, o elemento di processo (perceptron PEs), emula l'assone e il dendrite, emula le sinapsi utilizzando resistori che pesano certi valori.
Un modello neurale consiste in un elemento di processo, delle tipologie di connessione e in una serie di schemi di apprendimento.
NEURONE BIOLOGICO
RETE NEURALE ARTIFICIALE
RETI NEURALI – FUNZIONAMENTOI segnali ricevuti in ingresso combinati con i dati memorizzati nella memoria locale forniscono la funzione di trasferimento.
Detta funzione, oltre a determinare l’uscita del neurone, può modificare la memoria locale. Essa conterrà la conoscenza maturata durante tale fase (fase di addestramento).
RETI NEURALI – FUNZIONAMENTO
Alcuni neuroni ricevono in ingresso un vettore x. Ogni neurone produce un’uscita, che può diventare l’ingresso di un altro neurone, oppure essere parte dell’uscita complessiva y (ancora un vettore) della rete.Non c’è correlazione tra la dimensione di x e quella di y.
SCHEMA DI UNA RETE NEURALE
NEURONI
RETI NEURALI – FUNZIONAMENTO
L’ippocampo
Fattori di crescita
Sono prodotti da:
Cellule GlialiLe cellule gliali sono cellule che, assieme ai neuroni, costituiscono il sistema nervoso. Hanno funzione nutritiva e di sostegno per i neuroni, assicurano l'isolamento dei tessuti nervosi e la protezione da corpi estranei in caso di lesioni. (Es. Astrociti)
Si dirigono al:
Corpo Cellulare (Soma)
E influenza:
Espressione dei geni neuronali
Che induce la produzione di:
ProteineMicrotubuli
Che formano:
I microtubuli sono strutture cellulari che fanno parte del citoscheletro, sono proteine filamentose formate da dimeri di α-tubulina e β-tubulina.
RETI NEURALI – FUNZIONAMENTO
RETI NEURALI – FUNZIONAMENTO
Le estremità degli assoni reagiscono inoltre ad alcune molecole dette fattori di crescita che vengono assorbiti e trasportati al corpo cellulare, dove influenzano l’espressione dei geni neuronali e, conseguentemente, la produzione di nuove proteine che consentono al neurone di far crescere dendriti più lunghi o di modificare in maniera dinamica la propria forma e la propria funzione. Le informazioni, il nutrimento e i messaggeri scorrono in ogni istante da e verso il corpo centrale.
Neurone Dinamico
Riflette la suddivisione delle funzioni di:
Ricezione (Dendrite)
Integrazione (Soma)
Trasmissione (Assone)
All’interno dei neuroni si trovano vari compartimenti costituiti da proteine prodotte principalmente nel corpo cellulare che vengono trasportate lungo il citoscheletro. Delle piccole protuberanze, dette spine dendritiche, fuoriescono dai dendriti e costituiscono il luogo in cui gli assoni creano la maggior parte delle loro connessioni in ingresso.
RETI NEURALI – FUNZIONAMENTO
RETI NEURALI – FUNZIONAMENTO
Le proteine trasportate verso le spine sono importanti per creare e mantenere la connettività neuronale. Queste proteine sono costantemente rinnovate, venendo sostituite con nuove proteine quando hanno svolto il loro compito.
SPINE DENDRITICHE
Le piccole protuberanze verdi costituiscono le spine dendritiche che sporgono dai dendriti di un neurone. A questo livello si trovano localizzate le sinapsi.
Questo processo ha bisogno di energia per essere svolto: all’interno delle cellule esistono dei veri e propri generatori di energia (i mitocondri) che permettono all’insieme di funzionare
Recettori Chimici
Ionotropici MetabotropiciHanno dei canali ionici che causano l’avvio del potenziale d’azione.
E.P.S.P. I.P.S.P.Potenziale Post Sinaptico Eccitatorio(Es: entra Sodio)
Potenziale Post Sinaptico Inibitorio(Es: entra Cloro)
Il Glutammato è un neurotrasmettitore eccitatorio cerebrale
Il Gaba e la Glicina sono i più importanti neurotrasmettitori
Non contengono canali ionici e non causano l’avvio di un potenziale d’azione
Sono dei regolatori dei processi chimici cellulari
NeuromodulatoriModulano il comportamento dei neuroni
Proteina GAttivano la:
Secondi Messaggeri
Modificazioni canali ionici
Regolazione espressione genetica
Modificano la funzione dei trasportatori di membrana
RETI NEURALI – FUNZIONAMENTO
RETI NEURALI – FUNZIONAMENTO
RETI NEURALI - FUNZIONAMENTO
Segnali inviati dal cervello possono controllare computer e altri dispositivi
RETI NEURALI - FUNZIONAMENTO
RETI NEURALI – FUNZIONAMENTO
RETI NEURALI - FUNZIONAMENTO
RETI NEURALI - FUNZIONAMENTO
RETI NEURALI - FUNZIONAMENTOE’ partito l’Human Brain Project (Hbp), il progettoche si è aggiudicato un finanziamento da parte della Commissione Europea di 54 milioni per i prossimi 30 mesi, per un investimento complessivo di circa 1,2 miliardi di euro in dieci anni.
Scopo mettere insieme tutte le conoscenze scientifiche sul cervello umano in un unico supercomputer entro il 2020, così da avere a disposizione un simulatore il più fedele possibile del funzionamento del cervello.Tutto questo viene realizzato, utilizzando il grafene, un nuovo materiale dalle molteplici applicazioni. Il grafene è un materiale costituito da uno strato monoatomico di atomi di carbonio (avente cioè uno spessore equivalente alle dimensioni di un solo atomo).
RETI NEURALI - FUNZIONAMENTO
Il grafene viene ottenuto in laboratorio dalla grafite. I cristalli di grafite vengono trattati con una soluzione fortemente acida a base di acido solforico e nitrico, e successivamente, ossidati ed esfoliati fino a ottenere cerchi di grafene con gruppi carbossilici ai bordi. Mediante trattamento con cloruro di tionile (SOCl2), queste molecole periferiche vengono trasformate in cloruri acilici (alogenuri acilici composti da un acile e un atomo di cloro) e poi in ammidi. Il risultato è un cerchio di grafene solubile in tetraidrofurano, tetraclorometano e dicloroetano.
RETI NEURALI - FUNZIONAMENTO
Directa Plus, startup tecnologico con sede a Lomazzo, ha inaugurato il primo impianto industriale in Italia per la produzione industriale di grafene: il materiale del futuro, che potrebbe sostituire il silicio in molteplici campi di applicazione. Il nostro è uno dei pochi casi, senon l’unico, in cui una tecnologia molto avanzata nascenegli Stati Uniti (ad opera di Robert Angelo Mercuri, fondatore e inventore di Directa Pus) e poi si perfeziona in Italia.
RETI NEURALI - FUNZIONAMENTO
Hanno sviluppato la capacità di produrre grafene a livello industriale a costi davvero appetibili per il mercato, mediante il processo G+. Quest’ultimo impiega la grafite, materia prima abbondante e di uso comune, per ottenere a basso costo e con macchinari semplici nano particelle di carbonio delle dimensioni desiderate, a seconda dei campi di applicazione. Il grafene ottenuto in questo modo presenta innumerevoli vantaggi: altissima conduttività, trasparenza alla luce, alta resistenza (50 volte superiore all’acciaio) ed elevato coefficiente elastico.
RETI NEURALI - FUNZIONAMENTO
RETI NEURALI - FUNZIONAMENTO
Grafene
Il grafene è una nano particella dalle notevoli potenzialità. Esso può essere infatti utilizzato per la realizzazione di pneumatici, dei chip dei computer e per il trattamento delle acque inquinate.
RETI NEURALI - FUNZIONAMENTO
EsperimentoIstituto Sant’AnnaCNR Pisa.
RETI NEURALI - FUNZIONAMENTO
RETI NEURALI - FUNZIONAMENTO
RETI NEURALI - FUNZIONAMENTO
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
Le reti feed- forward sono caratterizzate da un unico flusso di dati unidirezionale, privo cioè di cicli. Si riconoscono in essi degli strati o layer
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
Single layer perceptron
abbiamo per esempio modelli a singolo strato di percettroni …
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
Single layer perceptron
Multilayer perceptron
… o con una configurazione a multistrato in cui ciascuno strato è collegato al successivo. Il primo strato della rete riceve in parallelo l’ingresso; elabora quindi l’uscita, che sarà l’ingresso dello strato successivo, e via dicendo. Sono i modelli più noti e diffusi.
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
Single layer perceptron
Multilayer perceptron
I modelli Radial Basis Function sono caratterizzate da una speciale modalità di addestramento e da una diversa funzione di trasferimento per il singolo neurone.
Radial basis function
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
Single layer perceptron
Multilayer perceptron
Radial basis function
RICORRENTI
Questa seconda famiglia comprende i modelli di reti a connessione lateralee le reti ricorrenti, dette anche feedback networks.
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
Single layer perceptron
Multilayer perceptron
Radial basis function
RICORRENTI
Le reti competitive sono reti a connessione laterale nelle quali ogni neurone, oltre a dare un contributo verso l’uscita, è collegato ai neuroni dello stesso strato. Possiamo avere anche in questo caso una stratificazione singola o multipla.
Competitive networks
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
Single layer perceptron
Multilayer perceptron
Radial basis function
RICORRENTI
Competitive networks
Kohonen’s SOM
Anche le mappe auto-organizzanti di Kohonen (SOM) sono reti a connessione laterale, la differenza topologica consiste in una configurazione a griglia: ogni neurone è collegato solo ad un certonumero di altri e non a tutti quelli dello strato
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
Single layer perceptron
Multilayer perceptron
Radial basis function
RICORRENTI
Competitive networks
Kohonen’s SOM
Nelle reti ricorrenti l’uscita di ciascun neurone viene riproposta in ingresso al neurone stesso. Un esemplare di questo modello è dato dalle reti di Hopfield, utili nei problemi di ottimizzazione.
Hopfield Networks
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
RICORRENTI
Single layer perceptron
Multilayer perceptron
Radial basis functions
Competitive networks
Kohonen’s SOM
Hopfield Networks
ART Models
Nei modelli ART si riscontra la compresenza del feedback e delle connessioni laterali.
RETI NEURALI – TIPOLOGIETIP
OLO
GIE
DI R
ETI N
EU
RA
LI FEED-FORWARD
RICORRENTI
Single layer perceptron
Multilayer perceptron
Radial basis functions
Competitive networks
Kohonen’s SOM
Hopfield Networks
ART Models
RETI NEURALI – NEURONE DI MCCULLOCH-PITTS
Progenitore delle reti neurali è il modello di Warren McCulloch e Walter Pitts del 1943.Era un prototipo molto semplice che si basava sull’attività dei neuroni, simili a quelli attualmente utilizzati.
Realizzarono le Reti Nervose Formali composte da: 1) neuroni2) connessioni eccitatorie o inibitorie.
WALTER PITTS
IL NEURONE DI McCULLOCH-PITTS
SOGLIA
INGRESSIUSCITA
DENDRITI SOMA ASSONE
Nel neurone di McCulloch-Pitts
Ogni segnale di ingresso può assumere i seguenti valori:
RETI NEURALI – NEURONE DI MCCULLOCH-PITTS
1 quando la linea è attivata
0 quando la linea non è attivata
ad ogni linea di ingresso è associato un peso che può assumere solo i seguenti valori:
+1 quando la linea è eccitatoria
-1 quando la linea è inibitoria
0 quando il collegamento non esiste
W. S. McCulloch
Somma pesata degli ingressi cioè somma dei prodotti di ciascun segnale di ingresso per il peso della linea che lo trasmette.
Se ad un determinato istante la somma pesata degli ingressi è maggiore della soglia, allora il segnale di uscita vale 1 (cioè il neurone si attiva ed attiva la sua linea di uscita) altrimenti vale 0
RETI NEURALI – NEURONE DI MCCULLOCH-PITTS
POTENZIALE DI ATTIVAZIONE (PA)
LEGGE DI FUNZIONAMENTO di ciascun neurone
PA >SOGLIA
1 0
V F
più neuroni di McCulloch-Pitts interconnessi
Si può facilmente dimostrare che
con N neuroni si hanno 2N possibili stati.
RETI NEURALI – NEURONE DI MCCULLOCH-PITTS
Reti apparentemente semplici come quelle di McCulloch-Pitts sono in effetti oggetti assai complessi da studiare.
RETE DI McCULLOCH-PITTS
STATO di una rete all’istante t
elenco ordinato dei valori dei segnali di uscita delle varie unità
nell’istante t
Nel 1957 Franck Rosemblatt, un informatico, descrisse le proprietà di quella che può essere definita come prima vera rete neurale, il percettrone. Essa,infatti, prevedeva una legge di apprendimento, sia pur rudimentale.
RETI NEURALI – PERCETTRONE
NEURONE E PERCETTRONE
RETI NEURALI – PERCETTRONE
Si ha una serie di ingressi da x0 a xn (con x0 sempre 1).
La memoria locale del neurone è rappresentata dai valori w0…wn (pesi).
A ciascun ingresso è associato un peso, che è un valore reale.
La funzione di trasferimento è una somma pesata degli ingressi moltiplicati per i pesi (prodotto scalare tra vettori).
Uscita del percettrone è a livelli e binaria:
se prodotto scalare >=0 1
se prodotto scalare <0 0
Neurone artificiale Vs neurone biologico
w1
w2
w3
wn
x1
x2
x3
xn
b
biasweightsinputs
f
non linear function
assoni sinapsi
dendriti corpo
RETI NEURALI – PERCETTRONE
assone
Il bias è il peso sinaptico fittizio con ingresso unitario e pari al valore di soglia.
RETI NEURALI – PERCETTRONE
Nel 1969 Marvin Minsky e Seymour Papert dimostrarono che le capacità del percettrone di Rosemblatt erano molto limitate, ma non si resero conto che era il caso più semplice per risolvere anche problemi più complessi. Il loro giudizio negativo provocò una netta caduta dell’interesse per le reti neurali.
Primi anni ’70 Werbos introdusse le reti Multi-Layers Perceptron (MLP) e Rumelhart, Hinton e Williams elaborarono l’algoritmo di Error Backpropagation (retropropagazione dell’errore) finalizzato all’addestramento del MLP.
RETE NEURALE MLP
MARVIN MINSKY
RETI NEURALI – PERCETTRONE
Percettrone multistrato
Tramite il percettrone multistrato si può apprendere dall’esperienza qualunque forma di categorizzazione o di relazione Input-Output.
RETI NEURALI – APPRENDIMENTO
RETE NEURALE DI HEBB
Lo psicologo Donald Hebb teorizzò che l’apprendimento non modifica il funzionamento dei neuroni, ma la conducibilità delle sinapsi.Introdusse il principio del rinforzo delle sinapsi sulla base del loro uso, perché si dimostrò che le reti di McCulloch e Pitts non avevano capacità di astrazione.
Il principio di Hebb afferma che se un neurone presinaptico A attiva ripetutamente il neurone postsinaptico B la connessione sinaptica fra A e B si rafforza.
Da questo deriva il corollario secondo cui se A fallisce ripetutamente nell’attivare B, la connessione fra A e B si indebolisce.
cortecciatronco encefalico
RETI NEURALI – APPRENDIMENTO
Se due neuroni connessi sono per più volte di seguito contemporaneamente attivi, il peso della sinapsi aumenta.
Neurone 1 Neurone 2
- -+ +
Neurone post sinaptico
Apprendimento = modifica dei pesi sinaptici
Nel 1960 due ingegneri, Bernard Widrow e Marcian Hoff, introdussero la regola di apprendimento che porta il loro nome.
Bernard Widrow
Marcian Hoff
RETI NEURALI – APPRENDIMENTO
La memoria umana non funziona come quella del computer:
NON si serve di INDIRIZZI per trovare la COLLOCAZIONE delle informazioni cercate
MA adopera INDIZI per procedere alla RICOSTRUZIONE delle informazioni stesse.
RETI NEURALI – APPRENDIMENTO
Dunque, se si può dimostrare che una rete neurale può funzionare come una MEMORIA ASSOCIATIVA, basata su indizi, si può sostenere che tale capacità EMERGE dalle interazioni tra i neuroni che la compongono.
Plasticità neurale
RETI NEURALI – APPRENDIMENTO
RETI NEURALI – APPRENDIMENTO
Anatomia di un cervello simulato
RETI NEURALI – APPRENDIMENTO
Rete di grandi dimensioni e rete small world
RETI NEURALI – HOPFIELD
L’interesse si riaccese all’inizio degli anni ‘80 col diffondersi di nuove idee sui sistemi complessi e la conoscenza degli insuccessi nella bionica.
1982 Hopfield, fisico, realizza il primo esempio di rete neurale ricorrente simmetrica, ovvero un modello neurale in cui è presente un flusso bidirezionale d'informazioni.
RETE NEURALE DI HOPFIELD
Il campo delle reti neurali fu abbandonato(anche per l’indisponibilità di tecnologie adeguate) salvo poche eccezioni (StephenGrossberg, Teuvo Kohonen, James Anderson,Gail Carpenter).
HOPFIELD
RETI NEURALI – HOPFIELD
Neuroni a soglia zero, con uscite pari a +1 o -1. I neuroni cambiano stato uno per volta.
Struttura del modello di HOPFIELDUna rete monostrato di neuroni TOTALMENTE INTERCONNESSI (ogni neurone è collegato con tutti gli altri tranne che con se stesso) frutto di un processo altamente parallelo
Connessioni bidirezionali simmetriche (il peso della connessione da A a B è identico a quello della connessione da B ad A, cioè pesi simmetrici)
RETI NEURALI – HOPFIELD
I pesi vengono fissati in funzione degli input da memorizzare tramite un’opportuna formulazione quantitativa dell’ipotesi di Hebb
Fasi di funzionamento del modello di HOPFIELD
memorizzazione
richiamoIn seguito alla
presentazione di un opportuno INDIZIO
(pattern di richiamo), si innesca una dinamica
di diffusione dell’attivazione, che
termina in uno stato di equilibrio, coincidente
con il pattern richiamato dalla memoria
RETI NEURALI – HOPFIELD
non sempre il processo di diffusione dell’attivazione termina in uno stato di equilibrio (si possono anche verificare comportamenti oscillatori);
Difficoltà del modello di HOPFIELDIn effetti in alcuni casi il modello di Hopfield si comporta come una memoria associativa, ma soffre di gravissimi inconvenienti :
non è detto che lo stato di equilibrio coincida con uno dei pattern immagazzinati precedentemente in memoria (presenza di PATTERN SPURI);
se il numero dei pattern immagazzinati supera il 14% del numero di unità della rete, la probabilità che lo stato di equilibrio coincida con uno dei pattern precedentemente immagazzinati è NULLA (CAPACITÀ LIMITATA).
RETI NEURALI – HOPFIELD
La rete neurale è composta da elementi di elaborazione equivalenti ai neuroni biologici, connessi tra loro con collegamenti equivalenti alle sinapsi, in modo da formare uno schema assimilabile ad un semplicissimo tessuto nervoso.
Gli elementi di elaborazione PE (Processing Elements), che costituiscono la rete neurale, sono i cosiddetti neuroni di Hopfield, dispositivi elettronici di sommatoria non lineare a più ingressi ed una sola uscita.
Ogni elemento di processo (neurone) riceve quindi segnali diversi (normalmente da altri PE) e può inviare il suo segnale d'uscita U(x) a più PE.
RETI NEURALI – BACKPROPAGATION
Gli elementi di processo contengono combinazioni di elementi eccitatori (positivi) o inibitori (negativi) che rappresentano gli input in una funzione sommatoria, in una funzione di attivazione basata sugli input in una funzione di output
Il meccanismo con cui tutta questa struttura apprende è del tipo Back-Propagation (propagazione all'indietro) è applicato nel campo economico delle previsioni di mercato ed è il seguente:
RETI NEURALI – BACKPROPAGATION il set di dati storici viene presentato allo strato iniziale I e ogni neurone
esegue la sua funzione moltiplicando ciascun input per un peso (inizialmente casuale), sommando il prodotto input x peso, calcolando l'output secondo la propria funzione e trasmettendo il proprio output a tutti i neuroni dello strato N.
I neuroni dello strato N ricevono gli output dallo strato I (che diventano ora gli input dello strato N) calcolano ognuno i loro output e li trasmettono allo strato U.
I neuroni dello strato U calcolano i loro output sulla base degli input ricevuti e li confrontano con i dati reali storici, calcolano un errore funzione della differenza fra il loro output e il valore reale.
I neuroni dello strato U trasmettono i loro output ai neuroni dello strato N cambiando i pesi N-U di una piccola quantità nel senso di minimizzare l'errore calcolato.
RETI NEURALI – BACKPROPAGATION
I neuroni dello strato N ricevono gli input dallo strato U (che sono gli output dello strato U) calcolano ognuno i loro output e li trasmettono allo strato I modificando i pesi I-N.
I neuroni dello strato I ricevono un nuovo set di dati storici che vengono ognuno moltiplicato per i nuovi pesi I-N modificati nella fase precedente e calcolano i loro output ripetendo il ciclo dall'inizio.
Questo ciclo viene ripetuto fino a che l'errore tra l'output calcolato ed il dato reale soddisfa la condizione che l'utente impone.
La natura del feedback loop determina la trainability, il grado delle interconnessioni determina il parallelismo.
COMPUTER RETE NEURALE
MEMORIA Byte Interconnessioni
VELOCITA’Istruzioni eseguite per secondo
Interconnessioni per secondo
UNITÀ DI MISURA
RETI NEURALI – METODI APPRENDIMENTO
Sono state sviluppate delle procedure con le quali una rete confronta i valori ottenuti al suo livello di uscita con i valori di riferimento che la rete deve cercare di raggiungere.
Per ottenere questo risultato la rete modifica gradualmente i pesi dei collegamenti interni e, ciclo dopo ciclo, la rete avvicina il suo valore di uscita al valore che gli è stato "insegnato".
L'apprendimento delle reti neurali avviene secondo i seguenti procedimenti:
supervisionato
non supervisionato
basato sul rinforzo
diretto
evoluzionistico
Sommatoria
Trigger di Schmitt
RETI NEURALI – METODI APPRENDIMENTO
Ingresso Uscita desiderataASSOCIATO A
Apprendimento SUPERVISIONATO
È basato sulla presentazione di esempi in cui ad ogni pattern di ingresso è associato un pattern di uscita corretto, o desiderato.
La modifica dei pesi della rete neurale è determinata dall’errore commesso in uscita, ovvero da un’opportuna misura della differenza tra il pattern di uscita desiderato e quello effettivamente emesso in uscita dalla rete.
Questo tipo di apprendimento è largamente impiegato, spesso con successo, per progettare sistemi neurali che realizzino una preassegnata legge di associazione input-output.
È il cosiddetto metodo del gradiente decrescente.
E’ la base dell’algoritmo di apprendimento backpropagation (retropropagazione dell’errore).
Nelle reti a più strati non si può applicare direttamente, perché mentre si conosce l’errore sullo strato di output non si conosce quello sullo strato hidden (nascosto).
L’algoritmo arriva alla soluzione mediante manipolazioni matematiche.
RETI NEURALI – METODI APPRENDIMENTO
Apprendimento SUPERVISIONATO
RETI NEURALI – METODI APPRENDIMENTO
Apprendimento NON SUPERVISIONATOOgni esempio di pattern di ingresso non è associato ad un pattern di uscita desiderato.
La modifica dei pesi dipende unicamente dal pattern di ingresso presentato e da quali unità di uscita siano state attivate, nonché, eventualmente, dallo stato interno dalla rete stessa.
Questo tipo di apprendimento è impiegato per progettare sistemi neurali in grado di realizzare un clustering dei dati (=raggruppamento omogeneo in un insieme di dati), dipendente unicamente da opportune caratteristiche statistiche dell’insieme dei dati stessi.
RETI NEURALI – METODI APPRENDIMENTO
Apprendimento BASATO SUL RINFORZOLa rete gestisce una sequenza temporalmente ordinata di pattern di ingresso, in corrispondenza ad ognuno dei quali emette un pattern di uscita. Ogni uscita effettivamente prodotta dà luogo alla ricezione, da parte della rete, di un opportuno segnale di rinforzo, determinato da una apposita funzione di rinforzo; quest’ultima stabilisce come il segnale di rinforzo dipenda dal pattern di ingresso presentato, dal pattern di uscita che esso ha prodotto e dalla posizione temporale, nella sequenza, del pattern di ingresso.La modifica dei pesi della rete avviene in modo da massimizzare la somma dei segnali di rinforzo ricevuti durante la presentazione della sequenza in questione.Questo tipo di apprendimento è impiegato per progettare sistemi neurali il cui output deve controllare il processo di adattamento ad un ambiente esterno complesso, mutevole e imprevedibile.
RETI NEURALI – METODI APPRENDIMENTO
Caso più celebre:
IL MODELLO DI HOPFIELD
Apprendimento DIRETTO
I pesi vengono modificati direttamente unicamente in funzione dei pattern di ingresso da memorizzare o, eventualmente, in funzione delle associazioni dirette ingresso-uscita che si vogliono immagazzinare.Questo tipo di apprendimento è impiegato per progettare sistemi neurali che fungono da memorie associative, in cui, cioè, il pattern richiamato dalla memoria dipende dal pattern di richiamo presentato per sondare il contenuto della memoria stessa.
RETI NEURALI – METODI APPRENDIMENTO
Caso tipico:
ALGORITMI GENETICI
Apprendimento EVOLUZIONISTICOÈ basato sulla constatazione che nelle specie biologiche la capacità di risoluzione di problemi di adattamento all’ambiente sembra derivare, anziché da algoritmi locali di previsione del comportamento dell’ambiente stesso, da una opportuna evoluzione che ha selezionato gli individui e le strategie più adattivi, esplorando lo spazio dei possibili “solutori” tramite meccanismi che garantissero, durante l’evoluzione stessa, il permanere di una sufficiente variabilità genetica. Se tali meccanismi, nonché i criteri di selezione, vengono incorporati in opportuni algoritmi di calcolo, si possono sottoporre dispositivi artificiali (come le reti neurali) a una forma di apprendimento completamente diversa da quelle finora esaminate.
RETI NEURALI – LOGICA FUZZY
La LOGICA FUZZY è una teoria matematica che consente il trattamento delle verità parziali (valori di verità compresi tra il “completamente vero” e “completamente falso”).
A differenza degli insiemi usuali, in cui o un elemento appartiene all’insieme o non vi appartiene, negli insiemi fuzzy (insiemi sfumati) ogni elemento è associato ad un grado di appartenenza.
Nella logica binaria non si può dire se un individuo è giovane perché non si quantizza l’essere giovane.
Nella logica Fuzzy si può invece dire che:un neonato è giovane di valore 1,un diciottenne è giovane di valore 0,8,un di 65 anni è giovane di valore 0,15,un novantenne è giovane di valore 0.
“Più da vicino si guarda un problema del mondo reale, più sfumata (più fuzzy) diventa la sua soluzione” Lotfi A. Zadeh
RETI NEURALI – LOGICA FUZZY
Non possono apprendere conoscenza dai dati.
La conoscenza è esplicitamente rappresentata attraverso regole fuzzy.
Sistema di Inferenza Fuzzy In grado di apprendere
conoscenza dai dati. La conoscenza è codificata
implicitamente nei pesi delle connessioni sinaptiche.
Rete Neurale
Sistemi in grado di: apprendere conoscenza dai
dati mediante il paradigma neurale;
rappresentare la conoscenza appresa esplicitamente sotto forma di regole fuzzy.
Sistema Neuro - Fuzzy
RETI NEURALI – LOGICA FUZZY
VANTAGGI: la struttura può essere rappresentata mediante "regole linguistiche",
perchè i fuzzy sets possono essere associati con termini linguistici. I vari nodi della rete neuro-fuzzy non conterranno pesi, come nella
rete neurale. L'addestramento della rete avverrà mediante algoritmi di back-
propagation oppure genetici a seconda della necessità di fruire di prestazioni eccellenti a scapito di un notevole aumento della complessità della realizzazione della rete stessa.
Un sistema fuzzy e' costituito da un insieme di regole del tipo:
IF X1 = Ai2 and X2 =Ai4 THEN Y1 = Bi3 and Y2 = Bi1
dove •Xi sono gli ingressi (antecedenti)
•Yi sono le uscite (conseguenti)
•Aij e Bij sono gli insiemi fuzzy definiti per la j-esima variabile e la i-esima regola.
RETI NEURALI – LOGICA FUZZYLa logica fuzzy è un modo conveniente per mappare lo spazio di input
nello spazio degli output appropriati. Tra gli input e gli output mettiamo una "scatola nera" che svolge il lavoro vero e proprio.
Una mappa di input-output per il problema del dare la mancia:"Data la qualità del servizio, quanto si deve dare?"
Cos'è questa scatola nera? E' il sistema che elabora i dati in ingresso secondo determinate regole che devono essere soddisfatte in modo da
dedurre delle soluzioni appropriate per il sistema stesso.
RETI NEURALI – LOGICA FUZZY
RETI NEURALI – PROBLEMI E USO
Sembra impossibile rappresentare, tramite reti neurali, le strutture simboliche presenti nel linguaggio.
Problemi delle RETI NEURALI
Sembra impossibile che una rete neurale riesca a rappresentare la relazione esistente tra simboli ed eventi fisici (SYMBOL GROUNDING PROBLEM).
Sembra impossibile che una rete neurale riesca a comprendere il significato di un’espressione linguistica (BINDING PROBLEM di tipo semantico).
RETI NEURALI – PROBLEMI E USO
classificazione/trasformazione di pattern: sistemi per il riconoscimento di immagini, suoni, voci ed altri pattern, memorie associative, sistemi per la cancellazione del rumore e per la riduzione della ridondanza di informazioni;
Si possono individuare 3 principali modalità d’uso delle reti neurali:
ottimizzazione: sistemi esperti basati su reti neurali. Tipico problema di ottimizzazione é quello del "commesso viaggiatore": dato un certo numero di città, trovare il percorso più breve per visitarle tutte;
previsione: sistemi di previsione meteorologica.
Definizione di automa
Storia
Definizione di robot
Componenti
Funzionamento
Categorie
Leggi della robotica
Utilizzi
IA – ROBOT
AUTOMA - DEFINIZIONE
"Che agisce di propria volontà, che avviene da sé, pur non avendo una finalità interna
complessa."
“AUTOMA” Deriva dal greco αὐτόματος, automatos
definizione
Un automa è una macchina in grado di operare in modo autonomo. Il termine è talvolta usato per indicare un robot, più precisamente un robot autonomo, ma più spesso descrive una macchina semovente non elettronica (come un automa meccanico), specialmente quelle costruite per assomigliare ad esseri umani o ad animali.
AUTOMA - STORIA
L’impresa della robotica ha un’origine millenaria:
•nasce dall’ambizione di imitare l’atto divino della creazione (risalente già all’antichità biblica e classica);
•con il tempo quest’ambizione si affievolì, sopraffatta da finalità di tipo praticopratico concentrate soprattutto sull’efficienza.
Non importava più tanto costruire una creatura simile all’uomo nel suo complesso quanto di riprodurre con ESTREMA PRECISIONE una sola parte dell’essere umano: la mente l’intelligenza con i suoi aspetti razionali, simbolici e algoritmici la cui riproduzione era possibile solo attraverso l’informatica.
AUTOMA - STORIA
Il primo progetto documentato di un robot umanoide venne fatto da Leonardo Da Vinci attorno al 1495. Degli appunti di Da Vinci, riscoperti negli anni cinquanta, contengono disegni dettagliati per un cavaliere meccanico in grado di :
•alzarsi in piedi
•agitare le braccia
•muovere la testa e la mascella
Il progetto era probabilmente basato sulle sue ricerche anatomiche registrate nell'uomo di Vitruvio.
AUTOMA - STORIA
Il primo robot funzionante conosciuto venne creato nel 1738 da Jacques de Vaucanson, che fabbricò un androide che suonava il flauto, e un'anatra meccanica che, secondo le testimonianze, mangiava e defecava.
AUTOMA - STORIA
Pierre Jacquet-Droz, orologiaio svizzero costruisce un gruppo di automi composto da uno scrivano, un disegnatore e una pianista, i cui movimenti sono controllati da una serie di codici memorizzati su dischi di metallo. La composizione si trova attualmente al museo di Arti e Storia di Neuchatel.
ROBOT - DEFINIZIONE
“ROBOT” Deriva dal ceco robota
«Lavoro pesante, lavoro forzato»
Nel linguaggio comune, un robot è un'apparecchiatura artificiale che compie determinate azioni in base ai comandi che gli vengono dati e alle sue funzioni, sia in base ad una supervisione diretta dell'uomo, sia autonomamente basandosi su linee guida generali.
ROBOT - COMPONENTI
In ogni robot si identificano tre componenti:
COMPONENTE UTILIZZO
MECCANICA costituisce la struttura e gli organi di movimento
HARDWARE (ELETTRICO -
ELETTRONICA)
motori, sensori, trasduttori, schede di I/O, ecc.
SOFTWARE gestisce, tramite la
componente hardware, la componente meccanica.
ROBOT - FUNZIONAMENTO
La memorizzazione della sequenza dei movimenti avviene:
• per autoapprendimento
• tramite programmazione esterna
Il metodo dell’autoapprendimento consiste nell’indirizzare il componente da muovere,
o tramite comandi elementari oppure
accompagnando il braccio nella posizione voluta, o lungo il percorso che si
vuole far compiere.
Tramite un sistema computerizzato, detto “controller”, i complessi movimenti del robot vengono
elaborati e programmati in base ai dati forniti dai sensori che
interagiscono con l’esterno.
ROBOT - CATEGORIE
Si possono catalogare i robot in due macro categorie:
AUTONOMI
NON AUTONOMI
ROBOT - AUTONOMI
• Operano in totale autonomia ed indipendenza dall’intervento umano;
• sono in grado di prendere decisioni anche a fronte di eventi inaspettati;
• si rifanno a tecniche di intelligenza artificiale: algoritmi genetici, logica fuzzy, learning, reti neurali;
• sono adatti a svolgere compiti in svariate tipologie di ambienti, e tipicamente si tratta di robot mobili;
• decidono autonomamente quando partire, dove operare e quando tornare alla base per ricaricarsi.
Roomba
ROBOT - NON AUTONOMI
• Sono guidati da un software che fa eseguire il loro lavoro in modo ripetitivo;
• possono anche essere direttamente pilotati dall’uomo;
• sono i robot utilizzati per adempiere a specifici compiti che riescono ad assolvere in maniera più efficace dell’uomo;
• di questa categoria fanno parte anche i robot utilizzati per lavorare in ambienti ostili (come per esempio su Marte);
• inoltre questo tipo di robot è utilizzato dagli artificieri.
ROBOT - NON AUTONOMI
Questi robot garantiscono:
produzione più precisa;
produzione più veloce;
costi ridotti.
ROBOT - LE LEGGI DELLA ROBOTICA
Isaac Asimov propose, nel 1942, nel suo scritto “Io, robot”, le tre leggi fondamentali della robotica, al fine di controllare la convivenza dei robot con l’umanità:
1.Un robot non può recar danno a un essere umano e non può permettere che, a causa di un suo mancato intervento un essere umano riceva danno, purché questo non sia in contrasto con la legge zero.
2.Un robot deve obbedire agli ordini impartiti, purché tali ordini non contravvengano alla prima legge.
3.Un robot deve proteggere la propria esistenza, purché la sua autodifesa non contrasti le suddette leggi.
ROBOT - LE LEGGI DELLA ROBOTICA
Isaac Asimov, nel romanzo “Robot e l’impero”, aggiunse anche la legge Zero:
0. Un robot non può recar danno all’umanità e non può permettere che, a causa di un suo mancato intervento, l’umanità riceva danno.
ROBOT - UTILIZZI
ROBOT - UTILIZZI
Non solo si controlla con il pensiero, come fanno già molti degli arti artificiali, ma è l’unica capace di ‘mandare indietro’ dei segnali elettrici che danno a chi la ‘indossa’ il senso del tatto. La prima mano bionica al mondo di questo genere ha un papà italiano,e se i programmi verranno confermati verrà impiantata proprio in Italia, a Roma, entro la fine dell’anno.
L’annuncio è di Silvestro Micera, ricercatore italiano dell’Ecole Polytechnique Federale di Losanna, che ne ha parlato durante il meeting della American Association for the Advancement of Science (Aaas) in corso a Boston. Il primo paziente, ha spiegato Micera che collabora anche con la Scuola Superiore Sant’Anna di Pisa, dovrebbe essereun ragazzo di 20 anni che ha persola mano in un incidente.
ROBOT - UTILIZZI
L’arto bionico sarà connesso direttamente al sistema nervoso del paziente con degli elettrodi collegati a due dei nervi principali del braccio, il mediano e l’ulnare, e oltre ad essere controllato con il pensiero dovrebbe inviare, tramite sensori sulla superficie, anche i segnali ‘di ritorno’ relativi al tatto. Un primo prototipo è stato collegato temporaneamentea un paziente nel 2009,rendendolo capace di agitarele dita, fare un pugno e tenere alcuni oggetti, oltre che di percepirela sensazione di alcuni aghi che venivano piantati nel palmo.
ROBOT - UTILIZZI
Quello che dovrebbe essere impiantato quest’anno è un modello nuovo, con sensori su tutti i polpastrelli, compreso il pollice, sul palmo e sul polso: «L’idea è che la mano possa trasmettere due o più sensazioni allo stesso tempo – ha spiegato Micera – si può pizzicare qualcosa e ricevere informazioni dalle dita, ma anche dal polso e dalla mano. Abbiamo ottimizzato l’interfaccia, quindi speriamo di vedere movimenti più dettagliati e un maggiore controllo della mano. L’arto è studiato per essere il più simile possibile a quelli veri.»
ROBOT - UTILIZZI
ROBOT - UTILIZZI
ROBOT - UTILIZZI
Esoscheletro realizzato all’Istituto Sant’Anna di Pisa
ROBOT - UTILIZZI
La casa domotica è quella in cui con un solo comandosu uno schermo puoi gestire l'illuminazione, la videosorveglianza, la termoregolazione e l'antifurto.Il che vuol dire maggiore confort, ma anche maggiore protezione.
ROBOT - UTILIZZI
Si può controllare anche a distanza, dal pc o dallo smartphone.
ROBOT - UTILIZZI
ROBOT - UTILIZZI
Un nuovo robot per le esplorazioni subacquee ispiratoad un polpo è stato presentato il 1/10/2012 al Centro di Ricerca delle Tecnologie per il Mare e la Robotica Marina di Livorno, guidato dal professor Paolo Dario, direttore dell'Istituto di BioRobotica. Si tratta di un robot, totalmente realizzato con materiali 'soft', capace cioè di deformarsi per raggiungere aree non facilmente accessibili, di muoversi su diversi tipi di fondali e manipolare oggetti.
ROBOT - UTILIZZI
La realizzazione del robot fa parte del progetto 'Poseidrone' in collaborazione tra Fondazione Cassa di Risparmio di Livorno e Scuola Superiore Sant'Anna di Pisa. Per l'anno 2012, infatti, la Fondazione ha deciso di dirottare il contributo annuale destinato al settore della ricerca su questo progetto che prevede l'applicazione del robot Octopus in compiti subacquei.
ROBOT - UTILIZZI
Il progetto 'Octopus' è cofinanziato dalla ComunitàEuropea e coordinato dalla Scuola Superiore Sant'Anna, e si è sviluppato quasi interamente a Livorno a partire dal 2009. L'innovazione dell'utilizzo della robotica 'soft' in ambito marino e l'ottimizzazione delle nuove tecnologie, proposti in 'Poseidrone', permetteranno la realizzazione di robot marini complementaria quelli attuali.
ROBOT - UTILIZZI
Il robot Octopus, che punta a replicare la destrezza del polpo, in un futuro non molto lontano sarà utilizzato in compiti importanti quali la riparazione di strutture subacquee come oleodotti e scafi di navi, operazioni di ricerca e soccorso negli abissi marini, giungendo, quindi, in luoghi particolarmente pericolosi per gli esseri umani. Potranno essere usatianche a contatto con i fondali, con relitti, o con infrastrutture subacquee.
ROBOT - UTILIZZI
ROBOT - UTILIZZI
Con i suoi quattro tentacoli nuota, cammina e manipola oggetti in acqua. E' flessibile, quasi quanto un elastico, morbido come un mollusco, al punto da deformarsi e resistere agli urti più violenti. PoseiDrone potrà impugnare anfore nascoste fra le alghe, pulire fondali marini o lavorare a strutture sommerse. Così i ricercatori dell’Istituto di Biorobotica della Scuola Sant’Anna di Pisa hanno chiamato il robot considerato una rivoluzione fra i dispositivi sottomarini.
ROBOT - UTILIZZI
A differenza della maggior parte dei robot subacquei, PoseiDrone è fatto per la maggior parte di gomma: questa caratteristica, insieme alla flessibilità, gli permette di sopportare urti violenti senza danni o ammaccature. PoseiDrone può essere considerato il 'fratello maggiore' di Octopus, il primo robot-polpo che ha fatto da apripista alla nuova generazione dei robot flessibili. E’ stato presentato negli Stati Uniti, nel convegno internazionale di oceanografia "Ocean 2013" in programma a San Diego dal 23 al 27 settembre.
ROBOT - UTILIZZI
Stanza virtuale dell’Istituto di Robotica Sant’Anna di Pisa
Si chiama Roboy ed è l’umanoide sviluppato nei laboratori di intelligenza artificiale dell’Università di Zurigo con l’intento di aiutare le persone malate e gli anziani nelle loro attività giornaliere. In realtà c’è chi ha previsto per lui un ruolo tutto speciale: quello di aiutare a predire le malattie, o meglio, a capire come potrebbero reagire le strutture del corpo in risposta a certi problemi fisici.
ROBOT - UTILIZZI
Rafael Hostettler, uno dei responsabili del progetto Roboy ha già in mente come implementare il nuovo utilizzo del suo umanoide. Per far in modo che la macchina si muova il più vicino possibile al corpo umano c’è bisogno di rendere lo scheletro del piccolo robot molto più fluido, proprio come le articolazioni dell’uomo. Tutto questo è possibile grazie alla stampa 3D ed in particolare alla possibilità di realizzare articolazioni e tendini a spirale, simili a molle, da inserire poiin Roboy per riprodurre il movimento umano.
ROBOT - UTILIZZI
ROBOT - UTILIZZI
Una volta aggiunte le nuove articolazioni, braccia e gambe si muovono secondo l’input di un software centrale che permette di aggiungere maggior elasticità ai movimenti. In questo modo il robot può utilizzare i suoi sensori per rilevare quando vi è bisogno di utilizzare una diversa tensione negli arti, ad esempio quando gli si stringe la mano durante una “presentazione”. Anche se il risultato finale non sarà un movimento fluido come quello umano, Roboy risponderà in maniera “ragionata”al mondo che lo circonda.
Raggiunto un tale livello di efficienza sarà possibile utilizzare il robot per fini davvero lungimiranti. Nello specifico, il software che comanda il cervello meccanico di Roboy simulerà vari problemi fisici come quelli che ogni giorno colpiscono le persone in tutto il mondo. Un esempio sono gli ictus. In questo caso su Roboy si vedranno gli effetti del cosiddetto attacco apoplettico con le conseguenze che ne derivano. Il robot non sarà in grado di muoversi normalmente ma il suo cervello verrà sottoposto ad uno stress simile a quello chevive l’uomo affetto da ictus.
ROBOT - UTILIZZI
ROBOT - UTILIZZIL'iniziativa è della divisione olandese di Terre des hommes, un'organizzazione di lotta per i diritti dei minori. L'immagine di Sweetie è stata presente, per oltre due mesi, in moltissime chat sul web: tutto è stato visionato dai membri di Terre des hommes e i risultati raccolti sono impressionanti e allarmanti.
La bimba virtuale è stata contatta la bellezza di 285 volte al giorno da molestatori sessuali, che hanno espresso esplicitamente interesse sessuale nei suoi confronti. In moltissimi hanno chiesto a Sweetie di accendere la webcam per vederla nuda: ancora più persone le hanno offerto una ricompensa per vederla senza vestiti e compiere atti osceni in maniera virtuale.
ROBOT - UTILIZZI
ROBOT - UTILIZZI
IA - ALAN TURING
L'espressione “Intelligenza Artificiale” deriva da
Alan Turing anche se il termine da lui coniato era
“Intelligenza delle Macchine” (IM),
perchè secondo lui, per quanto intelligenti, pur
sempre di macchine si trattava.
Alan Turing è passato alla storia come uno dei pionieri dello studio della logica dei computer e come uno dei primi matematici a interessarsi al tema dell'intelligenza artificiale.
VITA
MACCHINA DI TURING
TEST DI TURING
ALAN TURING - VITA
Nato nel 1912 da un impiegato del servizio civile britannico in India, secondo di due figli, a 9 anni fu spedito dalla madre in un convitto inglese.
Era chiuso e sensibile. Leggeva moltissimo e aveva una spiccata intuizione, ma gli insegnanti avevano di lui una pessima reputazione.
Aveva passione per esperimenti, invenzioni e per la bicicletta.
Aveva un aspetto trasandato; era infantile e antiaccademico.
Canticchiava per giorni l'incantesimo di Biancaneve.
Durante la guerra seppellì lingotti d'argento… Non sopportava gli sciocchi. Imparò a fare la maglia. Durante l'impollinazione usava la maschera
antigas. Quando pioveva circolava avvolto in una tela
cerata gialla. Legava la tazza del tè al termosifone con un
lucchetto. Indossava il pigiama al posto della camicia Pretendeva di lavorare quando voleva. Gettava nel cestino le lettere di sua madre. Faceva calcoli con numeri in base 32 scritti
all'indietro. Giocava a tennis nudo sotto un
impermeabile.
Stranezze
Era un uomopiuttosto bizzarro e pieno di stranezze.
ALAN TURING - VITA
Diplomatosi con difficoltà, conobbe nel 1928 Christopher Morcom del quale diventò grande amico anche se erano molto diversi. Morcom fece domanda al Trinity College e Turing decise di seguirlo; Morcomfu promosso all'esame di ammissione mentre Turing fu bocciato. Due mesi dopo Marcom si ammalò di tubercolosi e morì.
Turing rimase sconvolto; scrisse alla madre di Cristopher numerose lettere per confortarla; voleva dimostrare che lo spirito del giovane era ancora vivo, ma separato dal corpo, convinto che la meccanica quantistica avrebbe potuto permettere tale possibilità. Per questo approfondì le problematiche legate alla fisica quantistica.
Entrò al King's College dove studiò meccanica quantistica, logica e la teoria della probabilità. Riuscì a ottenere una borsa di studio al Trinity dove conobbe il teatro, in particolare lo spettacolo Biancaneve e i sette nani. Il ritornello che accompagnava la scena della mela avvelenata lo accompagnerà fino all'ultimo dei suoi giorni.
ALAN TURING - VITA
Nel 1934 Alan si laureò in matematica a pieni voti.
Fu considerato uno dei pensatori più brillanti del secolo in seguito al suo articolo “Sui numeri computabili con una applicazione al entscheidungsproblem (decidibilità)” dove trattò uno dei 23 punti che il grande matematico David Hilbert aveva lanciato al mondo scientifico alcuni anni prima.
La domanda a cui dare una risposta era:
"ESISTE SEMPRE UN MODO RIGOROSO PER STABILIRE SE UN ENUNCIATO MATEMATICO SIA VERO O FALSO?"
ALAN TURING - VITA
Alan Turing risolse il quesito inventando una macchina immaginaria, detta Logical Computing Machine, o più semplicemente "macchina di Turing". La introdusse per dimostrare che l'attività matematica non è completamente meccanicizzabile (ed è quindi impossibile in linea di principio sostituire i matematici con le macchine), scoprendo da un lato una macchina (detta universale) in grado di svolgere i compiti di qualunque macchina calcolatrice presente o futura (simulandone un programma), e mostrando dall'altro che anche tale macchina ha i suoi limiti.
Così Turing introdusse la nozione di computer moderno. La sua geniale intuizione fu quella di "spezzare" l'istruzione da fornire alla macchina in una serie di altre istruzioni più semplici.
MD
T
ALAN TURING - VITA
Durante la seconda guerra mondiale Turing per conto del "Department of Communications" inglese decifrò i codici usati nelle comunicazioni tedesche.
Turing ed i suoi compagni lavorarono con uno strumento chiamato "Colossus" che decifrava in modo veloce ed efficiente i codici tedeschi creati con "Enigma“ (computer capace di generare un codice che mutava costantemente).
Colossus era un insieme di servomotori e metallo, ma era il primo passo verso il computer digitale.
ENIGMA
COLOSSUS
ALAN TURING - VITA
Finita la guerra, continuò a lavorare per il "National Physical Laboratory" (NPL), continuando la ricerca nel campo dei computer digitali.
Lavorò nello sviluppo dell'"Automatic Computing Engine" (ACE), uno dei primi tentativi nel creare un vero computer digitale.
Scrisse un articolo dal titolo "Intelligent Machinery", pubblicato poi nel 1969. Fu questa una delle prime volte in cui sia stato presentato il concetto di "Intelligenza Artificiale“.
ALAN TURING - VITA
Turing era dell'idea che si potesse ottenere un'intelligenza artificiale seguendo gli schemi del cervello umano. A questo proposito, scrisse nel 1950 un articolo in cui descriveva quello che attualmente è conosciuto come il "Test di Turing". Questo test prevede che una persona, chiusa in una stanza e senza avere alcuna conoscenza dell'interlocutore con cui sta parlando, dialoghi sia con un altro essere umano che con una macchina intelligente. Se il soggetto in questione non riuscisse a distinguere l'uno dall'altra, allora si potrebbe dire che la macchina, in qualche modo, è intelligente.
TD
T
A B
CHI È L’UMAN
O A O B ?
ALAN TURING - VITA
Turing lasciò il National Physical Laboratory prima di completare l'"Automatic Computing Engine" e si trasferì alla University of Manchester dove lavorò alla realizzazione del Manchester Automatic Digital Machine (MADAM), con il sogno di poter vedere, a lungo termine, la chimera dell'intelligenza artificiale finalmente realizzata.
Per l'anno accademico 1947/48 tornò a Cambridge e spostò i suoi interessi verso la neurologia e la fisiologia iniziando ad esplorare la relazione tra i computer e la natura. Nel 1952 pubblicò "Le basi chimiche della morfogenesi", aprendo la strada alla spiegazione della crescita degli organismi viventi e al loro prendere forme geometriche di dimensioni non commensurabili a quelle delle cellule di partenza.
ALAN TURING - VITA
Nello stesso anno Turing denunciò due ladruncoli che si erano intrufolati in casa sua. Durante l'interrogatorio emerse che il matematico aveva avuto rapporti omosessuali con uno di essi e per "atti osceni gravi“ fu imprigionato il 31 marzo e poi processato.
Riconosciuto insigne scienziato ed eroe di guerra sebbene per meriti sconosciuti, evitò il carcere accettando di sottoporsi ad un trattamento ormonale che avrebbe dovuto "curarlo" dalla malattia e renderlo impotente. Questo segnò la sua fine dal punto di vista fisico, mentale e morale.
La mela morsa, simbolo della Apple, sembrava fosse un tributo a Alan Turing, in realtà serviva solo per distinguerla da un pomodoro.
I soprusi a cui era continuamente sottoposto lo portarono al suicidio e come modalità di morte scelse la stessa di Biancaneve; il 7 giugno del 1954 immerse una mela nel cianuro e la morsicò.
ALAN TURING - VITA
Finita la guerra il governo inglese impose il massimo segreto sulle attività legate alla decrittazione così Turing non ricevette i dovuti riconoscimenti. Le informazioni cominciarono ad essere pubblicate nel1974 quando Turing e molti suoi colleghi erano già morti.
Il 10 settembre 2009, dopo una petizione ed una campagna Internet, il governo britannico ha fatto una dichiarazione di scuse ufficiali, formulata dal primo ministro Gordon Brown:
«Per quelli fra noi che sono nati dopo il 1945, in un'Europa unita, democratica e in pace, è difficile immaginare che il nostro continente fu un tempo teatro del
momento più buio dell'umanità. È difficile credere che in tempi ancora alla portata della memoria di chi è ancora vivo oggi, la gente potesse essere così consumata dall'odio - dall'antisemitismo, dall'omofobia, dalla xenofobia e da altri pregiudizi
assassini - da far sì che le camere a gas e i crematori diventassero parte del paesaggio europeo tanto quanto le gallerie d'arte e le università e le sale da
concerto che avevano contraddistinto la civiltà europea per secoli. [...] Così, per conto del governo britannico, e di tutti coloro che vivono liberi grazie al lavoro di Alan, sono orgoglioso di dire: ci dispiace, avresti meritato di meglio.» G.Brown
ALAN TURING - VITA
INDICE
MACCHINA DI TURING È una macchina immaginaria capace di eseguire ogni tipo di calcolo su
numeri e simboli. È composta da: un nastro di carta di lunghezza infinita, diviso in celle ognuna delle
quali contiene un simbolo appartenente ad un alfabeto predefinito oppure è vuota
una testina (TLS) che si sposta lungo il nastro leggendo, scrivendo oppure cancellando simboli nelle celle
un insieme di regole (quintuple) che definiscono il comportamento della macchina; ogni quintupla ha la seguente forma
s i S(s,i) I(s,i) V(s,i)
stato attuale
simbolo letto
nuovo stato
simbolo scritto
spostamento dx o sx
QUINTUPLA
0 0 0 1 1 1 0 1 1 0
s i S I V
TLS
ESEMPIO:
A “0” A “1” >
A “1” A “1” >
A “ “ Fine “ “ <
MACCHINA DI TURING
0 1 0 1 0 0
1 1 0 1 0 0
1 1 0 1 0 0
1 1 1 1 0 0
1 1 1 1 0 0
1 1 1 1 1 0
1 1 1 1 1 1
1 1 1 1 1 1
Data una sequenza di 0 e 1, sostituire ogni 0 con 1. Terminare con la testina sull’ultimo carattere a destra.
ESEMPIO: Data una sequenza di 0 e 1, trasformare 0 in 1 e 1 in 0; terminare con
la testina nell’ultimo carattere a sinistra.
MACCHINA DI TURING
A “0” A “1” >
A “1” A “0” >
A “ “ B “ “ <
B “0” B “0” <
B “1” B “1” <
B “ “ Fine >
0 1 0 1 0
1 1 0 1 0
1 0 0 1 0
1 0 1 1 0
1 0 1 0 0
1 0 1 0 1
1 0 1 0 1
1 0 1 0 1
1 0 1 0 1
1 0 1 0 1 1 1 0 1 0 1
1 0 1 0 1
1 0 1 0 1
1 0 1 0 1 INDICE
TEST DI TURING
È una sorta di esperimento mentale; prevede che una persona, chiusa in una stanza e senza avere alcuna conoscenza dell'interlocutore con cui sta parlando, dialoghi sia con un altro essere umano che con una macchina. Se il soggettoin questione non riuscisse a distinguere l'uno dall'altra si potrebbe dire che la macchina, in qualche modo, è intelligente.
A
B
CHI E’ L’UMAN
O A O B ?
Turing si ispira al "gioco dell'imitazione” a tre partecipanti: un uomo A, una donna B, e una terza persona C.
C è tenuto separato dagli altri due e tramite una serie di domande deve stabilire qual è l'uomo e quale la donnaA deve ingannare C e portarlo a fare un'identificazione errataB deve aiutare C.
Le risposte devono essere dattiloscritte o trasmesse in modo simile per evitare che C possa disporre di alcun indizio (analisi della calligrafia o della voce).
TEST DI TURING Il test di Turing si basa sul presupposto che una macchina si sostituisca ad A. Se la percentuale di volte in cui C indovina è simile sia prima che dopola sostituzione di A con la macchina, allora la macchina stessa dovrebbe essere considerata intelligente (dal momento che, in questa situazione, sarebbe indistinguibile da un essere umano.
Per macchina intelligente Turing ne intende una in grado di pensare, ossia capace di concatenare idee e di esprimerle. Per Turing, quindi, tutto si limita alla produzione di espressioni non prive di significato. Nell'articolo , riprendendo il "Cogito" cartesiano , si legge:
«Secondo la forma più estrema di questa opinione, il solo modo per cui si potrebbe essere sicuri che una macchina pensa è quello di essere la macchina
stessa e sentire se si stesse pensando. [...] Allo stesso modo, la sola via per sapere che un uomo pensa è quello di essere quell'uomo in particolare. [...]
Probabilmente A crederà "A pensa, mentre B no", mentre per B è l'esatto opposto "B pensa, ma A no". Invece di discutere in continuazione su questo punto, è
normale attenersi alla educata convenzione che ognuno pensi. »
TEST DI TURING
INDICE
Uno sviluppo moderno del Test di Turing sono i cosi detti CAPTCHA (acronimo di Completely Automated Public Turing test to tell Computers and Humans Apart) Code, che sono delle procedure antispam utilizzate dai siti Internet per riconoscere se l’interlocutore è un umano o una macchina.
IA - PARADIGMI
Sul piano della realizzazione si possono distinguere due diverse impostazioni (paradigmi)
FUNZIONALE STRUTTURALE
Comportamentistico
Simbolico
Computazionale
Costruttivistico
Connessionistico
Sub - simbolico
IA DEBOLE
IA FORTE
IA – PARADIGMI
PARADIGMA FUNZIONALE
Stabilisce un'analogia tra il computer e il cervello umano.
Non importa quale struttura abbia l'elaboratore nel quale risiede l'intelligenza, come se l'intelligenza fosse un programma e il cervello fosse il computer su cui tale programma è eseguito.
L’essenza del funzionamento del cervello non risiede nella sua struttura ma nelle sue prestazioni e queste possono essere ottenute anche da strutture completamente diverse.
La conoscenza della realtà può essere realizzata tramite simboli; la soluzione di un problema consiste nella produzione di simboli d’uscita manipolando quelli d’ingresso (il risultato si ottiene dai dati iniziali per mezzo di inferenze).
Non si tiene conto dei mutamenti e quindi dell’apprendimento.
IA – PARADIGMI
PARADIGMA STRUTTURALE
Definito connessionismo perché si vogliono ottenere le stesse prestazioni del cervello umano riproducendo, in qualche modo, la sua struttura.
Si emula la fisiologia del cervello, cioè il funzionamento delle sue cellule, per spiegare e riprodurre l'intelligenza e le facoltà cognitive proprie dell'uomo o di altre specie animali.
Le ricerche nel settore connessionista si sono servite delle reti neurali per tentare di emulare il comportamento delle cellule neuronali; una rete neurale è una struttura formata da un certo numero di unità collegate tra loro da connessioni.
IA – DEBOLE
PENSARE
Un computer opportunamente programmato può solo simulare i processi cognitivi umani, così come può simulare il comportamento di un evento atmosferico (se un computer simula una tempesta NON è una tempesta!).
Un calcolatore può anche svolgere alcune o tutte quelle operazioni e compiti che sono prerogativa dell'essere umano (riconoscere volti, dialogare in linguaggio naturale, prendere decisioni, ecc.) ma questo non significa che sia veramente intelligente o che ci sia qualche analogia tra computer e mente.
Il calcolatore non è l'analogo di un cervello biologico, ma uno strumento che aiuta a comprendere i processi cognitivi.
sinonimo di CALCOLARE
SEARLE E LA STANZA CINESE
TEST DELLA STANZA CINESE
J.Searle (1990): se una macchina supera il test Turing non si può dire che è intelligente
Supponiamo che:
un individuo non conosca la lingua cinese (serie di simboli)
si trovi in una stanza con scatole di ideogrammi cinesi
abbia un manuale di regole per associare ideogrammi a ideogrammi
le regole non richiedano comprensione persone che conoscono il cinese
introducano ideogrammi lui li manipola secondo le regole date e
restituisce altri ideogrammi
Supponiamo che:
un individuo non conosca la lingua cinese (serie di simboli)
si trovi in una stanza con scatole di ideogrammi cinesi
abbia un manuale di regole per associare ideogrammi a ideogrammi
le regole non richiedano comprensione persone che conoscono il cinese
introducano ideogrammi lui li manipola secondo le regole date e
restituisce altri ideogrammi
calcolatore
base di dati
programma
domande
risposte
TEST DELLA STANZA CINESE
SEle regole sono scritte in modo che non si possano distinguere le risposte da quelle date da una persona di lingua madre cinese
il test di Turing per la comprensione del cinese è SUPERATOALLORA
EPPURE l’individuo ignora completamente la lingua cinese
non si può in nessun modo giungere a capire il cinese, perché non si ha la possibilità di apprendere il significato di alcun simbolo; come un calcolatore, si manipolano simboli, ma non si annette ad essi alcun significato.
QUINDI
TEST DELLA STANZA CINESE
Questo esperimento concettuale dimostra che
???Ciò vale anche per altre attività cognitive: la sola manipolazione dei simboli non basta di per sé a garantire l'intelligenza, la percezione, la comprensione, il pensiero e così via.
I calcolatori digitali si limitano a manipolare simboli formali secondo le regole contenute nel programma e questa operazione non è garanzia
sufficiente di attività cognitive.
SE
ALLORA
l’individuo non capisce il cinese dopo aver eseguito un programma per la sua comprensione
non ci riesce nessun altro calcolatore digitale che si limiti a far girare un programma del genere.
IA – FORTE
RAGIONAMENTO
Ogni operazione della nostra mente è riducibile ad un calcolo; il nostro pensiero quindi non è altro che una manipolazione di simboli secondo regole, cosa che il computer sa fare benissimo.
Un computer opportunamente programmato può veramente essere dotato di intelligenza non distinguibile da quella umana.
La mente umana è il prodotto di un complesso insieme di procedimenti di calcolo eseguiti dal cervello; resta naturalmente da stabilire rispetto a quale livello di descrizione cervelli e computer possano essere considerati la stessa cosa.
Un elaboratore può raggiungere un livello di intelligenza considerata ad un livello qualitativo pari a quella umana (dello stesso tipo).
= MANIPOLAZIONE DI SIMBOLI
Definizione
Caratteristiche
Componenti
Progettazione
Rappresentazione
Inferenza
SHELL e linguaggi
Esempi
Sistemi esperti vs Web 2.0
IA – SISTEMI ESPERTI
SISTEMI ESPERTI - DEFINIZIONE
Software capace di emulare l’operato dell’esperto; deve :
essere in grado di compiere le stesse azioni, dare gli stessi giudizi, esibire le stesse spiegazioni.
"Un Sistema Esperto è un programma di calcolatore, che usa conoscenze e tecniche di ragionamento per risolvere problemi che normalmente richiederebbero l’aiuto di un esperto. Un Sistema Esperto deve avere la capacità di giustificare o spiegare il perché di una particolare soluzione per un dato problema."
“Sistema Esperto” o
Expert Systemso
KBS (Knowledge-Based Systems).
Termine introdotto da Feigenbaum nel 1977
definizione
ESPERTO = colui che ha una notevole conoscenza ed esperienza in un ambito ben definito, ed è in grado, in tale ambito, di dare risposte corrette
SISTEMA ESPERTO
SISTEMI ESPERTI - CARATTERISTICHE •Possesso di conoscenza specifica.
•Capacità di ragionamento.
•Capacità di interazione con il mondo esterno.
•Capacità di delucidare il proprio operato.
•Capacità di apprendimento.
•Aderenza del dominio alla realtà.
La bontà di un programma di intelligenza
artificiale dipende principalmente dalla
conoscenza che il programma possiede.
Come un esperto deve saper
usare le proprie conoscenze,
effettuare deduzioni
prendere decisioni
mediante un ragionamento basato sulla
conoscenza.
Deve possedere un protocollo di
comunicazione con il mondo esterno,
per il reperimento
di informazioni aggiuntive,
necessarie per
portare avanti il ragionamento
e
dare spiegazioni all’utente.
Deve essere in grado di
spiegare il proprio comportamento.
In particolare deve essere in grado
di giustificare le proprie azioni
e
di esibire delle spiegazioni
sulle conclusioni raggiunte.
Come un esperto deve
apprendere da nuove esperienze.
Mediante il suo operato
affina le proprie conoscenze e
migliora la propria capacità
di raggiungere la soluzione.
(Non presente in tutti i Sistemi Esperti).
Il dominio in cui agisce,
non deve essere un modello semplificato
del dominio reale,
ma deve rappresentarlo così com’è,
pur ovviamente con dei limiti,
ma mai ricorrendo a modelli
eccessivamente astratti.
SISTEMI ESPERTI - COMPONENTI
Utente
Interfaccia di comunicazione
Motore inferenziale
Base di conoscenza
Areadati
Risposte Domande
Segni Domande
Contenuti di Dati iniziali conoscenza Dati parziali
Esperienza del Sistema
Utente
Interfaccia di comunicazione
Motore inferenziale
Base di conoscenza
Areadati
Risposte Domande
Segni Domande
Contenuti di Dati iniziali conoscenza Dati parziali
SISTEMI ESPERTI - COMPONENTI
Base di conoscenza
immagazzina tutta la conoscenza specialistica dell’esperto
Base di conoscenza
tecniche descrittive che si riferiscono alle specifiche aree di applicazione (dominio) all'interno del quale è possibile formulare i problemi da risolvere;
descrizione di uno specifico problema appartenente alla classe dei problemi descritti dalla conoscenza del dominio
conoscenza del dominio
conoscenza sul caso
Utente
Interfaccia di comunicazione
Motore inferenziale
Base di conoscenza
Areadati
Risposte Domande
Segni Domande
Contenuti di Dati iniziali conoscenza Dati parziali
Base di conoscenza
immagazzina tutta la conoscenza specialistica dell’esperto
Base di conoscenza
tecniche descrittive che si riferiscono alle specifiche aree di applicazione (dominio) all'interno del quale è possibile formulare i problemi da risolvere;
descrizione di uno specifico problema appartenente alla classe dei problemi descritti dalla conoscenza del dominio
conoscenza del dominio
conoscenza sul caso
Utente
Interfaccia di comunicazione
Motore inferenziale
Base di conoscenza
Areadati
Risposte Domande
Segni Domande
Contenuti di Dati iniziali conoscenza Dati parziali
SISTEMI ESPERTI - COMPONENTI
Motore inferenziale
Base di conoscenza
Motore inferenziale
E’ la parte del sistema che lavora sulla conoscenza al fine di raggiungere le conclusioni.
E’ capace di eseguire deduzioni e passaggi logici utilizzando una serie di assunzioni iniziali e una serie di regole da applicare per la soluzione del problema.
Porta avanti ragionamenti.
Seleziona le parti della conoscenza utili in un determinato momento.
Chiede l’interazione con l’utente.
Utente
Interfaccia di comunicazione
Motore inferenziale
Base di conoscenza
Areadati
Risposte Domande
Segni Domande
Contenuti di Dati iniziali conoscenza Dati parziali
Areadati
SISTEMI ESPERTI - COMPONENTI
Areadati
Memorizza :
le informazioni di partenza,
i risultati parziali della computazione,
le informazioni aggiuntive che di volta in volta vengono richieste all’utente.
Areadati
Utente
Interfaccia di comunicazione
Motore inferenziale
Base di conoscenza
Areadati
Risposte Domande
Segni Domande
Contenuti di Dati iniziali conoscenza Dati parziali
Areadati
SISTEMI ESPERTI - COMPONENTI
Offre la possibilità di interagire con l’utente.
E' costituita dagli algoritmi che consentono di sottoporre il problema al sistema esperto e di ricevere da esso la soluzione.
I moderni linguaggi di programmazione, tra le altre cose, offrono gli strumenti per costruire interfacce grafiche user-friendly semplici e chiare, idonee ad una migliore comprensione da parte dell’ utente.
Interfaccia di comunicazione
Interfaccia di comunicazione
SISTEMI ESPERTI - COMPONENTI
Alcuni sistemi esperti sono dotati anche di una relativa capacità di apprendimento.
L'ampliamento della base di conoscenza, mediata dalla interazioni con un operatore umano, è un aspetto importante, che permette di affinare progressivamente la capacità
di risolvere problemi.
I sistemi esperti sono attualmente utilizzati in diversi campi e, in particolare:
si tratta di individuare, in base al riconoscimento di determinati sintomi, le possibili cause di "malfunzionamento" e suggerire un cammino di cura;
diagnosi :
viene seguito lo sviluppo temporale di un processo; si procede al controllo dell'acquisizione e dell'elaborazione di dati di vario tipo, fornendo in uscita informazioni sintetiche sullo stato e stime sulla sua evoluzione
monitoraggio :
note le risorse a disposizione, se ne individua l'impiego ottimale allo scopo di conseguire un certo obiettivo entro un dato tempo; parallelamente si indirizza l'acquisizione di nuove risorse;
pianificazione :
(informazioni e segnali) avendo in ingresso una serie di dati relativi ad un certo ambito, si vuole effettuare una valutazione complessiva al fine di riconoscere il presentarsi di alcune situazioni predeterminate.
interpretazione :
SISTEMI ESPERTI - PROGETTAZIONE
PROGETTISTA ESPERTOinterazione
Deve riuscire a codificare nel sistema sia la
conoscenza, sia il meccanismo
cognitivo dell’esperto.
Deve individuare e definire in termini precisi, la propria
esperienza, fatta di conoscenza del
dominio, di regole euristiche,
meccanismi di ragionamento
abitualmente utilizzati ed espedienti per
semplificare l’operato.
Continuo scambio di domande e
risposte
SISTEMI ESPERTI - PROGETTAZIONE
ESTRAZIONEdella conoscenza
RAPPRESENTAZIONEdella conoscenzaSVILUPPO = +
Fase di identificazione
Fase di concettualizzazione
Fase di formalizzazione
Fase di implementazione
Fase di test del sistema
SISTEMI ESPERTI - PROGETTAZIONE
ESTRAZIONEdella conoscenza
RAPPRESENTAZIONEdella conoscenzaSVILUPPO = +
Fase di identificazione
Fase di concettualizzazione
Fase di formalizzazione
Fase di implementazione
Fase di test del sistema
FASE DI IDENTIFICAZIONE:
permette di individuare le caratteristiche del problema e gli
elementi della conoscenza.
SISTEMI ESPERTI - PROGETTAZIONE
ESTRAZIONEdella conoscenza
RAPPRESENTAZIONEdella conoscenzaSVILUPPO = +
Fase di identificazione
Fase di concettualizzazione
Fase di formalizzazione
Fase di implementazione
Fase di test del sistema
FASE DI CONCETTUALIZZAZIONE:
Permette di identificare ed esplicitare i concetti chiave e le relazioni tra gli elementi identificati nella prima fase.
È la fase in cui il problema viene suddiviso in un insieme di moduli
indipendenti
SISTEMI ESPERTI - PROGETTAZIONE
ESTRAZIONEdella conoscenza
RAPPRESENTAZIONEdella conoscenzaSVILUPPO = +
Fase di identificazione
Fase di concettualizzazione
Fase di formalizzazione
Fase di implementazione
Fase di test del sistema
FASE DI FORMALIZZAZIONE:
Comprende la scelta del linguaggio di rappresentazione e la progettazione di strutture per organizzare la conoscenza.
SISTEMI ESPERTI - PROGETTAZIONE
ESTRAZIONEdella conoscenza
RAPPRESENTAZIONEdella conoscenzaSVILUPPO = +
Fase di identificazione
Fase di concettualizzazione
Fase di formalizzazione
Fase di implementazione
Fase di test del sistema
FASE DI IMPLEMENTAZIONE:
Riguarda la formulazione di regole che costituiscono la base di conoscenza e la strategia di controllo da utilizzare per ragionare
su di essa.
SISTEMI ESPERTI - PROGETTAZIONE
ESTRAZIONEdella conoscenza
RAPPRESENTAZIONEdella conoscenzaSVILUPPO = +
Fase di identificazione
Fase di concettualizzazione
Fase di formalizzazione
Fase di implementazione
Fase di test del sistema
FASE DI TEST DEL SISTEMA:
concerne la valutazione delle prestazioni del sistema, che viene sottoposto al giudizio critico dell’esperto.
SISTEMI ESPERTI - PROGETTAZIONE
Continua revisione del sistema
Riformulazione dei concetti
Riprogettazione della conoscenza
Raffinamento del sistema
CAUSE: 1. Alcune volte il sistema dà risposte non corrette, per cui abbiamo la necessità di aggiungere nuova euristica in modo da ottenere migliori risultati.
2. La conoscenza dell’esperto è la principale fonte di informazione, per cui la base di conoscenza non è mai completa, ci sarà sempre la possibilità di aggiungere ulteriore conoscenza per migliorarne le prestazioni.
Realizzazione
Riprogrammazione
Riformulazione
Concettualizzazione
Identificazione
Formalizzazione
Implementazione
Test del sistema
SISTEMI ESPERTI - RAPPRESENTAZIONE
scelta del linguaggio di rappresentazione e definizione di architetturenelle quali sia esplicita la base di conoscenza,
che sarà composta da espressioni nel linguaggio scelto.
RAPPRESENTAZIONE DELLA CONOSCENZA
Deve descrivere esplicitamente il dominio in modo che un motore inferenziale riesca a inferire nuove conclusioni
attraverso una manipolazione della struttura.
SISTEMI ESPERTI - RAPPRESENTAZIONE
CONOSCENZA
ESEMPI
La macchina è rottaLa legge F = m* a è alla base della meccanica
ESEMPI
Domani porterò la macchina dal meccanicoIl corpo si è spostato dalla posizione X alla posizione Y
La rappresentazione degli eventi comprende una conoscenza:
• su COSA si conosce (metaconoscenza) • su COME fare qualcosa, sulle modalità nel fare certe attività .
OGGETTIe loro proprietà
EVENTIche cambiano l’ambiente su cui il sistema opera
SISTEMI ESPERTI - RAPPRESENTAZIONE
CONOSCENZACome archivio
o banca dati
CONOSCENZACome base per un
comportamento intelligente
Modalità d’uso
ACQUISIZIONE apprendimento, aggiornamento, capacità di mettere in relazione il nuovo con qualcosa di già noto, classificazione della conoscenza per rendere più agevole il reperimento. Tecnicamente, procedure per inserire, cancellare, strutturare.
Linking: legami fra parti della conoscenza correlati per particolari attività. Esempio: oggetto "l’auto è dal meccanico" legato ad evento "prendere il bus“.Lumping: raggruppamento di elementi della conoscenza che solitamente si usano insieme. Esempio: gli elementi "l’auto non parte", "controllo batteria", "controllo benzina“.
Meccanismi per rendere esplicita conoscenza implicita: deduzione, induzione, abduzione, uso di metaconoscenza.
REPERIMENTO
INFERENZE
SISTEMI ESPERTI – INFERENZA
MOTORE INFERENZIALE = algoritmo che scandisce la base di conoscenza per :
reperire la documentazioneselezionare le ipotesi costruire la soluzione del problema
Colloquio con l’utente Analisi dei fatti noti
Selezione di una regola dalla BASE DI CONOSCENZA
le domande vengono poste
all'utente solo se correlate ai fatti che fino a quel
momento sono noti
SISTEMI ESPERTI – INFERENZA
COMPITO del motore è:
Un MOTORE INFERENZIALE è un programma costituito da:
un INTERPRETE che decide quale regola applicare per poter aumentare la base di conoscenza
uno SCHEDULATORE che organizza le regole da sviluppare e il loro ordine di esecuzione.
estrarre le regole utili alla soluzione del problema secondo un meccanismo di riconoscimento e attivazione delle stesse
eseguendo un esame delle regole nella base di conoscenza
selezionare la regola più appropriata
eseguire la regola
registrare nella memoria di lavoro l'azione
ripetere finché non trova la possibile soluzione
SISTEMI ESPERTI – SHELL e LINGUAGGI
(conchiglia, guscio, rivestimento) viene utilizzato per indicare il rivestimento della base di conoscenza, cioè tutto ciò che si trova tra quest'ultima e l'utente: il motore inferenziale e l'interfaccia utente.
SHELL
Sono sistemi esperti vuoti, in cui non è contenuta nessuna conoscenza specifica, ma dotati di strumenti specifici per inserirla.
Consentono di ottenere un sistema esperto con il minimo sforzo, in quanto è richiesto soltanto di inserire della conoscenza pura, mentre tutti i meccanismi di ragionamento e di deduzione sono già presenti.
La maggior parte degli shell in commercio è corredata di strumenti ausiliari per lo sviluppo incrementale della base di conoscenza (compilatori interfacce, strumenti di verifica, ...).
SISTEMI ESPERTI – SHELL e LINGUAGGI
I linguaggi di programmazione più utilizzati nell'intelligenza artificiale sono:
LISP : si basa sulla manipolazione di liste.
PROLOG: possiede un meccanismo di deduzione automatica. E’ un linguaggio formalmente basato sulla logica di primo ordine. Deve la sua popolarità alla semplicità sintattica e al modo dichiarativo di programmare la conoscenza.
SISTEMI ESPERTI – ESEMPI
DENDRAL ha il compito di identificare la formula strutturale di un composto chimico organico, partendo da dati di spettrometria di massa e da informazioni fornite dall'utente. Conoscendo quali sono gli atomi che compongono una molecola, esistono milioni e milioni di diversi disposizioni, che determinano a loro volta diverse proprietà chimiche, il Dendral cerca di individuare tale disposizione. Il motore inferenziale è di tipo "'plan-generete-test“: dai dati di partenza si individua un insieme di molecole candidate, che viene via via ridotto per eliminazione, attraverso una serie di test. Le sue prestazioni sono eccellenti infatti in più di un caso il sistema ha risolto problemi che mettevano in difficoltà chimici di professione.
assiste il geologo nel valutare se un’area può essere sede di un giacimento minerario. L'aspetto più spettacolare è costituito dalle capacità grafiche che riescono a fornire la mappa geografica della più probabile dislocazione di nuovi filoni. La base di conoscenza è composta da una rete inferenziale, la cui struttura non differisce molto dalle regole di produzione. E' il Sistema Esperto che ha dato finora i risultati più sensazionali, localizzando un giacimento di molibdeno del valore di molti milioni di dollari, di cui i geologi non sospettavano nemmeno l'esistenza.
PROSPECTOR
SISTEMI ESPERTI – ESEMPI
assiste il medico nelle decisioni riguardanti la scelta della terapia appropriata nella cura di malattie infettive che richiedono l’impiego di una terapia con antibiotici. La base di conoscenza è formata da cinquecento regole di produzione. Il motore inferenziale è di tipo backward chaining.
MYCIN
SISTEMI ESPERTI VS WEB 2.0
INTELLIGENZA ARTIFICIALE: FUTURO?
INTELLIGENZAARTIFICIALE