2018 Dr. Walter F. de Azevedo Jr. azevedolab.net

Tamanho: px
Começar a partir da página:

Download "2018 Dr. Walter F. de Azevedo Jr. azevedolab.net"

Transcrição

1 2018 Dr. Walter F. de Azevedo Jr. azevedolab.net 1

2 Introdução às Expressões Booleanas Circuitos digitais encontrados nos processadores são baseados num formalismo matemático chamado Álgebra de Boole. Não é objetivo da disciplina entrar em detalhes desse formalismo matemático, mas é necessário um conhecimento básico do seu funcionamento para que possamos entender os conjuntos treinos (training sets) que serão usados para treinar redes neurais. Uma expressão booleana envolve variáveis binárias que aqui serão representadas pelas letras maiúsculas. Abaixo temos um circuito elétrico simples, que representa a variável booleana A. Circuito aberto, sem corrente elétrica A A = 0 Circuito fechado, com corrente elétrica A A = 1 2

3 Introdução às Expressões Booleanas Uma variável binária, ou booleana, pode assumir valores 1 e 0. Na situação 1, temos o equivalente elétrico de um circuito fechado, onde a corrente elétrica circula. Na situação 0, não temos corrente elétrica circulando no circuito. Na linguagem Python, dispomos de operadores lógicos ou funções lógicas AND e OR. As expressões booleanas são equações que envolvem funções lógicas aplicadas às variáveis booleanas. Circuito aberto, sem corrente elétrica A A = 0 Circuito fechado, com corrente elétrica A A = 1 3

4 Introdução às Expressões Booleanas Abaixo temos a expressão booleana A AND B. Normalmente representamos em expressões booleanas a função lógica AND por ponto de multiplicação (.). Assim, a expressão booleana Q = A.B significa A AND B. A expressão booleana A.B é equivalente a um circuito elétrico em série mostrado abaixo. Equivalente Elétrico A B Q= A.B 4

5 Introdução às Expressões Booleanas Como temos duas variáveis booleanas e cada variável pode ter dois estados (0 ou 1), podemos mapear os quatro estados possíveis da expressão booleana Q = A.B, como indicado na tabela abaixo. Chamamos a essa tabela de tabela da verdade. À direita abaixo temos o símbolo do circuito digital de uma porta lógica AND de duas variáveis. A porta lógica AND é o circuito que implementa a expressão booleana Q = A.B. Equivalente Elétrico A B Q= A.B Tabela da Verdade A B Q=A.B A B Porta AND A.B 5

6 Introdução às Expressões Booleanas A função lógica OR é representada pelo sinal de soma (+). Abaixo temos o equivalente elétrico, a tabela da verdade e a porta lógica para a expressão booleana Q = A + B. A Q= A+B B Tabela da Verdade A B Q=A+B A B Porta OR A+B 6

7 Introdução às Expressões Booleanas Abaixo temos a definição da função lógica XOR, chamada OR exclusivo. A expressão booleana para a função lógica XOR tem a seguinte forma, Q = A + B. A diferença com relação à função lógica OR está no resultado obtido quando ambas entradas assumem o valor 1, no caso da XOR o resultado é 0. Tabela da Verdade A B Q=A + B A B Porta XOR A + B 7

8 Introdução às Expressões Booleanas Podemos ter a função lógica NOT, também chamado de circuito inversor. A tabela da verdade tem uma entrada e a saída é a negação da entrada. Temos dois símbolos para a função lógica NOT, indicados abaixo. A expressão booleana da função lógica NOT usa _ uma barra horizontal sobre a variável para indicar negação ( A ), lê-se A barra. A _ A Porta NOT Tabela da Verdade A Q= _ A A _ A Porta NOT 8

9 Introdução às Expressões Booleanas Podemos aplicar a negação à função lógica AND, o que gera a função lógica chamada NAND. A expressão booleana tem a seguinte forma: Q = A.B. A tabela da verdade e o símbolo da função lógica NAND estão mostrados abaixo. Tabela da Verdade A B Q= A.B A B Porta NAND A.B 9

10 Introdução às Expressões Booleanas De forma análoga, temos a negação da função lógica OR, chamada NOR. Segue a expressão booleana da função lógica NOR: Q = A B. Abaixo temos a tabela da verdade e o símbolo para a função lógica NOR. Tabela da Verdade A B Q= A B A B Porta NOR A B 10

11 Introdução às Expressões Booleanas Podemos ter funções lógicas com mais de duas variáveis. Para ilustrar, vamos considerar uma função lógica AND de três variáveis. Essa função lógica tem a seguinte expressão booleana: Q = A.B.C. A tabela da verdade e a porta lógica para função lógica AND de três variáveis são mostradas abaixo. Tabela da Verdade A B C Q=A.B.C A B C Porta AND A.B.C 11

12 Introdução às Expressões Booleanas Agora vejamos a função lógica OR de três variáveis. A tabela da verdade e o símbolo são mostrados abaixo. Podemos ter funções lógicas com N entradas. Essas funções lógicas podem ser mapeadas com tabelas da verdade de 2 N estados. Por exemplo, uma tabela da verdade para uma função lógica NAND de 4 variáveis tem 16 estados. Tabela da Verdade A B C Q=A+B+C A B C A+B+C Porta OR 12

13 Introdução às Expressões Booleanas Podemos ter expressões booleanas com a combinação de diferentes funções lógicas. Vamos considerar a expressão booleana Q = A.B + C. A tabela da verdade está mostrada abaixo. A coluna A.B foi incluída só para auxiliar na determinação da coluna final, com a expressão booleana. Tabela da Verdade A B C A.B Q=A.B+C

14 Introdução às Expressões Booleanas Quando avaliamos a expressão booleana Q = A.B + C, inicialmente identificamos as funções lógicas AND e determinamos seus valores na tabela da verdade (em vermelho). Em seguida operamos a função lógica OR com a coluna obtida (A.B), o resultado é mostrado na última coluna da tabela. No slide seguinte temos o circuito. Tabela da Verdade A B C A.B Q=A.B+C

15 Introdução às Expressões Booleanas Abaixo temos o circuito para expressão booleana Q = A.B + C. A A.B B A.B+C C 15

16 Introdução às Expressões Booleanas Abaixo temos a tabela da verdade para expressão booleana Q = A.B + A.C. A tabela da verdade está mostrada abaixo. No slide seguinte temos o circuito. Tabela da Verdade A B C A.B A.C Q=A.B+A.C

17 Introdução às Expressões Booleanas Abaixo temos o circuito para expressão booleana Q = A.B + A.C. A A.B B A.B+A.C A A.C C 17

18 Introdução às Expressões Booleanas Vamos determinar a tabela da verdade para expressão booleana Q = A+B + A.C. Os resultados estão mostrados abaixo. Tabela da Verdade A B C A+B A.C Q=A+B+A.C

19 Introdução às Expressões Booleanas Abaixo temos o circuito para expressão booleana Q = A + B + A.C. A A+B B A+B + A.C A A.C C 19

20 Programa boolean2csv3vars.py Abaixo temos o código de um programa simples (boolean2csv3vars.py) para gerar um arquivo CSV com a tabela da verdade de uma expressão booleana. No código temos a função lógica AND de três variáveis, Q = A.B.C. A linha em destaque em vermelho tem a expressão booleana de três variáveis, onde usamos o símbolo and para o operador lógico AND. A tabela da verdade é gerada e armazenada no arquivo truth_table_001.csv. Efetivamente em 10 linhas de código geramos um arquivo CSV para a tabela da verdade de uma expressão booleana. # Boolean expressions in Python csv = open("truth_table_001.csv","w") csv.write("a,b,c,q = A. B. C\n") print("a, B, C, Q = A. B. C") # Nested loop for a booleaan expression with 3 variables for A in range(2): for B in range(2): for C in range(2): Q = A and B and C # Boolean expression print(a,",",b,",",c,",",q) csv.write(str(a)+","+str(b)+","+str(c)+","+str(q)+"\n") csv.close() 20

21 Programa boolean2csv3vars.py Abaixo temos o resultado da execução do código boolean2csv3vars.py. A tabela gerada está armazenada no arquivo truth_table_001.csv. A, B, C, Q = A. B. C 0, 0, 0, 0 0, 0, 1, 0 0, 1, 0, 0 0, 1, 1, 0 1, 0, 0, 0 1, 0, 1, 0 1, 1, 0, 0 1, 1, 1, 1 truth_table_001.csv A,B,C,Q= A. B. C 0,0,0,0 0,0,1,0 0,1,0,0 0,1,1,0 1,0,0,0 1,0,1,0 1,1,0,0 1,1,1,1 21

22 Programa boolean2csv3vars.py Modificaremos o código(boolean2csv3vars.py) para gerar um arquivo CSV da tabela da verdade da expressão booleana Q = A+B+C. As linhas modificadas estão destacadas em vermelho. Usamos o símbolo para o operador lógico OR. # Boolean expressions in Python csv = open("truth_table_002.csv","w") csv.write("a,b,c,q = A + B + C\n") print("a, B, C, Q = A + B + C") # Nested loop for a booleaan expression with 3 variables for A in range(2): for B in range(2): for C in range(2): Q = A or B or C # Boolean expression print(a,",",b,",",c,",",q) csv.write(str(a)+","+str(b)+","+str(c)+","+str(q)+"\n") csv.close() 22

