Linguagem de Programação I

Documentos relacionados
CENTRO UNIVERSITÁRIO LUTERANO DE PALMAS PROLOG. Elias Melgaço Chaves Júnior Jonatas Luiz da Costa Rafael Gonçalves Barreira

Origem do PROLOG. Lógica e PROLOG

1. À primeira coluna (P), atribui-se uma quantidade de valores V igual à metade do total de linhas

RACIOCÍNIO LÓGICO QUANTITATIVO

Bases Matemáticas. Daniel Miranda de maio de sala Bloco B página: daniel.miranda

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Lógica para computação Professor Marlon Marcon

GRADE CURRICULAR LICENCIATURA EM MATEMÁTICA I MATÉRIAS OBRIGATÓRIAS

Inteligência Artificial. Inteligência Artificial

Lista de Exercícios 5: Soluções Teoria dos Conjuntos

Linguagens de Programação:

Notas de aula de Lógica para Ciência da Computação. Aula 11, 2012/2

Montadores e Compiladores

Sumário. OS ENIGMAS DE SHERAZADE I Ele fala a verdade ou mente? I I Um truque com os números... 14

Álge g bra b B ooleana n Bernardo Gonçalves

Orientação a Objetos

Avaliação e Desempenho Aula 1 - Simulação

Métodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções

PLANO DE ENSINO DA DISCIPLINA

UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO

Matemática Aplicada às Ciências Sociais

* Lógica Proposicional Formas de Argumento

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Introdução. Inteligência Artificial. Prolog x Outras Linguagens. Programação em Prolog. Programar em Prolog envolve:

Inteligência Artificial. Inteligência Artificial

Teoria da medida. Aspectos Gerais

Oficina: Jogar para gostar e aprender matemática. Profa. Dra. Adriana M. Corder Molinari dri.molinari@uol.com.br

Programação Lógica. (Prática em Prolog) LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Programação em lógica - tem suas raízes no cálculo de predicados, proposto por Frege em 1879.

Aula 00. Raciocínio Lógico Quantitativo para IBGE. Raciocínio Lógico Quantitativo Professor: Guilherme Neves

Matemática para a Economia I - 1 a lista de exercícios Prof. - Juliana Coelho

Álgebra Relacional. Linguagens de consultas relacionais

Tabela de um Enunciado Simbolizado

UM JOGO DE DOMINÓ PARA A LÓGICA PROPOSICIONAL

Aula 5: determinação e simplificação de expressões lógicas

CAPÍTULO II. Variáveis e Expressões CAPÍTULO II COMENTÁRIOS SINTAXE / SEMÂNTICA ESTRUTURA DE UM ALGORITMO EM PSEUDOCÓDIGO

