Newsgroup: it.comp.ia
Titolo: come ragiona lo gnammy?

Salve sto seguendo il discorso ganmmy e volevo provare a realizzare qualche
cosa...
Vorrei sapere, in relazione al problema base dello gnammy cioè manciare la
pizza, come si impolementa il suo "cervello".
non so molto di IA quindi vorrei sapere le vs opinioni ed eventuali
consigli.
Dunque abbiamo:
- lo gnammy
- una pizza
- una griglia X*Y.
Lo gnammy si può muovere e vede quello che ha nelle celle adiacenti.
Lo gnammy cerca la pizza se la trova bene se no muore, rinasce e ricomincia
a cercare (suppongo una memoria di tipo genetico ?)
Fino qui nessun problema.
Ma in base a cosa lo gnammy decide di muoversi? usa una NN? e se si come la
implemeno? (ehm so di pretendere molto ma un'esempio di implementazione
pretaico sarebbe l'ideale ho letto molto sulle NN ma tutta teoria nessun
piccolo esempio...=(..  )
 e se  usa una NN: con quali ingressi e come la si istruisce??
es enon usa una NN cosa usa? AG? (ad intuito la NN mi sembra la miglior
soluzione)...
Il problema base dello gnammy è stato già risolto (in pratica con del
codice..)?  se si dove posso studiare la soluzione adottata?
Il mio interesse è puramente ludico.... ma il discorso gnammy mi piace
molto...=)
grazie a tutti
Davide C.

 codice..)?  se si dove posso studiare la soluzione adottata?
Ci sono diverse soluzioni al problema dello gnammy sviluppate dai
frequentatori del NewsGroup ma nessuna ufficiale (presumo - vero
Augusto?)


Augusto?)
Esatto, pere quanto riguarda il problema nella sua attuale
formulazione non e' ancora venuta fuori una soluzione definitiva.
Per quanto riguarda invece il problema "ristretto" cio' uno Gnammy
solo, la matrice 9X9, una pizza che rinasce sempre nello stesso punto
e lo Gnammy che quando resuscita mantiene la memoria e' stato risolto
semplicemente usando i pesi delle caselle che venivano aggiornati dopo
ogni morte o dopo che avevano portato alla pizza...per questa
formulazione l'algoritmo e' stato fatto, alla fine e' stato anche
scritto il codice in Pascal da un mio amico di Ingegneria informatica
e in effetti acnhe se non molto ottimizzato dopo un tot di cicli (alla
peggio nell'ordine di 10^2 comunque) lo Gnammy riusciva ad arrivare
alla pizza a diritto per il percorso + breve.
Augusto Pucci
Webmaster di Prospektiva On-line
http://go.to/Prospektiva

Scusa la mi aignoranza ma mi puoi spiegare in parole semplice come è stato r
isolto il problema ristretto? cosa significa aggiornare i pesi delle caselle
già scoperte? un modo per marcare le posizioni in base al livello di corrett
ezza? e come vengono dati questi pesi?
grazie
Davide C.

costruire le NN.
molto interessante come sito.
Io pero' ho la domanda inversa: conosci qualche sito in cui sia spiegata 
la teoria di questi esempi?
grazie
Roby
-- 
			  /:= Linux Powered =:/
  	    /:= e-mail: metti "libero" al posto di "NOSPAM" =:/

 la teoria di questi esempi?
A dire il vero li sto' cercando anche io...   :<
Martino.


Dunque sull'effettiva implementazione ti posso dire poco perche' come
scrievvo personalmente non l'ho mai scritto tale codice...in pratica
l'ha messo un amico in Pascal e funzionare in effetti funzionava...ma
su come fosse fatto il codice non ti so dire nulla.
Se pero' ti accontenti della descrizione dell'algoritmo che gli avevo
fornito come base su cui implementare eccola:
la pizza appare all'inizio della simulazione "ristretta" in un punto a
caso della matrice e le coordinate di questo punto vengono memorizzate
in una variabile vettoriale (dim=2) cosi' fatta : pizza =
{x_pizza,y_pizza}.
Dopodiche' lo Gnammy a0ppare in una posizione a casdo della matrrice
9x9. A questo punto si crea una copia della amtrice 9x9 che
originariamente contiene tutti zeri.
Ora lo Gnammy comincia a muoversi secondo la seguente regola (solo in
orizzontale e verticale):
-leggi i valori delle quattro celle contigue (all'inizio sono tutti 0
)
-vai nella casella che ha peso maggiore (a parita' di peso scegli a
caso fra le caselle che abbiano stesso peso nella matrice copia)
-memorizza questa mossa nella matrice mosse (2 colonne 20 righe)
a ogni passo togli uno alla salute (che parte da venti)
ora:
se lo Gnammy fa venti mosse senza trovare la pizza muore, allora le
vcaselle su cui e' passato in questo turno (che rappresentano un
percorso che lo ha portato alla morte) verranno decrementate di peso
di 1, a questo punto lo Gnammy rinasce in un punto a caso (si
riinizzializza la matrice mosse, ma si lascia com'e' la matrice copia
che rappresenta la memoria tramandata tra le varie incarnazioni dello
Gnammy)
Se invece lo Gnammy trova una pizza le caselle che corrispondino al
percorso da lui seguito vengono incremenatte di valore di 1 unita', lo
Gnammy scomare, riappare in un punto a caso della matrice e la pizza
rinasce dov'era.
E si ricomincia..notare che : in questo problema "ristretto" la pizza
nasce sempre nello stesso posto, lo Gnammy riappare con memoria di
cio' che ha fatto prima ..e lo Gnammy non puo' apparire dove c'e' la
pizza.
in questo modo dopo un buon numero di cicli lo Gnammy si trovera'a
decidere le proprie mosse basandosi su una matrice che contiene pesi
delle caselle fatta in modo da portarlo (se appuntos egue le regole
dette sopra) alla pizza..e il tutto con il percorso + breve possibile.


praticamente il problema dello Gnammy "ristretto" si risolve con un automa
cellulare .. dico bene?
ma se č cosě i 2 problemi/scenari dello gnammy sono inconciliabili o no?
grazie delle info=)

la teoria di questi esempi?
provate qua
http://www.statsoft.com/italian/retineur.html
http://www.ice.ge.cnr.it/Biologia.html
http://www.poli.studenti.to.it/~s501726/ia/logikos/Retin.htm
spero vi possano essere di aiuto.
ciao.
Davide U.