SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
CADERNOS DE INTELIGÊNCIA ARTIFICIAL
Exemplos em Python
Prof. Ronaldo F. Ramos, Dr
9 de maio de 2020
1/23
PROLOG 2a AULA
2/23
Base de Dados
Princı́pios da Programação Lógica Vamos ampliar um pouco as
relações familiares. (Ver SWISH)
3/23
Regras Recursivas
Definir uma coisa em termos dela própria (kkkk). Vejamos a
definição de ancestral. Observemos as relações recursivas.
avô(Ancestral,Descendente) :- pai1(Ancestral, Pessoa),
pai(Pessoa, Descendente)
bisavô(Ancestral,Descendente) :- pai(Ancestral, Pessoa),
avô(Pessoa, Descendente)
trisavô(Ancestral,Descendente) :- pai(Ancestral, Pessoa),
bisavô(Pessoa, Descendente)
Isto nos leva ao padrão:
ancestral(Ancestral,Descendente)
:-pai(Ancestral,Pessoa),ancestral(Pessoa,Descendente)
Não leva a um loop infinito??
1
Vamos abstrair das mães por enquanto
4/23
Caso Base
Em algum momento a recursão deve ser obrigada a parar.
ancestral(Ancestral, Descendente) :- pai(Ancestral,Descendente).
5/23
Programa Ancestral
% Casos Base
ancestral(Ancestral,Descendente) :- pai(Ancestral,Descendente).
ancestral(Ancestral,Descendente) :- mãe(Ancestral,Descendente).
% Definição
ancestral(Ancestral,Descendente) :- pai(Ancestral,Pessoa),
ancestral(Pessoa,Descendente).
ancestral(Ancestral,Descendente) :- mãe(Ancestral,Pessoa),
ancestral(Pessoa,Descendente).
6/23
Fechamento Transitivo
É dito que a relação ancestral é um fechamento transitivo da
relação de parentesco e portanto facilmente realizada através de
uma regra recursiva.
7/23
Recursão Linear
Um programa é recursivo linear se possui apenas uma meta
recursiva no corpo da cláusula.
Ex de definição de ancestral não linear:
ancestral(Ancestral,Descendente) :- ancestral(Ancestral,Pessoa),
ancestral(Pessoa,Descendente).
8/23
Grafo Direcionado Simples
Vejamos um outro exemplo de fecho transitivo
9/23
Descrevendo o grafo
% fatos
eixo(a,b). eixo(a,c). eixo(b,d).
eixo(c,d). eixo(d,e). eixo(f,g).
% caso base
conectado(nó,nó).
% regra recursiva
conectado(nó1,nó2) :- eixo(nó1,Link), conectado(Link,nó2).
10/23
Aritmética
Uma nova maneira de pensar a aritmética.
Definição de Número Natural
% Zero é um número natural (Controvérsias à parte ;-) )
número natural(0).
% Definindo número natural
número natural(s(X)) :- número natural(X).
então os números serão definidos aqui como sucessores do zero.
1 - s(0), 2 - s(s(0)) - 3 - s(s(s(0))) ... N - sn(0)
11/23
Correção e Completude
Dissemos que um programa P é correto com relação a um
significado esperado M se o significado do programa M(P) é
subconjunto do significado M. Ou seja M(P) ⊂ M
Um programa é completo se o significado esperado M(P) está
contido no significado do programa. Ou seja M ⊂ M(P).
Logo, o programa é correto e completo quando o significado do
programa é igual ao significado esperado. Ou seja M(P) = M.
12/23
Prova de Completude
Proposição: O Programa definindo os números naturais é correto e
completo para o conjunto de metas definidas como :
numero natural(si (0)), ∀i ≥ 0
13/23
Prova de Completude
14/23
Prova de Correção
I Suponha que o número natural(X) seja dedutı́vel em N
deduções.
I Então, por indução, número natural(X) está no significado
esperado.
I Se N = 0, basta observar a cláusula unitária
(número natural(0))
I Se N > 0 , a meta deve ser número natural(X’) onde X’ =
sk(0) ∀k ≥ 0. Então X’ estará no significado esperado do
programa.
15/23
Definindo as Desigualdades
%Menor ou Igual
menor ou igual(0,X) :- número natural(X).
%Isto também poderia ter sido escrito assim
0 menor ou igual X :- número natural(X).
% Ou ainda ...
0 ≤ X :- número natural(X).
% Concluindo
menor ou igual(s(X),s(Y)) :-menor ou igual(X,Y).
16/23
Definindo a Soma
Você nunca pensou em somar desse jeito
soma(0,X,X) :- natural number(X).
soma(s(X),Y,s(Z)):- soma(X,Y,Z).
número natural(0).
número natural(s(X)) :- número natural(X).
17/23
Multiplicando
Idem
vezes(0,X,0).
vezes(s(X),Y,Z) :- vezes(X,Y,XY), soma(XY,Y,Z).
soma(0,X,X) :- número natural(X).
soma(s(X),Y,s(Z)):- soma(X,Y,Z).
número natural(0).
número natural(s(X)) :- número natural(X).
18/23
Exponenciação
/* exp(N,X,Y) :- N, X e Y são números naturais tais que Y igual X
elevado a N. */
exp(s(N),0,0).
exp(0,s(X),s(0)).
exp(s(N),X,Y) :- exp(N,X,Z), vezes(Z,X,Y).
vezes(0,Y,0).
vezes(s(X),Y,Z) :- vezes(X,Y,XY), somar(XY,Y,Z).
somar(0,X,X) :- número natural(X).
somar(s(X),Y,s(Z)):- somar(X,Y,Z).
número natural(0).
número natural(s(X)) :- número natural(X).
19/23
Fatorial
/* fatorial(N,F) :- F igual a N fatorial. */
fatorial(0,s(0)).
fatorial(s(N),F) :- fatorial(N,F1), vezes(s(N),F1,F).
vezes(0,X,0).
vezes(s(X),Y,Z) :- vezes(X,Y,XY), somar(XY,Y,Z).
somar(0,X,X) :- número natural(X).
somar(s(X),Y,s(Z)):- somar(X,Y,Z).
número natural(0).
número natural(s(X)) :- número natural(X).
20/23
O menor entre dois números
:- op(40, xfx, menor ou igual). % definição de operador
mı́nimo(N1,N2,N1) :- N1 menor ou igual N2.
mı́nimo(N1,N2,N2) :- N2 menor ou igual N1.
0 menor ou igual X :- número natural(X).
s(X) menor ou igual s(Y) :- X menor ou igual Y.
número natural(0).
número natural(s(X)) :- número natural(X).
21/23
Resto da Divisão
mod(X,Y,Z) :- Z < Y, vezes(Y,Q,QY), somar(QY,Z,X).
vezes(0,X,0).
vezes(s(X),Y,Z) :- vezes(X,Y,XY), somar(XY,Y,Z).
somar(0,X,X) :- número natural(X).
somar(s(X),Y,s(Z)):- somar(X,Y,Z).
número natural(0).
número natural(s(X)) :- número natural(X).
22/23
Maior divisor comum
Algoritmo de Euclides
mdc(X,Y,Mdc) :- mod(X,Y,Z), mdc(Y,Z,Mdc).
mdc(X,0,X) :- X > 0.
23/23

