SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
CADERNOS DE INTELIGÊNCIA ARTIFICIAL
Exemplos em Python
Prof. Ronaldo F. Ramos, Dr
1 de maio de 2020
1/25
Lógica
Engenharia do Conhecimento
2/25
Definição
A engenharia do conhecimento é a arte de construção de bases de
conhecimento a partir de estratégias especificas de aquisição e
formalização do mesmo.
3/25
Livros
4/25
Etapas ou Atividades
1. Identificação de Tarefas
2. Reunião do conhecimento relevante
3. Definição do vocabulário (predicados, funções e constantes)
4. Codificação do conhecimento geral sobre o domı́nio
5. Codificação da descrição de uma instância especı́fica do
problema
6. Testes e Debug
5/25
1-Identificação da Tarefa
I Quais questões a base de conhecimento será capaz de
responder
I Que fatos estarão disponı́veis?
I As repostas vão descrever apenas o estado do ambiente ou
também a melhor ação a realizar?
I Qual o nı́vel de detalhes de cada informação?
I Qual o conhecimento deve ser formalizado para ligar as
respostas aos fatos básicos?
6/25
2-Reunião do Conhecimento Relevante
I O Engenheiro do Conhecimento x Especialista no Domı́nio
(Problemas e dificuldades da aquisição do conhecimento.
Temos 10.000 horas?)
I Qual o escopo do conhecimento a ser formalizado e como as
coisas realmente funcionam (Teoria x Prática)
I Tentar descobrir o conhecimento oculto (subjacente) que deve
ser formalizado
7/25
3-Definição do vocabulário (predicados, funções e
constantes)
I Traduzir os temos do domı́nio em expressões lógicas formais
(Um bom exercı́cio)
I O que deve ser um predicado, uma função ou simples objeto
I Atualmente é feita uma construção de uma ontologia de
domı́nio (veremos a construção de ontologias mais na frente
no curso)
8/25
4-Codificação do Conhecimento Geral Sobre o Domı́nio
I São criados axiomas adicionais para esclarecer todos os
termos do domı́nio
I Inconsistências nesta fase indicam a necessidade de retornar
para a fase 3
9/25
5-Codificação da Descrição de uma Instância Especı́fica do
Problema
I Formaliza-se uma ou mais instâncias especı́ficas para guiar os
passos de teste e Debug da base de conhecimento.
10/25
Testes e Debug
I Da mesma forma que na Engenharia de Software, procede-se
com testes exaustivos e consequente depuração da base de
conhecimento.
11/25
O Exemplo do Circuito Somador - Fonte: Russel and
Norvig
12/25
1-Identificação da Tarefa
I Trata-se de um circuito somador de um bit com três entradas
e duas saı́das. O circuito contém duas portas de ou exclusivo,
duas portas AND e uma porta OU.
I A proposta é desenvolver o software capaz de simular e
analisar o circuito.
13/25
2-Reunir o conhecimento relevante
I Circuitos são compostos de fios e portas.
I Os sinais fluem através dos fios para os terminais de entrada
das portas.
I Cada porta produz um sinal no terminal de saı́da que flui
através de um outro fio.
I Cada porta apresenta uma forma particular de transformar os
sinais de entrada em sinais de saı́da.
I Existem 4 tipos de portas: AND, OR, XOR, NOT.
I etc etc etc.
14/25
3-Vocabulário
I Objetos: C1, X1, X2, A1, A2, O1
I Tipos de porta (constantes): AND, OR, XOR, NOT
I Sinal (Constantes): 1, 0
I Predicado Porta : Porta() Ex. Porta(X1)
I Predicado tipo: Tipo - Ex. Tipo(X1) = XOR
I Predicado Circuito: Circuit - Ex. Circuit(C1)
15/25
3-Vocabulário - Continuação
I Predicado Terminal: Terminal - Ex. Terminal(x)
I Função definindo terminal de entrada - Entrada(x,C) - Ex.
Entrada(1, X1)
I Função definindo terminal de saı́da - Saida(x,C) - Ex.
Saida(1, X1)
I Aridade do Circuito (entradas e saı́das) - Aridade(C1, i, j) - Ex
Aridade(C1, 3, 2)
I Predicado Conectados para dizer que dois terminais estão
conectados - Conectados(x, y) - Ex -
Connected(Out(1, X1), In(1, X2)
I Função de Sinal. Qual o sinal em dado circuito : Sinal(t) - Ex
- Sinal(In(1, X1))
16/25
4-Codificação do Conhecimento Geral Sobre o Domı́nio
A seguir os axiomas necessários para nosso mecanismo de
inferência.
I Dois terminais conectados tem o mesmo sinal.
∀t1, t2 Terminal(t1) ∧ Terminal(t2) ∧ Connectados(t1, t2) →
Sinal(t1) = Sinal(t2)
I O sinal em cada terminal pode assumir valores 0 ou 1.
∀t Terminal(t) → Sinal(t) = 1 ∨ Sinal(t) = 0
I A propriedade conectado é comutativa.
∀t1, t2 Conectados(t1, t2) → Conectados(t2, t1)
I Existem quatro tipos de porta.
∀g Porta(g) ∧ k = Tipo(g) → k = AND ∨ K = OR ∨ k =
XOR ∨ k = NOT
17/25
Axiomas-Cont..
I A saı́da da porta AND é zero se e somente se uma das suas
entradas é zero.
∀g Porta(g) ∧ Tipo(g) = AND → Sinal(Saida(1, g)) = 0 ↔
∃n Sinal(Entrada(n, g)) = 0
I A saı́da da porta OR é 1 se e somente se uma de suas
entradas é 1.
∀g Porta(g) ∧ Tipo(g) = OR → Sinal(Saida(1, g)) = 1 ↔
∃n Sinal(Entrada(n, g)) = 1
I A saı́da da porta XOR é 1 se e somente se suas entradas são
diferentes.
∀g Porta(g) ∧ Tipo(g) = XOR → Sinal(Saida(1, g)) = 1 ↔
Sinal(Entrada(1, g)) 6= Sinal(Entrada(2, g))
I A saı́da da porta NOT é diferente do sinal de entrada.
∀g Porta(g) ∧ Tipo(g) = NOT → Sinal(Saida(1, g)) 6=
Sinal(Entrada(1, g))
18/25
Axiomas - Cont.
I As portas, exceto a porta NOT, tem duas entradas e uma
saı́da.
∀g Porta(g) ∧ Tipo(g) = NOT → Aridade(g, 1, 1)
∀g porta(g) ∧ k = Tipo(g) ∧ (k = AND ∨ k = OR ∨ k =
XOR) → Aridade(g, 2, 1)
I um circuito tem o número de terminais máximos iguais a
aridade de entrada ou saı́da respectivamente.
∀c, i, j Circuito(c) ∧ Aridade(c, i, j) →
∀n (n ≤ i → Terminal(Entrada(c, n))) ∧ (n > 1 →
Entrada(c, n) = Nada) ∧ ∀n(n ≤ j →
Terminal(Saida(c, n))) ∧ (n > j → Saida(c, n) = Nada)
19/25
Axiomas - Finalmente
I Portas, terminais, sinais, tipos de portas e nada são coisas
diferentes. ∀g, t Porta(g) ∧ Terminal(t) → g 6= t 6= 1 6= 0 6=
OR 6= AND 6= XOR 6= NOT 6= Nada
I Portas são circuitos.
∀g Porta(g) → Circuito(g)
20/25
5-Uma instância Particular
I Circuito(C1) ∧ Aridade(C1, 3, 2)
I Porta((X1) ∧ Tipo(X1) = XOR
I Porta(X2) ∧ Tipo(X2) = XOR
I Porta(A1) ∧ Tipo(A1) = AND
I Porta(A2) ∧ Tipo(A2) = AND
I Porta(O1) ∧ Tipo(O1) = OR
I Conectados(Saida(1, X1), Entrada(1, X2))
I Conectados(Saida(1, X1), Entrada(2, A2))
I Conectados(Saida(1, A2), Entrada(1, O1))
I Conectados(Saida(1, A1), Entrada(2, O1))
21/25
5-Uma Instância Particular - Continuação
I Conectados(Saida(1, X2), Saida(1, C1))
I Conectados(Saida(1, O1), Saida(2, C1))
I Conectados(Entrada(1, C1), Entrada(1, X1))
I Conectados(Entrada(1, C1), Entrada(1, A1))
I Conectados(Entrada(2, C1), Entrada(2, X1))
I Conectados(Entrada(2, C1), Entrada(2, A1))
I Conectados(Entrada(3, C1), Entrada(2, X2))
I Conectados(Entrada(3, C1), Entrada(1, A2))
22/25
6-Testes e Debug - 1
Podemos agora perguntar a base qual a combinação de entradas
faria o bit da soma ser zero e o bit deslocado (carry) ser 1.
∃i1, i2, i3 Sinal(Entrada(1, C1)) = i1 ∧ Sinal(Entrada(2, C1)) =
i2 ∧ Sinal(Entrada(3, C1)) = i3 ∧ Sinal(Saida(1, C1)) =
0 ∧ Sinal(Saida(2, C1)) = 1
A resposta deverá ser uma substituição para as variáveis i1, i2, i3 :
{i1/1, i2/1, i3/0}, {i1/1, i2/0, i3/1}, {i1/0, i2/1, i3/1}
23/25
6-Testes e Debug 2
Quais os conjuntos de valores possı́veis para o circuito somador?
∃ i1, i2, i3, o1, o2 Sinal(Entrada(1, C1)) =
i1 ∧ Sinal(Entrada(2, C1)) = i2 ∧ Sinal(Entrada(3, C1)) =
i3 ∧ Sinal(Saida(1, C1)) = o1 ∧ Sinal(Saida(2, C1)) = o2
24/25
6-Testes e Debug 3
Imagine que tenhamos esquecido de diferenciar o 1 do 0. O
sistema começa a provar apenas as entradas 000 e 110. Porque?
Ao olharmos a base e verificarmos a aplicação do axioma XOR
aplicado a X1 temos:
Sinal(Saida(1, X1)) = 1 ↔ Sinal(Entrada(1, X1)) 6=
Sinal(Entrada(2, X1))
A aplicarmos os valores 10 ou 01, esta expressão se reduz a :
Sinal(Saida(1, X1)) = 1 ↔ 1 6= 0
Se não há nenhuma afimação que 1 6= 0 esta expressão nunca será
satisfeita e nosso sistema não funcionará corretamente.
25/25

Mais conteúdo relacionado

Semelhante a Circuito Somador em Python

Semelhante a Circuito Somador em Python (20)

Arquitetura 6
Arquitetura 6Arquitetura 6
Arquitetura 6
 
Portas Lógicas
Portas LógicasPortas Lógicas
Portas Lógicas
 
Logica Digital
Logica DigitalLogica Digital
Logica Digital
 
Lp m2(parte4)
Lp m2(parte4)Lp m2(parte4)
Lp m2(parte4)
 
Arq orgcom (1)
Arq orgcom (1)Arq orgcom (1)
Arq orgcom (1)
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
Circuitos combinatorios
Circuitos combinatoriosCircuitos combinatorios
Circuitos combinatorios
 
C43 hardware
C43   hardwareC43   hardware
C43 hardware
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
 
201959_152331_AC 13 - Lógica Digital.pdf
201959_152331_AC 13 - Lógica Digital.pdf201959_152331_AC 13 - Lógica Digital.pdf
201959_152331_AC 13 - Lógica Digital.pdf
 
Canais Assíncronos I
Canais Assíncronos ICanais Assíncronos I
Canais Assíncronos I
 
Roteiro 1 portas lógicas básicas
Roteiro 1   portas lógicas básicasRoteiro 1   portas lógicas básicas
Roteiro 1 portas lógicas básicas
 
Portas lógicas.ppt
Portas lógicas.pptPortas lógicas.ppt
Portas lógicas.ppt
 
Aula2
Aula2Aula2
Aula2
 
05 circuitos logicos
05   circuitos logicos05   circuitos logicos
05 circuitos logicos
 
Confiabilidade do canal em codificação turbo dscdma sujeito a desvanecimento ...
Confiabilidade do canal em codificação turbo dscdma sujeito a desvanecimento ...Confiabilidade do canal em codificação turbo dscdma sujeito a desvanecimento ...
Confiabilidade do canal em codificação turbo dscdma sujeito a desvanecimento ...
 
Análise da Resposta Transitória
Análise da Resposta TransitóriaAnálise da Resposta Transitória
Análise da Resposta Transitória
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-C
 
Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
 

Mais de ronaldo ramos

javascript_funcional.pdf
javascript_funcional.pdfjavascript_funcional.pdf
javascript_funcional.pdfronaldo ramos
 
python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdfronaldo ramos
 
paradigmas_de_programacao_2_X.pdf
paradigmas_de_programacao_2_X.pdfparadigmas_de_programacao_2_X.pdf
paradigmas_de_programacao_2_X.pdfronaldo ramos
 
paradigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdfparadigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdfronaldo ramos
 
paradigmas_de_programacao.pdf
paradigmas_de_programacao.pdfparadigmas_de_programacao.pdf
paradigmas_de_programacao.pdfronaldo ramos
 
paradigmas_de_programacao_3_X.pdf
paradigmas_de_programacao_3_X.pdfparadigmas_de_programacao_3_X.pdf
paradigmas_de_programacao_3_X.pdfronaldo ramos
 
python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdfronaldo ramos
 
48-aula48-modelosTemporais.pdf
48-aula48-modelosTemporais.pdf48-aula48-modelosTemporais.pdf
48-aula48-modelosTemporais.pdfronaldo ramos
 
47-aula47-fuzzy-aplicacao.pdf
47-aula47-fuzzy-aplicacao.pdf47-aula47-fuzzy-aplicacao.pdf
47-aula47-fuzzy-aplicacao.pdfronaldo ramos
 

Mais de ronaldo ramos (20)

03_lisp.pdf
03_lisp.pdf03_lisp.pdf
03_lisp.pdf
 
02_lisp.pdf
02_lisp.pdf02_lisp.pdf
02_lisp.pdf
 
01_lisp.pdf
01_lisp.pdf01_lisp.pdf
01_lisp.pdf
 
javascript_funcional.pdf
javascript_funcional.pdfjavascript_funcional.pdf
javascript_funcional.pdf
 
python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdf
 
_001_introducao.pdf
_001_introducao.pdf_001_introducao.pdf
_001_introducao.pdf
 
paradigmas_de_programacao_2_X.pdf
paradigmas_de_programacao_2_X.pdfparadigmas_de_programacao_2_X.pdf
paradigmas_de_programacao_2_X.pdf
 
paradigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdfparadigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdf
 
paradigmas_de_programacao.pdf
paradigmas_de_programacao.pdfparadigmas_de_programacao.pdf
paradigmas_de_programacao.pdf
 
paradigmas_de_programacao_3_X.pdf
paradigmas_de_programacao_3_X.pdfparadigmas_de_programacao_3_X.pdf
paradigmas_de_programacao_3_X.pdf
 
python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdf
 
40-aula40.pdf
40-aula40.pdf40-aula40.pdf
40-aula40.pdf
 
43-aula43.pdf
43-aula43.pdf43-aula43.pdf
43-aula43.pdf
 
48-aula48-modelosTemporais.pdf
48-aula48-modelosTemporais.pdf48-aula48-modelosTemporais.pdf
48-aula48-modelosTemporais.pdf
 
47-aula47-fuzzy-aplicacao.pdf
47-aula47-fuzzy-aplicacao.pdf47-aula47-fuzzy-aplicacao.pdf
47-aula47-fuzzy-aplicacao.pdf
 
46-aula46-fuzzy.pdf
46-aula46-fuzzy.pdf46-aula46-fuzzy.pdf
46-aula46-fuzzy.pdf
 
42-aula42.pdf
42-aula42.pdf42-aula42.pdf
42-aula42.pdf
 
39-aula39.pdf
39-aula39.pdf39-aula39.pdf
39-aula39.pdf
 
38-aula38.pdf
38-aula38.pdf38-aula38.pdf
38-aula38.pdf
 
36-aula36.pdf
36-aula36.pdf36-aula36.pdf
36-aula36.pdf
 

Último

Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 

Último (20)

Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 

Circuito Somador em Python

  • 1. CADERNOS DE INTELIGÊNCIA ARTIFICIAL Exemplos em Python Prof. Ronaldo F. Ramos, Dr 1 de maio de 2020 1/25
  • 3. Definição A engenharia do conhecimento é a arte de construção de bases de conhecimento a partir de estratégias especificas de aquisição e formalização do mesmo. 3/25
  • 5. Etapas ou Atividades 1. Identificação de Tarefas 2. Reunião do conhecimento relevante 3. Definição do vocabulário (predicados, funções e constantes) 4. Codificação do conhecimento geral sobre o domı́nio 5. Codificação da descrição de uma instância especı́fica do problema 6. Testes e Debug 5/25
  • 6. 1-Identificação da Tarefa I Quais questões a base de conhecimento será capaz de responder I Que fatos estarão disponı́veis? I As repostas vão descrever apenas o estado do ambiente ou também a melhor ação a realizar? I Qual o nı́vel de detalhes de cada informação? I Qual o conhecimento deve ser formalizado para ligar as respostas aos fatos básicos? 6/25
  • 7. 2-Reunião do Conhecimento Relevante I O Engenheiro do Conhecimento x Especialista no Domı́nio (Problemas e dificuldades da aquisição do conhecimento. Temos 10.000 horas?) I Qual o escopo do conhecimento a ser formalizado e como as coisas realmente funcionam (Teoria x Prática) I Tentar descobrir o conhecimento oculto (subjacente) que deve ser formalizado 7/25
  • 8. 3-Definição do vocabulário (predicados, funções e constantes) I Traduzir os temos do domı́nio em expressões lógicas formais (Um bom exercı́cio) I O que deve ser um predicado, uma função ou simples objeto I Atualmente é feita uma construção de uma ontologia de domı́nio (veremos a construção de ontologias mais na frente no curso) 8/25
  • 9. 4-Codificação do Conhecimento Geral Sobre o Domı́nio I São criados axiomas adicionais para esclarecer todos os termos do domı́nio I Inconsistências nesta fase indicam a necessidade de retornar para a fase 3 9/25
  • 10. 5-Codificação da Descrição de uma Instância Especı́fica do Problema I Formaliza-se uma ou mais instâncias especı́ficas para guiar os passos de teste e Debug da base de conhecimento. 10/25
  • 11. Testes e Debug I Da mesma forma que na Engenharia de Software, procede-se com testes exaustivos e consequente depuração da base de conhecimento. 11/25
  • 12. O Exemplo do Circuito Somador - Fonte: Russel and Norvig 12/25
  • 13. 1-Identificação da Tarefa I Trata-se de um circuito somador de um bit com três entradas e duas saı́das. O circuito contém duas portas de ou exclusivo, duas portas AND e uma porta OU. I A proposta é desenvolver o software capaz de simular e analisar o circuito. 13/25
  • 14. 2-Reunir o conhecimento relevante I Circuitos são compostos de fios e portas. I Os sinais fluem através dos fios para os terminais de entrada das portas. I Cada porta produz um sinal no terminal de saı́da que flui através de um outro fio. I Cada porta apresenta uma forma particular de transformar os sinais de entrada em sinais de saı́da. I Existem 4 tipos de portas: AND, OR, XOR, NOT. I etc etc etc. 14/25
  • 15. 3-Vocabulário I Objetos: C1, X1, X2, A1, A2, O1 I Tipos de porta (constantes): AND, OR, XOR, NOT I Sinal (Constantes): 1, 0 I Predicado Porta : Porta() Ex. Porta(X1) I Predicado tipo: Tipo - Ex. Tipo(X1) = XOR I Predicado Circuito: Circuit - Ex. Circuit(C1) 15/25
  • 16. 3-Vocabulário - Continuação I Predicado Terminal: Terminal - Ex. Terminal(x) I Função definindo terminal de entrada - Entrada(x,C) - Ex. Entrada(1, X1) I Função definindo terminal de saı́da - Saida(x,C) - Ex. Saida(1, X1) I Aridade do Circuito (entradas e saı́das) - Aridade(C1, i, j) - Ex Aridade(C1, 3, 2) I Predicado Conectados para dizer que dois terminais estão conectados - Conectados(x, y) - Ex - Connected(Out(1, X1), In(1, X2) I Função de Sinal. Qual o sinal em dado circuito : Sinal(t) - Ex - Sinal(In(1, X1)) 16/25
  • 17. 4-Codificação do Conhecimento Geral Sobre o Domı́nio A seguir os axiomas necessários para nosso mecanismo de inferência. I Dois terminais conectados tem o mesmo sinal. ∀t1, t2 Terminal(t1) ∧ Terminal(t2) ∧ Connectados(t1, t2) → Sinal(t1) = Sinal(t2) I O sinal em cada terminal pode assumir valores 0 ou 1. ∀t Terminal(t) → Sinal(t) = 1 ∨ Sinal(t) = 0 I A propriedade conectado é comutativa. ∀t1, t2 Conectados(t1, t2) → Conectados(t2, t1) I Existem quatro tipos de porta. ∀g Porta(g) ∧ k = Tipo(g) → k = AND ∨ K = OR ∨ k = XOR ∨ k = NOT 17/25
  • 18. Axiomas-Cont.. I A saı́da da porta AND é zero se e somente se uma das suas entradas é zero. ∀g Porta(g) ∧ Tipo(g) = AND → Sinal(Saida(1, g)) = 0 ↔ ∃n Sinal(Entrada(n, g)) = 0 I A saı́da da porta OR é 1 se e somente se uma de suas entradas é 1. ∀g Porta(g) ∧ Tipo(g) = OR → Sinal(Saida(1, g)) = 1 ↔ ∃n Sinal(Entrada(n, g)) = 1 I A saı́da da porta XOR é 1 se e somente se suas entradas são diferentes. ∀g Porta(g) ∧ Tipo(g) = XOR → Sinal(Saida(1, g)) = 1 ↔ Sinal(Entrada(1, g)) 6= Sinal(Entrada(2, g)) I A saı́da da porta NOT é diferente do sinal de entrada. ∀g Porta(g) ∧ Tipo(g) = NOT → Sinal(Saida(1, g)) 6= Sinal(Entrada(1, g)) 18/25
  • 19. Axiomas - Cont. I As portas, exceto a porta NOT, tem duas entradas e uma saı́da. ∀g Porta(g) ∧ Tipo(g) = NOT → Aridade(g, 1, 1) ∀g porta(g) ∧ k = Tipo(g) ∧ (k = AND ∨ k = OR ∨ k = XOR) → Aridade(g, 2, 1) I um circuito tem o número de terminais máximos iguais a aridade de entrada ou saı́da respectivamente. ∀c, i, j Circuito(c) ∧ Aridade(c, i, j) → ∀n (n ≤ i → Terminal(Entrada(c, n))) ∧ (n > 1 → Entrada(c, n) = Nada) ∧ ∀n(n ≤ j → Terminal(Saida(c, n))) ∧ (n > j → Saida(c, n) = Nada) 19/25
  • 20. Axiomas - Finalmente I Portas, terminais, sinais, tipos de portas e nada são coisas diferentes. ∀g, t Porta(g) ∧ Terminal(t) → g 6= t 6= 1 6= 0 6= OR 6= AND 6= XOR 6= NOT 6= Nada I Portas são circuitos. ∀g Porta(g) → Circuito(g) 20/25
  • 21. 5-Uma instância Particular I Circuito(C1) ∧ Aridade(C1, 3, 2) I Porta((X1) ∧ Tipo(X1) = XOR I Porta(X2) ∧ Tipo(X2) = XOR I Porta(A1) ∧ Tipo(A1) = AND I Porta(A2) ∧ Tipo(A2) = AND I Porta(O1) ∧ Tipo(O1) = OR I Conectados(Saida(1, X1), Entrada(1, X2)) I Conectados(Saida(1, X1), Entrada(2, A2)) I Conectados(Saida(1, A2), Entrada(1, O1)) I Conectados(Saida(1, A1), Entrada(2, O1)) 21/25
  • 22. 5-Uma Instância Particular - Continuação I Conectados(Saida(1, X2), Saida(1, C1)) I Conectados(Saida(1, O1), Saida(2, C1)) I Conectados(Entrada(1, C1), Entrada(1, X1)) I Conectados(Entrada(1, C1), Entrada(1, A1)) I Conectados(Entrada(2, C1), Entrada(2, X1)) I Conectados(Entrada(2, C1), Entrada(2, A1)) I Conectados(Entrada(3, C1), Entrada(2, X2)) I Conectados(Entrada(3, C1), Entrada(1, A2)) 22/25
  • 23. 6-Testes e Debug - 1 Podemos agora perguntar a base qual a combinação de entradas faria o bit da soma ser zero e o bit deslocado (carry) ser 1. ∃i1, i2, i3 Sinal(Entrada(1, C1)) = i1 ∧ Sinal(Entrada(2, C1)) = i2 ∧ Sinal(Entrada(3, C1)) = i3 ∧ Sinal(Saida(1, C1)) = 0 ∧ Sinal(Saida(2, C1)) = 1 A resposta deverá ser uma substituição para as variáveis i1, i2, i3 : {i1/1, i2/1, i3/0}, {i1/1, i2/0, i3/1}, {i1/0, i2/1, i3/1} 23/25
  • 24. 6-Testes e Debug 2 Quais os conjuntos de valores possı́veis para o circuito somador? ∃ i1, i2, i3, o1, o2 Sinal(Entrada(1, C1)) = i1 ∧ Sinal(Entrada(2, C1)) = i2 ∧ Sinal(Entrada(3, C1)) = i3 ∧ Sinal(Saida(1, C1)) = o1 ∧ Sinal(Saida(2, C1)) = o2 24/25
  • 25. 6-Testes e Debug 3 Imagine que tenhamos esquecido de diferenciar o 1 do 0. O sistema começa a provar apenas as entradas 000 e 110. Porque? Ao olharmos a base e verificarmos a aplicação do axioma XOR aplicado a X1 temos: Sinal(Saida(1, X1)) = 1 ↔ Sinal(Entrada(1, X1)) 6= Sinal(Entrada(2, X1)) A aplicarmos os valores 10 ou 01, esta expressão se reduz a : Sinal(Saida(1, X1)) = 1 ↔ 1 6= 0 Se não há nenhuma afimação que 1 6= 0 esta expressão nunca será satisfeita e nosso sistema não funcionará corretamente. 25/25