SlideShare a Scribd company logo
1 of 111
1
2
Una definizione approssimata di intelligenza è che essa può essere
attribuita a un qualunque sistema (biologico o artificiale) che ha la
capacità di migliorare la sua probabilità di sopravvivere nel mondo
reale in cui è capace di competere o cooperare con altri agenti.
Questo è un primo motivo per cui è interessante studiare il
comportamento animale a fini robotici, essendo gli animali
intelligenti nell’accezione sopra detta.
Inoltre la stessa esistenza degli animali implica che almeno questa
forma di intelligenza è raggiungibile.
Infine lo studio del comportamento animale può portare alla
costruzione di modelli utili per i robotici.
3
E’ per questo motivo che discipline che interessano i robotici sono:
• L’etologia che può fornire indicazioni sulla individuazione di
comportamenti elementari e sulla loro aggregazione logica e
temporale finalizzata al perseguimento di determinati scopi.
• La psicologia che può fornire meccanismi di modellazione del
rapporto percezione/azione che è di grande rilevanza per la
progettazione di un Sistema Robotico.
• La neurobiologia che può darci strumenti per studiare i
meccanismi dell’elaborazione parallela delle informazioni presenti
(sensoriali o inferite) e modelli per il riconoscimento e
classificazione di pattern della natura più diversa (sensoriali,
proattivi, …).
Tralasciamo in questa sede gli aspetti di Neuroscienza in parte trattati
nei corsi di reti neurali, mente e macchina e neurobiologia.
Mostreremo invece alcuni aspetti dell’etologia e della psicologia.
4
L’aspetto fondamentale di questi studi fu che un comportamento
animale è innescato da una qualche percezione che l’animale riceve
alla quale fanno seguito uno o più behaviour in cascata.
Per quanto riguarda gli aspetti di psicologia ci rifacciamo ai lavori di
Neisser U. (1976) e di Gibson (1979). In particolare quest’ultimo
rifiutando il world model introdusse il concetto di affordance o
percezione diretta mentre Neisser mostrò quando, per la robotica, è
opportuno un modello piuttosto che un altro.
•Lorenz K. (1967). L’anello di Re Salomone, Adelphi, (ed. originale 1952).
•Tinbergen N. (1953). The herring gull's world, Collins, London.
•Neisser U. (1976), Cognition and reality: principles and impications of cognitive psychology,
W.H. Freeman, San Francisco
•Gibson J.J. (1979), The ecologica Approach to visual perception, Houghton Mifflin, Boston MA
Per avere un’idea dei risultati raggiunti in etologia partiamo da
quelli che sono stati gli studi di Lorentz e Tinbergen che
introdussero il concetto di behaviour animale e quello di IRM
(Innate Releasing Mechanism).
5
Una critica allo studio comparato di etologia e robotica scaturisce dal
richiamo ad artefatti che pur operando in qualche maniera come
animali nell’artefatto non vi somigliano affatto. Vedi l’esempio
dell’aereo che vola ma senza sbattere le ali.
La risposta è che mentre gli animali fanno ricorso a capacità innate i
robot operano sulla base di programmi software che tengono conto di
dette capacità.
6
Dal comportamento animale, e anche umano, si possono ricavare
molte idee ad esempio sul trattamento contemporaneo di diverse
percezioni (sensor fusion) e inoltre vivendo gli animali in un open
world lo studio del loro comportamento può portare al superamento
del problema del closed world.
Infatti molti animali semplici quali gli insetti, i pesci, le rane etc.
esibiscono un comportamento intelligente, nei termini di cui sopra,
pur avendo strutture neurali estremamente semplici.
Evidentemente qualche cosa succede per cui evitano il frame
problem.
7
Agente e teoria computazionale.
Volendo utilizzare quanto le scienze cognitive offrono attraverso lo
studio degli animali è necessario cercare un modello che permetta in
qualche misura il confronto tra conoscenze cognitiviste e
comportamento del robot.
Una maniera per concettualizzare i due diversi sistemi è quella dell’
”agente”.
Un agente è un qualche cosa, hardware o software, che interagisce
con il mondo, introducendovi cambiamenti e percependo quanto in
esso accade. Con questa vaga definizione si può dire che un uomo,
un animale o un artefatto che possiede le suddette proprietà sono
“agenti”.
8
Il concetto di agente permette di discutere delle proprietà
dell’intelligenza senza discutere i dettagli di come quella
intelligenza è presente in un certo agente.
Visto in un ottica di sistema ad oggetti si può dire che “agente” è la
superclasse delle classi “essere vivente” e “robot”.
Questo non chiarisce molto il concetto di intelligenza tra diversi
soggetti. Una maniera di analizzare le corrispondenze tra diversi
soggetti è quello di individuare a quali “livelli” i soggetti in esame
hanno qualche cosa in comune.
L’insieme di questi livelli porta a quella che Marr chiamò la teoria
computazionale. In maniera molto semplificata possiamo far
riferimento a tre livelli.
Marr D., Vision: A Computational Investigation into the Human Representation and Processing
of Visual Information, W:H: Freman & Co, 1982
9
Livello 1 – Dimostrazione dell’esistenza di quello che
dovrebbe/potrebbe essere fatto.
In robotica ci sono molti interessi a realizzare robot per la ricerca di
superstiti di catastrofi (terremoti etc.).
Se guardiamo verso il mondo animale vediamo che, ad esempio, le
zanzare sono molto abili nell’individuare un corpo umano.
Questi animali forniscono una prova che un agente,
computazionalmente semplice, può trovare un essere umano
utilizzando il calore emesso dal suo corpo.
A questo livello possiamo dire che nei due agenti, robotico e
biologico, vi è una combinazione di obiettivo e funzionalità.
10
Livello 2 – Decomposizione del "what" in input, output, e relative
transformazioni.
A questo livello va creato una sorta di flow chart formato da black
box costituite da input, output e trasformazione dell’input nell’output.
Nell’esempio delle zanzare si può dire che è possibile trovare creature
a sangue caldo rilevando la temperatura. Se una zanzara percepisce
un’area calda vola verso di essa. Il progettista può modellare questo
processo come:
input: immagine termica;
output: comandi di direzione;
Black-box: trasformazione dell’input nell’output.
11
Questo blocco potrebbe essere pensato come un sistema che
individua il centroide dell’immagine termica, pesato sulla base del
calore nelle singole zone, e genera i comandi per dirigersi verso di
esso.
Ovviamente sia se si muove il corpo caldo che la zanzara nel suo
avvicinamento l’immagine termica cambia e quindi di nuovo va
rifatto il calcolo del centroide e così via fino al raggiungimento
dell’obiettivo.
Non è detto che questo avvenga realmente nelle zanzare, ma lo
studio del loro comportamento risulta utile per la progettazione di un
robot per il soccorso.
12
Si noti che studiando le funzioni esplicate dalla zanzara invece del
come queste sono implementate permette di non doversi occupare ad
esempio del volo della zanzara, visto per altro che probabilmente un
robot avrebbe le ruote.
Al livello 2 dunque i due agenti, robotico e biologico, possono solo
esibire un processo comune.
13
Livello 3 – Come implementare il processo.
A questo livello bisogna occuparsi di come implementare il black-
box.
Nella zanzara i comandi per dirigersi in una direzione sono elaborati
da una qualche rete neurale mentre in un robot potrebbero essere
elaborati tramite un algoritmo che calcola l’angolo tra il centroide
dell’immagine termica e la posizione attuale del robot.
Un’altra ricerca potrebbe essere sviluppata relativamente allo studio di
come la zanzara è capace di rilevare differenze di temperature tra
sorgenti piccole e vicine.
A questo punto i due agenti possono non avere nulla in comune
relativamente all’implementazione senso-motoria.
14
E’ quindi chiaro che i livelli 1 e 2 sono sufficientemente astratti da
essere applicabili a qualunque tipo di agenti.
La differenza tra agente robotico e agente biologico emerge solo al
livello 3.
15
.
Filmato genghis short
16
Alcuni studiosi tentano anche di emulare l’aspetto biologico
riproducendo la fisiologia e il meccanismo neurale.
In generale questo non è possibile e forse nemmeno desiderabile.
Quello che è stato fatto, vedi Genghis, è stato di replicare
l’intelligenza di alcuni animali e costruire macchine che in qualche
modo somigliassero ad essi.
Quello che è importante è che al livello 2, focalizzando l’attenzione
sulla teoria computazionale dell’intelligenza biologica, i progettisti
possono ricavare suggerimenti su come organizzare quella
robotica.
17
Cosa sono i behaviour animali?
Il blocco di base di un’intelligenza naturale è denominato
behaviour.
Un behaviour è costituito da un mapping tra un insieme di input
sensoriali e un insieme di azioni motorie realizzato allo scopo di
raggiungere un certo scopo.
Ad esempio se un cavallo vede un predatore alza le orecchie,
abbassa la testa e scalpita sul terreno.
In questo caso l’input sensoriale di un predatore attiva un pattern
riconoscibile come un comportamento (behaviour) difensivo.
Il movimento difensivo attiva un pattern perché la sequenza di
azioni prodotte è sempre la stessa indipendentemente da dettagli del
tipo quante volte batte lo zoccolo a terra.
Il seguente è uno schema di definizione di un behaviour.
SENSOR
INPUT
BEHAVIOR
PATTERN
OF MOTOR
ACTION
18
Gli etologi passano anni per identificare i behaviour.
Mentre spesso il pattern motorio viene individuato rapidamente.
Il problema sta nel determinare correttamente il pattern di input di
quel behaviour e del perché quel behaviour facilita la sopravvivenza
della specie.
19
I behaviour possono essere divisi in tre grandi classi:
Reflexive behaviours : sono del tipo Stimolo/Risposta (S-R) come
quando il ginocchio viene colpito dal martelletto del medico.
Essenzialmente questo behaviour è meccanico, i circuiti neurali
assicurano che allo stimolo sia direttamente connessa una risposta per
riprodurla nel più breve tempo possibile.
Reactive behaviours: vengono appresi e consolidati laddove debbono
essere eseguiti senza una attività conscia. Tutti i behaviour che
comportano una “memoria” o risposta muscolare sono in genere
reflexive behaviour (andare in bici, sciare etc.). Questi stessi behaviour
possono diventare coscienti in particolari casi, ad esempio andare in
bicicletta su una strettissima strada di montagna.
Conscious behaviours: sono di tipo deliberativo (ad es. assemblare un
robot, collegare insieme behaviour diversi etc.)
20
La classificazione è importante per diverse ragioni.
In primo luogo il paradigma reattivo fa largo uso dei reflexive
behaviour (in certi testi un behaviour è sinonimo di reflexive
behaviour).
In secondo luogo la classificazione aiuta il progettista a determinare
quale è il tipo giusto di behaviour da implementare.
In terzo luogo l’uso della parola “reattivo” ha un significato diverso
in etologia e in robotica.
In etologia behaviour reattivo significa behaviour appreso,
in robotica connota, invece, un behaviour riflessivo.
21
Reflexive behaviours
I reflexive behaviour sono particolarmente interessanti perchè non
implicano alcun ricorso a forme di conoscenza: se percepisci questo
allora fai quello. Per un robot questa è una risposta meccanica
(hardwired), senza computazioni e sicuramente veloce.
I reflexive behaviour possono a loro volta essere divisi in tre
categorie
1.Reflexes
2.Taxes
3.Fixed-action patterns
22
2. Taxes: (orientamento)
La risposta consiste in un orientamento particolare.
Fino a non molto tempo fa era un mistero capire come facevano i
neonati delle tartarughe a trovare l’oceano.
La leggenda vuole che durante una sperimentazione in sito uno
studioso che supponeva che il fenomeno avesse una spiegazione
nei campi magnetici, dimenticò un faretto acceso sulla sabbia, e
tutte le tartarughe si diressero verso il faretto. Dopo di che fu
abbandonata l’ipotesi dei campi magnetici.
1. Reflexes: la risposta dura finchè dura lo stimolo ed è proporzionale
all’intensità di questo;
23
I piccoli delle tartarughe esibiscono un comportamento tropotaxis:
essi nascono al buio e si muovono verso le zone a maggior
luminosità. Fino a non molti anni fa queste zone erano quelle
dell’oceano su cui si rifletteva la luce lunare. L’arrivo dell’uomo
ha però modificato l’ambiente, per cui i proprietari di stabilimenti
balneari in Florida, durante la stagione delle nascita delle
tartarughe, devono spegnere di notte le luci esterne per evitare che
i piccoli si dirigano verso di esse piuttosto che verso il mare. Le
tartarughe nascono di notte perché così sono invisibili per gli
uccelli predatori.
Le formiche invece presentano un comportamento chemiotaxis,
esse cioè seguono le tracce chimiche lasciate dai feromoni che
esse stesse rilasciano.
24
3. Fixed-action patterns: la risposta dura più a lungo dello stimolo.
Questo è ad esempio utile per scappare dai predatori. Bisogna tenere
bene in mente che un taxis è relativo ad ogni forma di orientamento
dovuto ad uno stimolo, non esclusivamente allo stimolo di
avvicinarsi ma anche a quello di allontanarsi.
25
Le precedenti categorie non sono mutuamente esclusive.
Per esempio un animale che cammina sulle rocce o attraverso una
foresta con alberi che ostacolano la sua vista potrebbe persistere
(fixed action pattern) nell’orientarsi verso l’ultima direzione nella
quale aveva percepito il cibo anche dopo che non lo percepisce più.
26
La stretta connessione tra azione e percezione spesso può essere
quantificata da espressioni matematiche. Un esempio di questo è
l’orientamento dei pesci volanti (angelfish).
Per nuotare verso l’alto un pesce volante usa un sensore interno
(idiothetic) di gravità combinato con un sensore di visione
(allothetic) per vedere la linea esterna dell’orizzonte dell’acqua e
nuotare verso l’alto.
Se questo pesce è messo in una vasca con prismi che fanno sì che la
linea dell’orizzonte appaia con un certo angolo il pesce volante
nuoterà obliquamente. Ad un’analisi più accurata risulta che
l’angolazione con cui nuota il pesce volante è data dal vettore
somma del vettore parallelo alla gravità con il vettore perpendicolare
alla linea dell’orizzonte percepita.
27
28
Konrad Lorenz e Niko Tinbergen sono i padri fondatori
dell’etologia.
Interessante nei loro studi è non solo quali siano i comportamenti
degli animali ma anche come questi li abbiano appresi e li
selezionino in maniera coordinata.
Il loro lavoro fornisce molti suggerimenti su quattro diverse
maniere di come gli animali acquisirebbero e organizzerebbero i
loro behaviour.
Il lavoro di Konrad Lorenz e Niko Tinbergen fornisce anche un
aiuto nella costruzione di una teoria computazionale (livello 2)
per capire come costruire un processo sulla base di behaviour.
29
Le quattro maniere per acquisire un behaviour sono:
1. Essere nati con un behaviour (innato).
Un esempio è il behaviour per l’alimentazione nei piccoli di
rondini dell’artico (artic tern). Esse vivono nell’artico dove
l’ambiente è prevalentemente bianco e nero. Per altro la rondine
dell’artico ha un becco rosso brillante. Quando i piccoli nascono
sono affamati e allora picchiettano sul becco dei genitori. Il
becchettare provoca un riflesso di rigurgito nei genitori che
rovesciano fuori il cibo per i piccoli. E’ chiaro che i piccoli non
riconoscono i loro genitori per se, essendo appena nati. Invece essi
sono nati con un behaviour che dice: se sei affamato becchetta
l’oggetto rosso più grande che vedi. Si noti che i soli oggetti rossi
nel loro campo visivo sono i becchi delle rondini dell’artico, ed i
più grandi sono quelli più vicini, cioè quelli dei loro genitori.
Questa è una strategia semplice e economica.
30
2. Sequenza di behaviour innati.
Un esempio è il ciclo di accoppiamento (mating cycle) delle (digger)
vespe scavatrici. Una (digger) vespa femmina si accoppia con un
maschio, quindi costruisce un nido. Quando essa vede il nido finito
allora rilascia le uova. La sequenza è logica ma il punto importante è
il ruolo degli stimoli che evocano i passi successivi. Il nido non è
costruito se la femmina non si accoppia, cioè fino a quando non vi è
un cambiamento nel suo stato interno. Le uova non sono rilasciate fin
quando il nido non è costruito. Il nido è uno stimolo visivo che evoca
il passo successivo. Si noti che la vespa non è necessario che sappia o
capisca la sequenza. Ciascun passo è evocato dalla combinazione di
stato interno e stato dell’ambiente. Questo è molto simile alle
Macchine a Stato Finito (FSM).
31
3. Behaviour innati con memoria.
Un animale può nascere con behaviour innati che vengono inizializzati
dalla situazione in cui è avvenuta la nascita. Un esempio di questo
sono le api che nascono negli alveari. La conoscenza del luogo in cui
si trova l’alveare non è innato. Un ape deve apprendere a cosa
assomiglia il suo alveare guardandolo dall’esterno, e come volare da e
verso di esso. Si suppone che il curioso comportamento esibito dalle
api piccole (che è innato) permette loro di apprendere queste
informazioni critiche. Un piccola ape vola fuori dell’alveare per una
piccola distanza, quindi vi gira attorno e torna indietro. Questo è
ripetuto molte volte con l’ape che si allontana sempre un poco di più
lungo una linea retta. Successivamente l’ape ripete l’operazione ma
con una certa angolazione rispetto all’apertura dell’alveare.
32
Perché questo?
La congettura è che in questa maniera l’ape apprende come
riconoscere l’alveare da tutte le possibili angolazioni di arrivo.
Successivamente l’ape associa alla vista dell’alveare un comando
motore (vola a sinistra, sopra, sotto, ..) per raggiungere l’ingresso.
Il behaviour di girare attorno all’alveare è innato, quello che è
appreso è come appare l’alveare e dove si trova l’ingresso. Questo
richiede memoria.
ALFANT robot
33
4. Apprendimento di un insieme di behaviour.
I behaviour non sono necessariamente innati. Nei mammiferi,
specialmente nei primati, i piccoli devono spendere molto tempo per
l’apprendimento. Un esempio di apprendimento è la caccia per i
leoni. I piccoli di leone non hanno alcun behaviour innato per la
caccia. Se non sono addestrati dalle madri in un periodo di alcuni
anni essi non mostrano alcuna capacità di provvedere a se stessi.
A prima vista potrebbe sembrare strano che qualche cosa
fondamentale come la caccia del cibo debba essere appreso e non sia
innato. Comunque si consideri, la caccia è molto complessa.
34
Essa è composta da una serie di sotto-behaviour quali: ricerca del
cibo, inseguimento, cattura e così via. La caccia può anche
richiedere collaborazione con altri membri del branco. Essa ha
bisogno di una notevole conoscenza del tipo di animale da cacciare e
del terreno di caccia.
Si immagini di scrivere un programma che preveda tutte le possibili
combinazioni! Pur se i behaviour appresi sono molto complessi essi
possono sempre essere rappresentati da IRM (Innate Releasing
Mechanism) in quanto sono memorizzati proprio i releasers e le
azioni mentre l’animale crea da sé il programma.
35
Da queste osservazioni sugli animali si vede come anche un robot
potrebbe acquisire uno o più behaviour o venendo pre-
programmato (innate) o apprendondoli in qualche maniera
(learned).
Si noti pure che un behaviour può essere attivato purchè ci sia un
meccanismo di memoria.
La cosa importante è che pur se un behaviour di tipo S-R può
essere pre-programmato addirittura a livello hardware in maniera
abbastanza semplice, un progettista di robot complessi non può
certamente fare a meno dell’uso di memoria.
36
Innate releasing mechanisms (IRM)
Lorenz e Tinbergen hanno tentato di chiarire nei loro lavori come i
behaviour sono coordinati e controllati dando a questa attività il
nome di IRM (Innate Releasing Mechanism).
Un IRM presuppone che vi sia uno specifico stimolo (interno o
esterno) che rilascia o attiva un pattern stereotipo di azione.
Un IRM, che attiva un behaviour, è un releaser, simile ad una molla
o ad una variabile booleana, che va inizializzato.
37
Una maniera di pensare a un IRM è quella di vederlo come un
processo. In una teoria computazionale dell’intelligenza in cui si
usano gli IRM, i black box basilari sarebbero i behaviour.
Ricordiamo per altro che un behaviour riceve input sensoriali e
produce azioni motorie. L’IRM va oltre; esso ci dice quando un
behaviour deve essere attivato e quando disattivato.
Il releaser agisce come un segnale di controllo per attivare un
behaviour. Se un behaviour non è rilasciato esso non risponde ai
segnali di input e quindi non produce output motorio.
38
Per esempio se un piccolo di Rondine Artica non ha fame esso non
becchetta su un becco rosso anche se questo gli è vicino. Gli IRM
possono anche essere visti come un semplice programma di calcolo.
L’agente può essere simulato con un programma C mediante un
WHILE infinito. Ogni esecuzione del loop provoca il movimento
dell’agente per un secondo, e dopo il loop si ripete.
Sensory
Input
BEHAVIOR
Pattern
of motor
action
Releaser
enum Releaser={PRESENT, NOT_PRESENT};
Releaser predator;
while (TRUE)
predator = sensePredators();
if (predator = PRESENT);
flee();
39
In questo esempio l’agente fa solo due cose: percepisce il mondo e
quindi fugge se percepisce un predatore.
E’ possibile un solo behaviour : fuggire.
Esso è condizionato dalla presenza del predatore.
Un predatore è di tipo releaser ed ha solo due possibili valori:
PRESENT, NOT_ PRESENT.
Se l’agente non sente il releaser del behaviour non fa nulla in quanto
non c’è un behaviour di default.
In questo esempio vi è anche un filtro delle percezioni. Qui l’agente
fa attenzione solo ai predatori mediante una funzione dedicata
sensePredators(). Questa funzione potrebbe ad esempio essere un
sensore specifico (ad esempio la retina che è sensibile alle frequenze
di movimento associate al moto del predatore), o un gruppo di
neuroni che fanno la stessa operazione eseguita da un algoritmo
equivalente.
40
Altro aspetto interessante dell’IRM è che un releaser può essere una
composizione di releaser sia interni che esterni. Se il releaser della
composizione non è soddisfatto allora il corrispondente behaviour
non è attivato. Nello pseudo codice che segue mostriamo un releaser
composto.
enum Releaser={PRESENT, NOT_PRESENT
Releaser food, hungry;
while (TRUE)
{
food = senseFood();
hungry = checkState();
if (food == PRESENT && hungry==PRESENT)
feed() ;
}
41
Nell’esempio successivo si vede cosa accade in una sequenza di
behaviour dove l’agente mangia, accudisce i suoi piccoli, dorme e
quindi ripete la sequenza.
I behaviour sono implicitamente collegati insieme dai loro releaser.
Una volta che il releaser iniziale è attivato si ha il primo behaviour.
Esso si attiva per un secondo (l’intervallo per un “movimento”) e
quindi passa il controllo all’istruzione successiva.
Se il behaviour non è stato completato il releaser rimane attivo e
nessun altro behaviour è attivato.
Il programma ritorna all’inizio e il primo behaviour è eseguito di
nuovo. Quando il primo behaviour è eseguito lo stato interno
dell’animale o quello dell’ambiente esterno potrebbero essersi
modificati a seguito delle azioni compiute.
Quando stato interno e ambiente coincideranno diverranno uno
stimolo per il secondo behaviour che verrà attivato e così via.
42
enum Releaser={PRESENT,
NOT_PRESENT} ;
Releaser food, hungry, nursed;
while (TRUE)
{
food = sense() ;
hungry = checkStateHunger() ;
parent = checkStateParent();
if (hungry==PRESENT)
searchForFood(); //sets food = PRESENT when
done
if (hungry==PRESENT && food==PRESENT)
feed(); // sets hungry = NOT_PRESENT when
done
if (hungry==NOT_PRESENT && parent==PRESENT)
nurse(); // set nursed = PRESENT when done
if (nursed ==PRESENT)
sleep() ;
43
Questo esempio mette anche in evidenza la natura dei behaviour.
Se l’agente dorme e poi si sveglia ma non ha fame, che cosa farà?
In accordo con i releasers se ne sta lì buono finchè non gli viene
fame.
In esso inoltre i behaviour permettono il nutrimento e l’accudimento
dei piccoli ma non prevedono la fuga o la lotta con i predatori.
Possiamo aggiungere questo come segue:
44
enum Releaser={PRESENT, NOT_PRESENT};
Releaser food, hungry, nursed, predator;
while (TRUE)
{
predator = sensePredator() ;
if (predator==PRESENT)
flee() ;
food = senseFood();
hungry = checkStateHunger() ;
parent = checkStateParent() ;
if (hungry==PRESENT)
searchForFood() ;
if (hungry==PRESENT && food==PRESENT)
feed() ;
if(hungry== NOT_PRESENT && parent==PRESENT)
nurse() ;
if(nursed==PRESENT)
sleep() ;
}
45
Si noti che questa organizzazione permette all’agente di fuggire al
predatore indipendentemente se si trova nella condizione di
mangiare, accudire e dormire perché la presenza del predatore è
verificata per prima.
Ma il fuggire è temporaneo perché esso non introduce cambi allo
stato interno dell’agente, fatto salvo forse nel renderlo più affamato,
cosa che verrà verificata all’iterazione successiva.
Il codice può produrre una fuga di un secondo seguita da una
mangiata di un secondo.
Una maniera per superare questo problema è quella di inibire o
disattivare ogni altro behaviour finchè la fuga non è completata.
Questo si può realizzare con uno statement IF THEN ELSE
46
while (TRUE)
{
predator = sensePredator();
if (predator==PRESENT)
flee() ;
else {
food = senseFood();
hungry = checkStateHunger();
}
}
47
L’inserimento dell’ IF THEN ELSE previene l’esecuzione di
altri meno importanti comportamenti.
Se l’agente si gira e il predatore è fuori della sua vista (diciamo
dietro l’agente), il valore di predatore diverrà NOT_PRESENT
e allora l’agente tornerà al cibo, al mangiare, accudire o
dormire.
Fuggire dovrebbe essere un fixed-pattern action behaviour che
persiste per un qualche periodo di tempo T.
48
#define T LONG_TIME
while (TRUE)
{
predator = sensePredator() ;
if (predator==PRESENT)
for(time = T; time > 0; time--)
flee() ;
else {
food = senseFood();
}
}
Un fixed-pattern action behaviour può essere realizzato in questa maniera:
49
Il codice C è implementato come una sequenza implicita, dove
l’ordine di esecuzione dipende dal valore dei releasers. Una
implementazione come sequenza esplicita potrebbe essere la
seguente:
Releaser food, hungry, nursed, predator;
while (TRUE)
{
predator = sensePredator() ;
if (predator==PRESENT)
flee() ;
food = senseFood();
hungry = checkStateHunger() ;
parent = checkStateParent() ;
if (hungry==PRESENT)
searchForFood () ;
feed() ;
nurse() ;
sleep() ;
}
50
La sequenza esplicita ad un primo sguardo sembra più interessante.
Essa è meno confusa e i releasers compositi sono nascosti.
Ma essa non è equivalente alla prima.
Infatti assume che invece del ciclo che opera ogni secondo e dei
behaviour che sono attivati uno di seguito all’altro, ogni behaviour
assume il comando e gira fino al suo completamento.
Si noti che l’agente non può reagire al predatore finchè non ha
terminato la sua sequenza di behaviour.
51
Una chiamata al behaviour fuga potrebbe essere inserito fra ogni
behaviour oppure la fuga potrebbe essere elaborata sulla base di un
interrupt.
Ma ogni “vincolo” rende il programma meno generale e difficile da
aggiornare o mantenere.
Il punto principale qui è:
semplici behaviour che operano indipendentemente possono portare
a qualche cosa che un osservatore esterno può considerare come
una sequenza di azioni complesse?
52
Concurrent behaviours
Da quanto sopra si evince che i behaviour spesso operano
indipendentemente e in concorrenza.
Quella che appare essere una sequenza fissa può essere il risultato
di una normale serie di eventi. Comunque alcuni behaviour
possono violare o ignorare la sequenza implicita quando l’ambiente
presenta stimoli conflittuali.
Nel caso dell’agente genitori il behaviour fuggire da un predatore
era mutuamente esclusivo con i behaviour: nutrirsi, accudire,
dormire.
Possono capitare cose interessanti se due o più behaviour sono
rilasciati contemporaneamente quando invece questo in genere non
accade.
53
Si ha che queste strane interazioni cadono nelle seguenti categorie:
Equilibrium: I behaviour sembrano bilanciarsi l’uno con l’altro. Si
consideri nutrirsi e fuggire per uno scoiattolo quando il cibo è vicino
ad una persona su un sedile nel parco. Lo scoiattolo appare
visibilmente indeciso se andare a prendere il cibo o scappare via.
Dominance: Uno vince su tutti. Se si è affamati e assonnati solo uno
dei due behaviour verrà attivato.
Cancellation: I behaviour si annullano l’un l’altro. I maschi dello
spinarello quando hanno territori in comune con altri pesci sono
combattuti tra la necessità di difendere il loro territorio e attaccare
quello degli altri.
In alcuni casi i maschi fanno un altro nido! Allora apparentemente gli
stimoli aggressivi si annullano, lasciando solo lo stimolo associato
con la costruzione del nido.
54
Sfortunatamente non è sempre chiaro quando questi differenti
meccanismi per behaviour conflittuali vengono applicati.
E’ chiaro che non c’è un solo metodo.
I robotici devono fare attenzione all’interazione tra i differenti
behaviour.
Da qui sono scaturite, come vedremo le architetture reattive e il
paradigma ibrido.
55
Perception in behaviours
Mentre Lorenz e Tinbergen forniscono una serie di idee circa i
behaviour è chiaro che questi dipendono dalle percezioni.
Ulrich Neisser che introdusse il termine “cognitive psychology" nel
suo libro Cognition and Reality intuì che percezione e azione non
possono essere considerate separatamente.
J.J. Gibson, discusso psicologo cognitivo, spese la sua carriera
nell’approccio ecologico alla percezione.
Questo approccio è giusto l’opposto del modello top-down basato sul
ragionamento introdotto da Neisser.
56
Action-perception cycle
Il ciclo azione-percezione, mostra che la percezione è fondamentale
per ogni agente intelligente. Una semplice interpretazione di questo
ciclo è: “quando un agente agisce esso interagisce con il suo ambiente
essendone parte integrale”.
Così non appena fa un’azione esso cambia l’ambiente o comunque il
modo di percepirlo (per esempio lo vede da un nuovo punto di
osservazione).
Da qui la percezione del mondo per l’agente è modificata. Questa
nuova percezione è usata per una varietà di funzioni incluse quelle
cognitive come la pianificazione di cosa fare dopo, o quelle reattive.
57
Il termine attività cognitiva include i concetti di controllo,
feedback e feedforward in cui l’agente rileva un errore in quello
che ha cercato di fare e quello che è realmente accaduto.
Una equivalente attività cognitiva di base è stabilire cosa
dovrebbe percepire successivamente (percezione attesa).
Questa attività può a volte essere semplice come la attivazione di
processi per la ricerca di releaser, o tanto complicata come
cercare una certa faccia in una folla di persone.
Cognitive
Activity Directs what
to look for
Perception of
environment
World
Agent acts &
Modifies
World
Agent
finds
Potential ActionsAction-Perception Cycle
58
Relativamente a se c’è un processo conscio esplicito di elaborazione
delle percezioni oppure l’estrazione di uno stimolo o di un releaser,
l’agente è ora visto come qualcosa che va a percepire un nuovo
aggiornamento.
Questa è una forma di attenzione selettiva o focus dell’attenzione.
Non appena riceve una percezione l’agente la cattura.
Se al momento l’agente è in una situazione di ricevere più
percezioni, prima di continuare con la sua azione primaria, man
mano che percepisce, fa dei test nel mondo.
Quando un agente agisce in modo da raccogliere più percezioni
prima di continuare con la sua azione primaria, si parla di
percezione attiva.
Parte del processo di campionamento serve a determinare la
potenzialità per una azione.
59
Lorenz e Tinbergen pensavano a questo processo come dovuto ad un agente che ha
un insieme di releasers per un certo task e ora si guarda attorno per verificare se essi
ci sono o meno. Se una percezione prevede un’azione l’agente la compie. L’azione
modifica l’ambiente circostante ma questo a sua volta modifica la valutazione della
situazione da parte dell’agente. In qualche maniera il ciclo azione-percezione
sembra sostenere una qualche rassomiglianza superficiale al paradigma gerarchico
SENSE-PLAN-ACT.
Comunque si noti che:
1) non vi è nessun box che contiene ACT
2) il ciclo non richiede la necessità di un planning ad ogni aggiornamento. L’azione
è implicita nell’agente.
L’aspetto interessante di un ciclo è capire a che punto percezione e cognizione
intervengono.
L’agente può sia dover acquisire più percezioni che portare a termine un compito.
Infine un agente può o meno avere la necessità di pianificare un azione ad ogni
aggiornamento.
Cognitive
Activity Directs what
to look for
Perception of
environment
World
Agent acts &
Modifies
World
Agent
finds
Potential ActionsAction-Perception Cycle
60
Due funzioni della percezione
In entrambi i ruoli di releaser e guida per il behaviour, la percezione
filtra gli stimoli che arrivano a seconda del goal da perseguire. Questo
è spesso riportato come percezione action-oriented dai robotici,
quando vogliono distinguere un approccio percettivo dal paradigma
gerarchico globale.
Molti animali hanno sviluppato dei sensori specializzati per i loro
behaviour. Alcune rane che sono accovacciate nell’acqua tutto il
giorno hanno gli occhi rivolti verso l’alto e una retina di divisione in
cui la metà più bassa è buona per vedere in acqua, la metà superiore in
aria.
61
Gibson: Ecological approach
Il dogma centrale dell’approccio di Gibson è:
“il mondo è la migliore rappresentazione di se stesso”.
Il lavoro di Gibson è particolarmente interessante perché
complementa il ruolo della percezione nell’IRM ed è consistente con
il ciclo azione-percezione.
Gibson postulò (e provò) l'esistenza di affordances.
Le affordances sono potenzialità percepibili dell'ambiente per
un'azione.
Per esempio, per un piccolo di rondine artica, il colore rosso è
percepibile e rappresenta il potenziale per l’alimentazione.
62
Quindi una affordance può essere un modo più formale di definire lo
stimolo esterno come IRM.
Ma come gli IRMs, un affordance è solamente un potenziale, non
conta finché tutte le altre condizioni non sono soddisfatte (il piccolo
di rondine ha fame).
Un affordance può essere anche il percetto che guida il behaviour. La
presenza di rosso ad un piccolo di rondine artica affamato rilascia il
behaviour del cibo. Ma il behaviour del cibo consiste nel beccare
l'oggetto rosso. Quindi in questo caso, rosso è anche il percetto che è
usato per guidare l'azione, così come per rilasciarlo.
63
Gibson si riferì al suo lavoro come ad un "approccio ecologico"
perché credeva che la percezione evolvesse per sostenere le azioni, e
che è sciocco tentare di discutere la percezione indipendentemente
dall'ambiente di un agente, e dai suoi comportamenti di
sopravvivenza.
Per esempio, esiste una specie di api (le scavatrici) che preferisce un
tipo speciale di papavero. Per molto tempo, gli scienziati non
riuscivano a capire come le api riconoscessero quel tipo di
papavero perché quando cambiava colore, diveniva indistinguibile
da un altro tipo di papavero che cresceva nella stessa area. Odori,
magnetismo? Niente. Allora guardarono il papavero sotto i raggi UV
e IR e scoprirono che nelle bande non-visibili dell’IR quel tipo di
papavero si distingueva dall'altra specie di papavero.
64
E quindi gli scienziati furono capaci di localizzare nelle api le
componenti retiniche sensibili a quelle bande.
L'ape e il papavero erano co-evoluti, quando il colore del papavero
mutava verso una banda unica, alla stessa maniera la retina
dell'ape si specializzava a rilevare quel colore.
Con una retina "accordata" con il papavero, l'ape non doveva fare
alcun ragionamento su se c'era un papavero in vista, e, in tal caso,
se esso era la specie di papavero giusta. Se quella radiazione IR
era presente allora il papavero era là.
65
I pescatori hanno sfruttato affordances fin dall’antichità.
Un'esca per la pesca tenta di enfatizzare quegli aspetti del cibo
desiderato da un pesce, presentando lo stimolo il più forte possibile: se il
pesce ha fame, lo stimolo dell'esca provocherà il nutrirsi.
In realtà le esche artificiali non sembrano ad un uomo molto simili al
cibo che esse imitano ma ai pesci sì.
Quello che Gibson dice di interessante per i robotici è che un affordance
è direttamente percepibile. Percezione diretta vuole dire che il processo
che sente non richiede memoria, inferenza, o interpretazione. Questo
significa un minimo calcolo che di solito si traduce in un tempo di
esecuzione molto rapido quasi istantaneo su un computer o robot.
66
Ma un agente davvero può percepire qualsiasi cosa di significativo
senza fare uso della memoria, dell'inferenza, o dell'interpretazione?
Bene, certamente i piccoli di rondine artica non hanno bisogno di
memoria o inferenza per ottenere cibo da un genitore. E loro
sicuramente non interpretano il rosso nel senso di: "oh, c'è una
macchia rossa. È un piccolo ovale che è la forma corretta per Mamma
ma quell'altra è quadrata, allora deve essere uno studente di etologia
che tenta di imbrogliarmi."
Per il piccolo di rondine artica , è semplicemente:
rosso = cibo, rosso più grande = meglio.
67
Questo funziona per le creature umane?
Si consideri il camminare per una sala e qualcuno che getta qualche
cosa verso di noi. Noi probabilmente ci abbassiamo. E’ anche
probabile che chiniamo la testa senza riconoscere l'oggetto, anche se
più tardi potremmo verificare che era solo una bolla di sapone.
La risposta è troppo veloce per qualunque ragionamento: "Oh guarda,
qualche cosa sta muovendosi verso me. Deve essere una pietra. Le
pietre sono di solito dure. Io dovrei chinare la testa."
68
Noi probabilmente facciamo ricorso, invece, a un fenomeno così di
base da non accorgercene, chiamato flusso ottico.
Il flusso ottico è un meccanismo neurale per determinare il
movimento. Gli animali possono con esso determinare il tempo di
contatto piuttosto facilmente. Noi probabilmente abbiamo
familiarità con il flusso ottico quando guidiamo una macchina.
Quando guidiamo o stiamo in una macchina, gli oggetti davanti
sembrano essere a fuoco chiaramente mentre il lato della strada è
alquanto indistinto a causa della velocità. Il punto dello spazio dal
quale la macchina si sta muovendo è il fuoco di espansione. Da
questo punto esterno, c'è un effetto di sfocatura. Più è sfocato sui
lati, e più veloce la macchina sta andando. (Questo effetto viene
usato nei film di fantascienza per simulare viaggi più veloci della
luce.)
69
Questo pattern sfocato è noto come campo di flusso (perché può
essere rappresentato da vettori, come un campo gravitazionale o
magnetico).
E' semplice, per una rete neurale, estrarre il tempo di contatto,
rappresentato nella letteratura cognitiva da τ, tra il sistema di
visione e l’oggetto visto in movimento.
70
I gannets (uccelli artici) e i saltatori con l’asta usano entrambi il
flusso ottico per fare movimenti all'ultimo minuto, precisi come
riflessi.
I gannets sono grandi uccelli che si tuffano da grandi altezze verso
un pesce.
Poiché si tuffano da centinaia di metri nell'aria, essi devono usare le
ali come superfici di controllo per dirigere il tuffo verso il pesce
designato come bersaglio. Ma essi cadono a piombo così veloci che
se colpissero l'acqua con le ali aperte le ossa cave si
fracasserebbero.
Il gannets piega le ali poco prima di colpire l'acqua. Il flusso ottico
trasforma il tempo di contatto, τ, in uno stimolo: quando il tempo di
contatto diminuisce sotto una certa soglia, esso piega le ali!
71
I saltatori con l'asta fanno a volte piccole rettifiche su dove piantare
l'asta man mano che si avvicinano alla sbarra. Questa operazione è
alquanto difficile dato che il saltatore con l'asta sta correndo alla
velocità massima. Sembra che i saltatori con l'asta usino il flusso
ottico piuttosto che la ragione (troppo lenta) su quale sia il posto
migliore in cui piantare l'asta.
Il saltatore con l'asta non è l'unico esempio di creatura umana che usa
il flusso ottico, è solo un caso che è stato ben documentato.
72
In molte applicazioni, un programma di computer veloce può
estrarre un affordance. Comunque, questo non è il caso (finora) del
flusso ottico. I meccanismi neurali della retina si sono evoluti in
maniera tale da fare il calcolo molto rapidamente.
Si sa che i ricercatori di computer vision stanno lottando da anni
per duplicare la generazione di un campo di flusso ottico per
un'immagine di una macchina fotografica.
Solo recentemente sono stati introdotti alcuni algoritmi che
funzionano in tempo reale su computer normali. Il punto è che
siamo ancora alquanto lontani dal poter simulare su un computer le
affordances e i sensori specializzati.
73
Le affordances non sono limitate alla visione.
Un affordance comune è quella della conoscenza di quando un
contenitore è riempito quasi fino in cima.
Si pensi al riempimento di una brocca con acqua o al serbatoio di
combustibile di una macchina.
Senza essere capace di vedere la cavità, una persona sa, quando il
serbatoio è quasi pieno dal cambio del suono. Il cambio del suono è
direttamente percepibile; la persona non ha bisogno di conoscere
quale sia la taglia o la forma del volume che è riempito o anche
quale sia il liquido.
74
Una applicazione particolarmente affascinante di affordances in
robotica, che serve anche ad illustrare che cosa sia un affordance, è la
ricerca di Louise Stark e Kevin Bowyer.
Un problema apparentemente insormontabile in computer vision è
riconoscere un oggetto in un’immagine. Letteralmente, il computer
dovrebbe dire, "quella è una sedia" se è l’immagine di una sedia.
Un modo tradizionale di avvicinarsi al problema è stato quello di usare
modelli strutturali. Un modello strutturale tenta di descrivere un
oggetto in termini di componenti fisici: "Una sedia ha quattro gambe,
un piano, ed uno schienale."
Ma non per tutte le sedie va bene lo stesso modello strutturale. Una
sedia per dattilografa ha solo una gamba, con un appoggio al fondo.
Canestri appesi non hanno affatto gambe. Una panca non ha uno
schienale.
75
76
Di qui si capisce chiaramente che l'approccio strutturale ha il
problema che il computer deve avere accesso a molti modelli diversi.
Ai modelli strutturali manca anche la flessibilità. Se al robot è
presentato un genere nuovo di sedia (per esempio un water che
sembra una sedia o un secchio dell'immondizia rovesciato), il robot
non è capace di riconoscerlo senza che qualcuno non costruisca
esplicitamente un altro modello strutturale.
Stark e Bowyer esplorarono un'alternativa all'approccio strutturale
chiamato GRUFF.
GRUFF identifica le sedie sulla base della funzione piuttosto che
della forma.
77
Per la percezione Gibsoniana, una sedia dovrebbe essere una sedia
perché ci permette di sedere, o soddisfa la funzione del sedersi.
E queste affordance di sedibilità dovrebbero essere caratteristiche
che possono essere estratte da un'immagine purchè siano:
•Senza memoria (l'agente non ha bisogno di memorizzare tutte le
sedie del mondo).
•Senza inferenza (il robot non ha bisogno di ragionare: "se ha 4
gambe, ed un piano ed uno schienale, allora è una sedia; noi siamo
in un'area che dovrebbe avere molte sedie, così questo aumenta la
probabilità che sia una sedia").
•Senza un'interpretazione dell'immagine (il robot non ha bisogno di
ragionare: c'è un pezzo di bracciolo, ed un cuscino,... ").
•Un computer dovrebbe essere solo capace di guardare
un’immagine e dire se c’è qualche cosa in quella immagine su cui è
possibile sedersi o non.
78
Stark e Bowyer rappresentano la sedibilità come una superficie
continua a un ragionevole livello da terra che abbia almeno la taglia
del sedere di una persona a un'altezza pari a quella delle ginocchia.
(Qualunque cosa utilizzabile come appoggio serve a specificare un
tipo di sedia.)
Stark e Bowyer scrissero un programma di computer che accettava
disegni CAD/CAM di studenti che tentarono di mettere giù cose
non-intuitive che potessero servire come sedie (come water, cesti
capovolti, secchi per l'immondizia). Il programma di computer era
capace di identificare correttamente superfici sedibili che erano
sfuggite anche agli studenti.
79
Bisogna osservare che Stark e Bowyer erano esitanti nel fare
dichiarazioni circa quello che questo ci dice sulla percezione
Gibsoniana.
L'algoritmo di computer vision può comunque essere accusato di
fare delle inferenze ed interpretazioni ("quello è il sedile, quella è
l'altezza corretta"). Ma d'altra parte questo livello di inferenza ed
interpretazione è significativamente diverso che quello utilizzato nel
tentare di determinare la struttura delle gambe, ecc. e la relazione tra
taglia del sedile ed altezza potrebbe essere rappresentata in una rete
neurale speciale che potrebbe essere evocata ogni qualvolta il robot
o l'animale sono stanchi e vogliono sedersi.
Il robot comincerebbe a osservare che potrebbe sedersi su una
sporgenza o una grande pietra se una sedia o una panca non fossero
nei dintorni.
80
Neisser: due sistemi percettivi
A questo punto, l'idea delle affordances dovrebbe sembrare
ragionevole. Una sedia è una sedia perché permette di sedersi. Ma
cosa accade quando qualcuno siede sulla nostra sedia? Sembrerebbe
che le creature umane hanno dei meccanismi per riconoscere
specifici esempi di oggetti.
Riconoscimento certamente comporta memoria (la "mia macchina è
una Panda blu ed io l'ho parcheggiata nel cortile sotto l’albero questa
mattina").
Altri compiti, come il tipo di investigazione che Sherlock Holmes fa,
possono richiedere inferenze ed interpretazioni.
Immaginarsi di tentare di duplicare Sherlock Holmes in un computer
è alquanto diverso dell'imitare un piccolo di rondine artica affamato .
81
Quindi, mentre le affordances certamente sono un modo potente di
descrivere la percezione negli animali, non sono chiaramente gli
unici modi con cui gli animali percepiscono.
Neisser postulò che ci sono due sistemi percettivi nel cervello (e cita
dati di tipo neurofisiologico):
1 - percezione diretta. Questa è la parte del cervello "Gibsoniana", o
ecologica e consiste di strutture basse del cervello che si sono
evolute nel passato e danno conto delle affordances.
2 - il riconoscimento. Questo è la parte percettiva più recente del
cervello che si collega al problem solving e alle altre attività
cognitive.
82
Questa parte tiene conto dell'uso di modelli interni per distinguere
la "tua tazza" di caffè dalla "mia tazza" di caffè.
Qui è dove si hanno modelli percettivi del tipo top-down.
Da un punto di vista pratico, la dicotomia di Neisser suggerisce,
che la prima decisione nel progettare un behaviour è determinare
se un behaviour può essere portato a termine con un affordance o è
richiesto un riconoscimento.
Se può essere portato a termine con un affordance, ci può essere
poi un modo semplice e corretto di programmarlo in un robot;
altrimenti, dovremo usare un algoritmo percettivo più sofisticato.
83
Schema Theory
Lo Schema Theory offre un modo utile di gettare uno sguardo su
una configurazione di programmazione orientata agli oggetti.
Gli psicologi usano lo Schema Theory sin dai primi del 1900. Esso
fu portato per la prima volta all'attenzione dei robotici di AI da
Michael Arbib quando era all'Università di Massachusetts, e più
tardi è stato usato estensivamente da Arkin e Murphy (1990) per i
robot mobili, Lyons ed Iberall (1984) per la manipolazione, e
Draper et al. (1989) per la visione.
84
Lo Schema fu concepito dagli psicologi come un modo di
esprimere l'unità di base dell'attività.
Uno schema consiste
• della conoscenza di come agire e/o percepire (conoscenza,
strutture dati, modelli)
• dei processi computazionali dai quali viene usata per portare a
termine l'attività (l'algoritmo).
L'idea di un schema corrisponde esattamente al concetto della
classe nella programmazione orientata agli oggetti (OOP).
Una classe schema in C++ o Java può contenere sia dati
(conoscenza, modelli, releasers) sia metodi (algoritmi per percepire
ed agire).
85
Schema:
Dati
Metodi
Uno schema è una modalità generica per fare un'attività, come andare
in bicicletta.
È una modalità perché una persona può andare su biciclette diverse
senza ricominciare ogni volta il processo di apprendimento.
Dopo che uno schema è parametrizzato come una classe, i parametri
(tipo di bicicletta, altezza del sellino, posizione del manubrio)
possono essere forniti all'oggetto al momento dell'instanziazione
(quando un oggetto è creato dalla classe).
Come con la programmazione orientata agli oggetti, la creazione di
uno specifico schema è detto una istanziazione dello schema.
86
L’instanziazione dello schema è l'oggetto che è costruito con quei
parametri di cui si ha bisogno per adeguarlo alla situazione.
Per esempio, lo schema del mangiare, potrebbe consistere in una
mossa a seguito della quale l'agente si dirige secondo una linea
diretta verso il cibo .
Si noti che il "si dirige secondo una linea diretta " è una modalità
dell'attività, ed un algoritmo riutilizzabile per il controllo del
movimento.
Comunque, è solo un metodo e fino a che lo schema
muovi_verso_il_cibo
non è istanziato, non c'è nessuna specifica meta a cui dirigersi, per
esempio, il vassoio di dolciumi sulla tavola.
Lo stesso schema potrebbe essere instanziato per muoversi verso un
panino.
87
Behaviours e Schema Theory
Nella applicazione fatta da Arbib dello schema theory verso una
teoria computazionale dell'intelligenza, un behaviour è uno schema
che è composto da un schema motorio ed uno schema percettivo.
Lo schema motorio rappresenta la modalità per l'attività fisica;
lo schema percettivo incarna il sentire.
Lo schema motorio e lo schema percettivo sono come pezzi di un
puzzle; entrambi i pezzi devono essere messi insieme prima di avere
un behaviour.
Sensory
Input
BEHAVIOR
Pattern
of Motor
Action
Schema
motorio
Schema
percettivo
Releaser
88
Essenzialmente, il concetto di schema motorio e percettivo coincide
con quelli proposti dall'etologia e dalla psicologia cognitiva come
segue:
•Un behaviour riceve input sensori e produce azioni motorie come
output.
•Un behaviour può essere rappresentato come un schema che
essenzialmente è un costrutto di programmazione a oggetti (OOP).
•Un behaviour è attivato da releasers.
•La trasformazione di input sensori in output di azioni motorie può
essere divisa in due sotto-processi:
uno schema percettivo ed uno schema motorio.
89
behaviour:: Schema
Data
Metodi perceptual_schema(),
motor_schema()
In termini di OOP, le classi di schema motorio e schema percettivo
sono derivate dalla classe schema.
Un behaviour primitivo ha solo uno schema motorio ed uno
percettivo.
90
Ricordando l'IRMs, behaviour più sofisticati possono essere costruiti
ordinando in sequenza i behaviour. Nel caso di una sequenza di
behaviour, il behaviour complessivo potrebbe essere rappresentato in
due modi.
Un modo è considerare il behaviour come composto da molti
behaviour primitivi, con la logica del releasing che serve come
conoscenza di quando attivare ciascuno dei behaviour primitivi.
Questo probabilmente è il modo più facile di esprimere un behaviour
"meta.”
Un behaviour composto di tre behaviour può essere pensato come:
behaviour:: Schema
Data releaser1
releaser2
releaser3
Metodi IRM_logic()
behaviour1()
behaviour2()
behaviour3()
91
In applicazioni più avanzate, l'agente può avere comunque la
possibilità di scegliere quale schema percettivo o motorio utilizzare
per il suo behaviour
Per esempio, una persona di solito usa la visione (schema percettivo
predefinito) per uscire da una stanza (schema motorio).
Ma se la luce è spenta, la persona può usare il tatto (uno schema
percettivo alternativo) per cercare l’uscita da una stanza buia.
In questo caso, lo specifico schema per la conoscenza è sapere quale
schema percettivo adoperare per condizioni ambientali diverse.
Lo Schema Theory è abbastanza espressivo per rappresentare
concetti di base come IRMs, in più permette la costruzione di nuovi
behaviour a partire da componenti primitive.
Trova uscita Segui muro
92
Questo modo alternativo di creare un comportamento scegliendo
tra schemi alternativi percettivi e motori può essere pensato come:
Data Environmental_state
Metodi choose_PS(environmental_state)
perceptual_schema_1()
perceptual_schema_2()
motor_schema()
93
Arbib e colleghi simularono al computer modelli di behaviour
ispirandosi alla visione nelle rane e nei rospi.
Essi usarono lo schema theory per rappresentare il behaviour del
rospo in termini computazionali e chiamarono il loro modello rana
computatrix (rana è la classificazione per rospi e rane).
Il modello dava conto delle osservazioni di Ingle rispetto a quello che
accade quando un rospo vede due mosche contemporanemente.
Rospi e rane possono essere caratterizzati come soggetti che
rispondono visualmente sia a piccoli che a grandi oggetti che si
muovono.
Gli oggetti piccoli in movimento rilasciano il behaviour del nutrirsi,
e il rospo si gira verso l'oggetto (taxis) e poi scatta su di esso. (Se
l'oggetto risulta non essere una mosca, il rospo può sputarlo fuori.)
I grandi oggetti in movimento rilasciano il comportamento della
fuga, spingendo il rospo ad andare via.
94
Il behaviour del nutrirsi può essere modificato come uno schema
comportamentale, o modalità come mostrato sotto.
Sensory
Input
Pattern
of Motor
Action
Releaser
appearance of
small moving object
Toad’s legs
Feeding Behavior
Toad’s vision
Perceptual
Schema
Get coordinates
of small, moving
object
Motor
Schema
Turn to coordinates
of small, moving
object
95
Quando il rospo vede una mosca, una istanza del behaviour è
instanziata; il rospo si gira verso quell’oggetto e scatta verso di lui.
Il gruppo di Arbib andò ad un livello successivo circa la
computational theory.
Essi implementarono il taxis behaviour come un campo vettoriale:
la rana computatrix letteralmente sentiva una forza attrattiva in
direzione della mosca.
Questa direzione e intensità (la magnitudo) furono rappresentate
come un vettore. La direzione indicava dove la rana doveva girare e
la magnitudo indicava la forza con la quale afferrare.
96
97
Quello che è particolarmente interessante è che il programma della
rana computatrix predice quello che Ingle vide nei rospi e rane veri
quando a loro erano presentate simultaneamente due mosche.
In questo caso, ogni mosca induce una istanza separata del
behaviour di nutrirsi. Ogni behaviour produce il vettore per il
quale il rospo ha bisogno di girarsi per afferrare la mosca, senza
sapere che esiste l'altro behaviour. Secondo l'implementazione del
vettore di campo dello schema del modello, il rospo ora riceve due
vettori, invece di uno.
Cosa fare? Bene, la rana computatrix somma i due vettori, dando
luogo ad un terzo vettore! Il rospo non afferra nessuna mosca, ma
si gira al centro delle due.
L'interazione inaspettata delle due istanze indipendenti non è
probabilmente un grande svantaggio per un rospo, perché se ci
sono due mosche in giro, probabilmente una di loro ritornerà
indietro.
98
99
Questo esempio fornisce alcune importanti lezioni per la robotica.
In primo luogo, conferma l'idea di una teoria computazionale, si
ricordi Marr, in cui le funzionalità in un animale e quelle elaborate
da un computer possono essere equivalenti.
Il concetto di behaviour è il Livello 1 della teoria computazionale ,
lo schema theory (specialmente gli schemi percettivi e motori)
rappresentano il Livello 2,
il Livello 3 è l'implementazione del vettore di campo dell'azione
motoria.
L'esempio mostra la proprietà dei behaviour emergenti, dove l'agente
sembra fare qualche cosa di abbastanza complesso, ma è in realtà
solo il risultato della interazione tra moduli semplici.
L'esempio mostra anche come i behaviour rispondono ai principi
della programmazione a oggetti.
100
Un altro aspetto interessante dello schema theory è che supporta il
behaviour riflessivo.
Ricordiamo che nei behaviour riflessivi la forza della risposta è
proporzionale alla forza dello stimolo.
Nello schema theory, allo schema percettivo è permesso di passare,
allo schema motorio, sia il percetto che un guadagno.
Gli schemi motori possono usare il guadagno per calcolare la
magnitudo dell'azione di output.
Questo è un esempio di come un particolare schema può essere
confezionato per un behaviour.
101
Lo Schema theory non specifica come l'output di behaviour
concorrenti sono combinati; quello è un problema di Livello 3, o
della implementazione.
Esempi precedenti hanno mostrato che in alcune circostanze l'output
è combinato o sommato, in altri i behaviour normalmente avvengono
in sequenza e non in sovrapposizione, e qualche volta c’è anche un
effetto tipo il vincitore-prende-tutto .
L'effetto del vincitore-prende-tutto è un tipo di inibizione, in cui un
behaviour interdice l'instanziazione di un altro behaviour.
102
Arbib e colleghi hanno anche modellato un'istanza dell'inibizione
nelle rane e nei rospi.
Ritornando all'esempio di alimentarsi e fuggire, un possibile modo
di modellare questo behaviour è con due behaviour.
Il behaviour alimentarsi consisterebbe di uno schema motorio per
muoversi verso un oggetto, e uno schema percettivo per cercare
piccoli oggetti in movimento.
Il behaviour di fuga sarebbe simile ma con uno schema motorio per
allontanarsi dalla percezione di grandi oggetti in movimento.
103
Studi sulle lesioni cerebrali nelle rane mostrarono qualche cosa di
diverso.
Il behaviour di alimentazione in realtà consiste nel muoversi verso
qualunque oggetto in movimento. Quindi lo schema percettivo è
più generale che anticipato. La rana tenterebbe di mangiare
qualsiasi cosa, incluso i predatori.
Lo schema percettivo nel behaviour di fuga rileva grandi oggetti in
movimento.
Esso fugge da loro, ma interdice anche lo schema percettivo
dell'alimentazione. Di conseguenza, l'inibizione non permette alla
rana di tentare sia di fuggire dai predatori sia di mangiarli.
104
Principi e problemi nel trasferire i suggerimenti ai Robots
Riassumere dei principi generali di intelligenza naturale può essere
utile per programmare robot:
• I programmi dovrebbero decomporre azioni complesse in behaviour
indipendenti che strettamente accoppiano percezione e azione.
I behaviour sono intrinsecamente paralleli e distribuiti.
• Per semplificare il controllo e la coordinazione dei behaviour, un
agente dovrebbe contare su un corretto meccanismo di attivazione
booleana (e.g. IRM).
• Per semplificare la percezione questa dovrebbe filtrare i percetti e
dovrebbe considerare quello che è importante per il behaviour
(percezione action-oriented).
105
•La percezione diretta (l'affordances) riduce la complessità
computazionale del percepire e permette alle azioni di esplicarsi senza
memoria, inferenze, o interpretazioni.
•I behaviour sono indipendenti, ma l'output di ciascuno
1) può essere combinato con un altro per produrre un output
risultante, (cooperazione)
2) può servire ad inibire un altro (competizione).
106
Sfortunatamente, lo studio della intelligenza naturale non dà un
quadro completo di come essa lavori. In particolare ci sono molti
problemi irrisolti:
•Come risolvere i conflitti tra behaviour concomitanti?
I robot saranno costretti a svolgere compiti concomitanti; per
esempio, un robot per il salvataggio inviato per evacuare un
edificio dovrà attraversare corridoi mentre cerca stanze per vedere
se ci sono persone, così come cerca segnali di presenza di fuoco che
si propaga. Dovrebbe il progettista specificare i behaviour
dominanti? Combinarli? Lasciare che i behaviour contraddittori si
annullino e i behaviour alternativi emergano? Effettivamente, una
delle più grandi differenze nelle architetture dei robot è come loro
trattano i behaviour concomitanti.
107
•Quando sono necessarie rappresentazioni della conoscenza
esplicite e la memoria?
La percezione diretta è meravigliosa in teoria, ma un progettista
può essere sicuro che un affordance non è stato perso?
•Come mettere su o imparare sequenze nuove di behaviour?
L'apprendimento sembra essere una componente fondamentale per
la generazione di behaviour complessi in animali avanzati.
108
La letteratura etologica e cognitiva è incerta sui meccanismi di
apprendimento. È anche importante ricordare che l'intelligenza
naturale non si sovrappone perfettamente alle necessità e alla
realtà della programmazione dei robot.
Un vantaggio notevole che l'intelligenza animale ha
sull'intelligenza robotica è l'evoluzione.
Gli animali sono evoluti in un modo che porta alla sopravvivenza
della specie.
109
I robot invece sono costosi e solamente un piccolo numero ne viene
costruito periodicamente.
Perciò, sono i singoli robot che devono sopravvivere, non la specie.
Questo mette una pressione tremenda sui progettisti di robot per
determinare da subito il progetto giusto. La mancanza di possibilità
evolutive su lunghi periodi di tempo rende i robot estremamente
vulnerabili poiché si introducono errori dovuti ad una carente
comprensione dell'ecologia del robot.
110
Ricordiamo il caso di studio di un robot che era programmato per
seguire linee bianche in una competizione segui-il-percorso
usando l'affordance del bianco. Fu distratto lungo la strada dalle
scarpe bianche di un giudice. Fortunatamente quel difetto di
progettazione fu compensato quando il robot ritornò indietro sul
percorso reagendo ad una fila di denti di leone bianchi presenti nel
prato dove avveniva la gara.
111
I robot presentano altre sfide che non sono così critiche negli
animali. Uno degli attributi più problematici del Paradigma Reattivo
è che i robotici non hanno un vero meccanismo per predire
completamente i behaviour emergenti.
Siccome uno psicologo non può predire con certezza perfetta quello
che una creatura umana farà sotto una situazione stressante, sembra
ragionevole che un robotico che usa principi dell'intelligenza umana
non sia capace di predire quello che un robot dovrebbe fare in
situazioni analoghe.
Comunque, utenti finali di prodotti di robotica (militari, Nasa,
industria nucleare) sono riluttanti ad accettare robot senza una
garanzia di quello che faranno in situazioni critiche.
Lezione 4

More Related Content

Viewers also liked

Serie Win2000
Serie Win2000Serie Win2000
Serie Win2000Wenceslao
 
Cuento expresion liliana ardila
Cuento expresion liliana ardilaCuento expresion liliana ardila
Cuento expresion liliana ardilalilianaardila7
 
La mecanica y su aplicacion
La mecanica y su aplicacionLa mecanica y su aplicacion
La mecanica y su aplicacionJOYSSS
 
Product of the_week
Product of the_weekProduct of the_week
Product of the_weekAngara
 
Cf presentation by muhammad saad salman
Cf presentation by muhammad saad salmanCf presentation by muhammad saad salman
Cf presentation by muhammad saad salmanMuhammad Saad Salman
 
10 personajes historicos de la computacion
10 personajes historicos de la computacion10 personajes historicos de la computacion
10 personajes historicos de la computacionEzmee XD
 
Flyer concurso ideas emprendedoras
Flyer concurso ideas emprendedorasFlyer concurso ideas emprendedoras
Flyer concurso ideas emprendedorasPatricia Santateresa
 
Hoja de vida josé sánchez 15 03-2013
Hoja de vida josé sánchez 15 03-2013Hoja de vida josé sánchez 15 03-2013
Hoja de vida josé sánchez 15 03-2013jsanchezs
 
la historia del futbol
la historia del futbolla historia del futbol
la historia del futboljames trawick
 
Indicadores de logros 2do periodo
Indicadores de logros 2do periodoIndicadores de logros 2do periodo
Indicadores de logros 2do periodoMichelle1112
 

Viewers also liked (16)

Redes
Redes Redes
Redes
 
Serie Win2000
Serie Win2000Serie Win2000
Serie Win2000
 
Cuento expresion liliana ardila
Cuento expresion liliana ardilaCuento expresion liliana ardila
Cuento expresion liliana ardila
 
La mecanica y su aplicacion
La mecanica y su aplicacionLa mecanica y su aplicacion
La mecanica y su aplicacion
 
Product of the_week
Product of the_weekProduct of the_week
Product of the_week
 
Primer avance
Primer avancePrimer avance
Primer avance
 
Cf presentation by muhammad saad salman
Cf presentation by muhammad saad salmanCf presentation by muhammad saad salman
Cf presentation by muhammad saad salman
 
10 personajes historicos de la computacion
10 personajes historicos de la computacion10 personajes historicos de la computacion
10 personajes historicos de la computacion
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Flyer concurso ideas emprendedoras
Flyer concurso ideas emprendedorasFlyer concurso ideas emprendedoras
Flyer concurso ideas emprendedoras
 
Hoja de vida josé sánchez 15 03-2013
Hoja de vida josé sánchez 15 03-2013Hoja de vida josé sánchez 15 03-2013
Hoja de vida josé sánchez 15 03-2013
 
Loave fishes 110913
Loave fishes 110913Loave fishes 110913
Loave fishes 110913
 
la historia del futbol
la historia del futbolla historia del futbol
la historia del futbol
 
Privacidad de facebook
Privacidad de facebookPrivacidad de facebook
Privacidad de facebook
 
Indicadores de logros 2do periodo
Indicadores de logros 2do periodoIndicadores de logros 2do periodo
Indicadores de logros 2do periodo
 
Seguridad De Sistemas Informaticos
Seguridad De Sistemas InformaticosSeguridad De Sistemas Informaticos
Seguridad De Sistemas Informaticos
 

Similar to Lezione 3

Vecchi problemi filosofici per la nuova intelligenza artificiale
Vecchi problemi filosofici per la nuova intelligenza artificialeVecchi problemi filosofici per la nuova intelligenza artificiale
Vecchi problemi filosofici per la nuova intelligenza artificialeFausto Intilla
 
Dall'immagine alla realtà virtuale
Dall'immagine alla realtà virtualeDall'immagine alla realtà virtuale
Dall'immagine alla realtà virtualeRiva Giuseppe
 
Machine learning concetti di base
Machine learning   concetti di baseMachine learning   concetti di base
Machine learning concetti di baseMario Gentili
 
Prodotto Finale Inquiry 4 CR.pdf
Prodotto Finale Inquiry 4 CR.pdfProdotto Finale Inquiry 4 CR.pdf
Prodotto Finale Inquiry 4 CR.pdfFiveMinutesOfGame
 
Lezione sui Nuovi Media - Ricreare la Comunicazione - di Stefano Triberti
Lezione sui Nuovi Media - Ricreare la Comunicazione -  di Stefano TribertiLezione sui Nuovi Media - Ricreare la Comunicazione -  di Stefano Triberti
Lezione sui Nuovi Media - Ricreare la Comunicazione - di Stefano TribertiRiva Giuseppe
 
Semplice Complicato Complesso
Semplice Complicato ComplessoSemplice Complicato Complesso
Semplice Complicato ComplessoValerio Eletti
 
Formazione esperienziale: Il cognitivismo
Formazione esperienziale: Il cognitivismoFormazione esperienziale: Il cognitivismo
Formazione esperienziale: Il cognitivismoSmartBiz Consulting
 
Seminario robotica ia
Seminario robotica iaSeminario robotica ia
Seminario robotica iaMarco Buttolo
 
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​DANIELCOSTANTINO6
 
DAL COGNITIVISMO ALLA ROBOTICA: LA TEORIA DELLA MENTE NELL’INTERAZIONE UOMO-R...
DAL COGNITIVISMO ALLA ROBOTICA: LA TEORIA DELLA MENTE NELL’INTERAZIONE UOMO-R...DAL COGNITIVISMO ALLA ROBOTICA: LA TEORIA DELLA MENTE NELL’INTERAZIONE UOMO-R...
DAL COGNITIVISMO ALLA ROBOTICA: LA TEORIA DELLA MENTE NELL’INTERAZIONE UOMO-R...Claudio Lombardo
 
Cognitivismo n
Cognitivismo nCognitivismo n
Cognitivismo nimartini
 
Cognitivismo m
Cognitivismo mCognitivismo m
Cognitivismo mimartini
 
Cognitivismo
CognitivismoCognitivismo
Cognitivismoimartini
 
Panella dall azione_alla_comunicazione n
Panella dall azione_alla_comunicazione nPanella dall azione_alla_comunicazione n
Panella dall azione_alla_comunicazione nimartini
 
Panella dall azione alla comunicazione
Panella dall azione alla comunicazionePanella dall azione alla comunicazione
Panella dall azione alla comunicazioneimartini
 
dall' azione alla comunicazione
 dall' azione alla comunicazione dall' azione alla comunicazione
dall' azione alla comunicazioneimartini
 
Panella dall azione_alla_comunicazione
Panella dall azione_alla_comunicazionePanella dall azione_alla_comunicazione
Panella dall azione_alla_comunicazioneimartini
 
La psicologiacognitiva
La psicologiacognitivaLa psicologiacognitiva
La psicologiacognitivaiva martini
 
Ia robert del balzo
Ia robert del balzoIa robert del balzo
Ia robert del balzoLuca Farnese
 
Psicologia e socialita'
Psicologia e socialita'Psicologia e socialita'
Psicologia e socialita'imartini
 

Similar to Lezione 3 (20)

Vecchi problemi filosofici per la nuova intelligenza artificiale
Vecchi problemi filosofici per la nuova intelligenza artificialeVecchi problemi filosofici per la nuova intelligenza artificiale
Vecchi problemi filosofici per la nuova intelligenza artificiale
 
Dall'immagine alla realtà virtuale
Dall'immagine alla realtà virtualeDall'immagine alla realtà virtuale
Dall'immagine alla realtà virtuale
 
Machine learning concetti di base
Machine learning   concetti di baseMachine learning   concetti di base
Machine learning concetti di base
 
Prodotto Finale Inquiry 4 CR.pdf
Prodotto Finale Inquiry 4 CR.pdfProdotto Finale Inquiry 4 CR.pdf
Prodotto Finale Inquiry 4 CR.pdf
 
Lezione sui Nuovi Media - Ricreare la Comunicazione - di Stefano Triberti
Lezione sui Nuovi Media - Ricreare la Comunicazione -  di Stefano TribertiLezione sui Nuovi Media - Ricreare la Comunicazione -  di Stefano Triberti
Lezione sui Nuovi Media - Ricreare la Comunicazione - di Stefano Triberti
 
Semplice Complicato Complesso
Semplice Complicato ComplessoSemplice Complicato Complesso
Semplice Complicato Complesso
 
Formazione esperienziale: Il cognitivismo
Formazione esperienziale: Il cognitivismoFormazione esperienziale: Il cognitivismo
Formazione esperienziale: Il cognitivismo
 
Seminario robotica ia
Seminario robotica iaSeminario robotica ia
Seminario robotica ia
 
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
 
DAL COGNITIVISMO ALLA ROBOTICA: LA TEORIA DELLA MENTE NELL’INTERAZIONE UOMO-R...
DAL COGNITIVISMO ALLA ROBOTICA: LA TEORIA DELLA MENTE NELL’INTERAZIONE UOMO-R...DAL COGNITIVISMO ALLA ROBOTICA: LA TEORIA DELLA MENTE NELL’INTERAZIONE UOMO-R...
DAL COGNITIVISMO ALLA ROBOTICA: LA TEORIA DELLA MENTE NELL’INTERAZIONE UOMO-R...
 
Cognitivismo n
Cognitivismo nCognitivismo n
Cognitivismo n
 
Cognitivismo m
Cognitivismo mCognitivismo m
Cognitivismo m
 
Cognitivismo
CognitivismoCognitivismo
Cognitivismo
 
Panella dall azione_alla_comunicazione n
Panella dall azione_alla_comunicazione nPanella dall azione_alla_comunicazione n
Panella dall azione_alla_comunicazione n
 
Panella dall azione alla comunicazione
Panella dall azione alla comunicazionePanella dall azione alla comunicazione
Panella dall azione alla comunicazione
 
dall' azione alla comunicazione
 dall' azione alla comunicazione dall' azione alla comunicazione
dall' azione alla comunicazione
 
Panella dall azione_alla_comunicazione
Panella dall azione_alla_comunicazionePanella dall azione_alla_comunicazione
Panella dall azione_alla_comunicazione
 
La psicologiacognitiva
La psicologiacognitivaLa psicologiacognitiva
La psicologiacognitiva
 
Ia robert del balzo
Ia robert del balzoIa robert del balzo
Ia robert del balzo
 
Psicologia e socialita'
Psicologia e socialita'Psicologia e socialita'
Psicologia e socialita'
 

More from imartini

2 parliamo e discutiamo del bullismo
2 parliamo e discutiamo del bullismo2 parliamo e discutiamo del bullismo
2 parliamo e discutiamo del bullismoimartini
 
Scheda bambino
Scheda bambinoScheda bambino
Scheda bambinoimartini
 
Subitizing
SubitizingSubitizing
Subitizingimartini
 
intelligenza emotiva
intelligenza emotivaintelligenza emotiva
intelligenza emotivaimartini
 
Il quaderno delle_regole_di_matematica
Il quaderno delle_regole_di_matematicaIl quaderno delle_regole_di_matematica
Il quaderno delle_regole_di_matematicaimartini
 
comunicazione_non_verbale
 comunicazione_non_verbale comunicazione_non_verbale
comunicazione_non_verbaleimartini
 
osservazione fattoei di rischio dsa
osservazione fattoei  di rischio dsaosservazione fattoei  di rischio dsa
osservazione fattoei di rischio dsaimartini
 
Prerequisiti
Prerequisiti Prerequisiti
Prerequisiti imartini
 
Per sito-prerequisiti-letto-scrittura
Per sito-prerequisiti-letto-scrittura Per sito-prerequisiti-letto-scrittura
Per sito-prerequisiti-letto-scrittura imartini
 
Dispensa dsa
Dispensa  dsaDispensa  dsa
Dispensa dsaimartini
 
Dentro ai dsa n
Dentro ai dsa nDentro ai dsa n
Dentro ai dsa nimartini
 
stili di apprendimento
stili di apprendimentostili di apprendimento
stili di apprendimentoimartini
 
Dsa fasce eta
Dsa  fasce etaDsa  fasce eta
Dsa fasce etaimartini
 
Sviluppo percettivomotorio
Sviluppo percettivomotorio Sviluppo percettivomotorio
Sviluppo percettivomotorio imartini
 
prerequisiti della scrittura
prerequisiti della scritturaprerequisiti della scrittura
prerequisiti della scritturaimartini
 

More from imartini (20)

2 parliamo e discutiamo del bullismo
2 parliamo e discutiamo del bullismo2 parliamo e discutiamo del bullismo
2 parliamo e discutiamo del bullismo
 
Scheda bambino
Scheda bambinoScheda bambino
Scheda bambino
 
Subitizing
SubitizingSubitizing
Subitizing
 
intelligenza emotiva
intelligenza emotivaintelligenza emotiva
intelligenza emotiva
 
Il quaderno delle_regole_di_matematica
Il quaderno delle_regole_di_matematicaIl quaderno delle_regole_di_matematica
Il quaderno delle_regole_di_matematica
 
comunicazione_non_verbale
 comunicazione_non_verbale comunicazione_non_verbale
comunicazione_non_verbale
 
Adhd u
Adhd uAdhd u
Adhd u
 
DSA
DSADSA
DSA
 
osservazione fattoei di rischio dsa
osservazione fattoei  di rischio dsaosservazione fattoei  di rischio dsa
osservazione fattoei di rischio dsa
 
Prerequisiti
Prerequisiti Prerequisiti
Prerequisiti
 
Per sito-prerequisiti-letto-scrittura
Per sito-prerequisiti-letto-scrittura Per sito-prerequisiti-letto-scrittura
Per sito-prerequisiti-letto-scrittura
 
scrittura
scritturascrittura
scrittura
 
Dispensa dsa
Dispensa  dsaDispensa  dsa
Dispensa dsa
 
Dentro ai dsa n
Dentro ai dsa nDentro ai dsa n
Dentro ai dsa n
 
dislessia
dislessiadislessia
dislessia
 
stili di apprendimento
stili di apprendimentostili di apprendimento
stili di apprendimento
 
DSA
DSADSA
DSA
 
Dsa fasce eta
Dsa  fasce etaDsa  fasce eta
Dsa fasce eta
 
Sviluppo percettivomotorio
Sviluppo percettivomotorio Sviluppo percettivomotorio
Sviluppo percettivomotorio
 
prerequisiti della scrittura
prerequisiti della scritturaprerequisiti della scrittura
prerequisiti della scrittura
 

Lezione 3

  • 1. 1
  • 2. 2 Una definizione approssimata di intelligenza è che essa può essere attribuita a un qualunque sistema (biologico o artificiale) che ha la capacità di migliorare la sua probabilità di sopravvivere nel mondo reale in cui è capace di competere o cooperare con altri agenti. Questo è un primo motivo per cui è interessante studiare il comportamento animale a fini robotici, essendo gli animali intelligenti nell’accezione sopra detta. Inoltre la stessa esistenza degli animali implica che almeno questa forma di intelligenza è raggiungibile. Infine lo studio del comportamento animale può portare alla costruzione di modelli utili per i robotici.
  • 3. 3 E’ per questo motivo che discipline che interessano i robotici sono: • L’etologia che può fornire indicazioni sulla individuazione di comportamenti elementari e sulla loro aggregazione logica e temporale finalizzata al perseguimento di determinati scopi. • La psicologia che può fornire meccanismi di modellazione del rapporto percezione/azione che è di grande rilevanza per la progettazione di un Sistema Robotico. • La neurobiologia che può darci strumenti per studiare i meccanismi dell’elaborazione parallela delle informazioni presenti (sensoriali o inferite) e modelli per il riconoscimento e classificazione di pattern della natura più diversa (sensoriali, proattivi, …). Tralasciamo in questa sede gli aspetti di Neuroscienza in parte trattati nei corsi di reti neurali, mente e macchina e neurobiologia. Mostreremo invece alcuni aspetti dell’etologia e della psicologia.
  • 4. 4 L’aspetto fondamentale di questi studi fu che un comportamento animale è innescato da una qualche percezione che l’animale riceve alla quale fanno seguito uno o più behaviour in cascata. Per quanto riguarda gli aspetti di psicologia ci rifacciamo ai lavori di Neisser U. (1976) e di Gibson (1979). In particolare quest’ultimo rifiutando il world model introdusse il concetto di affordance o percezione diretta mentre Neisser mostrò quando, per la robotica, è opportuno un modello piuttosto che un altro. •Lorenz K. (1967). L’anello di Re Salomone, Adelphi, (ed. originale 1952). •Tinbergen N. (1953). The herring gull's world, Collins, London. •Neisser U. (1976), Cognition and reality: principles and impications of cognitive psychology, W.H. Freeman, San Francisco •Gibson J.J. (1979), The ecologica Approach to visual perception, Houghton Mifflin, Boston MA Per avere un’idea dei risultati raggiunti in etologia partiamo da quelli che sono stati gli studi di Lorentz e Tinbergen che introdussero il concetto di behaviour animale e quello di IRM (Innate Releasing Mechanism).
  • 5. 5 Una critica allo studio comparato di etologia e robotica scaturisce dal richiamo ad artefatti che pur operando in qualche maniera come animali nell’artefatto non vi somigliano affatto. Vedi l’esempio dell’aereo che vola ma senza sbattere le ali. La risposta è che mentre gli animali fanno ricorso a capacità innate i robot operano sulla base di programmi software che tengono conto di dette capacità.
  • 6. 6 Dal comportamento animale, e anche umano, si possono ricavare molte idee ad esempio sul trattamento contemporaneo di diverse percezioni (sensor fusion) e inoltre vivendo gli animali in un open world lo studio del loro comportamento può portare al superamento del problema del closed world. Infatti molti animali semplici quali gli insetti, i pesci, le rane etc. esibiscono un comportamento intelligente, nei termini di cui sopra, pur avendo strutture neurali estremamente semplici. Evidentemente qualche cosa succede per cui evitano il frame problem.
  • 7. 7 Agente e teoria computazionale. Volendo utilizzare quanto le scienze cognitive offrono attraverso lo studio degli animali è necessario cercare un modello che permetta in qualche misura il confronto tra conoscenze cognitiviste e comportamento del robot. Una maniera per concettualizzare i due diversi sistemi è quella dell’ ”agente”. Un agente è un qualche cosa, hardware o software, che interagisce con il mondo, introducendovi cambiamenti e percependo quanto in esso accade. Con questa vaga definizione si può dire che un uomo, un animale o un artefatto che possiede le suddette proprietà sono “agenti”.
  • 8. 8 Il concetto di agente permette di discutere delle proprietà dell’intelligenza senza discutere i dettagli di come quella intelligenza è presente in un certo agente. Visto in un ottica di sistema ad oggetti si può dire che “agente” è la superclasse delle classi “essere vivente” e “robot”. Questo non chiarisce molto il concetto di intelligenza tra diversi soggetti. Una maniera di analizzare le corrispondenze tra diversi soggetti è quello di individuare a quali “livelli” i soggetti in esame hanno qualche cosa in comune. L’insieme di questi livelli porta a quella che Marr chiamò la teoria computazionale. In maniera molto semplificata possiamo far riferimento a tre livelli. Marr D., Vision: A Computational Investigation into the Human Representation and Processing of Visual Information, W:H: Freman & Co, 1982
  • 9. 9 Livello 1 – Dimostrazione dell’esistenza di quello che dovrebbe/potrebbe essere fatto. In robotica ci sono molti interessi a realizzare robot per la ricerca di superstiti di catastrofi (terremoti etc.). Se guardiamo verso il mondo animale vediamo che, ad esempio, le zanzare sono molto abili nell’individuare un corpo umano. Questi animali forniscono una prova che un agente, computazionalmente semplice, può trovare un essere umano utilizzando il calore emesso dal suo corpo. A questo livello possiamo dire che nei due agenti, robotico e biologico, vi è una combinazione di obiettivo e funzionalità.
  • 10. 10 Livello 2 – Decomposizione del "what" in input, output, e relative transformazioni. A questo livello va creato una sorta di flow chart formato da black box costituite da input, output e trasformazione dell’input nell’output. Nell’esempio delle zanzare si può dire che è possibile trovare creature a sangue caldo rilevando la temperatura. Se una zanzara percepisce un’area calda vola verso di essa. Il progettista può modellare questo processo come: input: immagine termica; output: comandi di direzione; Black-box: trasformazione dell’input nell’output.
  • 11. 11 Questo blocco potrebbe essere pensato come un sistema che individua il centroide dell’immagine termica, pesato sulla base del calore nelle singole zone, e genera i comandi per dirigersi verso di esso. Ovviamente sia se si muove il corpo caldo che la zanzara nel suo avvicinamento l’immagine termica cambia e quindi di nuovo va rifatto il calcolo del centroide e così via fino al raggiungimento dell’obiettivo. Non è detto che questo avvenga realmente nelle zanzare, ma lo studio del loro comportamento risulta utile per la progettazione di un robot per il soccorso.
  • 12. 12 Si noti che studiando le funzioni esplicate dalla zanzara invece del come queste sono implementate permette di non doversi occupare ad esempio del volo della zanzara, visto per altro che probabilmente un robot avrebbe le ruote. Al livello 2 dunque i due agenti, robotico e biologico, possono solo esibire un processo comune.
  • 13. 13 Livello 3 – Come implementare il processo. A questo livello bisogna occuparsi di come implementare il black- box. Nella zanzara i comandi per dirigersi in una direzione sono elaborati da una qualche rete neurale mentre in un robot potrebbero essere elaborati tramite un algoritmo che calcola l’angolo tra il centroide dell’immagine termica e la posizione attuale del robot. Un’altra ricerca potrebbe essere sviluppata relativamente allo studio di come la zanzara è capace di rilevare differenze di temperature tra sorgenti piccole e vicine. A questo punto i due agenti possono non avere nulla in comune relativamente all’implementazione senso-motoria.
  • 14. 14 E’ quindi chiaro che i livelli 1 e 2 sono sufficientemente astratti da essere applicabili a qualunque tipo di agenti. La differenza tra agente robotico e agente biologico emerge solo al livello 3.
  • 16. 16 Alcuni studiosi tentano anche di emulare l’aspetto biologico riproducendo la fisiologia e il meccanismo neurale. In generale questo non è possibile e forse nemmeno desiderabile. Quello che è stato fatto, vedi Genghis, è stato di replicare l’intelligenza di alcuni animali e costruire macchine che in qualche modo somigliassero ad essi. Quello che è importante è che al livello 2, focalizzando l’attenzione sulla teoria computazionale dell’intelligenza biologica, i progettisti possono ricavare suggerimenti su come organizzare quella robotica.
  • 17. 17 Cosa sono i behaviour animali? Il blocco di base di un’intelligenza naturale è denominato behaviour. Un behaviour è costituito da un mapping tra un insieme di input sensoriali e un insieme di azioni motorie realizzato allo scopo di raggiungere un certo scopo. Ad esempio se un cavallo vede un predatore alza le orecchie, abbassa la testa e scalpita sul terreno. In questo caso l’input sensoriale di un predatore attiva un pattern riconoscibile come un comportamento (behaviour) difensivo. Il movimento difensivo attiva un pattern perché la sequenza di azioni prodotte è sempre la stessa indipendentemente da dettagli del tipo quante volte batte lo zoccolo a terra. Il seguente è uno schema di definizione di un behaviour. SENSOR INPUT BEHAVIOR PATTERN OF MOTOR ACTION
  • 18. 18 Gli etologi passano anni per identificare i behaviour. Mentre spesso il pattern motorio viene individuato rapidamente. Il problema sta nel determinare correttamente il pattern di input di quel behaviour e del perché quel behaviour facilita la sopravvivenza della specie.
  • 19. 19 I behaviour possono essere divisi in tre grandi classi: Reflexive behaviours : sono del tipo Stimolo/Risposta (S-R) come quando il ginocchio viene colpito dal martelletto del medico. Essenzialmente questo behaviour è meccanico, i circuiti neurali assicurano che allo stimolo sia direttamente connessa una risposta per riprodurla nel più breve tempo possibile. Reactive behaviours: vengono appresi e consolidati laddove debbono essere eseguiti senza una attività conscia. Tutti i behaviour che comportano una “memoria” o risposta muscolare sono in genere reflexive behaviour (andare in bici, sciare etc.). Questi stessi behaviour possono diventare coscienti in particolari casi, ad esempio andare in bicicletta su una strettissima strada di montagna. Conscious behaviours: sono di tipo deliberativo (ad es. assemblare un robot, collegare insieme behaviour diversi etc.)
  • 20. 20 La classificazione è importante per diverse ragioni. In primo luogo il paradigma reattivo fa largo uso dei reflexive behaviour (in certi testi un behaviour è sinonimo di reflexive behaviour). In secondo luogo la classificazione aiuta il progettista a determinare quale è il tipo giusto di behaviour da implementare. In terzo luogo l’uso della parola “reattivo” ha un significato diverso in etologia e in robotica. In etologia behaviour reattivo significa behaviour appreso, in robotica connota, invece, un behaviour riflessivo.
  • 21. 21 Reflexive behaviours I reflexive behaviour sono particolarmente interessanti perchè non implicano alcun ricorso a forme di conoscenza: se percepisci questo allora fai quello. Per un robot questa è una risposta meccanica (hardwired), senza computazioni e sicuramente veloce. I reflexive behaviour possono a loro volta essere divisi in tre categorie 1.Reflexes 2.Taxes 3.Fixed-action patterns
  • 22. 22 2. Taxes: (orientamento) La risposta consiste in un orientamento particolare. Fino a non molto tempo fa era un mistero capire come facevano i neonati delle tartarughe a trovare l’oceano. La leggenda vuole che durante una sperimentazione in sito uno studioso che supponeva che il fenomeno avesse una spiegazione nei campi magnetici, dimenticò un faretto acceso sulla sabbia, e tutte le tartarughe si diressero verso il faretto. Dopo di che fu abbandonata l’ipotesi dei campi magnetici. 1. Reflexes: la risposta dura finchè dura lo stimolo ed è proporzionale all’intensità di questo;
  • 23. 23 I piccoli delle tartarughe esibiscono un comportamento tropotaxis: essi nascono al buio e si muovono verso le zone a maggior luminosità. Fino a non molti anni fa queste zone erano quelle dell’oceano su cui si rifletteva la luce lunare. L’arrivo dell’uomo ha però modificato l’ambiente, per cui i proprietari di stabilimenti balneari in Florida, durante la stagione delle nascita delle tartarughe, devono spegnere di notte le luci esterne per evitare che i piccoli si dirigano verso di esse piuttosto che verso il mare. Le tartarughe nascono di notte perché così sono invisibili per gli uccelli predatori. Le formiche invece presentano un comportamento chemiotaxis, esse cioè seguono le tracce chimiche lasciate dai feromoni che esse stesse rilasciano.
  • 24. 24 3. Fixed-action patterns: la risposta dura più a lungo dello stimolo. Questo è ad esempio utile per scappare dai predatori. Bisogna tenere bene in mente che un taxis è relativo ad ogni forma di orientamento dovuto ad uno stimolo, non esclusivamente allo stimolo di avvicinarsi ma anche a quello di allontanarsi.
  • 25. 25 Le precedenti categorie non sono mutuamente esclusive. Per esempio un animale che cammina sulle rocce o attraverso una foresta con alberi che ostacolano la sua vista potrebbe persistere (fixed action pattern) nell’orientarsi verso l’ultima direzione nella quale aveva percepito il cibo anche dopo che non lo percepisce più.
  • 26. 26 La stretta connessione tra azione e percezione spesso può essere quantificata da espressioni matematiche. Un esempio di questo è l’orientamento dei pesci volanti (angelfish). Per nuotare verso l’alto un pesce volante usa un sensore interno (idiothetic) di gravità combinato con un sensore di visione (allothetic) per vedere la linea esterna dell’orizzonte dell’acqua e nuotare verso l’alto. Se questo pesce è messo in una vasca con prismi che fanno sì che la linea dell’orizzonte appaia con un certo angolo il pesce volante nuoterà obliquamente. Ad un’analisi più accurata risulta che l’angolazione con cui nuota il pesce volante è data dal vettore somma del vettore parallelo alla gravità con il vettore perpendicolare alla linea dell’orizzonte percepita.
  • 27. 27
  • 28. 28 Konrad Lorenz e Niko Tinbergen sono i padri fondatori dell’etologia. Interessante nei loro studi è non solo quali siano i comportamenti degli animali ma anche come questi li abbiano appresi e li selezionino in maniera coordinata. Il loro lavoro fornisce molti suggerimenti su quattro diverse maniere di come gli animali acquisirebbero e organizzerebbero i loro behaviour. Il lavoro di Konrad Lorenz e Niko Tinbergen fornisce anche un aiuto nella costruzione di una teoria computazionale (livello 2) per capire come costruire un processo sulla base di behaviour.
  • 29. 29 Le quattro maniere per acquisire un behaviour sono: 1. Essere nati con un behaviour (innato). Un esempio è il behaviour per l’alimentazione nei piccoli di rondini dell’artico (artic tern). Esse vivono nell’artico dove l’ambiente è prevalentemente bianco e nero. Per altro la rondine dell’artico ha un becco rosso brillante. Quando i piccoli nascono sono affamati e allora picchiettano sul becco dei genitori. Il becchettare provoca un riflesso di rigurgito nei genitori che rovesciano fuori il cibo per i piccoli. E’ chiaro che i piccoli non riconoscono i loro genitori per se, essendo appena nati. Invece essi sono nati con un behaviour che dice: se sei affamato becchetta l’oggetto rosso più grande che vedi. Si noti che i soli oggetti rossi nel loro campo visivo sono i becchi delle rondini dell’artico, ed i più grandi sono quelli più vicini, cioè quelli dei loro genitori. Questa è una strategia semplice e economica.
  • 30. 30 2. Sequenza di behaviour innati. Un esempio è il ciclo di accoppiamento (mating cycle) delle (digger) vespe scavatrici. Una (digger) vespa femmina si accoppia con un maschio, quindi costruisce un nido. Quando essa vede il nido finito allora rilascia le uova. La sequenza è logica ma il punto importante è il ruolo degli stimoli che evocano i passi successivi. Il nido non è costruito se la femmina non si accoppia, cioè fino a quando non vi è un cambiamento nel suo stato interno. Le uova non sono rilasciate fin quando il nido non è costruito. Il nido è uno stimolo visivo che evoca il passo successivo. Si noti che la vespa non è necessario che sappia o capisca la sequenza. Ciascun passo è evocato dalla combinazione di stato interno e stato dell’ambiente. Questo è molto simile alle Macchine a Stato Finito (FSM).
  • 31. 31 3. Behaviour innati con memoria. Un animale può nascere con behaviour innati che vengono inizializzati dalla situazione in cui è avvenuta la nascita. Un esempio di questo sono le api che nascono negli alveari. La conoscenza del luogo in cui si trova l’alveare non è innato. Un ape deve apprendere a cosa assomiglia il suo alveare guardandolo dall’esterno, e come volare da e verso di esso. Si suppone che il curioso comportamento esibito dalle api piccole (che è innato) permette loro di apprendere queste informazioni critiche. Un piccola ape vola fuori dell’alveare per una piccola distanza, quindi vi gira attorno e torna indietro. Questo è ripetuto molte volte con l’ape che si allontana sempre un poco di più lungo una linea retta. Successivamente l’ape ripete l’operazione ma con una certa angolazione rispetto all’apertura dell’alveare.
  • 32. 32 Perché questo? La congettura è che in questa maniera l’ape apprende come riconoscere l’alveare da tutte le possibili angolazioni di arrivo. Successivamente l’ape associa alla vista dell’alveare un comando motore (vola a sinistra, sopra, sotto, ..) per raggiungere l’ingresso. Il behaviour di girare attorno all’alveare è innato, quello che è appreso è come appare l’alveare e dove si trova l’ingresso. Questo richiede memoria. ALFANT robot
  • 33. 33 4. Apprendimento di un insieme di behaviour. I behaviour non sono necessariamente innati. Nei mammiferi, specialmente nei primati, i piccoli devono spendere molto tempo per l’apprendimento. Un esempio di apprendimento è la caccia per i leoni. I piccoli di leone non hanno alcun behaviour innato per la caccia. Se non sono addestrati dalle madri in un periodo di alcuni anni essi non mostrano alcuna capacità di provvedere a se stessi. A prima vista potrebbe sembrare strano che qualche cosa fondamentale come la caccia del cibo debba essere appreso e non sia innato. Comunque si consideri, la caccia è molto complessa.
  • 34. 34 Essa è composta da una serie di sotto-behaviour quali: ricerca del cibo, inseguimento, cattura e così via. La caccia può anche richiedere collaborazione con altri membri del branco. Essa ha bisogno di una notevole conoscenza del tipo di animale da cacciare e del terreno di caccia. Si immagini di scrivere un programma che preveda tutte le possibili combinazioni! Pur se i behaviour appresi sono molto complessi essi possono sempre essere rappresentati da IRM (Innate Releasing Mechanism) in quanto sono memorizzati proprio i releasers e le azioni mentre l’animale crea da sé il programma.
  • 35. 35 Da queste osservazioni sugli animali si vede come anche un robot potrebbe acquisire uno o più behaviour o venendo pre- programmato (innate) o apprendondoli in qualche maniera (learned). Si noti pure che un behaviour può essere attivato purchè ci sia un meccanismo di memoria. La cosa importante è che pur se un behaviour di tipo S-R può essere pre-programmato addirittura a livello hardware in maniera abbastanza semplice, un progettista di robot complessi non può certamente fare a meno dell’uso di memoria.
  • 36. 36 Innate releasing mechanisms (IRM) Lorenz e Tinbergen hanno tentato di chiarire nei loro lavori come i behaviour sono coordinati e controllati dando a questa attività il nome di IRM (Innate Releasing Mechanism). Un IRM presuppone che vi sia uno specifico stimolo (interno o esterno) che rilascia o attiva un pattern stereotipo di azione. Un IRM, che attiva un behaviour, è un releaser, simile ad una molla o ad una variabile booleana, che va inizializzato.
  • 37. 37 Una maniera di pensare a un IRM è quella di vederlo come un processo. In una teoria computazionale dell’intelligenza in cui si usano gli IRM, i black box basilari sarebbero i behaviour. Ricordiamo per altro che un behaviour riceve input sensoriali e produce azioni motorie. L’IRM va oltre; esso ci dice quando un behaviour deve essere attivato e quando disattivato. Il releaser agisce come un segnale di controllo per attivare un behaviour. Se un behaviour non è rilasciato esso non risponde ai segnali di input e quindi non produce output motorio.
  • 38. 38 Per esempio se un piccolo di Rondine Artica non ha fame esso non becchetta su un becco rosso anche se questo gli è vicino. Gli IRM possono anche essere visti come un semplice programma di calcolo. L’agente può essere simulato con un programma C mediante un WHILE infinito. Ogni esecuzione del loop provoca il movimento dell’agente per un secondo, e dopo il loop si ripete. Sensory Input BEHAVIOR Pattern of motor action Releaser enum Releaser={PRESENT, NOT_PRESENT}; Releaser predator; while (TRUE) predator = sensePredators(); if (predator = PRESENT); flee();
  • 39. 39 In questo esempio l’agente fa solo due cose: percepisce il mondo e quindi fugge se percepisce un predatore. E’ possibile un solo behaviour : fuggire. Esso è condizionato dalla presenza del predatore. Un predatore è di tipo releaser ed ha solo due possibili valori: PRESENT, NOT_ PRESENT. Se l’agente non sente il releaser del behaviour non fa nulla in quanto non c’è un behaviour di default. In questo esempio vi è anche un filtro delle percezioni. Qui l’agente fa attenzione solo ai predatori mediante una funzione dedicata sensePredators(). Questa funzione potrebbe ad esempio essere un sensore specifico (ad esempio la retina che è sensibile alle frequenze di movimento associate al moto del predatore), o un gruppo di neuroni che fanno la stessa operazione eseguita da un algoritmo equivalente.
  • 40. 40 Altro aspetto interessante dell’IRM è che un releaser può essere una composizione di releaser sia interni che esterni. Se il releaser della composizione non è soddisfatto allora il corrispondente behaviour non è attivato. Nello pseudo codice che segue mostriamo un releaser composto. enum Releaser={PRESENT, NOT_PRESENT Releaser food, hungry; while (TRUE) { food = senseFood(); hungry = checkState(); if (food == PRESENT && hungry==PRESENT) feed() ; }
  • 41. 41 Nell’esempio successivo si vede cosa accade in una sequenza di behaviour dove l’agente mangia, accudisce i suoi piccoli, dorme e quindi ripete la sequenza. I behaviour sono implicitamente collegati insieme dai loro releaser. Una volta che il releaser iniziale è attivato si ha il primo behaviour. Esso si attiva per un secondo (l’intervallo per un “movimento”) e quindi passa il controllo all’istruzione successiva. Se il behaviour non è stato completato il releaser rimane attivo e nessun altro behaviour è attivato. Il programma ritorna all’inizio e il primo behaviour è eseguito di nuovo. Quando il primo behaviour è eseguito lo stato interno dell’animale o quello dell’ambiente esterno potrebbero essersi modificati a seguito delle azioni compiute. Quando stato interno e ambiente coincideranno diverranno uno stimolo per il secondo behaviour che verrà attivato e così via.
  • 42. 42 enum Releaser={PRESENT, NOT_PRESENT} ; Releaser food, hungry, nursed; while (TRUE) { food = sense() ; hungry = checkStateHunger() ; parent = checkStateParent(); if (hungry==PRESENT) searchForFood(); //sets food = PRESENT when done if (hungry==PRESENT && food==PRESENT) feed(); // sets hungry = NOT_PRESENT when done if (hungry==NOT_PRESENT && parent==PRESENT) nurse(); // set nursed = PRESENT when done if (nursed ==PRESENT) sleep() ;
  • 43. 43 Questo esempio mette anche in evidenza la natura dei behaviour. Se l’agente dorme e poi si sveglia ma non ha fame, che cosa farà? In accordo con i releasers se ne sta lì buono finchè non gli viene fame. In esso inoltre i behaviour permettono il nutrimento e l’accudimento dei piccoli ma non prevedono la fuga o la lotta con i predatori. Possiamo aggiungere questo come segue:
  • 44. 44 enum Releaser={PRESENT, NOT_PRESENT}; Releaser food, hungry, nursed, predator; while (TRUE) { predator = sensePredator() ; if (predator==PRESENT) flee() ; food = senseFood(); hungry = checkStateHunger() ; parent = checkStateParent() ; if (hungry==PRESENT) searchForFood() ; if (hungry==PRESENT && food==PRESENT) feed() ; if(hungry== NOT_PRESENT && parent==PRESENT) nurse() ; if(nursed==PRESENT) sleep() ; }
  • 45. 45 Si noti che questa organizzazione permette all’agente di fuggire al predatore indipendentemente se si trova nella condizione di mangiare, accudire e dormire perché la presenza del predatore è verificata per prima. Ma il fuggire è temporaneo perché esso non introduce cambi allo stato interno dell’agente, fatto salvo forse nel renderlo più affamato, cosa che verrà verificata all’iterazione successiva. Il codice può produrre una fuga di un secondo seguita da una mangiata di un secondo. Una maniera per superare questo problema è quella di inibire o disattivare ogni altro behaviour finchè la fuga non è completata. Questo si può realizzare con uno statement IF THEN ELSE
  • 46. 46 while (TRUE) { predator = sensePredator(); if (predator==PRESENT) flee() ; else { food = senseFood(); hungry = checkStateHunger(); } }
  • 47. 47 L’inserimento dell’ IF THEN ELSE previene l’esecuzione di altri meno importanti comportamenti. Se l’agente si gira e il predatore è fuori della sua vista (diciamo dietro l’agente), il valore di predatore diverrà NOT_PRESENT e allora l’agente tornerà al cibo, al mangiare, accudire o dormire. Fuggire dovrebbe essere un fixed-pattern action behaviour che persiste per un qualche periodo di tempo T.
  • 48. 48 #define T LONG_TIME while (TRUE) { predator = sensePredator() ; if (predator==PRESENT) for(time = T; time > 0; time--) flee() ; else { food = senseFood(); } } Un fixed-pattern action behaviour può essere realizzato in questa maniera:
  • 49. 49 Il codice C è implementato come una sequenza implicita, dove l’ordine di esecuzione dipende dal valore dei releasers. Una implementazione come sequenza esplicita potrebbe essere la seguente: Releaser food, hungry, nursed, predator; while (TRUE) { predator = sensePredator() ; if (predator==PRESENT) flee() ; food = senseFood(); hungry = checkStateHunger() ; parent = checkStateParent() ; if (hungry==PRESENT) searchForFood () ; feed() ; nurse() ; sleep() ; }
  • 50. 50 La sequenza esplicita ad un primo sguardo sembra più interessante. Essa è meno confusa e i releasers compositi sono nascosti. Ma essa non è equivalente alla prima. Infatti assume che invece del ciclo che opera ogni secondo e dei behaviour che sono attivati uno di seguito all’altro, ogni behaviour assume il comando e gira fino al suo completamento. Si noti che l’agente non può reagire al predatore finchè non ha terminato la sua sequenza di behaviour.
  • 51. 51 Una chiamata al behaviour fuga potrebbe essere inserito fra ogni behaviour oppure la fuga potrebbe essere elaborata sulla base di un interrupt. Ma ogni “vincolo” rende il programma meno generale e difficile da aggiornare o mantenere. Il punto principale qui è: semplici behaviour che operano indipendentemente possono portare a qualche cosa che un osservatore esterno può considerare come una sequenza di azioni complesse?
  • 52. 52 Concurrent behaviours Da quanto sopra si evince che i behaviour spesso operano indipendentemente e in concorrenza. Quella che appare essere una sequenza fissa può essere il risultato di una normale serie di eventi. Comunque alcuni behaviour possono violare o ignorare la sequenza implicita quando l’ambiente presenta stimoli conflittuali. Nel caso dell’agente genitori il behaviour fuggire da un predatore era mutuamente esclusivo con i behaviour: nutrirsi, accudire, dormire. Possono capitare cose interessanti se due o più behaviour sono rilasciati contemporaneamente quando invece questo in genere non accade.
  • 53. 53 Si ha che queste strane interazioni cadono nelle seguenti categorie: Equilibrium: I behaviour sembrano bilanciarsi l’uno con l’altro. Si consideri nutrirsi e fuggire per uno scoiattolo quando il cibo è vicino ad una persona su un sedile nel parco. Lo scoiattolo appare visibilmente indeciso se andare a prendere il cibo o scappare via. Dominance: Uno vince su tutti. Se si è affamati e assonnati solo uno dei due behaviour verrà attivato. Cancellation: I behaviour si annullano l’un l’altro. I maschi dello spinarello quando hanno territori in comune con altri pesci sono combattuti tra la necessità di difendere il loro territorio e attaccare quello degli altri. In alcuni casi i maschi fanno un altro nido! Allora apparentemente gli stimoli aggressivi si annullano, lasciando solo lo stimolo associato con la costruzione del nido.
  • 54. 54 Sfortunatamente non è sempre chiaro quando questi differenti meccanismi per behaviour conflittuali vengono applicati. E’ chiaro che non c’è un solo metodo. I robotici devono fare attenzione all’interazione tra i differenti behaviour. Da qui sono scaturite, come vedremo le architetture reattive e il paradigma ibrido.
  • 55. 55 Perception in behaviours Mentre Lorenz e Tinbergen forniscono una serie di idee circa i behaviour è chiaro che questi dipendono dalle percezioni. Ulrich Neisser che introdusse il termine “cognitive psychology" nel suo libro Cognition and Reality intuì che percezione e azione non possono essere considerate separatamente. J.J. Gibson, discusso psicologo cognitivo, spese la sua carriera nell’approccio ecologico alla percezione. Questo approccio è giusto l’opposto del modello top-down basato sul ragionamento introdotto da Neisser.
  • 56. 56 Action-perception cycle Il ciclo azione-percezione, mostra che la percezione è fondamentale per ogni agente intelligente. Una semplice interpretazione di questo ciclo è: “quando un agente agisce esso interagisce con il suo ambiente essendone parte integrale”. Così non appena fa un’azione esso cambia l’ambiente o comunque il modo di percepirlo (per esempio lo vede da un nuovo punto di osservazione). Da qui la percezione del mondo per l’agente è modificata. Questa nuova percezione è usata per una varietà di funzioni incluse quelle cognitive come la pianificazione di cosa fare dopo, o quelle reattive.
  • 57. 57 Il termine attività cognitiva include i concetti di controllo, feedback e feedforward in cui l’agente rileva un errore in quello che ha cercato di fare e quello che è realmente accaduto. Una equivalente attività cognitiva di base è stabilire cosa dovrebbe percepire successivamente (percezione attesa). Questa attività può a volte essere semplice come la attivazione di processi per la ricerca di releaser, o tanto complicata come cercare una certa faccia in una folla di persone. Cognitive Activity Directs what to look for Perception of environment World Agent acts & Modifies World Agent finds Potential ActionsAction-Perception Cycle
  • 58. 58 Relativamente a se c’è un processo conscio esplicito di elaborazione delle percezioni oppure l’estrazione di uno stimolo o di un releaser, l’agente è ora visto come qualcosa che va a percepire un nuovo aggiornamento. Questa è una forma di attenzione selettiva o focus dell’attenzione. Non appena riceve una percezione l’agente la cattura. Se al momento l’agente è in una situazione di ricevere più percezioni, prima di continuare con la sua azione primaria, man mano che percepisce, fa dei test nel mondo. Quando un agente agisce in modo da raccogliere più percezioni prima di continuare con la sua azione primaria, si parla di percezione attiva. Parte del processo di campionamento serve a determinare la potenzialità per una azione.
  • 59. 59 Lorenz e Tinbergen pensavano a questo processo come dovuto ad un agente che ha un insieme di releasers per un certo task e ora si guarda attorno per verificare se essi ci sono o meno. Se una percezione prevede un’azione l’agente la compie. L’azione modifica l’ambiente circostante ma questo a sua volta modifica la valutazione della situazione da parte dell’agente. In qualche maniera il ciclo azione-percezione sembra sostenere una qualche rassomiglianza superficiale al paradigma gerarchico SENSE-PLAN-ACT. Comunque si noti che: 1) non vi è nessun box che contiene ACT 2) il ciclo non richiede la necessità di un planning ad ogni aggiornamento. L’azione è implicita nell’agente. L’aspetto interessante di un ciclo è capire a che punto percezione e cognizione intervengono. L’agente può sia dover acquisire più percezioni che portare a termine un compito. Infine un agente può o meno avere la necessità di pianificare un azione ad ogni aggiornamento. Cognitive Activity Directs what to look for Perception of environment World Agent acts & Modifies World Agent finds Potential ActionsAction-Perception Cycle
  • 60. 60 Due funzioni della percezione In entrambi i ruoli di releaser e guida per il behaviour, la percezione filtra gli stimoli che arrivano a seconda del goal da perseguire. Questo è spesso riportato come percezione action-oriented dai robotici, quando vogliono distinguere un approccio percettivo dal paradigma gerarchico globale. Molti animali hanno sviluppato dei sensori specializzati per i loro behaviour. Alcune rane che sono accovacciate nell’acqua tutto il giorno hanno gli occhi rivolti verso l’alto e una retina di divisione in cui la metà più bassa è buona per vedere in acqua, la metà superiore in aria.
  • 61. 61 Gibson: Ecological approach Il dogma centrale dell’approccio di Gibson è: “il mondo è la migliore rappresentazione di se stesso”. Il lavoro di Gibson è particolarmente interessante perché complementa il ruolo della percezione nell’IRM ed è consistente con il ciclo azione-percezione. Gibson postulò (e provò) l'esistenza di affordances. Le affordances sono potenzialità percepibili dell'ambiente per un'azione. Per esempio, per un piccolo di rondine artica, il colore rosso è percepibile e rappresenta il potenziale per l’alimentazione.
  • 62. 62 Quindi una affordance può essere un modo più formale di definire lo stimolo esterno come IRM. Ma come gli IRMs, un affordance è solamente un potenziale, non conta finché tutte le altre condizioni non sono soddisfatte (il piccolo di rondine ha fame). Un affordance può essere anche il percetto che guida il behaviour. La presenza di rosso ad un piccolo di rondine artica affamato rilascia il behaviour del cibo. Ma il behaviour del cibo consiste nel beccare l'oggetto rosso. Quindi in questo caso, rosso è anche il percetto che è usato per guidare l'azione, così come per rilasciarlo.
  • 63. 63 Gibson si riferì al suo lavoro come ad un "approccio ecologico" perché credeva che la percezione evolvesse per sostenere le azioni, e che è sciocco tentare di discutere la percezione indipendentemente dall'ambiente di un agente, e dai suoi comportamenti di sopravvivenza. Per esempio, esiste una specie di api (le scavatrici) che preferisce un tipo speciale di papavero. Per molto tempo, gli scienziati non riuscivano a capire come le api riconoscessero quel tipo di papavero perché quando cambiava colore, diveniva indistinguibile da un altro tipo di papavero che cresceva nella stessa area. Odori, magnetismo? Niente. Allora guardarono il papavero sotto i raggi UV e IR e scoprirono che nelle bande non-visibili dell’IR quel tipo di papavero si distingueva dall'altra specie di papavero.
  • 64. 64 E quindi gli scienziati furono capaci di localizzare nelle api le componenti retiniche sensibili a quelle bande. L'ape e il papavero erano co-evoluti, quando il colore del papavero mutava verso una banda unica, alla stessa maniera la retina dell'ape si specializzava a rilevare quel colore. Con una retina "accordata" con il papavero, l'ape non doveva fare alcun ragionamento su se c'era un papavero in vista, e, in tal caso, se esso era la specie di papavero giusta. Se quella radiazione IR era presente allora il papavero era là.
  • 65. 65 I pescatori hanno sfruttato affordances fin dall’antichità. Un'esca per la pesca tenta di enfatizzare quegli aspetti del cibo desiderato da un pesce, presentando lo stimolo il più forte possibile: se il pesce ha fame, lo stimolo dell'esca provocherà il nutrirsi. In realtà le esche artificiali non sembrano ad un uomo molto simili al cibo che esse imitano ma ai pesci sì. Quello che Gibson dice di interessante per i robotici è che un affordance è direttamente percepibile. Percezione diretta vuole dire che il processo che sente non richiede memoria, inferenza, o interpretazione. Questo significa un minimo calcolo che di solito si traduce in un tempo di esecuzione molto rapido quasi istantaneo su un computer o robot.
  • 66. 66 Ma un agente davvero può percepire qualsiasi cosa di significativo senza fare uso della memoria, dell'inferenza, o dell'interpretazione? Bene, certamente i piccoli di rondine artica non hanno bisogno di memoria o inferenza per ottenere cibo da un genitore. E loro sicuramente non interpretano il rosso nel senso di: "oh, c'è una macchia rossa. È un piccolo ovale che è la forma corretta per Mamma ma quell'altra è quadrata, allora deve essere uno studente di etologia che tenta di imbrogliarmi." Per il piccolo di rondine artica , è semplicemente: rosso = cibo, rosso più grande = meglio.
  • 67. 67 Questo funziona per le creature umane? Si consideri il camminare per una sala e qualcuno che getta qualche cosa verso di noi. Noi probabilmente ci abbassiamo. E’ anche probabile che chiniamo la testa senza riconoscere l'oggetto, anche se più tardi potremmo verificare che era solo una bolla di sapone. La risposta è troppo veloce per qualunque ragionamento: "Oh guarda, qualche cosa sta muovendosi verso me. Deve essere una pietra. Le pietre sono di solito dure. Io dovrei chinare la testa."
  • 68. 68 Noi probabilmente facciamo ricorso, invece, a un fenomeno così di base da non accorgercene, chiamato flusso ottico. Il flusso ottico è un meccanismo neurale per determinare il movimento. Gli animali possono con esso determinare il tempo di contatto piuttosto facilmente. Noi probabilmente abbiamo familiarità con il flusso ottico quando guidiamo una macchina. Quando guidiamo o stiamo in una macchina, gli oggetti davanti sembrano essere a fuoco chiaramente mentre il lato della strada è alquanto indistinto a causa della velocità. Il punto dello spazio dal quale la macchina si sta muovendo è il fuoco di espansione. Da questo punto esterno, c'è un effetto di sfocatura. Più è sfocato sui lati, e più veloce la macchina sta andando. (Questo effetto viene usato nei film di fantascienza per simulare viaggi più veloci della luce.)
  • 69. 69 Questo pattern sfocato è noto come campo di flusso (perché può essere rappresentato da vettori, come un campo gravitazionale o magnetico). E' semplice, per una rete neurale, estrarre il tempo di contatto, rappresentato nella letteratura cognitiva da τ, tra il sistema di visione e l’oggetto visto in movimento.
  • 70. 70 I gannets (uccelli artici) e i saltatori con l’asta usano entrambi il flusso ottico per fare movimenti all'ultimo minuto, precisi come riflessi. I gannets sono grandi uccelli che si tuffano da grandi altezze verso un pesce. Poiché si tuffano da centinaia di metri nell'aria, essi devono usare le ali come superfici di controllo per dirigere il tuffo verso il pesce designato come bersaglio. Ma essi cadono a piombo così veloci che se colpissero l'acqua con le ali aperte le ossa cave si fracasserebbero. Il gannets piega le ali poco prima di colpire l'acqua. Il flusso ottico trasforma il tempo di contatto, τ, in uno stimolo: quando il tempo di contatto diminuisce sotto una certa soglia, esso piega le ali!
  • 71. 71 I saltatori con l'asta fanno a volte piccole rettifiche su dove piantare l'asta man mano che si avvicinano alla sbarra. Questa operazione è alquanto difficile dato che il saltatore con l'asta sta correndo alla velocità massima. Sembra che i saltatori con l'asta usino il flusso ottico piuttosto che la ragione (troppo lenta) su quale sia il posto migliore in cui piantare l'asta. Il saltatore con l'asta non è l'unico esempio di creatura umana che usa il flusso ottico, è solo un caso che è stato ben documentato.
  • 72. 72 In molte applicazioni, un programma di computer veloce può estrarre un affordance. Comunque, questo non è il caso (finora) del flusso ottico. I meccanismi neurali della retina si sono evoluti in maniera tale da fare il calcolo molto rapidamente. Si sa che i ricercatori di computer vision stanno lottando da anni per duplicare la generazione di un campo di flusso ottico per un'immagine di una macchina fotografica. Solo recentemente sono stati introdotti alcuni algoritmi che funzionano in tempo reale su computer normali. Il punto è che siamo ancora alquanto lontani dal poter simulare su un computer le affordances e i sensori specializzati.
  • 73. 73 Le affordances non sono limitate alla visione. Un affordance comune è quella della conoscenza di quando un contenitore è riempito quasi fino in cima. Si pensi al riempimento di una brocca con acqua o al serbatoio di combustibile di una macchina. Senza essere capace di vedere la cavità, una persona sa, quando il serbatoio è quasi pieno dal cambio del suono. Il cambio del suono è direttamente percepibile; la persona non ha bisogno di conoscere quale sia la taglia o la forma del volume che è riempito o anche quale sia il liquido.
  • 74. 74 Una applicazione particolarmente affascinante di affordances in robotica, che serve anche ad illustrare che cosa sia un affordance, è la ricerca di Louise Stark e Kevin Bowyer. Un problema apparentemente insormontabile in computer vision è riconoscere un oggetto in un’immagine. Letteralmente, il computer dovrebbe dire, "quella è una sedia" se è l’immagine di una sedia. Un modo tradizionale di avvicinarsi al problema è stato quello di usare modelli strutturali. Un modello strutturale tenta di descrivere un oggetto in termini di componenti fisici: "Una sedia ha quattro gambe, un piano, ed uno schienale." Ma non per tutte le sedie va bene lo stesso modello strutturale. Una sedia per dattilografa ha solo una gamba, con un appoggio al fondo. Canestri appesi non hanno affatto gambe. Una panca non ha uno schienale.
  • 75. 75
  • 76. 76 Di qui si capisce chiaramente che l'approccio strutturale ha il problema che il computer deve avere accesso a molti modelli diversi. Ai modelli strutturali manca anche la flessibilità. Se al robot è presentato un genere nuovo di sedia (per esempio un water che sembra una sedia o un secchio dell'immondizia rovesciato), il robot non è capace di riconoscerlo senza che qualcuno non costruisca esplicitamente un altro modello strutturale. Stark e Bowyer esplorarono un'alternativa all'approccio strutturale chiamato GRUFF. GRUFF identifica le sedie sulla base della funzione piuttosto che della forma.
  • 77. 77 Per la percezione Gibsoniana, una sedia dovrebbe essere una sedia perché ci permette di sedere, o soddisfa la funzione del sedersi. E queste affordance di sedibilità dovrebbero essere caratteristiche che possono essere estratte da un'immagine purchè siano: •Senza memoria (l'agente non ha bisogno di memorizzare tutte le sedie del mondo). •Senza inferenza (il robot non ha bisogno di ragionare: "se ha 4 gambe, ed un piano ed uno schienale, allora è una sedia; noi siamo in un'area che dovrebbe avere molte sedie, così questo aumenta la probabilità che sia una sedia"). •Senza un'interpretazione dell'immagine (il robot non ha bisogno di ragionare: c'è un pezzo di bracciolo, ed un cuscino,... "). •Un computer dovrebbe essere solo capace di guardare un’immagine e dire se c’è qualche cosa in quella immagine su cui è possibile sedersi o non.
  • 78. 78 Stark e Bowyer rappresentano la sedibilità come una superficie continua a un ragionevole livello da terra che abbia almeno la taglia del sedere di una persona a un'altezza pari a quella delle ginocchia. (Qualunque cosa utilizzabile come appoggio serve a specificare un tipo di sedia.) Stark e Bowyer scrissero un programma di computer che accettava disegni CAD/CAM di studenti che tentarono di mettere giù cose non-intuitive che potessero servire come sedie (come water, cesti capovolti, secchi per l'immondizia). Il programma di computer era capace di identificare correttamente superfici sedibili che erano sfuggite anche agli studenti.
  • 79. 79 Bisogna osservare che Stark e Bowyer erano esitanti nel fare dichiarazioni circa quello che questo ci dice sulla percezione Gibsoniana. L'algoritmo di computer vision può comunque essere accusato di fare delle inferenze ed interpretazioni ("quello è il sedile, quella è l'altezza corretta"). Ma d'altra parte questo livello di inferenza ed interpretazione è significativamente diverso che quello utilizzato nel tentare di determinare la struttura delle gambe, ecc. e la relazione tra taglia del sedile ed altezza potrebbe essere rappresentata in una rete neurale speciale che potrebbe essere evocata ogni qualvolta il robot o l'animale sono stanchi e vogliono sedersi. Il robot comincerebbe a osservare che potrebbe sedersi su una sporgenza o una grande pietra se una sedia o una panca non fossero nei dintorni.
  • 80. 80 Neisser: due sistemi percettivi A questo punto, l'idea delle affordances dovrebbe sembrare ragionevole. Una sedia è una sedia perché permette di sedersi. Ma cosa accade quando qualcuno siede sulla nostra sedia? Sembrerebbe che le creature umane hanno dei meccanismi per riconoscere specifici esempi di oggetti. Riconoscimento certamente comporta memoria (la "mia macchina è una Panda blu ed io l'ho parcheggiata nel cortile sotto l’albero questa mattina"). Altri compiti, come il tipo di investigazione che Sherlock Holmes fa, possono richiedere inferenze ed interpretazioni. Immaginarsi di tentare di duplicare Sherlock Holmes in un computer è alquanto diverso dell'imitare un piccolo di rondine artica affamato .
  • 81. 81 Quindi, mentre le affordances certamente sono un modo potente di descrivere la percezione negli animali, non sono chiaramente gli unici modi con cui gli animali percepiscono. Neisser postulò che ci sono due sistemi percettivi nel cervello (e cita dati di tipo neurofisiologico): 1 - percezione diretta. Questa è la parte del cervello "Gibsoniana", o ecologica e consiste di strutture basse del cervello che si sono evolute nel passato e danno conto delle affordances. 2 - il riconoscimento. Questo è la parte percettiva più recente del cervello che si collega al problem solving e alle altre attività cognitive.
  • 82. 82 Questa parte tiene conto dell'uso di modelli interni per distinguere la "tua tazza" di caffè dalla "mia tazza" di caffè. Qui è dove si hanno modelli percettivi del tipo top-down. Da un punto di vista pratico, la dicotomia di Neisser suggerisce, che la prima decisione nel progettare un behaviour è determinare se un behaviour può essere portato a termine con un affordance o è richiesto un riconoscimento. Se può essere portato a termine con un affordance, ci può essere poi un modo semplice e corretto di programmarlo in un robot; altrimenti, dovremo usare un algoritmo percettivo più sofisticato.
  • 83. 83 Schema Theory Lo Schema Theory offre un modo utile di gettare uno sguardo su una configurazione di programmazione orientata agli oggetti. Gli psicologi usano lo Schema Theory sin dai primi del 1900. Esso fu portato per la prima volta all'attenzione dei robotici di AI da Michael Arbib quando era all'Università di Massachusetts, e più tardi è stato usato estensivamente da Arkin e Murphy (1990) per i robot mobili, Lyons ed Iberall (1984) per la manipolazione, e Draper et al. (1989) per la visione.
  • 84. 84 Lo Schema fu concepito dagli psicologi come un modo di esprimere l'unità di base dell'attività. Uno schema consiste • della conoscenza di come agire e/o percepire (conoscenza, strutture dati, modelli) • dei processi computazionali dai quali viene usata per portare a termine l'attività (l'algoritmo). L'idea di un schema corrisponde esattamente al concetto della classe nella programmazione orientata agli oggetti (OOP). Una classe schema in C++ o Java può contenere sia dati (conoscenza, modelli, releasers) sia metodi (algoritmi per percepire ed agire).
  • 85. 85 Schema: Dati Metodi Uno schema è una modalità generica per fare un'attività, come andare in bicicletta. È una modalità perché una persona può andare su biciclette diverse senza ricominciare ogni volta il processo di apprendimento. Dopo che uno schema è parametrizzato come una classe, i parametri (tipo di bicicletta, altezza del sellino, posizione del manubrio) possono essere forniti all'oggetto al momento dell'instanziazione (quando un oggetto è creato dalla classe). Come con la programmazione orientata agli oggetti, la creazione di uno specifico schema è detto una istanziazione dello schema.
  • 86. 86 L’instanziazione dello schema è l'oggetto che è costruito con quei parametri di cui si ha bisogno per adeguarlo alla situazione. Per esempio, lo schema del mangiare, potrebbe consistere in una mossa a seguito della quale l'agente si dirige secondo una linea diretta verso il cibo . Si noti che il "si dirige secondo una linea diretta " è una modalità dell'attività, ed un algoritmo riutilizzabile per il controllo del movimento. Comunque, è solo un metodo e fino a che lo schema muovi_verso_il_cibo non è istanziato, non c'è nessuna specifica meta a cui dirigersi, per esempio, il vassoio di dolciumi sulla tavola. Lo stesso schema potrebbe essere instanziato per muoversi verso un panino.
  • 87. 87 Behaviours e Schema Theory Nella applicazione fatta da Arbib dello schema theory verso una teoria computazionale dell'intelligenza, un behaviour è uno schema che è composto da un schema motorio ed uno schema percettivo. Lo schema motorio rappresenta la modalità per l'attività fisica; lo schema percettivo incarna il sentire. Lo schema motorio e lo schema percettivo sono come pezzi di un puzzle; entrambi i pezzi devono essere messi insieme prima di avere un behaviour. Sensory Input BEHAVIOR Pattern of Motor Action Schema motorio Schema percettivo Releaser
  • 88. 88 Essenzialmente, il concetto di schema motorio e percettivo coincide con quelli proposti dall'etologia e dalla psicologia cognitiva come segue: •Un behaviour riceve input sensori e produce azioni motorie come output. •Un behaviour può essere rappresentato come un schema che essenzialmente è un costrutto di programmazione a oggetti (OOP). •Un behaviour è attivato da releasers. •La trasformazione di input sensori in output di azioni motorie può essere divisa in due sotto-processi: uno schema percettivo ed uno schema motorio.
  • 89. 89 behaviour:: Schema Data Metodi perceptual_schema(), motor_schema() In termini di OOP, le classi di schema motorio e schema percettivo sono derivate dalla classe schema. Un behaviour primitivo ha solo uno schema motorio ed uno percettivo.
  • 90. 90 Ricordando l'IRMs, behaviour più sofisticati possono essere costruiti ordinando in sequenza i behaviour. Nel caso di una sequenza di behaviour, il behaviour complessivo potrebbe essere rappresentato in due modi. Un modo è considerare il behaviour come composto da molti behaviour primitivi, con la logica del releasing che serve come conoscenza di quando attivare ciascuno dei behaviour primitivi. Questo probabilmente è il modo più facile di esprimere un behaviour "meta.” Un behaviour composto di tre behaviour può essere pensato come: behaviour:: Schema Data releaser1 releaser2 releaser3 Metodi IRM_logic() behaviour1() behaviour2() behaviour3()
  • 91. 91 In applicazioni più avanzate, l'agente può avere comunque la possibilità di scegliere quale schema percettivo o motorio utilizzare per il suo behaviour Per esempio, una persona di solito usa la visione (schema percettivo predefinito) per uscire da una stanza (schema motorio). Ma se la luce è spenta, la persona può usare il tatto (uno schema percettivo alternativo) per cercare l’uscita da una stanza buia. In questo caso, lo specifico schema per la conoscenza è sapere quale schema percettivo adoperare per condizioni ambientali diverse. Lo Schema Theory è abbastanza espressivo per rappresentare concetti di base come IRMs, in più permette la costruzione di nuovi behaviour a partire da componenti primitive. Trova uscita Segui muro
  • 92. 92 Questo modo alternativo di creare un comportamento scegliendo tra schemi alternativi percettivi e motori può essere pensato come: Data Environmental_state Metodi choose_PS(environmental_state) perceptual_schema_1() perceptual_schema_2() motor_schema()
  • 93. 93 Arbib e colleghi simularono al computer modelli di behaviour ispirandosi alla visione nelle rane e nei rospi. Essi usarono lo schema theory per rappresentare il behaviour del rospo in termini computazionali e chiamarono il loro modello rana computatrix (rana è la classificazione per rospi e rane). Il modello dava conto delle osservazioni di Ingle rispetto a quello che accade quando un rospo vede due mosche contemporanemente. Rospi e rane possono essere caratterizzati come soggetti che rispondono visualmente sia a piccoli che a grandi oggetti che si muovono. Gli oggetti piccoli in movimento rilasciano il behaviour del nutrirsi, e il rospo si gira verso l'oggetto (taxis) e poi scatta su di esso. (Se l'oggetto risulta non essere una mosca, il rospo può sputarlo fuori.) I grandi oggetti in movimento rilasciano il comportamento della fuga, spingendo il rospo ad andare via.
  • 94. 94 Il behaviour del nutrirsi può essere modificato come uno schema comportamentale, o modalità come mostrato sotto. Sensory Input Pattern of Motor Action Releaser appearance of small moving object Toad’s legs Feeding Behavior Toad’s vision Perceptual Schema Get coordinates of small, moving object Motor Schema Turn to coordinates of small, moving object
  • 95. 95 Quando il rospo vede una mosca, una istanza del behaviour è instanziata; il rospo si gira verso quell’oggetto e scatta verso di lui. Il gruppo di Arbib andò ad un livello successivo circa la computational theory. Essi implementarono il taxis behaviour come un campo vettoriale: la rana computatrix letteralmente sentiva una forza attrattiva in direzione della mosca. Questa direzione e intensità (la magnitudo) furono rappresentate come un vettore. La direzione indicava dove la rana doveva girare e la magnitudo indicava la forza con la quale afferrare.
  • 96. 96
  • 97. 97 Quello che è particolarmente interessante è che il programma della rana computatrix predice quello che Ingle vide nei rospi e rane veri quando a loro erano presentate simultaneamente due mosche. In questo caso, ogni mosca induce una istanza separata del behaviour di nutrirsi. Ogni behaviour produce il vettore per il quale il rospo ha bisogno di girarsi per afferrare la mosca, senza sapere che esiste l'altro behaviour. Secondo l'implementazione del vettore di campo dello schema del modello, il rospo ora riceve due vettori, invece di uno. Cosa fare? Bene, la rana computatrix somma i due vettori, dando luogo ad un terzo vettore! Il rospo non afferra nessuna mosca, ma si gira al centro delle due. L'interazione inaspettata delle due istanze indipendenti non è probabilmente un grande svantaggio per un rospo, perché se ci sono due mosche in giro, probabilmente una di loro ritornerà indietro.
  • 98. 98
  • 99. 99 Questo esempio fornisce alcune importanti lezioni per la robotica. In primo luogo, conferma l'idea di una teoria computazionale, si ricordi Marr, in cui le funzionalità in un animale e quelle elaborate da un computer possono essere equivalenti. Il concetto di behaviour è il Livello 1 della teoria computazionale , lo schema theory (specialmente gli schemi percettivi e motori) rappresentano il Livello 2, il Livello 3 è l'implementazione del vettore di campo dell'azione motoria. L'esempio mostra la proprietà dei behaviour emergenti, dove l'agente sembra fare qualche cosa di abbastanza complesso, ma è in realtà solo il risultato della interazione tra moduli semplici. L'esempio mostra anche come i behaviour rispondono ai principi della programmazione a oggetti.
  • 100. 100 Un altro aspetto interessante dello schema theory è che supporta il behaviour riflessivo. Ricordiamo che nei behaviour riflessivi la forza della risposta è proporzionale alla forza dello stimolo. Nello schema theory, allo schema percettivo è permesso di passare, allo schema motorio, sia il percetto che un guadagno. Gli schemi motori possono usare il guadagno per calcolare la magnitudo dell'azione di output. Questo è un esempio di come un particolare schema può essere confezionato per un behaviour.
  • 101. 101 Lo Schema theory non specifica come l'output di behaviour concorrenti sono combinati; quello è un problema di Livello 3, o della implementazione. Esempi precedenti hanno mostrato che in alcune circostanze l'output è combinato o sommato, in altri i behaviour normalmente avvengono in sequenza e non in sovrapposizione, e qualche volta c’è anche un effetto tipo il vincitore-prende-tutto . L'effetto del vincitore-prende-tutto è un tipo di inibizione, in cui un behaviour interdice l'instanziazione di un altro behaviour.
  • 102. 102 Arbib e colleghi hanno anche modellato un'istanza dell'inibizione nelle rane e nei rospi. Ritornando all'esempio di alimentarsi e fuggire, un possibile modo di modellare questo behaviour è con due behaviour. Il behaviour alimentarsi consisterebbe di uno schema motorio per muoversi verso un oggetto, e uno schema percettivo per cercare piccoli oggetti in movimento. Il behaviour di fuga sarebbe simile ma con uno schema motorio per allontanarsi dalla percezione di grandi oggetti in movimento.
  • 103. 103 Studi sulle lesioni cerebrali nelle rane mostrarono qualche cosa di diverso. Il behaviour di alimentazione in realtà consiste nel muoversi verso qualunque oggetto in movimento. Quindi lo schema percettivo è più generale che anticipato. La rana tenterebbe di mangiare qualsiasi cosa, incluso i predatori. Lo schema percettivo nel behaviour di fuga rileva grandi oggetti in movimento. Esso fugge da loro, ma interdice anche lo schema percettivo dell'alimentazione. Di conseguenza, l'inibizione non permette alla rana di tentare sia di fuggire dai predatori sia di mangiarli.
  • 104. 104 Principi e problemi nel trasferire i suggerimenti ai Robots Riassumere dei principi generali di intelligenza naturale può essere utile per programmare robot: • I programmi dovrebbero decomporre azioni complesse in behaviour indipendenti che strettamente accoppiano percezione e azione. I behaviour sono intrinsecamente paralleli e distribuiti. • Per semplificare il controllo e la coordinazione dei behaviour, un agente dovrebbe contare su un corretto meccanismo di attivazione booleana (e.g. IRM). • Per semplificare la percezione questa dovrebbe filtrare i percetti e dovrebbe considerare quello che è importante per il behaviour (percezione action-oriented).
  • 105. 105 •La percezione diretta (l'affordances) riduce la complessità computazionale del percepire e permette alle azioni di esplicarsi senza memoria, inferenze, o interpretazioni. •I behaviour sono indipendenti, ma l'output di ciascuno 1) può essere combinato con un altro per produrre un output risultante, (cooperazione) 2) può servire ad inibire un altro (competizione).
  • 106. 106 Sfortunatamente, lo studio della intelligenza naturale non dà un quadro completo di come essa lavori. In particolare ci sono molti problemi irrisolti: •Come risolvere i conflitti tra behaviour concomitanti? I robot saranno costretti a svolgere compiti concomitanti; per esempio, un robot per il salvataggio inviato per evacuare un edificio dovrà attraversare corridoi mentre cerca stanze per vedere se ci sono persone, così come cerca segnali di presenza di fuoco che si propaga. Dovrebbe il progettista specificare i behaviour dominanti? Combinarli? Lasciare che i behaviour contraddittori si annullino e i behaviour alternativi emergano? Effettivamente, una delle più grandi differenze nelle architetture dei robot è come loro trattano i behaviour concomitanti.
  • 107. 107 •Quando sono necessarie rappresentazioni della conoscenza esplicite e la memoria? La percezione diretta è meravigliosa in teoria, ma un progettista può essere sicuro che un affordance non è stato perso? •Come mettere su o imparare sequenze nuove di behaviour? L'apprendimento sembra essere una componente fondamentale per la generazione di behaviour complessi in animali avanzati.
  • 108. 108 La letteratura etologica e cognitiva è incerta sui meccanismi di apprendimento. È anche importante ricordare che l'intelligenza naturale non si sovrappone perfettamente alle necessità e alla realtà della programmazione dei robot. Un vantaggio notevole che l'intelligenza animale ha sull'intelligenza robotica è l'evoluzione. Gli animali sono evoluti in un modo che porta alla sopravvivenza della specie.
  • 109. 109 I robot invece sono costosi e solamente un piccolo numero ne viene costruito periodicamente. Perciò, sono i singoli robot che devono sopravvivere, non la specie. Questo mette una pressione tremenda sui progettisti di robot per determinare da subito il progetto giusto. La mancanza di possibilità evolutive su lunghi periodi di tempo rende i robot estremamente vulnerabili poiché si introducono errori dovuti ad una carente comprensione dell'ecologia del robot.
  • 110. 110 Ricordiamo il caso di studio di un robot che era programmato per seguire linee bianche in una competizione segui-il-percorso usando l'affordance del bianco. Fu distratto lungo la strada dalle scarpe bianche di un giudice. Fortunatamente quel difetto di progettazione fu compensato quando il robot ritornò indietro sul percorso reagendo ad una fila di denti di leone bianchi presenti nel prato dove avveniva la gara.
  • 111. 111 I robot presentano altre sfide che non sono così critiche negli animali. Uno degli attributi più problematici del Paradigma Reattivo è che i robotici non hanno un vero meccanismo per predire completamente i behaviour emergenti. Siccome uno psicologo non può predire con certezza perfetta quello che una creatura umana farà sotto una situazione stressante, sembra ragionevole che un robotico che usa principi dell'intelligenza umana non sia capace di predire quello che un robot dovrebbe fare in situazioni analoghe. Comunque, utenti finali di prodotti di robotica (militari, Nasa, industria nucleare) sono riluttanti ad accettare robot senza una garanzia di quello che faranno in situazioni critiche. Lezione 4