Mais conteúdo relacionado

Semelhante a IA em Python: Conceitos Básicos

aula 02 Teorema de bayes, demonstração..
aula 02 Teorema de bayes, demonstração..aula 02 Teorema de bayes, demonstração..
aula 02 Teorema de bayes, demonstração..NaianaPaes
 
Aula 7 MA14 PROFMAT CPII
Aula 7 MA14 PROFMAT CPIIAula 7 MA14 PROFMAT CPII
Aula 7 MA14 PROFMAT CPIILuciana Martino
 
Curso de Inteligência Artificial - Parte 3 -
Curso de Inteligência Artificial - Parte 3 -Curso de Inteligência Artificial - Parte 3 -
Curso de Inteligência Artificial - Parte 3 -ronaldo ramos
 
Equações Algébricas e Transcendentes - Isolamento de Raízes - @professorenan
Equações Algébricas e Transcendentes - Isolamento de Raízes - @professorenanEquações Algébricas e Transcendentes - Isolamento de Raízes - @professorenan
Equações Algébricas e Transcendentes - Isolamento de Raízes - @professorenanRenan Gustavo
 
Mat ii aula 7 - noções de lógica - quantificadores
Mat ii   aula 7 - noções de lógica - quantificadoresMat ii   aula 7 - noções de lógica - quantificadores
Mat ii aula 7 - noções de lógica - quantificadoresJD Dantas
 