23 Programa boolean2csv3vars.py Abaixo temos o resultado da execução do código boolean2csv3vars.py com a nova expressão booleana. A tabela gerada está armazenada no arquivo truth_table_002.csv, mostrada à direita. truth_table_002.csv A, B, C, Q = A. B. C 0, 0, 0, 0 0, 0, 1, 1 0, 1, 0, 1 0, 1, 1, 1 1, 0, 0, 1 1, 0, 1, 1 1, 1, 0, 1 1, 1, 1, 1 A,B,C,Q = A. B. C 0,0,0,0 0,0,1,1 0,1,0,1 0,1,1,1 1,0,0,1 1,0,1,1 1,1,0,1 1,1,1,1 23

24 Programa boolean2csv3vars.py Usaremos o código boolean2csv3vars.py para implementarmos a expressão booleana Q = A.B+C. As linhas modificadas estão destacadas em vermelho. # Boolean expressions in Python csv = open("truth_table_003.csv","w") csv.write("a,b,c,q = A. B + C\n") print("a, B, C, Q = A. B + C") # Nested loop for a booleaan expression with 3 variables for A in range(2): for B in range(2): for C in range(2): Q = A and B or C # Boolean expression print(a,",",b,",",c,",",q) csv.write(str(a)+","+str(b)+","+str(c)+","+str(q)+"\n") csv.close() 24

25 Programa boolean2csv3vars.py O código com a nova expressão booleana gerou os resultados mostrados abaixo. A tabela gerada está armazenada no arquivo truth_table_003.csv, mostrada à direita. A, B, C, Q = A. B + C 0, 0, 0, 0 0, 0, 1, 1 0, 1, 0, 0 0, 1, 1, 1 1, 0, 0, 0 1, 0, 1, 1 1, 1, 0, 1 1, 1, 1, 1 truth_table_003.csv A,B,C,Q = A. B + C 0,0,0,0 0,0,1,1 0,1,0,0 0,1,1,1 1,0,0,0 1,0,1,1 1,1,0,1 1,1,1,1 25

26 Programa boolean2csv3vars.py Implementaremos a expressão booleana Q = A.B + A.C, o código está mostrado abaixo. # Boolean expressions in Python csv = open("truth_table_004.csv","w") csv.write("a,b,c,q = A. B + A. C\n") print("a, B, C, Q = A. B + A. C") # Nested loop for a booleaan expression with 3 variables for A in range(2): for B in range(2): for C in range(2): Q = A and B or A and C # Boolean expression print(a,",",b,",",c,",",q) csv.write(str(a)+","+str(b)+","+str(c)+","+str(q)+"\n") csv.close() 26

27 Programa boolean2csv3vars.py A nova expressão booleana gerou uma tabela da verdade que está armazenada no arquivo truth_table_004.csv. Os resultados estão indicado a seguir. A, B, C, Q = A. B + A. C 0, 0, 0, 0 0, 0, 1, 0 0, 1, 0, 0 0, 1, 1, 0 1, 0, 0, 0 1, 0, 1, 1 1, 1, 0, 1 1, 1, 1, 1 truth_table_004.csv A,B,C,Q = A. B + A. C 0,0,0,0 0,0,1,0 0,1,0,0 0,1,1,0 1,0,0,0 1,0,1,1 1,1,0,1 1,1,1,1 27

28 Programa boolean2csv3vars.py Vamos encerrar a implementação de expressões booleana de 3 variáveis com a expressão Q = A+B + A.C. O código está mostrado abaixo. # Boolean expressions in Python csv = open("truth_table_005.csv","w") csv.write("a,b,c,q = A + B + A. C\n") print("a, B, C, Q = A + B + A. C") # Nested loop for a booleaan expression with 3 variables for A in range(2): for B in range(2): for C in range(2): Q = A or B or A and C # Boolean expression print(a,",",b,",",c,",",q) csv.write(str(a)+","+str(b)+","+str(c)+","+str(q)+"\n") csv.close() 28

29 Programa boolean2csv3vars.py Os resultados para a expressão booleana Q = A+B + A.B estão mostrados abaixo. A, B, C, Q = A + B + A. C 0, 0, 0, 0 0, 0, 1, 0 0, 1, 0, 1 0, 1, 1, 1 1, 0, 0, 1 1, 0, 1, 1 1, 1, 0, 1 1, 1, 1, 1 truth_table_005.csv A,B,C,Q = A + B + A. C 0,0,0,0 0,0,1,0 0,1,0,1 0,1,1,1 1,0,0,1 1,0,1,1 1,1,0,1 1,1,1,1 29

30 Potencial de Membrana (mv) Potencial de Ação Quando um neurônio sofre um estímulo elétrico, acima do potencial limiar, este entra num processo chamado de potencial de ação. O aumento do potencial leva o neurônio a uma situação onde há influxo de Sódio. Entram em ação dois canais transmembranares, os canais de Sódio e Potássio, ambos dependentes do potencial elétrico da membrana. Aqui cabe uma pequena observação. Na linguagem física não usamos o termo voltagem para indicar potencial elétrico, contudo, a grande maioria dos textos de fisiologia em português, quando referem-se aos canais citados, usam a denominação dependentes de voltagem. No presente texto usaremos os termos canais dependentes de voltagem, para mantermos os termos usados na área de fisiologia Fases indicadas no gráfico acima 1 Potencial de repouso 2 Despolarização 3 Repolarização 4 Hiperpolarização Corrente elétrica de estímulo 4 Tempo (ms) Potencial de ação 30

31 Potencial de Membrana (mv) Potencial de Ação As etapas canônicas do potencial de ação ocorrem devido à ação coordenada dos canais de Sódio e Potássio dependentes de voltagem. A abertura do canal de Sódio dependente de voltagem (despolarização), o fechamento do canal de Sódio e abertura do canal de Potássio (repolarização e hiperpolarização), conforme vemos no gráfico ao lado. A linha roxa indica o estímulo que é dado para o início do potencial de ação, veja que o estímulo não está em escala com o potencial indicado pela linha vermelha. O eixo horizontal é o eixo do tempo (em ms), e o eixo vertical o eixo do potencial de membrana (em mv). A linha vermelha indica a variação do potencial de membrana durante as diferentes etapas do potencial de ação Fases indicadas no gráfico acima 1 Potencial de repouso 2 Despolarização 3 Repolarização 4 Hiperpolarização Corrente elétrica de estímulo 4 Tempo (ms) Potencial de ação 31

32 Modelo de Hodgkin-Huxley O modelo computacional para a descrição da variação do potencial de membrana em função do tempo é descrito pelo modelo de Hodgkin-Huxley (Hodgkin & Huxley, 1952). Esse modelo faz uso de equações diferenciais para dedução do modelo computacional e é considerado o primeiro modelo consistente da área de de Biologia de Sistemas Computacional. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

33 Modelo de Hodgkin-Huxley No modelo de Hodgkin-Huxley (Hodgkin & Huxley, 1952) são consideradas as condutâncias dos íons Sódio e Potássio, sendo o restante dos íons considerados de forma integrada e com uma participação minoritária no fenômeno do potencial de ação. A condutância indica a facilidade com que o íon atravessa a membrana. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

34 Modelo de Hodgkin-Huxley Vamos usar o programa Graphical Hodgkin-Huxley Simulator (HHSim) para a simulação do potencial de ação. Na figura abaixo temos a situação de potencial de repouso. A linha vermelha indica o potencial da membrana (em repouso), a linha roxa indica o estímulo aplicado, a linha amarela a condutância do Sódio e a verde a condutância do Potássio. Ao clicarmos no botão Stim1, iniciamos o potencial de ação. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

35 Modelo de Hodgkin-Huxley Aplicamos um estímulo, linha roxa, temos que o potencial de membrana atinge um valor acima do potencial limiar (vermelho). Nessa situação, abrem-se os canais de Sódio dependentes de voltagem. Cofirmarmos a situação, verificando a condutância do Sódio (linha amarela), que começa a subir, indicando o influxo de Sódio. O eixo horizontal é o do tempo. Todo evento está registrado em pouco mais de 20 ms. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

36 Modelo de Hodgkin-Huxley Comparando-se as condutâncias, vemos que a condutância do Sódio (linha amarela) atinge o valor máximo, antes da a condutância do Potássio (linha amarela). Isto devese ao fato do canal de Sódio dependente de voltagem abrir-se antes do canal de Potássio dependente de voltagem. Além disso, o canal de Sódio tem dois portões, o de ativação e o de inativação. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

37 Modelo de Hodgkin-Huxley Para que inicie o potencial de ação, o portão de inativação do canal de Sódio deve estar aberto e o portão de ativação fechado. Essa situação corresponde ao repouso no gráfico baixo e a célula está pronta para disparar um potencial de ação. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

