Newsgroup: it.comp.ia
Titolo: GNAMMY - Il mio contributo

Allora. Tanto e' stato detto. Delle idee che mi frullano per la testa
sono riuscito a formalizzarne un paio.
1) Complicare la struttura del DNA. Chi l'ha detto che ogni
caratteristica e' codificata come una successione di bit contigui?
Perche' non prevedere un tot di cromosomi,
e poi stabilire ogni caratteristica come combinazione di piu' bit.
In questo modo, alcune caratteristiche sarebbero anche correlate,
dipendendo dallo stesso cromosoma.
Esempio in simil C++
class DNA {
	byte crom[10];
	colore coloregnammy () {return crom[1]+crom[2]*2-crom[5];}
	short salutemax () {return 20+crom[1]+2*crom[7]-crom[9];}
	...};
Ovviamente, dovrebbe esserci una certa correlazione logica, o meglio
coerenza, nelle scelte...
2) La comunicazione. Qualcuno ha proposto una danza simile a quella
delle api, ma la cosa e' improponibile, visto che lo Gnammy
consumerebbe tutta la provvista di energia per avvisare i suoi simili.
Allora ho pensato a quanto segue.
In pratica, quando lo Gnammy viene a contatto con una pizza, secerne
un enzima che viene percepito dagli altri gnammy.
Il grado di penetrazione dell'enzima (quanto lontano arriva) e quello
di percezione (con quanta precisione si riesce a risalire all'origine)
sono ovviamente codificati nel DNA. A coloro che sono maggiormente
dotati in queste due facolta', nel caso gli gnammy si organizzino in
tribu', potrebbero' essere riconosciuti particolari ruoli...
Ma mi sto' spingendo troppo oltre. Vi saluto.
Byez
un DeK che domani, chissa'...
--
DeK - Delirio & Kaos
FAN n.1 del CrossPost e dell' OT :)
Visita One Big Mob - 
http://dek.hey.to

 ...};
Dopo tanto dotto chiaccherare sul ns. amico Gnammy  (chissà perchè me li
visualizzo come cilidretti di morbida gomma :) sarebbe il caso di iniziare a
fare qualcosa di tangibile ed iniziare a scrivere il software di base.
Primo problema il linguaggio da adottare e sopratutto il compilatore in modo
da poterci passare le varie sezioni di codice tra di noi in modo indolore.
Per quanto riguarda il linguaggio la scelta, a mio modesto avviso, è univoca
e tocca orientarsi verso l'ANSI C, i motivi sono i seguenti :
1) La potenza e l'efficienza, un buon compilatore ANSI C lavora con un
rapporto 4 rispetto all'assembler, ovvero mediamente ogni istruzione C viene
risolta con 4 istruzioni assembler.
2) La semplicità d'uso e l'elevata standardizzazione che permette di
compilare senza problemi lo stesso prg sotto qualunque sistema operativo
(Dos, Windows vari, Linux, Unix, Amigados, Macos, OS2, ADA etc. etc.)
3) La programmazione ad oggetti in AI è solo un peso inutile, non serve
assolutamente a nulla.
4) La possibilità di creare librerie ottimizate (magari fatte in Assembler)
per le funzioni standard dello Gnammy.
5) Il basso costo (anche free) di un buon compilatore che dovrà essere lo
strumento di lavoro comune per tutti gli
sviluppatori, p.e. ottimo il compilatore GNU di Linux totalmente free.
P.S.
Ma se anzichè la pizza della pizzeria gli diamo quelle schifezze delle pizze
precotte, almeno costano di meno :)))
Ciao
Marco d'Ambrosio  
m.dam...@tiscalinet.it
http://utenti.tripod.it/razzimodellismo
    ACME I-RM-05
http://web.tiscalinet.it/mda
http://digilander.iol.it/robotica
 (under construction)

 Visita One Big Mob - 
