1 / 20

Semântica de uma fórmula da lógica da 1 a ordem via modelo de Herbrand

Semântica de uma fórmula da lógica da 1 a ordem via modelo de Herbrand. Notação: const(F), func(F), pred(F), var(F) conjuntos de símbolos de constantes, funções, predicados e variáveis (respectivamente) de uma fórmula F da lógica da 1 a ordem Universo de Herbrand de F:

harken
Télécharger la présentation

Semântica de uma fórmula da lógica da 1 a ordem via modelo de Herbrand

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. Semântica de uma fórmula da lógicada 1a ordem via modelo de Herbrand • Notação: • const(F), func(F), pred(F), var(F) conjuntos de símbolos de constantes, funções, predicados e variáveis (respectivamente) de uma fórmula F da lógica da 1a ordem • Universo de Herbrand de F: • Uh(F) = const(F) {f(...,c,...) | f  func(F)  c  const(F)}. • Base de Herband de F: • Bh(F) = Uh(F)  {p(…,g,…) |p  pred(F)  g  Uh(F)}. • Modelo de Herbrand de F: • Mh(F) = {q  Bh(F) | F |= q}. • Modelo de Herbrand mínimo de F: • mh é mínimo sse:  miMh(F) mi mh • Menor modelo mínimo de Herbrand de F: • mm é o menor modelo mínimo sse: mi mi Mh(F)  mm mi • Conjunto de proposicionalizações de F: • ground(F) = {F |  substituição de var(F) por Uh(F)}

  2. Negação por falha, raciocínio não monotônico e semântica declarativa de programas lógicos Jacques Robin CIn-UFPE

  3. Modelo de Herbrand: exemplo • F: (maria = mae(joao)  (X anc2(pai(X),X))  (Y anc2(mae(Y),Y))  (A,D anc2(A,pai(D))  anc2(A,D))  (E,F anc2(A,pai(D))  anc2(A,D)) • Universo de Herbrand Uh(F): {maria, joao, mae(maria), mae(joao), mae(mae(maria)), mae(mae(joao)), ... } • Base de Herband Bh(F): {maria = joao, maria = mae(maria), maria = mae(joao), joao = mae(maria), joao = mae(joao), ... anc(maria, maria), anc(maria,joao), anc(joao,maria), anc(joao,joao), anc(maria,mae(maria)), anc(mae(maria),maria)), anc(maria,mae(joao)), ... } • Modelo de Herbrand mínimo mh(F): {maria = mae(joao), anc(maria,joao)}

  4. Semântica declarativa de um programa lógico via formula da lógica da 1a ordem • Programa P: ancestor(A,D) :- parent(A,D). ancestor(A,D) :- parent(P,D), ancestor(A,P). • Semântica ingênua semIng(P): (A,D parent(A,D)  ancestor(A,D))  (A,D,P parent(P,D) ancestor(A,P) ancestor(A,D)) • Consultas C: ?- ancestor(jacques,jacques) no • No entanto, em lógica clássica da 1a ordem: semIng(P) | C • semIng não reflete semântica sobre hipótese do mundo fechado • Complementação de Clark comp(P): fórmula da lógica clássica da 1a ordem capturando semântica de P sobre hipótese do mundo fechado • Modelo de P = mh(comp(P))

  5. Semântica declarativa de um programa lógico sobre hipótese do mundo fechado • Construção de comp(P): • Para cada predicado definido por n regras C:- P1. ,..., C:-Pn. • substituir conjunção de implicações de semIng(P) por equivalência entre • C, nas quais as variáveis U1,...,Uk foram substituídas por novas variáveis V1,...Vk, e • uma disjunção de n conjunções, cada uma da forma  ...,Ui,... ...  Vi = Ui... Pm(...,Ui,...). • Para cada predicado q(...,Wl,...) sem definição como conclusão de nenhuma cláusula mas aparecendo em premissa de regra(s) definindo outro predicados • acrescentar fórmula Wl q(...,Wl,...) • Exemplo: • P = {ancestor(A,D) :- parent(A,D). ancestor(A,D) :- parent(P,D), ancestor(A,P).} • comp(P) = (Va,Vd ancestor(Va,Vd)  ((A,D Va = A  Vd = D  parent(A,D))  (A,D,P Va = A  Vd = D  Vp = P  parent(P,D) ancestor(A,P)))) P,C parent(P.C) • Em lógica da 1a ordem: comp(P) |= ancestor(jacques,jacques)

  6. Negação por falha em programação em lógica • Programas lógicos normais ou gerais autorizam operador not de negação por falha nas premissas das regras e nas consultas. • Crucial notar que: • not não é autorizado nem em fatos, nem em conclusão de regras • Semanticamente, not é distinto da negação clássica  da lógica • Enquanto uma premissa ou consulta Sde uma BC em lógica é verdade sse: BC |= S • Uma premissa ou consulta not S de um programa lógico normal P é verdade sse: P | S • Negação por falha funciona com hipótese do mundo fechado • Resolução SLD de Prolog estendida na resolução SLDNF

  7. Raciocínio com negação por falha: inerentemente não monotônico • Adição de novos fatos em uma BC em Prolog com negação por falha pode diminuir, no lugar de aumentar, o número de fatos deriváveis • BC1: woman(X) :- human(X), not man(X). female(X) :- woman(X). human(roberta). ?- female(roberta). yes. • BC2 = BC1 + man(roberta). ?- female(roberta). no.

  8. Negação por falha e raciocínio por default • A não monotonicidade da negação por falha permite usá-la para implementar raciocínio por default • ave(piupiu). papaLeguas(bipbip). ave(X) :- papaLeguas(X). voa1(X) :- ave(X), not papaLeguas(X). voa2(X) :- not papaLeguas(X), ave(X). • ?- voa1(X). X = piupiu. yes ; no ?- voa2(X). no. • No entanto, Prolog ISO não segue uma semântica lógica declarativa para a negação por falha

  9. Negação por falhae terminação • man(X) :- human(X), not woman(X). woman(X) :- human(X), not man(X). female(X) :- woman(X). human(roberta). • ?- man(roberta). • .......... • Problema devido a recursão através da negação • O conhecimento acima é fácil modelar pela re-introdução das restrições de integridade: false :- man(X), woman(X). woman(X) :- human(X). man(X) :- man(X). female(X) :- woman(X). human(roberta).

  10. P: edge(a,b). edge(c,d). edge(d,c). reachable(a). reachable(X) :- edge(Y,X), reachable(Y). sink(X) :- not edge(X,Y). ?- reachable(c) ............... ?- sink(b). yes ?- sink(X). no comp(P): edge(a,b)  edge(c,d)  edge(d,c)  (Vx reachable(Vx)  (Vx = a  Vx = X  Y (edge(Y,X)  reachable(Y))))  ((Vu sink(Vu)  (Vu = U V edge(V,U))) Limitação 1: comp(P) | reachable(c). comp(P) | reachable(d). reachable(c)  (c=a  Y(edge(Y,c)  reachable(Y))  Y edge(Y,c)  reachable(Y)  reachable(d) Limitação 2: comp(P) | sink(b) sink(b)  (b=U V edge(V,U))  V edge(V,U)  b=U a c b d Limitações da semânticade complementação

  11. female + woman - + human man - Semânticas declarativas para programas lógicos normais • Semântica de complementação de Clark válida apenas para programas lógicos definidos, sem negação • Programa lógico estratificado: sem ciclo de dependências entre predicados através de negação • Programa lógico consistente: sem ciclo com número par de dependências entre predicados através de negação • Apenas programas lógicos normais estratificados possuem um único modelo mínimo de Herbrand definindo sua semântica • Programas lógicos normais mais gerais requerem outras semânticas • Extensões de Prolog ISO usam principalmente duas de tais semânticas: • Semântica de modelos estáveis (ou de conjunto de respostas) • Semântica bem fundamentada

  12. Semântica de programas lógicos normaisvia modelos estáveis • Objetivo de um modelo estável: definir conjunto de crenças consistentes para um agente racional • Rd(P,M) redução definida Rd de um programa lógico normal P com respeito a um modelo (ou hipótese) M: • proposicionalização ground(P) menos: • as regras de P tendo como premissa a negação de um elemento de M • as premissas negadas das regras restantes • Justificativa da redução: • Na hipótese que L é verdade, regras com not L em premissa não mudam o que pode ser deduzido e pode ser tirada sem mudar semântica de P • Na hipótese que L é falso, premissas com not L não mudam o que pode ser deduzido e pode ser tirada sem mudar semântica de P • Resulta em um programa lógico definido pelo quais podem ser usada as semânticas de Herbrand e de Clark • M é um modelo estável de um programa lógico normal P sse: • M = mm(Rd(P,M)) • Se é o menor modelo de Herbrand da redução de P com respeito a ele mesmo

  13. Modelos estáveis de programas lógicos normais: exemplo • Programa P: man(X) :- human(X), not woman(X). woman(X) :- human(X), not man(X). female(X) :- woman(X). human(roberta). • Proposicionalização ground(P). man(roberta) :- human(roberta), not woman(roberta). woman(roberta) :- human(roberta), not man(roberta). female(roberta) :- woman(roberta). human(roberta). • Redução Rd(P, {human(roberta),man(roberta)}): man(roberta) :- human(roberta). female(roberta) :- woman(roberta). human(roberta). • P tem 2 modelos estáveis mínimos: M1 = {human(roberta),man(roberta)} M2 = {human(roberta),woman(roberta),female(roberta)}

  14. Modelos estáveis de programas lógicos normais: propriedades e limitações • Um programa lógico normal P é: • Categórico se possui um único modelo estável • Inconsistente se possui nenhum • P é consistente e sem ciclos de dependência inteiramente positivo P tem pelo menos um modelo estável • Limitações dos modelos estáveis: • dedução exponencial no tamanho da base fato • alguns programas normais sem nenhum modelo estável • Exemplo: • P= {a., b :- a. c :- not c}. • Rd(P,{a,b}) = P que não tem menor modelo mínimo de Herbrand já que não é estratificado

  15. Programação por conjuntos de respostas • Máquinas de inferência que usam: • Programação em lógica, freqüentemente com várias extensões, como linguagem de representação do conhecimento • Proposicionalização e provadores de teoremas proposicionais para derivar modelos estáveis • Respostas as consultas diretamente lidas destes modelos

  16. Lógica ternária: Interpretação ternária de Herbrand de uma fórmula F da lógica da 1a ordem I(F) = (I+,I-) onde I+: fatos supostos verdades da base de Herbrand de F, Bh(F) I-: fatos supostos falsos da base de Herbrand de F, Bh(F) I(F) total se I+  I- = Bh(F) I(F) consistente se I+  I- =  Ordem informacional entre interpretações ternárias: I  J sse I+  J+ e I-  J- Modelo de Herbrand ternário:M3(F) = ({q  Bh(F) | F |= q}, {r  Bh(F) | F |= r}). Interpretações ternárias de Herbrand

  17. Semântica bem fundamentada de programas lógicos normais • R3(P,I) redução ternária R3 de um programa lógico normal P com respeito a uma interpretação de Herbrand ternária I: • proposicionalização de P com cada premissa negada substituída pelo seu valor em I • M = WFM(P) é um modelo bem fundamentado de P sse: M = M3(R3(P,M))

  18. Semântica bem fundamentada de programas lógicos normais: exemplo • Programa P: man(X) :- human(X), not woman(X). woman(X) :- human(X), not man(X). female(X) :- woman(X). human(roberta). • Proposicionalização ground(P): man(roberta) :- human(roberta), not woman(roberta). woman(roberta) :- human(roberta), not man(roberta). female(roberta) :- woman(roberta). human(roberta). • Redução R3(P, ({human(roberta)}, {})): man(roberta) :- human(roberta), u. woman(roberta) :- human(roberta), u. female(roberta) :- woman(roberta). human(roberta). • M = ({human(roberto)},{}) = M3(R3(P, M)) = WFM(P)

  19. Semântica bem fundada: vantagens e limitações • Vantagens do modelo bem fundado: • Dedução linear no tamanho da base de fato • Todo programa normal tem um modelo bem fundado • Exemplo: • P= {a., b :- a. c :- not c}. • R3(P,({a,b},{})) = {a., b:- c., u :- not u}. • M3(R3(P,({a,b},{}))) = ({a,b},{}) = WFM(P). • Limitações do modelo bem fundado: • Em alguns casos, deixa indefinidas valores que são deduzíveis a partir dos modelos estáveis • Exemplo: • P: {p :- not q., q :- not p., r :- p., r :- q}. • SM1(P) = {p, r}, SM2(P) = {q, r} • WFM(P) = {{},{}}

  20. Relações entre as várias semânticasde um programa lógico normal • Se P possui um único modelo estável SM(P) então: • seu modelo bem fundado WFM(P) é total, e WFM(P) = SM(P) • Se P é estratificado então: • S possui um único modelo estável SM(P) • S possui um modelo bem fundado total WFM(P) • SM(P) = WFM(P) = mm(comp(P)).

More Related