Newsgroup: it.comp.ia
Titolo: Vita artificiale: l'evoluzione della cooperazione.

Vi propongo un problema sia come argomento di discussione per i
"teorici", sia una sfida per i "pratici" (cioe' per chi si intende di
creazioni di "robottini software" per fare tornei in un unica arena
virtuale).
La storia da cui parto e' molto lontano: nel 1950 circa venne creata
una situazione "giocattolo" in cui si poneva il problema di capire
come diverse strategie di cooperazione o la competizione potessero
risultare vincenti in un ottica evoluzionistica.
Successivamente questa situzione venne formalizzata e fu resa
possibile l'applicazione automatica di piu' software in interazione
tra loro. Successivamente vennero fatti diversi tornei tra software
negli anni 50, ma poi non se ne parlo piu'.
La situazione giocattolo e' piu' o meno questa: abbiamo due persone,
mettiamo due agenti segreti, che si incontrano giornalmente: li
chiamiamo ad esempio Giorgio e Lucia.
Giorgio e Lucia si incontrano una volta al giorno e possono fare una
scelta tra due possibili:  portare una valigia piena con qualcosa di
prezioso o vuota (per i costruttori di robottini: 1 o 0). Una volta
fatta la scelta si incontrano e aprono la valigia per mostrarne il
contenuto.
Ne conseguono quindi 4 possibilita' di punteggio:
A) tutti e due hanno portato una valigia vuota.
Punteggio: 1 a giorgio e 1 a lucia
B) tutti e due hanno portato una valigia piena.
Punteggio: 3 a giorgio e 3 a lucia
C) giorgio ha una valigia piena e lucia vuota .
Punteggio: 0 a giorgio e 5 a lucia
D) giorgio ha una valigia vuota e lucia piena .
Punteggio: 5 a giorgio e 0 a lucia.
In pratica:
1 punto e' una "punizione",
3 punti sono una "ricompensa per cooperazione reciproca",
5 punti rappresenta la "tentazione" e
0 punti e' il pagamento dello "stupido".
Non serve pero a giorgio o lucia aver "battuto" il suo avversario, ma
cio' che conta e' il punteggio totale rispetto a tutti gli altri
(infatti giorgio dopo 200 mosse giochera' con luca poi dopo altre 200
con gina ecc...). In questo caso non esiste una combinazione tra a b c
o d sempre valida, ma dipende dal comportamento che via via mette in
atto l'altro giocatore.
Esempi di strategia (che l'altro partecipante deve capire da solo)
giorgio : tiro una moneta e scelgo a caso.
lucia: <se> giorgio porta una valigia vuota, <allora> per due incontri
successivi ne porto una vuota.
Se le strategie dei due partecipanti non cambiano (ma possono farlo),
la strategia di lucia risultera' molto probabilmente vincente su
giorgio. Ma non e' detto che sia la migliore in relazione alle
strategie dei successivi partecipanti. Magari si puo' istruire lucia
nel modificare la strategia in base a quella altrui. Quindi dovra'
percepire la strategia e modificare la propria di conseguenza.
Esistono cosi' innumerevoli strategie possibili e applicabili.
Credo che una variante alle precedenti regole sia che i partecipanti
possono conoscere il punteggio dell'altro e la vita che gli rimane
(facciamo 10000 mosse all'interno di un torneo)
E' possibile ricreare un torneo di questo tipo ?
Se qualcuno vuole una documentazione approfondita, mi invii una e-mail
Follow-up su it.comp.ia
--
Ciao, E-Mån.
Su news:it.news.votazioni è possibile votare per
it.discussioni.psicologia (moderato)

 virtuale).
Dimenticavo di dirvi, per chi vuole approfondire e per chi gia' la
conosce, che la situazione giocattolo e' l'adattamento del famoso
"dilemma del prigioniero", molto usata in psicologia, economia e tanti
altri ambiti.
Sempre follow.up su it.comp.ia
--
Ciao, E-Mån.

 Ciao, E-Mån.
Oltre ad essere un tipico esempio di "Teoria dei Giochi".
RedBoy.

Ciao, E-Mån.

 "dilemma del prigioniero"
Talmente famoso che e' facilissimo dimostrare quale sia il punto di
convergenza...
La teoria dei giochi ci ha scritto sopra libri interi. Non mi pare un
argomento interessante per la IA
Stefano

 argomento interessante per la IA
Proprio perche' la IA non se n'e' occupata potrebbe essere
interessante...(non credo, non se ne sia occupata, visto che ho letto
qualcosa del genere legato alla fuzzy logic).


 Eh già, ma questo è vero anche per la vita....
Proprio per questo, infatti ci si propone di costruire il
modellino matematico migliore e di sottoporlo alla prova empirica: non
sarebbe bello poi poter utilizzare il migliore in contesti del tutto
diversi e applicabili nella vita di tutti i giorni ?
--
Ciao, E-Mån.

 interessante...
E' un giochino con una semplice soluzione matematica che converge verso un
equilibrio. Molto interessante da studiare, ma non vedo come possa
interessare a livello meta-algoritmico.
Se vuoi proporre un modo per renderlo interessante sono tutt'orecchi.
Stefano

 Se vuoi proporre un modo per renderlo interessante sono
tutt'orecchi.
Cerco di spiegarmi meglio, per me e' difficile perche' parto da altri
presupposti e da un altro ambito (psicologia del lavoro e delle
organizzazioni), nondimeno spero di trovare un punto di incontro o
almeno capire il perche' la cosa non merita attenzione.
Mi esprimo con i miei termini... spero di non essere troppo contorto.
L'aspetto "meta" del discorso a cui accenni c'e'. E' legato al fatto
che i software per sopravvivere ed evolversi devono da un lato
comunicare con altri software, dall'altro devono APPRENDERE tre cose:
1) come gli altri software comunicano, 2) come gli altri software
apprendono 3) come modificare il proprio apprendimento in funzione dei
primi due punti. L'utopia ultima: l'apprendimento ad apprendere in
modo sempre piu' fine.
Tutto questo pero' non sta pero' nella regola esplicita ("in base alla
mia e alla altrui scelta, prendo piu' o meno punti"), che sembra
deterministica e destinata a dare un esito prevedibile, ma nelle
regole di interazione che via via si evolvono e che appartengono a una
moltitudine di software (chiamarli algoritmi e' meglio, vero ?).
Tutto questo si lega a una utilita' fuori dal monitor ? Io credo di
si', o almeno a livello di "suggestion". Per una buona formazione
(scolastica e professionale) e' fondamentale per i formatori avere ben
chiari i concetti di comunicazione, interazione, contesto,
apprendimento, strategie cognitive di apprendimento e memorizzazione,
problemi legati alla percezione figura/sfondo, elasticita' nel
generalizzare un apprendimento a molti contesti ecc... tra gli
obiettivi di una buona formazione c'e' proprio l'attenzione per i
processi piuttosto che per i contenuti; questo tipo di attenzione e'
legata all'idea che un "saper essere" e' piu' vantaggioso che un solo
saper fare (conoscenza pratica, addestramento) o sapere (conoscenza,
studio). L'apprendimento ad apprendere va visto, appunto, nell'ottica
del "saper essere".
Ci vedi dei punti di contatto, una complementarieta', o una
integrazione con cio' che l'IA sa fare ?
--
Ciao, E-Mån.

 integrazione con cio' che l'IA sa fare ?
Si', ma nel senso inverso a quello da te proposto. L'IA studiando l'uomo
cerca di dotare la macchina di una forma di "intelligenza". E' alquanto
azzardato pensare di studiare la macchina come modello dell'apprendimento
dell'uomo.
Anche perche' ti garantisco che se provi a istruire uno scolaro coi metodi
che usi per una rete neurale non ottieni dei buoni risultati :-)
Stefano

diversi e applicabili nella vita di tutti i giorni ?
Perchè no? Sempre che ci sia un modello migliore degli altri. E se
teniamo conto anche che è, nei suoi pregi e difetti, derivato da una
simulazione !
Fammi sapere come va il tutto.
Legenda: SQRT = radice quadrata
Ciao 
     Stefano
- What's "real", Neo ? -
http://www.crackthematrix.tv/

 complesso T1 + T2 (oppure T1 + i (T2))
Derivano da qualche fondamento teorico o sono proposte ?
Stefano

 dell'uomo.
Qui ho una idea differente. Per la costruzione di una teoria si puo'
partire induttivamente o deduttivamente, l'importante e' che poi le
due cose si alternino e proseguano i controlli. Quindi posso iniziare
con una qualsiasi assunto che mi suggerisce l'intuito e poi derivarne
e vericarne delle conseguenze (deduzione) o a partire da una serie di
eventi vedere se c'e' un nesso che li regola che corrisponde al mio
assunto (induzione).
Allora dimostrare che e' possibile l'evoluzione della cooperazione
competizione tra le macchina, significa dimostrare che questo e'
possibile almeno in linea di principio. Il procedimento susseguente e'
quello di verificare se questo meccanismo si puo' sviluppare anche tra
gli esseri umani e se ha successo quando si sviluppa. Puo' essere o
non essere "naturale", ma se e' efficiente o almeno efficace, e'
quello che conta no dal lato pratico no? Dal lato teorico poi posso
dire che "non e' il modo naturale di cooperare o apprendere
dell'uomo". Questa e' un altra strada, sempre da percorrere.
Per anni gli psicologi comportamentisti credevano che il comportamento
l'uomo era regolato esclusivamente dalle associazioni di stimoli che
l'ambiente gli proponeva, a cui legavano le risposte (classico
esempio: mostri uno zuccherino al cane e glielo dai solo dopo che ti
porta un bastone; dopo qualche prova gli mostri lo zuccherino e il
cane comincia a cercare bastoni anche se non ne hai lanciato nessuno).
Questo e' un meccanismo di apprendimento che funziona anche nell'uomo,
ma non e' l'unico meccanismo (IL meccanismo) dell'apprendimento
dell'uomo. Funziona in alcune circostanze, e' possibile tenerne conto
ad esempio per l'addestramento a compiti automatici. Oppure pensiamo a
certi videogiochi... Ma senza gli studi dei comportamentisti non ci
sarebbero stati neanche gli altri studi, che prendono in
considerazione altri aspetti originali del funzionamento della mente
umana.
Tutto questo pacco di parole per dirti che anche l'"ovvio" vuole la
sua parte :)
--
Ciao, E-Mån.

 possibile almeno in linea di principio.