http://dek.hey.to
Tutto ciò è bello e interessante, ma forse stiamo travisando il senso
del progetto Gnammy: l'evoluzione di questo potrebbe essere una
caratteristica che lo renda più interessante. Raccogo personalmente il
senso degli ultimi messaggi di Alessandro Monti, che cerca, forse
invano, di porre l'accento più sulla capacita' dello Gnammy di cercare
il cibo autonomamente, piuttosto che la capacità di propagare la specie.
Martino.

assolutamente a nulla.
Premetto che sono un semplice curioso appassionato di informatica, e seguo
il progetto gnammy solo sul ng,  ma potresti 
spiegarmi perche' la programmazione ad oggetti e' inutile?
A primo acchito, a me sembrava invece quella migliore per modellizzare delle
entita' come gli gnammy .
Grazie per l'attenzione.
Saluti
Robby
			  /:= Linux Powered =:/
  	    /:= e-mail: metti "libero" al posto di "NOSPAM" =:/

 Robby
Finchè si parla di realizzare i soliti applicativi in ambiente windows (ma
anche dos) la programmazione ad oggetti non solo è utilissima ma anche
consigliatissima.
La programmazione di una AI, e lo gnammy vorrebbe esserlo, richiede la
possibilità di fare anche i salti mortali tripli carpiati, cosa che l'ANSI C
permette ma il C++ no perchè è limitato dalla struttura stessa del concetto
che sta alla base della programmazione ad oggetti.
Tieni presente che l'OOP è stato pensato per facilitare la vita ai
programmatori e ridurre il tempo di sviluppo degli applicativi, ma lo scotto
da pagare è, oltre all'efficenza del programma, la mancanza d'elasticità
degli oggetti stessi.
So che stò per snidare un vespaio ma provare ad affrontare un semplice
problema come il quick sort prima con l'ANSI C e poi con il C++ e vi
accorgerete subito dei problemi creati dall'OOP.


 precotte, almeno costano di meno :)))
Perchè secondo me gli gnammy in tal caso deciderebbero che non vale la pena
di vivere :-)
--
Alessandro Monti

 Ma mi sto' spingendo troppo oltre. Vi saluto.
Sarà, ma mi fai venire la curiosità di scoprire che marca di tabacco fumi
:-)
Per quanto mi riguarda, sei troppo oltre. Ti comunico però che la
complicazione dei cromosomi è inutile. basta complicare il meccanismo di
riproduzione/scambio dei geni.
Un po' come avviene in natura, insomma ;-)
Se continuiamo così, bisogna anche stabilire come faccia lo gnammy a
selezionare i suoi partners. Sono più belli qualli magri (che mangiano la
pizza ogni tanto) o quelli grassi? E vi sono solo 1 o 2 sessi? Perhè non 3,
o 4? Perchè non si codifica anche il numero di sessi per le varie
sotto-specie di gnammy: alcuni hanno solo 2 sessi, altri 4 (e diventa così
più difficile la procreazione, avendo bisogno di trovare non 1 solo partner,
ma 3 prima di riprodursi!!!).
--
Alessandro Monti

 accorgerete subito dei problemi creati dall'OOP.
Niente vespai, per carità...
Ma sei sicuro di quello che stai dicendo? Guarda che il C++ supporta
benissimo il Qsort del C.
Temo che quello che dici sia valido solo per chi non conosce il C++ e l'OOP
(non me ne volere).
Non che io mi ritenga un esperto in materia, ma trovo quantomeno curiosa
questa affermazione.
Se vogliamo andare ad un livello un po' più approfondito rispetto alle
semplici parole, la traduzione di un programma C++ avviene nello stesso modo
di un programma C, con l'unica e poco rilevante differenza che ogni metodo,
rispetto alle equivalenti funzioni C, ha un parametro in più (il this
implicito), cosa che del resto dovresti simulare in qualche modo se vuoi
programmare in modo parametrico.
Ovvero: se vuoi che una stessa funzione di "sopravvivenza" sia riusabile per
diversi tipi di gnammy, devi in qualche modo passare come parametro lo
gnammy stesso (o delle sue parti, fa lo stesso), cosa che in C++ avviene in
modo esplicito e probabilmente in modo più efficente.
Cosa ancora più importante: il C++ ti evita molte complicazioni ed errori
nella stesura del codice.
Certo che se poi programmi in C++ senza avere una "mentalità" C++, allora
produci del codice simil-C appesantito dagli oggetti, in questo ti dò
pienamente ragione. Ma esiste anche un altro modo...
Altre differenze sono solo a livello sintattico e/o di controllo dei tipi,
ma sono tutte cose che, volendo, possono essere tranquillamente bypassate
senza che sia necessaria una riga di codice ASM in più (cast espliciti e
compagnia bella).
Inoltre, insisto, se proprio ti viene in mente una soluzione bella,
elegante, e straordinariamente ottimizzata in C o in ASM, non devi fare
altro che... scriverla!
Il C++ è perfettamente in grado di compilare il C, e di interfacciarsi con
esso senza per questo introdurre alcunchè di "pesante". Ci sono in effetti
alcune (rare) circostanze in cui la compatibilità non è pienamente
supportata, ma, ad esempio e per quel che vale, personalmente non mi sono
mai imbattuto in tali casi.
--
Alessandro Monti

 degli oggetti stessi.
