Newsgroup: it.comp.ia
Titolo: Qualche idea?

Ciao a tutti,
dopo la prolungata pausa estiva, mi sono rimesso a lavoro per portare a
termine la mia idea.
Come sapete (spero) ho sviluppato un simulatore di vita artificiale molto
complesso, si tratta di un' universo virtuale composto da creature
artificiali, ogni singola creatura è guidata da una rete NN dinamca che gli
permette di effettuare una serie di azioni.
Il tutto è pensato per essere dinamico, chiunque può in breve tempo
sviluppare del codice che rappresenta un'oggetto virtuale ed inserirlo nel
simulatore come si fa con un banalissimo plug-in.
Tra qualche giorno sarà disponibile la versione 1.3
 
http://digilander.iol.it/galife/
 ) di questo software nella quale ho
inserito numerose migliorie, ma il grande sforzo è stato quello di
implementare un'help completo è chiaro.
Quello di cui ho bisogno sono idee, oppure consigli, insomma cosa vorreste
vedere in un software del genere perchè possa attirare la vostra attenzione?
Fatemi sapere, se possibile anche in pvt.
Emiliano Fiorenza.
GA2 Virtua Life Simulator 1.2
http://digilander.iol.it/galife/

Emiliano Fiorenza wrote:

beh, l'unica cosa che mi viene in mente e' che se creo una rete con piu' 
di 900 neuroni il programma crasha sul mio Atlon 1200...comunque il 
programma e' ben fatto, una figata :)
ah un'altra cosa, perche' all'interno del ciclo vitale di una bestia :) 
la rete non apprende? mi spiego, la rete si modifica solo alla fine del 
ciclo dell'algoritmo evolutivo, secondo me sarebbe piu' interessante se 
all'interno della vita la creatura potesse imparare dai propri errori 
modificando le sue sinapsi.
non so, e' un'idea...
-- 
Saverio Vigni
HoRNet IT Manager
http://www.hor-net.com

 vedere in un software del genere perchè possa attirare la vostra attenzione?
3d con prospettiva isometrica no?
aggiungere un protocollo tcp/ip per far migrare le creature fra diversi pc?
mi piacerebbe lanciare il tuo programma su un CRAY per vedere che succede.
ciao

 non so, e' un'idea...
Il punto è che la creatura a priori non conosce la realtà che la circonda,
il suo "addestramento" avviene selezionando le creature che casualmente
esprimono comportamenti migliori, per verificare che una creatura sia stata
"meglio" di un'altra, hai solo una strategia, controllare alla fine di un
ciclo evolutivo quanta energia ha accumulato, quindi quanto è stata
proficua.
Quello di cui tu parli sarebbe possibile implementatndo un motore
inferenziale.
Ciao Emiliano Fiorenza.


inferenziale.
Secondo me l'idea sarebbe quella di trasferire il modello della tua
simulazione un gradino piu' in basso. 
Mi spiego: tu dici che i tuoi gnammy imparano a cibarsi delle pizze
buone e ad evitare quelle cattive. Se io fossi un alieno e non fossi
in grado di capire i tuoi file di help, potrei pensare che hai scritto
un programma che impara, all'interno di un unico ciclo vitale, a
pulire lo schermo da delle fastidiose palline verdi che lo infestano.
Capisci cosa intendo? Complessivamente, il tuo programma, all'interno
di un unico "ciclo vitale", impara nel vero senso della parola a fare
qualcosa. Solo che noi ci concentriamo su quello che fanno i singoli
gnammy invece di vederli come parti di una "mente".
Se invece si potesse trasferire, ad una scala piu' ridotta, il modello
degli gnammy _all'interno_ di un super-gnammy, sostituendo alla
capacita' di nutrirsi delle pizze buone quella di comandare
comportamenti vantaggiosi, avresti ottenuto un essere che apprende.
Piu' semplicemente, potresti comunque suddividere la vita di ciascuno
gnammy in un certo numero di cicli, al termine di ognuno dei quali
viene calcolata l'energia guadagnata; operando piccole mutazioni nella
rete in ogni ciclo, ma ricordando anche la struttura della rete
precedente, potresti compiere una selezione delle mutazioni positive
_all'interno_ della vita del singolo.
Ciao,
Anders

 
niente di particolare, sono uno "stressa software" di natura :) volevo 
mttere alla prova il programma e il mio processore, e poi vedere come si 
comportava il modello della tua rete neurale con un elevato numero di celle.
-- 


