Newsgroup: it.comp.ia
Titolo: ancora Gnammy

stare in un "bozzolo" per un tot di tempo.
Questa e' la stessa osservazione di prima, e quindi mi ripeto: potrebbe
essere cosi', ma la cosa dovrebbe essere motivata, non si fa la larva
per sport! E la motivazione dovrebbe stare nel codice genetico, nelle
modalita' di riproduzione, nella capacita' di accumulare risorse: in
altre
parole deve essere una conseguenza dell'evoluzione (se non fosse cosi',
ma ci fosse magari un parametro che stabilisce, tout court, il tempo
di larvalita', questo parametro verrebbe rapidamente portato a zero
dall'evoluzione stessa).
Concludo con un pensierino, forse un po' oscuro, ma mi pare sintetizzi
bene tutte le osservazioni: nello spazio delle possibilita' dello Gnammy
non ci devono essere punti isolati (o ce ne devono essere il meno
possibile).
Intendo dire che va bene pensare che lo Gnammy faccia questo e quello,
ma il questo e il quello devono essere casi particolari di possibilita'
piu' ampie, altrimenti uno gnammy non fa altro che scegliere fra n
possibilita' date a priori, il che mi parrebbe noioso.
Ciao,
Carlo Comis

piu' importanti.
Scusate ho una idea, se facciamo un "motore" che comanda gli gnammy e
ognuno si scrive il proprio Gmammy che vuole fare in C usando una lib.
standard
 in questo modo li facciamo gareggiare fra di loro, tipo Crobots che ne
dite?
Praticamente attraverso selezione naturale con replicazione DNA e mutazioni
ognuno alla fine si riprende il suo Gnammy piu' evoluto (se sopravvive)
Ovviamente tra le funzioni standard della libreria ci saranno quelle
di replicazione e di guida dello gnammy e della logica di azione,
mentre le funzioni di mutazione e di comando degli gnammy sono nel motore.
Ciao

gia' fatte! Come buttare al cesso miloni di anni di evoluzione.
Si infatti abbiamo deciso di mutare questo punto che faceva acqua da
tutte le parti, ora il DNA e la memoria sono distinti e per passarsi
informazioni gli Gnammy comunicano e si insegnano fra loro quando si
incontrano
Augusto Pucci
Webmaster di Prospektiva On-line
http://go.to/Prospektiva

Carlo Comis
Ah, ma mica avevo capito che eri tu, pensasa ti stavo per scrivere "Un
membro del GDT ha proposto una soluzione al problema da te citato..."
e guarda caso sei proprio tu !!! Non ho avuto ancora il tempo di
postare a tal proposito, ma sono in accordoi perfetto con te sull'idea
di usare (abbinata alla memoria della matrice,e al DNA) di usare un
linguaggio semplice che descrive il comportamento dello Gnammy come
programma, l'unica perplessita' che mi rimane e' che tale "programma"
dovrebbe automodificarsoi anche a seconda di fattori non.genetici,
quindi se uno Gnammy ha un comportamento che e' dato dal programma p1
in pseudo-asesembler fai conto, ma tale strategia non e' vincente lo
Gnammy deve cambiarla da solo, non attendere di morire !!!
Anzi, perche' non posti a tutto il NG le osservazioni che mi hai
mandato via e-mail circa il linguaggio che descrive in robots ? Credo
che quella del linguaggio che descrive le strategie e che muta anche
nel corso della vita dello Gnammy e che eventualmente si trasmette
attraverso la comunicazione anziche oer via ereditaria sarebbe ottima
solux al problema di eliminare le costrizioni agli Gnammy.
Dovremmo allora pero' introdurre una specie di smile_factor che
dipende dalle condizioni dello Gnammy e l'unica direttiva imposta
dall'alto sarebbe quella di far si che lo Gnammy cerchi di
incrementare lo smile_factor (che e' la sua felicita') e che quindi
scarti strategie che diminuiscono lo smile_factor e ne cerchi di buone
che lo rendano sempre + paffuto, ben organizzato, in buona salute
etc..etc... inoltre proporrei di staccare parzialemnte le car fisiche
dello Gnammy dal suo codice genetico lasciando il DNA solo per
caratteristiche inalterabili (sesso, colore etc..) e usandolo solo
come "attitudine" per altre (ad esempio uno Gnammy con attitudinbe
genetica all'intelligenza non e' detto che poi sia effettivamente +
intelligente di un altro, ma certamente con l'esperienza incermenta 9
rapidamente il suo valore di int


dite?
Ehm scusa Davide, credo che la tua idea sia interessante m,a che non
c'entri nulla con il progetto Gnammy :-) nel senso, non si cerca di
fare un clone di Crobots, ma di creare una simulazione il + possibile
di ALife che implementi anche fattori di IA..e nella realta' tu non
sei stato programamto da nessuno, ne tantomeno buttato in una arena
:-)


 gia' fatte! Come buttare al cesso miloni di anni di evoluzione.