In che senso non sono elastici gli oggetti?
Non è flessibile la programmazione OO che ti impone dei vincoli di
ereditarietà et simila, semmai molto difficili da analizzare (per quanto
mi è capitato di dover sviluppare).

 ereditarietà et simila, semmai molto difficili da analizzare (per quanto
Impone?
--
Alessandro Monti

strumento di lavoro comune per tutti gli
Un po' di anni fa creai un piccolo Gnammy generator in puro Assembler 100%
Arriva a comandare fino a 2000 gnammy contemporaneamente.
Ho anche creato un compilatore assembly che ha una sintassi simile al basic
e sarebbe l'ideale per creare dei programmi in Gnammy e molto simile al C
ma e' almeno 10 volte piu' veloce.
Se volete ve li do.
Ciao.
Davide U.


Riformulo la frase per chiarezza:
Il C++ ha dei vincoli (sopratutto per quanto riguarda la gerarchia di
oggetti) che spesso "impongono" (in forma non categorica) uno sforzo
aggiuntivo in fase di analisi, per avere una architettura software il
più fluida possibile.

 Alessandro Monti
Aggiungerei che non si tratta di un software di IA che deve essere
montato su una astronave o quant'altro, che ha bisogno della massima
efficenza nelle situazioni più critiche.
Non ho nulla contrario alle librerie in ASM (anche perché non lo conosco
bene e sarebbe un buon metodo per iniziare ad apprenderlo), ma mi sembra
allo stato attuale una complicazione inutile.
Martino

On 24 Feb 2000 19:39:07 GMT, rbt...@NOSPAM.it (Robby) wrote:
Bhe ad oggetti non serverebbe granche poiche' lo gnammy lo puoi
rednere bene anche come una semplice entita' dato strutturato..e' +
lineare..e generalmente + effucuente come codice..il che non fa male
in questo caso visto che ad una rapida stima della complessita' lo
gnammy temo che impegnera' notevoli risorse
Augusto Pucci
Webmaster di Prospektiva On-line
http://go.to/Prospektiva

sviluppatori, p.e. ottimo il compilatore GNU di Linux totalmente free.
mmm lo GNU dici ? Bhe puo' essere un idea..ma ce l'abbiamo tutti Linux
? Ehi voi dello Gnammy Dev Team che dite ?
Ma senti, perche' se no non usiamo il Turbo C dell'89 ? Molto vicino
allo standard ANSI (poi basta non usare funzioni e libreire
non-standard piuttosto efficiente , gratis (nel sito
Borland)..comunque di questo ne possiamo parlare.
Ah, una cosa, come standard proporrei di adottare l'ANSI C come e'
codificatonel libretto "Linguaggio C - Seconda Edizione" di Kernighan
e Ritchie che ne dici ?


 wrote:
manda manda !!!


ma 3 prima di riprodursi!!!).
 Hey Ale ma lo Gnammy e' una creaturina innocente..gli vogliamo
proprio far fare delle orge ? :-)


