Knowledge and search - PowerPoint PPT Presentation

About This Presentation
Title:

Knowledge and search

Description:

make a holiday plan? recognize a picture? Knowledge and search, ... The goat is safe if the farmer is on the same bank of the river, or when the wolf is not. ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 23
Provided by: siteUo
Category:
Tags: knowledge | search

less

Transcript and Presenter's Notes

Title: Knowledge and search


1
Knowledge and search
  • Points
  • Properties of knowledge
  • Completeness
  • Objectivity
  • Certainty
  • Formalizability
  • The role of search
  • A small case study

2
Properties of knowledgecompleteness
  • "Knowledge is always incomplete"true or false?
  • What do we need to know when we
  • play a game?
  • make a holiday plan?
  • recognize a picture?

3
... completeness (2)
  • Even in a very restricted real-life domain there
    may be unexpected situations. Find examples of
    such situations in
  • buying groceries,
  • fixing a car.
  • Knowledge contained in an AI software system for
    some application is necessarily much less
    complete than what we know about this
    application true or false?

4
Properties of knowledgeobjectivity
  • Knowledge may be objective or subjective we have
    to make a distinction between facts and beliefs.
    Beliefs are associated with agents.
  • Jack is planning a gift for his mother. He
    believes that she dislikes classical music. Will
    he buy a Mozart CD for her?
  • Is there anything subjective in the game of
    chess?
  • Is there anything objective in art appreciation?

5
Properties of knowledgecertainty
  • Knowledge may be certain or uncertain. Diagnostic
    expert systems are a good example faults and
    repair advice do not always logically follow from
    observations or symptoms.
  • What (if anything) can we conclude with certainty
    from
  • a sick person's short breath?
  • a car engine noise?
  • a position in a chess game?
  • Probability plays an essential role here -- more
    to come, later.

6
Properties of knowledgeformalizability
  • Knowledge may or may not be easily formalized --
    written down in some symbolic language (recall
    the physical-symbol systems).
  • People often operate in an approximate manner and
    allow themselves a margin of error.
  • Perhaps the same should be possible for
    intelligent systems, except that systems only
    have explicit knowledge that has been put into
    them.

7
... formalizability (2)
  • People rely on experience systems must have
    experience formalized as well.
  • Which of the following can be formalized
    (represented!) with little effort
  • the rules of ice hockey?
  • the relationship between moods and colours?
  • the decision-making of a loan officer in a
    bank?
  • a surgical procedure?

8
The role of search
  • Intelligent behaviour requires knowledge.
  • There is a hypothesis is that intelligent action
    can be reduced to search.
  • While intelligence is certainly more than search,
    the hypothesis is attractive search is well
    understood, easily mechanized, manageable, and so
    on.
  • Formally represented knowledge can also be easily
    used in search.

9
The role of search (2)
  • Search means systematic traversal of a space of
    possible solutions of a problem.
  • A search space is usually a graph (often as
    simple as a tree).
  • A node represents a partial solution.
  • An edge represents a step in the construction of
    a solution.

10
The role of search (3)
  • The purpose of search may be
  • to find a path in the graph from a start node
    to a goal node (that is, from an initial to a
    final situation),
  • to find a goal node.
  • Examples in textbooks are often puzzles and games
    -- not surprisingly, because these problems are
    the easiest to present as search. The challenge
    is to try it with other kinds of problems.

11
The role of search (4)
  • Examples of such problems
  • Analyze an English sentence.
  • Debug a Pascal procedure.
  • Program a robot.

12
A small case study
  • A farmer has a wolf, a goat and a cabbage. He
    wants to cross the river from the south bank to
    the north bank.
  • There is a boat that can only carry the farmer
    and at most one of his possessions.
  • The wolf left alone with the goat will eat it.
  • The goat left alone with the cabbage will eat it.
  • How can the farmer cross the river and lose none
    of the three?

13
... case study (2)
  • This is a classical example of a planning
    problem. We must find a sequence of actions that
    will take the farmer across the river. At each
    moment, the whole situation is in one of its
    possible states.
  • A state describes the position of the farmer, his
    three possessions and the boat with respect to
    the north and south bank of the river.
  • An action is one crossing of the river, north or
    south. As a result of such an action, the farmer,
    the boat and possibly one of the three objects
    transfer from one bank to the other. There are
    constraints on actions, as no action should leave
    to an unsafe state.