Estatistica regular 9
Estatistica regular 9Estatistica regular 9
Estatistica regular 9J M
 
Conjuntos numéricos
Conjuntos numéricosConjuntos numéricos
Conjuntos numéricosandreilson18
 
Motivação_AulaAberta.pdf
Motivação_AulaAberta.pdfMotivação_AulaAberta.pdf
Motivação_AulaAberta.pdfssusere92908
 
Análise combinatória I
Análise combinatória IAnálise combinatória I
Análise combinatória IEverton Moraes
 
Teoria dos numeros primos i
Teoria dos numeros primos iTeoria dos numeros primos i
Teoria dos numeros primos iPaulo Martins
 

Semelhante a IA em Python: Conceitos Básicos (20)

Slides Aula - Equações.pdf
Slides Aula - Equações.pdfSlides Aula - Equações.pdf
Slides Aula - Equações.pdf
 
aula 02 Teorema de bayes, demonstração..
aula 02 Teorema de bayes, demonstração..aula 02 Teorema de bayes, demonstração..
aula 02 Teorema de bayes, demonstração..
 
Resumo2
Resumo2Resumo2
Resumo2
 
Aula 7 MA14 PROFMAT CPII
Aula 7 MA14 PROFMAT CPIIAula 7 MA14 PROFMAT CPII
Aula 7 MA14 PROFMAT CPII
 
Aula prolog 02 ia
Aula prolog 02   iaAula prolog 02   ia
Aula prolog 02 ia
 
Curso de Inteligência Artificial - Parte 3 -
Curso de Inteligência Artificial - Parte 3 -Curso de Inteligência Artificial - Parte 3 -
Curso de Inteligência Artificial - Parte 3 -
 
Equações Algébricas e Transcendentes - Isolamento de Raízes - @professorenan
Equações Algébricas e Transcendentes - Isolamento de Raízes - @professorenanEquações Algébricas e Transcendentes - Isolamento de Raízes - @professorenan
Equações Algébricas e Transcendentes - Isolamento de Raízes - @professorenan
 
Progressão aritmética-prof-dalbello
Progressão aritmética-prof-dalbelloProgressão aritmética-prof-dalbello
Progressão aritmética-prof-dalbello
 
Mat ii aula 7 - noções de lógica - quantificadores
Mat ii   aula 7 - noções de lógica - quantificadoresMat ii   aula 7 - noções de lógica - quantificadores
Mat ii aula 7 - noções de lógica - quantificadores
 
Razao e-proporcao
Razao e-proporcaoRazao e-proporcao
Razao e-proporcao
 
Pequeno teorema de fermat
Pequeno teorema de fermatPequeno teorema de fermat
Pequeno teorema de fermat
 
Pincipio da indução
Pincipio da induçãoPincipio da indução
Pincipio da indução
 
Estatistica regular 9
Estatistica regular 9Estatistica regular 9
Estatistica regular 9
 
Conjuntos numéricos
Conjuntos numéricosConjuntos numéricos
Conjuntos numéricos
 
Material estatística
Material estatísticaMaterial estatística
Material estatística
 
P.A.
P.A.P.A.
P.A.
 
Motivação_AulaAberta.pdf
Motivação_AulaAberta.pdfMotivação_AulaAberta.pdf
Motivação_AulaAberta.pdf
 
