Programação em Lógica

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

Download "Programação em Lógica"

Transcrição

1 Programação em Lógica Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

2 Contato Sala: 623 Bloco A slago@ime.usp.br Página: Material disponível Ementa, bibliografia e critérios de avaliação Compilador SWI-Prolog Cronograma de aulas e provas Slides das aulas Exercícios e notas Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 2

3 Curso Objetivos: Representação de conhecimento e raciocínio automatizado em lógica simbólica, linguagem Prolog e aplicações em inteligência artificial. Tópicos: Lógica proposicional Lógica de predicados Raciocínio automatizado Linguagem Prolog (SWI-Prolog) Solução de problemas por meio de busca Processamento de linguagem natural Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 3

4 Avaliação Provas P1: 09/09 P2: 28/10 P3: 02/12 SUB: 09/12 Média = (P1 + P2 + P3) / 3 Aprovação requer média maior ou igual a 6,0. Prova substitutiva Apenas para quem não atingir a média Substitui a menor nota entre P1, P2 e P3 Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 4

5 Introdução Inteligência artificial O papel da lógica na IA Programação em lógica Linguagem Prolog

6 Inteligência Artificial O que é? área da computação que estuda como simular comportamento inteligente usando métodos computacionais Qual seu objetivo? criação de agentes inteligentes, isto é, entidades que se comportam de modo condizente com suas metas e com as circunstâncias com que se deparam Como evitar discussões filosóficas sobre IA? Teste de Turing Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 6

7 Teste de Turing? PROGRAMA Argumento de Turing Mesmo sem uma definição precisa de inteligência, podemos assumir que o ser humano é inteligente Portanto, se um programa consegue se passar por um ser humano, podemos dizer que ele apresenta algum tipo de inteligência que, neste caso, só pode ser artificial Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 7

8 Capacidades necessárias a um agente inteligente processamento de linguagem natural representação de conhecimento AGENTE raciocínio automatizado aprendizagem de máquina Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 8

9 Capacidades necessárias a um agente Processamento de linguagem natural para que o programa possa se comunicar com o entrevistador Representação de conhecimento para armazenar aquilo que ele sabe ou aprende na entrevista Raciocínio automatizado para usar o conhecimento que ele tem armazenado, ao responder às perguntas feitas pelo entrevistador Aprendizado de máquina para absorver novas informações que lhe são comunicadas, reconhecer padrões e atualizar seu conhecimento Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 9

10 O papel da lógica na IA: conhecimento A experiência mostra que: um aspecto fundamental do comportamento inteligente é que ele é condicionado pelo conhecimento que um agente tem acerca de seu mundo Mas, o que é conhecimento? Quando ouvimos uma frase do tipo Ana sabe que..., em geral, esperamos que ela seja completada com uma sentença como, por exemplo: está chovendo se está chovendo, então a rua está molhada Isto sugere que, entre outras coisas, conhecimento é uma relação entre um agente ( Ana ) e uma sentença declarativa ( está chovendo ). Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 10

11 O papel da lógica na IA: raciocínio Outro aspecto fundamental do comportamento inteligente é que: ele resulta de raciocínio correto sobre o conhecimento que se tem disponível Por exemplo, a partir do conhecimento representado pelas sentenças: Está chovendo. Se está chovendo, então a rua está molhada. Se a rua está molhada, então a rua está escorregadia. Se a rua está escorregadia, devemos usar calçado que não escorrega. Se a rua não está escorregadia, então podemos usar qualquer calçado. Concluímos que a melhor coisa a fazer é: usar um calçado que não escorrega. conhecimento implícito!!! Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 11

12 O papel da lógica na IA Assim, o principal papel da lógica na IA é... garantir que novas informações possam ser corretamente extraídas do conhecimento explicitamente armazenado por um agente. Segundo [Shanahan, 1997]: A melhor maneira de entender o comportamento inteligente é considerá-lo como resultado de um raciocínio correto sobre uma representação correta. A lógica simbólica é o melhor formalismo para explicar as noções de representação correta e raciocínio correto. Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 12

13 O papel da lógica na IA Assim, embora existam outras abordagens computacionais interessantes para simulação de comportamento inteligente (conexionista e evolucionista), neste curso, adotaremos a abordagem simbolista. Mais precisamente, adotaremos a programação em lógica como paradigma para a construção de agentes inteligentes. Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 13

