• Nenhum resultado encontrado

Avanços no estudo de complexidade em linguagem regular de autômatos celulares elementares

N/A
N/A
Protected

Academic year: 2017

Share "Avanços no estudo de complexidade em linguagem regular de autômatos celulares elementares"

Copied!
104
0
0

Texto

(1)

UNIVERSIDADE PRESBITERIANA MACKENZIE

PROGRAMA DE P ´

OS-GRADUAC

¸ ˜

AO EM

ENGENHARIA EL´

ETRICA

Wander Lairson Costa

Avan¸cos no estudo de complexidade em linguagem regular de

autˆ

omatos celulares elementares

(2)

UNIVERSIDADE PRESBITERIANA MACKENZIE

PROGRAMA DE P ´

OS-GRADUAC

¸ ˜

AO EM

ENGENHARIA EL´

ETRICA

Wander Lairson Costa

Avan¸cos no estudo de complexidade em linguagem regular de

autˆ

omatos celulares elementares

Disserta¸c˜ao de Mestrado apresentada ao Programa de P´os-Gradua¸c˜ao em Engenharia El´etrica, como parte das Exigˆencias para Obten¸c˜ao do Grau de Mestre em Engenharia El´etrica, na Area´ de Concentra¸c˜ao em Engenharia da Computa¸c˜ao.

Orientador: Pedro Paulo Balbi de Oliveira

(3)
(4)
(5)

AGRADECIMENTOS

Agrade¸co primeiramente a Deus, por guiar meus passos e a meus pais, Maria das Dˆores Costa e Marcelo Damas da Costa, que me ensinaram que a f´e realmente move montanhas e por terem-me mostrado o verdadeiro significado da palavra car´ater, al´em do apoio incondicional mesmo nos momentos mais dif´ıceis.

Agrade¸co ao meu irm˜ao, C´ırio Wandery Costa, por entender os incont´aveis finais de semana que n˜ao pudemos estarmos juntos.

Agrade¸co ao corpo t´ecnico e docente da Universidade Presbiteriana Mackenzie. Agrade¸co tamb´em aos colegas de curso, que sempre me incentivaram, em especial agrade¸co aos meus amigos Israel Florentino dos Santos e Ad´ılson Eduardo Spagiari.

(6)

ABSTRACT

Cellular automata are totally discrete systems that act locally in a simple and deter-ministic way, but whose resulting global behavior can be extremely complex. The set of possible global configurations in one finite time step for a CA can be described by a regular language, which in turn can be represented by a finite automaton, more precisely the so-called process graph, in which all states are initial and final. Here, we study the temporal evolution complexity of the elementary cellular automata (i.e., one-dimensional, binary, with radius 1), and related previous works are revisited and discussed, indicating problems and their consequences. We also start up a novel approach for the problem, substituting the process graph based representation that describes the configuration at each time step by adjacency matrices derived from them. In fact, we extend the classical adjacency matrix notation, as they cannot fully represent process graphs. With this new notation, we show that it is possible to obtain the algorithm to generate a process graph for an arbitrary finite time step for each of the rules at study. In conclusion, although advancing the limit graph problem, it still remains open, and we provide suggestions for further research.

(7)

RESUMO

Autˆomatos celulares s˜ao sistemas totalmente discretos que agem localmente de forma simples e determin´ıstica, mas cujo comportamento global resultante pode ser extrema-mente complexo. O conjunto de poss´ıveis configura¸c˜oes globais em um passo de tempo t

finito para um autˆomato celular pode ser descrito por uma linguagem regular, a qual por sua vez pode ser representada por meio de um autˆomato finito, mais precisamente, pelo chamado grafo de processo, em que todos os estados s˜ao iniciais e finais. Estuda-se aqui a complexidade da evolu¸c˜ao temporal dos autˆomatos celulares elementares (i.e., unidimen-sionais, bin´arios, de raio 1), e trabalhos anteriores s˜ao revisitados e discutidos, no quais apontam-se problemas e suas consequˆencias. Tamb´em inicia-se uma nova abordagem para o problema, substituindo a representa¸c˜ao dos grafos de processo que descrevem a configura¸c˜ao a cada passo de tempo por matrizes de adjacˆencia deles derivadas. De fato, estende-se a nota¸c˜ao cl´assica de matriz de adjacˆencia, j´a que ela se mostra insuficiente para descrever completamente os grafos de processo em quest˜ao. Com essa nova nota¸c˜ao, mostra-se que ´e poss´ıvel obter o algoritmo que gere o grafo de processo de tempot para cada uma das regras estudadas. Conclui-se que, embora houve avan¸cos para o problema do grafo limite, este ainda permanece aberto, e sugest˜oes para continua¸c˜ao da pesquisa s˜ao dadas.

(8)

Sum´

ario

1 Introdu¸c˜ao 1

2 Autˆomatos celulares 5

2.1 Autˆomatos celulares elementares . . . 6

2.2 Equivalˆencia dinˆamica de regras . . . 8

2.3 Classifica¸c˜ao dos autˆomatos celulares . . . 13

2.4 Linguagens formais . . . 15

2.5 Autˆomatos finitos e linguagens regulares . . . 16

2.6 Grafos de processo . . . 19

2.7 Evolu¸c˜ao de um autˆomato celular . . . 19

2.8 Configura¸c˜ao inicial de um autˆomato celular . . . 22

2.9 Fun¸c˜oes NetCAStep, TrimNet eMinNet . . . 23

3 Complexidade de linguagens regulares de autˆomatos finitos elementares 26 3.1 Revisitando [Trafaniuc, 2004] e [Miki, 2006] . . . 27

3.2 Problemas encontrados no trabalho de [Trafaniuc, 2004] . . . 35

3.3 Comportamento limite da regra 184 . . . 39

3.4 Nova tabela de complexidade de regras . . . 42

4 Constru¸c˜ao do grafo de processo por meio de matrizes de adjacˆencias 50 4.1 Representa¸c˜ao de grafos de processo em forma matricial . . . 50

4.1.1 Matrizes de adjacˆencias . . . 50

4.1.2 Matrizes de adjacˆencia de evolu¸c˜ao temporal . . . 52

4.2 Algoritmo do grafo de processo de tempo t para a regra 184 . . . 55

4.3 Padr˜ao de forma¸c˜ao das matrizes de adjacˆencias de evolu¸c˜ao temporal . . . 59

5 Conclus˜ao 61

Referˆencias bibliogr´aficas 66

A Algoritmos para gerar o grafo de processo de tempot para as 26 regras

(9)

Lista de Figuras

1.1 Convergˆencia da regra 8 para configura¸c˜ao limite. . . 2

1.2 Evolu¸c˜ao da regra 184. . . 3

2.1 Condi¸c˜ao de contorno peri´odica . . . 7

2.2 Evolu¸c˜ao temporal de um autˆomato celular unidimensional. . . 8

2.3 Exemplo de esquema de numera¸c˜ao de Wolfram para ACs unidimensionais 9 2.4 Transforma¸c˜ao de complemento. . . 10

2.5 Transforma¸c˜ao do tipo reflex˜ao. . . 10

2.6 Regra 30. . . 13

2.7 Regra 86. . . 13

2.8 Classes dinˆamicas dos ACs . . . 14

2.9 Autˆomato finito representado como um grafo orientado. . . 18

2.10 Grafo de transi¸c˜ao de estados . . . 22

2.11 Configura¸c˜oes iniciais do AF . . . 23

2.12 Grafo de processo representando configura¸c˜oes iniciais . . . 23

2.13 Exemplo de sa´ıda das fun¸c˜oes NetCAStep, MinNet e TrimNet . . . 25

3.1 Sequˆencia de utiliza¸c˜ao das fun¸c˜oes NetCAStep,MinNet e TrimNet. . . 28

3.2 Grafos de processo para 4 passos de tempo da regra elementar 11. . . 29

3.3 Convergˆencia da regra 8 para o grafo de processo limite. . . 29

3.4 AF determin´ıstico limite da regra 128. . . 30

3.5 Algoritmo de sele¸c˜ao de regras . . . 31

3.6 Grafos de processo de t et+ 1 para a regra 128. . . 32

3.7 Subgrafos de t+ 1 que possuem o mesmo n´umero de n´os do grafo de t. . . 32

3.8 Subgrafos de t+ 1 que se encaixam perfeitamente em t. . . 33

3.9 Opera¸c˜ao de diferen¸ca entre t e os subgrafos do passo anterior. . . 33

3.10 Grafo limite da regra 184 . . . 34

3.11 Compara¸c˜ao de encadeamento das fun¸c˜oes NetCAStep, MinNet eTrimNet 36 3.12 Sequˆencia de grafos de processo da regra 32. . . 37

3.13 Sequˆencia de grafos de processo da regra 128. . . 37

(10)

3.16 Deslocamento da regra 184 na configura¸c˜ao limite . . . 40

3.17 Grafo limite da regra 184 em condi¸c˜ao de contorno n˜ao peri´odica. . . 41

3.18 Sequˆencia de AFs da regra 32. . . 46

3.19 Sequˆencia de AFs da regra 128. . . 46

3.20 Sequˆencia de AFs da regra 136. . . 46

3.21 Sequˆencia de AFs da regra 168. . . 47

3.22 Sequˆencia de AFs da regra 224. . . 47

3.23 Sequˆencia de AFs da regra 160. . . 48

3.24 AFs limite. . . 49

4.1 Grafo direcionado. . . 51

4.2 Representa¸c˜ao em matriz de adjacˆencia. . . 51

4.3 Grafo de processo representado atrav´es de um grafo direcionado. . . 53

4.4 Representa¸c˜ao em matriz de adjacˆencia de evolu¸c˜ao temporal. . . 53

4.5 Grafos de processo para os cinco primeiros passos de tempo da regra 184. . 55

4.6 Estrutura adicionada . . . 56

4.7 Estrutura exclu´ıda . . . 56

4.8 Estrutura adicionada em nota¸c˜ao matricial. . . 56

4.9 Estrutura exclu´ıda em nota¸c˜ao matricial. . . 56

(11)

Lista de Tabelas

2.1 Aplica¸c˜ao de regra local. . . 9

2.2 Autˆomatos celulares elementares dinamicamente equivalentes . . . 12

3.1 Tabela de complexidade de linguagens regulares (1/3). . . 43