Concordo.
Poi avevo pensato che si potrebbero inserire delle caratteristiche, o
variabili che dir si voglia, non associate a nessun utilizzo nello
gnammy, delle specie di "geni inutili" o ridondanti. Che pero'
potrebbero essere associate a qualcosa durante l'evoluzione degli gnammy
dai processi di mutazione genetica casuale.
Inoltre si potrebbe associare al "territorio" per ogni casella un indice
di fertilita', allora nelle caselle a fertilita' maggiore e' piu' alta
la probabilita' che cresca un albero delle pizze, e poi si potrebbe dare
agli gnammy, o ad altre creaturine, la caratteristica di aumentare
l'indice fertilita' della casella dove si trovano, sotto particolari
condizioni. Potrebbero nascere delle forme di "agricoltura" e di
"pastorizia"!
Che ne dite, dico stronzate?
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)

sei stato programamto da nessuno  ....
Scusa ma non ho seguito molto bene i post che hai portato avanti nelle tue
discussioni.
Io non intendevo come Crobots, ma una struc{} Gnammyland comune a tutti.
Vuoi dire allora che ognuno si fa la sua simulazione sul suo computer col
suo programma ?
Sulla base di una struct{} comune pero'...
Una volta avviata la simulazione non si interviene piu' sul programma?  fino
a quando?
Dovrai pur salvare lo stato della memoria se vuoi spegnere il computer  eheh
:-)
Ogni tanto poi confrontiamo i nostri risultati e i migliori si portano
avanti.
ciao
Davide U.

 avanti.
Gia' che ci siamo possiamo implementare una PVM (parallel virtual
machine) in modo che tutti i nostri computer collaborino nei vari mondi
gnammy!
E' forse un po troppo?
Un Martino che è appena rientrato da un viaggio di 600km.

:-)
Aaaaaaa...scusami ma ti avevo frainteso , si certamente dovremo
prevedere la possibilita' di mettere in "pausa" il programma in ogni
momento, salvare la situazione, riavviare da una simulazione salvata
lasciata interrotta, poter vedere tutte le statistiche del caso e
magari anche poter intervenire a modificare qualche aprametro..a quel
punto si certo ognuno di noi attacchera' a far girare il programma
sulla macchina + grossa e veloce che si trova a disposizione e poi
salvera' il lavoro, poi ci scambiamo i files delle simulazioni salvate
e procediamo continuando a mandare in esecuzione e a far progredire le
sdimulazioni che si stanno svolgendo in modo piu' interessante... si
certo su questo sono daccordissimo, ti avevo solo frainteso, comunque
questo viene in un secondo tempo, dopo lo sviluppo effettivo.


gnammy!
Ma l'idea di Davide mi sembra che vada bene altrettanto e non
appesantisca ulteriormente il lavoro, salvare la situazione,
confrontarla con quella ottenuta dagli altri e poi scegliere quali
simulazioni continuare e cosi' via...
FILE REALiTY.SYS CORRUPTED. REBOOT UNIVERSE ? Y/N


Che ne dite, dico stronzate?
Per nulla quella della fertilita' in parrticolare e' parecchio
interessante..anche perche' se no che cosa farebbe si che nascano gli
alberi delle pizze ?
FILE REALITY.SYS CORRUPTED REBOOT UNIVERSE ? Y/N


 ARE YOU SURE? YES/NO