14 Programação em lógica Programação em lógica é... um formalismo lógico-computacional fundamentado em três princípios básicos: uso de linguagem formal para representação de conhecimento uso de regras de inferência para manipulação de conhecimento uso de uma estratégia de busca para controle de inferências Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 14

15 Programação em lógica: linguagem formal Uma linguagem natural é ambígua Ana viu um homem numa montanha usando um binóculo Quem usava o binóculo? Ana, usando um binóculo, viu um homem numa montanha Ana, estando numa montanha, viu um homem que usava um binóculo Uma linguagem formal é precisa suas sentenças são objetos (fórmulas) com significado único têm sintaxe e semântica bem definidas mas também pode ser menos expressiva Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 15

16 Programação em lógica: regra de inferência Regra de inferência é um padrão de manipulação sintática que: permite criar novas fórmulas a partir de outras existentes em geral, simulam formas de raciocínio válidas Exemplo (modus ponens): α β β α Se neva, faz frio. Está nevando. Logo, está frio. Se vejo TV, fico com sono. Estou vendo TV. Logo, estou com sono. Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 16

17 Programação em lógica: estratégia de busca Um agente pode ter uma enorme quantidade de conhecimento armazenado Assim como nós, ele precisa usar apenas parte de seu conhecimento para resolver um problema Estratégia de busca serve para decidir que parte do conhecimento armazenado deve ser explorada em busca da solução Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 17

18 Programação em lógica: idéia básica natural formal premissas semântica fórmulas raciocínio inferência conclusão semântica fórmula A idéia básica da programação em lógica é... oferecer um arcabouço que permita inferir conclusões desejadas, a partir de premissas representando o conhecimento disponível, de uma forma que seja computacionalmente viável Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 18

19 O sistema Prolog Prolog é o sistema de programação em lógica mais popular que existe! usuário premissas conclusões interface motor de inferência base de conhecimento Interface: permite que o usuário entre com premissas codificadas em uma linguagem lógica e faça consultas para extrair conclusões destas premissas Motor de inferência: atualiza a base de conhecimento com premissas fornecidas pelo usuário e faz inferências para extrair informações implícitas Base de conhecimento: armazena as premissas fornecidas pelo usuário Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 19

20 O sistema Prolog: vantagens Prolog permite representar o conhecimento que um agente tem sobre seu mundo de uma forma simples e direta, em uma linguagem de alto nível, tornando os programas mais compactos, flexíveis e inteligíveis Prolog permite programação declarativa; em vez de especificar como o computador deve proceder para resolver um problema, precisamos apenas declarar o conhecimento que temos acerca do problema e, em seguida, consultar o sistema para que ele encontre a solução desejada Em outras palavras, em Prolog, basta especificar corretamente o problema que o motor de inferência se encarrega de descobrir como obter sua solução Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 20

21 Exemplo 1 Coloração de mapas Problema: como colorir um mapa, usando no máximo quatro cores, de modo que regiões adjacentes tenham cores distintas? A B C E D Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 21

22 Exemplo 1 Coloração de mapas Solução: Primeiramente, declaramos as cores que podem ser usadas na coloração; isto é feito por meio de sentenças denominadas fatos. Por exemplo, o fato cor(azul) estabelece que azul é uma das cores disponíveis. Em seguida, declaramos que a tupla (A,B,C,D,E), cujos componentes correspondem às regiões do mapa, é uma coloração válida se cada um de seus componentes é uma cor e se componentes representando regiões adjacentes no mapa têm valores distintos; isto é feito por meio de uma sentença denominada regra. Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 22

23 Exemplo 1 Coloração de mapas Implementação: % colorir.pl - colore um mapa usando no máximo quatro cores % cores disponíveis cor(azul). cor(verde). cor(amarelo). cor(vermelho). % restrições para a solução coloração(a,b,c,d,e) :- cor(a), cor(b), cor(c), cor(d), cor(e), A\=B, A\=C, A\=D, B\=C, B\=E, C\=D, C\=E, D\=E =E. Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 23