3.2 Tabela de complexidade de linguagens regulares (2/3). . . 44

3.3 Tabela de complexidade de linguagens regulares (3/3). . . 45

4.1 Regra 184. . . 57

(12)

1

Introdu¸c˜

ao

Autˆomatos celulares (ACs) s˜ao sistemas discretos que apresentam um comportamento local extremamente simples, mas cujo comportamento global pode ser complexo ao ponto de eles poderem ser equivalentes a uma m´aquina de Turing universal [Wolfram, 1984a]. Ele ´e caracterizado por um reticulado de c´elulas cujos estados posteriores dependem dos estados atuais de si pr´oprias e de suas vizinhas. Este tipo de comportamento, que ´e local-mente simples mas globallocal-mente complexo d´a origem `a chamada computa¸c˜ao emergente, e ´e a base da utiliza¸c˜ao dos ACs na modelagem de diversos sistemas naturais.

A vizinhan¸ca das c´elulas de um AC pode ser definida por um raio centrado na c´elula em quest˜ao, de forma a englobar todas as c´elulas dentro do raio. Um AC elementar possui raio igual a 1 e conjunto de estados{0,1}, o que permite a defini¸c˜ao de um espa¸co de 256 regras poss´ıveis, que s˜ao usualmente identificadas por um n´umero entre 0 e 255 [Wolfram, 1984b]. Este trabalho estuda um subconjunto dos ACs elementares, que consiste em 26 regras estudadas em [Trafaniuc, 2004] e [Miki, 2006].

O comportamento limite de ACs pode ser descrito por meio de linguagens formais, a partir das cadeias ou palavras formadas por seu alfabeto [Lewis e Papadimitriou, 2008]. A classe mais simples de linguagens formais ´e a das linguagens regulares, que pode ser gerada por uma gram´atica regular ou pelas chamadas express˜oes regulares. Qualquer linguagem regular pode ser reconhecida por um autˆomato finito (AF), que ´e uma modalidade de reconhecedor de linguagem com mem´oria restrita. As linguagens regulares s˜ao o tipo mais simples de linguagem na hierarquia de Chomsky.

(13)

anterior e da fun¸c˜ao de transi¸c˜ao da regra. Estas fun¸c˜oes est˜ao descritas na Se¸c˜ao 2.9.

Trafaniuc (2004) e Miki (2006) estudaram, em seus respectivos trabalhos, a complexi-dade de ACs elementares por meio da an´alise da evolu¸c˜ao dos sucessivos grafos de processo para diferentes instantes de tempo. Uma quest˜ao que ficou aberta nesses trabalhos foi a eventual convergˆencia dos grafos de processo para o comportamento limite da regra quando t 7→ ∞. Por exemplo, na Figura 1.1 s˜ao mostrados os sucessivos grafos de pro-cesso da evolu¸c˜ao temporal da regra elementar 8, onde ap´os dois passos de tempo o seu grafo limite ´e atingido; em cada grafo, a liga¸c˜ao entre dois n´os representa uma transi¸c˜ao de estados entre eles, a partir do s´ımbolo 0, em vermelho, ou 1, em preto (outros aspectos da nota¸c˜ao de grafos de processo utilizada neste trabalho ´e apresentada na Se¸c˜ao 2.8). Na Figura 1.2 s˜ao apresentados os grafos de processo da regra elementar 184, a qual n˜ao converge para a configura¸c˜ao limite, apesar de se saber que seu comportamento limite pode ser expresso por uma linguagem regular [Miki, 2006].

t = 1 t = 2 t= 3

Figura 1.1: Convergˆencia da regra 8 para configura¸c˜ao limite.

(14)

t= 1 t= 2 t= 3

t= 4 t= 5 t= 50

t= 100

(15)

O Cap´ıtulo 2 apresenta referencial te´orico sobre os ACs, linguagens formais e com-portamento limite.

O Cap´ıtulo 3 descreve os trabalhos anteriores, aponta os problemas neles encontrados e discute novos resultados obtidos.

O Cap´ıtulo 4 descreve uma nova abordagem por meio de matrizes de adjacˆencia. A obten¸c˜ao do grafo de processo de tempo t pode ser conseguida por meio de uma nova nota¸c˜ao de matrizes de adjacˆencia em rela¸c˜ao ao respectivo grafo de processo.

(16)

2

Autˆ

omatos celulares

´

E comum na natureza encontrar sistemas cujo comportamento global ´e extremamente complexo, ainda que as partes que os formam sistemas sejam simples. A complexidade ´e gerada pelo efeito cooperativo de componentes com regras locais simples. Muito foi descoberto sobre a natureza dos componentes em sistemas f´ısicos e biol´ogicos, mas pouco ´e conhecido sobre os mecanismos pelos quais tais componentes agem cooperativamente para gerar o comportamento global observado [Wolfram, 1984a].

Autˆomatos Celulares (ACs) podem ser vistos como uma classe de sistemas dinˆamicos que atua em um reticulado infinito cujo tempo, espa¸co e estado s˜ao todos discretos e os estados de cada c´elula podem ser obtidos a partir de um conjunto finito de estados poss´ıveis [Jiang, 2001].

ACs s˜ao, fundamentalmente, as representa¸c˜oes matem´aticas mais simples de uma classe muito maior dos chamados sistemas complexos, termo que se refere a qualquer sistema dinˆamico formado por in´umeros componentes, possivelmente simples, que inter-agem de forma n˜ao linear com os outros. Assim, ACs tˆem se provado serem idealiza¸c˜oes extremamente ´uteis do comportamento dinˆamico de muitos sistemas complexos reais, in-cluindo flu´ıdos f´ısicos, redes neurais, sistemas dinˆamicos moleculares, economia, entre outros [Ilachinski, 2002]. Por causa de sua simplicidade subjacente, ACs s˜ao m´aquinas conceituais poderosas com as quais se estuda padr˜oes generalizados de forma¸c˜ao. Eles j´a forneceram ideias cruciais sobre auto-organiza¸c˜ao de rea¸c˜oes qu´ımicas, sistemas de di-fus˜ao, crescimento de cristais, forma¸c˜ao de padr˜oes de conchas e fenˆomenos em fluxo de tr´afego veicular, para citar alguns exemplos. Em um lado mais pr´atico, ACs fornecem a base de algoritmos importantes de criptografia [Nandi, Kar e Chaudhuri, 1994], gera¸c˜ao de padr˜oes [White e Engelen, 1993], entre outros. Existem at´e mesmo algumas s´erias especula¸c˜oes de que ACs possam fornecer a espinha dorsal de uma f´ısica fundamental radicalmente discreta [Ilachinski, 2002].

(17)

processa-mento n˜ao s˜ao separadas uma da outra, e que fossem massivamente paralelos e capazes de se autorreparar e reproduzir dado o material base necess´ario. Segundo sugest˜oes de Stanislaw Ulam, von Neumann visualizou um universo discreto consistindo de uma grade bidimensional de m´aquinas de estado finito, chamadas c´elulas, interconectadas interna-mente umas com as outras [Kari, 2005]. O autˆomato originalinterna-mente descrito por von Neumann ´e um vetor uniforme infinito bidimensional de c´elulas, onde cada c´elula ´e conec-tada pelos seus quatro vizinhos ortogonais. As primeiras estruturas estudadas eram em sua maioria de uma ou duas dimens˜oes, apesar de dimens˜oes maiores tamb´em terem sido consideradas [Sarkar, 2000].

Dois t´opicos imediatos surgiram a partir do trabalho de von Neumann. O primeiro, em sua maior parte na d´ecada de 60, era uma discuss˜ao sobre a constru¸c˜ao de autˆomatos autorreplicantes. O segundo foi uma tentativa de capturar mais da essˆencia de autor-replica¸c˜ao por meio de estudos matem´aticos de propriedades detalhadas de ACs. Durante o curso da d´ecada de 60 foram encontradas constru¸c˜oes mais simples de ACs capazes de autorreplica¸c˜ao e computa¸c˜ao universal. No in´ıcio da d´ecada de 60 foram notadas algu-mas caracter´ısticas gerais incrivelmente simples de ACs que acreditava-se serem relevantes para autorreplica¸c˜ao - e foram estudadas com um formalismo t´ecnico mais elaborado. Ex-istiram tamb´em v´arias constru¸c˜oes de ACs cujo comportamento mostrou caracter´ısticas particularmente simples, talvez relevantes, para a autorreplica¸c˜ao [Wolfram, 2002].

(18)

2.1

Autˆ

omatos celulares elementares

Um AC unidimensional consiste de uma grade bi-infinita (podendo tamb´em ter tamanho

N, para o caso finito), onde existe uma fun¸c˜ao de transi¸c˜ao φ : Zr 7→ Σ, que deter-mina a dinˆamica do AC, onde r representa o raio (inteiro) de vizinhan¸ca do AC e Σ ´e o conjunto de estados poss´ıveis de uma c´elula. Um AC com raio r tem vizinhan¸ca (−r,−r+ 1, . . . , r−1, r), de maneira que cada vizinhan¸ca consiste de 2r+ 1 c´elulas.

Um AC elementar ´e um AC unidimensional com conjunto de estados Σ = {0,1} e raio r= 1 [Kari, 2005].

Em ACs unidimensionais uma configura¸c˜ao inicial gen´erica ser´a tipicamente atra´ıda para uma condi¸c˜ao de equil´ıbrio a qual ´e chamada de atrator [Li, 1987]. Atratores rep-resentam pontos de equil´ıbrio em sistemas dinˆamicos, e, no caso de ACs, reprep-resentam configura¸c˜oes est´aveis quandot7→ ∞. O conjunto de atratores de um AC representa sua configura¸c˜ao limite.

Embora teoricamente um autˆomato unidimensional possa ser interpretado como uma linha bi-infinita, na pr´atica existe uma quantidade fixa de c´elulas e ´e necess´ario adotar uma condi¸c˜ao de contorno para as c´elulas nos extremos. Um possibilidade ´e adotar uma condi¸c˜ao de contorno fixa, onde escolhe-se um determinado valor para os vizinhos n˜ao existentes das c´elulas da extrema direita e esquerda. Outra possibilidade ´e adotar uma condi¸c˜ao de contorno peri´odica, onde o vizinho da direita da ´ultima c´elula ´e a primeira c´elula, e vice-versa, conforme ilustrado na Figura 2.1.

A evolu¸c˜ao de um autˆomato unidimensional pode ser visualizada por meio de uma grade bidimensional onde cada linha representa uma configura¸c˜ao global em um determi-nado instante de tempo discreto, conforme visualizado na Figura 2.2, onde a cor preta representa um estado em 0 e a cor branca um estado em 1.

Existem 23 = 8 poss´ıveis padr˜oes de estados dentro de uma vizinhan¸ca para ACs elementares. Como cada combina¸c˜ao pode resultar nos valores 0 ou 1, podem existir, portanto, 223

= 256 ACs elementares. A regra local pode ser formalizada como:

xti+1 =φ(xti−1, xti, x t

(19)

Figura 2.1: Condi¸c˜ao de contorno peri´odica: a ´ultima c´elula ´e ligada `a primeira, formando um anel [Chua, Yoon e Dogary, 2002].