YES

Su di un post passato io ho fatto le stesse identiche considerazioni
parlando anche dei Crobots, mi sembra un'idea giusta, infondo il mondo che
noi abbiamo a disposizione deve essere il più complesso possibile seno che
intelligenza è?
L'uomo è intelligente perchè si trova davanti una realta notevolmente
complessa ma la gnammyland di matrici mi sembra un po piatta.....
Ciao.
--
Posted from 
ts0001.tesoro.it
 [195.103.126.2]
via Mailgate.ORG Server - 
http://www.mailgate.org

Questo mi apre giustissimo e soprattutto adatto, si chiama critica la tua e
tra le osservazioni fantasiose fatte sin ora mi sembra la più costruttiva.
Io punto sull'elasticità assoluta della gnammyland.
Ciao Emiliano


Mi sembra che fatte tutte queste considerazioni sia necessario riformulare
la nostra idea di Gnammyland....


Augusto ok, ma creare continuamente leggi non è una limitazione?
Dovrebbero arrivare da soli a queste conclusioni partendo da leggi meno
complesse, per farti un'esempio assurdo : la nostra realtà è fatta di
microscopiche leggi che si concatenano e danno vita a leggi più complesse,
per questo nella nostra realtà non esistono situazioni impreviste,
semplicemete perchè ogni evento è somma di eventi più piccoli (pensa agli
atomi che sono la base di tutto), nella gnammyland che immagini tu tutto
deve essere previsto a priori e se l'evoluzione procede a caso (come
dovrebbe essere) gli gnammy potrebbero incontrare bug imprevisti che
dovresti nuovamente implementare....
Questo mi appare molto riduttivo.
Credo si tratti di un discorso complesso e astruso da fare ma il prevedere
significa limitare e le leggi che stiamo proliferando sono solo
limitazioni.....
Torno a dire che non è questa la strada giusta secondo me!
Pensaci.....
Ciao Emiliano.


 Carlo Comis
Sono pienamente d'accordo.
Altrimenti di IA avrebbe ben poco, credo.
Martino

che non mi sono posto il problema di 'postarlo'.
Guarda sul NG se tu non posti quello che pensi,
gli altri stai sicuro non capiranno cosa hai in mente anche se banale...
no?
Ciao

questo viene in un secondo tempo, dopo lo sviluppo effettivo.
invece secondo me dovresti a grandi linee prevedere fin dall'inizio le
funzioni generali del programma se no poi dopo e' un casino aggiungere delle
funzioni
e si puo complicare notevolemente il programma oppure cambiare radicalmente
la struttura di base e quindi rifare tutto daccapo
te lo dico per esperienza io e' 15 anni che faccio i programmi
e ho avuto a che fare anche con progetti molto grossi.
ciao


Obiezione Accolta!
Rileggendo il mio messaggio ho notato la natura idiota del mio post.

E' forse un po troppo?
In Java non sarebbe impossibile...  :-)
ciao

circondano nel raggio di 2-3 caselle
Guarda che cosi si complica enormemente il programma anche se
lo Gnammy e' piu' "intelligente"
ciao.

 tipo Crobots che ne dite?
Scusate se mi intrometto. Non centra con gli Gnammy e spero di
non essere troppo OT, ma sto scrivendo un clone di CRobots in
Java e ho bisogno di qualche consiglio.
L'idea e' quella di costruire un sito dove tutti possano inviare
automaticamente i loro robots scritti in Java, vederli combattere e
consultare le classifiche aggiornate in tempo reale.
Per ora e' pronta solo l'applet che gestisce i combattimenti e
contiene i robots di base (Counter, Sniper, ecc.). L'indirizzo e'
http://www.uno.it/utenti/tetractys/jj/
(basta cliccare su "It's war!" e poi il bottone "Start")
Purtroppo, manca ancora la gestione del Server scritta in Perl (la
cosa piu' importante), perche' non ho ancora trovato una soluzione per
rendere "sicura" la comunicazione dei risultati dei combattimenti
dall'applet al server.
Aspetto suggerimenti e mi propongo per scrivere la versione Java di
Gnammy ;-)
--
Ciao. Leonardo 
bos...@uno.it
 
