SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
CADERNOS DE INTELIGÊNCIA ARTIFICIAL
Exemplos em Python
Prof. Ronaldo F. Ramos, Dr
14 de julho de 2020
1/19
PROLOG AULA IX
Mais Recursos
2/19
Fatorial
É possı́vel usar prolog de forma iterativa?
3/19
Normal Recursiva
fatorial(N,F) :- N > 0, N1 is N-1, fatorial(N1,F1), F is N*F1.
fatorial(0,1).
4/19
Iterativa
fatorial(N,F) :- fatorial(N,1,F).
fatorial(N,T,F) :- N > 0, T1 is T*N, N1 is N-1, fatorial(N1,T1,F).
fatorial(0,F,F).
5/19
Acumulador
Observem bem como funciona o acumulador em prolog.
contar(0,0).
?contar(N,K):-N>0, N1 is N -1, write(N1), contar(N1,K).
contar(50,X)
contar(0,0).
contar(N,J):-N>0, N1 is N - 1, J1 is J + 1, write(J1),
contar(N1,J1).
?contar(50,0)
6/19
Loop Recursivo em Python
7/19
CUT - !
Podando a árvore de busca evitando o backtrack.
max(A, B, A) : −A >= B.
max(A, B, B) : −A < B.
Vamos abri-lo no SWI ligando o trace.
Observemos quantas iterações foram feitas.
Em Python:
if A >= B :
return A
if A < B :
return B
8/19
CUT - !
Agora vamos fazer uma pequena modificação e verificar com trace.
Vejamos o exemplo.
maior(X, Y , X) : −X >= Y , !.
maior(X, Y , Y ).
Vamos abri-lo no SWI ligando o trace. Observemos quantas
iterações foram feitas.
Em Python:
if A >= B :
return A
else:
return B
9/19
CUT - !
Usando a disjunção explı́cita no prolog teremos
maior(X, Y , Z) : −X >= Y , !, Z is X; Z is Y .
10/19
CUT - !
Uso do Cut não é obrigatório em muitos casos.
11/19
GREEN CUT X RED CUT
O dito Green cut que não altera o significado (meaning) do
programa. Usado apenas para melhorar a eficiência do mesmo. Ao
contrário do Red Cut que altera o significado do programa.
Ex.
Red Cut
maior(X, Y , X) : −X >= Y , !.
maior(X, Y , Y ).
Green Cut
maior(X, Y , X) : −X >= Y , !.
maior(X, Y , Y ) : −X < Y , !.
12/19
Red Cut - Significado Incorreto
Até aqui estava tudo bem, mas o Red Cut na verdade tornou este
programa incorreto.
maior(X, Y , X) : −X >= Y , !.
maior(X, Y , Y ).
Vejamos o que acontece se usarmos metas sem variáveis. Tipo
maior(21,20,20). Veja o que acontece.
13/19
Resumindo
Cuidado com os Cuts.. Estude mais.
14/19
Negação - fail
fail é uma meta que sempre falha em prolog. Costumeiramente
usada com cut. Vejamos um exemplo de uso:
dif (X, X) : −!, fail.
dif ( , ) : −!.
15/19
Cutting
Vamos dar um ”cut”aqui no curso pra mostrar mais algumas
particularidades dos ambientes prolog.
16/19
Tratamentos de Tipos - types - em prolog
atom, integer, number, functor — verifique a sua distribuição
17/19
Predicados Meta Lógicos
Predicados para usados em controle lógico dos programas.
Exs.
var(X) - Verifica se um termo é uma variável.
nonvar(X) - Faz o contrário.
unify(X,Y). - Realiza a unificação.
etc.
18/19
Predicados Extra Lógicos
Predicados relacionados a funções não lógicas (E/S por exemplo).
write() - Escreve no terminal.
getc() ou read() - Lê arquivos ou textos do terminal.
etc...
19/19
A seguir
Usando prolog para fazer IA. Um exemplo.
20/19

Mais conteúdo relacionado

Mais de ronaldo ramos

Mais de ronaldo ramos (20)

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
 
35-aula35.pdf
35-aula35.pdf35-aula35.pdf
35-aula35.pdf
 
34-aula34.pdf
34-aula34.pdf34-aula34.pdf
34-aula34.pdf
 
33-aula33.pdf
33-aula33.pdf33-aula33.pdf
33-aula33.pdf
 
30-aula30.pdf
30-aula30.pdf30-aula30.pdf
30-aula30.pdf
 
29-aula29.pdf
29-aula29.pdf29-aula29.pdf
29-aula29.pdf
 