(20)

ondext

i ´e o estado da c´elula ino instante t em que a regra local atua, eφ ´e a fun¸c˜ao que executa a regra local. A Tabela 2.1 mostra como ´e aplicada a regra local. As regras locais para ACs elementares podem ser descritas por um n´umero bin´ario de oito bits, codificado pelo resultado das oito combina¸c˜oes de vizinhan¸ca da regra local{xi−1, xi, xi+1}[Wolfram, 1983]. No caso da Figura 2.3, este n´umero ´e o n´umero 9010, e este autˆomato ´e chamado deregra 90. Neste texto, a menos que explicitamente dito o contr´ario, a referˆencia a um AC por meio do n´umero de sua regra se diz respeito a um AC elementar.

xi−1 xi xi+1 φ

1 1 1 0

1 1 0 1

1 0 1 0

1 0 0 1

0 1 1 1

0 1 0 0

0 0 1 1

0 0 0 0

Tabela 2.1: Aplica¸c˜ao de regra local.

111 0

110 1

101 0

100 1

011 1

010 0

001 1

000

0

=

90

Figura 2.3: Exemplo de esquema de numera¸c˜ao de Wolfram para ACs unidimensionais [Wolfram, 1983].

2.2

Equivalˆ

encia dinˆ

amica de regras

(21)

Transforma¸c˜ao de complemento (ou conjuga¸c˜ao): Nesta transforma¸c˜ao todos os es-tados s˜ao complemenes-tados, ou seja, troca-se 0 por 1 e vice-versa, tanto nas viz-inhan¸cas quanto nos bits de sa´ıda, conforme exemplificado na Figura 2.4, onde mostra-se a vizinhan¸ca original, depois a opera¸c˜ao de complemento e, finalmente, o resultado depois das vizinhan¸cas serem reordenadas.

Vizinhan¸ca 111 110 101 100 011 010 001 000

φ 0 1 1 0 1 1 1 0

Complemento 000 001 010 011 100 101 110 111

φ 1 0 0 1 0 0 0 1

Reordenado 111 110 101 100 011 010 001 000

φ 1 0 0 0 1 0 0 1

Figura 2.4: Transforma¸c˜ao de complemento.

Transforma¸c˜ao por reflex˜ao: Nesta transforma¸c˜ao o estado do vizinho da direita ´e trocado com o estado do vizinho da esquerda, ou seja, o valor do estado do vizinho da esquerda passa a ser o valor do vizinho da direita e vice-versa. A Figura 2.5 ilustra o processo.

Vizinhan¸ca 111 110 101 100 011 010 001 000

φ 0 1 1 0 1 1 1 0

Reflex˜ao 111 011 101 001 110 010 100 000

φ 0 1 1 0 1 1 1 0

Reordenado 111 110 101 100 011 010 001 000

φ 0 1 1 1 1 1 0 0

(22)

Transforma¸c˜ao conjunta: Neste caso ´e realizada uma opera¸c˜ao conjunta de composi¸c˜ao (independente de ordem) das duas opera¸c˜oes anteriores.

(23)

Representante Regras

da classe equivalentes

0 255 1 127 2 16,191,247 3 17,63,119 4 223 5 95 6 20,159,215 7 21,431,87 8 64,239,253 9 65,111,125 10 80,175,245 11 47,81,117 12 68,207,221 13 69,79,93 14 84,143,213 15 85 18 183 19 55 22 151 23 24 66,189,231 25 61,67,103 26 82,167,181 27 39,53,83 28 70,157,199 29 71 30 86,135,149 32 251 33 123 34 48,187,243 Representante Regras

da classe equivalentes

35 49,59,115 36 219 37 91 38 52,155,211 40 96,235,249 41 97,107,121 42 112,171,241 43 113 44 100,203,217 45 75,89,101 46 116,139,209 50 179 51 54 147 56 98,185,227 57 99 58 114,163,177 60 102,153,195 62 118,131,145 72 237 73 109 74 88,173,229 76 205 77 78 92,141,197 90 165 94 133 104 233 105 106 120,169,225 Representante Regras

da classe equivalentes

108 201 110 124,137,193 122 161 126 129 128 254 130 144,190,246 132 222 134 148,158,214 136 192,238,252 138 174,208,244 140 196,206,220 142 212 146 182 150 152 188,194,230 154 166,180,210 156 198 160 250 162 176,186,242 164 218 168 224,234,248 170 240 172 202,216,228 178 184 226 200 236 204 232

(24)

As Figuras 2.6 e 2.7 mostram a evolu¸c˜ao de duas regras locais equivalentes por uma transforma¸c˜ao de reflex˜ao. Nota-se pelas figuras que a evolu¸c˜ao de uma ´e o espelho da outra.

Figura 2.6: Regra 30. Figura 2.7: Regra 86.

Estudar as classes de equivalˆencia mostra-se importante porque regras locais equiva-lentes apresentam o mesmo padr˜ao de complexidade de evolu¸c˜ao.

2.3

Classifica¸c˜

ao dos autˆ

omatos celulares

Wolfram (1983) dividiu os ACs elementares em quatro classes segundo a complexidade do padr˜ao tipicamente gerado pelo seu comportamento dinˆamico, a partir de configura¸c˜ao inicial aleat´oria, conforme descrito a seguir:

Classe 1 A evolu¸c˜ao leva a um estado nulo, ou seja, em que as condi¸c˜oes iniciais levam ao mesmo estado uniforme.

Classe 2 A evolu¸c˜ao leva a um conjunto de estruturas de ponto-fixo ou peri´odicas. Classe 3 A evolu¸c˜ao leva a um padr˜ao ca´otico.

Classe 4 A evolu¸c˜ao apresenta longos transientes, que envolvem estruturas localizadas complexas.

Os atratores nas classes 1, 2 e 3 s˜ao an´alogos, respectivamente, aos atratores de ponto fixo, ciclo limite e ca´oticos encontrados em sistemas dinˆamicos cont´ınuos. A Figura 2.8 mostra exemplos de ACs das quatro classes de complexidade.

(25)

Figura 2.8: Classes dinˆamicas dos ACs [Wolfram, 1984b]. (a) classe 2, (b) classe 1, (c) classe 3 e (d) classe 4.

Regras Nulas A configura¸c˜ao limite ´e formada somente por 0s ou somente por 1s.

Regras Ponto-Fixo A configura¸c˜ao limite n˜ao se altera ao reaplicar a regra do autˆomato celular.

Regras Ciclo Duplo A configura¸c˜ao limite n˜ao se altera ao reaplicar a regra do autˆomato celular duas vezes.

Regras Peri´odicas A configura¸c˜ao limite n˜ao se altera `a aplica¸c˜ao da regra N vezes; com o tamanho do ciclo N independente ou fracamente dependente do tamanho do reticulado.

Regras Complexas Embora a dinˆamica limite possa ser peri´odica, o intervalo tran-siente pode ser extremamente longo e, tipicamente, este intervalo cresce mais que linearmente com o tamanho do sistema.

(26)

2.4

Linguagens formais

A teoria dos autˆomatos ´e o estudo dos dispositivos de computa¸c˜ao abstratos, ou m´aquinas. Antes de existirem computadores, na d´ecada de 1930, Alan Turing estudou uma m´aquina abstrata que tinha todas as caracter´ısticas dos computadores atuais, pelo menos no que se refere ao quanto eles poderiam calcular. O objetivo de Turing era descrever com exatid˜ao o limite entre o que uma m´aquina de computa¸c˜ao podia fazer e aquilo que ela n˜ao podia fazer.

Nas d´ecadas de 1940 e 1950, tipos de m´aquinas mais simples, que hoje s˜ao conhecidas como autˆomatos finitos, foram estudados por diversos pesquisadores. Esses autˆomatos, propostos originalmente no contexto de modelagem matem´atica do c´erebro, se mostraram extremamente ´uteis para uma grande variedade de prop´ositos. Tamb´em no final dos anos 50, o linguista N. Chomsky, iniciou o estudo de gram´aticas formais gerativas, as quais guardam relacionamentos estreitos com os autˆomatos abstratos [Hopcroft, Motwani e Ullman, 2002].

Linguagens regulares est˜ao entre os t´opicos mais antigos em teoria de linguagens for-mais. O estudo formal de linguagens regulares e AFs ´e datado do in´ıcio da d´ecada de 40, quando m´aquinas de estado finito foram utilizadas para modelar conjuntos de neurˆonios por McCulloch e Pitts. Desde ent˜ao, linguagens regulares tˆem sido extensivamente es-tudadas. Resultados das primeiras investiga¸c˜oes s˜ao, por exemplo, o teorema de Kleene estabelecendo a equivalˆencia de express˜oes regulares e AFs, a introdu¸c˜ao de autˆomatos com sa´ıda por Mealy e Moore e a introdu¸c˜ao de AFs n˜ao determin´ısticos por Rabin e Scott [Rozenberg e Salomaa, 1997].

O elemento b´asico de uma linguagem ´e o alfabeto, um conjunto finito de s´ımbolos utilizados para formar as cadeias pertencentes `a linguagem. Por exemplo, o alfabeto Σ ={0,1} cont´em os s´ımbolos 0 e 1, e todas as cadeias formadas a partir deste alfabeto s´o poder˜ao conter estes s´ımbolos.

(27)

denotado por Σ+, e o conjunto de todas as cadeias, incluindo a cadeia vazia, sobre um alfabeto Σ ´e denotado por Σ+S