38 Modelo de Hodgkin-Huxley Com um estímulo acima do potencial limiar, abre-se o portão de ativação do canal de Sódio e ocorre influxo de Sódio e o aumento do potencial de membrana, é a fase de despolarização do potencial de ação. Podemos confirmar pela análise da condutância do Sódio, indicada pela linha amarela. Veja que ela atinge o pico antes da linha verde, que indica a condutância do Potássio. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

39 Modelo de Hodgkin-Huxley Após aproximadamente 1 ms, o portão de inativação do canal de Sódio fecha-se. Veja que neste momento (pico do potencial de membrana, aproximadamente + 40 mv) o portão de ativação do canal de Sódio continua aberto. Quem fecha-se é o portão de inativação. O portão de ativação continua aberto por alguns milisegundos. O fechamento do portão de inativação cessa a entrada de Sódio. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

40 Modelo de Hodgkin-Huxley Outro aspecto importante do portão de inativação, é que ele garante um período refratário da célula, onde novos estímulos não geram novos potenciais de ação. Durante a repolarização (fase descendente), o Potássio sai da célula e o potencial volta a ter valores negativos. Podemos ver que a condutância do Potássio retorna a zero de forma mais lenta que a condutância do Sódio. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

41 Modelo de Hodgkin-Huxley Depois de poucos milisegundos, ambos canais estão fechados, como vemos com as condutâncias retornando para o valor zero. Depois de mais alguns milisegundos, o potencial de membrana (linha vermelha) retorna ao valor de repouso. Gráfico do potencial contra o tempo (linha vermelha), gerado pelo HHSim ( Acesso em: 25 de março de

42 Exercícios de Programação 1. Modifique o código boolean2csv3vars.py, para que sejam geradas as tabelas da verdade para expressões booleanas de duas variáveis. O novo código irá chamar-se boolean2csv2vars.py. Use o novo código para gerar as tabelas da verdade para as expressões booleanas: Q = A + B e Q = A.B. 2. Modifique o código boolean2csv3vars.py, para que sejam geradas as tabelas da verdade para expressões booleanas de quatro variáveis. O novo código irá chamar-se boolean2csv4vars.py. Use o novo código para gerar as tabelas da verdade para as expressões booleanas: Q = A + B + C + D e Q = A.B.C.D. 3. Considere as fases canônicas do potencial de ação e determine uma expressão booleana para simular seu comportamento. Considere que quando temos potencial de ação a saída é 1, para as outras situações a saída é 0. Considere que temos 3 variáveis booleanas, uma para o portão de ativação do canal de Sódio, a segunda para o portão de inativação do canal de Sódio e a terceira para o canal de Potássio. Implemente a expressão booleana em Python. O programa irá chamar-se pa.py. 42

43 Python para Redes Neurais Necessitamos de alguns recursos do Python para a implementação de redes neurais. Um deles é o choice da biblioteca random. Basicamente, o choice(a) escolhe de forma aleatória um elemento de uma lista ou array. No código abaixo, dentro do loop for, toda vez que choice(a) é chamado, ele retorna um elemento de posição aleatória da lista a. from random import choice a = [1,1,2,3,5,8,13,21,55] for i in range(len(a)): b = choice(a) print(b) Ao executarmos o código acima, temos o seguinte resultado

44 Python para Redes Neurais Usaremos na implementação de redes neurais o produto escalar da biblioteca NumPy (np.dot(a,b)). No código abaixo, temos dois arrays, a e b. O dot(a,b) faz o produto escalar: a 1 b 1 + a 2 b a n b n, ou seja, retorna um escalar (número puro). import numpy as np a = np.array([1,2,3,4,5]) b = np.array([0.1,0.2,0.3,0.4,0.5]) c = np.dot(a,b) print(c) Ao executarmos o código acima, temos o produto escalar como resultado

45 Introdução às Redes Neurais A abordagem computacional chamada rede neural usa uma visão simplificada do neurônio, onde a inspiração biológica restringe-se a acharmos uma função matemática que dispara, ou seja, assume valor 1 para um dado conjunto de entradas. Usando uma definição mais formal, temos que uma rede neural é um sistema computacional composto por um certo número de elementos altamente conectados que processam informação por meio de sua resposta dinâmica a um conjunto externo de entradas. "...a computing system made up of a number of simple, highly interconnected processing elements, which process information by their dynamic state response to external inputs. In "Neural Network Primer: Part I" by Maureen Caudill, AI Expert, Feb

46 Introdução às Redes Neurais A figura à direita traz uma representação simplificada do neurônio. Onde destacamos os dendritos, corpo celular, cone de implantação e axônio. O cone de implantação funciona como um processador da informação que chega ao neurônio. Ele realiza a soma dos sinais, e quando a soma é maior que potencial limiar, o cone de implantação dispara um potencial de ação que propaga-se ao longo do axônio. Uma rede neural é uma abstração do funcionamento do neurônio, onde os dendritos são representados por entradas, o cone de implantação uma função matemática e o axônio a saída. Corpo celular Núcleo Axônio Dendritos Cone de implantação Terminais axonais 46 Diagrama esquemático de um neurônio.

47 Introdução às Redes Neurais O Perceptron é uma forma simples de rede neural usada para classificação binária. No Perceptron temos uma camada de entrada composta por um vetor com dimensão n, representado por (x 1,x 2,...,x n ). À cada entrada x i multiplicamos um peso w i, e determinamos uma função soma ponderada, s, indicada a seguir. n s w x i i i 1 Essa função s é usada como argumento de uma função degrau. Normalmente são usadas as funções sigmoide, Heaviside e tangente hiperbólica como funções degrau. O diagrama esquemático ao lado ilustra o funcionamento do Perceptron. x 1 x 2 x n... w 1 w 2 w n Entradas Pesos w 1.x 1 w 2.x 2 w n.x n Pesos.Entrada Saída Função s n s w x i i i 1 Função Degrau 47

48 Introdução às Redes Neurais Abaixo temos os gráficos das funções sigmóide e tangente hiperbólica. 48

49 Programa perceptron001.py Aqui temos o código da implementação de um Perceptron de uma camada com a função sigmóide como função degrau. O código está sem comentários e explicaremos seu funcionamento. O código abaixo está no arquivo perceptron001.py e foi levemente baseado no código descrito por Danilo Bargen em 2013 (disponível aqui, acessado em 25 de março de 2018). Foi usada a tabela da verdade da função lógica NOR de duas variáveis. O código pode ser facilmente modificado para outras portas lógicas. from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 49

50 Programa perceptron001.py Inicialmente importamos as bibliotecas random e NumPy. Usaremos o choice da biblioteca random, que tendo um array como argumento retorna elementos do array de forma aleatória. Assim podemos atribuir cada elemento do array usado como conjunto treino. from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 50

51 Programa perceptron001.py Na sequência definimos a função f, que retorna a função sigmóide, tendo x como parâmetro. Abaixo temos a equação da função sigmóide (f). Usamos a função np.exp() da biblioteca NumPy. f 1 1 e x from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 51

52 Programa perceptron001.py Em seguida definimos um array com o conjunto treino. Esse array traz a porta lógica NOR. Além da tabela da verdade da porta lógica OR, o array tem o bias (x 0 ) que será multiplicado por w 0. Abaixo temos a definição das posições dos elementos do array. A B x 0 Q np.array([0,0,1]), 1), from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 52

53 Programa perceptron001.py As duas primeiras entradas do array em cada tuple são as entradas da função binária do conjunto treino. A terceira entrada do array é o bias. Esse número será multiplicado por w 0 e serve para deslocarmos o valor limite (threshold). A B x 0 Q np.array([0,0,1]), 1), from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 53

54 Programa perceptron001.py O valor limite (threshold) também é conhecido como fronteira de decisão (boundary decision). O valor é sempre 1, de forma que sua influência é controlada pelo peso w 0. O segundo valor do tuple é o valor esperado da função lógica. A B x 0 Q np.array([0,0,1]), 1), from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 54

55 Programa perceptron001.py Na sequência temos valores iniciais atribuídos às variáveis n_vars (número de variáveis explanatórias do tipo inteiro), errors (lista para os erros de cada iteração do tipo float), lr (taxa de aprendizado do tipo float) e w (um array com os pesos iniciais do tipo float). Os pesos são elementos de um array que inicialmente recebem valores aleatórios entre 0 e 1. A lista errors será usada em outra versão do código para gerarmos um gráfico da evolução dos erros em cada iteração. from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 55

56 Programa perceptron001.py No loop principal, inicialmente é selecionado de forma aleatória uma entrada do conjunto treino com o choice da biblioteca random. As entradas da função lógica são atribuídas à variável x. O resultado esperado para a entrada é atribuído à variável y. Vejam que nesta implementação do Perceptron, em cada iteração do loop é usado um elemento aleatório do array training_set. from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 56

