Você está na página 1de 35

TRABALHO EM PROLOG

Mestrado em Direito e Informtica


2014/2015

PROLOG, o que ?

Linguagem de programao simples

Fundamentado na lgica simblica.

Usado no desenvolvimento de aplicaes na rea de inteligncia artificial;

Sistemas matemticos formais

Objetivos do trabalho:

construo de procedimentos adequados resoluo de problemas (extenso


de predicados)

a aplicao do algoritmo de resoluo demonstrao de teoremas;

o desenvolvimento de rvores de prova;

o desenvolvimento de um sistema de argumentao em lgica

aumento da capacidade de expresso do sistema de argumentao.

Diferena entre os programas em lgica


e programas convencionais:

Processamento simblico;

Solues heursticas (simplificao de solues);

Estruturas de controle e conhecimento separadas;

Fcil modificao

Inclui respostas parcialmente corretas;

Inclui em todas as solues possveis

Propriedades dos sistemas de


programao em lgica:

Funciona simultaneamente como linguagem de programao e especificao;

Possui capacidade dedutiva;

Operam de forma no determinstica;

Permitem a representao de relaes reversveis;

Permitem a interpretao declarativa, procedimental e operacional;

So naturalmente recursivos

PROLOG:

PRO (gramao)

LOG (ica)

Lgica:
Essencialmente reflete-se obteno de um teorema e de seguida pesquisa-se
factos e regras que possam sustentar a validade desse teorema.

Exemplo:
Todos os Homens so mortais,
Jos Homem,
Ento, Jos mortal.

Silogismo

PROLOG:
Semelhante lgica, o PROLOG utilizado para expressar factos e
relacionamentos entre esses factos e de seguida depreender solues para esses
problemas.

Voltando ao exemplo..
Todos os Homens so mortais,
Jos Homem,
Ento, Jos mortal.

Silogismo

Importncia do Predicado

Em PROLOG:

Homem(Jos)
mortal(X):-homem(X).

:-

se

separa a clusula em cabea (a parte da concluso) e corpo (parte da


condio) da clusula.

Em PROLOG:
pergunta Jos um mortal respondida da seguinte forma:
?-mortal(Jos).
yes

Como se faz a programao em


PROLOG?

TOMOS E VARIVEIS:

ana

maria

fabio

carro

ALFABETO BSICO UTILIZADO EM LINGUAGEM


PROLOG:

Pontuao:

().

Conectivos:

, (conjuno - e)

; (disjuno ou)

:- (implicao se)

Letras:

Dgitos:

Especiais:

a, b, c...,z, A, B, C, ... , Z

0, 1, 2, 3, ..., 9
+ - * / < > = : _ etc.

Vertente prtica:
Argumentar a aplicao de multas de trnsito :

Nvel de lcool;

Anos de carta;

Excesso de velocidade;

Estacionamento proibido e fora das localidades

Criar vrios comportamentos a um indivduo que o sancionassem por uma


coima;

Solucionar o problema recorrendo ao PROLOG;

Justificar e argumentar logicamente;

No bloco de notas criamos a seguinte hiptese :

taxa de alcoolemia de 0.06;

dois anos de carta;

diferena de velocidade inferior a 60 km/h, mais precisamente 50 km/h,


entre a velocidade medida e a permitida;

estacionou num local proibido ou num local fora das localidades.

Em

linguagem PROLOG isto foi escrito na


parte da extenso do predicado facto

PREDICADO

Criao de regras do tipo: se condio, ento


concluso

permitir deste modo identificar consoante o facto


em que intervalo de multa se inseria.

Factos
Regras

O que mais preciso?

Extenso do meta-predicado prova.

Como argumentar que uma multa


aplicada ao invs de outra?

necessrio criarmos uma linguagem que nos


permitisse argumentar a escolha de uma multa
em detrimento de outra.

Aps a criao de factos, a construo de regras, de provas e de


argumentos, estamos aptos para utilizar o PROLOG.

Abrimos o programa SICSTUS PROLOG, clicmos na janela file e


escolhemos a opo consult.

Resultado:

Criao de vrias situaes possveis;

Vrias sanes possivelmente aplicveis.

Ana Rita Meireles Macedo

Joana Filipa Gomes Rodrigues

Sara Isabel Soares Gomes

Você também pode gostar