{ε} = Σ∗

. O comprimento de uma cadeia ´e o n´umero de s´ımbolos que a forma. Logo, o comprimento da cadeiaabcd ´e 4. Denota-se o compri-mento de uma cadeia w por |w|; portanto, |101| = 3 e |ε| = 0. Alternativamente, por meio de um isomorfismo natural, uma cadeia w ∈ Σ∗

pode ser considerada uma fun¸c˜ao

w:{1, . . . ,|w|} 7→Σ; o valor de w(j), onde 1≤j ≤ |w|, ´e o s´ımbolo que ocupa a j-´esima posi¸c˜ao em w [Lewis e Papadimitriou, 2008].

D´a-se o nome de linguagem a qualquer conjunto de cadeias sobre um alfabeto Σ, ou seja, a qualquer subconjunto de Σ∗

. Portanto, Σ∗

, ε e Σ s˜ao linguagens. Sendo uma linguagem simplesmente um tipo particular de conjunto, pode-se especificar linguagens finitas enumerando-se todas as suas cadeias. Por exemplo, {aba, czr, d, f} ´e uma lin-guagem sobre{a, b, . . . , z}. Entretanto, quando as linguagens s˜ao infinitas, n˜ao ´e poss´ıvel listar todas as cadeias [Lewis e Papadimitriou, 2008]. Assim, especifica-se linguagens in-finitas da seguinte forma: L={w∈W: W⊂Σ∗

}. Linguagens infinitas tamb´em podem ser representadas pelos sistemas que as reconhecem.

2.5

Autˆ

omatos finitos e linguagens regulares

Segundo Hopcroft, Motwani e Ullman (2002), um AF ´e definido por uma qu´ıntupla

A= (Q,Σ, δ, q0,F), onde:

A ´e o nome associado ao AF.

Q ´e um conjunto finito de estados.

Σ ´e um conjunto finito de s´ımbolos de entrada

δ ´e uma fun¸c˜ao de transi¸c˜ao do tipo δ : Q×Σ 7→ Q. A fun¸c˜ao de transi¸c˜ao toma um estado e um s´ımbolo de entrada e retorna um novo estado. δ tamb´em ´e chamada de tabela de transi¸c˜ao de estados.

q0 ´e o estado inicial.

(28)

O autˆomato atua lendo s´ımbolos de uma fita de entrada onde cada posi¸c˜ao na fita cont´em um s´ımbolo. O autˆomato come¸ca seu processamento no estado inicialq0 e, a cada s´ımbolo lido da fita de entrada, a fun¸c˜ao de transi¸c˜ao δ : Q×Σ 7→ Q define um novo estado como o estado atual. Quando o processamento da fita de entrada termina, se o estado atual for um dos estados pertencentes ao conjuntoF de estados finais, a entrada ´e considerada aceita, caso o contr´ario, a entrada ´e rejeitada. Por exemplo, considere o seguinte AF:

M ={Q={A, B},

Σ = {0,1},

δ ={A×07→A;A×17→B;B×07→A;B×17→B}, q0 =A,

F={B}}

Neste caso, o estado inicial ´e o estado A, e o conjunto de estados finais ´e formado pelo estado ´unico B. ´E f´acil verificar que este autˆomato aceita qualquer cadeia sobre o alfabeto {0,1} que termine com o s´ımbolo 1. Considere a cadeia 00101. O autˆomato come¸ca no estadoA e lˆe o primeiro s´ımbolo 0, a fun¸c˜aoδ possui uma entradaA×07→A, ent˜ao o autˆomato consome o s´ımbolo 0, avan¸ca a fita de entrada e permanece no estado

A. Novamente um 0 ´e lido, ent˜ao o estado A ´e mantido e avan¸ca-se a fita de entrada. Agora o s´ımbolo 1 ´e lido, a entrada correspondente na tabela de transi¸c˜ao ´eA×17→B, ent˜ao o autˆomato vai para o estado B. O pr´oximo s´ımbolo da entrada ´e o 0, e a entrada correspondente na tabela de transi¸c˜ao ´eB×07→A, ent˜ao o autˆomato vai para o estado

A. O ´ultimo s´ımbolo de entrada ´e o s´ımbolo 1, ent˜ao o autˆomato vai para o estado B. Como toda a entrada foi consumida e o estado atualB pertence ao conjunto de estados finaisF, a cadeia de entrada 00101 ´e aceita.

AFs tamb´em podem ser representados graficamente atrav´es de um grafo orientado. Os estados s˜ao representados pelos n´os do grafo e os arcos representam as transi¸c˜oes de estado. O estado inicial possui uma seta de entrada e os estados finais possuem um c´ırculo duplo. A Figura 2.9 mostra graficamente o autˆomato anterior.

(29)

A

B

1

0

0

1

Figura 2.9: Autˆomato finito representado como um grafo orientado.

objetivo, ou seja, cada entrada da tabela de transi¸c˜ao possui a formaδ:Q×Σ7→Q. Nos AFs n˜ao determin´ısticos, cada entrada na tabela de transi¸c˜ao ´e da formaδ:Q×Σ7→2Q,

ou seja, para um dado estado e um s´ımbolo de entrada, o n´umero de poss´ıveis transi¸c˜oes pode ser maior que um [Rozenberg e Salomaa, 1997].

A mecˆanica b´asica de um AF ´e simples. O processamento em um autˆomato n˜ao determin´ıstico ´e an´alogo ao da vers˜ao determin´ıstica, exceto que, quando existe uma ambiguidade na transi¸c˜ao (i.e., mais de um estado objetivo para uma dada entrada), o autˆomato se replica, tomando o caminho dosnestados objetivos. A entrada ´e considerada aceita se, ao final do processamento, pelo menos uma instˆancia das c´opias geradas est´a em um estado final.

O conjunto de cadeias reconhecidas por um autˆomato forma a linguagem do autˆomato. SejaM um autˆomato,L(M) constitui sua linguagem. A classe de linguagens reconhecidas por AFs s˜ao as linguagens regulares. Linguagens regulares podem tamb´em ser represen-tadas por meio das chamadas express˜oes regulares.

Sejam as opera¸c˜oes:

Uni˜ao A+B ={x|x∈A oux∈B}

Concatena¸c˜ao AB ={xy|x∈A e y∈B}

Fechamento de Kleene A∗

= {x1x2. . . xk|k ≥ 0 e cada xi ∈ A}. Adicionalmente tamb´em pode-se utilizar a nota¸c˜ao A+, que ´e equivalente a AA∗

.

Uma cadeia R ´e considerada uma express˜ao regular [Sipser, 1996] se ela ´e:

(30)

2. ∅ (a linguagem vazia)

3. ε (a cadeia vazia)

4. R1+R2, onde R1 e R2 s˜ao express˜oes regulares e a opera¸c˜ao + representa a uni˜ao de duas linguagens representadas pelas express˜oes

5. R1R2, ondeR1 e R2 s˜ao express˜oes regulares e R1R2 representa a concatena¸c˜ao das duas linguagens expostas

6. R1

, ondeR1´e uma express˜ao regular eR1

denota o fechamento de Kleene aplicado sobre R1

Por exemplo, a express˜ao regular do autˆomato da Figura 2.9 ´e (0 + 1)∗

11∗

.

2.6

Grafos de processo

Uma importante subclasse das linguagens regulares ´e a classe de linguagens de pro-cesso.

Defini¸c˜ao Linguagens regulares de processo s˜ao um subconjunto das linguagens regulares em que dada uma cadeiaw∈L, qualquer subcadeia de w tamb´em est´a em L.

Defini¸c˜ao O grafo de processo de uma linguagem de processo L ´e o grafo formado per-mitindo o AF m´ınimo associado M(L) iniciar em qualquer estado e marcando todos os estados como de aceita¸c˜ao.

Todos os estados de um grafo de processo s˜ao, ent˜ao, estados iniciais e de aceita¸c˜ao.

Claramente linguagens regulares de processo s˜ao um conjunto menor do que linguagens regulares. Por exemplo, a linguagem L = {0011} s´o pode ser representada por uma linguagem regular, pois as subcadeias de 0011 n˜ao fazem parte de L.

2.7

Evolu¸c˜

ao de um autˆ

omato celular

(31)

que o AC ´e formado por N c´elulas. O conjunto dos estados de todas as c´elulas de um reticulado do AC em um dado passo em sua evolu¸c˜ao temporal ´e chamado deconfigura¸c˜ao global, e um subconjunto dos estados destas c´elulas define uma configura¸c˜ao local.

Linguagens formais consistem do conjunto de cadeias formadas a partir de cadeias de s´ımbolos em um alfabeto finito Σ de acordo com regras gramaticais definidas. Conjuntos de configura¸c˜oes de ACs podem assim ser considerados como linguagens formais, com cada cadeia na linguagem representando uma configura¸c˜ao do AC. Tais conjuntos infinitos de configura¸c˜oes s˜ao ent˜ao completamente especificados por conjuntos finitos de regras gramaticais [Wolfram, 1984b].

O conjunto de configura¸c˜oes poss´ıveis em um AC unidimensional depois de t passos de evolu¸c˜ao pode ser representado por um conjunto Ω(t) [Wolfram, 1984b].

O seguinte exemplo, retirado de [Wolfram, 1984b], ilustra o processo de gera¸c˜ao do AF que representa o conjunto de configura¸c˜oes poss´ıveis Ω(t)ap´ostitera¸c˜oes. A constru¸c˜ao do AF se baseia no grafo de De Bruijn [Bruijn, 1946], [Powley, 2009], [McIntosh, 2009]. Um grafo de De Bruijn com m s´ımbolos ´e um grafo direcionado representando sobreposi¸c˜oes entre sequˆencias de s´ımbolos, onde cada estado possui m arestas chegando e m arestas deixando o estado. Toda regra unidimensional pode ser inicialmente representada por um grafo de De Bruijn de 4 estados, em que somente as transi¸c˜oes mudam para cada regra.

Considere a constru¸c˜ao do conjunto Ω(1) gerado por um passo de tempo na evolu¸c˜ao do AC elementar com uma regra localφ dada por (regra n´umero 76):

1117→0,1107→1,1017→0,1007→0,0117→1,010 7→1,001 7→0,000 7→0 (2.2)