Quello che ancora non capisco e come facciamo ad "equilibrare" le
caratteristiche di questo gnammy, attraverso delle leggi?
Per esempio: La velocità è importante perchè gli permette di arrivare alle
pizze prima degli altri, risultato: gli gnammy aumentano la prorpia velocità
in maniera esponenziale senza limite.......
Per noi esseri umani essere veloci comporta una serie di conseguenze, avere
articolazioni più complesse, avere muscoli più potenti..... come glie lo
comunichi questo allo gnammy???
Gli facciamo un mondo di regole??
Secondo me per avere dei buoni risultati bisognerebbe vedere lo Gnammy
trovare soluzioni "intelligenti" e non seguire direzioni infinite.
Cmq buona idea il DNA con X cromosomi e anche io voto per il C/C++ anche se
io lo farei in Assembler :)
P.s Ve le ricordate le pizzette catarì? Mettiamoci quelle! :))
--
Posted from 
ts0001.tesoro.it
 [195.103.126.2]
via Mailgate.ORG Server - 
http://www.mailgate.org

 proprio far fare delle orge ? :-)
Poverino, già gli diamo solo le pizze...
Famolo divertire un pochino.
Scherzi a parte, per mettere in piedi un qualche algoritmo genetico (con
scambio di geni) in qualche modo dovrà pure riprodursi, no?
Oppure è solo una lotta al più forte, con popolazione iniziale
predeterminata? Lo so, questa era l'idea che avevo proposto all'inizio (e
forse è stat questa a scatenare il filone "genetico"), ma date come sono
andate evolvendosi (quelle si, finora) le idee...
--
Alessandro Monti

 compagnia bella).
Le righe in ASM le usi per ottimizzare delle routine di manipolazione
binaria o su numeri interi.


 elaborazione della CPU.
Ovviamente la serie di motivi era pensata al C in generale quindi sia C++
che ANSI C, il rapporto 1:4 lo indica WATCOM in merito al suo compilatore e
posso garantirti che è vero, ovviamente applicando i loro test e compilando
come dicono loro.
Le prestazioni non mi preoccupano più di tanto ma se possiamo spremere la
max velocità dalla CPU perchè non farlo ?
Sono d'accordo sul fatto di evitare ore e ore di lavoro per i risparmi
inutili.


 allo stato attuale una complicazione inutile.
Non è mai troppo tardi :) e non è una complicazione inutile, sopratutto
quando lo conosci bene e lo sai uasre.


 e Ritchie che ne dici ?
Perfettamente d'accordo, il vecchio Turbo C va benissimo, tra l'altro è
possibile avere il C 5 di Borland (ottimo) praticamente a solo 30.000 Lire
(il puro costo d'invio del CD originale)


 P.s Ve le ricordate le pizzette catarì? Mettiamoci quelle! :))
Povera bestia, al suo posto mi lascerei morire d'inedia :)


 
se evitiamo l'asm forse riusciamo anche a renderlo portabile... non
sarebbe male :-)
bye!
-- 
Emanuele Cesena                  
http://www.penguinpowered.com/~ecesena
ece...@penguinpowered.com
 - Attenzione antispam: ROT13 per rispondermi 
Balle!  Se le avessi sarei Re.
		-- Regina Elisabetta [apocrifa]

 Davide U.
Ciao Davide, se non è troppo grande me ne manderesti una copia anche a me?

 wrote:
No,no scherzi a parte certo che si deve poter riprodurre, passare
dalla facse larvale a quella adulta, infine alla vecchiaia e poi
morire, senti ma ora che la parte genetica e' abbastanza
chiara..l'apprendimento come lo inseriamo ? Magari attraverso i geni
potrebbe trasmettersi anche la memoria degli Gnbammy sulle
configurazioni e e ipesi delle caselle dell'universo che ne dici ?


 wrote:
