Ciao a tutti. Chiedo gentilmente un importante aiuto per un esercizio
che ho problemi a fare. Vi ringrazio davvero !
Un automa cellulare è un un modello matematico usato per descrivere
l’evoluzione di sistemi complessi discreti.Un automa cellulare
unidimensionale consiste di un array di n celle. L’array può avere una
qualunque dimensione n finita. Ciascuna di queste celle può assumere un
insieme finito di stati (ad esempio, 1 (“vivo”) o 0
(“morto”)). Esempio:L’array qui sotto rappresenta una configurazione di
automa cellulare checontiene due celle vive e cinque morte. 1 0 1 0 0 0
0 Ad un certo tempo t=0 si assegna ad ogni cella un determinato
stato. L’insieme di questi stati costituisce lo stato iniziale
dell’automa cellulare. Dopo un tempo prefissato ogni cella cambierà
stato contemporaneamente a tutte le altre, secondo la seguente regola di
transizione: regola 111 110 101 100 011 010
001 000nuovo stato per la cella centrale 0 1 1 0 1 1 1 0Il modo
in cui cambia stato una cella dipende solamente dal proprio stato
attuale e dagli stati delle due celle adiacenti.Ad esempio, partendo
dallo stato iniziale all’istante t=0 100101 applicando la regola data
l’automa evolve nello stato 101111 (istante t=1) e da tale stato
l’automa evolve in 111001 (istante t=2) Si noti che il primo e
l’ultimo elemento dell’array non cambiano mai, perché su tali elementi
la regola di transizione non è applicabile. Infatti per poter applicare
la regola ad unelemento x è necessario conoscere il valore dei due
elementi adiacenti x-1 e x+1, e nel caso del primo e dell’ultimo
elemento dell’array, abbiamo solo un elemento adiacente. Scrivere
un’applicazione Shoes, che 1) prenda in input un possibile stato
iniziale I di un automa cellulare di n elementi (n scelto
dall’utente); 2) visualizzi sullo schermo lo stato iniziale I;3) preveda
un pulsante “Evolve” che permetta di calcolare lo stato successivo
dell’automa e che lo visualizzi sullo schermo al posto dello stato
precedente.
Non pretendo un aiuto immediato assolutamente. Ho capito la logica e so
usare il Ruby e shoes. Ho buttato giù un idea ma è sbagliata per questo
non l ho postata . Chiedo scusa se mi sono espresso male. Chi ne sa
più di me è ha voglia di aiutarmi ben venga !
Carlo, con tutto il rispetto, non puoi postare il testo di un esercizio
e
aspettarti che qualcuno te lo risolva.
Prima di scrivere la soluzione in Shoes, in Java o in vattelapesca, devi
capire ed in caso comunicare se hai compreso Shoes, Java o vattelapesca.
E prima ancora di imparare Shoes, Java o vattelapesca, devi capire ed in
caso comunicare se hai compreso come si può risolvere il problema a
livello
algoritmico.
E prima ancora di scrivere l’algoritmo, devi capire ed in caso
comunicare
se hai compreso il problema che ti è stato posto.
IMHO il forum non dovrebbe essere considerato come una slot machine
Carlo, tu stai chiaramente chiedendo che qualcuno ti faccia l’esercizio.
Se
hai qualche problema specifico posta il codice, sono sicuro che qualcuno
ti
aiutera’. Altrimenti usa google e cerca qualcuno che l’esercizio l’abbia
gia’ fatto e copia quello, che ti devo dire…
Io su problemi di quel tipo ho sempre lavorato prima sulla logica, da
linea di comando, e poi impostato una UI.
Inizia ad avere un automa funzionante, poi due bottoni in qualche
maniera ti si aiuta!
@Iwan B. del link che mi hai dato c’è anche il codice ? so che
online c’è gia il codice, il mio unico problema è saper adattare al
codice gia esistente le variabili che servono a me.cosa che non combino.
@Iwan B. del link che mi hai dato c’ anche il codice ? so che
online c’ gia il codice, il mio unico problema saper adattare al
codice gia esistente le variabili che servono a me.cosa che non combino.
…forse non l’unico, ma credo che il tuo pi grosso problema ora come
ora
sia la (molto) scarsa voglia di imparare