Newsgroup: it.comp.ia
Titolo: Gnammy - la leggenda continua (lungo)

Ho letto gli utlimi post sul problema Gnammy...e' ho l'impressione che
occorra ritirare un po' le fila del progetto (anche eprche' fra un po'
non ci sto capendo + nulla nemmeno io che l'ho proposto :-) )
Qualche piccola considerazione:
- tutti quelli che sostengono che e' il caso di cominciare a buttare
giu codice hanno perfettamente ragione, ma dobbiamo fissrae prima
definitivamente cosa dobbiamo fare ! Se no uno va in una direzione e
gli altri in un altra o peggio... quindi:
io direi che per realizzare il progetto dovremmo passare attraverso
degli steps intermedi ... la mia idea sarebbe quella di cercare di
fare prima delle simulazioni semplificate di singoli aspetti di
Gnammy-World, in questo modo potremmo vedere all'opera meccanismi
diversi e giudicare quali funzionano, quali non funzionano e quali
funzionano meglio di altri (cosa che fatta sul prodotto finito
comporterebbe la modifica di moli titaniche di codice).
A tal proposito credo, la mia ovviamente e' solo una proposta, che
sarebbe il caso di riuscire a far funzionare SEPARATAMENTE i seguenti
aspetti:
- generazione e trasmissione del DNA degli Gnammy
- gestione della memoria degli Gnammy
- gestione della strategia degli Gnammy
In particolare riproporrei di analizzare la questione semplificata
dello Gnammy che girella nella matrice 9x9 alla ricerca delle pizze
rilasciate dalla pianta di pizze, perche' e' li' (a un livello
bassissimo di complessita') che sta il nocciolo del problema dal punto
di vista IA.
Inoltre mi sembra opportuno definire obiettivi precisi per il progetto
una mia idea sarebbe questa:
- Creazione di Gnammy-land con all'interno un numero limitato di
Gnammy (diciamo una popolazione oscillante ma mai superiore a una
decina di individui..al limite potremmo fare una versione che non
contenga questo limite che possa essere fatta girare su sistemi non
esattamente home)
- All'interno di Gnammy-land vengono cuurati due aspetti quello della
Artificial-life e quello della AI per gli Gnammy, quindi:
-realizzazione di un sistema di trasmissione dei caratteri ereditari
degli Gnammy
-realizzazione di un sistema che gestisca l'evoluzione
dell'intelligenza degli Gnammy
In effetti direi di dotare lo Gnammy di un livello di intelligenza
iniziale minimo, spostando l'obiettivo sull'ottimizzazione della
strategia dello Gnammy..anche perche' lo Gnammy non puo' essere
autocosciente e quindi non vedo come farebbe da solo a sviluppare il
livello minimo di intelligenza...un minimo di direttive iniziali
devono esserci per forza..cose semplici ovviamente, del tipo:
- se un cammino ti ha portato ha mangiare la pizza ricordati che era
un cammino "buono"
- se vai addosso a un muro girati e riprendi a camminare
- se un cammino ti haportato alla morte tramanda ai posteri che era un
cammino "cattivo"
- se sei su una casella vai a caso in una direzione scelta fra quelle
che hanno peso maggiore delle altre e uguale fra loro
e poco altro direi dovrebbe bastare..o qualcosa di simile.
Quello che si cerca di dimostrare e' che lo Gnammy dotato inizialmente
di poche itruzioni assiomatiche, ma ignaro di come e' fatta
gnammy-land cominci dopo un tot di generazioni a comportarsi seguendoi
strategie ottimiz<zate (il che non e' esattamente poco !).
Il fatto poi che, se vogliamo erndere la cosa + inetressante e
divertente possiamo aggiungere i fattori genetici etc..etc.. e'
accessorio..personalmente mi piacerebbe aggiunegre anche simili
aspetti (xche la natura del progetto Gnammy e' anche a meta' fra il
serio e il afceto..se no lo avrei chiamato Sigfrido :-) ) pero' in
primis occorre definire quanto detto sopra.
A proposito della trasmissione dell'esperienza..bhe potremmo far si
che gli Gnammy siano visti come cellule di un macroorganismo..per cui
onguna condivide automaticamente la propria esperienza con le
altre..eventualmente mandando messaggi di avvertimento prima di
morire.
P.S. : ci terrei a chiarire un punto..come ho sempre detto il progetto
e' aperto a chiunque epr la sua stessa natura di
interdisciplinarieta'...per cui collaborano tra loro programmatori,
analisti, filosofi, psicologi etc..etc... anche eprche' se no sarebbe
difficile arriavre da qualsiasi parte :-) Ma ragazzi... se un analista
come D'Ambrosio dice che un certo tipo di implementazione e'
impossibile da gestire, per lunghezza del codice e per complessita'
nmell'esecuzione mi sembra il caso di dargli retta, per due buoni
motivi:
1- che parla con cognizione di causa
2- che effettivamente ha ragione anche sul caso specifico
ma intendiamoci..quesrto non vuol dire assolutamente che ci sia un
progetto Gnammy per "esperti" (che poi vuol dire poco in campo IA) e
per "novizi"..ognuno da il suo contributo...e nel caso del nostro
amico Marco il suo contributo ... con quel post che poi ha suscitato
un po' di vespaio e' stato qeullo di far risparmiare ore di lavoro e
milioni di righe di codice che non avrebbe girato su nessun Home...
quindi direi che invece che inveire contro di lui (anche se mi sembra
che i toni si siano gia' molto calmati) sarebbe il caso di dargli
retta e ridimensionare il progetto..sopra ho esposto una mia visione
del nuovo format di Gnammy-land..naturalmente ne possiamo
discutere..ma su una cosa mis embra ci sia poco da discutere.. sul
fatto che gestire una Gnammy-land con qualche migliaio di caselle..e
diverse centinai di Gnammy e' impossibile.. sia per la lunghezza del
codice (stimabile intorno alle 10^5 righe !!!) che per la complessita'
di esecuzione (occorrerebbero diversi Pentium III che lavorano in
parallelo).
Augusto Pucci
Webmaster di Prospektiva On-line
http://go.to/Prospektiva

Poche parole Augusto, io sono già partito e ho realizzato una Gnammyland di
24 * 24 caselle.
-Ogni gnammy è costituto da 30 cromosomi diversi.
-Ogni cromosoma ha all'interno un'algoritmo logico molto semplice.
-Gli gnammy all'inizio nascono con collezzioni di algoritmi diversi che
vengono scelti a caso tra 25 esistenti (di tipo logico es: (a and b) xor c).
-Esistono una bussola che indica in est-oves-nord-sud (2 bit) la direzione
della pizza rispetto allo gnammy (tipo olfatto), e un sensore di muro che
rileva il muro se questo si trova nei pressi dello gnammy (tipo vista).
-Esiste un timlife entro il qule lo gnammy muore e viene decrementato ogni n
cicli, lo gnammy non lo sa.
-Quando uno gnammy muore (vita = 0) il programma calcola quale tra gli
gnammy partecipanti ha il life maggiore e riproduce uno gnammy uguale a
questo "predominante", imponendo dei cambiamenti al Dna in % modificando
alcuni Cromosomi (sempre a caso).
Naturalmente quando lo gnammy prende la pizza aumenta il suo time life.
Queste sono le regole di base, poi ce ne sono altre più complesse di
supporto per abbreviare i tempi di apprendimento (se vuoi te ne parlo poi).
-La simulazione e bidimensionale, e si può vedere uno gnammy come un 6x6
punti colorati dove ogni colore rappresenta il corredo genetico dello
gnammy, è possibile così vedere le mutazioni e le "famigie".
Dimenticavo che la pizza si sposta a caso.
-Il software è realizzato in Qbasic, permette di generare massimo 30 gnammy.
ATTENTI non si tratta della soluzione dello Gnammy, ma solo di una prova
semplicissima e banalissima di implementare una strategia con algoritmi
genetici, il risultato è buono, dopo circa 1000 "morti" gli gnammy sembrano
andare tutti verso la pizza (non sempre) e imparano a non rimanere fermi
negli angoli.
Naturalmente la simulazione con 15 gnammy è lenta e per fare 1000 marti ci
vuole un'ora (dovrei compilare il softw.!!!)
Cmq come suggeriva Marco gli gnammy fatti solo di DNA non sono così
intelligenti imparano strategie interessanti ma se il problema gli viene
cambiato leggermente (tipo inserisco un muro nuovo) sembrano impazziti e
ricominciano tutto da capo.
Se vuoi provarlo e hai qbasic.exe te l'ho già mandato..... :))
Ciao Emiliano.
--
Posted from 
ts0001.tesoro.it
 [195.103.126.2]
via Mailgate.ORG Server - 
http://www.mailgate.org

Saresti cosě gentile da spedirlo anche a me, se non ti dispiace.
Martino Serri.
mailto:
mse...@tin.it

 
http://go.to/Prospektiva
Io ritengo che la dimensione della griglia non sia la parte limitante,
penso piuttosto che sia il numero di gnammy all'interno della griglia
stessa quelli che fanno aumentare di molto la necessità di risorse.
Ho visto in questi giorni un progetto fatto da un mio carissimo amico.
Ha sviluppato un simil progetto Gnammy  dove ha una gestione di una
griglia di 100x70 (ad occhiometro) con l'utilizzo dell'interfaccia
grafica BGI e l'eseguibile e' più piccolo di 64K. Non ho dettagli più
precisi sul numero delle righe compilate, ma sono convinto che non sono
le cifre esposte nei precedenti post. 
Perché anziché parlare della Gnammy-land non parliamo di come si
dovrebbe comportare il nostro amico (incomincio ad odiarlo... :) nelle
varie situazioni?
Ad esempio la sua memoria la costruiamo su di una NN? Se la risposta e'
affermativa, come la implemen-tiamo/tate/to?
Oppure le possibilità di operare devono essere per forza implementate a
priori (e in tal caso penso che di IA non abbia molto)? Oppure...
Ci sarebbero tante domande ma se continuiamo a parlare del sesso degli
angeli non sapremo mai se il nostro gnammy poteva girare solo su un Cray
o anche su un bastardissimo 486 SX 33.
Scusate lo sfogo, ma ne ho approfittato visto che in molti si sono tolti
i sassolini dalle scarpe, è solo per fomentare ulteriori discussioni in
merito allo gnammy, anche perché sono interessatissimo allo sviluppo
dello stesso (ormai non dormo più la notte... ) ma non riesco a trovare
un punto di partenza, conosco poco di come si creano le NN e non
parliamo della logica Fuzzy (forse con il progetto gnammy non hanno
nulla a che fare, ma non lo sapro mai se non c'è nessuno che ne parli).
Un chiarimento. Non sono in polemica con nessuno, non voglio polemizzare
con nessuno e non voglio aprire dibattiti che non siano inerenti lo
sviluppo dello Gnammy (se proprio non resistete alla tentazione fatelo
in privato).
Grazie e scusate ancora.
Martino.
PS: il programma del mio amico lo trovate in
http:://
web.tiscalinet.it/gian/

Ciao Emiliano.
Mi puoi mandare una copia anche a me? Grazie :-)
Io ti mando una copia del mio che ho fatto in assembler....
Ciao , attendo il tuo email...
Grazie.
Davide U.

http:://
web.tiscalinet.it/gian/
Graziee, sono bellissimi quei 2 programmi di Alife.
Anzi guardando quei programmi mi e' venuta un'idea per potenziare
il mio programma.
Grazie ancora per il link.
Ciao.
Davide U.

 ha scritto nel messaggio
news:8a2fj1$cau$1...@nslave1.tin.it...

Ne sono lieto.
Martino.

 Io ti mando una copia del mio che ho fatto in assembler....
Ma perche' non li mettete su un sito cosi' tutti possiamo prelevarli?
Ciao, Sirio
--
                 T H I N K   F U Z Z Y
     In every good man, there's something bad ...
       ... in every bad man, there's something good.
Be SuRe, bE yOUrsElf, TAKE IT EASY, in life we trust. ;8)

Visto che si trattava di una versione un po buggata :)) ne sto gia
realizzando una migliorata con molti piu geni e "ricombinabili" il che
dovrebbe aumentare molto la velocita e la flessibilita dell'apprendimento.
Compilata genera circa 150 gnammy molto veloci, quindi la nuova arena sara
di 70 x 70 caselle.
Appena e pronta te la mando compilata.
Ciao Emiliano.
--
Posted from 
laguna.tiscalinet.it
 [195.130.224.86]


Appena e pronta te la mando compilata.
Manda anche a me cosi' io la inoltro a tutti quelli che sono nella
maiuling list del Gnammy Dev Team