O valora(1)i de uma c´elula na posi¸c˜aoina configura¸c˜aoA(1) =φA(0) ∈Ω(1)depende da vizinhan¸ca de trˆes c´elulas (a(0)i1, a

(0) i , a

(0)

(32)

associa um s´ımbolo com cada arco deg. Cada poss´ıvel caminho atrav´es deg corresponde a uma configura¸c˜ao particular A(0). O sucessor A(1) de cada configura¸c˜ao inicial ´e dado pela sequˆencia de s´ımbolos associada com os arcos no caminho. As sequˆencias de s´ımbolos obtidas seguindo todos os caminhos poss´ıveis atrav´es deg assim correspondem a todas as poss´ıveis configura¸c˜oes A(1), obtidas depois de 1 passo de tempo na evolu¸c˜ao do AC da Equa¸c˜ao 2.2. O conjunto completo Ω(1) pode assim ser representado pelo grafo g. Est´a claro que nem todas as poss´ıveis sequˆencias de 0s e 1s podem aparecer nas configura¸c˜oes de Ω(1). Por exemplo, n˜ao existe um caminho em g que inclui a sequˆencia 111, e assim nenhuma configura¸c˜ao em Ω(1) pode conter blocos de c´elulas 111.

(33)

00

01

10

11

001

7→

0

000

7→

0

011

7→

1

010

7→

1

101

7→

0

100

7→

0

110

7→

1

111

7→

0

Figura 2.10: O grafo de transi¸c˜ao de estados g para um AF n˜ao determin´ıstico que representa as configura¸c˜oes obtidas depois de um passo de tempo na evolu¸c˜ao do AC com a regra n´umero 76. Poss´ıveis sequˆencias de valores de c´elulas s˜ao representadas por caminhos poss´ıveis pelo grafo. Os n´os no grafo s˜ao rotulados por pares de valores iniciais das c´elulas; os arcos ent˜ao correspondem a triplas de valores iniciais das c´elulas. Cada tripla ´e mapeada sob a regra 76 para um valor particular da c´elula. O grafo com arcos rotulados por estas c´elulas correspondem a todas as configura¸c˜oes poss´ıveis obtidas depois de um passo de tempo [Wolfram, 1984b].

2.8

Configura¸c˜

ao inicial de um autˆ

omato celular

(34)

A

0

,

1

Figura 2.11: Poss´ıveis configura¸c˜oes iniciais representadas por um AF determin´ıstico. ´E trival perceber que o autˆomato aceita qualquer sequˆencia de 0s e 1s.

Figura 2.12: Grafo de processo representando as poss´ıveis configura¸c˜oes iniciais. Arcos vermelhos representam transi¸c˜oes em 0 e arcos pretos representam transi¸c˜oes em 1.

Neste trabalho, o estado inicial dos AFs determin´ısticos apresentados ´e o primeiro estado, tamb´em destacado por um c´ırculo preenchido (s´olido), enquanto os demais estados possuem um c´ırculo vazio.

2.9

Fun¸c˜

oes

NetCAStep

,

TrimNet

e

MinNet

NetCAStep, TrimNet e MinNet [Wolfram, 2002] s˜ao fun¸c˜oes desenvolvidas no Math-ematica para gerar AFs que representam a evolu¸c˜ao para um passo de tempo de um AC unidimensional.

(35)

(configura¸c˜ao inicial).

A fun¸c˜ao NetCAStep gera como sa´ıda uma lista de transi¸c˜oes de estados correspon-dente a um grafo de processo. Sobre a lista de transi¸c˜oes de estado resultante da fun¸c˜ao NetCAStep ´e aplicada a fun¸c˜ao MinNet, que, por sua vez, gera um AF determin´ıstico m´ınimo equivalente ao autˆomato gerado por NetCAStep, em que o ´ultimo estado ´e o estado inicial e todos os estados s˜ao finais.

A fun¸c˜ao TrimNet faz a transforma¸c˜ao do AF de sa´ıda da MinNet em um grafo de processo determin´ıstico m´ınimo.

(36)

1

2

3

4

NetCAStep

ç

8

ç

3

ç

7

1

ç

6

ç

5

ç

4

ç

2

MinNet

1 6

2

7

3

4

5

TrimNet

(37)

3

Complexidade de linguagens regulares de autˆ

omatos

finitos elementares

O conjunto de poss´ıveis configura¸c˜oes globais de um AC elementar sempre pode ser representado por um AF para um passo de tempo finito. Para o casot→ ∞, o conjunto de configura¸c˜oes globais nem sempre pode ser representado por um AF, pois a configura¸c˜ao limite de uma regra n˜ao necessariamente ´e regular. Diversos trabalhos trataram de estudar e caracterizar o comportamento limite de ACs.

O comportamento limite de um AC pode ser definido por uma linguagem formal den-tro da hierarquia de Chomsky. Hurd (1987) apresentou exemplos de ACs para os quais o conjunto limite era uma linguagem n˜ao regular. Exemplos adicionais foram apresen-tados em [Hurd, 1990b]. Hurd (1987) tamb´em provou que o problema de determinar se uma dada cadeia aparece no conjunto limite de um AC ´e indecid´ıvel. Uma prova alter-nativa utilizando uma abordagem topol´ogica foi demonstrada por [Culik II, Pachl e Yu, 1989]. Hurd (1990a) provou que ´e poss´ıvel construir um AC cuja linguagem limite n˜ao ´e recursivamente enumer´avel.

Culik II e Yu (1988) formalizaram a classifica¸c˜ao de ACs proposta por [Wolfram, 2002]. Com a formaliza¸c˜ao, conseguiram provar que ´e indecid´ıvel determinar a qual classe um determinado AC pertence, e que ACs que em geral evoluem para um estado quiescente n˜ao necessariamente possuem comportamento limite descrito por uma linguagem regular.

Jiang (2001), utilizando dinˆamica simb´olica e teoria de linguagens formais, provou que o conjunto limite da regra 122 ´e, pelo menos, sens´ıvel ao contexto. Zhisong e Yi (2005) provaram que o comportamento limite da regra 22 n˜ao ´e regular.

K¨urka e Maass (2000) analisaram a probabilidade do aparecimento de determinadas estruturas conforme t 7→ ∞ para as regras 18, 54, 62 e 184, e tamb´em compararam este conceito probabil´ıstico com o conceito de atratores, tanto do ponto de vista topol´ogico quanto de teoria de medidas.

(38)

3.1

Revisitando [Trafaniuc, 2004] e [Miki, 2006]

O encadeamento das fun¸c˜oes NetCAStep,MinNet eTrimNet rende um grafo de pro-cesso que representa o conjunto de configura¸c˜oes globais para um passo de tempo finito, conforme ilustra a Figura 3.1.

Conforme avan¸cam-se os passos de tempo, a tendˆencia ´e que o conjunto de con-figura¸c˜oes fique mais restrito e, como consequˆencia, o grafo torne-se mais complexo. A Figura 3.2 mostra os grafos de processo de 4 passos de tempo para a regra 11. Nota-se que, com o passar do tempo, o n´umero de estados e transi¸c˜oes aumenta, em decorrˆencia da maior restri¸c˜ao de configura¸c˜oes poss´ıveis. Wolfram (1984b) propˆos este aumento de complexidade do grafo como medida de complexidade da regra, ou seja, a complexidade da regra ´e proporcional ao aumento do n´umero de estados e transi¸c˜oes dos grafos dos sucessivos passos de tempo. Wolfram (1994) construiu uma tabela contendo a rela¸c˜ao do n´umero de estados e arestas das regras do espa¸co elementar (agrupadas pelas classes de equivalˆencia) para os cinco primeiros passos de tempo e, quando poss´ıvel, para o grafo limite, al´em da express˜ao de crescimento dos n´os e arestas para t >5.

Conforme j´a mencionado, o conjunto de configura¸c˜oes globais de uma regra unidimen-sional parat <∞ de um AC sempre pode ser representada por um grafo de processo. ´E importante ressaltar que esta abordagem limita-se `a condi¸c˜ao de contorno n˜ao peri´odica. Para condi¸c˜ao de contorno peri´odica, este grafo pode n˜ao existir para uma determinada regra, mesmo existindo na condi¸c˜ao de contorno n˜ao peri´odica. A Se¸c˜ao 3.3 apresenta uma prova de que em condi¸c˜ao de contorno peri´odica, o comportamento limite da regra 184 n˜ao pode ser representado por um grafo de processo.

Pode-se imaginar que, para os casos em que a configura¸c˜ao limite de um AC possa ser representada por um grafo de processo, a execu¸c˜ao do encadeamento das fun¸c˜oes NetCAStep,MinNet eTrimNet por um per´ıodo suficiente de tempo levar´a ao grafo limite, conforme se exemplifica na Figura 3.3. Mas existem regras em que esta convergˆencia n˜ao ocorre, como a regra 128 (Figura 3.13), mesmo seu comportamento limite sendo conhecido [Wolfram, 1984b] (Figura 3.4).

(39)

In´ıcio

Entrada: - NDFA - n´umero da regra do AC

NetCAStep

Sa´ıda: - autˆomato

finito n˜ao determin´ıstico

Gerar para o pr´oximo passo de tempo?

MinNet

Sa´ıda: - autˆomato

finito de-termin´ıstico

TrimNet Entrada: - DFA

Sa´ıda: - grafo de processo

sim n˜ao

(40)

T

=

1

T

=

2

T

=

3

T

=

4

Figura 3.2: Grafos de processo para 4 passos de tempo da regra elementar 11.

T

=

1

T

=

2

T

=

3

(41)

ç

3

ç

2 1

Figura 3.4: AF determin´ıstico limite da regra 128.

[Trafaniuc, 2004] e, posteriormente, de [Miki, 2006].

[Trafaniuc, 2004] procurou isolar aquelas regras que possuem crescimento estruturado, ou seja, em que se pode observar estruturas comuns nos sucessivos passos de tempo. Primeiramente, sobre as 256 regras elementares, foi aplicado um algoritmo para sele¸c˜ao de regras que apresentam grafos com complexidade crescente a cada passo de tempo. O algoritmo ´e ilustrado na Figura 3.5.

O algoritmo divide as regras em dois grupos [Trafaniuc, 2004]:

Grupo 1: Regras que apresentam crescimento de complexidade no AF limite a cada passo de tempo, e o m´etodo ´e interrompido ap´os 5 passos de tempo.

Grupo 2: Regras que deixam de apresentar crescimento de complexidade no AF em at´e 5 passos de tempo.

(42)

In´ıcio

Regra de AC elementar

NetCAStep, MinNet, TrimNet

Autˆomato para o passo de tempo t+ 1

Autˆomato

t+ 1 ´e o mesmo quet?

Regras grupo 2 N´umero da

itera¸c˜ao ´e 5?

Regras grupo 1

sim n˜ao

sim n˜ao

Figura 3.5: Algoritmo de sele¸c˜ao de regras [Trafaniuc, 2004].

(43)

1. Gerar os grafos das regras de transi¸c˜ao, para 2 passos de tempo consecutivos, t e

t+ 1, de uma regra do espa¸co elementar (Figura 3.6).

Figura 3.6: Grafos de processo det et+ 1 para a regra 128.

2. Gerar todos os poss´ıveis subgrafos do passo de tempo t+ 1 que tenham o mesmo n´umero de estados que o grafo do passo de tempo t (Figura 3.7).

Figura 3.7: Subgrafos de t+ 1 que possuem o mesmo n´umero de n´os do grafo de t.

(44)

Figura 3.8: Subgrafos de t+ 1 que se encaixam perfeitamente em t.

4. Realizar uma opera¸c˜ao de diferen¸ca entre o grafo det e todos os subgrafos de t+ 1 selecionados no passo trˆes, com o mesmo n´umero de n´os. O subgrafo que apresentar a menor diferen¸ca no n´umero de transi¸c˜oes de estados ´e selecionado. No caso de empate, o primeiro subgrafo ´e selecionado (Figura 3.9).

Figura 3.9: Opera¸c˜ao de diferen¸ca entret e os subgrafos do passo anterior.

(45)

dos grafos de processo de acordo com o passo de tempo, sendo apresentado o m´etodo de obten¸c˜ao do grafo de processo de passo t para cada uma. O trabalho chegou `a conclus˜ao que s˜ao necess´arias duas propriedades para caracteriza¸c˜ao do grafo de processo de uma regra [Trafaniuc, 2004]:

1. O crescimento do n´umero de estados do grafo de processo deve ser proporcional ao passo de tempo, ou seja, o n´umero de estados cresce a cada passo de tempo.

2. Os grafos de processo para passos de tempo distintos devem possuir uma rela¸c˜ao de crescimento, conforme descrito anteriormente.

Trafaniuc (2004) reconstruiu a tabela de complexidade de [Wolfram, 1994], preenchendo novas lacunas na tabela. Tamb´em encontrou alguns valores divergentes em rela¸c˜ao `a tabela original, embora n˜ao tenha mencionado nada em rela¸c˜ao a tal discrepˆancia. Miki (2006), posteriormente, identificou que a descri¸c˜ao da fun¸c˜ao MinNet estava errada em [Wolfram, 2002], que apontava o primeiro estado como sendo o estado inicial no autˆomato gerado pela fun¸c˜ao, mas na verdade o ´ultimo estado ´e o que representa o estado inicial, e atribuiu a esse fato como poss´ıvel causa das diferen¸cas entre as tabelas de [Trafaniuc, 2004] e [Wolfram, 1994]. Realmente, a sa´ıda da fun¸c˜ao MinNet possui o ´ultimo estado como estado inicial, mas este n˜ao ´e o motivo da discrepˆancia em rela¸c˜ao `a tabela de Wolfram, como ser´a visto mais adiante.

Miki (2006) automatizou o processo manual de an´alise de crescimento de AFs desen-volvido por Trafaniuc (2004) por meio de uma opera¸c˜ao de diferen¸ca de grafos. Com os resultados, o trabalho passou a focar na an´alise da regra 184, com o objetivo de se obter o autˆomato limite, o qual foi constru´ıdo manualmente como referˆencia, conforme mostra a Figura 3.10.

ç ç ç ç

Figura 3.10: Grafo limite da regra 184 segundo [Miki, 2006].

(46)

fizesse essa transforma¸c˜ao de simetria, n˜ao conseguiu, assim, encontrar o AF limite da regra 184 partindo-se dos AFs intermedi´arios.

Por meio da automa¸c˜ao do processo de an´alise, [Miki, 2006] conseguiu obter as ex-press˜oes de crescimento das regras 11, 14, 35, 50, 70 e 81, que [Trafaniuc, 2004] n˜ao tinha conseguido, deixando aberto, portanto, 4 regras do conjunto original das 26, sendo elas as regras 23, 56, 98 e 172.

3.2

Problemas encontrados no trabalho de [Trafaniuc, 2004]

Tanto [Trafaniuc, 2004] quanto [Miki, 2006] basearam seus respectivos trabalhos nas fun¸c˜oes NetCAStep, MinNet e TrimNet. Acontece que Trafaniuc (2004) usava a sa´ıda da fun¸c˜ao NetCAStep como entrada para a fun¸c˜ao TrimNet, cuja sa´ıda era usada como entrada da fun¸c˜aoMinNet, que ent˜ao realimentava a fun¸c˜ao NetCAStep. Como primeira consequˆencia (conforme j´a apontado em [Miki, 2006]), Trafaniuc (2004) trabalhou com AFs determin´ısticos, e n˜ao com grafos de processo como descreveu. Trafaniuc (2004) realimentou a fun¸c˜ao NetCAStep com a sa´ıda da fun¸c˜ao MinNet, enquanto Miki (2006) utilizou a sa´ıda da fun¸c˜ao TrimNet para realimentar a fun¸c˜ao NetCAStep. A Figura 3.11 mostra o encadeamento de chamadas das fun¸c˜oesNetCAStep,MinNet eTrimNet da forma utilizada pelos dois trabalhos.

De acordo como est´a descrito em [Wolfram, 2002], nenhuma das duas formas estaria correta e, teoricamente, o modo como foram executadas leva a um comportamento in-definido, sendo a forma como apresentada na Figura 3.1 o modo correto de encade´a-las e realiment´a-las.

Diante deste problema das chamadas das fun¸c˜oes, os resultados da tabela de [Wolfram, 1994] reconstru´ıda por [Trafaniuc, 2004] poderiam estar incorretos, ent˜ao a tabela foi nova-mente refeita neste trabalho. A nova tabela e a discuss˜ao dos resultados s˜ao apresentados na Se¸c˜ao 3.4.

(47)

Entrada:

- grafo de

processo

- n´umero da

regra do AC

NetCAStep Sa´ıda: - autˆomato finito n˜ao determin´ıstico Entrada: - autˆomato finito n˜ao determin´ıstico TrimNet Sa´ıda:

- grafo de

processo

Entrada:

- grafo de

processo MinNet Deseja gerar o autˆomato para o pr´oximo instante? Sa´ıda: - autˆomato finito de-termin´ıstico n˜ao sim Entrada:

- grafo de

processo

- n´umero da

regra do AC

NetCAStep Sa´ıda: - autˆomato finito n˜ao determin´ıstico Entrada: - autˆomato finito n˜ao determin´ıstico TrimNet Sa´ıda:

- grafo de

processo Deseja gerar o autˆomato para o pr´oximo instante? Entrada:

- grafo de

processo MinNet Sa´ıda: - autˆomato finito de-termin´ıstico sim n˜ao In´ıcio Entrada: - NDFA - n´umero da regra do AC

NetCAStep

Sa´ıda: - autˆomato

finito n˜ao determin´ıstico

Gerar para o pr´oximo passo de tempo? MinNet Sa´ıda: - autˆomato finito de-termin´ıstico TrimNet Entrada: - DFA Sa´ıda: - grafo de processo

sim n˜ao

Trafaniuc (2004) Miki (2006) Forma correta

Figura 3.11: Compara¸c˜ao de como as fun¸c˜oes NetCAStep, MinNet e TrimNet s˜ao chamadas em [Trafaniuc, 2004] (`a esquerda), [Miki, 2006] (no centro) e como ´e a forma correta de execut´a-las (`a direita).

(48)

regras 32 (Figura 3.12) e 128 (Figura 3.13), repara-se que ambos s˜ao muito semelhantes, mas a regra 128 ´e selecionada pelo algoritmo, enquanto a regra 32 ´e descartada.

T =1 T= 2 T =3 T=4 T=5

Figura 3.12: Sequˆencia de grafos de processo da regra 32.

T=1 T= 2 T =3 T= 4 T= 5

Figura 3.13: Sequˆencia de grafos de processo da regra 128.

Nota-se que ambas as regras possuem grafos de processo com a mesma estrutura geral: uma pequena estrutura parcialmente recorrente ´e formada e existe uma sequˆencia de transi¸c˜oes que parte desta estrutura e retorna `a mesma, com a distˆancia deste caminho aumentando a cada passo de tempo.

(49)

para realizar a opera¸c˜ao de diferen¸ca de grafos, utilizada na implementa¸c˜ao do algoritmo de sele¸c˜ao de regras de [Trafaniuc, 2004] (descrito na Se¸c˜ao 3.1). O algoritmo original utilizava a antiga vers˜ao do pacote Combinatorica, mas testes mostraram que a vers˜ao mais recente da fun¸c˜ao, integrada ao n´ucleo doMathematica, apresenta o mesmo compor-tamento. A Figura 3.14 mostra a opera¸c˜aoGraphDifference entre dois grafos de processo de passos de tempo consecutivos da regra 32.

Figura 3.14: Fun¸c˜aoGraphDifference para dois grafos de processo adjacentes da regra 32.

A Figura 3.15 mostra o que ocorre quando se muda a numera¸c˜ao dos v´ertices do primeiro grafo.

Repara-se que, apesar de os v´ertices terem sido renomeados, trata-se ainda do mesmo grafo, mas a opera¸c˜ao resulta em uma diferen¸ca menor entre os grafos de referˆencia para o segundo caso. ´E exatamente essa dependˆencia da nomea¸c˜ao de v´ertices que faz com que a implementa¸c˜ao do algoritmo de sele¸c˜ao de regras (Se¸c˜ao 3.1) gere falsos negativos, uma vez que o algoritmo acaba selecionando o subgrafo errado como o menor subgrafo entre dois grafos de passos adjacentes.

Para contornar este problema, seria necess´ario um algoritmo que, dado um grafo G, reordenasse seus v´ertices de tal forma a gerar a menor diferen¸ca com um grafo de referˆencia

G′

(50)

Figura 3.15: Fun¸c˜aoGraphDifference para dois grafos de processo adjacentes da regra 32 com os v´ertices do primeiro grafo renomeados.

3.3

Comportamento limite da regra 184

Miki (2006) analisou a regra elementar 184. O comportamento limite desta regra pode ser dividido em trˆes partes, dependendo da configura¸c˜ao inicial [Miki, 2006]:

• Configura¸c˜ao inicial com n´umero de 1s igual ao n´umero de 0s (#1s = #0s), implica em configura¸c˜ao limite com 0s e 1s intercalados.

• Configura¸c˜ao inicial com n´umero de 1s maior que o n´umero de 0s (#1s > #0s), implica em configura¸c˜ao limite com forma¸c˜ao de grupos de 1s, intercalados por blocos 01.

• Configura¸c˜ao inicial com n´umero de 0s maior que o n´umero de 1s (#1s < #0s), implica em configura¸c˜ao limite com forma¸c˜ao de grupos de 0s, intercalados por blocos 10.

(51)

peri´odica (CCNP), o conjunto das configura¸c˜oes limites em uma condi¸c˜ao de contorno n˜ao ´e o mesmo na outra. Por exemplo, a cadeia 1001 n˜ao faz parte da configura¸c˜ao limite da regra 184 em CCP, pois ´e simplesmente a cadeia 0011 deslocada, mas ´e v´alida em CCNP sobre um fundo de 0s, pois representa 1s separados por blocos de 0s.

Com base na descri¸c˜ao do comportamento limite da regra 184 acima, Miki (2006) construiu um AF que seria o AF limite da regra 184 (em CCNP, Figura 3.10). Mas este AF n˜ao aceita, por exemplo, a cadeia 011, que faz parte da linguagem limite e, portanto, n˜ao descreve o comportamento limite da regra.

Figura 3.16: Deslocamento da regra 184 na configura¸c˜ao limite. Na figura, quadrados em preto representam 0s, e quadrados em azul representam 1s. O bloco de 1s ´e deslocado `a esquerda a cada aplica¸c˜ao da regra.

A Figura 3.17 mostra o que acredita-se ser o grafo de processo que representa o comportamento limite da regra 184 para CCNP, gerado manualmente a partir da descri¸c˜ao de seu comportamento limite dado anteriormente. Importante observar que este grafo de processo somente descreve o comportamento limite da regra 184 em CCNP, pois ´e imposs´ıvel representar o comportamento limite da regra em CCP por meio de um grafo de processo, conforme demonstrado a seguir.

Proposi¸c˜ao 3.1 N˜ao ´e poss´ıvel representar o comportamento limite da regra 184 por meio de um grafo de processo para condi¸c˜ao de contorno peri´odica.

Prova Seja L a linguagem limite da regra 184 em CCP, e G o grafo de processo que reconhece L. Como w = 000101 ∈ L, tamb´em v = 100010 ∈ L, uma vez que v ´e igual a w a menos de um deslocamento `a direita; logo v tamb´em ´e reconhecida por G. Como

v′

(52)

grafos de processo,v′

tamb´em ´e reconhecida por G; entretanto,v n˜ao pode pertencer aL, porquev′

´e a cadeia 11000 deslocada, e sabe-se que essa cadeia n˜ao faz parte do conjunto limite da regra 184 em CCP. Portanto, G n˜ao pode ser um grafo de processo.

Em busca de evidˆencias de que o grafo da figura 3.17 representa de fato o compor-tamento limite da regra 184 em CCNP, primeiramente foram geradas todas as cadeias limites a partir de todas as combina¸c˜oes de configura¸c˜oes iniciais de tamanho 20, e ent˜ao foi verificado se o grafo aceitaria cada configura¸c˜ao limite gerada. Al´em disso, foram aplicadas todas as configura¸c˜oes inv´alidas de tamanho 10 para verifica¸c˜ao quanto a falsos positivos. Todos os testes foram executados com sucesso. Assim, embora n˜ao haja um prova formal de que este grafo de processo seja realmente o comportamento limite da regra 184 em CCNP, h´a fortes evidˆencias que levam a tal conclus˜ao.

1

10

2

4 5

3 6

7

8

9

11

12

13

Figura 3.17: Grafo limite da regra 184 em condi¸c˜ao de contorno n˜ao peri´odica.

3.4

Nova tabela de complexidade de regras

(53)

nas sa´ıdas da fun¸c˜ao MinNet, ent˜ao tratam-se de AFs determin´ısticos e n˜ao grafos de processo. As Tabelas 3.1, 3.2 e 3.3 apresentam os novos resultados.

Em cada tabela, existe uma divis˜ao de duas subtabelas, `a esquerda s˜ao mostradas as simula¸c˜oes de [Wolfram, 1994], enquanto `a direita est˜ao as simula¸c˜oes deste trabalho. Novos resultados s˜ao a soma dos resultados presentes em [Trafaniuc, 2004], [Miki, 2006] e neste trabalho.

Um ponto importante ´e que, para algumas regras em que os resultados de [Wolfram, 1994] e [Trafaniuc, 2004] coincidiram, houve divergˆencias neste trabalho. Um exemplo ´e a regra 38, onde Wolfram e Trafaniuc obtiveram os mesmos resultados mas este trabalho obteve valores diferentes.

Outra quest˜ao ´e com rela¸c˜ao `as regras 32, 128, 136, 160, 168, e 224. Estas tˆem o n´umero de estados e arestas do AF limite apresentados em [Wolfram, 1994] mas n˜ao h´a qualquer registro de como seus AFs limite foram obtidos. O AF determin´ıstico da regra 128 est´a em [Wolfram, 1984b] e ´e mostrado na Figura 3.4 (embora no texto original n˜ao haja descri¸c˜ao como este foi obtido), mas n˜ao h´a qualquer ind´ıcio de onde os outros grafos vieram.

Baseado no comportamento limite da regra 128, no presente trabalho foi desenvolvida uma t´ecnica manual para inferir o AF determin´ıstico limite das outras regras. A t´ecnica parte da observa¸c˜ao do papel das estruturas parcialmente recorrentes dos grafos dos su-cessivos passos de tempo, observando a evolu¸c˜ao dos grafos, para assim inferir o caso limite.

(54)

Tabela 3.1: Tabela de complexidade de linguagens regulares (1/3).

(55)

Tabela 3.2: Tabela de complexidade de linguagens regulares (2/3).

(56)

Tabela 3.3: Tabela de complexidade de linguagens regulares (3/3).

(57)

ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç

Figura 3.18: Sequˆencia de AFs da regra 32.

ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç

Figura 3.19: Sequˆencia de AFs da regra 128.

ç ç ç ç ç ç ç ç ç ç ç ç ç ç

(58)

ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç

Figura 3.21: Sequˆencia de AFs da regra 168.

ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç ç

Figura 3.22: Sequˆencia de AFs da regra 224.

(59)

9 7 8 3 1 6 5 4 2 16 15 13 1 11 9 12 7 5 10 3 1 8 6 4 2 25 24 2 23 21 20 18 17 19 14 13 11 16 9 15 8 6 5 12 3 1 10 7 4 2 36 35 33 34 32 31 29 28 30 27 26 25 23 22 21 24 17 16 15 13 20 11 19 10 18 9 7 6 5 14 3 1 12 8 4 2

49 48 46

47 45 44 42 41 43 40 39 38 36 35 34 37 33 32 31 30 28 27 26 25 29 20 19 18 17 15 24 13 23 12 22 11 21 10 8 7 6 5 16 3 1 14 9 4 2

(60)

ç 4 ç 3 ç 2 1 ç 3 ç 2 1

Regra 32 Regra 128

ç 3 ç 2 1 ç 9 ç 8 ç 2 ç 7 ç 6 ç 5 ç 4 ç 3 1

Regra 136 Regra 160

ç 4 ç 3 ç 2 1 ç 4 ç 3 ç 2 1

Regra 168 Regra 224

Figura 3.24: AFs limite.

(61)

4

Constru¸c˜

ao do grafo de processo por meio de

ma-trizes de adjacˆ

encias

Qualquer grafo pode ter uma representa¸c˜ao matricial. Para AFs, ´e necess´ario ainda definir uma forma de representar os estados iniciais e finais. No caso de grafos de processo, esta informa¸c˜ao ´e irrelevante, pois todos os estados s˜ao iniciais e finais.

Wang e Wang (2011) propuseram uma representa¸c˜ao matricial alternativa para ACs, a qual ´e baseada na pr´opria evolu¸c˜ao do AC.

Neste cap´ıtulo, ´e proposta uma nova abordagem para o problema, por meio da an´alise das matrizes de adjacˆencia correspondentes aos grafos de processo das respectivas regras do espa¸co elementar. Por´em, como ser´a visto adiante, n˜ao ´e poss´ıvel representar comple-tamente um grafo de processo utilizando a nota¸c˜ao cl´assica de matrizes de adjacˆencia. ´E proposta, ent˜ao, uma nova nota¸c˜ao que, dada a matriz de adjacˆencia, ´e poss´ıvel construir integralmente o grafo da respectiva matriz.

O texto ent˜ao deduz o algoritmo de forma¸c˜ao do grafo de processo de tempo tpara a regra 184; e ent˜ao finaliza com uma breve descri¸c˜ao dos padr˜oes de forma¸c˜ao de matrizes das mesmas regras estudadas em [Trafaniuc, 2004]. O motivo de escolher a regra 184 para ilustrar o processo se deve ao fato de ser uma regra que j´a foi extensivamente estudada em [Trafaniuc, 2004] e [Miki, 2006]. No Apˆendice A os algoritmos para todas as 26 regras estudadas s˜ao apresentados.

4.1

Representa¸c˜

ao de grafos de processo em forma matricial

4.1.1 Matrizes de adjacˆencias

Uma matriz de adjacˆencia, algumas vezes tamb´em chamada de matriz de conex˜oes, representa os estados e transi¸c˜oes de grafos em forma matricial, rotulando as linhas e colunas com os v´ertices do grafo. As linhas e colunas representam, respectivamente, os estados de origem e destino do grafo1.

1No caso de grafos n˜ao direcionados, n˜ao existe distin¸c˜ao de estados origem e destino, mas somente

(62)

A representa¸c˜ao de um grafo direcionado G com n v´ertices se d´a por uma matriz M

de dimens˜ao n×n. O valor da posi¸c˜ao aij da matriz M ser´a 1 se existir uma transi¸c˜ao do estado i para o estado j. A Figura 4.1 mostra um grafo direcionado e a Figura 4.2 mostra a matriz de adjacˆencia correspondente.

1

2

3

Figura 4.1: Grafo direcionado.

    

0 1 1 1 0 0 0 1 1

    

Figura 4.2: Representa¸c˜ao em matriz de ad-jacˆencia.

Embora matrizes de adjacˆencia possam representar grafos direcionados simples, n˜ao ´e poss´ıvel representar completamente um grafo de processo, dado que:

1. ´E poss´ıvel haver mais de uma transi¸c˜ao do estado i para o estado j, ∃i, j.

2. Nos ´ındices da matriz n˜ao est´a codificado o valor da transi¸c˜ao, que ´e o valor esperado na fita de entrada. Observe que a solu¸c˜ao de criar um mapeamento f : L 7→ aij que associa o valor do arco ao ´ındice da matriz ´e invi´avel devido `a possibilidade de existir mais de uma transi¸c˜ao por par de estados (i, j).

Para ilustrar a dificuldade de se representar grafos de processo utilizando matrizes de adjacˆencia, considere o grafo de processo da Figura 2.11. A matriz de adjacˆencia deste autˆomato seria uma matriz 1×1 com valora1,1 = 1. Por´em, perde-se a informa¸c˜ao de que existem duas transi¸c˜oes reflexivas no grafo de processo. Mais ainda, n˜ao existe qualquer men¸c˜ao ao valor das transi¸c˜oes.

(63)

A pr´oxima se¸c˜ao introduz uma nota¸c˜ao alternativa de matrizes de adjacˆencia que contorna as dificuldades apresentadas.

4.1.2 Matrizes de adjacˆencia de evolu¸c˜ao temporal

Uma matriz de adjacˆencia de evolu¸c˜ao temporal ´e uma nota¸c˜ao de matriz de ad-jacˆencia para representar grafos de processo que possui uma rela¸c˜ao de isomorfismo entre a matriz e sua representa¸c˜ao em grafo. Formalmente, dado o conjunto de matrizes de adjacˆencia de evolu¸c˜ao temporal M e o conjunto de grafos de processo G, existe uma transforma¸c˜ao T : G 7→ M e uma transforma¸c˜ao T−1

: M 7→ G [Costa e de Oliveira, 2012].

O elemento chave para conseguir essa rela¸c˜ao de isomorfismo ´e encontrar uma repre-senta¸c˜ao do conjunto de transi¸c˜oes e seus respectivos valores em um n´umero real que possa ser codificado nos ´ındices da matriz, e que possa ser decodificado quando for aplicada `a transforma¸c˜ao T−1

. Formalmente, dado o conjunto de transi¸c˜oes L do estado i para o estadoj,∀i, j, encontrar uma rela¸c˜ao η:L7→ ℜ que seja bijetora.

A resposta para esta quest˜ao est´a em criar um mapeamento dos valores poss´ıveis de transi¸c˜oes para o conjunto de n´umeros naturais L 7→ N e ent˜ao codificar os valores das transi¸c˜oes em um n´umero bin´ario. Cada bit do n´umero bin´ario corresponde a um valor de transi¸c˜ao. Se o valor nok-´esimo bit for 1, existe uma transi¸c˜ao (mapeada no conjunto dos naturais) de valor k do estado de origem para o estado destino em quest˜ao. A opera¸c˜ao

η de codifica¸c˜ao dos arcos Lem um n´umero natural ´e o polinˆomio de base 2:

η(Lij) =

X

∀k∈(Lij7→N)

2k (4.1)

(64)

base 2, poderia-se trabalhar com outras bases. Todavia, a ´unica implica¸c˜ao na mudan¸ca de base ´e a quantidade de d´ıgitos necess´aria para representar um dado conjunto 2L de

poss´ıveis combina¸c˜oes de transi¸c˜oes e, do ponto de vista de arquitetura computacional, a base 2 ´e a base mais natural para se trabalhar. A Figura 4.3 mostra o grafo da Figura 4.1, agora representado como um grafo de processo (repare que agora existe um valor para cada transi¸c˜ao), e a Figura 4.4 mostra a matriz de adjacˆencia de evolu¸c˜ao temporal correspondente.

1

2

3

0

0

1

1

0

Figura 4.3: Grafo de processo representado atrav´es de um grafo direcionado.

    

0 1 1 2 0 0 0 2 1

    

Figura 4.4: Representa¸c˜ao em matriz de ad-jacˆencia de evolu¸c˜ao temporal.

A transforma¸c˜ao de um grafo de processo em uma matriz de adjacˆencia de evolu¸c˜ao temporal ´e executada por meio do Algoritmo 4.1, onde ψ(n) = matriz nula n×n.

Algoritmo 4.1 Algoritmo para gerar a matriz de adjacˆencia de evolu¸c˜ao temporal a partir de um grafo de processo.

n ←Length(Q) {n´umero de estados} A←ψ(n)

for all i, j ∈Q do if Lij 6=∅ then

Aij ←η(Lij) end if

end for

O algoritmo atua criando uma matrizAn×n, onden´e o n´umero de estados do grafo de processo e atribuindo `a posi¸c˜ao Aij o valor da fun¸c˜ao η(Lij),∀i, j, onde Lij ´e o conjunto de transi¸c˜oes de ipara j.

(65)

um grafo de processo ´e baseado na representa¸c˜ao bin´aria dos valores dos ´ındices da matriz. Por exemplo, se no ´ındice A1,2 existir o valor 3, ent˜ao existe uma transi¸c˜ao em 0 e uma transi¸c˜ao em 1 do estado1 para o estado 2, pois 20+ 21 = 3. O Algoritmo 4.2 mostra o processo de gera¸c˜ao do grafo de processo a partir de uma matriz de adjacˆencia de evolu¸c˜ao temporal. O algoritmo pressup˜oe a existˆencia de uma fun¸c˜ao MakeTransition(i,j,m) que cria uma transi¸c˜ao emm do estado i para o estado j.

Algoritmo 4.2 Algoritmo para gerar o grafo de processo a partir de uma matriz de adjacˆencia de evolu¸c˜ao temporal.

for i= 1 to n do for j = 1 ton do

if Aij 6= 0 then repeat

q ← ⌊Aij ÷2⌋

r ←M od(Aij,2) if r6= 0 then

n ←0

while 2nA ij do

n←n+ 1

end while

MakeTransition(i, j, n−1) end if

untilq 6= 0 end if

end for end for

(66)

4.2

Algoritmo do grafo de processo de tempo

t

para a regra 184

Esta se¸c˜ao mostra como utilizar a nota¸c˜ao de matriz de adjacˆencia de evolu¸c˜ao tem-poral para deduzir um algoritmo que gere o grafo de processo de uma regra do espa¸co elementar para um passo de tempo discreto t qualquer. Em particular, aqui ´e deduzido o algoritmo para gerar a matriz de evolu¸c˜ao temporal para a regra 184 e, a partir desta, poder´a ser aplicado o Algoritmo 4.2 para obten¸c˜ao do grafo de processo.

Baseado nos resultados de Trafaniuc (2004), Miki (2006) estudou extensivamente o padr˜ao de crescimento da regra 184 atrav´es da an´alise dos grafos de processo gerados pelos sucessivos passos de tempo. Conforme relatado anteriormente, no caso estudou-se os grafos de processo gerados dentro dos 5 primeiros passos de tempo. A Figura 4.5 mostra os grafos de processo da regra 184 gerados para os 5 primeiros passos de tempo. A nota¸c˜ao de grafo ´e a mesma da Figura 2.12.

T =1 T= 2 T =3 T=4 T=5

Figura 4.5: Grafos de processo para os cinco primeiros passos de tempo da regra 184.

Utilizando o m´etodo apresentado na Se¸c˜ao 3.1, sua conclus˜ao foi a de que a cada passo de tempo, sempre existia uma mesma estrutura de grafo sendo adicionada e uma sendo exclu´ıda, e essas estruturas eram invariantes no tempo. As Figuras 4.6 e 4.7 mostram, respectivamente, as estruturas adicionada e exclu´ıda dos sucessivos grafos de processo da regra 184.

´

Imagem

Figura 1.2: Evolu¸c˜ao da regra 184.
Figura 2.1: Condi¸c˜ao de contorno peri´odica: a ´ ultima c´elula ´e ligada `a primeira, formando um anel [Chua, Yoon e Dogary, 2002].
Figura 2.4: Transforma¸c˜ao de complemento.
Figura 2.6: Regra 30. Figura 2.7: Regra 86.
+7

Referências

Documentos relacionados

No entanto, esta hipótese logo é abandonada em favor de uma nostalgia reflexiva, visto que “ao invés de tentar restaurar as cópias de nitrato de algum estado

O Estágio Profissional “é a componente curricular da formação profissional de professores cuja finalidade explícita é iniciar os alunos no mundo da

Quando Goffman (1985) fala em palco e cenário, atores e platéia, papéis e rotinas de representação, necessidade, habilidades e estratégias dramatúrgicas,

A presente dissertação é um estudo de caso da Escola Municipal Guimarães Rosa, da Rede Municipal de Educação de Belo Horizonte, que possui baixo índice socioeconômico

O capítulo I apresenta a política implantada pelo Choque de Gestão em Minas Gerais para a gestão do desempenho na Administração Pública estadual, descreve os tipos de

Na experiência em análise, os professores não tiveram formação para tal mudança e foram experimentando e construindo, a seu modo, uma escola de tempo

Veículos do casal Rogério Onofre e Dayse foram registrados em nome Cláudio Freitas; Houve várias trocas de mensagens suspeitas, tendo elas sido codificadas com nomes

F REQUÊNCIAS PRÓPRIAS E MODOS DE VIBRAÇÃO ( MÉTODO ANALÍTICO ) ... O RIENTAÇÃO PELAS EQUAÇÕES DE PROPAGAÇÃO DE VIBRAÇÕES ... P REVISÃO DOS VALORES MÁXIMOS DE PPV ...