Si infatti dobbiamo pensare come integrare l'evoluzione del DNA con la
memoria..magari rendendo la memoria trasmissibile attraverso il
DNA..cosi' lo Gnammy che e' riuscito ad arrivare alle pizze elaborando
inizialmenter percorsi random potra' trasmettere queste configurazioni
ai suoi discendenti.
Per le limitazioni...bhe certo quelle dipenderanno dalle leggi del
mondo Gnammy


(il puro costo d'invio del CD originale)
Dal sito Borland ? No te lochiedo perche' in facolta' abbiamo proprio
quello ma per la mia casuccia non l'avevo ancora trovato a prezzo
abbordabile


 Augusto Pucci
Si, almeno fino ad un paio di mesi fa, io l'ho richiesto e ottenuto in solo
14 giorni.


 
http://go.to/Prospektiva
Era l'idea che avevo anch'io quando abbiamo iniziato il thread sulla
propagazione genetica

 compilare senza generare l'eseguibile ma solo il listato assembler (già
Era dai tempi del TurboC che non lo facevo più, ma mi hai messo una pulce...
Ho generato l'asm di una piccola libreria da me scritta, dove le prestazioni
sono piuttosto importanti, ma non ho notato quello che tu dici (linee
accessorie dell'ASM a parte)
Come esempio, quarda come viene tradotta una espressione:
 return (1/ (1 + exp (-ingresso))); // Valori double, si intende
 fld QWORD PTR _ingresso$[esp-4]
 sub esp, 8
 fchs
 fstp QWORD PTR [esp]
 call _exp
 fsub QWORD PTR $T46476
 add esp, 8
 fdivr QWORD PTR $T46477
 ret 8
Non mi pare che sia così tragico, no? Potrei anche fornire altri pezzi di
codice, magnificamente tradotti, spesso con rapporto 1:1
Le pesantezze vengono piuttosto in altre parti, come i
costruttori/distruttori, e per l'allocazione/rilascio di memoria, ma sono
operazioni che di solito avvengono in percentuale risottissima rispetto alla
computazione di altre cose.
Ho notato invece che il VC++ 5.0 tende a generare un assembler piuttosto
"disordinato", dove non mantiene l'ordine delle istruzioni C++, ma inserisce
a suo piacimento dei salti, probabilmente ai fini dell'ottimizzazione delle
dimensioni (eppure credo di avergli detto di ottimizzare la velocità. Bho!).
Ciò rende comunque il codice poco leggibile, non poco ottimizzato.
Da notare, comunque, che avevo fatto delle prove usando il compilatore
Intel, che si appoggia al VC++ per le librerie e amenità varie: genera
codice più veloce mediamente del 5% (nel mio caso), il che vuole dire che
esistono compilatori più efficenti.
Una considerazione finale: quella libreria è scritta in C++, sebbene fin
dall'inizio avevo in mente una implementazione in C tremendamente più
efficente. Nonostante le prestazioni fossero uno dei parametri cruciali,
l'impresa di dover gestire una gran quantità di possibili fonti d'errore e
una serie di problematiche per la gestione che invece in C++ si scrivono
quasi senza pensarci, mi ha fatto decidere per il C++. Stimo la perdita di
prestazione in qualcosa come un rapporto 1:5, ma il tempo di codifica in
almeno 1:10, senza contare che nella versione super-ottimizzata in C avrei
dovuto rinunciare ad inserire alcune features che invece rendono ora la
libreria molto flessibile, ed è questa flessibilità "aggiuntiva",
principalmente, a fare scadere le prestazioni. Se invece avessi scritto il
tutto in C++ così come invece avevo ideato il progetto in C, probabilmente
le prestazioni nei casi d'uso reali sarebbero state molto simili se non
uguali, dato che la maggior parte del tempo è speso in calcoli (non banali)
su vettori.
Con il rischio di far diventare questa lettera troppo lunga (ed è già OT),
aggiungo che i calcoli da eseguire sono quelli sopra riportati, il che vuole
dire che una indirezione in più (raggiungere l'elemento tramite un puntatore
a puntatore invece che un indice solo, forse), mentre poi il calcolo prende
molti cicli di CPU.
Una vera svolta nell'ordine dei tempi di calcolo potrei invece ottenenerla
discretizzando la funzione di cui sopra e calcolarla una volta per tutte,
trasformando così tutti quei calcoli nel semplice accesso ad una tabella.
Ancora una volta, la scelta dell'algoritmo è più incisiva di come lo si
programma... quando serve :-)
--
Alessandro Monti

 solo l'ennesimo clone di Life allora bastano 1000 al max 1200 righe di
In quale linguaggio? :-)))
--
Alessandro Monti

 configurazioni e e ipesi delle caselle dell'universo che ne dici ?
