Life Game Simulation ---------------------------------------------------------------------------------------------------------------- Parte I: Descrizione della simulazione ---------------------------------------------------------------------------------------------------------------- Il gioco della vita è stato inventato da John Horton Conway, un matematico brillante ed eccentrico dell'Università di Princeton, ed è stato la base dalla quale si è sviluppata la teoria degli automi cellulari. Esso descrive graficamente il comportamento, ovvero l'andamento nel tempo, di una popolazione statistica condizionata da agenti esterni. Il sistema viene fatto evolvere usando le seguenti regole di transizione: 1. Nascita: ciascuna cella vuota adiacente a 3 celle occupate viene ad essere occupata nella generazione successiva; 2. Morte: ciascuna cella occupata adiacente a 0, 1 o >= 4 celle occupate diventa vuota; 3. Sopravvivenza: ciascuna cella occupata adiacente a 2 o 3 celle occupate si mantiene occupata. Per celle adiacenti ad una cella data si intendono le 4 celle Nord, Sud, Est, Ovest e le 4 celle sulle diagonali: 1 2 3 8 * 4 7 6 5 Se una cella si trova ai bordi della scacchiera si tratta come se fosse adiacente a celle vuote (modalità non ciclica - vedi oltre). A priori nulla si può dire di generale riguardo all'evoluzione del sistema. Nella fattispecie, si potranno verificare 3 situazioni: a. la scacchiera è vuota (estinzione della popolazione); b. la scacchiera corrente è uguale alla precedente (caso stazionario); c. si è superato il massimo numero di generazioni ammesse a priori. Parte II: Descrizione del programma ---------------------------------------------------------------------------------------------------------------- Requisiti software: * Windows 95/98/NT/ME/2000/XP * Microsoft Internet Explorer 4.0 o superiore * Microsoft Access 97 o superiore (per visualizzare i grafici) Parte II.1: Simulazione ---------------------------------------------------------------------------------------------------------------- Se non si ha installato il font "Arabia", per prima cosa, occorre spostare il file "Arabian.ttf" nella directory dei font, ovvero C:\WINDOWS\Fonts, dove può essere necessario sostituire a C:\WINDOWS l'eventuale percorso diverso del sistema operativo. Lanciare il file "index.html" mediante Internet Explorer. Per iniziare la simulazione, premere sulla bandierina da Grand Prix, oppure cliccare sulla casellina accanto a "Modalità ciclica" per attivare la modalità ciclica e iniziare così una simulazione in cui sia attivata la modalità ciclica. Note: a. durante la simulazione, è possibile cambiare lo stato di una qualsiasi casella, uccidendo o facendo nascere un elemento, semplicemente cliccandoci sopra; b. il colore azzurro indica che la cella è appena nata, il colore blu che è sopravvissuta dalla generazione precedente. * SPIEGAZIONE DEI VARI PARAMETRI I primi 5 parametri sono parametri di input, i restanti 4 di output. a. Probabilità di occupazione di una cella Indica qual è la probabilità che ciascuna cella sia occupata (in percentuale: 0% -> scacchiera tutta vuota; 100% -> scacchiera tutta piena). b. Dimensione della scacchiera L'area della simulazione è quadrata e questo parametro indica quante caselle devono esserci su un lato. Il numero totale di caselle sulla scacchiera sarà pertanto il quadrato di questo parametro. c. Numero di generazioni per passo Quando si fa procedere la simulazione, o premendo il tasto per farla avanzare di un passo singolo, o avviando l'animazione, per default vengono visualizzati tutti i passaggi (generazioni). Per motivi di rapidità, può risultare interessante visualizzare solo le situazioni che appaiono ogni tot passaggi. d. Tempo di refresh durante l'animazione Parametro non modificabile dall'utente direttamente. Indica quanto tempo il computer deve attendere prima di ridisegnare una nuova scacchiera durante l'animazione. Per modificarlo, premere i tasti "Accelera" o "Rallenta". e. Modalità ciclica In condizioni normali, si suppone che intorno alla scacchiera ci sia un bordo tutto vuoto e quindi la scacchiera sia isolata. Attivando la modalità ciclica, si fanno coincidere il bordo destro con quello sinistro, quello superiore con quello inferiore, ottenendo quindi che la scacchiera sia un modulo periodico, ovvero quello che topologicamente è noto come toro. f. Numero di passi dall'inizio della simulazione Indica in quanti passi si è svolta la simulazione fino a questo punto. g. Numero di caselle occupate Indica quante caselle sono attualmente occupate sulla scacchiera. h. Coefficiente di stabilità Parametro che indica la tendenza della simulazione a stabilizzarsi verso un certo numero di caselle. Per valori minori di 1, la popolazione sta diminuendo, per valori maggiori di 1 sta crescendo. i. Contatore di esecuzioni di sistema Indica quante volte è stato lanciato questo programma su un certo computer. * SPIEGAZIONE DEI VARI TASTINI Prima fila: a. Rallenta: rallenta l'animazione di 100 ms b. Inizio: ritorna alla scacchiera iniziale della simulazione corrente c. Indietro: ritorna alla scacchiera precedente, dall'evoluzione della quale si è generata quella corrente. E' possibile retrocedere solo di una generazione d. Stop: arresta l'animazione e. Passo: fa procedere l'animazione di un passo (ovvero di tante generazioni quante sono indicate dal parametro "Numero di generazioni per passo") f. Play: avvia l'animazione alla velocità specificata da "Tempo di refresh durante l'animazione" g. Rallenta: accelera l'animazione di 100 ms Seconda fila: h. Bandierina: avvia una nuova simulazione con i parametri di input specificati i. Carica: carica una scacchiera salvata in un file j. Salva: salva la scacchiera corrente in un file k. Grafico: visualizza il grafico della simulazione fino a questo momento l. Note: mostra i "credits" per questo programma m. Default: ripristina le impostazioni di default per i vari parametri n. Uscita: esce da Internet Explorer Parte II.2: Grafico ---------------------------------------------------------------------------------------------------------------- Quando si clicca sul tasto "Grafico", viene aperto un database di Microsoft Access, che mostra l'andamento della simulazione corrente. Quando è visualizzato il grafico su schermo, sono state definite alcune hot-key per funzioni specifiche: E (end): chiude la finestra di Microsoft Access istantaneamente Q (quit): come la E I (informazioni): mostra una analisi statistica semplice dell'andamento della simulazione S (statistiche): come la I A (anteprima): visualizza l'anteprima di stampa P (preview): come la A Chiudento il grafico senza uscire da Microsoft Access, viene ripristinata da icona la finestra principale del database. Con un doppio click sulla maschera "Simulazioni", si può accedere a tutte le simulazioni salvate fino a questo punto. Per default, ogni simulazione della quale si è visualizzato il grafico viene salvata nel database. * SPIEGAZIONE DEI TASTI NELLA MASCHERA "SIMULAZIONI" a. Tasto "Grafico": visualizza il grafico della simulazione della quale si stanno leggendo i parametri descrittivi b. Tasto "Cancella": cancella i dati relativi alla simulazione corrente dal database, lasciando la scelta se ricompattarlo o meno. Es. Se la simulazione che si intende cancellare è contrassegnata con il numero 5 e le simulazioni salvate sono 8, a questo punto dopo la simulazione n. 4 ci sarebbe la simulazione n. 6. L'opzione di ricompattamento scala di un'unità tutte le simulazioni successive a quella che si sta per cancellare, in modo che non rimangano "buchi". c. Tasto "Visualizza": mostra i dati memorizzati nel database relativi alla simulazione corrente. E' possibile interagire con questi dati. Una situazione in cui risulta comoda questa funzione è quella nella quale la simulazione non giunge né ad una situazione stazionaria né all'estinzione della popolazione: normalmente si verificano situazioni di loop più o meno lunghi che si ripetono all'infinito. Quando si visualizza il grafico, ci sarà un esubero di dati al termine della simulazione: premendo questo tasto si possono andare a cancellare i dati ridondanti. Parte III: Risoluzione dei problemi ---------------------------------------------------------------------------------------------------------------- * L'ACTIVEX NON VIENE VISUALIZZATO, OPPURE MICROSOFT INTERNET EXPLORER SEGNALA UN ERRORE In certi casi, può accadere che Microsoft Internet Explorer non registri automaticamente e correttamente la libreria "Life.dll", cuore del programma. In questi casi, è necessario procedere manualmente alla registrazione. Per farlo, è sufficiente aprire la tendina del menu "Avvio" e cliccare su "Esegui...". Digitare poi il comando: RegSvr32 /c %PERCORSO%\Life.dll dove %PERCORSO% indica il percorso nel quale si è installato il programma. Se, per esempio, il percorso di installazione è C:\LIFE, il comando da eseguire sarà: RegSvr32 /c C:\LIFE\Life.dll Se il percorso di installazione contiene degli spazi, bisogna aggiungere le virgolette. Se, per esempio, il percorso di installazione è C:\Programmi\Life Game Simulation, il comando da eseguire sarà: RegSvr32 /c "C:\Programmi\Life Game Simulation\Life.dll" * IL GRAFICO NON VIENE VISUALIZZATO Non è installato nel sistema Microsoft Access 97. N.B. Se la versione di Microsoft Access è successiva, sarà necessario convertire il database la prima volta che si visualizza un grafico. Quest'operazione verrà eseguita automaticamente dal sistema un'unica volta, dopodiché il funzionamento sarà del tutto regolare. Spero che non si incontrino ulteriori problemi. In ogni caso, per segnalazioni di eventuali malfunzionamenti o bug, consigli, commenti o critiche (purché costruttive), il mio indirizzo di posta elettronica è: Pietro.Picca@gmail.com ---------------------------------------------------------------------------------------------------------------- Per eventuali aggiornamenti, questo pacchetto è disponibile in rete all'indirizzo http://www.petersoft.gr/parade/programming/lifegamesimulation.zip. Questo programma è freeware. Si può distribuire liberamente, purché non a scopo di lucro. Copyright (C) 1999 by Petersoft Computing