24 Exemplo 1 Coloração de mapas Teste:?- coloração(a,b,c,d,e). A = azul, B = verde, C = amarelo, D = verde, E = azul. consulta resposta Vamos usar o compilador SWI-Prolog para testar o programa! Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 24

25 Exemplo 1 Coloração de mapas Inicie a execução do compilador SWI-Prolog Você terá acesso à tela de consultas/comandos Digite o comando para ativação do editor de textos:?- emacs('colorir.pl'). Digite o programa e compile com a opção Compile/Compile Buffer, no menu do editor emacs Volte à tela de consultas e digite:?- coloração(a,b,c,d,e). Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 25

26 Exemplo 2 Geração de binários Problema: gerar todos os números binários compostos por três dígitos Solução: Teste: Declarar que dígitos podem ser usados na composição de um número binário Definir restrições sobre componentes de uma estrutura representando um número binário de três dígitos?- binário(n). N = (0,0,0) ; N = (0,0,1) ; N = (0,1,0) ;... % binário.pl % dígitos binários dígito(0). dígito(1). % restrições para a solução binário(n) :- N = (A,B,C), dígito(a), dígito(b), dígito(c). digite ponto-e-vírgula para ver as respostas Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 26

27 Exibição de todas as soluções Digitando ponto-e-vígula, podemos ver uma solução de cada vez Para ver todas de uma vez, podemos usar os predicados predefinidos: forall(c,a) : que, para todo caso em que a condição C é satisfeita, executa a ação A writeln(t) : que exibe o termo T no vídeo Por exemplo, veja o resultado da consulta a seguir:?- forall( binário(n), writeln(n) ). 0, 0, 0 0, 0, 1 0, 1, 0 0, 1, 1 1, 0, 0 1, 0, 1 1, 1, 0 1, 1, 1 Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 27

28 Exemplo 3 Geração de rotas aéreas A B C 6 Problema: gerar todas as rotas que levam de um aeroporto X a outro Y, até encontrar uma de comprimento M. Solução: Declarar vôos Definir o conceito de rota Impor restrições sobre comprimento 3 D E % rotas.pl % vôos vôo(1,a,b),a,b). vôo(2,b,c),b,c). vôo(3,b,d),b,d). vôo(4,b,e),b,e). vôo(5,c,a),c,a). vôo(6,d,c),d,c). vôo(7,d,e),d,e). vôo(8,e,b),e,b). % rota rota(x,x,[]). rota(x,y,[n R]) :- vôo(n,x,z), rota(z,y,r). % rotas rotas(x,y,m) :- length(r,n), rota(x,y,r), writeln(r), N=M,!. Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 28

29 Digite: Outros exemplos de programas?- manpce. E escolha a opção File / Demo Programs Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 29

30 Exercício 1 Interface gráfica Veja o que fazem o comandos a seguir:?- new(d,dialog), send(d,open).?- new(d,dialog('teste')), send(d,open).?- new(d,dialog('teste')), new(b,button(ok)), send(d,append,b), send(d,open).?- new(d,dialog('teste')), new(b,button(ok,message(@prolog,writeln,olá))), send(d,append,b), send(d,open). Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 30

31 Exercício 2 Restaurante Sabendo-se que: há duas opções de entrada (salada ou pão) três opções de prato principal (peixe, carne ou massa) duas opções de sobremesa (sorvete, pudim) Quais são todas as possíveis refeições completas que podem ser formadas? entrada(salada). entrada(pão). prato(peixe). prato(carne). prato(massa). sobremesa(sorvete). sobremesa(pudim). refeição(r) :-... % complete esta regra! Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 31

32 Exercício 3 Árvore genealógica 3.1. Declare os seguintes fatos: Adão é pai de Abel, Caim e Seth Seth é pai de Enos 3.2. Declare uma regra para definir a relação avô e teste o sistema X avô Y pai Z pai 3.3. Declare a regra correspondente ao grafo a seguir, teste e corrija: X pai irmão Z pai Y Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 32

33 Fim

Introdução. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Introdução. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo O que é inteligência artificial? Para responder a esta questão, antes temos de

Leia mais

Mecanismos de Controle

Mecanismos de Controle Mecanismos de Controle Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Embora o Prolog seja uma linguagem de programação declarativa,

Leia mais

Introdução. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Introdução. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo O que é inteligência artificial? Para responder a esta questão, antes temos de