28-aula28.pdf
28-aula28.pdf28-aula28.pdf
28-aula28.pdf
 
27-aula27.pdf
27-aula27.pdf27-aula27.pdf
27-aula27.pdf
 
26-aula26.pdf
26-aula26.pdf26-aula26.pdf
26-aula26.pdf
 
25-aula25.pdf
25-aula25.pdf25-aula25.pdf
25-aula25.pdf
 

Último

GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 
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
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
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
 
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
 
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
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
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
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
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
 
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
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!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
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 

Último (20)

GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 
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
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
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...
 
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...
 
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ã
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
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
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
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...
 
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
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
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
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 

36-aula36.pdf

  • 1. CADERNOS DE INTELIGÊNCIA ARTIFICIAL Exemplos em Python Prof. Ronaldo F. Ramos, Dr 14 de julho de 2020 1/19
  • 2. PROLOG AULA IX Mais Recursos 2/19
  • 3. Fatorial É possı́vel usar prolog de forma iterativa? 3/19
  • 4. Normal Recursiva fatorial(N,F) :- N > 0, N1 is N-1, fatorial(N1,F1), F is N*F1. fatorial(0,1). 4/19
  • 5. Iterativa fatorial(N,F) :- fatorial(N,1,F). fatorial(N,T,F) :- N > 0, T1 is T*N, N1 is N-1, fatorial(N1,T1,F). fatorial(0,F,F). 5/19
  • 6. Acumulador Observem bem como funciona o acumulador em prolog. contar(0,0). ?contar(N,K):-N>0, N1 is N -1, write(N1), contar(N1,K). contar(50,X) contar(0,0). contar(N,J):-N>0, N1 is N - 1, J1 is J + 1, write(J1), contar(N1,J1). ?contar(50,0) 6/19
  • 7. Loop Recursivo em Python 7/19
  • 8. CUT - ! Podando a árvore de busca evitando o backtrack. max(A, B, A) : −A >= B. max(A, B, B) : −A < B. Vamos abri-lo no SWI ligando o trace. Observemos quantas iterações foram feitas. Em Python: if A >= B : return A if A < B : return B 8/19
  • 9. CUT - ! Agora vamos fazer uma pequena modificação e verificar com trace. Vejamos o exemplo. maior(X, Y , X) : −X >= Y , !. maior(X, Y , Y ). Vamos abri-lo no SWI ligando o trace. Observemos quantas iterações foram feitas. Em Python: if A >= B : return A else: return B 9/19
  • 10. CUT - ! Usando a disjunção explı́cita no prolog teremos maior(X, Y , Z) : −X >= Y , !, Z is X; Z is Y . 10/19
  • 11. CUT - ! Uso do Cut não é obrigatório em muitos casos. 11/19
  • 12. GREEN CUT X RED CUT O dito Green cut que não altera o significado (meaning) do programa. Usado apenas para melhorar a eficiência do mesmo. Ao contrário do Red Cut que altera o significado do programa. Ex. Red Cut maior(X, Y , X) : −X >= Y , !. maior(X, Y , Y ). Green Cut maior(X, Y , X) : −X >= Y , !. maior(X, Y , Y ) : −X < Y , !. 12/19
  • 13. Red Cut - Significado Incorreto Até aqui estava tudo bem, mas o Red Cut na verdade tornou este programa incorreto. maior(X, Y , X) : −X >= Y , !. maior(X, Y , Y ). Vejamos o que acontece se usarmos metas sem variáveis. Tipo maior(21,20,20). Veja o que acontece. 13/19
  • 14. Resumindo Cuidado com os Cuts.. Estude mais. 14/19
  • 15. Negação - fail fail é uma meta que sempre falha em prolog. Costumeiramente usada com cut. Vejamos um exemplo de uso: dif (X, X) : −!, fail. dif ( , ) : −!. 15/19
  • 16. Cutting Vamos dar um ”cut”aqui no curso pra mostrar mais algumas particularidades dos ambientes prolog. 16/19
  • 17. Tratamentos de Tipos - types - em prolog atom, integer, number, functor — verifique a sua distribuição 17/19
  • 18. Predicados Meta Lógicos Predicados para usados em controle lógico dos programas. Exs. var(X) - Verifica se um termo é uma variável. nonvar(X) - Faz o contrário. unify(X,Y). - Realiza a unificação. etc. 18/19
  • 19. Predicados Extra Lógicos Predicados relacionados a funções não lógicas (E/S por exemplo). write() - Escreve no terminal. getc() ou read() - Lê arquivos ou textos do terminal. etc... 19/19
  • 20. A seguir Usando prolog para fazer IA. Um exemplo. 20/19