www.uno.it/utenti/tetractys

funzioni
Bhe allora dici che sarebbe meglio iserire gia' la gestione di
salvataggi e C come funzioni nel main ? A proposito hai qualche idea
su come fare l'interfaccia ?


complessa ma la gnammyland di matrici mi sembra un po piatta.....
Ma scusa..anche il gioco degli scacchi e' piatto eppure guarda che
complessita' di sviluppo ha ! E comunque e' sempre una
simulazione..xche pensavi di portarla in 3D ?


Questo mi appare molto riduttivo.
Bhe ma scusa delle leggi fisiche fondamentali Gnammy.land ce le dovra'
avere per forza...mentre sono daccordo sul fatto che gli Gnammy non
devono agire su scelte predefinite, ma seguire un proprio "progra,mma"
chge si scrivono da soli come avviene coi darwinrobots nel programma
di Carlo Comis, che a tal proposito invito ad illustarre la sua idea,
che credo sia molto buona e che personalmente rischierei di
prersentare in modo non completo. Dai Carlo posti il commento che mi
avevi mandato sul darwinrobot ? Che credo gli Gnammy dovrebbero (con
alcune variazioni) agire come quei robots


Gnammy ;-)
I volontari sonos empre ben accetti :-)


 lo Gnammy e' piu' "intelligente"
Si ma se lo Gnammy non puo' "vedere" cose c'e' nelle sue caselle
adiacenti prima o poi finirebbe in un burrone, o non potrebbe esplorare
il territorio, trovare una compagna, ecc..


 la nostra idea di Gnammyland....
Cioe'?


il territorio, trovare una compagna, ecc..
Scusa ma tu praticamente volevi fare uno scanner,
non guardare semplicemente le sue caselle adiacenti ;-)
Ciao.
Davide U.

su come fare l'interfaccia ?
Si, io direi di partire con una interfaccia a caratteri del tipo a comparsa,
cioe dopo il lancio del programma compare un menu a caratteri con tutte le
funzioni,
* carica simulazione    (ogni voce puo contenere un sottomenu)
* salva simulazione
* regolazione parametri
* run simulation
Selezionando la voce RUN-SIMULATION scompare il menu e/o l'inferfaccia
per mostrare a tutto schermo 80x25 l'inizio della genesi degli Gnammy e
la loro evoluzione.
Durante la simulazione premendo il tasto ESC ricompare il menu.
Andando di nuovo sulla voce RUN-SIMULATION scompare il menu e/o
l'inferfaccia
e riparte la simulazione.
Che ne dite, vi sta bene?
Ciao
Davide U.

 Davide U.
Ma non si era parlato di fare tutto in grafica?

Ma non si era parlato di fare tutto in grafica?
Scusa, puo darsi che mi sia sfuggito uno dei vostri post sulla grafica degli
Gnammy,
in tal caso comunque la mia idea funzionerebbe sempre allo stesso modo:
Dopo il lancio del programma appare la finestra del menu in grafica:
Selezionando la voce RUN-SIMULAZIONE scompare l'inferfaccia grafica
per mostrare a tutto schermo 640x480 l'inizio della genesi degli Gnammy e
la loro evoluzione.
Oo, questa e' solo un'idea, se vuoi fare in modo diverso fai pure...   :-)
ciao
davide u.

A proposito hai qualche idea su come fare l'interfaccia ?
Ecco il menu ultima versione:
* carica simulazione
* salva simulazione      (salva la simulazione in corso)
* regolazione parametri
         *carica profilo
         *salva profilo
* run simulation
* quit

 Gnammy,
[cut...]
Ero io che pensavo di essermi perso qualche post...
L'idea va bene, anche se io la vedevo cosě:
- il programma carica subito l'interfaccia con la griglia vuota e a
destra tutte informazioni di stato azzerate.
- in alto c'e' il menů con le opzioni che hai indicato tu.
Una sorta di Crobots ma con un menů 'a tipo uindous'.
Martino.



