FOL resolution strategies - PowerPoint PPT Presentation

About This Presentation
Title:

FOL resolution strategies

Description:

Depth-First Search function DEPTH-FIRST-SEARCH (problem) returns a solution or failure GENERAL-SEARCH (problem, ENQUEUE-AT-FRONT) Time O(bm) ... – PowerPoint PPT presentation

Number of Views:100
Avg rating:3.0/5.0
Slides: 30
Provided by: Hi89
Learn more at: http://www.cs.cmu.edu
Category:

less

Transcript and Presenter's Notes

Title: FOL resolution strategies


1
FOL resolution strategies
  • Tuomas Sandholm
  • Carnegie Mellon University
  • Computer Science Department
  • Finish reading Russell Norvig Chapter 9 if you
    havent yet

2
Propositional logic is too weak a
representational language
  • Too many propositions to handle, and truth table
    has 2n rows. E.g. in the wumpus world, the
    simple rule dont go forward if the wumpus is in
    front of you requires 64 rules ( 16 squares x 4
    orientations for agent)
  • Hard to deal with change. Propositions might be
    true at times but not at others. Need a
    proposition Pit for each time step because one
    should not always forget what held in the past
    (e.g. where the agent came from)
  • dont know time steps
  • need time-dependent versions of rules
  • Hard to identify individuals, e.g. Mary, 3
  • Cannot directly talk about properties of
    individuals or relations between individuals,
    e.g. Tall(bill)
  • Generalizations, patterns cannot easily be
    represented all triangles have 3 sides.

3
Resolution in FOL via search
  • Resolution can be viewed as the bottom-up
    construction (using search) of a proof tree
  • Search strategy prescribes
  • which pair of sentences to pick for resolution at
    each point, and
  • which clause to unify from those sentences

4
Resolution strategies
  • Strategy is complete if it is guaranteed to find
    the empty clause whenever it is entailed
  • Level 0 clauses are the original ones. Level k
    clauses are the resolvents of two clauses, one of
    which is from level k-1 and the other from an
    earlier level
  • Breadth-first
  • Compute all level 1 clauses, then level 2
    clauses
  • Complete, but inefficient
  • Set-of-support
  • At least one parent clause must be from the
    negation of the goal or one of the descendants of
    such a goal clause
  • Complete (assuming all possible set-of-support
    clauses are derived)

5
Resolution strategies
  • Unit resolution
  • At least one parent clause must be a unit clause,
    i.e., contain a single literal
  • Not complete (but complete for Horn clause KBs)
  • Unit preference speeds up resolution drastically
    in practice
  • Input resolution
  • At least one parent from the set of original
    clauses (axioms and negation of goal)
  • Not complete (but complete for Horn clause KBs)
  • Linear resolution (generalization of input
    resolution)
  • Allow P and Q to be resolved together if P is in
    the original KB or P is an ancestor of Q in the
    proof tree
  • Complete for FOL

6
Subsumption
  • Eliminate more specific sentences than existing
    ones
  • E.g., if P(x) is in KB, then do not add P(A) or
    P(A) V Q(B)

7
Search I
  • Tuomas Sandholm
  • Carnegie Mellon University
  • Computer Science Department
  • Read Russell Norvig Sections 3.1-3.4. (Also
    read Chapters 1 and 2 if you havent already.)

8
Search I
Goal-based agent (problem solving agent) Goal
formulation (from preferences). Romania example,
(Arad ? Bucharest) Problem formulation deciding
what actions state to consider. E.g. not move
leg 2 degrees right.
No map vs. Map physical deliberative
search search
9
Search I
Formulate, Search, Execute (sometimes
interleave search execution) For now we assume
full observability, i.e., known state known
effects of actions Data type problem
Initial state (perhaps an abstract
characterization) vs. partial observability
(set) Operators Goal-test (maybe many
goals) Path-cost-function Knowledge
representation Mutilated chess board
example Can make huge speed difference in
integer programming, e.g., edge versus cycle
formulation in kidney exchange
10
Search I
Example problems demonstrated in terms of the
problem definition. I. 8-puzzle (general class
is NP-complete)
How to model operators? (moving tiles vs. blank)
Path cost 1
11
Search I
II. 8-queens (actually, even the general class
with n queens happens to have an efficient
solution, so search would not be the method of
choice) path cost 0 in this application we
are interested in a node, not a path
Incremental formulation (constructive
search) States any arrangement of 0 to 8 queens
on board Ops add a queen to any square
sequences 648
Complete State formulation (iterative
improvement) States arrangement of 8 queens, 1
in each column Ops move any attacked queen to
another square in the same column
Improved incremental formulation States any
arrangement of 0 to 8 queens on board with none
attacked Ops place a queen in the left-most
empty column s.t. it is not attacked by any other
queen sequences 2057
Almost a solution to the 8-queen problem
12
Search I
  • Rubik cube 1019 states
  • IV. Crypt arithmetic
  • FORTY 29786
  • TEN 850
  • TEN 850
  • SIXTY 31486
  • Real world problems
  • 1. Routing (robots, vehicles, salesman)
  • 2. Scheduling sequencing
  • 3. Layout (VLSI, Advertisement, Mobile phone
    link stations)
  • 4. Winner determination in combinatorial
    auctions
  • 5. Which combination of cycles to accept in
    kidney exchange?