Leia mais

Lógica Proposicional. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Lógica Proposicional. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Lógica Proposicional Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação aculdade de Tecnologia de São Paulo Motivação IA IA estuda estuda como como simular simular comportamento

Leia mais

Lógica Proposicional. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Lógica Proposicional. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Lógica Proposicional Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Motivação IA estuda como simular comportamento inteligente comportamento

Leia mais

Prof. A. G. Silva. 09 de março de Prof. A. G. Silva Programação em Lógica 09 de março de / 35

Prof. A. G. Silva. 09 de março de Prof. A. G. Silva Programação em Lógica 09 de março de / 35 Programação em Lógica Prof. A. G. Silva 09 de março de 2017 Prof. A. G. Silva Programação em Lógica 09 de março de 2017 1 / 35 Disciplina INE5416 Paradigmas de Programação Turma: 04208 Professor: Alexandre

Leia mais

Mecanismos de Controle

Mecanismos de Controle Mecanismos de Controle Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Embora o Prolog seja uma linguagem de programação declarativa,

Leia mais

Lógica Proposicional (Consequência lógica / Dedução formal)

Lógica Proposicional (Consequência lógica / Dedução formal) Faculdade de Tecnologia Senac Pelotas Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Matemática Aplicada Prof. Edécio Fernando Iepsen Lógica Proposicional (Consequência lógica /

Leia mais

Paradigma de Programação Lógico. Marco A L Barbosa

Paradigma de Programação Lógico. Marco A L Barbosa Introdução Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução Imperativo

Leia mais

Lógica Proposicional Parte 2

Lógica Proposicional Parte 2 Lógica Proposicional Parte 2 Como vimos na aula passada, podemos usar os operadores lógicos para combinar afirmações criando, assim, novas afirmações. Com o que vimos, já podemos combinar afirmações conhecidas

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 06 Lógica Proposicional Lógica Proposicional Lógica simples. A sentenças são formadas por conectivos como: e, ou, então.

Leia mais

Sistemas Inteligentes

Sistemas Inteligentes Sistemas Inteligentes Aula 21/10 Agentes Lógicos Agente Baseado em Conhecimento Agentes Baseados em Conhecimento ou Agentes Lógicos. Podem lidar mais facilmente com ambientes parcialmente observáveis.

Leia mais

Representação de Conhecimento

Representação de Conhecimento Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Representação de Conhecimento Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Cálculo proposicional

Cálculo proposicional O estudo da lógica é a análise de métodos de raciocínio. No estudo desses métodos, a lógica esta interessada principalmente na forma e não no conteúdo dos argumentos. Lógica: conhecimento das formas gerais

Leia mais

Fundamentos da Computação 1. Aula 03

Fundamentos da Computação 1. Aula 03 Fundamentos da Computação 1 Aula 03 Conteúdo Introdução à Lógica. Definição da Sintaxe. Traduzindo Sentenças. Introdução à Lógica O que é lógica? Introdução à Lógica O que é lógica? Lógica é a análise

Leia mais

Programação Lógica. A Linguagem Prolog. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia

Programação Lógica. A Linguagem Prolog. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia Programação Lógica A Linguagem Prolog Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 21 de agosto de 2015 Paulo H. R. Gabriel (FACOM/UFU) Programação

Leia mais

Figura: Capa do Livro Russell, S., Norvig, P. Artificial Intelligence A Modern Approach, Prentice-Hall.

Figura: Capa do Livro Russell, S., Norvig, P. Artificial Intelligence A Modern Approach, Prentice-Hall. Figura: Capa do Livro Russell, S., Norvig, P. Artificial Intelligence A Modern Approach, Prentice-Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado

Leia mais

Paradigma Simbólico. Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2)

Paradigma Simbólico. Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2) Paradigma Simbólico Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2) Revisão da aula anterior: definição de IA Podemos associar o termo IA com: Parte da ciência da computação

Leia mais

Representação do Conhecimento