Che differenza c'e' tra carica simulazione e carica profilo ?
Si, va bene, pero' direi che quando e' in corso una simulazione al
posto di regolazione parametri dovrebbe esserci una opzione status che
poi da accesso ad un area di sottomenu che ti guidano tra tutte le
statistiche e informazioni possibili e immaginabili sull'attuale
status della simulazione.
Mi sembra ci sia tutto, ma qual'e' la differenza fra profilo e
simulazione ?-


il territorio, trovare una compagna, ecc..
Certo che evde in quelle adiacenbti, ma solo in quelle, non a distanza
di 2 o tre caselle credo intendesse questo per complicazione (le
caselle da esplorare diventerebbero troppe


Oo, questa e' solo un'idea, se vuoi fare in modo diverso fai pure...   :-)
Secondoi me l'interfaccia come dici tu va benissimo, anche se mi devi
spiegare che intendi per profilo..ah, una cosa carina sarebbe anche il
poter cliccare col mouse su un oggetto nel corso della simulazione
(appena messa in pausa) e poter leggere le stat di quell'oggetto,
quindi direi di fare ESC comce dicevi tu ma nache un tasto per la
pausa in tale modalita' si potrebbe fare click col mouse ad esempio
(se no uno legge le statistiche ma non saprebbe a che Gnammy si
riferiscxono !


- in alto c'e' il menů con le opzioni che hai indicato tu.
Ah, bhe anche, comunque sulle opzioni che ci devono essere siamo tutti
daccordo ? (che e' profilo ?)


 non guardare semplicemente le sue caselle adiacenti ;-)
Si, avevo proposto due tipi di "visione": una normale a distanza di 2-3
caselle.
E l'altra "piu' profonda" alle caselle adiacenti, tipo raggi-x, che ti
devo dire. Questo perche' tempo fa si era parlato di dotare gli Gnammy
di caratteristiche anche "non comuni".
Era solo un'idea. :)


 caselle da esplorare diventerebbero troppe
Purtroppo non mi rendo conto delle difficolta' implementative.
Scusatemi se ho detto una fesseria. :)


 riferiscxono !
Per statistiche intendevo in senso generale... tipo il tempo trascorso o
quanti gnammy ci sono divisi per categorie (capi, sottocapi, peones... /
maschi, femmine, neutri...)


Scusatemi se ho detto una fesseria. :)
No, intendimoci, non e' che sarebbe diventato impossibile, solo che
aumentavano di parecchio i quadretti di cui tener conto e le loro
combinazioni


 Una sorta di Crobots ma con un menů 'a tipo uindous'.
Molto bene, io non avevo previsto lo status delle informazioni!
Per me va bene ache cosi, solo che io nella mia idea di menu volevo fare in
modo di sfruttare tutta l'area dello schermo per vedere l'evoluzione degli
gnammy, i loro comportamenti e i loro movimenti.
Volevo dare il piu' ampio spazio possibile alla vita degli Gnammy.
In realta io volevo far corrispondere uno Gnammy a un pixel dello schermo
oppure a
un carattere se non si usa la grafica.
Tutto qua.
Ma la mia idea e' molto simile alla tua.
Grazie per la tua risposta.
Ciao.
Davide U.

 Che differenza c'e' tra carica simulazione e carica profilo ?
Il profilo = configurazione dei parametri generali della simulazione
Con la possibilita' di richiamare a scelta, un'altra configurazione
precedentemente salvata,
la quale viene applicata alla simulazione in corso dopo il suo caricamento.
Simulazione = Gnammyland + Gnammy ma NON i parametri generali della
simulazione.
Che ne dite?
Ciao.
Davide U.

Era solo un'idea.
oops, scusa non volevo
E' una questione di cicli, cioe' se devo guardare solo le caselle adiacenti
faccio 1 ciclo che guarda nelle 4 direzioni consiste in 8 if  che sono
4*(x,y)
 ma se devo guardare molte caselle i cicli si moltiplicano fra di loro
 faccio  n cicli * n cicli
Ciao.

Ciao Davide,

Grazie per la spiegazione. ^_^
Sei stato molto chiaro.