57 Programa perceptron001.py Na sequência é calculado o produto escalar das entradas (x i ) com os pesos (w i ), com o dot(w,x) da biblioteca NumPy. O resultado é um escalar atribuído à variável s. Na linha seguinte é usada a função degrau, tendo como argumento o valor atribuído à variável s. A diferença entre o valor esperado (y) e o valor calculado (f) é determinada e atribuída à variável error. from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 57

58 Programa perceptron001.py A diferença entre o valor esperado (y) e o valor calculado (f) é determinada e adicionada à lista errors. Essa lista armazena o erro para cada iteração do Perceptron. Podemos usar essa lista para avaliar a convergência ou não do Perceptron. from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 58

59 Programa perceptron001.py Na última linha do loop, os pesos (w) são atualizados. Caso o valor esperado (y) seja maior que o valor calculado (f), os pesos são aumentados, caso contrário são diminuídos. Os novos pesos são o resultado da multiplicação da taxa de aprendizagem (lr), error e as entradas x. Uma vez finalizado esse loop, temos os pesos otimizados para a função lógica NOR. from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 59

60 Programa perceptron001.py O loop final mostra os valores calculados para função lógica NOR. from random import choice import numpy as np def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) 60

61 Programa perceptron001.py Abaixo temos a saída gerada ao executarmos o código perceptron001.py. Vejam que nossa rede neural gerou resultados próximos aos esperados para uma função lógica NOR. Notem que os valores obtidos podem variar, pois temos pesos aleatórios como valores iniciais, mas espera-se que para a entrada [0,0] a saída mais próxima de 1. O funcionamento melhora com o aumento do número de iterações. [0 0] [0 1] [1 0] [1 1] Tabela da Verdade A B Q= A B

62 Programa perceptron002.py Modificaremos o código perceptron001.py, de forma a gerarmos o gráfico dos erros para cada iteração do Perceptron. O novo código chama-se perceptron002.py e está listado abaixo. As novidades estão em vermelho. from random import choice import numpy as np import matplotlib.pyplot as plt def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) plt.plot(errors) plt.ylim([-1,1]) plt.show() plt.savefig("errors.png") 62

63 Programa perceptron002.py Inicialmente importamos a biblioteca Matplotlib. Depois da rede neural ter gerado os pesos otimizados, geramos o gráfico dos erros nas 4 últimas linhas. from random import choice import numpy as np import matplotlib.pyplot as plt def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.2, 100, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) plt.plot(errors) plt.ylim([-1,1]) plt.show() plt.savefig("errors.png") 63

64 Programa perceptron002.py Abaixo temos os novos resultados, onde geramos o gráfico da evolução erros para cada iteração. Vemos uma diminuição do erro conforme avançamos nas iterações. Para um total de 100 iterações, ainda temos uma grande flutuação do erro. Podemos melhorar o resultado, se aumentarmos o número de iterações e a taxa de aprendizado. [0 0] [0 1] [1 0] [1 1]

65 Programa perceptron002.py A linha modificada está indicada em vermelho no código abaixo. A nova taxa de aprendizado é 0,8 e o número de iterações é ifrom random import choice import numpy as np import matplotlib.pyplot as plt def f(x): f = 1 / (1 + np.exp(-x)) return f training_set = [(np.array([0,0,1]), 1), (np.array([0,1,1]), 0), (np.array([1,0,1]), 0),(np.array([1,1,1]), 0)] n_vars = len(training_set[0][0]) errors = [] lr, n_iter, w = 0.8, 1000, np.random.rand(n_vars) for i in range(n_iter): x,y = choice(training_set) s = np.dot(w, x) error = y - f(s) errors.append(error) w += lr * error * x for x, _ in training_set: s = np.dot(w, x) print(x[:n_vars-1],(n_vars-1)*"\t","%.3f"%f(s)) plt.plot(errors) plt.ylim([-1,1]) plt.show() plt.savefig("errors.png") 65

66 Programa perceptron002.py Com os novos valores para a taxa de aprendizado e número de iterações, vemos a convergência do erro para valores próximo de zero. Na tabela dos resultados mostrados na tela, também vemos claramente a melhora do desempenho do Perceptron. [0 0] [0 1] [1 0] [1 1]

67 Exercícios de Programação 4. No código perceptron002.py, implemente as seguintes funções lógicas como conjunto treino. De duas variáveis: AND, OR e NAND. De três variáveis: AND, OR, NAND e NOR. De quatro variáveis: AND, OR, NAND e NOR. 5. Modifique o código perceptron002.py, de forma que a função tangente hiperbólica seja a função degrau. O novo código deve chamar-se perceptron003.py. 6. No código perceptron003.py, implemente as seguintes funções lógicas como conjunto treino. De duas variáveis: AND, OR, NAND e NOR. De três variáveis: AND, OR, NAND e NOR. De quatro variáveis: AND, OR, NAND e NOR. 7. Compare o desempenho dos Perceptrons com as funções sigmóide e tangente hiperbólicas. 8. Modifique o código perceptron003.py, de forma que tenhamos uma classe 67 Perceptron() com os seguintes atributos: taxa de aprendizado (lr), pesos iniciais (w), número de iterações (n_iter). O novo código chama-se perceptron004.py.

68 Colophon This text was produced in a HP Pavillon dm4 notebook with 6GB of memory, a 500 GB hard disk, and an Intel Core i7 M GHz running Windows 7 Professional. Text and layout were generated using PowerPoint The image on the first slide was taken from on March 25 th Figures on slides were generated with Graphical Hodgkin-Huxley Simulator (HHSim). Figures on slides 48, 64, and 66 were generated with Matplotlib. This text uses Arial font. 68

69 Author I graduated in Physics (BSc in Physics) at University of Sao Paulo (USP) in I completed a Master Degree inapplied Physics also at USP (1992), working under supervision of Prof. Yvonne P. Mascarenhas, the founder of crystallography in Brazil. My dissertation was about X-ray crystallography applied to organometallics compounds (De Azevedo Jr. et al.,1995). During my PhD I worked under supervision of Prof. Sung-Hou Kim (University of California, Berkeley. Department of Chemistry), on a split PhD program with a fellowship from Brazilian Research Council (CNPq)( ). My PhD was about the crystallographic structure of CDK2 (De Azevedo Jr. et al., 1996). In 1996, I returned to Brazil. In April 1997, I finished my PhD and moved to Sao Jose do Rio Preto (SP, Brazil) (UNESP) and worked there from 1997 to In 1997, I started the Laboratory of Biomolecular Systems- Department of Physics-UNESP - São Paulo State University. In 2005, I moved to Porto Alegre/RS (Brazil), where I am now. My current position is coordinator of the Laboratory of Computational Systems Biology at Pontifical Catholic University of Rio Grande do Sul (PUCRS). My research interests are focused on application of computer simulations to analyze protein-ligand interactions. I'm also interested in the development of biological inspired computing and machine learning algorithms. We apply these algorithms to molecular docking simulations, protein-ligand interactions and other scientific and technological problems. I published over 160 scientific papers about protein structures and computer simulation methods applied to the study of biological systems (H-index: 36). These publications have over 4000 citations. I am editor for the following journals: 69

70 Referências -BRESSERT, Eli. SciPy and NumPy. Sebastopol: O Reilly Media, Inc., p. Link -DAWSON, Michael. Python Programming, for the Absolute Beginner. 3ed. Boston: Course Technology, p. -HACKELING G. Mastering Machine Learning with scikit-learn. Birmingham: Packt Publishing Ltd., p. Link -HETLAND, Magnus Lie. Python Algorithms. Mastering Basic Algorithms in the Python Language. 2ed. Nova York: Springer Science+Business Media LLC, p. Link -HODGKIN, ALAN L; HUXLEY, ANDREW F. "A quantitative description of membrane current and its application to conduction and excitation in nerve". Journal of Physiology, 1952; 117 (4): IDRIS, Ivan. NumPy 1.5. An action-packed guide dor the easy-to-use, high performance, Python based free open source NumPy mathematical library using real-world examples. Beginner s Guide. Birmingham: Packt Publishing Ltd., p. Link -KETKAR, NIKHIL. Deep Learning with Python. A Hands-on Introduction. Bangalore: Springer Science+Business Media, p. Link -LUTZ, Mark. Programming Python. 4ed. Sebastopol: O Reilly Media, Inc., p. Link -TOSI, Sandro. Matplotlib for Python Developers. Birmingham: Packt Publishing Ltd., p. Link Última atualização: 25 de março de

2016 Dr. Walter F. de Azevedo Jr.