Studi sulla cooperazione e sulla competizione tra algoritmi sono a stadi ben
piu' avanzati di quanto possiamo discutere qui... ti consiglio caldamente un
bel giro sulle banche dati dell'IEEE o della ACM.
Stefano

 > virtuale).[...]
Non aveva vinto la "Tate for Tat"?

 Non aveva vinto la "Tate for Tat"?
Si, ma alla fine degli anni 70 ! :-)
Tra l'altro era un programmino semplicissimo di qualche riga che
supero' quelli degli esperti della teoria dei giochi. il listato
diceva piu' o meno:
- coopera alla prima mossa;
- poi fai quello che l'avversario ha fatto nella mossa precedente.
Imbattibile ? chi lo sa...
--
Ciao, E-Mån.

 Imbattibile ? chi lo sa...
dimenticavo di dire che con i singoli software quel programmino non ha
MAI vinto. E' un programma che vince solo nel complesso, nell'arena,
raccogliendo piu' punti degli altri software, meno "produttivi" tra
loro.
PS: unobr@vo, mi mandi una e-mail ? il tuo indirizzo non sembra
funzionare.
--
Ciao, E-Mån.

Derivano da qualche fondamento teorico o sono proposte ?
La seconda che hai detto. Anche se sono tratte da "Il modello MQ" di
Massimo Buscema. Anzi, chi ha da proporne altre si faccia pure avanti,
è una discussione molto interessante.


 >> Strategia.