A questo punto, proporrei di inserire nei geni solo la misura della memoria
(1K, 2K, quello che si vuole).
La memoria vera e propria se la scambiano solo quando si incontrano.
Supponiamo che i genitori diano il proprio contributo, ognuno il 5% delle
sue esperienze, mentre ogni volta che uno gnammy ne trova un'altro
adiacente, si scambiano l'1% reciprocamente.
Le percentuali possono essere riviste, ovviamente, e non avrei idea di come
implementarlo. Ma se si puň implementare con i geni si puň sicuramente
implementare anche cosě.
O no?
--
Alessandro Monti

 wrote in message
8977ok$10e$4...@pegasus.tiscalinet.it...
Voi criticate tanto il C++ esaltando il C. Ma vi siete accorti che il C++ č
multiparadigma, ovvero oltre a essere basato sul paradigma imperativo
predilige la programmazione strutturata, la programmazione generica e la
programmazione ad oggetti.
Ogni cosa realizzabile in C č anche realizzabile in C++ e di sicuro un
programma in C++ č 2 volte migliore di uno scritto in C:
Se poi elenchiamo le varie cazzate che si trascina dietro il C come lo
schifoso sistema dei tipi....
Arrivederci.

 Arrivederci.
Nessuno stà cirticando il C++, semmai stiamo criticando l'utilità della
programmazione ad oggetti, in  generale, applicata alla AI


 programmazione ad oggetti, in  generale, applicata alla AI
Scusate ma credo proprio di aver inteso male il discorso che avete
affrontato. Ma posso dire che condivido pienamente il vostro parere, solo
che io vedrei la programmazione strutturata su C++ piuttosto che sul C.
Mi dispiace del tempo che ho fatto perdere.


 Mi dispiace del tempo che ho fatto perdere.
Per quanto riguarda la programmazione strutturata fatta col C++ piuttosto
che col C standard sono perfettamente d'accordo con te, del resto ormai
esistono solo compilatori C++, solo i compilatori per piccoli micro
(microcontroller) sono rimasti C standard.


>Il primo step sarà proprio la creazione di GnammyLand :)
Pensavo di creare un paesaggio standard con alcune limitazioni generali, poi
ognuno di noi potrebbe creare librerie che rappresentino oggetti sempre più
complessi, per esempio alberi o sole, all'avvio del software di gestione del
tutto questo potrebbe richiedere il numero di oggetti presenti sul
territorio e il tipo specifico, prelevando dalle librerie a disposizione
tutte le parti necessarie.....
Si tratterebbe così di un applicativo esteso e continuamente in evoluzione,
tra l'altro ora che ci penso anche lo Ganmmy è una libreria....
....ma forse così diventerebbe una gara di Crobots? ma.....
Cmq l' idea di base è questa, almeno così ci possiamo scambiare parti di
software senza difficoltà!
Per esempio anche la gravità è una Dll che interagisce con un'altra dll che
è il territorio e così via sino a generare gerarchie di oggetti sempre più
complessi, cominciamo con poche e vediamo come va e poi ci estendiamo nelle
direzioni più interessanti vedendo come lo Gnammy (a questo punto la nostra
IA) come agisce....
Ciao Emiliano.
P.s Io farei un robot vero così il territorio ce l'abbiamo già! :)


ma 3 prima di riprodursi!!!).
Beh, oddio, a me e' questa che sembra una complicazione inutile.
Sarei + propenso ad inserire le leggi dei cartoni animati come
suggeriva qualcuno :)
Byez
un DeK che ha dato geometria tornando a casa in tempo x "The Simpsons"
(e adesso vi beccate la pre-sign lunga fino a fine sessione :P)
--
DeK - Delirio & Kaos
FAN n.1 del CrossPost e dell' OT :)
Visita One Big Mob - 
http://dek.hey.to

 Augusto Pucci
