Nuovo progetto in Pascal, vita artificiale

Come tante altre volte nella vita non ho portato a termine il progetto che con tanta passione avevo iniziato, ma è stato bello provarci. Il progetto CITA finisce qui, alcune prove fatte non le ho messe online e non credo che lo farò. Se avete bisogno di qualche informazione e/o aiuto chiedete pure, io vi risponderò con piacere.

Il nuovo progetto è diverso dal precedente, non ha la componente elettronica ma solo quella informatica. Si tratta di una simulazione di vita con intelligenza artificiale; l’idea è quella di creare un mondo virtuale semplificato con la sua fisica e le sue regole e poi mettere negli esserini che lo popolano delle strutture decisionali che ne determinano la sopravvivenza.

I talli

Il nome di queste creature è “Tallo”, l’idea iniziale è di farle tonde e con un flagello che ne permette il movimento e la capacità di assorbire energia a contatto con l’esterno del loro involucro, inizialmente la riproduzione sarà come per le cellule, tramite divisione, duplicando tutte le informazioni del Tallo genitore nel nuovo Tallo ma inserendo in maniera randomica delle variazioni casuali (probabilmente 1 su 10.000).

Il mondo iniziale sarà un mondo a due dimensioni liquido, dove i Talli potranno muoversi solo nella direzione in cui sono nati ad una velocità variabile. questo mondo avrà, per comodità e non per fare contenti i terrapiattisti, l’effetto pacman; un Tallo che raggiunge un limite rientra dal lato opposto.

Pascal con Delphi 5

Il programma sarà scritto in Delphi 5 (linguaggio pascal versione del 1999) perché è quello con cui ho più confidenza. Potete utilizzare Lazarus scaricandolo da questo link.

Ambiente di sviluppo Delphi 5

Ho acquistato Delphi 5 nel 1999 pagandolo ben 100.000 lire, da allora l’ho sempre utilizzato e anche se sono cambiati di molto i computer e i sistemi operativi è sempre eccezionale. So che oggi non è importante un programma piccolo o grande visto la quantità enorme di spazio disponibile ma solo Delphi 5 mi permette di avere un eseguibile in un unico file EXE solitamente meno di un mega di dimensione.

Tornando al progetto del mondo dei Talli, per evitare di bloccarmi subito inizierò dividendo il progetto in diversi step e realizzandoli uno per volta in modo da affrontare i problemi man mano che si presentano.

Vediamo il progetto

I passi previsti sono:

1 creare l’ambiente grafico che visualizza il mondo, si potrebbe tranquillamente simulare il tutto ma l’impatto visivo è affascinante e quindi perché non vedere questo mondo in funzione?

2 creare la fisica dietro al mondo dei Talli, i Talli consumano energia, assorbono energia, si muovono, si urtano e si riproducono. Inizialmente la riproduzione sarà randomica e l’alimentazione automatica ma successivamente quando ci sarà l’intelligenza artificiale entrambe saranno decise dal Tallo.

3 creare l’intelligenza artificiale. Questa sarà la parte più impegnativa, l’idea è di creare dei blocchi logici, di memoria e di comando che si collegano fra di loro in maniera casuale e se troveranno la giusta combinazione il Tallo sopravviverà di più e si riprodurrà di più. Se non riuscirò a farlo per conto mio farò un tentativo utilizzando qualche routine di intelligenza artificiale di apprendimento.

Seguitemi, vi aggiornerò per ogni singolo passo.

Maurizio

Lascia un commento