Programação Lógica: PROLOG

Slides:



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

Data: 10 a 12 de fevereiro de 2009 e
Construção de Aplicativos Computacionais METEOROLOGIA
Engenharia de Software
Algoritmo e Programação
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique
Paradigmas de Programação
Engenharia de Software
Introdução à Programação Lógica
Banco de Dados Dedutivo
Programação em lógica e lógica
Prolog: Predicados Built-in 2
INTRODUÇÃO À PROGRAMAÇÃO
Linguagem C Estruturas de Controle de Fluxos
Curso Sistemas de Informação Disciplina: Arquitetura de Software
2. A Linguagem Prolog.
Programação em Lógica Augusto Marks Batista Guilherme dos Santos Fujiyoshi Marlon Bill Santos.
INTRODUÇÃO À PROGRAMAÇÃO
INF 1771 – Inteligência Artificial
Conceitos Básicos.
Paradigmas de programação
LISTAS Uma lista é uma estrutura de dados muito comum na programação não numérica (com particular destaque na computação simbólica onde representa quase.
Inteligência Artificial: A Linguagem Prolog (parte 2)
Aula Prática - Prolog Sistemas Inteligentes /~if684
LISTAS Uma lista é uma estrutura de dados muito comum na programação não numérica (com particular destaque na computação simbólica onde representa quase.
Prolog Programação Lógica Ícaro A. Souza.
Aula Prática - Prolog Sistemas Inteligentes /~if684
INTRODUÇÃO – LOGICA E ALGORITMOS
Prolog Paradigma Declarativo - Lógico
Programmation en logique. UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE Daniel Augusto da Costa Ambrósio Eduardo Agostinho Oliveira dos Santos Fernando.
Conceitos e Linguagens de Programação
Aulas 9,10 Fábio Nakano.
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Conjuntos (continuação)
Augusto Sampaio e Paulo Borba Centro de Informática
Uma Breve Introdução á programação lógica
Procedimentos Pré-definidos em prolog comunicação
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Paradigma funcional.
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Analise Semântica aula-10-analise-semântica.pdf.
Sistemas Especialistas Podem ser definidos como programas de computador desenvolvidos para representar o conhecimento humano num dado domínio específico.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Introdução à Linguagem C
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
Algoritmos Estruturados
Programação de PIC em C Exposição das funções básicas para
Métodos Formais.
Aula 1 – Profª Danielle Costa
A Linguagem de Máquina – Desvios e Laços
Linguagens de Programação Introdução Prof. Renato Melo.
Programação Lógica com Prolog
Algoritmos e Programação I
Fundamentos de linguagens de programação
Recursividade Profs. De Prog2 e Lab2.
Inteligência Artificial: A Linguagem Prolog (Parte 1)
Introdução à Programação
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
CORREÇÃO PROVA DE ALGORITMO
Linguagens de Programação
Revisão 2º Bimestre Inteligência Artificial - IA Nome: Leonardo Brussolo de Paula.
Laço ou loop e repetição
Faculdade Pernambuca - FAPE Compiladores Abril/2007 Compiladores Abril/2007.
Estrutura de Dados Prof. André Cypriano M. Costa
DESENVOLVIMENTO Prof: Marcelo West Disciplina: Lógica de Programação.
Ewerton Patrick, Fernando Henrique, Jéssica Rebeca.
Programação Lógica: PROLOG
Transcrição da apresentação:

Programação Lógica: PROLOG Leandro Aguiar Daidy Márcio Melo

Sumário Programação Lógica Aplicações PROLOG Conclusão

Programação Lógica A programação em lógica se desenvolveu no início dos anos 70 a partir de alguns trabalhos sobre prova de teoremas; Desde então ela tem demonstrado ser um formalismo simples, mas muito poderoso, que é bastante adequado tanto para a representação do conhecimento quanto como ferramenta de programação; Primeira linguagem de programação que seguiu o novo paradigma associado à programação em lógica: PROLOG;

Aplicações Sistemas Baseados no Conhecimento; Sistemas de Bases de Dados; Sistemas Especialistas; Processamento da Linguagem Natural; Educação.

PROLOG PROLOG é uma linguagem baseada em um conjunto de conceitos: casamento de padrões; estruturação em forma de árvore; backtracking automático É uma linguagem orientada ao processamento simbólico; Representa uma implementação da lógica como linguagem de programação;

PROLOG Apresenta uma semântica declarativa inerente à lógica; Permite a definição de programas reversíveis, isto é, programas que não distinguem entre os argumentos de entrada e os de saída; Permite a obtenção de respostas alternativas; Suporta código recursivo e iterativo para a descrição de processos e problemas, dispensando os mecanismos tradicionais de controle, tais como while, repeat, etc; Permite associar o processo de especificação ao processo de codificação de programas; Representa programas e dados através do mesmo formalismo.

PROLOG: Diferenças em relação às outras linguagens PROLOG: é uma linguagem declarativa - especifica o quê se sabe e o quê deve ser feito. PROLOG é mais direcionada ao conhecimento, menos direcionada aos algoritmos. PROLOG não possui estruturas de controle como do-while, repeat-until, if-then-else, for, case ou switch como os encontrados em outras linguagens: em PROLOG utiliza-se métodos lógicos para declarar como o programa atinge seu objetivo. A força do PROLOG reside em sua capacidade de Busca e Casamento de Padrões.

PROLOG: conceitos Termos Compiladores/Interpretadores Constante Exemplo: paulo, 3, 'UFRGS' Variável Termo composto Exemplo: suc(suc(suc(0))); Compiladores/Interpretadores Exemplos: Kernel PrologL GNU Prolog SWI Prolog Visual Prolog;

PROLOG: conceitos Átomos Predicado Exemplos: Exemplo: lápis, ana, brasil, livro, tesoura, guarda-roupa; Predicado Exemplos: homem(pedro) mulher(ana) brigou(carlos,maria)

PROLOG: conceitos Frases Fatos casado(pedro,maria). casado(carlos,ana). ?- casado(carlos,maria). ?- casado(carlos,ana). Fatos

PROLOG: conceitos Consulta (ou questão): Uma consulta é escrita da mesma maneira que um fato, sendo diferenciada pelo interpretador ou por sua colocação em um local previamente definido e separado dos fatos; Dizemos que dois fatos (ou um fato e uma questão) são unificam (são iguais) se: seus predicados são os mesmos, eles possuem o mesmo número de argumentos e, os argumentos são iguais. o PROLOG encontra um fato que se iguala a questão, ele retorna "YES", indicando que a questão tem resposta verdadeira; caso contrário, ele retorna "NO".

Exemplo Programa: factorial (0,1). factorial (N,F) :- N>0,   factorial (N,F) :- N>0, N1 is N-1, Factorial (N1,F1), F is N*F1. Consulta: ?- factorial(3,W).

Exemplo Estrutura de Árvores

Conclusão PROLOG é uma boa ferramenta na representação de fatos do mundo real que seriam dificilmente ou até mesmo impossíveis de serem modelados em linguagens imperativas. Apesar da linguagem PROLOG ser uma das mais conhecidas, as arquiteturas voltadas para ter essa linguagem como nativa não tiveram o mesmo êxito.