Representação do Conhecimento Representação do Conhecimento O Estudo do Conhecimento Aprender - ato que produz um comportamento diferente a um estímulo externo devido a excitações recebidas no passado e é, de uma certa forma, sinônimo

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Apresentação da Disciplina Introdução Inferência Linguagem Natural e Linguagens de 1ª Ordem Domínios de Aplicação 11 Setembro 2017 Lógica Computacional 1 Introdução à Cadeira Objectivos

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Pós-Graduação em Ciência da Computação Inteligência Artificial Representação do Conhecimento (Parte I) Prof. a

Leia mais

Sistemas Especialistas

Sistemas Especialistas Agenda Sistemas Especialistas Revisão Conceitos Básicos Entender uma ferramenta para S.E. Sistemas de Informação Inteligentes Prof. Esp. MBA Heuber G. F. Lima Aula2 Page 2 Conceitos I.A. Sistemas Especialistas

Leia mais

Linguagens Lógicas. Aluno: Victor Rocha

Linguagens Lógicas. Aluno: Victor Rocha Linguagens Lógicas Aluno: Victor Rocha Roteiro Introdução Cálculo de Predicados Proposições Conectores Lógicos Variáveis Tipos de Cláusulas fatos regras Banco de Dados Prolog Fatos em Prolog Questões Unificação

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 07 Agentes Lógicos Edirlei Soares de Lima Introdução Humanos possuem conhecimento e raciocinam sobre este conhecimento. Exemplo: João jogou

Leia mais

Cálculo proposicional

Cálculo proposicional O estudo da lógica é a análise de métodos de raciocínio. No estudo desses métodos, a lógica esta interessada principalmente na forma e não no conteúdo dos argumentos. Lógica: conhecimento das formas gerais

Leia mais

Inteligência Artificial. Sistemas Baseados em Conhecimento. Representação de Conhecimento (continuação)

Inteligência Artificial. Sistemas Baseados em Conhecimento. Representação de Conhecimento (continuação) Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2018.html Inteligência Artificial Sistemas Baseados em Conhecimento Representação

Leia mais

Sistemas Especialistas (SE)

Sistemas Especialistas (SE) Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Sistemas Especialistas (SE) Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Conhecimento e Raciocínio Agente Lógicos Capítulo 7. Leliane Nunes de Barros

Conhecimento e Raciocínio Agente Lógicos Capítulo 7. Leliane Nunes de Barros Conhecimento e Raciocínio Agente Lógicos Capítulo 7 Leliane Nunes de Barros leliane@ime.usp.br Agentes Lógicos Agentes que podem formar representações do mundo, usar um processo de inferência para derivar

Leia mais

Inteligência Artificial. Categorias de Conhecimento

Inteligência Artificial. Categorias de Conhecimento Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2017.html Inteligência Artificial Categorias de Conhecimento Roteiro Conclusão

Leia mais

UNIDADE ACADÊMICA: Faculdade de

UNIDADE ACADÊMICA: Faculdade de UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM SISTEMAS DE INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Programação Lógica ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GSI010 PERÍODO: 2

Leia mais

MAC425/5739 Inteligência Artificial 6. Agentes lógicos