(Equivalência e Implicação lógica aula 10

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO

Algoritmo e Lógica de Programação. Conceitos de Linguagens de Programação

AGRUPAMENTO DE ESCOLAS DA SÉ GUARDA. MATEMÁTICA B Curso de Artes Visuais

Comandos de Desvio 1

Fundamentos de Lógica Matemática

Processo de Desenvolvimento de Software

prof. sergio roberto de freitas

CURSO DE MATEMÁTICA BÁSICA PROGRAMA DE EDUCAÇÃO TUTORIAL CENTRO DE ENGENHARIA DA MOBILIDADE

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

Instituto Federal Fluminense Campus Campos Centro Programa Tecnologia Comunicação Educação (PTCE)

. (A verificação é imediata.)

MATERIAL DE DIVULGAÇÃO DA EDITORA MODERNA

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina.

Agrupamento de Escolas Júlio Dantas Escola Básica Tecnopolis

RACIOCÍNIO LÓGICO Simplificado

Metodologias de Programação

Introdução em Engenharia. Problemas de Engenharia. Engenharia: Sérgio Haffner SÍNTESE. Conceitos Conceitos fundamentais

Programação de Computadores I. Linguagem C Função

MATRIZ DE REFERÊNCIA-Ensino Médio Componente Curricular: Matemática

Sumário 1. PROBLEMAS DE RACIOCÍNIO INTUITIVO ESPACIAL, NUMÉRICO E VERBAL PROBLEMAS DE ARGUMENTAÇÃO LÓGICA INTUITIVA...55

4 A Ferramenta Computacional

PROPOSIÇÕES. Proposições Simples e Proposições Compostas. Conceito de Proposição

RACIOCÍNIO LÓGICO Simplif icado

Solução Comentada Prova de Matemática

Linguagens e Paradigmas de Programação

1.1. Definição do Problema

Semana 7 Resolução de Sistemas Lineares

Linguagens e Técnicas de Programação II

UNIDADE II UNIDADE II O Plano: Sistema de Coordenadas Cartesianas

Aula 1 Variáveis aleatórias contínuas

Matemática Básica Intervalos

MÉTODO CIENTÍFICO E MÉTODO DE PESQUISA

Relatório das Provas da 2ª. Fase - Vestibular 2016

Calculando seno(x)/x com o interpretador Hall.

Noções de Lógica Matemática

Afirmação verdadeira: frase, falada ou escrita, que declara um facto que é aceite no momento em que é ouvido ou lido.

ADIÇÃO, SUBTRAÇÃO E SIGNIFICADOS

Análise de algoritmos. Parte II

Departamento de Matemática da Universidade de Coimbra Álgebra Linear e Geometria Analítica Engenharia Civil Ano lectivo 2005/2006 Folha 1.

Programa de Matemática 2º ano

Cálculo proposicional

Questões de Concursos Tudo para você conquistar o seu cargo público

Modelos de Probabilidade e Inferência Estatística

Curvas no Plano e no Espaço*

Roteiro da aula. MA091 Matemática básica. Conjuntos. Subconjunto. Aula 12 Conjuntos. Intervalos. Inequações. Francisco A. M. Gomes.

Noções básicas de Lógica

Raciocínio Lógico Matemático

Paradigmas da Teoria da Comunicação

Algoritmos APRENDENDO A PROGRAMAR COM C#

Algoritmo e Pseudo-código

Sistemas de Tempo Real

O SOFTWARE R EM AULAS DE MATEMÁTICA

Determinantes. ALGA 2008/2009 Mest. Int. Eng. Electrotécnica Determinantes 1 / 17

Medidas e Escalas: Escalas não Comparativas

Inteligência Artificial

Universidade dos Açores Curso de Especialização Tecnológica Gestão da Qualidade Matemática

Circuitos Lógicos Aula 3

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA

A recuperação foi planejada com o objetivo de lhe oportunizar mais um momento de aprendizagem.

Bacharelado em Ciência da Computação 2009

Determinantes. Matemática Prof. Mauricio José

3º Ano do Ensino Médio. Aula nº09 Prof. Paulo Henrique

1. Noção de algoritmo

Transcrição:

Linguagem de Programação I Programação Lógica Equipe: Yuri Joyce Carlos Éderson Paulo Maurício 26/05/2011 1

Súmario Introdução Origem Características Conceitos básicos Vantagens e desvantagens Aplicações Linguagem Prolog

Criador: Jonhn McCarthy. 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 Lógica: Planner. Introdução 26/05/2011 3

Paradigmas Paradigma baseado na Lógica Matemática e no Cálculo de Predicados Programas são declarativos: Especificam resultados desejados em vez de procedimentos para produzi-los Possui semelhanças com o paradigma funcional Separação de lógica e controle: Lógica: definição do que deve ser solucionado Controle: como a solução pode ser obtida Programador escreve definições que permitam a dedução da solução 26/05/2011 4

Vantagens e Desvantagens Vantagens: Existem mecanismos de inferência eficientes que deduzem o valor verdade de uma fórmula em tempo (e espaço) linear em função do número de constantes da fórmula Existem também mecanismos de inferência eficientes para abdução (diagnóstico) e indução (aprendizagem). Desvantagens: Em domínios complexos, explosão combinatória da base de conhecimento não permite: Representar relações genéricas entre conceitos representados em intenção Estruturação modular do conhecimento Representação de conhecimento em ambientes dinâmicos ou não deterministas ou contínuos. 26/05/2011 5

Diferenças entre programas convencionais e programas em lógica PROGRAMAS CONVENCIONAIS Processamento Numérico Soluções Algorítmicas Estruturas de Controle e Conhecimento Integradas Difícil Modificação Somente Respostas Totalmente Corretas Somente a Melhor Solução Possível PROGRAMAS EM LÓGICA Processamento Simbólico Soluções Heurísticas Estruturas de Controle e Conhecimento Separadas Fácil Modificação Incluem Respostas Parcialmente Corretas Incluem Todas as Soluções Possíveis 26/05/2011 6

Aplicações Sistemas Baseados em Conhecimento (SBCs) Sistemas de Bases de Dados (BDs) Sistemas Especialistas (SEs): Processamento da Linguagem Natural (PLN) Educação Arquiteturas Não-Convencionais 26/05/2011 7

Prolog Foi criada em meados de 1972 por Alain Colmerauer e Philippe Roussel, na Universidade de Marselha. O nome PROLOG foi escolhido por Philippe Roussel como uma abreviação de PROgrammation en LOGique. Propósito da criação: criar programas para tradução de linguagens faladas, como português ou inglês. 26/05/2011 8

Prolog Todos os objetos no Prolog são denominados termos Alguns termos: átomo Numero Variável Fato Regra 26/05/2011 9

As Interpretações Declarativa. As Cláusulas* são vistas como descrição do problema Procedimental As Cláusulas são vistas como entrada para um método Operacional As Cláusulas são vistas como comandos para um procedimento de prova por refutação 26/05/2011 10

Fatos São fatos!!! Representam um sentença verdadeira no PROLOG para o universo do problema em questão. Alguns fatos: Dunha está vivo, João conhece o Mário... De forma logica porderia ser interpretado como: Vd (onde: V=vivo e d=dunha) Cjm (onde: C=conhece, j=joão e m=mário) e no prolog (tem que ser minúsculo mesmo*): vivo(dunha).* conhece(joão,mário). 26/05/2011 11

Regras (P -> Q) Relação causa-conseqüência, sendo que o conseqüente é informado antes do antecedente. considerando os fatos sobre paternidade** criar uma regra para a relação "avô" 26/05/2011 12

Regras Interpretação: "Uma pessoa é avô de outra, se a primeira for pai de um terceira pessoa, e essa terceira pessoa for pai da segunda" Formalizando: para todo X e Y X é avô de Y se X for pai de Z e Z for pai de Y. 26/05/2011 13

Regras E o código em Prolog: avo(x,y) :- pai(x,z), pai(z,y). operadores logico: not() -> negação "," -> conjunção ";" -> disjunção 26/05/2011 14

ESTRUTURAS DE CONTROLE Backtracking Cut (!) Negação por fail

ESTRUTURAS DE CONTROLE Backtracking

ESTRUTURAS DE CONTROLE Backtracking

ESTRUTURAS DE CONTROLE Backtracking

ESTRUTURAS DE CONTROLE Backtracking

ESTRUTURAS DE CONTROLE Backtracking

ESTRUTURAS DE CONTROLE Backtracking para o Cut (!)

ESTRUTURAS DE CONTROLE Cut (!)

ESTRUTURAS DE CONTROLE Cut (!)

26/05/2011 24