Automi cellulari?
Premetto onestamente -soprattutto con me stesso- che non so nulla di automi cellulari. Forse qualcosina, ma a grandi linee. Entro Febbraio dovrei pensare e completare un progetto scritto in C++: il tema è totalmente libero. Dato che l'argomento mi intriga da qualche tempo, pur non avendo mai trovato la voglia di approfondire, dedicarmi a qualcosa legato agli automi cellulari potrebbe darmi molte soddisfazioni personali.
Ma da dove parto? Qualcuno può darmi qualche suggerimento? La matematica che c'è dietro può essere semplificata di modo da essere alla portata di uno studente che conosce i programmi di "Analisiunodue" (in substanza, nulla) ?
Un classico nella letteratura pare che sia A New Kind of Science di Wolfram, ma temo possa aiutarmi poco e date le dimensioni mi viene difficili buttarmi su un testo del genere senza avere prima la sicurezza che in qualche modo possa aiutarmi per il progetto (oltre al fatto che lo stile mi sembra fin troppo discorsivo).
Dato l'indirizzo del mio corso di studi, il professore gradisce che nel progetto ci sia di mezzo un po' di Fisica.
Personalmente mi accontenterei di costruirne uno per il momento (di quì a Febbraio potrei averne parecchio di tempo, se comincio bene).
Scrivere il Gioco della vita in C++ ...? Un po' banale, sinceramente.
EDIT: sebbene l'esame sia sul "C++" non c'è un programma al quale dobbiamo attenerci o particolari strumenti che dobbiamo usare durante l'esame. Relativamente al linguaggio siamo tanto liberi quanto nella scelta del progetto. Questo non mi spaventa, anzi. E' la matematica che potrebbe esserci dietro a dirmi di lasciar perdere, anche se poi magari è solo notazione pesante.
Ma da dove parto? Qualcuno può darmi qualche suggerimento? La matematica che c'è dietro può essere semplificata di modo da essere alla portata di uno studente che conosce i programmi di "Analisiunodue" (in substanza, nulla) ?
Un classico nella letteratura pare che sia A New Kind of Science di Wolfram, ma temo possa aiutarmi poco e date le dimensioni mi viene difficili buttarmi su un testo del genere senza avere prima la sicurezza che in qualche modo possa aiutarmi per il progetto (oltre al fatto che lo stile mi sembra fin troppo discorsivo).
Dato l'indirizzo del mio corso di studi, il professore gradisce che nel progetto ci sia di mezzo un po' di Fisica.
Personalmente mi accontenterei di costruirne uno per il momento (di quì a Febbraio potrei averne parecchio di tempo, se comincio bene).
Scrivere il Gioco della vita in C++ ...? Un po' banale, sinceramente.

EDIT: sebbene l'esame sia sul "C++" non c'è un programma al quale dobbiamo attenerci o particolari strumenti che dobbiamo usare durante l'esame. Relativamente al linguaggio siamo tanto liberi quanto nella scelta del progetto. Questo non mi spaventa, anzi. E' la matematica che potrebbe esserci dietro a dirmi di lasciar perdere, anche se poi magari è solo notazione pesante.
Risposte
Ricordo un breve articolo su questa tematica su di un numero di una rivista di programmazione. Ora scartabello un po' e ti so dire!
EDIT:
La rivista non ce l'ho più a casa (tengo solo gli articoli che mi interessano), il numero dovrebbe essere questo, l'ultimo articolo. Non so a che livello sia trattato.
Di questo argomento non ne so proprio niente!
EDIT:
La rivista non ce l'ho più a casa (tengo solo gli articoli che mi interessano), il numero dovrebbe essere questo, l'ultimo articolo. Non so a che livello sia trattato.
Di questo argomento non ne so proprio niente!
Sbaglio o l'articolo è l'unico non disponibile on-line?
Nino Boccara, Modeling Complex Systems
Andrew Ilachinski, Cellular Automata
Il primo l'ho usato per l'esame di Sistemi Complessi. C'è un capitolo dedicato agli automi cellulari, si procede per esempi ed ogni tanto c'è qualche teorema. Se decidi di usarlo, alcune cose non ti saranno subito chiare perché è un po' troppo formale. Ad esempio potresti ignorare completamente la prima pagina del capitolo e procedere con la seconda. L'ideale quando si parte è avere subito chiaro il funzionamento di qualche automa per sapere di cosa si sta parlando.
Del secondo ho letto delle parti per conto mio. Ho trovato l'introduzione molto interessante, inoltre il libro contiene i prerequisiti necessari alla sua comprensione. Potresti, prima di iniziare a studiare, scrivere un programma in C++ o in Matlab (non ho scritto niente in Matlab sui CA perché non lo conoscevo all'epoca ma credo che renda la questione grafica estremamente più semplice) che implementa i CA come
\[f:\{0,1\}^{3}\rightarrow \{0,1\}\]
(vale a dire quelli semplicissimi di raggio \(1\) che vengono introdotti inizialmente con la numerazione di Wolfram) o il Gioco della Vita di Conway. Nel Boccara troverai molti automi che vorresti volere implementare con il tuo computer. Quelli che mi sono piaciuti di più in questo libro sono quelli sui modelli sociali.
Andrew Ilachinski, Cellular Automata
Il primo l'ho usato per l'esame di Sistemi Complessi. C'è un capitolo dedicato agli automi cellulari, si procede per esempi ed ogni tanto c'è qualche teorema. Se decidi di usarlo, alcune cose non ti saranno subito chiare perché è un po' troppo formale. Ad esempio potresti ignorare completamente la prima pagina del capitolo e procedere con la seconda. L'ideale quando si parte è avere subito chiaro il funzionamento di qualche automa per sapere di cosa si sta parlando.
Del secondo ho letto delle parti per conto mio. Ho trovato l'introduzione molto interessante, inoltre il libro contiene i prerequisiti necessari alla sua comprensione. Potresti, prima di iniziare a studiare, scrivere un programma in C++ o in Matlab (non ho scritto niente in Matlab sui CA perché non lo conoscevo all'epoca ma credo che renda la questione grafica estremamente più semplice) che implementa i CA come
\[f:\{0,1\}^{3}\rightarrow \{0,1\}\]
(vale a dire quelli semplicissimi di raggio \(1\) che vengono introdotti inizialmente con la numerazione di Wolfram) o il Gioco della Vita di Conway. Nel Boccara troverai molti automi che vorresti volere implementare con il tuo computer. Quelli che mi sono piaciuti di più in questo libro sono quelli sui modelli sociali.