proficue alla continuazione della specie.
Certo, e' chiaro. D'altra parte anche a me e' ovvio (ho appena messo
in rete l'ultima versione di DarwinBots, che ne pensi?) che la
selezione di mutazioni vantaggiose puo' avvenire solo sui grandi
numeri. Il mio era solo un modo intuitivo per esporre l'idea: e'
chiaro che per funzionare decentemente dovrebbe tenere traccia di
moltissimi pool genetici alternativi contemporaneamente, e
presupporrebbe una "funzione di fitness" piu' raffinata che non il
semplice computo dell'energia acquistata in un lasso di tempo
standard. Volevo solo sottolineare (e' una mia idea fissa, da quando
ho iniziato a scrivere il mio programma di vita artificiale) che
forse, a differenza di quanto sembri pensare tu, non c'e' una
differenza cosi' netta fra l'evoluzione di una popolazione di
individui e l'apprendimento di un singolo.
Per di piu' il tuo programma, a differenza del mio, sembra piu'
orientato proprio all'apprendimento di compiti che non alla
simulazione vera e propria di una popolazione vivente (infatti, ad
esempio, i tuoi "gnammy" non si riproducono, a quanto mi risulta: e'
il software a selezionare i migliori). 
Ciao,
Anders

 dire che le mie creature apprendono, piu semplicemente si adattano.
Le tue creature - così da come le descrivi, non ho scaricato il pgm -
non apprendono affatto, si adattano per evoluzione.
Se venisse inserita nel loro mondo una creatura che apprendesse
nell'arco della sua vita, ben presto questa diventerebbe la creatura
dominante: sul lungo periodo, chi ha la capacità di adattarsi nel
corso di una *singola* generazione ha più possibilità di sopravvivere
di chi ha bisogno di *molteplici* generazioni.
Ad esempio: voglia il caso che in una particolare generazione tutto il
cibo è localizzato in un'area limitata, in tali condizioni imparare
(ricordare!) dove trovare il sostentamento è decisamente più utile che
mettere in atto una strategia generica di ricerca.
Non è un caso che l'uomo - quello fra gli animali che ha occupato la
c.d. "nicchia cognitiva" - sia diventato la specie dominante[*] (nel
suo habitat). Le probabilità ci erano proprizie.
[*] Per ora. Ahimè, abbiamo anche la capacità (ed il potenziale) per
fare ca##ate immani.
-- 
Ouroboros
Odigo: 2706443 - Yahoo Messenger: ouroboros77

sottraendole agli altri sensi.
Mah... nella simulazione di Fiorenza l'elaborazione di un input
sensoriale ha un costo? Perche' se non ce l'ha, questo discorso non ha
senso. Il discorso ha senso solo se e' possibile stabilire un rapporto
di costi/benefici per un certo tipo di rete di elaborazione piuttosto
che per un altro. Ma se i costi sono sempre nulli, ogni beneficio, per
quanto piccolo, verra' sfruttato dall'evoluzione.
Secondo me la risposta piu' convincente alla domanda di Emiliano e':
probabilmente perche' in realta' non esiste vantaggio nell'utilizzare
altri sensi. Forse cioe' il problema non sta tanto nel fatto che il
costo di usare sensi diversi dalla vista non e' coperto dai benefici,
ma proprio il fatto che questi benefici non esistono, o al limite sono
gli stessi che si ottengono utilizzando la vista.
Ciao,
Anders

 fare ca##ate immani.
Su questo anche non posso che essere daccordo... ;)
Emiliano Fiorenza.

 gli stessi che si ottengono utilizzando la vista.
Devi pensare che la simulazione non è fatta solo di vedere, ma di
distinguere oggetti diversi, oppure di distinguere solo quelli piu utili
trascurando quelli inutili, distinguere le creature, muoversi in modo
proficuo difronte a situazioni ambigue (piu oggetti).
Detto questo avrai intuito che i sensi vanno utilizzati con una certa
razionalità, facendo il giusto calcolo utilizzo/benefici, spesso capita che
due o piu specie convivano per diverse genrazioni pur utilizzando risorse
diverse, e bada bene, fanno parte dello stesso universo.
Ciao Emiliano Fiorenza.

non puoi camminare.
Il punto e': quante celle impiega mediamente una rete per distinguere,
mettiamo, l'oggetto A dall'oggetto B? E quante, nel caso migliore? E
quante celle ci sono disponibili in una rete media? 
Allora (ed ecco il suggerimento!) potresti introdurre la possibilita'
di far "pagare" ai tuoi gnammy l'utilizzo delle celle. Cioe': far si'
che distinguere l'oggetto A dall'oggetto B mediamente sia piu'
vantaggioso che non distinguerlo; ma che fra due gnammy che lo
distinguono, consumi meno energia (e quindi sia vincente) chi usa meno
celle. A meno che non sia gia' cosi'...
Ciao,
Anders

 gli stessi che si ottengono utilizzando la vista.
A me sembra che stiamo dicendo la stessa cosa, solo con parole
differenti.