Ho cercato sul sito della Borland il caro vecchio Turbo C ma non l'ho
trovato.
Comunque esiste il GNU C Compiler anche per altre piattaforme oltre a
linux.
Per DOS esiste l'ottimo DJGPP al sito 
www.delorie.com
Per Windows esiste il mastodontico CYGWIN della Cygnus recentemente
acquisita da RedHat, o (quello che preferisco) il MINGW32 che offre solo
il supporto per Windows, mentre il CYGWIN offre in pių un ambiente molto
simile agli UNIX/Linux.
Per il progetto io sarei propenso ad utilizzare il DJGPP che oltre tutto
offre in modo nativo la programmazione con la DPMI. Esistono oltre tutto
delle ottime librerie (molto ben ottimizzate) per la gestione grafica
sotto dos, tanto che ci sono stati fatti anche dei giochi.

 un ingìfo rdiversa da quella che lo gnammy aveva ?
Direi... implementation-dependant.
Magari codificata con dei geni, ma personalmente preferirei che accettasse
solo info "nuove".
--
Alessandro Monti


wrote:
Anch'io avevo sentito parlare molto bene del DJGPP, se va bene a tutti
e' asggiudicato




Si in effetti cosi' diventa + semplice la cosa, quindi solo nuove info
su celle non ancora pesate dallo Gnammy che apprende giusto ?


>sviluppatori, p.e. ottimo il compilatore GNU di Linux totalmente free.
AP> mmm lo GNU dici ? Bhe puo' essere un idea..ma ce l'abbiamo tutti Linux
AP> ? Ehi voi dello Gnammy Dev Team che dite ?
se si sviluppa sotto linux io vi bacio i piedi ;)
In ogni caso per windows esiste un porting del compilatore gcc di
linux, ed e' pure un ottimo compilatore da quel che so (mai provato
personalmente, preferisco l'originale ;)).
AP> Ah, una cosa, come standard proporrei di adottare l'ANSI C come e'
AP> codificatonel libretto "Linguaggio C - Seconda Edizione" di Kernighan
AP> e Ritchie che ne dici ?
come standard propongo di adottare l'unico standard esistente oggi
per il C, ovvero l'ISO C (tanto siamo sempre li' :))
Direi che, visto che ci lavoriamo potenzialmente in molti, sia
fondamentale attenersi il piu' possibile al C standard, eventualmente
relegando in un angolino tutto quello che standard non e' (es.
eventuale interfaccia grafica), in modo che sia possibile scrivere
agevolmente dei porting per le varie piattaforme.
-- 
ciao,
Claudio

Pape' Satan, pape' Satan aleppe, comincio' Augusto con voce chioccia:
AP> Si infatti dobbiamo pensare come integrare l'evoluzione del DNA con la
AP> memoria..magari rendendo la memoria trasmissibile attraverso il
AP> DNA..
secondo me bisognerebbe tenere le due cose separate, la memoria si
'resetta' ad ogni morte, il codice genetico si propaga tra le
generazioni. Potremmo fare pero' in modo che la memoria si possa
trasmettere in qualche modo da uno gnammy all'altro. Sarebbe bello
vedere comunita' di gnammy in cui un saggio trasmette tutta la sua
conoscenza ai discepoli:)).
Insomma, mentre il DNA si trasmette, eventualmente con
qualche modifica, solo da genitori a figli, la memoria si puo'
trasmettere tra due gnammy qualsiasi che siano vivi nello stesso
momento e che siano abbastanza vicini.
Mi sembra piu' vicino al mondo reale, in cui l'esperienza
di una persona deriva in gran parte da quella che gli e' stata
comunicata da altri, e non da quella che si e' "creato" da solo, o da
qualcosa che ha ereditato geneticamente.
(domani, quando saro' sveglio, cerchero' di rileggere questo
messaggio per capire se ho scritto una cazzata o meno :)))
-- 
ciao,
Claudio

