Prolog

Disponível somente no TrabalhosFeitos
  • Páginas : 15 (3695 palavras )
  • Download(s) : 0
  • Publicado : 13 de novembro de 2012
Ler documento completo
Amostra do texto
Introdução à Programação Prolog (Tutorial)
Esta aula introduz conceitos básicos da linguagem de programação lógica Prolog Os conceitos são introduzidos através de um tutorial sobre relações familiares Maiores detalhes sobre terminologia e notação serão vistos nas próximas aulas
Inteligência Artificial

Introdução
Prolog = Programming in Logic Linguagem de programação utilizada para resolverproblemas envolvendo objetos e relações entre objetos Conceitos básicos: fatos, perguntas, variáveis, conjunções e regras Conceitos avançados: listas e recursão

2

Programação Lógica
Programação Procedural (procedimental):
Programa = Algoritmo + Estruturas de Dados

Programação Lógica
Algoritmo = Lógica + Controle Programa = Lógica + Controle + Estruturas de Dados Em PL, programa-se deforma declarativa, ou seja, especificando o que deve ser computado ao invés de como deve ser computado
3

Programação em Prolog
Programar em Prolog envolve: declarar alguns fatos a respeito de objetos e seus relacionamentos definir algumas regras sobre os objetos e seus relacionamentos e fazer perguntas sobre os objetos e seus relacionamentos

4

Objetos de dados e Prolog

ObjetosObjetos Simples Estruturas Constantes Átomos Variáveis

Números

5

Átomos
São cadeias compostas pelos seguintes caracteres: •letras maiúsculas: A, B, ..., Z •letras minúsculas: a, ..., z •dígitos: 1, 2, ..., 9 •caracters especiais, tais como: *, +, >, _, =, :, ., &.

Objetos

Objetos Simples Estruturas Constantes Átomos Variáveis

Números

6

Átomos (cont)
Podem ser construídosde três maneiras: •cadeias de letras, dígitos e o caractere _, começando com uma letra minúscula. •cadeias de caracteres especiais •cadeias de caracteres entre apóstrofos
7

Objetos Objetos Simples Estruturas Constantes Átomos Variáveis

Números

Números
Incluem números inteiros e números reais.

Objetos Objetos Simples Estruturas Constantes Átomos Variáveis

Números

8

VariáveisSão cadeias de letras, dígitos e caracteres _, Objetos sempre começando com letra maiúscula ou com o Objetos Simples Estruturas caractere _. Constantes Átomos Variáveis

Números

9

Estruturas
São objetos de dados que têm vários componentes, Objetos podendo cada um deles, por sua vez, ser uma Objetos Simples Estruturas estrutura. Constantes Átomos Variáveis

Números

10

DefinindoRelações por Fatos
Sara Abraão

Isaque

Ismael

A figura ao lado mostra um exemplo da relação família O fato que Abraão é um progenitor de Isaque pode ser escrito em Prolog como:
progenitor(abraão,isaque).

Esaú

Jacó

Neste caso definiu-se progenitor como o nome de uma relação; abraão e isaque são seus argumentos

José
11

Definindo Relações por Fatos
Sara Abraão

A árvorefamiliar completa em Prolog é:
progenitor(sara,isaque). progenitor(abraão,isaque). progenitor(abraão,ismael). progenitor(isaque,esaú). progenitor(isaque,jacó). progenitor(jacó,josé).

Isaque

Ismael

Esaú

Jacó

José

Este programa consiste de seis cláusulas Cada uma dessas cláusulas declara um fato sobre a relação progenitor
12

Definindo Relações por Fatos
Sara Abraão

Porexemplo
progenitor(abraão,isaque).

Isaque

Ismael

Esaú

Jacó

é uma instância particular da relação progenitor Esta instância é também chamada de relacionamento Em geral, uma relação é definida como o conjunto de todas suas instâncias

José
13

Definindo Relações por Fatos
A ordem dos argumentos em uma relação é definida arbitrariamente, mas deve ser seguida e usada de formaconsistente progenitor(abraão,isaque)
significa que “Abraão é progenitor de Isaque”

progenitor(isaque,abraão)
significa que “Isaque é progenitor de Abraão”

Note que progenitor(abraão,isaque) não tem o mesmo significado que progenitor(isaque,abraão)
14

Definindo Relações por Fatos
Os nomes das relações e seus argumentos são arbitrários, ou seja:
progenitor(abraão,isaque) a(b,c)

são...
tracking img