340 likes | 442 Views
CAP 2 – REDES BOOLEANAS E AUTÔMATOS CELULARES texto-base: D.Kaplan, L.Glass (1995) Understanding Nonlinear Dynamics (Springer, N.Y). 2.1. Elemento e Rede rede múltiplos elementos conectados entre si (exs: genética, neurologia, imunologia, informática, etc)
E N D
CAP 2 – REDES BOOLEANAS E AUTÔMATOS CELULARES texto-base: D.Kaplan, L.Glass (1995) Understanding Nonlinear Dynamics (Springer, N.Y). 2.1. Elemento e Rede rede múltiplos elementos conectados entre si (exs: genética, neurologia, imunologia, informática, etc) simplificações para o tratamento matemático: * a variável tempo é discretizada * o estado de todo o sistema num dado tempo depende do estado de todo o sistema no tempo anterior * cada elemento pode assumir um número limitado de estados (discretizados) possíveis
mesmo com essas simplificações, o comportamento da rede pode apresentar uma enorme complexidade ! para cada elemento: uma ou mais ENTRADAS uma REGRA uma única SAÍDA [ fig. 2.1 ] representação gráfica: elementos: NODOS ( círculos cheios A, B, C, etc ) entradas e saídas: ARESTAS (setas conectam os nodos aos pares) [fig. 2.2 ] e [fig. 2.3 ] descrição completa da rede: lista das regras de saída para cada elemento
regras: funções específicas fA ( ); fB ( ); etc ex [fig. 2.3]: A t +1 = fA ( A t ) B t +1 = fB ( A t , C t ) C t +1 = fC ( A t , B t ) 2.2. Variável, Função e Rede Booleana caso mais simples: duas saídas possíveis * esquematicamente ON e OFF ( variável Booleana ) representação das duas saídas: 0 e 1 * essencial para circuitos digitais e arquitetura computacional fundamentos: George Boole (1815-1864) regra que determina a saída dadas as entradas: função booleana
conhecer o ESTADO da rede num dado tempo: * especificar se cada elemento está ON ou OFF notação para o estado da rede no tempo i: ex rede booleana de três elementos A, B, C (011) significa A i = 0 ; B i = 1 ; C i = 1 se houverem N elementos: * existem 2N estados possíveis para a rede “CONDIÇÃO INICIAL” : * estado da rede no tempo t = 0
ENTRADA NOME DA FUNÇÃO (0) (1) 0 1 IDENTITY 1 0 INVERSION 0 0 ZERO 1 1 ONE REDE DE ELEMENTOS COM ENTRADA ÚNICA só 4 funções possíveis para cada elemento: só 3 tipos de configuração conectiva: fileira - laço fechado - laço com fileiras fileira dinâmica muito simples ( pouco interesse ) ex: A B C D etc A não tem entrada valor constante = A 0 B 1 depende só de A 0estabiliza na 1a iteração C 2 depende só de B 1estabiliza na 2a iteração, etc...
fileira com N elementos: * o estado final é sempre estacionário * todos os nodos dependem do valor inicial do primeiro * o transiente dura N-1 iterações [fig. 2.4] laço fechado dinâmica mais rica (ciclos) [fig. 2.5] funções possíveis para os nodos: IDENTITY ou INVERSION ( nodo ONE ou ZERO o laço se torna fileira! ) analogia só para fins didáticos: “BRIGADA DE BALDES” ( bucket brigade ) * corrente de pessoas passando baldes d’água
(B) (C) (D) (E) (F) fonte (A) (G) fogo (L) (K) (J) (I) (H) B, C, D, E, F: recebem um balde cheio e entregam cheio H, I, J, K, L: recebem um balde vazio e entregam vazio A: recebe um balde vazio e entrega cheio G: recebe um balde cheio e entrega vazio variável booleana: balde cheio (1) ou vazio (0)
variável booleana: balde cheio (1) ou vazio (0) * evolução dos estados da rede: 000000000000 100000000000 110000000000 ... (transiente) 111111000000 111111000000 (estado estacionário) nodo A : função ONE nodo G: função ZERO demais nodos: função IDENTITY o exemplo não caracteriza um laço fechado !
extrapolando... dado um laço fechado com N elementos (entrada única) alguns nodos IDENTITY e outros INVERSION * qualquer condição inicial vem a se repetir (no mínimo, depois de 2N iterações) * sempre há formação de ciclos periódicos (caso particular: estados estacionários) * não ocorrem transientes (a condição inicial faz parte do ciclo) * é possível calcular o número total de ciclos laço “frustrado”: número ímpar de nodos INVERSION laço “não-frustrado”: número par de nodos INVERSION
laço fechado com fileiras [fig. 2.6] efeito de uma fileira anexada ao laço fechado: não afeta as propriedades dinâmicas do laço EXERCÍCIO: (fazer o levantamento dos ciclos possíveis) (a) rede não-frustrada com N=3 [fig 2.7] solução: atribui uma condição inicial arbitrária ex: A0 = 1 ; B0 = 1 ; C0 = 1 (111) em t=0 1a iteração: A0 = 1 B1 = 0 B0 = 1 C1 = 0 C0 = 1 A1 = 1 (100) em t=1
2a iteração: A1 = 1 B2 = 0 B1 = 0 C2 = 1 C1 = 0 A2 = 0 (001) em t=2 3a iteração: A2 = 0 B3 = 1 B2 = 0 C3 = 1 C2 = 1 A3 = 1 (111) em t=3 * caracteriza um ciclo em 3 passos (=N) (111) (100) (001) (111) ... atribui então outra condição inicial (diferente dos 3 estados do ciclo já obtido) ex: A0 = 1 ; B0 = 0 ; C0 = 1 (101) em t=0 1a iteração: A0 = 1 B1 = 0 B0 = 0 C1 = 1 C0 = 1 A1 = 1 (101) em t=1 * caracteriza um estado estacionário (101) (101) ...
testando as condições iniciais restantes: * ciclo em 3 passos (000) (011) (110) (000) ... * estado estacionário (010) (010) ... (b) rede frustrada com N=3 [fig. 2.8] mesmo procedimento: resultam apenas * ciclo em 6 passos (=2N) (111) (101) (100) (000) (010) (011) (111) ... * ciclo em 2 passos (110) (001) (110) ...
APLICAÇÃO SIMPLES (GENÉTICA) “expressão mutuamente bloqueada” (par de genes) ex: proteínas envolvidas no mecanismo de invasão do vírus bacteriófago lambda na E. coli * modelo: rede booleana de 1 entrada com N=2 A B (INVERSION) (INVERSION) A0 = 1 : proteína A sendo produzida B0 = 1 : proteína B sendo produzida condição inicial (10) 1a iteração (10)... um estado estacionário condição inicial (01) 1a iteração (01)... outro estado estacionário
* o modelo ainda permite um ciclo em 2 passos: (11) (00) (11) ... (a ausência de uma favorece a presença da outra) ELEMENTOS COM ENTRADA MÚLTIPLA (maior número de configurações conectivas e funções booleanas) alta complexidade! [fig. 2.9] * 1 entrada: (0) ou (1) 21 estados de entrada * 2 entradas: (00), (01), (10) ou (11) 22 * 3 entradas: (000), (001), (010), etc 23 * K entradas 2 K estados de entrada cada estado de entrada gera uma saída (0 ou 1) número de combinações possíveis nas saídas: (número de funções booleanas com K entradas) ex: 2 entradas 4 estados 16 funções booleanas [tab 2.1]
DINÂMICA DA REDE BOOLEANA ex: N = 5 ; K = 2 ; função NOR [fig. 2.10] (00): 1 (10): 0 (01): 0 (11): 0 arbitrando uma condição inicial (entre as 25=32) A0 = 0; B0 = 0; C0 = 1; D0 = 1; E0 = 1 1a iteração: A1 = 0; B1 = 0; C1 = 1; D1 = 0; E1 = 0 2a iteração: A2 = 1; B2 = 1; C2 = 1; D2 = 0; E2 = 0, etc... dinâmica da rede: (00111) (00100) (11100) etc...
representação gráfica da dinâmica: • saída 1: círculo cheio () • saída 0: ponto (.) • ex: a condição inicial • (00111) • é representada pela linha • . . • os estados sucessivos • (00100) • etc • são representados por novas linhas • (de cima para baixo) • . . • . . . . • . . • etc
formam-se padrões geométricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * caracteriza um ciclo em 10 passos [fig. 2.11]
* “tabela da verdade” para cada estado possível da rede: relaciona o resultado da iteração subseqüente [tab. 2.2] para maior N possibilidade de ciclos muito longos APLICAÇÃO (REDES NEURAIS) circuito motor das patas de uma salamandra [figs. pg 70] padrão periódico para cada pata: 4 músculos sucessivamente ativados (1 ou 0) ativação do neurônio responsável pelo músculo: sempre que não for inibido por outro neurônio estabelece as conexões da rede monta a “tabela da verdade” verifica o padrão periódico
A t (indutor) R t (repressor) E t+1 (enzima) 1 1 1 1 0 1 0 1 0 0 0 1 2.3. Funções Booleanas em Bioquímica mecanismos de ativação e inibição de enzimas modeláveis por funções booleanas [fig. 2.12] (IDENTITY) e [fig. 2.13] (INVERSE) 1o exemplo ( E. coli ): enzima: -galactosidase indutor: lactose combina com o repressor e impede sua ligação com o gene transcrição evitada ou permitida montagem da tabela da verdade: identificação da função booleana associada: IMPLICATION [tab. 2.1]
R t (repressor) I t (co-repressor) E t+1 (enzima) 1 1 0 1 0 1 0 1 1 0 0 1 2o exemplo: enzima: triptophan-sintetase co-repressor: triptophan combina com o repressor e permite sua ligação com o gene montagem da tabela da verdade: identificação da função booleana associada: NAND [tab. 2.1] seria viável construir computadores químicos?
2.4. Rede Booleana Aleatória modelamento de expressão de genes [ S. Kauffman, 1960s ] * processo aleatório usado só para a montagem das conexões rede booleana: 1) arbitra valores de N e de K 2) para cada um dos N nodos: a) seleciona as K conexões de entrada b) seleciona a função booleana para saída * montadas as conexões de rede: a dinâmica passa a ser determinística [fig. 2.14]
resultados obtidos por Kauffman: * número de ciclos ou pontos fixos * ciclos com durações muito diferentes * tempo de duração média dos ciclos N0.3 [fig. 2.15] * transiente tempo do ciclo mais longo * perturbação num nodo: sistema muda de ciclo
2.5. Autômato Celular * rede de elementos idênticos * acoplados em arranjo regular no espaço * condições de contorno periódicas unidimensional (anel) [fig. 2.16] bidimensional (toro) [fig. 2.17] n-dimensional (n-toro) AUTÔMATO CELULAR BOOLEANO * caso particular de rede booleana * algoritmos simples geram padrões complexos ex [fig. 2.16] entradas: K = 3 tipos de entrada: 23 = 8 funções booleanas possíveis: 28 = 256
fazendo: * N = 15 * estado inicial tomado aleatoriamente representação gráfica: “regra 10” [fig. 2.18] “regra 45” [fig. 2.19] * N = 50 “regra 90” [fig. 2.20] padrão geométrico: concha conus “Oliva porphyria” [fig. 2.21] http://www.gastropods.com/9/Shell_179.html
“Jogo da Vida” [J. Conway, 1970s ] * autômato celular booleano bidimensional * entradas do nodo: ele mesmo + 8 vizinhos ( K = 9 ) • regra: • (a) se o estado do nodo é 1 em t • se 2 ou 3 nodos vizinhos forem 1 em t • o nodo permanece 1 em t+1 • se a situação for qualquer outra em t • o nodo muda para 0 em t+1 • (b) se o estado do nodo é 0 em t • se exatamente 3 nodos vizinhos forem 1 em t • o nodo muda para 1 em t+1 • se a situação for qualquer outra em t • o nodo permanece 0 em t+1
* justificativa: interação entre organismos vivos poucos vizinhos auto-sustentação insuficiente muitos vizinhos superpopulação resultados do Jogo da Vida * são caracterizados: pontos fixos de vários tipos [fig. 2.22] ciclos periódicos de durações diferentes estados transientes
AUTÔMATO CELULAR NÃO-BOOLEANO ( ou “rede de mapas acoplados” ) elementos não-booleanos * valores de saída: dados por uma função não-booleana a variável pode ser contínua * espaço discretizado (sítios) * tempo discretizado (iterações) ex: processo de difusão unidimensional * coeficiente de difusão D * concentração no sítio [m] para a iteração t+1: ct+1[m] = D( ct [m-1]+ct [m+1] ) + ( 1-2D ) ct[m]
* condição inicial: em t=0 apenas um dos sítios com c 0 * representação gráfica: [fig. 2.24] exemplos de aplicação gradações de coloração em seres vivos fluxo de fluidos estrutura do córtex visual sincronização de grupos de vagalumes, etc http://mainline.brynmawr.edu/~pgeer/SummerInstitute/Fireflies.html
MEIO EXCITÁVEL * permite a propagação de ondas de atividade * interação não-linear entre ondas propagadas (não vale o princípio da superposição) * os sítios ficam temporariamente refratários (não se encontram excitados, nem excitáveis) fica caracterizado um tempo refratário * pode apresentar padrões altamente complexos exemplos: incêndio em uma floresta reações químicas auto-catalíticas [fig. 2.25] http://www.ipr.umd.edu/~wlosert/phys715/ ondas de excitação cardíaca agregação de mixomicetos (slime molds), etc
* num caso bidimensional se torna possível: ondas com diversos padrões geométricos ondas que morrem ao atingir as extremidades ondas que se aniquilam mutuamente [fig. 2.26] propagação de onda em circuito fechado propagação de ondas espirais [fig. 2.27] modelamento por um autômato celular * 3 estados possíveis para um nodo Q: quiescente mas excitável ; E: excitado ; R: refratário regra simples para qualquer nodo A (com vizinhos B, C, etc) se A t = Q se B t = E (um ou mais vizinhos) A t+1 =E
nas outras situações A t+1 = Q se A t = E A t+1 = R se A t = R A t+1 = Q * comportamento padrão de cada nodo: quiescente excitado refratário quiescente * comportamento global do meio: estacionário, periódico ou caótico * tratamento formal dos problemas: autômato celular
2.6. Algoritmo Genético simulação simplificada da evolução biológica características preservadas: * população de genótipos * replicação com mutação * seleção guiada pelo fenótipo * recombinação(distingue de outros algoritmos de otimização) evolução estrutural: * alteração das regras em um autômato celular “genoma” do autômato celular: * seqüência binária da saída da função booleana que é a mesma para todos os nodos (células)!
“mutação de ponto” : um dígito é escolhido aleatoriamente e trocado “mutação de recombinação” : é substituído um trecho da cadeia de dígitos falta ainda um critério para a seleção para cada autômato celular da população [ N. Packard, 1988] são estabelecidas aleatoriamente: * a regra booleana * a condição inicial (repetidas vezes) registra-se em t=0: se a maioria dos nodos está ON ou OFF
é selecionado para a próxima geração se: * convergir para um estado estacionário * com todos os nodos ON ou todos OFF * e coincidindo com a maioria em t=0 * maior aptidão: menos iterações necessárias funciona como uma tarefa computacional se for capaz, é selecionado são feitas cópias para a segunda geração ocorrem trocas aleatórias na regra em cada geração: mesmo procedimento resultados: [fig. 2.28] ; [fig. 2.29] ; [fig. 2.30]