Luiz A. M. Palazzo Pelotas, maio de 2010

Slides:



Advertisements
Apresentações semelhantes
Lógica de Predicados e Representação de Conhecimento
Advertisements

Software Básico Silvio Fernandes
DESENHO INDUSTRIAL ASSISTIDO POR COMPUTADOR
Unidade 7 SEQUÊNCIAS E REGULARIDADES
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
O Futuro dos Engenheiros José Roberto Cardoso Escola Politécnica da USP Sindicato dos Engenheiros do Estado de Sâo Paulo 02 de Dezembro de 2008.
Protótipo de Simulador de Elevadores
Professor Roberto Petry
Software Básico Silvio Fernandes
Lógicas em Dedução Natural
Introdução à Programação Lógica
Banco de Dados Dedutivo
Resolução.
Prof. Sérgio Altenfelder
DIAGRAMA DE ATIVIDADES
BCC 101– Matemática Discreta
Agente Explorador do Mundo Wumpus By Ana Cristina, Ioram e Leonardo.
Sistemas Distribuídos e Redes de Computadores
INTRODUÇÃO À PROGRAMAÇÃO
Administração Organizacional
1 Sabendo-se que os pratos das balanças estão em equilíbrio, você seria capaz de dizer: Quantos quadrados corresponde um círculo ? Dica Mais dicas Elaboração:
Caro Professor, Este material de apoio é gratuito e para uso exclusivo em sala de aula. Não pode ser comercializado. Ele não contém vírus ou qualquer instrumento.
Curso Sistemas de Informação I Disciplina: Arquitetura de Software
2. A Linguagem Prolog.
3. Sintaxe e Semântica.
Introdução à Modelagem Conceitual 3. Prolog
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Auditoria de Segurança da Informação
Aula 3 Evolução da Principais Linguagens
Aula 8 Orientação à Objetos
Linguagens de Programação
Aula 10 Manipulação de Exceções
Programação em Lógica Augusto Marks Batista Guilherme dos Santos Fujiyoshi Marlon Bill Santos.
Resolução Proposicional
Registro Eletrônico para Acompanhamento Médico de Pacientes em uma UTI Rafael Charnovscki (1), Jacques R. Nascimento Filho (2,3) Giancarlo Bianchin.
Fraction Action FRACÇÕES.
Revisão do conceito de matrizes
INF 1771 – Inteligência Artificial
Conceitos Básicos.
Brasília, 8 de junho de 2010 MDIC. 2 Sondagem de Inovação 1.Objetivo 2.Como é feita e Perfil das Empresas 3.Resultados.
1 APLICAÇÃO DA VISUALIZAÇÃO CIENTÍFICA À OCEANOGRAFIA Representação da agitação marítima no porto de Leixões Disciplina de Visualização Científica Mestrado.
Inteligência Artificial: A Linguagem Prolog (parte 2)
Aula Prática - Prolog Sistemas Inteligentes /~if684
Prolog Programação Lógica Ícaro A. Souza.
Arquitetura de Sistemas Operacionais
Engenharia de Requisitos
Criação do Modelo Conceitual
Aula Prática - Prolog Sistemas Inteligentes /~if684
Object Oriented Software Construction (MEYER, Bertrand)
Universidade São Marcos Curso: Gestão de Negócios Internacionais
Cadastro de Docentes e Auxiliares de Educação Infantil
Conversão de um NFA para um DFA com um exemplo
Caríssimos. A todos, meus cumprimentos
Salas de Matemática.
Ethos: Sistema Distribuído para Suporte ao Comitê de Ética em Pesquisa Autor: Rodrigo Stefani Domingues Orientador: Prof. Dr. Carlos M. T. Toledo Faculdade.
MINISTÉRIO DO PLANEJAMENTO Projeto de Lei Orçamentária 2010 Ministro Paulo Bernardo Silva Brasília, 31 de agosto de 2009.
Programmation en logique. UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE Daniel Augusto da Costa Ambrósio Eduardo Agostinho Oliveira dos Santos Fernando.
Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Conceitos e Linguagens de Programação
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
EXERCÍCIOS PARA GUARDA-REDES
1 2 Observa ilustração. Cria um texto. Observa ilustração.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Rio Verde - Goiás - Brasil
BCC101 Matemática Discreta I
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
Programação Lógica com Prolog
PrologProlog Prof. Luthiano Venecian Elaborado pelo Prof. Luiz A. M. Palazzo Universidade Católica de Pelotas Centro Politécnico Laboratório de Programação.
Transcrição da apresentação:

Luiz A. M. Palazzo Pelotas, maio de 2010 Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação Introdução à Programação Prolog Luiz A. M. Palazzo Pelotas, maio de 2010

1. Lógica e Programação de Computadores

