ainulindale-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ainulindale-devel] Cellular automata


From: Andrea Negro
Subject: [Ainulindale-devel] Cellular automata
Date: Thu, 7 Aug 2003 15:13:53 +0200

Arieccomi, stufo del caldo e dell'inglese.
Dunque, nonostante Fede abbia sempre da dire che non penso mai ad 
Ainulindale, io lavoro nell'ombra per tirare fuori sempre nuove e 
inattuabili teorie.
Ora mi sono messo in testa che possiamo usare il concetto di automata 
cellulari per gestire alcuni aspetti del gioco, in particolare gli aspetti 
'naturalistici' e arrivare al concetto di dna.
Ora, non vorrei spendere fiumi di parole a spiegare cosa sia un automata 
cellulare, perchè la teoria a cui mi rifaccio è un attimino complicata, se 
volete poi ve la spiego a voce. Comunque si tratta di un modo per creare 
complessità a partire da regole di base molto semplici e un certo numero 
di computazioni. Faccio un esempio semplice.

Rule 1:
*-- (quando trovo questa sequenza...)
 *  (...la posizione centrale sottostante sara' un asterisco.)
Rule 2:
--*
 *
Rule 3:
-*-
 -
Rule 4:
*-*
 *
Computazione:
---*--- (situazione di partenza)
--*-*-- (applicate regole 2,3,1)
-*-*-*- (applicate regole 2,3,4,3,1)
...

E cosi' via. Ora, e' facile immaginare che trovando varie regole e vari 
sistemi si possa generare molti bei pattern interessanti. Il punto 
cruciale e' che molte combinazioni di regole danno schemi ripetitivi, 
altri (meno) danno degli schemi 'nested', ovvero frattali: ma c'e' una 
percentuale di regole semplici che invece danno comportamenti del tutto 
random e imprevedibili, ed è proprio questo il succo. Inoltre, si può 
trovare regole di base che generano strutture che, a suon di computazioni, 
vengono ad assomigliare a foglie, alberi, conchiglie, etc etc etc. Questo 
ovviamente sia in 2 che in 3 dimensioni.

Faccio un paio di esempi pratici, per vedere se la cosa vi ispira.
- Crescita degli alberi: io, nella mia ignoranza informatica, vedo un 
albero come una struttura dati che ne definisce in primo luogo la forma, e 
poi alcune caratteristiche (non considero la posizione). I casi sono due: 
o si fanno una serie di alberi diversi e si mettono a random, o si crea un 
qualche sistema affinche' questi alberi crescano e si modifichino da soli. 
Gli automi cellulari vorrebbero fare la seconda. In pratica, per ogni 
specie di albero bisogna identificare una serie di regole base molto 
semplici, come le precedenti, e ricadere in uno degli schemi che generano 
un minimo di caoticita'. Quindi, ogni albero non ha definita a priori una 
struttura, ma un insieme di regole. Nella struttura dati di un albero ci 
saranno quindi le informazioni di stato circa la computazione di crescita 
raggiunta. Ogni tanto si potrebbe far partire un agente (locale o remoto) 
che, preso in input lo stato attuale dell'albero, generi una o due 
iterazioni applicando le regole, e sostanzialmente facendo 'crescere' 
l'albero senza alcuno schema prefissato.
- Livrea di drago: esempio scemo, ma molti automata con regole davvero 
stupide generano pattern che starebbero davvero bene addosso a un drago. 
Ora, come per l'abero si puo' pensare che ogni drago abbia associato un 
'agente' che nel tempo calcola la nuova pelle, e quando termina di 
riempire tutta la texture necessaria il drago fa la 'muta'. Ora non so se 
un drago faccia la muta, ma e' tanto per chiarire il concetto. :)

Estendendo questo concetto, si potrebbe pensare a queste regole base come 
a 'geni'. Se riusciamo a trovare un metodo standard, molto di base, per 
codificare le caratteristiche in regole semplici, esattamente come un dna, 
possiamo applicare questo concetto a praticamente tutto quello che vive 
nel mondo. Oltretutto, dovendo agire solo su questi 'parametri 
standardizzati', si ha automaticamente un metodo molto semplice per creare 
e modificare le cose. Viste in questo modo, inoltre, viene automatico 
implementarne l'ereditarieta', ed eventualmente le deviazioni, malattie 
genetiche, aberrazioni, etc etc etc.

Kind Regards,
Andrea Negro

-- 
Linux & Grid FTSS
IBM South Region





reply via email to

[Prev in Thread] Current Thread [Next in Thread]