Análise combinatória I
Análise combinatória IAnálise combinatória I
Análise combinatória I
 
Progressões Aritméticas NTEM
Progressões Aritméticas NTEMProgressões Aritméticas NTEM
Progressões Aritméticas NTEM
 
Teoria dos numeros primos i
Teoria dos numeros primos iTeoria dos numeros primos i
Teoria dos numeros primos i
 

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

INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoGentil Eronides
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
AULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobreAULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobremaryalouhannedelimao
 
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
 
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
 
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
 
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholacleanelima11
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
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
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
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
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 

Último (20)

INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimento
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
AULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobreAULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobre
 
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ã
 
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...
 
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
 
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
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!
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
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
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 

IA em Python: Conceitos Básicos

  • 1. CADERNOS DE INTELIGÊNCIA ARTIFICIAL Exemplos em Python Prof. Ronaldo F. Ramos, Dr 9 de maio de 2020 1/23
  • 3. Base de Dados Princı́pios da Programação Lógica Vamos ampliar um pouco as relações familiares. (Ver SWISH) 3/23
  • 4. Regras Recursivas Definir uma coisa em termos dela própria (kkkk). Vejamos a definição de ancestral. Observemos as relações recursivas. avô(Ancestral,Descendente) :- pai1(Ancestral, Pessoa), pai(Pessoa, Descendente) bisavô(Ancestral,Descendente) :- pai(Ancestral, Pessoa), avô(Pessoa, Descendente) trisavô(Ancestral,Descendente) :- pai(Ancestral, Pessoa), bisavô(Pessoa, Descendente) Isto nos leva ao padrão: ancestral(Ancestral,Descendente) :-pai(Ancestral,Pessoa),ancestral(Pessoa,Descendente) Não leva a um loop infinito?? 1 Vamos abstrair das mães por enquanto 4/23
  • 5. Caso Base Em algum momento a recursão deve ser obrigada a parar. ancestral(Ancestral, Descendente) :- pai(Ancestral,Descendente). 5/23
  • 6. Programa Ancestral % Casos Base ancestral(Ancestral,Descendente) :- pai(Ancestral,Descendente). ancestral(Ancestral,Descendente) :- mãe(Ancestral,Descendente). % Definição ancestral(Ancestral,Descendente) :- pai(Ancestral,Pessoa), ancestral(Pessoa,Descendente). ancestral(Ancestral,Descendente) :- mãe(Ancestral,Pessoa), ancestral(Pessoa,Descendente). 6/23
  • 7. Fechamento Transitivo É dito que a relação ancestral é um fechamento transitivo da relação de parentesco e portanto facilmente realizada através de uma regra recursiva. 7/23
  • 8. Recursão Linear Um programa é recursivo linear se possui apenas uma meta recursiva no corpo da cláusula. Ex de definição de ancestral não linear: ancestral(Ancestral,Descendente) :- ancestral(Ancestral,Pessoa), ancestral(Pessoa,Descendente). 8/23
  • 9. Grafo Direcionado Simples Vejamos um outro exemplo de fecho transitivo 9/23
  • 10. Descrevendo o grafo % fatos eixo(a,b). eixo(a,c). eixo(b,d). eixo(c,d). eixo(d,e). eixo(f,g). % caso base conectado(nó,nó). % regra recursiva conectado(nó1,nó2) :- eixo(nó1,Link), conectado(Link,nó2). 10/23
  • 11. Aritmética Uma nova maneira de pensar a aritmética. Definição de Número Natural % Zero é um número natural (Controvérsias à parte ;-) ) número natural(0). % Definindo número natural número natural(s(X)) :- número natural(X). então os números serão definidos aqui como sucessores do zero. 1 - s(0), 2 - s(s(0)) - 3 - s(s(s(0))) ... N - sn(0) 11/23
  • 12. Correção e Completude Dissemos que um programa P é correto com relação a um significado esperado M se o significado do programa M(P) é subconjunto do significado M. Ou seja M(P) ⊂ M Um programa é completo se o significado esperado M(P) está contido no significado do programa. Ou seja M ⊂ M(P). Logo, o programa é correto e completo quando o significado do programa é igual ao significado esperado. Ou seja M(P) = M. 12/23
  • 13. Prova de Completude Proposição: O Programa definindo os números naturais é correto e completo para o conjunto de metas definidas como : numero natural(si (0)), ∀i ≥ 0 13/23
  • 15. Prova de Correção I Suponha que o número natural(X) seja dedutı́vel em N deduções. I Então, por indução, número natural(X) está no significado esperado. I Se N = 0, basta observar a cláusula unitária (número natural(0)) I Se N > 0 , a meta deve ser número natural(X’) onde X’ = sk(0) ∀k ≥ 0. Então X’ estará no significado esperado do programa. 15/23
  • 16. Definindo as Desigualdades %Menor ou Igual menor ou igual(0,X) :- número natural(X). %Isto também poderia ter sido escrito assim 0 menor ou igual X :- número natural(X). % Ou ainda ... 0 ≤ X :- número natural(X). % Concluindo menor ou igual(s(X),s(Y)) :-menor ou igual(X,Y). 16/23
  • 17. Definindo a Soma Você nunca pensou em somar desse jeito soma(0,X,X) :- natural number(X). soma(s(X),Y,s(Z)):- soma(X,Y,Z). número natural(0). número natural(s(X)) :- número natural(X). 17/23
  • 18. Multiplicando Idem vezes(0,X,0). vezes(s(X),Y,Z) :- vezes(X,Y,XY), soma(XY,Y,Z). soma(0,X,X) :- número natural(X). soma(s(X),Y,s(Z)):- soma(X,Y,Z). número natural(0). número natural(s(X)) :- número natural(X). 18/23
  • 19. Exponenciação /* exp(N,X,Y) :- N, X e Y são números naturais tais que Y igual X elevado a N. */ exp(s(N),0,0). exp(0,s(X),s(0)). exp(s(N),X,Y) :- exp(N,X,Z), vezes(Z,X,Y). vezes(0,Y,0). vezes(s(X),Y,Z) :- vezes(X,Y,XY), somar(XY,Y,Z). somar(0,X,X) :- número natural(X). somar(s(X),Y,s(Z)):- somar(X,Y,Z). número natural(0). número natural(s(X)) :- número natural(X). 19/23
  • 20. Fatorial /* fatorial(N,F) :- F igual a N fatorial. */ fatorial(0,s(0)). fatorial(s(N),F) :- fatorial(N,F1), vezes(s(N),F1,F). vezes(0,X,0). vezes(s(X),Y,Z) :- vezes(X,Y,XY), somar(XY,Y,Z). somar(0,X,X) :- número natural(X). somar(s(X),Y,s(Z)):- somar(X,Y,Z). número natural(0). número natural(s(X)) :- número natural(X). 20/23
  • 21. O menor entre dois números :- op(40, xfx, menor ou igual). % definição de operador mı́nimo(N1,N2,N1) :- N1 menor ou igual N2. mı́nimo(N1,N2,N2) :- N2 menor ou igual N1. 0 menor ou igual X :- número natural(X). s(X) menor ou igual s(Y) :- X menor ou igual Y. número natural(0). número natural(s(X)) :- número natural(X). 21/23
  • 22. Resto da Divisão mod(X,Y,Z) :- Z < Y, vezes(Y,Q,QY), somar(QY,Z,X). vezes(0,X,0). vezes(s(X),Y,Z) :- vezes(X,Y,XY), somar(XY,Y,Z). somar(0,X,X) :- número natural(X). somar(s(X),Y,s(Z)):- somar(X,Y,Z). número natural(0). número natural(s(X)) :- número natural(X). 22/23
  • 23. Maior divisor comum Algoritmo de Euclides mdc(X,Y,Mdc) :- mod(X,Y,Z), mdc(Y,Z,Mdc). mdc(X,0,X) :- X > 0. 23/23