1 / 29

Epilog

Computational Logic Lecture 14. Epilog. Michael Genesereth Spring 2005. Overview.

mateo
Download Presentation

Epilog

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. Computational Logic Lecture 14 Epilog Michael Genesereth Spring 2005

  2. Overview Epilog is a theorem prover for Relational Logic. It is sound and complete. It is at least as efficient as Model Elimination, and it is arguably more efficient. It is somewhat more intuitive than ordinary Resolution. Features: Rule Form instead of Clausal Form Backward Chaining variant of the ME rule Iterative Deepening rather than Breadth-First Search

  3. Rule Form Rule Form is the same as clausal form except that clauses are expressed using “rule” syntax rather than set notation. There are two cases. Premise form is used for premises. Question form is used for desired conclusions.

  4. Premises Premises are expressed as rules. Note that ,1,…,n is equivalent to (  1  …  n).

  5. Conclusions Conclusions are expressed as questions. Note that 1,…,n is equivalent to (1…n). Note that (1…n) is equivalent to (1…n).

  6. Backward Chaining Backward Chaining is the same as reduction except that it works on rule form rather than clausal form. Reduced literals need be retained only for non-Horn premises. Cancellation and Dropping are analogous.

  7. Example

  8. Example

  9. Answer Extraction To extract answers start with definition of goal relation rather than question.

  10. Answer Extraction Rule

  11. Example

  12. Troubling Example

  13. Multiple Goal Rule

  14. Example

  15. Search Space Question: a? Premises a  ba  ca  d b ec gd i b  f c h d  j

  16. Search Space a b c d e f g h i j Given the Set of Support Restriction and input restriction, the search space looks like a simple tree or graph. There are different schedules for searching the tree or graph.

  17. Breadth First Search a b c d e f g h i j a b c d e f g h i j Advantage: Finds shortest path Disadvantage: Saves lots of intermediate information

  18. Depth First Search a b c d e f g h i j a b e f c g h d i j Advantage: Small intermediate storage Disadvantage: Susceptible to garden paths Disadvantage: Susceptible to infinite loops

  19. Time Comparison Analysis for branching 2 and depth d and solution at depth k

  20. Time Comparison Analysis for branching b and depth d and solution at depth k.

  21. Space Comparison Worst Case Space Analysis for search depth d and depth k.

  22. Iterative Deepening Run depth-limited search repeatedly, starting with a small initial depth, incrementing on each iteration, until success or run out of alternatives.

  23. Example a b c d e f g h i j a a b c d a b e f c g h d i j Advantage: Small intermediate storage Advantage: Finds shortest path Advantage: Not susceptible to garden paths Advantage: Not susceptible to infinite loops

  24. Time Comparison

  25. General Result Theorem: The cost of iterative deepening search is b/(b-1) times the cost of depth-first search (where b is the branching factor). See Korf.

  26. Ease of Understanding of Proof Process Call: r? Call: p? Call: m? Exit: m Exit: p Call: q? Call: m? Exit: m Exit: q Exit: r Depth-First Search supports tracing and debugging. Highly important on problems with many rules.

  27. Ease of Understanding of Proof Process Call: r(x)? Call: p(x)? Exit: p(a) Call: q(a)? Fail: q(a)? Redo: p(x)? Exit: p(b) Call: q(b)? Exit: q(b)? Exit: r(b)

  28. Implementation Notes In the implementation of Epilog, question literals, reduced literals, and goal literals are kept in separate variables. This avoids cluttering chains and thereby simplifies derivations. Variables are not plugged in along the way but rather are kept in binding lists. This saves wasteful copying. In conjunctive questions, e.g. p(x)  q(x), solutions to early literals, e.g. p(x) are pipelined to later literals, e.g. q(x), rather than being computed up front. This allows termination even in cases where there are infinitely many solutions.

  29. Related Systems Prolog (David Warren) Horn Clauses only Depth-First Search means potential for infinite loops No occur check in unifier Prolog Technology Theorem Prover (Mark Stickel) essentially the same as Epilog Epilog (yours truly) essentially the same as PTTP

More Related