Pape' Satan, pape' Satan aleppe, comincio' Francesco con voce chioccia:
FF> Ogni cosa realizzabile in C č anche realizzabile in C++ e di sicuro un
FF> programma in C++ č 2 volte migliore di uno scritto in C:
generalizzazione piuttosto stupida: un programma scritto in C++ puo'
essere (migliore || uguale || peggiore) di uno scritto in C. Dipende
dal programmatore. Anche con il linguaggio piu' figo del mondo si 
possono scrivere degli aborti...
FF> Se poi elenchiamo le varie cazzate che si trascina dietro il C come lo
FF> schifoso sistema dei tipi....
per non parlare delle cazzate introdotte dal C++, ma quello e' un
altro discorso e questa non e' la sede adatta ;))
-- 
ciao,
Claudio

 su celle non ancora pesate dallo Gnammy che apprende giusto ?
Si.
A voler complicare le cose, si potrebbe memorizzare anche "da dove" vengono
le info.
Se le ha verificate lui stesso, non vengono mai sovrascritte, altrimenti
sempre (supponendo che lo gnammy propenda a credere alle info più recenti,
più aggiornate).
Oppure un tempo di scadenza (quanto sono vecchie le info che ha? Mi pare che
il mondo sia piuttosto dinamico...), dopo il quale ogni info diventa
inattendibile.
Oddio, qui si va a finire che lo  gnammy deve avere un motore inferenziale
interno solo per gestire le info in contraddizione :-(((
--
Alessandro Monti

>> Call _exp
E' qui la pesantezza, prova a darci un'occhiata col turbo-debugger e
capirai.
Ciao
Davide U.

messaggio per capire se ho scritto una cazzata o meno :)))
No,no, non hai scritto affatto una cazzata, si ottimo, allora il DNA
degli Gnammy (con eventuali mutazioni) si trasmettera' ereditariamente
con la nascita di nuovi Gnammy (come ovvio) e la memoria si
trasmettera' attraverso il diaologo tra gli Gnammy (e dipendera' anche
dall'intelligneza di uno Gnammy e dell'altro quanto del sapere si
trasmettera' effettivamente).
Il problema pero' resta in parte: indfatti che succede se due Gnammy
si incontrano e hanno conoscenze del mondo parzialmente
contraddittorie ? Perche' ad esempio uno e' andato dopo l'altro in un
posto dove ora ci sono pizze e prima no ?




Dai ragazzi non attacchiamo a litigare... :-)


le info.
Si in effetti direi di mettere delle "etichette" alla memoria di ogni
Gnammy che ci facciano subito capire quando e' stato l'ultima volta
uin cui il peso di una cella della matrice e' stato aggiornato..ottimo
cosi' !


e' asggiudicato
A me va bene (l'ho gia' scaricato... anche se poi, non l'ho mai
installato :-P)


 posto dove ora ci sono pizze e prima no ?
Dipende dal parametro "cocciutagine": se lo Gnammy e' testardo prende
per vero il suo dato, altrimenti se e' uno Gnammy credulone si fida del
dato fornitogli dall'altro Gnammy.
Cosi' vediamo se l'evoluzione premia i testardi o no. 
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)

Pape' Satan, pape' Satan aleppe, comincio' Augusto con voce chioccia:
AP> Il problema pero' resta in parte: indfatti che succede se due Gnammy
AP> si incontrano e hanno conoscenze del mondo parzialmente
AP> contraddittorie ? Perche' ad esempio uno e' andato dopo l'altro in un
diamo agli gnammy anche un parametro "capacita' di persuasione". 
Piu' alto e' tale valore, piu' lo gnammy e' in grado di convincere
gli altri che le sue idee sono quelle giuste.
-- 
ciao,
Claudio

> Cosi' vediamo se l'evoluzione premia i testardi o no.
Questa cosa mi piace un sacco!
Ditemi i risultati, se il tutto parte davvero.
--
Alessandro Monti