Introduzione agli Automi Cellulari Università degli Studi della Calabria Introduzione agli Automi Cellulari Sistemi Acentrati Automi a Stati Finiti (fa) Automi Cellulari (CA)
Sistemi Centrati ed Acentrati Definizione di sistema gerarchico-sequenziale Sistema la cui evoluzione è regolata da leggi globali. Definizione di sistema acentrato (o decentralizzato) Sistema la cui evoluzione è regolata esclusivamente da interazioni locali delle proprie parti costituenti.
Esempio di sistema acentrato PROBLEMA Data una scacchiera di dimensioni prefissate e disposti a caso su di essa dei simboli O, raggruppare tutte le O in modo che si dispongano il più in alto e più a sinistra possibile. SOLUZIONE approccio gerarchico approccio acentrato
I due approcci Approccio gerarchico 2. Approccio Acentrato Si può immaginare un’intelligenza esterna, avente una conoscenza globale del problema, in grado di agire sui simboli nella scacchiera e disporli nel modo richiesto 2. Approccio Acentrato Si può immaginare di dotare ogni simbolo sulla scacchiera di opportune informazioni e di una sorta di intelligenza localizzata che permetta gli spostamenti in base alle informazioni di cui essi dispongono
Startegia Acentrata tracciare una freccia da destra a sinistra per le righe di ordine dispari e da sinistra verso destra per quelle di ordine pari se il vicino Nord non è raggiungibile (come per i simboli sulla prima riga) assegnare il verso di percorrenza da destra verso sinistra se il vicino Nord è raggiungibile, assegnare il verso di percorrenza da sinistra verso destra se il vicino Nord non è occupato da un altro simbolo, spostare la O in quella posizione
Startegia Acentrata se il vicino Nord è occupato da un atro simbolo, si guarda il vicino relativo al proprio verso di percorrenza; se quest’ultimo è libero, spostare la O in quella posizione se le regole 3) e 4) non sono applicabili, la O rimane nella propria posizione Se in una cella dovessero spostarsi contemporaneamente due simboli da una colonna e da una riga, è la colonna ad avere la priorità
O ¬ ® O ¬ ® O ¬ ® O ¬
O ¬ O ¬ O ¬ O ¬
Automi Finiti Sistema cui viene associato un insieme di stimoli esterni (input) tramite cui avviene una reazione interna. Essa cambia lo stato dell’automa (transizione) e dà luogo ad una risposta (output) AUTOMA output input
Automi Finiti (Definizione) Un automa a stati finiti è una quintupla a = ( I , O , S , , ) dove: * I è l’insieme finito dei simboli d’ingresso; * O è l’insieme dei simboli d’uscita; * S è l’insieme finito degli stati che può assumere l’AF; * : I x S S è la funzione di transizione che modifica gli stati in funzione dell’input; * : I x S O è la funzione che determina l’uscita dell’AF in funzione degli input e degli stati interni (funzione di uscita).
Esempio di Automa Finito Problema: creare un AF che riconosca il linguaggio in cui ci sono tre zeri consecutivi. Dati: l’insieme dei simboli usati è {0,1}; lo stato iniziale è qi e quello finale qf.
Soluzione Soluzione: la soluzione viene data tramite il seguente grafo: qi qf q1 q2 1 0,1 Esempio di applicazione: Consideriamo le stringhe [100110] e [100011]. [100110] non viene riconosciuta dall’AF (perché non giunge allo stato finale); qi(1) qi (0) q1(0) q2(1) qi(1) qi(0) q1 [100011] è riconosciuta (perché l’AF giunge allo stato finale); qi(1) qi (0) q1(0) q2(0) qf(1) qf(1) qf
Automi Cellulari Nei primi anni ’50, il matematico ungherese John von Neumann si propose di studiare la complessità dei fenomeni biologici indirizzando il suo interesse verso i meccanismi di riproduzione degli esseri viventi Stanislaw Ulam gli suggeri di utilizzare un modello discreto, l’Automa Cellulare
Caratteristiche degli A.C. Un Automa Cellulare (AC) può essere, intuitivamente, visto come uno spazio d-dimensionale diviso in parti (celle o siti) di uguale grandezza e forma, contenenti ognuna un Automa a Stati Finiti detto Automa Elementare o di Moore (a.e.). Ogni a.e. subisce simultaneamente un cambiamento di stato secondo regole fisse nel tempo ed uguali per ogni a.e.
Caratteristiche degli A.C. La dimensione dello spazio cellulare è importante per la determinazione sia della forma delle celle che della vicinanza di ognuna di esse (il termine vicinanza indica l’insieme delle celle con cui una data cella può interagire, mentre col termine relazione di vicinanza si intende il tipo e la forma assunta dalla vicinanza) La funzione di transizione, che opera allo stesso modo e contemporaneamente in ogni cella, è responsabile dell’eventuale cambiamento di stato degli a.e. ed opera in funzione dello stato attuale dell’a.e. e degli stati degli a.e. che costituiscono la vicinanza
Caratteristiche degli A.C. Lo spazio non è più un continuo e lo si può immaginare come un discreto in cui gli a.e. occupano sempre la stessa posizione, mentre la discretizzazione del tempo deriva dal fatto che la fase di transizione tra uno stato e l’altro avviene a passi La geometria dello spazio d-dimensionale, che può anche essere pensato come reticolo, può essere di diverse forme. Se d = 3 si suole considerare celle cubiche, se d = 2 si possono considerare, ad esempio, esagoni o quadrati.
Geometrie dello spazio cellulare Tassellazione esagonale Tassellazione quadrata
Esempi di vicinati (o intorni) Intorno di von Neumann Intorno di Moore
Definizione di Automa Cellulare Un Automa Cellulare è una quadrupla A = < Ed , S , X , > Ed è l’insieme delle celle identificate dai punti a coordinate intere in uno spazio euclideo d-dimensionale; S è l’insieme finito degli stati dell’automa elementare;
Definizione di Automa Cellulare X, detto indice o relazione di vicinanza, è un insieme finito di vettori d-dimensionali, che definiscono l’insieme V(X,i) delle celle vicine alla generica cella i di coordinate < i1,i2,….id > come segue: sia X = {0,1,…..m-1} Con m = # X e sia j= j1, j2…..jd per 0 j m-1. Allora il vicinato di ogni cella i è dato da:
Definizione di Automa Cellulare V(X,i) = { i + 0, i + 1,……, i + m-1}, ove spesso si considera 0 = < 0,0,….0 >. Osserviamo a tale proposito che anche se k V(X,i), non necessariamente i V(X,k) e quindi può anche capitare che i V(X,i), cioè che la cella considerata può non far parte del proprio vicinato. : Sm S, con m = # X, è la funzione di transizione locale dell’automa elementare.
(c)(i) = (c(V(X, i))) = (c(i + 0), c(i +1), ..., c(i + m-1)). Lo stato quiescente Sia C = { c c: Ed S } l’insieme delle possibili assegnazioni di stato ad A, chiamato insieme delle configurazioni, chiamiamo c(i) lo stato della cella i nella configurazione c. Ad ogni automa cellulare è associata una funzione di transizione globale definita come segue: : C C c (c) con (c)(i) = (c(V(X, i))) = (c(i + 0), c(i +1), ..., c(i + m-1)). Definiamo stato quiescente lo stato q0 tale che ( q0, q0,….q0) = q0.
Life (di J. A. Conway) Conway diede le regole del suo Automa Cellulare in modo che fossero soddisfatte le seguenti condizioni Non doveva esserci una configurazione iniziale per la quale esistesse una semplice dimostrazione della possibilità di un aumento illimitato della popolazione. Dovevano poter esistere configurazioni iniziali che potessero aumentare oltre ogni limite.
Life 3. Dovevano poter esistere configurazioni iniziali che, dopo un certo periodo di tempo, verificassero una delle seguenti condizioni: estinzione completa della popolazione; stabilizzazione della configurazione; subentro di una fase oscillatoria.
Regole di Life 1. Una cella in stato vivo passa allo stato morto se è in contato con meno di due celle nello stato vivo (muore per isolamento), oppure se è in contatto con più di tre celle in stato vivo (muore per sovrappopolazione). 2. Una cella in stato morto passa allo stato vivo (nasce) se è in contatto con esattamente tre celle nello stato vivo.
AC uni-dimensionali Ed = E1 = E; lo spazio cellulare è un vettore di N celle (o siti) Sito 0 Sito 1 Sito N-1 si(t) A={0,1,2,…,k-1} è lo stato della cella i al tempo t; A è l’insieme dei possibili stati degli a.e. S = S(t) = {si(t) t.c. i=0,…,N-1} è la configurazione, o stato, dell’AC al tempo t.
X = [r-1,…,0,…,r+1] è la relazione di vicinanza dellAC i(t) = [si-r(t),…, si(t),…, si+r(t)] è il vicinato dell’i-esimo sito : AN AN è la funzione di transizione di stato dell’ae. Viene applicata simultaneamente a tutte le celle dell’AC Per la cella i si ha: s i(t+1) = (i(t) ) La funzione di transizione , nel caso discreto, si riduce ad una tabella. In un AC con k=2 ed r = 1 una possibile funzione di transizione è