2016 Dr. Walter F. de Azevedo Jr. 2016 Dr. Walter F. de Azevedo Jr. > 1 Download do pyzo A partir do pyzo (disponível em http:///), o processo de instalação do Python fica facilitado. A instalação integra, além do Python, um conjunto de

Leia mais

2016 Dr. Walter F. de Azevedo Jr. > >

2016 Dr. Walter F. de Azevedo Jr. > > 2016 Dr. Walter F. de Azevedo Jr. > > 1 Download do eclipse www.eclipse.org Antes de fazer o download do eclipse, certifique-se que você tem o Java (JDK) instalado no seu computador. Vá ao site www.eclipse.org.

Leia mais

2018 Dr. Walter F. de Azevedo Jr. azevedolab.net

2018 Dr. Walter F. de Azevedo Jr. azevedolab.net 2018 Dr. Walter F. de Azevedo Jr. azevedolab.net 1 Programação Orientada a Objeto Iremos ver o uso da abordagem de programação orientada a objeto (object-oriented programming (OOP)). Nosso objetivo é usar

Leia mais

HHSim Dr. Walter F. de Azevedo Jr. Prof. Dr. Walter F. de Azevedo Jr.

HHSim Dr. Walter F. de Azevedo Jr. Prof. Dr. Walter F. de Azevedo Jr. HHSim 2018 Dr. Walter F. de Azevedo Jr. Prof. Dr. Walter F. de Azevedo Jr. 1 O modelo de Hodgkin-Huxley foi proposto em 1952 para modelar o potencial de ação do axônio de sépia. Os dados sobre a corrente

Leia mais

2017 Dr. Walter F. de Azevedo Jr.

2017 Dr. Walter F. de Azevedo Jr. 2017 Dr. Walter F. de Azevedo Jr. 000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000111111111110001100000000000 000000000001111111111111111111000000001 000000000111111111111111111111111000000

Leia mais

2015 Dr. Walter F. de Azevedo Jr. Potencial de Ação

2015 Dr. Walter F. de Azevedo Jr. Potencial de Ação Potencial de Ação Objetivos Apresentar conhecimentos relacionados ao potencial de ação. Aprender o uso do programa HHsim para simular potencial de ação. Materiais 1. Computador imac; 2. Programa HHSim.

Leia mais

2017 Dr. Walter F. de Azevedo Jr.

2017 Dr. Walter F. de Azevedo Jr. 01 Dr. Walter F. de Azevedo Jr. 000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000111111111110001100000000000 000000000001111111111111111111000000001 000000000111111111111111111111111000000

Leia mais

Biofísica Molecular. Potencial de Ação. Prof. Dr. Walter F. de Azevedo Jr Dr. Walter F. de Azevedo Jr.

Biofísica Molecular. Potencial de Ação. Prof. Dr. Walter F. de Azevedo Jr Dr. Walter F. de Azevedo Jr. 2017 Dr. Walter F. de Azevedo Jr. Biofísica Molecular Potencial de Ação Prof. Dr. Walter F. de Azevedo Jr. 1 Biofísica e sua Relação com Outras Disciplinas Biologia tecidual Bioinformática Química Bioquímica

Leia mais

2016 Dr. Walter F. de Azevedo Jr.

2016 Dr. Walter F. de Azevedo Jr. 2016 Dr. Walter F. de Azevedo Jr. 000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000111111111110001100000000000 000000000001111111111111111111000000001 000000000111111111111111111111111000000

Leia mais

Biofísica. Potencial de Ação. Prof. Dr. Walter F. de Azevedo Jr Dr. Walter F. de Azevedo Jr.

Biofísica. Potencial de Ação. Prof. Dr. Walter F. de Azevedo Jr Dr. Walter F. de Azevedo Jr. 2017 Dr. Walter F. de Azevedo Jr. Biofísica Potencial de Ação Prof. Dr. Walter F. de Azevedo Jr. 1 Neurônio Canal de Sódio Bomba de Sódio/Potássio Íon Sódio Canal de Potássio Íon Potássio 2 Anatomia de

Leia mais

Biofísica. Prof. Dr. Walter F. de Azevedo Jr Dr. Walter F. de Azevedo Jr.

Biofísica. Prof. Dr. Walter F. de Azevedo Jr Dr. Walter F. de Azevedo Jr. 2018 Dr. Walter F. de Azevedo Jr. Biofísica Prof. Dr. Walter F. de Azevedo Jr. E-mail: walter@azevedolab.net 1 Busca de Informação Científica na Internet Você pode acessar o PubMed no endereço: Campo para

Leia mais

Excitabilidade elétrica

Excitabilidade elétrica Excitabilidade elétrica O que é uma célula excitável? É uma célula que altera ativamente o potencial da membrana em resposta a algum estímulo (elétrico, físico ou químico). Exemplos: Neurônios e células

Leia mais

Transmissão Sináptica

Transmissão Sináptica Transmissão Sináptica Objetivos: Rever conhecimentos relacionados ao potencial de ação. Aprender o uso do programa HHsim para simular potencial de ação. Apresentar as bases moleculares para o entendimento

Leia mais

Excitabilidade elétrica

Excitabilidade elétrica Excitabilidade elétrica O que é uma célula excitável? É uma célula que altera ativamente o potencial da membrana em resposta a algum estímulo (elétrico, físico ou químico). Exemplos: Neurônios e células

Leia mais

2018 Dr. Walter F. de Azevedo Jr. azevedolab.net

2018 Dr. Walter F. de Azevedo Jr. azevedolab.net 2018 Dr. Walter F. de Azevedo Jr. azevedolab.net 1 Algoritmo Genético Vimos anteriormente um algoritmo genético simples para resolução de um problema de maximização. O algoritmo visa encontrar o maior

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Redes Neurais Biológicas 2. Neurônio Artificial 3. Rede Neural Artificial 4. Keras 1 Redes Neurais Biológicas

Leia mais

O POTENCIAL DE AÇÃO 21/03/2017. Por serem muito evidentes nos neurônios, os potenciais de ação são também denominados IMPULSOS NERVOSOS.

O POTENCIAL DE AÇÃO 21/03/2017. Por serem muito evidentes nos neurônios, os potenciais de ação são também denominados IMPULSOS NERVOSOS. O POTENCIAL DE AÇÃO 1 2 0 amplitude duração tempo 0 repouso 1 2 Por serem muito evidentes nos neurônios, os potenciais de ação são também denominados IMPULSOS NERVOSOS. O potencial de ação é causado pela

Leia mais

Biofísica. Transporte Ativo. Prof. Dr. Walter F. de Azevedo Jr Dr. Walter F. de Azevedo Jr.

Biofísica. Transporte Ativo. Prof. Dr. Walter F. de Azevedo Jr Dr. Walter F. de Azevedo Jr. 2018 Dr. Walter F. de Azevedo Jr. Biofísica Transporte Ativo Prof. Dr. Walter F. de Azevedo Jr. 1 Método Científico O método científico é um conjunto de procedimentos que possibilita a análise de fenômenos

Leia mais

Origens do potencial de membrana Excitabilidade celular

Origens do potencial de membrana Excitabilidade celular Origens do potencial de membrana Excitabilidade celular Algumas medidas elétricas Potencial (E,V) V (volt) Carga C (coulomb) Corrente (I) A (ampere = C/s) Resistência (R) W (ohm = V/A) Condutância (G)

Leia mais

Diâmetro da Pizza (cm) Número de Coberturas Preço (R$) 1 15,0 2 24, ,0 1 31, ,0 0 45, ,0 2 61, ,0 0 63,00

Diâmetro da Pizza (cm) Número de Coberturas Preço (R$) 1 15,0 2 24, ,0 1 31, ,0 0 45, ,0 2 61, ,0 0 63,00 azevedolab.net 1 SciKit-Learn (Regressão Linear Múltipla) www.python.org Vimos anteriormente a análise dos conjuntos treino e teste. Índice do Dado do Conjunto Treino Diâmetro da Pizza (cm) Número de Coberturas

Leia mais

POTENCIAIS ELÉTRICOS DAS CÉLULAS

POTENCIAIS ELÉTRICOS DAS CÉLULAS POTENCIAIS ELÉTRICOS DAS CÉLULAS ESTRUTURA DO NEURÔNIO POTENCIAIS ELÉTRICOS DAS CÉLULAS POTENCIAL DE REPOUSO - Conceito; - Origem do potencial de repouso; POTENCIAL DE AÇÃO - Conceito; - Fases do potencial

Leia mais

Vimos na aula passada um algoritmo genético simples para resolver o problema do máximo da função x 2. Veremos sua implementação em Python.

Vimos na aula passada um algoritmo genético simples para resolver o problema do máximo da função x 2. Veremos sua implementação em Python. azevedolab.net Implementação de um Algoritmo Genético Simples Vimos na aula passada um algoritmo genético simples para resolver o problema do máimo da função. Veremos sua implementação em Python. Gera

Leia mais

Bioeletricidade e Bioeletrogênese

Bioeletricidade e Bioeletrogênese Bioeletricidade e Bioeletrogênese Física e Biofísica Prof. Patrícia Costa Eletricidade A eletricidade é um fenômeno físico originado por cargas elétricas paradas, ou em movimento, e por sua interação.

Leia mais

Sistemas Digitais. Revisão Portas Lógicas. Isaac Maia

Sistemas Digitais. Revisão Portas Lógicas. Isaac Maia Sistemas Digitais Revisão Portas Lógicas Isaac Maia Portas Lógicas - Revisão Conteúdo Introdução Notações Tabela Verdade Diagramas de Tempo Porta OR(Operação OU) Porta AND(Operação E) Porta NOT(Inversor)

Leia mais

Dinâmica das Células Excitáveis

Dinâmica das Células Excitáveis Faculdade de Ciências e Tecnologia Universidade de Coimbra Eng. Biomédica Dinâmica das Células Excitáveis Modelos dos Processos Fisiológicos no Homem Junho 2005 1 Realizado por: Carla S. Silva Pereira

Leia mais

Tópicos Especiais: Inteligência Artificial. Deep Learning

Tópicos Especiais: Inteligência Artificial. Deep Learning Tópicos Especiais: Inteligência Artificial Deep Learning Bibliografia Inteligência Artificial Russell & Norvig Site: http://aima.cs.berkeley.edu Inteligência Artificial, Ben Coppin. Online Course: Zero

Leia mais

Origens do potencial de membrana Excitabilidade celular

Origens do potencial de membrana Excitabilidade celular Origens do potencial de membrana Excitabilidade celular Origens do potencial de repouso Todas as células apresentam uma diferença de potencial elétrico (voltagem) através da membrana. Alterações na permeabilidade

Leia mais

Apostila de Sistemas Digitais e Computadores MÓDULOS I & II: REVISÃO ÁLGEBRA DE BOOLE.

Apostila de Sistemas Digitais e Computadores MÓDULOS I & II: REVISÃO ÁLGEBRA DE BOOLE. INSTITUTO SUPERIOR POLITÉCNICO METROPOLITANO DE ANGOLA DEPARTAMENTO DE CIÊNCIAS TECNOLÓGICAS E ENGENHARIAS Apostila de Sistemas Digitais e Computadores MÓDULOS I & II: REVISÃO ÁLGEBRA DE BOOLE. SDC LCC1N

Leia mais

Potencial de Repouso e Potencial de Ação. Profa. Dra. Eliane Comoli Depto de Fisiologia da FMRP-USP

Potencial de Repouso e Potencial de Ação. Profa. Dra. Eliane Comoli Depto de Fisiologia da FMRP-USP Potencial de Repouso e Potencial de Ação Profa. Dra. Eliane Comoli Depto de Fisiologia da FMRP-USP ROTEIRO: POTENCIAL DE REPOUSO E POTENCIAL DE AÇÃO 1. Potencial de Membrana de Repouso Papel da bomba de

Leia mais

EXCITABILIDADE I POTENCIAL DE MEMBRANA EM REPOUSO POTENCIAL DE MEMBRANA EM REPOUSO POTENCIAL DE MEMBRANA EM REPOUSO POTENCIAL DE MEMBRANA EM REPOUSO

EXCITABILIDADE I POTENCIAL DE MEMBRANA EM REPOUSO POTENCIAL DE MEMBRANA EM REPOUSO POTENCIAL DE MEMBRANA EM REPOUSO POTENCIAL DE MEMBRANA EM REPOUSO EXCITABILIDADE I 1 - Introdução 1.1 Objetivo da aula: Estudar os mecanismos fisiológicos responsáveis pelos potenciais elétricos através das membranas celulares 1.2 Roteiro da aula: 1.2.1- Estudar o potencial

Leia mais

Biofísica Dr. Walter F. de Azevedo Jr. Potencial de Repouso e Potencial de Ação Prof. Dr. Walter F. de Azevedo Jr.

Biofísica Dr. Walter F. de Azevedo Jr. Potencial de Repouso e Potencial de Ação Prof. Dr. Walter F. de Azevedo Jr. Biofísica 2019 Dr. Walter F. de Azevedo Jr. Potencial de Repouso e Potencial de Ação Prof. Dr. Walter F. de Azevedo Jr. 1 Estrutura Básica do Neurônio No nosso estudo da eletricidade na célula, focaremos

Leia mais

Experimento 1 Objetivo: AND AND AND Material e Componentes Procedimento AND Nota: teste

Experimento 1 Objetivo: AND AND AND Material e Componentes Procedimento AND Nota: teste UNIVERSIDADE FEDERAL DO PIAUÍ CCN / Departamento de Física Disciplina Eletrônica básica Técnicas digitais Prática 11 Experimento 1 Objetivo: Estabelecer a tabela verdade para o gate básico AND. Todo circuito

Leia mais

Bioinformática Aplicada

Bioinformática Aplicada 000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000111111111110001100000000000 000000000001111111111111111111000000001 000000000111111111111111111111111000000 000000000111111111111111111111111000000

Leia mais

Terceiro Projeto Computacional (data de entrega: 02/05/18)

Terceiro Projeto Computacional (data de entrega: 02/05/18) Terceiro Projeto Computacional (data de entrega: 0/05/18) 1. Nesta questão, você deverá aproveitar o código escrito no Projeto Computacional em que implementou a solução numérica do modelo de Hodgkin-Huxley.

Leia mais

LOM3260 Computação científica em Python Informações sobre o curso

LOM3260 Computação científica em Python Informações sobre o curso LOM3260 Computação científica em Python Informações sobre o curso Prof. Luiz T. F. Eleno Departamento de Engenharia de Materiais Escola de Engenharia de Lorena Universidade de São Paulo 2018 LOM3260 (EEL-USP,

Leia mais

EXPLORANDO OS MECANISMOS DO PERCEPTRON E DO BACK PROPAGATION

EXPLORANDO OS MECANISMOS DO PERCEPTRON E DO BACK PROPAGATION EXPLORANDO OS MECANISMOS DO PERCEPTRON E DO BACK PROPAGATION Marley Maria B.R. Vellasco Departamento de Engenharia Elétrica Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) OBJETIVOS: Analisar

Leia mais

I Curso de Férias em Fisiologia - UECE

I Curso de Férias em Fisiologia - UECE I Curso de Férias em Fisiologia - UECE Realização: Instituto Superior de Ciências Biomédicas Mestrado Acadêmico em Ciências Biológicas Apoio: 1 FISIOLOGIA CELULAR Laboratório de Eletrofisiologia 1. POTENCIAL

Leia mais

Redes Neurais Pulsadas. João Fausto Lorenzato Robson David Montenegro Tarcísio Lucas

Redes Neurais Pulsadas. João Fausto Lorenzato Robson David Montenegro Tarcísio Lucas Redes Neurais Pulsadas João Fausto Lorenzato Robson David Montenegro Tarcísio Lucas Introdução Modelos de redes neurais podem ser classificados em gerações. Primeira Geração Neurônios de McCulloch-Pitts

Leia mais

BIOELETROGÊNESE. Propriedade de certas células (neurônios e células musculares) gerar e alterar a diferença de potencial elétrico através da membrana.

BIOELETROGÊNESE. Propriedade de certas células (neurônios e células musculares) gerar e alterar a diferença de potencial elétrico através da membrana. Profa Silvia Mitiko Nishida Depto de Fisiologia BIOELETROGÊNESE Propriedade de certas células (neurônios e células musculares) gerar e alterar a diferença de potencial elétrico através da membrana. Afinal

Leia mais

Automação Industrial Parte 8

Automação Industrial Parte 8 Automação Industrial Parte 8 Prof. Ms. Getúlio Teruo Tateoki http://www.getulio.eng.br/meusalunos/autind.html -Vamos supor que seja necessário determinar a função lógica interna de um sistema desconhecido.

Leia mais

Aula de hoje. Python para disciplinas básicas. Computação científica. Introdução. Álgebra Linear. Álgebra linear

Aula de hoje. Python para disciplinas básicas. Computação científica. Introdução. Álgebra Linear. Álgebra linear SCC 14 - Introdução à Programação para Engenharias Python para disciplinas básicas Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto

Leia mais

As aulas anteriores trataram do modelo de Hodgkin-Huxley e do formalismo de Hodgkin- Huxley para modelar neurônios.

As aulas anteriores trataram do modelo de Hodgkin-Huxley e do formalismo de Hodgkin- Huxley para modelar neurônios. Modelos de neurônios do tipo integra-e-dispara Introdução As aulas anteriores trataram do modelo de Hodgkin-Huxley e do formalismo de Hodgkin- Huxley para modelar neurônios. Como a estratégia de Hodgkin

Leia mais

Descrevendo Circuitos Lógicos (Continuação) CPCX UFMS Prof. Renato F. dos Santos

Descrevendo Circuitos Lógicos (Continuação) CPCX UFMS Prof. Renato F. dos Santos Descrevendo Circuitos Lógicos (Continuação) CPCX UFMS Prof. Renato F. dos Santos 3.6 Descrevendo circuitos lógicos algebricamente Qualquer circuito lógico pode ser descrito usando as três operações booleanas

Leia mais

Inteligência Artificial Redes Neurais

Inteligência Artificial Redes Neurais Inteligência Artificial Jarley P. Nóbrega, Dr. Faculdade Nova Roma Bacharelado em Ciência da Computação jpn@jarley.com Semestre 2018.2 Jarley P. Nóbrega, Dr. (Nova Roma) Inteligência Artificial Semestre

Leia mais

Biologia Estrutural. Espaço Recíproco e a Esfera de Ewald. Prof. Dr. Walter Filgueira de Azevedo Jr. wfdaj.sites.uol.com.br

Biologia Estrutural. Espaço Recíproco e a Esfera de Ewald. Prof. Dr. Walter Filgueira de Azevedo Jr. wfdaj.sites.uol.com.br Biologia Estrutural Espaço Recíproco e a Esfera de Ewald Prof. Dr. Walter Filgueira de Azevedo Jr. Resumo Índices de Miller Índices de Direções Espaço Recíproco Esfera de Ewald Esfera Limite Número de

Leia mais

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Programação Orientada a Objetos em Processing

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Programação Orientada a Objetos em Processing azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Programação Orientada a Objetos em Processing 1 Programação Orientada a Objeto O uso de programação orientada a objeto (POO) não irá introduzir necessariamente

Leia mais

O neurônio. Alguns íons podem utilizar esses poros para passar através da membrana (para dentro ou para fora da célula).

O neurônio. Alguns íons podem utilizar esses poros para passar através da membrana (para dentro ou para fora da célula). O neurônio O objetivo desta aula é fazer uma rápida revisão sobre as propriedades essenciais dos neurônios, utilizados como inspiração para os modelos de unidades das redes neurais artificiais. Ela servirá

Leia mais

Portas lógicas Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas

Portas lógicas Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas Portas lógicas Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas 1 Componentes Álgebra dos de computadores Boole Vimos anteriormente que os números binários não representam

Leia mais

6. Análise Lógica Combinacional

6. Análise Lógica Combinacional Objetivos 6. Análise Lógica Combinacional Analisar circuitos lógicos combinacionais básicos, tais como AND-OR, AND-OR-inversor, EX-OR e EX- NOR Usar circuitos AND-OR e AND-OR-inversor para implementar

Leia mais

Desenvolveram a Equação para a propagação do impulso nervoso e suas generalizações para outros tecidos.

Desenvolveram a Equação para a propagação do impulso nervoso e suas generalizações para outros tecidos. Desenvolveram a Equação para a propagação do impulso nervoso e suas generalizações para outros tecidos. Um modelo de equações diferenciais originalmente proposto para a propagação de sinais elétricos no

Leia mais

------------------------------------------------------------------------------------------------------------------------------ Variáveis Lógicas Uma variável lógica é aquela que pode assumir apenas os

Leia mais

azevedolab.net 2018 Dr. Walter F. de Azevedo Jr.

azevedolab.net 2018 Dr. Walter F. de Azevedo Jr. azevedolab.net 2018 Dr. Walter F. de Azevedo Jr. Reerências No algoritmo genético, a geração aleatória de indivíduos de uma dada população é uma etapa de importância undamental. Esse processo é chamado

Leia mais

PORTAS NOR e NAND OR - AND - NOT. Considerando as entradas A e B, teremos na saída a complementação ou negação das mesmas.

PORTAS NOR e NAND OR - AND - NOT. Considerando as entradas A e B, teremos na saída a complementação ou negação das mesmas. PORTAS NOR e NAND As portas NOR e NAND são obtidas a partir da complementação das funções OR e AND. Podemos então dizer que o operador booleano lógico NOR é a negação do operador booleano OR enquanto que

Leia mais

SINAPSE: PONTO DE CONTATO ENTRE DOIS NEURONIOS SINAPSE QUIMICA COM A FENDA SINAPTICA SINAPSE ELETRICA COM GAP JUNCTIONS

SINAPSE: PONTO DE CONTATO ENTRE DOIS NEURONIOS SINAPSE QUIMICA COM A FENDA SINAPTICA SINAPSE ELETRICA COM GAP JUNCTIONS SINAPSE: PONTO DE CONTATO ENTRE DOIS NEURONIOS SINAPSE QUIMICA COM A FENDA SINAPTICA POTENCIAL DE REPOUSO E SUAS ALTERAÇÕES DESPOLARIZAÇÃO REPOLARIZAÇÃO HIPERPOLARIZAÇÃO POTENCIAL DE ACAO SINAPSE ELETRICA

Leia mais

Eletrônica Digital. Funções lógicas, álgebra de boole e circuitos lógicos combinacionais básicos. Professor: Francisco Ary

Eletrônica Digital. Funções lógicas, álgebra de boole e circuitos lógicos combinacionais básicos. Professor: Francisco Ary Eletrônica Digital Funções lógicas, álgebra de boole e circuitos lógicos combinacionais básicos Professor: Francisco Ary Introdução Vimos na aula anterior conversão de números binário fracionários em decimal;

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 03 Aprendizado Supervisionado / : Modelo MCP e Perceptron Max Pereira Neurônio Booleano de McCulloch- Pitts (Modelo MCP) Proposto em

Leia mais

SIMULAÇÃO DA ATIVIDADE ELETROFISIOLÓGICA DE NEURÔNIOS

SIMULAÇÃO DA ATIVIDADE ELETROFISIOLÓGICA DE NEURÔNIOS 1 SIMULAÇÃO DA ATIVIDADE ELETROFISIOLÓGICA DE NEURÔNIOS O Programa AXOVACS [baseado no modelo proposto por Hodgkin e Huxley (1952) (J.Physiol. 117, 500)], que permite simular a atividade eletrofisiológica

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

2016 Dr. Walter F. de Azevedo Jr.

2016 Dr. Walter F. de Azevedo Jr. 2016 Dr. Walter F. de Azevedo Jr. 000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000111111111110001100000000000 000000000001111111111111111111000000001 000000000111111111111111111111111000000

Leia mais

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Redes Neurais Artificial Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Histórico 3. Conceitos Básicos 4. Aprendizado em RNA 5. Exemplo de Aprendizado com

Leia mais

Projeto de Lógica Combinatória

Projeto de Lógica Combinatória Projeto de Lógica Combinatória S. W. Song MAC 412 - Organização de Computadores Lógica combinatória Esse assunto já foi visto em Álgebra Booleana. Aqui vamos apenas tratar de alguns tópicos específicos.

Leia mais

Projeto de Circuitos Lógicos. Introdução ao Computador 2010/01 Renan Manola

Projeto de Circuitos Lógicos. Introdução ao Computador 2010/01 Renan Manola Projeto de Circuitos Lógicos Introdução ao Computador 2010/01 Renan Manola Blocos básicos dos circuitos lógicos Portas Lógicas (1) Transistor A lógica digital baseia-se no fato de que um transistor pode

Leia mais

Potencial de membrana e potencial de ação

Potencial de membrana e potencial de ação Potencial de membrana e potencial de ação Curso de Nutrição Disciplina Fisiologia Humana I Prof. Dr. Leandro Cattelan leandrocattelan@hotmail.com Agosto 2017 Conteúdos a serem abordados O potencial de

Leia mais

CURSO DE EXTENSÃO. Neurofisiologia. Profa. Ana Lucia Cecconello

CURSO DE EXTENSÃO. Neurofisiologia. Profa. Ana Lucia Cecconello CURSO DE EXTENSÃO Neurofisiologia Profa. Ana Lucia Cecconello Transmissão Sináptica Informação sensorial (dor) é codificada Comportamento: erguer o pé Neurônio pré-sináptico Neurônio pós-sináptico sinapse

Leia mais

Redes Neurais Artificiais - Introdução. Visão Computacional

Redes Neurais Artificiais - Introdução. Visão Computacional Redes Neurais Artificiais - Introdução Visão Computacional Inspiração 2 Inspiração 3 Inspiração Atividade seletivanas conexões Soma os impulsos e passa a diante 4 Inspiração As conexões entre os dendritos

Leia mais

2016 Dr. Walter F. de Azevedo Jr. azevedolab.net

2016 Dr. Walter F. de Azevedo Jr. azevedolab.net 2016 Dr. Walter F. de Azevedo Jr. 000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000000000000000010000000000000 000000000000000000000111111111100000000 000000000000000000001111110000000000110

Leia mais

4. Desenhe um digrama esquemático para cada uma das funções abaixo. a.

4. Desenhe um digrama esquemático para cada uma das funções abaixo. a. Eletrônica Digital Lista de Exercícios 1. Preencha a tabela abaixo para cada uma das funções indicadas. x 2 x 1 x 0 x 2 x 1 x 2 +x 1 x 2 x 1 x 2 x 1 + x 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1

Leia mais

Computação II (MAB 225)

Computação II (MAB 225) Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo numpy NumPy é uma biblioteca para trabalhar com matrizes de qualquer dimensão, contendo várias funções matemáticas

Leia mais

2016 Dr. Walter F. de Azevedo Jr. azevedolab.net

2016 Dr. Walter F. de Azevedo Jr. azevedolab.net 2016 Dr. Walter F. de Azevedo Jr. 000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000000000000000010000000000000 000000000000000000000111111111100000000 000000000000000000001111110000000000110

Leia mais

Universidade Federal do ABC

Universidade Federal do ABC Universidade Federal do ABC Eletrônica Digital Aula 2: Portas Lógicas Básicas Tocci, Sistemas Digitais, Cap. 3. https://sites.google.com/site/en2605edigital/edigital Prof. Rodrigo Reina Muñoz rodrigo.munoz@ufabc.edu.br

Leia mais

3. CAPÍTULO LÓGICAS DIGITAIS

3. CAPÍTULO LÓGICAS DIGITAIS 3. CAPÍTULO LÓGICAS DIGITAIS 3.1. Introdução A Lógica é um conjunto de regras para raciocínio sobre um determinado assunto, ela é muito utilizada no ramo da Filosofia e da Matemática. 3.2. Portas lógicas

Leia mais

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Capítulo 3 Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer alguns dos principais circuitos digitais sequenciais

Leia mais

PCS 3115 (PCS2215) Sistemas Digitais I. Módulo 05 Álgebra Booleana. Prof. Dr. Edison Spina. Sobre o material do Prof. Dr. Marcos A. Simplicio Jr.

PCS 3115 (PCS2215) Sistemas Digitais I. Módulo 05 Álgebra Booleana. Prof. Dr. Edison Spina. Sobre o material do Prof. Dr. Marcos A. Simplicio Jr. PCS 35 (PCS225) Sistemas Digitais I Módulo 5 Álgebra Booleana Prof. Dr. Edison Sobre o material do Prof. Dr. Marcos A. Simplicio Jr. versão: 5 (Mar/28) Conceitos básicos Conteúdo Teoremas de variável Teoremas

Leia mais

POTENCIAIS DE MEMBRANA: POTENCIAL DE REPOUSO E POTENCIAL DE AÇÃO. MARIANA SILVEIRA

POTENCIAIS DE MEMBRANA: POTENCIAL DE REPOUSO E POTENCIAL DE AÇÃO. MARIANA SILVEIRA POTENCIAIS DE MEMBRANA: POTENCIAL DE REPOUSO E POTENCIAL DE AÇÃO. MARIANA SILVEIRA COLETA, DISTRIBUIÇÃO E INTEGRAÇÃO DE INFORMAÇÃO Para o cérebro Medula espinhal Corpo celular do neurônio motor Corpo celular

Leia mais

REDES NEURAIS ARTIFICIAIS

REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS O QUE É UMA REDE NEURAL NEURÔNIOS BIOLÓGICOS CÉREBRO HUMANO E CAPACIDADE DE GENERALIZAÇÃO. Modelo McCulloch e Pitts FUNÇÕES DE ATIVAÇÃO APRENDIZADO APRENDIZADO

Leia mais

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina Redes Neurais O modelo biológico O cérebro humano possui cerca 100 bilhões de neurônios O neurônio é composto por um corpo celular chamado soma, ramificações chamadas dendritos (que recebem as entradas)

Leia mais

Classificação Linear. André Tavares da Silva.

Classificação Linear. André Tavares da Silva. Classificação Linear André Tavares da Silva andre.silva@udesc.br Roteiro Introduzir os o conceito de classificação linear. LDA (Linear Discriminant Analysis) Funções Discriminantes Lineares Perceptron

Leia mais

3. Portas Lógicas. Objetivos. Objetivos. Introdução. Circuitos Digitais 31/08/2014

3. Portas Lógicas. Objetivos. Objetivos. Introdução. Circuitos Digitais 31/08/2014 Objetivos 3. Portas Lógicas Descrever a operação do inversor, da porta AND e da porta OR Descrever a operação da porta NAND e da porta NOR Expressar a operação da função NOT e das portas AND, OR, NAND

Leia mais

FISIOLOGIA I. Potencial de Membrana e Potencial de Ação. Introdução

FISIOLOGIA I. Potencial de Membrana e Potencial de Ação. Introdução FISIOLOGIA I Potencial de Membrana e Potencial de Ação Introdução Existem potenciais elétricos através das membranas de, praticamente, todas as células do corpo. Além disso, algumas células, como as nervosas

Leia mais

Redes Neurais Noções Gerais

Redes Neurais Noções Gerais Redes Neurais Noções Gerais Segundo Loesch (apupt Fernandes), Redes Neurais Artificiais são sistemas computacionais, de implementação em hardware e software, que imitam as habilidades computacionais do

Leia mais

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais Classificação de Padrões Abordagem prática com Redes Neurais Artificiais Agenda Parte I - Introdução ao aprendizado de máquina Parte II - Teoria RNA Parte III - Prática RNA Parte IV - Lições aprendidas

Leia mais

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Arrays

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Arrays azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Arrays 1 Programa: flying_saucer0.pde FlyingSaucer mysaucer; float speed; float score; // Declares an object // speed of flying saucer // score void setup()

Leia mais

Circuitos Digitais Álgebra de Boole

Circuitos Digitais Álgebra de Boole Circuitos Digitais Álgebra de Boole Álgebra de Boole (ou Booleana) Desenvolvida pelo matemático britânico George Boole para estudo da lógica. Definida sobre um conjunto de dois elementos: (falso, verdadeiro)

Leia mais

TRANSMISSÃO DE INFORMAÇÃO

TRANSMISSÃO DE INFORMAÇÃO Capítulo 3: Parte 2 1 TRANSMISSÃO DE INFORMAÇÃO Quando um neurônio recebe um estímulo, se este é forte o suficiente, leva a produção de um impulso nervoso. O impulso nervoso corresponde a uma corrente

Leia mais

PRINCÍPIO BOOLEANO E PORTAS LÓGICAS (Unidade 3)

PRINCÍPIO BOOLEANO E PORTAS LÓGICAS (Unidade 3) MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: ELETRÔNICA

Leia mais

Infra-Estrutura de Hardware

Infra-Estrutura de Hardware Infra-Estrutura de Hardware Lógica Booleana Universidade Federal Rural de Pernambuco Professor: Abner Corrêa Barros abnerbarros@gmail.com Introdução Um circuito digital é aquele em que estão presentes

Leia mais

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco Redes Neurais Prof. Aurora Pozo Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico Conceitos Básicos

Leia mais

Computadores X: Portas Lógicas

Computadores X: Portas Lógicas Computadores X: Portas Lógicas A4 Texto 1 http://www.bpiropo.com.br/fpc20050919.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 19/09/2005 Autor: B.Piropo Na coluna < http://www.forumpcs.com.br/viewtopic.php?t=128671

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 6 Álgebra de Boole Prof. Leonardo Augusto Casillo Álgebra de Boole (ou Boleana) Desenvolvida pelo matemático britânico George

Leia mais

CIRCUITOS DIGITAIS COMBINACIONAIS (Unidade 3)

CIRCUITOS DIGITAIS COMBINACIONAIS (Unidade 3) MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: ELETRÔNICA

Leia mais

Redes Neurais Artificiais. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9)

