A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

XSB Prolog Aula de Laboratório. * Conectar ao UNIX(caruaru.cin.ufpe.br de preferencia) * Baixar os arquivos ‘.P’ de /~eaa/prolog para um diretorio acessivel.

Apresentações semelhantes


Apresentação em tema: "XSB Prolog Aula de Laboratório. * Conectar ao UNIX(caruaru.cin.ufpe.br de preferencia) * Baixar os arquivos ‘.P’ de /~eaa/prolog para um diretorio acessivel."— Transcrição da apresentação:

1 XSB Prolog Aula de Laboratório

2 * Conectar ao UNIX(caruaru.cin.ufpe.br de preferencia) * Baixar os arquivos ‘.P’ de /~eaa/prolog para um diretorio acessivel a partir do UNIX Mapeia \\escada\eaa\\escada\eaa No diretorio public_html\prolog * Mudar para este diretório * Abrir os arquivos baixados num editor de texto (Context por exemplo)

3 * XSB pode ser visto como um sistema Prolog * É multi-plataforma * Código-fonte aberto e em desenvolvimento * O uso de predicados tabelados evita loops infinitos tabelados * Trata termos Hilog(programação de alta ordem ou meta- programação)Hilog * Fornece engenho de implementação para Programação em Lógica e para aplicações orientadas a dados * Possui interfaces para: C, Java, Oracle, ODBC * Suporte a FLORA: uma sofisticada interface orientada a objetos XSB

4 XSB * Executar Conectar-se em qualquer maquina SunOS5 (ex,Caruaru) Concatenar /home/robocup/solaris/XSB/bin/ na variável de ambiente PATH do seu.cshrc; ou Criar um alias como abaixo  alias xsb /home/robocup/solaris/XSB/bin/xsb Digitar xsb no prompt Unix. * Carregar Arquivo Digitar [,..., ]. para carregar N arquivos no ambiente de XSB; ou consult( ). (ou reconsult( ).)

5 XSB * Consultar Digitar o predicado (ou predicados separados por virgula) e pressionar return para obter o resultado e o prompt para a próxima consulta Digitar ‘;’ para forcar o backtracking * Encerrar Pressionar CTRL+C para interromper a execução da consulta Digitar halt.(ou 2 CTRL +C seguidos) para sair do XSB

6 XSB * Módulo user Com o módulo user você pode compilar predicados Prolog sem criar um arquivo tais predicados Ex: Execute o xsb e depois carregue o módulo user da seguinte forma t [user]. Digite os predicados abaixo t prof(ia,di,ufpe,pessoa(geber,_)). musico(pessoa(_,senior)). pessoa(geber, senior). Pressione CTRL+D Consulte os predicados

7 XSB * Exemplos Carregar o arquivo west.P e : t Verificar se bush é criminoso. t Verificar quais o criminosos conhecidos * Debug ?-trace. t Ativa o trace sistemático de todos os predicados. t Todos os objetivos(as chamadas) do interpretador são impressos (precedidos por ´CALL´ ou ‘REDO’). t Todos os resultados (as saídas) são impressos (precedidos por `*EXIT´, ‘EXIT’ ou ‘FAIL’). t Para interromper um trace: responder ´n: ´ ao prompt'. Veja o trace do predicado criminal/1

8 XSB ?-notrace. t Apaga(desativa) o trace sistemático. ?-spy(Pred/Arity). t Ativa o trace de predicados específicos. t Imprime apenas os CALL,..., REDO, EXIT,..., FAIL do predicado passado como argumento. t Os predicados são especificados por seu nome/aridade; onde a aridade é opcional. t spy([..., Pred1/Aity1,...]). : para especificar uma lista de predicados a rastrear. Ative o trace para o predicado hostile/1 e veja quais o criminosos conhecidos.

9 XSB ?-nospy(Pred/Arity). t Desativa apenas a espionagem do predicado indicado. ?-nospy([..., Pred/Arity,...]). t Para desativar espionagem de mais de um predicado. ?-nodebug. t Desativa a espionagem para todos os predicados. * Redirecionar o Debug A seqüência t ?-debug_ctl(redirect,‘arquivodebug.log'). t ?-debug_ctl(prompt,off). Direcionará a saída do debug para o arquivo ‘arquivodebug.log'

10 XSB * Exemplos Carregue o arquivo append.P e: t Quais as listas cujo append produz a lista [a,b,c]? t Adicionar a lista [m,n] à lista [a,b,m] resulta em [a,b,m,n]? t Quais os dias da semana antecedem e quais sucedem o sábado? * Exercícios Construir predicados para as seguintes operações sobre listas: t Adicionar um item, apagar um item, determinar o tamanho da lista.

11 XSB * Exemplos Carregue o arquivo fac.P e: t Qual o fatorial de 15, 1000, 31 e 30? t 125261824 é o fatorial de 16? t Qual o número cujo fatorial é 40320? * Exercícios Construir o predicados para determinar uma P.A com a seguinte forma: arithmeticProgression(FirstTerm,Difference,NTerm,Result)

12 XSB * Exemplos Carregue o arquivo dataCheck.P e: t Verificar se a data 29/2/2002 é uma data válida? t Execute a seguintes consultas : ¤Hoje=date(2002,7,10),tomorrow(Hoje,R). ¤correct_date(make_date(2002,02,28,Date)). ¤make_date(2002,02,28,Date),correct_date(Date). ¤make_date(2002,02,28,_Date),correct_date(_Date). * Exercícios Construir os predicados:yesterday, afterTomorrow, beforeYesterday Fazer a verificação completa de ano bisexto Fazer com que make_date produza apenas datas corretas

13

14 Predicados Tabelados * O predicado ancestor(X,Y) :- ancestor(X,Z), parent(Z,Y). ancestor(X,Y) :- parent(X,Y). Entra em loop infinito * O uso de predicados tabelados elimina o loop infinito :- table ancestor/2. ancestor(X,Y) :- ancestor(X,Z), parent(Z,Y). ancestor(X,Y) :- parent(X,Y).

15 Termos Hilog * Termos Hilog :- hilog closure. closure(R)(X,Y) :- R(X,Y). closure(R)(X,Y) :- closure(R)(X,Z), R(Z,Y).


Carregar ppt "XSB Prolog Aula de Laboratório. * Conectar ao UNIX(caruaru.cin.ufpe.br de preferencia) * Baixar os arquivos ‘.P’ de /~eaa/prolog para um diretorio acessivel."

Apresentações semelhantes


Anúncios Google