CAP 2 – REDES BOOLEANAS E AUTÔMATOS CELULARES texto-base: D.Kaplan, L.Glass (1995)
-
Upload
wylie-durham -
Category
Documents
-
view
30 -
download
1
description
Transcript of 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)
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
REDE DE ELEMENTOS COM ENTRADA ÚNICA
só 4 funções possíveis para cada elemento:
ENTRADA NOME DA FUNÇÃO(0) (1)
0 1 IDENTITY1 0 INVERSION0 0 ZERO1 1 ONE
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...
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:K22
(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)
(11100)
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
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:
A t (indutor) R t (repressor) E t+1 (enzima)1 1 11 0 10 1 00 0 1
identificação da função booleana associada:
IMPLICATION [tab. 2.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?
R t (repressor) I t (co-repressor) E t+1 (enzima)
1 1 0
1 0 1
0 1 1
0 0 1
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 N 0.3 [fig. 2.15]
* transiente tempo do ciclo mais longo
* perturbação num nodo: sistema muda de ciclo
N
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]