Redes Neurais Artificiais. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9) Redes Neurais Artificiais Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9) Conceitos 2 Redes Neurais As Redes Neurais Artificias são modelos computacionais

Leia mais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais ricardo.kerschbaumer@ifc.edu.br http://professor.luzerna.ifc.edu.br/ricardo-kerschbaumer/ Introdução O Cérebro humano Mais fascinante processador

Leia mais

Introdução à Linguagem VHDL

Introdução à Linguagem VHDL Fundamentos de Sistemas Digitais Introdução à Linguagem VHDL prof. Dr. Alexandre M. Amory Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar verilog e SystemC Bem didático! um

Leia mais

Redes Neurais e Sistemas Fuzzy

Redes Neurais e Sistemas Fuzzy Redes Neurais e Sistemas Fuzzy O ADALINE e o algoritmo LMS O ADALINE No contexto de classificação, o ADALINE [B. Widrow 1960] pode ser visto como um perceptron com algoritmo de treinamento baseado em minimização

Leia mais

Gustavo G. Parma. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL.

Gustavo G. Parma. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL. Introdução à VHDL Gustavo G. Parma Assunto: Introdução à VHDL. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL. 1 Introdução Teórica VHDL, VHSIC (Very High Speed Integrated

Leia mais

Sistemas Digitais Ficha Prática Nº Uniformização de circuitos com pontas NAND e NOR

Sistemas Digitais Ficha Prática Nº Uniformização de circuitos com pontas NAND e NOR Sistemas Digitais Ficha Prática Nº 2 Uniformização de circuitos com portas NAND e NOR Simplificação de funções com mapas de Karnaugh Desenho de circuitos digitais Implementação de funções lógicas na forma

Leia mais

IA - TensorFlow. Paulo Cotta

IA - TensorFlow. Paulo Cotta IA - TensorFlow Paulo Cotta Jabá Sou voluntário do GDG Trabalho na Stefanini como Engineer ML e DL Tenho à Startup Koffee More Gosto de repassar conhecimento Faço parte do Candangos do Cerrado IA Professor

Leia mais

Estudo sobre decodificação iterativa usando códigos de treliça

Estudo sobre decodificação iterativa usando códigos de treliça Revista de Engenharia e Pesquisa Aplicada, Volume 2, Número 1, 2016 Estudo sobre decodificação iterativa usando códigos de treliça Souza, I. M. M. Escola Politécnica de Pernambuco Universidade de Pernambuco

Leia mais