O que é PROLOG? PROgrammation en LOGique Alain Colmerauer Univ. Aix-Marseille, 1972 Robert Kowalski Univ. Edimburgo, 1974 Introdução à Programação Prolog

Principais características: Lógica como linguagem de programação. Raciocínio dedutivo sobre fatos e regras. Processamento simbólico, Semântica declarativa, procedimental e operacional. Programas = Lógica + Controle. Programas = Especificações Formais. Programas = Protótipos. Programas = Bases de dados. Programas = Programas... Introdução à Programação Prolog

Programação em Lógica  Sócrates é homem. Todo homem é mortal. Quem é mortal? Sócrates é mortal. homem(sócrates). mortal(X)  homem(X). ?- mortal(Z). Z = sócrates.  Introdução à Programação Prolog

Fatos, Regras e Consultas A programação em lógica baseia-se em estruturas lógicas denominadas Cláusulas de Horn, que se apresentam em quatro formas distintas: Fatos: a  Regras: a  b Consultas:  b Vazia:  Introdução à Programação Prolog

Fatos, Regras e Consultas Fatos: São verdades incondicionais: pai(josé, joão). pai(joão, júlio). pai(júlio, jorge). Introdução à Programação Prolog

Fatos, Regras e Consultas Fatos: São verdades incondicionais: pai(josé, joão). pai(joão, júlio). pai(júlio, jorge). Regras: Podem ser verdadeiras ou não: filho(X, Y)  pai(Y, X). avô(X, Y)  pai(X, Z), pai(Z, Y). Introdução à Programação Prolog

Fatos, Regras e Consultas Fatos: São verdades incondicionais: pai(josé, joão). pai(joão, júlio). pai(júlio, jorge). Regras: Podem ser verdadeiras ou não: filho(X, Y)  pai(Y, X). avô(X, Y)  pai(X, Z), pai(Z, Y). Consultas: Provocam a execução do programa: ?- filho(júlio, X). X=joão ?- avô(X, jorge). X=joão Introdução à Programação Prolog

Processamento Simbólico deriv(x, 1). deriv(N, 0)  number(N). deriv(U+V, U1+V1)  deriv(U, U1), deriv(V, V1). deriv(U-V, U1-V1)  deriv(U, U1), deriv(V, V1). deriv(U*V, U1*V+U*V1)  deriv(U, U1), deriv(V, V1). Introdução à Programação Prolog

Semântica Declarativa, Procedimental e Operacional Os programas Prolog permitem três possíveis interpretações intercambiáveis: (1) Declarativa, ao nível do cálculo de predicados de primeira ordem, (2) Procedimental, ao nível da chamada de procedimentos, e (3) Operacional, ao nível do controle da execução Introdução à Programação Prolog

Programas = Lógica + Controle O programador codifica somente a lógica. O ambiente de programação executa o controle. Introdução à Programação Prolog

Programas = Especificações Formais a  b. b  c, d. . . . Introdução à Programação Prolog

Programas = Especificações Formais a  b. b  c, d. . . . Introdução à Programação Prolog

Programas = Especificações Formais a  b. b  c, d. . . . ok Introdução à Programação Prolog

Programas = Protótipos Projetos grandes e caros ... ... podem ser prototipados rapidamente. Introdução à Programação Prolog

Programas = Bases de Dados prolog bd Introdução à Programação Prolog

Programas = Programas ...  C/C++ Java Delphi Prolog Lisp ... etc Introdução à Programação Prolog

Aplicações Avançadas Sistemas Especialistas, Engenharia de Software, Simulação, Educação, Suporte à Decisão, Programação Científica Bases de Dados Dedutivas, Programação da Web.

Sistemas Especialistas Diagnóstico médico, Controle Ambiental, Cultura Animal, Controle de Tráfego Aéreo, Indústria Aeroespacial. Introdução à Programação Prolog

Engenharia de Software Especificações Formais, Prototipação, Modelagem de Processos, Engenharia Reversa, Manutenção de Software. Introdução à Programação Prolog

Simulação e Educação Modelagem Ambiental, Modelagem Organizacional, Sistemas Tutoriais Inteligentes, Ensino de Lógica a Adolescentes. Introdução à Programação Prolog

Suporte à Decisão Mercados de estoques, ações e capital, Apoio à decisões judiciais, Análise de Investimentos, etc. Introdução à Programação Prolog

Bases de Dados Dedutivas O cálculo de predicados de primeira ordem possui expressividade equivalente à da álgebra relacional. Introdução à Programação Prolog

Programação da Web Extensões html e http Web Semântica SWI-Prolog PiLLoW Amzi! Prolog Muitos outros (vale pesquisar) Introdução à Programação Prolog

Alguns Ponteiros Prolog na Wikipedia http://pt.wikipedia.org/wiki/Prolog Programação em Lógica http://vl.fmnet.info/logic-prog/ SWI Prolog http://www.swi-prolog.org Introdução à Programação Prolog