14
... case study (3)
  • In the initial situation, everything is on the
    south bank. In the desired final situation the
    farmer and his three possessions are on the north
    bank.
  • We will represent a situation as a four-tuple of
    locations of the farmer, the wolf, the goat and
    the cabbage. We do not need to represent the
    position of the boat, because in is always
    located on the same bank as the farmer. For
    example, in the situation
  • situation(s, n, s, n)
  • the farmer and the goat are on the south bank,
    and the other two on the north bank. Is this
    situation safe?

15
... case study (4)
  • We represent the initial situation
    as situation(s,s,s,s)and the final situation
    as situation(n,n,n,n)
  • Four actions are possible in each situation. The
    farmer transfers himself to the opposite bank he
    also transfers nothing, or the wolf, or the goat,
    or the cabbage.
  • We will represent these actions as Prolog terms
  • moved( nothing )
  • moved( wolf )
  • moved( goat )
  • moved( cabbage )

16
... case study (5)
  • A situation is safe if it is safe both for the
    goat and the cabbage. The goat is safe if the
    farmer is on the same bank of the river, or when
    the wolf is not. The cabbage is safe if the
    farmer is on the same bank, or when the goat is
    not.
  • We can express in Prolog everything we know about
    this problem. First, the main predicate
  • successfulMoves( Mvs ) - movesLeadingTo(
    Mvs, situation( n, n, n, n ) ).
  • Mvs is a list of representations of actions.

17
... case study (6)
  • No actions are necessary to stay in the initial
    situation
  • movesLeadingTo( , situation( s, s,
    s, s ) ).
  • Otherwise, let Mvs1 be a list of legal actions
    leading to situation S1. Perform one more action
    and add it to Mvs1
  • movesLeadingTo( Mvs, S ) - movesLeadingTo(
    Mvs1, S1 ), transforms( Mv, S1, S ),
    append( Mvs1, Mv, Mvs ), safe( S ).

18
... case study (7)
  • North is opposite south
  • opposite( n, s ).opposite( s, n ).
  • The four possible actions
  • transforms( moved( nothing ),
    situation( X, Z1, Z2, Z3 ),
    situation( Y, Z1, Z2, Z3 ) ) - opposite( X,
    Y ).
  • transforms( moved( wolf ), situation(
    X, X, Z2, Z3 ), situation( Y, Y, Z2,
    Z3 ) ) - opposite( X, Y ).

continued
19
... case study (8)
  • transforms( moved( goat ), situation(
    X, Z1, X, Z3 ), situation( Y, Z1, Y,
    Z3 ) ) - opposite( X, Y ).
  • transforms( moved( cabbage ),
    situation( X, Z1, Z2, X ), situation(
    Y, Z1, Z2, Y ) ) - opposite( X, Y ).
  • The safety rules are as discussed earlier
  • safe( S ) - safe_for_goat( S ),
    safe_for_cabbage( S ).

20
... case study (9)
  • The farmer and the goat together
  • safe_for_goat( situation( X, Z1, X, Z3 ) ).
  • The wolf and the goat separated
  • safe_for_goat( situation( X, Z1, Y, Z3 ) )
    - opposite( Z1, Y ).

21
... case study (10)
  • The same for the goat and the cabbage
  • safe_for_cabbage( situation( X, Z1, Z2, X )
    ).
  • safe_for_cabbage( situation( X, Z1, Z2, Y )
    ) - opposite( Z2, Y ).
  • And finally here is a solution
  • ?- successfulMoves( Mvs ).
  • Mvs moved(goat), moved(nothing), moved(wolf),
    moved(goat), moved(cabbage), moved(nothing),
    moved(goat)
  • Yes

22
... case study (11)
  • This program requires cuts in the definitions of
    safe_for_cabbage and safe_for_goat if it is to
    lose its annoying nondeterminism. It will then
    quickly deliver the other optimal solution
  • Mvs moved(goat), moved(nothing),
    moved(cabbage), moved(goat), moved(wolf),
    moved(nothing), moved(goat)
  • After that, the program begins to deliver
    non-optimal solutions, longer and longer, with
    the unproductive moved(X), moved(X) inserted just
    about everywhere.
Write a Comment
User Comments (0)
About PowerShow.com