1 / 6

Exercício de engenharia do conhecimento em Prolog

Exercício de engenharia do conhecimento em Prolog. Criar base de conhecimento sobre safári Tarefa do sistema inteligente: Montar expedição para caçar grupo de animais Escolher: Tripulação Veículos Armas Em função do tipo de animal e terreno. Safári. Taxonomia de armas :

muniya
Download Presentation

Exercício de engenharia do conhecimento em Prolog

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exercício de engenharia do conhecimento em Prolog • Criar base de conhecimento sobre safári • Tarefa do sistema inteligente: • Montar expedição para caçar grupo de animais • Escolher: • Tripulação • Veículos • Armas • Em função do tipo de animal e terreno

  2. Safári • Taxonomia de armas: • metralhadora • lança-chama • fuzil-arpão • torpedo • Taxonomia de • pessoas de • diversas habilidades • e comportamentos: • paleontólogo,hacker, piloto,soldado • Taxonomia de • veículos: • moto,jipe,caminhão-lagarta? • helicóptero,hidravião • hovercraft,lancha,jet-ski,submarino • Taxonomia de • animais de • diversas habilidades • e comportamentos: • sensores,atuadores • tamanho,velocidade • corre,trepa,nada,voa • inteligência • agressividade • Taxonomia de • terrenos: • floresta,savana,deserto • mangue,rio,lagoa,mar • planície,montanha • caverna, construção

  3. Processo de desenvolvimento: modelagem e implementação • Modelagem entidade-relacionamento ou OO estrutural em UML • como para um BD relacional • Implementação Prolog: • Cada classe de entidade implementada por um predicado unário e uma variável • Cada instância de entidade implementada por uma constante • Cada atributo de cada classe implementada por uma regra valorAtributo(X) :- classe(X) ou atributo(V,X) :- classe(X). • Cada relacionamento N-ário implementada por um predicado N-ário e N variáveis • Cada relações hierárquica de subclasse/superclasse implementada por uma regra superclasse(X) :- subclasse(X). • Cada relações não diretamente modeladas, mas que podem ser construídas a partir da junção de vários relacionamentos modelados, para responder a consultas, implementada por uma (ou várias) regra(s) • Cada restrição de integridade do domínio implementada por uma (ou várias) regra(s)

  4. Criar conjunto de consultas para cada predicado Prolog definido Para cada consulta, definir respostas esperadas (valor de verdade e das variáveis) Desenhar grafo de dependências entre os predicados Testar os predicados bottom-up, começando pelos predicados nas folhas e subindo do grafo Para cada predicado, testar todas as soluções retornadas, forçando o backtracking a(X,Y,Z) :- b(X,Y), c(Y,Z). b(X,Y) :- d(X), e(Y), f(X). c(Y,Z) :- g(Y,U), h(Z,V), c(U,V). a/3 b/2 c/2 Processo de desenvolvimento: testes d/1 e/1 f/2 h/2 g/2

  5. aquatico(Animal) :- tubarao(Animal). aquatico(Animal) :- aveMarina(Animal). terrestre(Animal) :- tarentula(Animal). terrestre(Animal) :- aveMarina(Animal). aereo(Animal) :- aveMarina(Animal). mata(Arma,Animal) :- potenciaArma(Arma,Potencia), tamanhoAnimal(Animal,Tamanho), suficiente(Potencia,Tamanho), elementoArma(Arma,Elemento), elementoAnimal(Animal,Elemento). captura(Arma,Animal) :- .... elementoArma(fuzil,ar). elementoArma(fuzilHarpao,água). elementoAnimal(Animal,ar) :- terrestre(Animal). elementoAnimal(Animal,ar) :- aereo(Animal). elementoAnimal(Animal,agua) :- aquatico(Animal). aquaticoProfundo(Veiculo) :- submarino(Veiculo). aquaticoSuperficial(Veiculo) :- hovercraft(Veiculo). terrestre(Veiculo) :- hovercraft(Veiculo). terreste(Veiculo) :- jeep(Veiculo). sabeUsar(fuzil,Pessoa) :- soldado(Pessoa). sabeUsar(fuzilHarpão) :- mergulhador(Pessoa). sabeUsar(submarino,Pessoa) :- piloto(Pessoa),marinheiro(Pessoa). soldado(trinity). mergulhador(trinity). piloto(trinity). marinheiro(trinity). Exemplos de regras e fatos

  6. conflito(Tripulacao) :- member(Pessoa1,Tripulacao), member(Pessoa2,Tripulacao),Pessoa1 /= Pessoa2, paranoica(Pessoa1), paranoica(Pessoa2), semLider(Tripulacao). semLider([H|T]) :- not lider(H), semLider(T). perigoso(jacaré). ?- safari([rinoceronte,baleia], Triplucacao, Veiculos, Combustiveis, Armas, Munições]. Tripulacao = [trinity,buckarooBanzai]. Armas = [fuzil,rede,fuzilHarpão]. Veiculos = [hovercraft] Combustiveis = [combustivel(gasolina,1000)]. Exemplos de regras e fatos

More Related