MAC425/5739 Inteligência Artificial 6. Agentes lógicos MAC425/5739 Inteligência Artificial 6. Agentes lógicos Denis Deratani Mauá (largamente baseado no material de aula dos Profs. Edileri de Lima e Leliane de Barros) REPRESENTAÇÃO DE CONHECIMENTO Busca (cega,

Leia mais

Raciocínio Automatizado

Raciocínio Automatizado Raciocínio Automatizado Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Raciocínio automatizado simula raciocínio lógico por meio

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Atividades Plano de ensino Conteúdos da disciplina, definição das datas, critérios de avaliação e bibliografias Início da matéria Conceito e definição de algoritmos

Leia mais

Inteligência Artificial. Conceitos Gerais

Inteligência Artificial. Conceitos Gerais Inteligência Artificial Conceitos Gerais Inteligência Artificial - IA IA é um campo de estudo multidisciplinar e interdisciplinar, que se apóia no conhecimento e evolução de outras áreas do conhecimento.

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 05 Sistemas Especialistas Max Pereira Sistemas Especialistas Pesquisadores de IA queriam desenvolver

Leia mais

Inteligência Artificial Introdução

Inteligência Artificial Introdução Inteligência Artificial Introdução Professora Sheila Cáceres Introdução Que é Inteligência? Faculdade de entender, pensar, raciocinar e interpretar Teológica: dom divino que nos torna semelhantes ao Criador;

Leia mais

Fundamentos de Lógica Matemática

Fundamentos de Lógica Matemática Webconferência 5-22/03/2012 Prova por resolução Prof. L. M. Levada http://www.dc.ufscar.br/ alexandre Departamento de Computação (DC) Universidade Federal de São Carlos (UFSCar) 2012/1 Introdução É possível

Leia mais

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

INFORMÁTICA APLICADA AULA 02 ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 ALGORITMOS Profª ª Danielle Casillo ALGORITMOS Um algoritmo é uma sequência de instruções

Leia mais

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente 1 Bem-vindos ao Mundo do Wumpus Wumpus Agente caçador de tesouros 2 Codificação do Mundo do Wumpus 4 3 fedor

Leia mais

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo. Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.

Leia mais

Fabrício Jailson Barth BandTec

Fabrício Jailson Barth BandTec Introdução à Inteligência Artificial Fabrício Jailson Barth fabricio.barth@bandtec.com.br BandTec 1 o semestre de 2012 Objetivos e Sumário O que é Inteligência Artificial (IA)? Objetivos da IA. Influência

Leia mais

INTELIGÊNCIA ARTIFICIAL. Prof. Cedric Luiz de Carvalho

INTELIGÊNCIA ARTIFICIAL. Prof. Cedric Luiz de Carvalho INTELIGÊNCIA ARTIFICIAL Será que ainda vou precisar 2/30 de Inteligência Artificial? 3/30 O que é IA? Campo do conhecimento que tenta entender e construir agentes inteligentes 4/30 Quais ações podem ser

Leia mais

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer Algoritmos e Estrutura de Dados I Conceitos de Algoritmos Prof. Elyssandro Piffer CONCEITO DE ALGORITMO O computador pode auxiliar em muitas tarefas, contudo ele não possui independência, não é inteligente,

Leia mais

Matemática discreta e Lógica Matemática

Matemática discreta e Lógica Matemática AULA 1 - Lógica Matemática Prof. Dr. Hércules A. Oliveira UTFPR - Universidade Tecnológica Federal do Paraná, Ponta Grossa Departamento Acadêmico de Matemática Ementa 1. Lógica proposicional: introdução,

Leia mais

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE Professora: Isabela C. Damke isabeladamke@hotmail.com Linguagem de Programação Uma linguagem de programação é um conjunto de símbolos (

Leia mais

Agentes Baseados em Conhecimento

Agentes Baseados em Conhecimento Raciocínio Lógico Agentes Baseados em Conhecimento Conhecem alguma coisa sobre o mundo. Podem raciocinar para decidir sobre suas possíveis ações. São capazes de aceitar novas tarefas metas explícitas.

Leia mais

Gramáticas Livres de Contexto

Gramáticas Livres de Contexto Gramáticas Livres de Contexto IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 42 Frase do dia Quando vires

Leia mais

Aula 2 Programação Lógica Sintaxe Prolog. Profa. Elaine Faria UFU -2014

Aula 2 Programação Lógica Sintaxe Prolog. Profa. Elaine Faria UFU -2014 Aula 2 Programação Lógica Sintaxe Prolog Profa. Elaine Faria UFU -2014 Créditos O material a seguir consiste de adaptações e extensões dos originais gentilmente cedidos pelo Prof. Alexsandro Santos Soares

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 06 Lógica Proposicional Edirlei Soares de Lima Lógica Proposicional Lógica muito simplificada. A sentenças são formadas por conectivos como:

Leia mais

Lógica Proposicional e Dedução Natural 1/48. Douglas O. Cardoso docardoso.github.io

Lógica Proposicional e Dedução Natural 1/48. Douglas O. Cardoso docardoso.github.io Lógica Proposicional e Dedução Natural douglas.cardoso@cefet-rj.br docardoso.github.io Lógica Proposicional e Dedução Natural 1/48 Roteiro 1 Uma Introdução Intuitiva 2 Proposições 3 DN: regras básicas

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação Universidade Federal de Uberlândia Faculdade de Computação Conceitos básicos de algoritmos Prof. Renato Pimentel 1 Computação Dados Informações vindas de usuários ou de outras máquinas; Processamento transformação

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Sintaxe e semântica Aula 4 Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Sintaxe A sintaxe de uma linguagem de programação é a forma

Leia mais

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior. LFA Aula 01 Apresentação 24/10/2016 Celso Olivete Júnior olivete@fct.unesp.br 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado e Doutorado em Engenharia Elétrica

Leia mais

Linguagens de Domínio Específico

Linguagens de Domínio Específico Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Definindo DSLs Linguagem específica de domínio: uma linguagem de programação de computadores de expressividade

Leia mais

Introdução a Inteligência Artificial

Introdução a Inteligência Artificial 1 Introdução a Inteligência Artificial Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução a Conceitos Agindo de forma humana Pensando como humano Pensando racionalmente

Leia mais

Matemática discreta e Lógica Matemática

Matemática discreta e Lógica Matemática AULA 1 - Lógica Matemática Prof. Dr. Hércules A. Oliveira UTFPR - Universidade Tecnológica Federal do Paraná, Ponta Grossa Departamento Acadêmico de Matemática Ementa 1 Lógica Sentenças, representação

Leia mais

Fundamentos da Computação 1. Carmen Cecilia Centeno

Fundamentos da Computação 1. Carmen Cecilia Centeno Fundamentos da Computação 1 Carmen Cecilia Centeno Aula 05 Sobre o curso de Ciência da Computação - lembretes. Plano de Ensino. Introdução à Lógica. Definição da Sintaxe. Traduzindo Sentenças Definição

Leia mais

Fundamentos de Lógica Matemática

Fundamentos de Lógica Matemática Webconferência 6-29/03/2012 Introdução à Lógica de Predicados Prof. L. M. Levada http://www.dc.ufscar.br/ alexandre Departamento de Computação (DC) Universidade Federal de São Carlos (UFSCar) 2012/1 Introdução

Leia mais

FACULDADE LEÃO SAMPAIO

FACULDADE LEÃO SAMPAIO FACULDADE LEÃO SAMPAIO Paradigmas de Programação Curso de Análise e Desenvolvimento de Sistemas Turma: 309-5 Semestre - 2014.2 Paradigmas de Programação Prof. MSc. Isaac Bezerra de Oliveira. 1 PARADIGMAS

Leia mais

Interação Humano-Computador Apresentação e Visualização das Informações PROFESSORA CINTIA CAETANO

Interação Humano-Computador Apresentação e Visualização das Informações PROFESSORA CINTIA CAETANO Interação Humano-Computador Apresentação e Visualização das Informações PROFESSORA CINTIA CAETANO Introdução Design da comunicação sobre IHC 2 Introdução Técnicas para comunicação de IHC Exemplos de técnicas

Leia mais

GRAFOS Aula 03 Representações de Grafos Max Pereira

GRAFOS Aula 03 Representações de Grafos Max Pereira Ciência da Computação GRAFOS Aula 03 Representações de Grafos Max Pereira A maior vantagem de um grafo é a sua representação visual da informação. Mas para a manipulação e armazenamento em um computador,

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2 Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções

Leia mais

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo

Leia mais

Victor Hugo Andrade Soares monitor João Vitor dos Santos Tristão Primeiro Trabalho Prático

Victor Hugo Andrade Soares monitor João Vitor dos Santos Tristão Primeiro Trabalho Prático Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Algoritmos e Estruturas de Dados II docente Profa. Dra. Cristina Dutra de

Leia mais

Redes Neurais (Inteligência Artificial)

Redes Neurais (Inteligência Artificial) Redes Neurais (Inteligência Artificial) Apresentação da Disciplina Edirlei Soares de Lima O que é Inteligência Artificial? O que é Inteligência Artificial? Área de pesquisa que tem

Leia mais

SISTEMAS ESPECIALISTAS

SISTEMAS ESPECIALISTAS SISTEMAS ESPECIALISTAS Um produto da Engenharia de Conhecimento, um sistema especialista representa o conhecimento de uma área específica e o utiliza para resolver problemas simulando o raciocínio de um

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Apresentação da Disciplina Edirlei Soares de Lima O que é Inteligência Artificial? O que é Inteligência Artificial? Área de pesquisa que tem como

Leia mais

Introdução à Lógica Proposicional Sintaxe

Introdução à Lógica Proposicional Sintaxe Bacharelado em Ciência e Tecnologia BC&T Introdução à Lógica Proposicional Sintaxe PASSOS PARA O ESTUDO DE LÓGICA Prof a Maria das Graças Marietto graca.marietto@ufabc.edu.br 2 ESTUDO DE LÓGICA O estudo

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

teoria satisfaz, mas que ao mesmo tempo não apresentasse as limitações que ela possui, uma direção na qual um trabalho como o que realizamos poderia

teoria satisfaz, mas que ao mesmo tempo não apresentasse as limitações que ela possui, uma direção na qual um trabalho como o que realizamos poderia 8 Conclusão Este trabalho se prestou à consecução de um objetivo bastante específico: o desenvolvimento de uma definição de verdade baseada nas intuições russellianas acerca desse conceito, que fosse materialmente

Leia mais

Processamento de Linguagem Natural

Processamento de Linguagem Natural Processamento de Linguagem Natural Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Processamento de de linguagem natural (PLN)

Leia mais

CURRÍCULO DO CURSO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO (noturno) [Campus Araranguá] 20171

CURRÍCULO DO CURSO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO (noturno) [Campus Araranguá] 20171 Documentação: Objetivo: Titulação: Diplomado em: Reconhecimento do Curso - Port.nº 122, de 05/07/2012/MEC Autorizado Portaria nº 322/SESU/2011, de 02/08/2011. Resolução nº 022/CEG/2008 de 10/12/2008,(Criação

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Introdução a computação

Introdução a computação Introdução a computação 0 Curso Superior de Tecnologia em Gestão da Tecnologia da Informação Coordenador: Emerson dos Santos Paduan Autor(a): Daniel Gomes Ferrari São Paulo - 2016 1 Sumário 1. Lógica Matemática...

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Prof. Dilermando Piva Jr. Fatec Indaiatuba Principais diferenças de um SBC e os convencionais Organização dos dados SBCs: métodos que fazem busca em um espaço de possíveis soluções e fazem uso intensivo

Leia mais

Processamento de Linguagem Natural

Processamento de Linguagem Natural Processamento de Linguagem Natural Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Processamento de linguagem natural (PLN) consiste

Leia mais

Lógica para Computação Introdução. José Gustavo de Souza Paiva

Lógica para Computação Introdução. José Gustavo de Souza Paiva Lógica para Computação Introdução José Gustavo de Souza Paiva 1 Introdução Raciocínio: ato característico da inteligência humana Encadear premissas e extrair uma conclusão Premissa: afirmação ou negação

Leia mais

Programação Estruturada Aula - Introdução a Linguagem de Programação

Programação Estruturada Aula - Introdução a Linguagem de Programação Programação Estruturada Aula - Introdução a Linguagem de Programação Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR 2 ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR

Leia mais

Conceitos Básicos de Algoritmos

Conceitos Básicos de Algoritmos Conceitos Básicos de Algoritmos 35 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas

Leia mais

Fundamentos de Programação Introdução

Fundamentos de Programação Introdução Fundamentos de Programação Introdução Arquitetura Genérica de um Computador Máquina de Von Neumann Diagrama conhecido como Máquina de Von Neumann (grande nome da informática) A finalidade de um computador

Leia mais

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Conceitos de Inteligência e Inteligência Artificial.

Leia mais

Inteligência Artificial. Sistemas Inteligentes. Síntese baseada no cap.2 Sistemas Inteligentes da Solange Rezende

Inteligência Artificial. Sistemas Inteligentes. Síntese baseada no cap.2 Sistemas Inteligentes da Solange Rezende Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2017.html Inteligência Artificial Sistemas Inteligentes Síntese baseada no cap.2

Leia mais

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Fabrício Olivetti de França 14 de Junho de 2018 1 λ-cálculo 2 Computabilidade Computabilidade é uma área de estudo central da Ciência da Computação. Ela estuda a possibilidade

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Apresentação da Disciplina Tiago Alves de Oliveira 1 O que é Inteligência Artificial? Tiago Alves de Oliveira 2 O que é Inteligência Artificial? Área de pesquisa que tem como objetivo

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais