1 / 34

CAP 2 – REDES BOOLEANAS E AUTÔMATOS CELULARES texto-base: D.Kaplan, L.Glass (1995)

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)

Download Presentation

CAP 2 – REDES BOOLEANAS E AUTÔMATOS CELULARES texto-base: D.Kaplan, L.Glass (1995)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2.  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

  3. 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

  4. 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

  5. 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 0estabiliza na 1a iteração C 2 depende só de B 1estabiliza na 2a iteração, etc...

  6. 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

  7. (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)

  8. 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 !

  9. 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

  10. 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

  11. 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)  ...

  12. 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)  ...

  13. 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

  14. * 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]

  15. 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...

  16. 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 

  17.  formam-se padrões geométricos  . .  . .  . .  . .  . . . .  . .  . . .  . .  . .  . . .  . .  . . . .  . .  . .  . .  . .  . . . .  . .  . . .  . .  . .  . . .  . .  . . . .  . .  * caracteriza um ciclo em 10 passos [fig. 2.11]

  18. * “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

  19. 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]

  20. 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?

  21. 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]

  22.  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

  23. 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

  24. 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

  25.         “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

  26. * 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

  27. 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]

  28. * 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

  29. 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

  30. * 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

  31. 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

  32. 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)!

  33. “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

  34. é 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]

More Related