Quindi, se io commuto so a priori che l'altro restera'. Non mi pare geniale
come soluzione... e ad ogni modo porta i due automi nel secondo stato di
equilibrio, quello dove nessuno si fida dell'altro.
Stefano

equilibrio, quello dove nessuno si fida dell'altro.
Esatto, considera pero' che fai riferimento ad un opposto che gioca
con lo stesso algoritmo, non mi sembra che fossero queste le premesse
del 3rd originale di E-man. 
In più vi è da notare come basti cambiare anche di poco la parte
percettiva dell' agenzia per ottenere risultati diversi, ad es:
  Valigia piena adesso ==> Sj = Sj + 1
  Valigia vuota adesso ==> Sj = Sj - 1       



Chiedo scusa a tutto NG per questo post "privato" ma non trovo altra
soluzione. Stefano, mi hai mandato una e-mail, ma anche a quella
quando rispondo mi viene restituita indietro! ti volevo solo mandare
il documento originale da cui ho preso spunto per questo piccolo
thread.
--
Ciao, E-Mån.


Di nuovo scusa al NG anche da parte mia


"unobr@vo" ha scritto > Basta che togli il  "Mouse" dall' address qui
sotto
Gia' fatto ma... In realta' la tua casella di posta e' superpiena.
Svuotala, magari controllala direttamente da web del sito di tiscali.
A volte il problema e' li'.
--
Ciao, E-Mån.