Prolog
Concepção da linguagem, ou seja,
porque e como ela é como é?
Concepções

Uma primeira concepção pode ser entendida por
perguntas:
 o que se relaciona como o quê?
 Ou: entre que coisas do mundo que
conhecemos existe
relação?
 Há relação entre este texto e o que estou pensando?
 Há relação entre mim e minha mãe?
 Há relação entre o motorista do ônibus e seus passageiros?
 Há relação entre dois irmãos?
 Há relação entre uma caneta que está sobre uma mesa?
 Há uma relação entre uma calça e uma camisa?
 E assim poderíamos continuar interrogando-nos
sucessivamente ... E assim entenderíamos que entre todas
as coisas que conhecemos existe relação
Tudo é relação...

Qual a definição de árvore para você?
Exemplo um

Você consegue definir um vegetal sem
concebê-lo no seu meio-ambiente? Este é o
fruto da relação: a árvore (vegetal) relaciona-se
com a terra, com o ar e com a luz solar. Sem
estas relações não existe o objeto árvore.
Exemplo dois
 Outro
exemplo: dois irmãos existem por
ter pais em comum. Sem a relação de
paternidade a definição irmãos não
existiria.
Relação com a linguagem Java.
class calcado
{
int tamanho;
String Cor;
}
class feminino extends calcado
{
String estilo;
feminino() //Default Constructor
{
System.out.println("construindo feminino...");
}
}
class especificarcalcado
{
public static void main(String args[])
{
feminino Sandalia = new feminino();
Sandalia.Cor = "azul";
Sandalia.estilo = "classico";
System.out.println("Cor escolhida:" +
Sandalia.Cor);
System.out.println("estilo escolhido:" +
Sandalia.estilo);
Sandalia.tamanho = 10;
}
A Classificação e A Seriação.



No caso do homem, sabemos que é um mamífero primata
humano. Com esta afirmação, indicamos que existem
mamíferos primatas não-humanos e também mamíferos nãoprimatas.
Ao realizar a distinção entre homens e macacos, faz-se
também a associação entre suas formas e funções corporais, o
que faz presumir que ambos, embora sendo de uma mesma
categoria, têm características distintas.
O mesmo ocorre quando comparam-se homens e macacos com
outros mamíferos não-primatas, e assim sucessivamente. Em
decorrência, temos uma organização hierárquica onde os
humanos estão incluídos no grupo dos primatas, que, por sua
vez está incluído no grupo dos mamíferos, estabelecendo,
assim,uma seriação.
Relação define conhecimento

Podemos observar que há relações entre as diferentes classes, e
isso é o que permite a definição de cada uma delas. Sem a
estrutura de relações, não existiriam classes e, portanto, não
existiria conhecimento. Por quê? A identificação de um objeto
no mundo depende de sua diferenciação em relação a outros
objetos. Essa diferenciação presume classificação que, por sua
vez, presume seriação. O conhecimento depende da distinção
entre os atributos dos objetos do mundo. Sem a distinção, sem
o relacionamento, não há conhecimento. Relação define,
portanto, conhecimento! Relação não é o conhecimento em si,
mas um fator fundamental para que o conhecimento exista.
É necessário que tenhamos estes conceitos de
relações ao estudarmos Prolog, uma vez que,
através desta linguagem de programação,
iremos representar o mundo através de relações.

A programação em Prolog - que significa
programação em lógica - não é baseada no
seqüenciamento de procedimentos, mas na
definição de relações, na forma com a qual se
representa o mundo que se quer implementar
no computador.
Prolog, linguagem usada em...
 compreensão
de linguagem natural,
automação de projetos,análise de
estruturas bioquímicas e sistemas
especialistas.
Sistemas especialistas
 Um
sistema especialista que necessite
realizar um diagnóstico precisa que a
experiência humana do especialista esteja
inserida nas regras de produção para que
produza um resultado correto.
Classificação biológica dos seres vivos




No caso do homem, sabemos que é um mamífero primata
humano. Com esta afirmação, indicamos que existem
mamíferos primatas não-humanos e também mamíferos nãoprimatas.
Ao realizar a distinção entre homens e macacos, faz-se
também a associação entre suas formas e funções corporais, o
que faz presumir que ambos, embora sendo de uma mesma
categoria, têm características distintas.
O mesmo ocorre quando comparam-se homens e macacos com
outros mamíferos não-primatas, e assim sucessivamente.
Em decorrência, temos uma organização hierárquica onde os
humanos estão incluídos no grupo dos primatas, que, por sua
vez está incluído no grupo dos mamíferos, estabelecendo,
assim,uma seriação.
Características da linguagem
 Fatos
Baseiam-se no seguinte comando:
Predicado
(arg 1[,arg 2,...,arg n]).
 onde:
predicado = relação;
arg i = objetos sobre os quais atuam a relação.
Exemplo um

Um exemplo simples de fato com
dois argumentos seria a relação
amiga:
Amiga
(joana, maria).
Portanto...
 Assim,
definimos uma relação (amizade)
entre dois argumentos (joana e maria).
Obviamente
podemos ter um fato com
apenas um argumento:
 homem(carlos).
Observe que a relação (homem), quando
submetida a apenas um objeto (carlos),
torna-se como uma característica daquele
objeto.
Mais argumentos...

No caso de haver mais argumentos, a ordem
de consistência é definida como sendo a
atualmente registrada, ou seja, a última
utilizada. Por exemplo:
 paga(patrao,salario,empregado).
Nota...



À primeira vista parece evidente que a relação (paga) é
direta entre os dois primeiros objetos (patrao,salario) e
indireta ao terceiro (empregado).
Esse tipo de interpretação está dependente da
ordenação dos objetos declarados nos fatos.
Para manter uma coerência, é importante que todos os
fatos sigam uma mesma estrutura de interpretação.
Assim,no caso da relação amiga talvez fosse mais
prudente a declaração bivalente:
declaração bivalente...

amiga(joana,maria).
amiga(maria,joana).
Demonstrando a relação amiga tanto no sentido do objeto
joana-maria quanto maria-joana.
É importante salientar que um conjunto de fatos forma um
banco de dados.
Ou seja, várias afirmações compõem os dados existentes no
sistema. Os fatos são a célula básica do banco de dados
Prolog.
Questões

Questões
A sintaxe de questões varia de acordo com os
compiladores existentes, mas basicamente é um fato
antecedido de um ponto de interrogação ou comando
que indique a formulação de uma questão.
Por exemplo:
?- amiga(joana, maria).
yes


A função da questão é basicamente testar a existência de
uma relação sobre os argumentos propostos.
No exemplo apresentado, a resposta (yes) foi positiva.
Professor
Marcelo José Storion
[email protected]
Download

prolog - 1ª aula