13
Data type node
  • State
  • Parent-node
  • Operator
  • Depth
  • Path-cost
  • Fringe frontier open list (as queue)

14
(No Transcript)
15
(No Transcript)
16
Goodness of a search strategy
  • Completeness
  • Time complexity
  • Space complexity
  • Optimality of the solution found (path
    cost domain cost)
  • Total cost domain cost search cost

search cost
17
Uninformed vs. informed search
Can only distinguish goal states from non-goal
state
18
Breadth-First Search
function BREADTH-FIRST-SEARCH (problem) returns a
solution or failure return GENERAL-SEARCH
(problem, ENQUEUE-AT-END)
Breadth-first search tree after 0,1,2 and 3 node
expansions
19
Breadth-First Search
Max 1 b b2 bd nodes (d is the depth of
the shallowest goal) - Complete - Exponential
time memory O(bd) - Finds optimum if path-cost
is a non-decreasing function of the depth of the
node.
20
Uniform-Cost Search
Insert nodes onto open list in ascending order of
g(h).
  • Finds optimum if the cost of a path never
    decreases as we go along the path.
    g(SUCCESSORS(n)) ? g(n)
  • lt Operator costs ? 0
  • If this does not hold, nothing but an exhaustive
    search will find the optimal solution.

21
Depth-First Search
function DEPTH-FIRST-SEARCH (problem) returns a
solution or failure GENERAL-SEARCH (problem,
ENQUEUE-AT-FRONT)
Alternatively can use a recursive implementation.
  • Time O(bm) (m is the max depth in the space)
  • Space O(bm) !
  • Not complete (m may be ?)
  • E.g. grid search in one direction
  • Not optimal

22
Depth-Limited Search
  • Depth limit in the algorithm, or
  • Operators that incorporate a depth limit
  • L depth limit
  • Complete if L ? d (d is the depth of the
    shallowest goal)
  • Not optimal (even if one continues the search
    after the first solution has been found, because
    an optimal solution may not be within the depth
    limit L)
  • O(bL) time
  • O(bL) space
  • Diameter of a search space

23
Iterative Deepening Search
24
Iterative Deepening Search
Complete, optimal, O(bd) space What about run
time? Breadth first search 1 b b2 bd-1
bd E.g. b10, d5 1101001,00010,000100,00
0 111,111 Iterative deepening search (d1)1
(d)b (d-1)b2 2bd-1 1bd E.g.
650400300020,000100,000 123,456 In fact,
run time is asymptotically optimal O(bd). We
prove this next
25
(No Transcript)
26
Iterative Deepening Search
If branching factor is large, most of the work
is done at the deepest level of search, so
iterative deepening does not cost much
relatively to breadth-first search.
  • Conclusion
  • Iterative deepening is preferred when search
    space is large and depth of (optimal) solution is
    unknown
  • Not preferred if branching factor is tiny (near
    1)

27
Bi-Directional Search
Time O(bd/2)
28
Bi-Directional Search
  • Need to have operators that calculate
    predecessors.
  • What if there are multiple goals?
  • If there is an explicit list of goal states,
    then we can apply a predecessor function to the
    state set just as we apply the successors
    function in multiple-state forward search.
  • If there is only a description of the goal set,
    it MAY be possible to figure out the possible
    descriptions of sets of states that would
    generate the goal set.
  • Efficient way to check when searches meet hash
    table
  • 1-2 step issue if only one side stored in the
    table
  • Decide what kind of search (e.g. breadth-first)
    to use in each half.
  • Optimal, complete, O(bd/2) time. O(bd/2) space
    (even with iterative deepening) because the nodes
    of at least one of the searches have to be stored
    to check matches

29
Time, Space, Optimal, Complete?
b branching factor d depth of shallowest goal
state m depth of the search space l depth
limit of the algorithm
30
Avoiding repeated states
More effective more computational overhead
With loops, the search tree may even become
infinite
Write a Comment
User Comments (0)
About PowerShow.com