03 knowledge representations

Upload: skyisvisible

Post on 04-Jun-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 03 Knowledge Representations

    1/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    Knowledge Representations : AI Course Lecture 15 22, notes, slides

    www.myreaders.info/ , RC Chakraborty, e-mail [email protected] , June 01, 2010

    www.myreaders.info/html/artificial_intelligence.html

    Knowledge Representation

    Issues, Predicate Logic, Rules

    Artificial Intelligence

    Knowledge representation in AI, topics : knowledge progression,

    model, category, typology map, and relationship; Mapping between

    facts and representation, forward and backward representation, KR

    system requirements; KR schemes relational, inheritable, inferential,

    declarative and procedural; Issues in KR - attributes, relationship,

    granularity. Knowledge representation using logic : Propositional

    logic - statements, variables, symbols, connective, truth value,

    contingencies, tautologies, contradictions, antecedent, consequent,

    argument; Predicate logic predicate, logic expressions, quantifiers,

    formula; Representing IsA and Instance relationships;

    Computable functions and predicates. Knowledge representation

    using rules : declarative, procedural, and meta rules; Logic

    programming characteristics - statement, language, syntax, data

    objects, clause, predicate, sentence, subject, queries; Programming

    paradigms models of computation, imperative, functional, and

    logic model; Reasoning, and conflict.

    www.myreaders.info

  • 8/13/2019 03 Knowledge Representations

    2/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    Knowledge Representation

    Issues, Predicate Logic, Rules

    Artificial Intelligence

    Topics(Lectures 15, 16, 17, 18, 19, 20, 21, 22 8 hours)

    Slides

    1. Knowledge Representation

    Introduction Knowledge Progression, KR model, category : typology

    map, type, relationship, framework, mapping, forward & backward

    representation, KR system requirements; KR schemes - relational,

    inheritable, inferential, declarative, procedural; KR issues - attributes,

    relationship, granularity.

    03-26

    2. KR Using Predicate Logic

    Logic as language; Logic representation :Propositional logic, statements,

    variables, symbols, connective, truth value, contingencies, tautologies,

    contradictions, antecedent, consequent, argument; Predicate logic

    predicate, logic expressions, quantifiers, formula; Representing IsA

    and Instance relationships; Computable functions and predicates;

    Resolution.

    27-47

    3. KR Using Rules

    Types of Rules - declarative, procedural, meta rules; Procedural verses

    declarative knowledge & language; Logic programming characteristics,

    statement, language, syntax & terminology, Data components - simple

    & structured data objects, Program Components - clause, predicate,

    sentence, subject, queries; Programming paradigms models of

    computation, imperative model, functional model, logic model;

    Reasoning - Forward and backward chaining, conflict resolution;

    Control knowledge.

    48-78

    4. References 79

    02

  • 8/13/2019 03 Knowledge Representations

    3/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    Knowledge Representation

    Issues, Predicate Logic, Rules

    How do we Represent what we know ?

    Knowledgeis a general term.An answer to the question, "how to represent knowledge", requires an

    analysis to distinguish between knowledge how and knowledge that.

    knowing "howto do something".

    e.g. "how to drive a car" is a Procedural knowledge.

    knowing "thatsomething is true or false".

    e.g. "that is the speed limit for a car on a motorway" is a Declarative

    knowledge.

    knowledge and Representation are two distinct entities. They play a

    central but distinguishable roles in intelligent system.

    Knowledge is a description of the world.

    It determines asystem's competenceby what it knows.

    Representation is the way knowledge is encoded.

    It defines asystem's performancein doing something.

    Different types of knowledge require different kinds of representation.

    The Knowledge Representationmodels/mechanisms are often based on:

    Logic Rules

    Frames Semantic Net

    Different types of knowledge require different kinds of reasoning.

    03

  • 8/13/2019 03 Knowledge Representations

    4/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR -Introduction

    1. Introduction

    Knowledge is a general term.Knowledge is a progression that starts with datawhich is of limited utility.

    By organizing or analyzing the data, we understand what the data means,

    and this becomes information.

    The interpretation or evaluation of information yield knowledge.

    An understanding of the principles embodied within the knowledge is wisdom.

    Knowledge Progression

    Fig 1 Knowledge Progression

    Datais viewed as collection of

    disconnected facts.

    : Example : It is raining.

    Information emerges when

    relationshipsamong facts are

    established and understood;

    Provides answers to "who",

    "what", "where", and "when".

    : Example : The temperature dropped 15

    degrees and then it started raining.

    Knowledge emerges when

    relationships among patterns

    are identified and understood;

    Provides answers as "how".

    : Example : If the humidity is very high

    and the temperature drops substantially,

    then atmospheres is unlikely to hold the

    moisture, so it rains.

    Wisdom is the pinnacle of

    understanding, uncovers the

    principles of relationships that

    describe patterns.

    Provides answers as "why".

    : Example : Encompasses understanding

    of all the interactions that happen

    between raining, evaporation, air

    currents, temperature gradients andchanges.

    04

    Data Information Knowledge

    Organizing

    Analyzing

    Interpretation

    Evaluation

    WisdomUnderstanding

    Principles

  • 8/13/2019 03 Knowledge Representations

    5/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR -Introduction

    Knowledge Model (Bellinger 1980)

    A knowledge model tells, that as the degree of connectedness and

    understanding increases, we progress from datathrough information and

    knowledgeto wisdom.

    Fig. Knowledge Model

    The model represents transitionsand understanding.

    the transitionsare from data, to information, to knowledge, and finally

    to wisdom;

    the understanding support the transitions from one stage to the next

    stage.

    The distinctions between data, information, knowledge, and wisdom are not

    very discrete. They are more like shades of gray, rather than black and

    white (Shedroff, 2001).

    "data" and "information" deal with the past; they are based on the

    gathering of factsand adding context.

    "knowledge" deals with the presentthat enable us to perform.

    "wisdom"deals with the future, acquire vision for what will be, rather

    than for what is or was.

    05

    Data

    Information

    Knowledge

    Wisdom

    Understandingrelations

    Understandingpatterns

    Understandingprinciples

    Degree ofUnderstanding

    Degree of

    Connectedness

  • 8/13/2019 03 Knowledge Representations

    6/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR -Introduction

    Knowledge Category

    Knowledge is categorized into two major types: Tacit and Explicit.

    term Tacitcorresponds to"informal" or "implicit" type of knowledge,

    term Explicitcorresponds to "formal" type of knowledge.

    Tacit knowledge Explicit knowledge

    Exists within a human being;

    it is embodied.

    Exists outside a human being;

    it is embedded.

    Difficult to articulate formally.

    Can be articulated formally. Difficult to communicate or

    share.

    Can be shared, copied, processed

    and stored.

    Hard to steal or copy. Easy to steal or copy

    Drawn from experience,

    action, subjective insight.

    Drawn from artifact of some type as

    principle, procedure, process,

    concepts.

    (The next slide explains more about tacit and explicit knowledge).

    06

  • 8/13/2019 03 Knowledge Representations

    7/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR -Introduction Knowledge Typology Map

    The map shows two types of knowledge - Tacit and Explicitknowledge.

    Tacit knowledgecomes from "experience", "action", "subjective" , "insight"

    Explicit knowledge comes from "principle", "procedure", "process",

    "concepts",via transcribed content or artifact of some type.

    Fig. Knowledge Typology Map

    Facts : are data or instance that are specific and unique.

    Concepts :are class of items, words, or ideas that are known by a

    common name and share common features.

    Processes: are flow of events or activities that describe how things

    work rather than how to do things.

    Procedures : are series of step-by-step actions and decisions that

    result in the achievement of a task.

    Principles :are guidelines, rules, and parameters that govern;

    principles allow to make predictions and draw implications;

    These artifacts are used in the knowledge creation process to create two

    types of knowledge: declarativeand proceduralexplained below.

    07

    Knowledge

    TacitKnowledge

    Experience

    SubjectiveInsight

    Doing(action)

    ExplicitKnowledge

    ProcedurePrinciples

    Concept

    Process

    Information

    Context

    Data

    Facts

  • 8/13/2019 03 Knowledge Representations

    8/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR -Introduction

    Knowledge Type

    Cognitive psychologists sort knowledge into Declarative and Procedural

    category and some researchers added Strategicas a third category.

    Aboutprocedural knowledge, there is some disparity in views.

    One, it is close to Tacit knowledge, it manifests itself in the doing of some-thing yet cannot be expressed in words; e.g., we read faces and moods.

    Another, it is close to declarative knowledge; the difference is that a task or

    method is described instead of facts or things.

    All declarative knowledge are explicit knowledge; it is knowledge that

    can be and has been articulated.

    The strategic knowledge is thought as a subset of declarative

    knowledge.

    Procedural knowledge Declarative knowledge

    Knowledge about "how to dosomething"; e.g., to determine if

    Peter or Robert is older, first find

    their ages.

    Knowledge about "thatsomething is true or false".e.g.,

    A car has four tyres; Peter is

    older than Robert;

    Focuses on tasks that must be

    performed to reach a particular

    objective or goal.

    Refers to representations of

    objects and events; knowledge

    about facts and relationships;

    Examples : procedures, rules,

    strategies, agendas, models.

    Example : concepts, objects,

    facts, propositions, assertions,

    semantic nets, logic and

    descriptive models.

    08

  • 8/13/2019 03 Knowledge Representations

    9/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR -Introduction

    Relationship among Knowledge Type

    The relationship among explicit, implicit, tacit, declarative and procedural

    knowledgeare illustrated below.

    Fig. Relationship among types of knowledge

    The Figure shows :

    Declarative knowledge is tied to "describing" and

    Procedural knowledge is tied to "doing."

    Vertical arrows connecting explicit with declarative and tacit with

    procedural, indicate the strong relationships exist among them.

    Horizontal arrow connecting declarative and procedural indicates that we

    often developprocedural knowledgeas a result of starting with declarative

    knowledge. i.e., we often "know about" before we "know how".

    Therefore, we may view :

    all procedural knowledge as tacit knowledge, and

    all declarative knowledge as explicit knowledge.

    09

    Implicit

    DoingProceduralDeclarativeDescribing

    Explicit Tacit

    Has been

    articulated

    Can not bearticulated

    Motor Skill(Manual)

    Facts andthings

    Tasks andmethods

    Mental Skill

    KnowledgeStart

    No Yes

    NoYes

  • 8/13/2019 03 Knowledge Representations

    10/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR -framework

    1.1 Framework of Knowledge Representation (Poole 1998)

    Computer requires a well-defined problem description to process and

    provide well-defined acceptable solution.

    To collect fragments of knowledge we need first to formulate a description

    in our spoken language and then represent it in formal language so that

    computer can understand. The computer can then use an algorithm to

    compute an answer. This process is illustrated below.

    Fig. Knowledge Representation Framework

    The steps are

    Theinformal formalism of the problem takes place first.

    It is then represented formally and the computer produces an output.

    This output can then be represented in a informally described solution

    that user understands or checks for consistency.

    Note : The Problem solving requires

    formal knowledge representation, and

    conversion of informal knowledge to formal knowledge , that is

    conversion of implicit knowledge to explicit knowledge.

    10

    Compute

    Problem

    OutputRepresentation

    Solution

    Interpret

    Solve

    Represent

    Formal

    Informal

  • 8/13/2019 03 Knowledge Representations

    11/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - framework

    Knowledge and Representation

    Problem solving requires large amount of knowledge and some

    mechanism for manipulating that knowledge.

    The Knowledge and the Representation are distinct entities, play a

    central but distinguishable roles in intelligent system.

    Knowledge is a description of the world;

    it determines a system's competence by what it knows.

    Representation is the way knowledge is encoded;

    it defines the system's performance in doing something.

    In simple words, we:

    need to know about things we want to represent, and

    need some means by which things we can manipulate.

    Objects - facts about objects in the domain.

    Events - actions that occur in the domain.

    Performance - knowledge about how to do things

    know thingsto represent

    Meta-knowledge

    - knowledge about what we know

    need meansto manipulate

    Requiressome formalism

    - to what we represent ;

    Thus, knowledge representation can be considered at two levels :

    (a) knowledge level at which facts are described, and

    (b) symbol level at which the representations of the objects, defined in

    terms of symbols, can be manipulated in the programs.

    Note : A good representation enables fast and accurate access to

    knowledge and understanding of the content.11

  • 8/13/2019 03 Knowledge Representations

    12/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - framework

    Mapping between Facts and Representation

    Knowledge is a collection of facts from some domain.

    We need a representation of "facts" that can be manipulated by a program.

    Normal English is insufficient, too hard currently for a computer program to

    draw inferences in natural languages.

    Thus some symbolic representation is necessary.

    Therefore, we must be able to map "facts to symbols" and "symbols to

    facts" using forward and backward representation mapping.

    Example : Consider an English sentence

    Facts Representations

    Spot is a dog A factrepresented in English sentence

    dog (Spot) Using forward mapping function the

    above factis represented in logic

    x: dog(x) hastail (x) A logical representationof the factthat"all dogs have tails"

    Now using deductive mechanism we can generate a new

    representation of object :

    hastail (Spot) A new object representation

    Spot has a tail

    [it is new knowledge]

    Using backward mapping function to

    generate English sentence

    12

    Facts InternalRepresentation

    EnglishRepresentation

    Englishunderstanding

    English

    generation

    Reasoning

    programs

  • 8/13/2019 03 Knowledge Representations

    13/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - framework Forward and Backward Representation

    The forward and backward representations are elaborated below :

    The doted line on top indicates the abstract reasoningprocess that a

    program is intended to model.

    The solid lines on bottom indicates the concrete reasoningprocess

    that the program performs.

    13

    InitialFacts

    InternalRepresentation

    EnglishRepresentation

    Forwardrepresentationmapping

    Backwardrepresentation

    mapping

    Desired realreasoning Final

    Facts

    Operated byprogram

  • 8/13/2019 03 Knowledge Representations

    14/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - framework

    KR System Requirements

    A good knowledge representation enables fast and accurate access to

    knowledge and understanding of the content.

    A knowledge representation system should have following properties.

    RepresentationalAdequacy

    The ability to represent all kinds of knowledge

    that are needed in that domain.

    Inferential Adequacy The ability to manipulate the representational

    structures to derive new structure corresponding

    to new knowledge inferred from old .

    Inferential Efficiency The ability to incorporate additional information

    into the knowledge structure that can be used tofocus the attention of the inference mechanisms

    in the most promising direction.

    AcquisitionalEfficiency

    The ability to acquire new knowledge using

    automatic methods wherever possible rather than

    reliance on human intervention.

    Note : To date no single system can optimizes all of the above properties.14

  • 8/13/2019 03 Knowledge Representations

    15/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - schemes1.2Knowledge Representation Schemes

    There are four types of Knowledge representation :

    Relational, Inheritable, Inferential, and Declarative/Procedural.

    Relational Knowledge :

    provides a framework to compare two objects based on equivalentattributes.

    any instance in which two different objects are compared is a

    relational type of knowledge.

    Inheritable Knowledge

    is obtained from associated objects.

    it prescribes a structure in which new objects are created which may

    inherit all or a subset of attributes from existing objects.

    Inferential Knowledge

    is inferred from objects through relations among objects.

    e.g., a word alone is a simple syntax, but with the help of other

    words in phrase the reader may infer more from a word; this

    inference within linguistic is called semantics.

    Declarative Knowledge

    a statement in which knowledge is specified, but the use to which

    that knowledge is to be put is not given.

    e.g. laws, people's name; these are facts which can stand alone, not

    dependent on other knowledge;

    Procedural Knowledge

    a representation in which the control information, to use the

    knowledge, is embedded in the knowledge itself.

    e.g. computer programs, directions, and recipes; these indicate

    specific use or implementation;

    These KR schemes are detailed in next few slides15

  • 8/13/2019 03 Knowledge Representations

    16/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - schemes

    Relational Knowledge :

    This knowledge associates elements of one domain with another domain.

    Relational knowledge is made up of objects consisting of attributes and

    their corresponding associated values.

    The results of this knowledge type is a mapping of elements amongdifferent domains.

    The table below shows a simple way to store facts.

    The facts about a set of objects are put systematically in columns.

    This representation provides little opportunity for inference.

    Table - Simple Relational Knowledge

    Player Height Weight Bats - Throws

    Aaron 6-0 180 Right - Right

    Mays 5-10 170 Right - Right

    Ruth 6-2 215 Left - Left

    Williams 6-3 205 Left - Right

    Given the facts it is not possible to answer simple question such as :

    " Who is the heaviest player ? ".

    but if a procedure for finding heaviest player is provided, then these

    facts will enable that procedure to compute an answer.

    We can ask things like who "bats left" and "throws right".

    16

  • 8/13/2019 03 Knowledge Representations

    17/79

  • 8/13/2019 03 Knowledge Representations

    18/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - schemes[from previous slide example]

    Viewing a node as a frame

    Example : Baseball-player

    isa : Adult-Male

    Bates : EQUAL handed

    Height : 6.1Batting-average : 0.252

    Algorithm : Property Inheritance

    Retrieve a value V for an attribute A of an instance object O.

    Steps to follow:

    1. Find objectOin the knowledge base.

    2. If there is a value for the attributeA then report that value.

    3. Else, if there is a value for the attribute instance; If not, then fail.

    4. Else, move to the node corresponding to that value and look for a

    value for the attribute A; If one is found, report it.

    5. Else, do until there is no value for theisaattribute or

    until an answer is found :

    (a) Get the value of theisaattribute and move to that node.

    (b) See if there is a value for the attribute A; If yes, report it.

    This algorithm is simple. It describes the basic mechanism of

    inheritance. It does not say what to do if there is more than one value

    of the instance orisaattribute.

    This can be applied to the example of knowledge base illustrated, in the

    previous slide, to derive answers to the following queries :

    team (Pee-Wee-Reese) = BrooklynDodger

    battingaverage(Three-Finger-Brown) = 0.106

    height (Pee-Wee-Reese) = 6.1

    bats (Three Finger Brown) = right

    [For explanation - refer book on AI by Elaine Rich & Kevin Knight, page 112]

    18

  • 8/13/2019 03 Knowledge Representations

    19/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - schemes

    Inferential Knowledge :

    This knowledge generates new informationfrom the given information.

    This new information does not require further data gathering form source,

    but does require analysis of the given information to generate new

    knowledge.Example :

    given a set of relations and values, one may infer other values or

    relations.

    a predicate logic (a mathematical deduction) is used to infer from a set

    of attributes.

    inference through predicate logic uses a set of logical operations to relate

    individual data.

    the symbols used for the logic operations are :

    " " (implication), " " (not), " V " (or), " " (and),

    " " (for all), " " (there exists).Examples of predicate logic statements :

    1. "Wonder"is a name of a dog : dog (wonder)

    2. All dogs belong to the class of animals : x : dog (x) animal(x)3. All animals either live on land or in

    water :x : animal(x) live (x,land) V live (x, water)

    From these three statements we can infer that :

    " Wonder lives either on land or on water."

    Note :If more information is made available about these objects and their

    relations, then more knowledge can be inferred.

    19

  • 8/13/2019 03 Knowledge Representations

    20/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - schemes

    Declarative/Procedural Knowledge

    Differences between Declarative/Procedural knowledge is not very clear.

    Declarative knowledge :

    Here, the knowledge is based on declarative facts about axioms and

    domains . axioms are assumed to be true unless a counter example is found to

    invalidate them.

    domains represent the physical world and the perceived functionality.

    axiom and domains thus simply exists and serve as declarative

    statements that can stand alone.

    Procedural knowledge:

    Here, the knowledge is a mapping process between domains that specifywhat to do whenand the representation is of how to make it rather

    than what it is. The procedural knowledge :

    may have inferential efficiency, but no inferential adequacy and

    acquisitional efficiency.

    are represented as small programs that know how to do specific things,

    how to proceed.

    Example: A parser in a natural language has the knowledge that a noun

    phrase may contain articles, adjectives and nouns. It thus accordingly call

    routines that know how to process articles, adjectives and nouns.

    20

  • 8/13/2019 03 Knowledge Representations

    21/79

  • 8/13/2019 03 Knowledge Representations

    22/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - issues

    Important Attributes : (Ref. Example - Fig. Inheritable KR)

    There are attributesthat are of general significance.

    There are two attributes "instance" and "isa", that are of general

    importance. These attributes are important because they support

    property inheritance.

    Relationship among Attributes : (Ref. Example- Fig. Inheritable KR)

    The attributes to describe objects are themselves entities they represent.

    The relationship between the attributes of an object, independent of specific

    knowledge they encode, may hold properties like:

    Inverses, existence in an isa hierarchy, techniques for reasoning about

    values and single valued attributes.

    Inverses :

    This is aboutconsistency check,while a value is added to one attribute.

    The entities are related to each other in many different ways. The figure

    shows attributes (isa, instance, and team), each with a directed arrow,

    originating at the object being described and terminating either at the

    object or its value.

    There are two ways of realizing this:

    first, represent two relationships in a single representation; e.g., a

    logical representation, team(Pee-Wee-Reese, BrooklynDodgers),

    that can be interpreted as a statement about Pee-Wee-Reese or

    BrooklynDodger.

    second, use attributes that focus on a single entity but use them in

    pairs, one the inverse of the other; for e.g., one, team = Brooklyn

    Dodgers, and the other, team = Pee-Wee-Reese, . . . .

    This second approach is followed in semantic net and frame-based

    systems, accompanied by a knowledge acquisition tool that guarantees

    the consistency of inverse slot by checking, each time a value is added

    to one attribute then the corresponding value is added to the inverse.

    22

  • 8/13/2019 03 Knowledge Representations

    23/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - issues

    Existence in an "isa" hierarchy:

    This is about generalization-specialization, like, classes of objects and

    specialized subsets of those classes. There are attributes and

    specialization of attributes.

    Example: the attribute "height" is a specialization of general attribute

    "physical-size"which is, in turn, a specialization of "physical-attribute".

    These generalization-specialization relationships for attributes are

    important because they support inheritance.

    Techniques for reasoning about values:

    This is about reasoning values of attributes not given explicitly.

    Several kinds of information are used in reasoning, like,

    height : must be in a unit of length,

    age : of person can not be greater than the age ofperson's parents.

    The values are often specified when a knowledge base is created.

    Single valued attributes:

    This is abouta specificattribute that is guaranteed to take a unique

    value.

    Example : A baseball player can at time have only a single height and

    be a member of only one team. KR systems take different approaches

    to provide support for single valued attributes.

    23

  • 8/13/2019 03 Knowledge Representations

    24/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - issues

    Choosing Granularity

    What level should the knowledge be represented and

    what are the primitives ?

    Should there be a small number or should there be a large number of

    low-level primitives or High-level facts.

    High-level facts may not be adequate for inference while Low-level

    primitives may require a lot of storage.

    Example of Granularity:

    Suppose we are interested in following facts

    John spotted Sue.

    This could be represented as

    Spotted (agent(John), object (Sue))

    Such a representation would make it easy to answer questions such are

    Who spotted Sue ?

    Suppose we want to know

    Did John see Sue ?

    Given only one fact, we cannot discover that answer.

    We can add other facts, such as

    Spotted (x , y) saw (x , y)

    We can now infer the answer to the question.

    24

  • 8/13/2019 03 Knowledge Representations

    25/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - issues

    Set of Objects

    Certain properties of objects that are true as member of a set but

    not as individual;

    Example : Consider the assertion made in the sentences

    "there are more sheepthanpeoplein Australia", and

    "Englishspeakers can be found all over the world."

    To describe these facts, the only way is to attach assertion to the sets

    representing people, sheep, and English.

    The reason to represent sets of objects is :

    If a property is true for all or most elements of a set,

    then it is more efficient to associate it once with the set

    rather than to associate it explicitly with every elements of the set .

    This is done in different ways :

    in logical representation through the use of universal quantifier, and

    in hierarchical structure where node represent sets, the inheritance

    propagateset level assertion down to individual.

    Example: assert large (elephant);

    Remember to make clear distinction between,

    whether we are asserting some property of the set itself,

    means, the set of elephants is large, or

    asserting some property that holds for individual elements of the set ,means, any thing that is an elephant is large.

    There are three ways in which sets may be represented :

    (a)Name, as in the example Ref Fig. Inheritable KR, the node - Baseball-

    Player and the predicates as Ball and Batter in logical representation.

    (b)Extensional definition is to list the numbers, and

    (c)In tensional definition is to provide a rule, that returns true or false

    depending on whether the object is in the set or not.

    [Readers may refer book on AI by Elaine Rich & Kevin Knight- page 122 - 123]

    25

  • 8/13/2019 03 Knowledge Representations

    26/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - issues

    Finding Right Structure

    Access to right structure for describing a particular situation.

    It requires, selecting an initial structure and then revising the choice.

    While doing so, it is necessary to solve following problems :

    how to perform an initial selection of the most appropriate structure.

    how to fill in appropriate details from the current situations.

    how to find a better structure if the one chosen initially turns out not to

    be appropriate.

    what to do if none of the available structures is appropriate.

    when to create and remember a new structure.

    There is no good, general purpose method for solving all these problems.

    Some knowledge representation techniques solve some of them.

    [Readers may refer book on AI by Elaine Rich & Kevin Knight- page 124 - 126]

    26

  • 8/13/2019 03 Knowledge Representations

    27/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR using logic

    2. KR Using Predicate Logic

    In the previous section much has been illustrated about knowledge and KR

    related issues. This section, illustrates :

    How knowledge can be represented as symbol structures that characterize

    bits of knowledge about objects, concepts, facts, rules, strategies;

    Examples : red represents colour red;

    car1 represents my car;

    "red(car1)" represents fact that my car is red.

    Assumptions about KR :

    Intelligent Behaviorcan be achieved by manipulation of symbol structures.

    KR languagesare designed to facilitate operations over symbol structures,

    have precise syntax and semantics;Syntax tells which expression is legal ?,

    e.g., red1(car1), red1 car1, car1(red1), red1(car1 & car2) ?; and

    Semantic tells what an expression means ?

    e.g., property dark red applies to my car.

    Make Inferences, draw new conclusions from existing facts.

    To satisfy these assumptions about KR, we need formal notation that allow

    automated inference and problem solving.One popular choice is use oflogic.

    27

  • 8/13/2019 03 Knowledge Representations

    28/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic

    Logic

    Logic is concerned with the truth of statements about the world.

    Generally each statement is either TRUEor FALSE.

    Logic includes : Syntax, Semantics and InferenceProcedure.

    Syntax :

    Specifies the symbols in the language about how they can be combined

    to form sentences. The facts about the world are represented as

    sentences in logic.

    Semantic :

    Specifies how to assign a truth value to a sentence based on its

    meaningin the world. It Specifies what facts a sentence refers to.

    A fact is a claim about the world, and it may be TRUEor FALSE.

    Inference Procedure:

    Specifies methods for computing new sentences from the existing

    sentences.

    Note

    Facts : are claims about the world that are Trueor False.

    Representation : is an expression (sentence), stands for the objects and

    relations.

    Sentences : can be encoded in a computer program.

    28

  • 8/13/2019 03 Knowledge Representations

    29/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Logic

    Logic as a KR Language

    Logic is a language for reasoning, a collection of rules used while doing

    logical reasoning. Logic is studied as KR languages in artificial intelligence.

    Logicis a formal system in which the formulas or sentences have true

    or false values.

    Problem of designing KR languageis a tradeoff between that which is

    (a) Expressive enough to represent important objects and relations in a

    problem domain.

    (b)Efficient enough in reasoning and answering questions about

    implicit information in a reasonable amount of time.

    Logics are of different types : Propositional logic, Predicate logic,

    Temporal logic, Modal logic, Description logicetc;

    They represent things and allow more or less efficient inference.

    Propositional logic and Predicate logic are fundamental to all logic.

    Propositional Logic is the study of statements and their connectivity.

    Predicate Logic is the study of individuals and their properties.

    29

  • 8/13/2019 03 Knowledge Representations

    30/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic2.1 Logic Representation

    Logic can be used to represent simple facts.

    The facts are claims about the world that are Trueor False.

    To build a Logic-based representation :

    User defines a set of primitivesymbolsand the associatedsemantics.

    Logic defines ways of putting symbols together so that user can define

    legal sentences in the language that represent TRUEfacts.

    Logic defines ways of inferringnew sentencesfrom existing ones.

    Sentences - either TRUEor falsebut not both are calledpropositions.

    A declarative sentence expresses a statement with a proposition as

    content; example:

    the declarative "snow is white"expresses that snow is white;

    further, "snow is white"expresses that snow is whiteis TRUE.

    In this section, first Propositional Logic (PL) is briefly explained and then

    the Predicate logicis illustrated in detail.

    30

  • 8/13/2019 03 Knowledge Representations

    31/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Propositional Logic

    Propositional Logic (PL)

    A proposition is a statement, which in English would be a declarative

    sentence. Every proposition is either TRUE or FALSE.

    Examples: (a) The sky is blue., (b) Snow is cold. , (c) 12 * 12=144

    Propositions are sentences , either true or false but not both.

    A sentence is smallest unit in propositional logic.

    If proposition is true, then truth value is "true" .

    If proposition is false, then truth value is "false" .

    Example :

    Sentence Truth value Proposition (Y/N)

    "Grass is green" "true" Yes

    "2 + 5 = 5" "false" Yes

    "Close the door" - No

    "Is it hot out side ?" - No

    "x > 2" where x is variable - No(since x is not defined)

    "x = x" - No

    (don't know what is "x" and "=";"3 = 3" or "air is equal to air" or

    "Water is equal to water"has no meaning)

    Propositional logic is fundamental to all logic.

    Propositional logic is also called Propositional calculus, Sentential

    calculus, or Boolean algebra.

    Propositional logic tells the ways of joining and/or modifying entire

    propositions, statements or sentences to form more complicated

    propositions, statements or sentences, as well as the logical

    relationships and properties that are derived from the methods of

    combining or altering statements.

    31

  • 8/13/2019 03 Knowledge Representations

    32/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Propositional Logic Statement, Variables and Symbols

    These and few more related terms, such as, connective, truth value,

    contingencies, tautologies, contradictions, antecedent, consequent,

    argument are explained below.

    Statement

    Simple statements (sentences), TRUE or FALSE, that does not

    contain any other statement as a part, are basic propositions;

    lower-case letters, p, q, r, are symbols for simple statements.

    Large, compound or complex statement are constructed from basic

    propositions by combining them with connectives.

    Connective or Operator

    The connectives joinsimple statements into compounds, and joins

    compounds into larger compounds.

    Table below indicates, thebasic connectives and their symbols :

    listed in decreasing order of operation priority;

    operations with higher priority is solved first.

    Example of a formula : ((((a b) V c d) (a V c ))Connectives and Symbols in decreasing order of operation priority

    Connective Symbols Read as

    assertion P "p is true"

    negation p ~ ! NOT "p is false"

    conjunction p q && & AND "both p and q are true"disjunction P v q || | OR "either p is true, or q is true, or both "

    implication p q if ..then "if p is true, then q is true"" p implies q "

    equivalence if and only if "p and q are either both true or both false"

    Note : The propositions and connectives are the basic elements of

    propositional logic.

    32

  • 8/13/2019 03 Knowledge Representations

    33/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Propositional Logic

    Truth Value

    The truth value of a statement is its TRUTHor FALSITY,

    Example :

    p is eitherTRUEor FALSE,

    ~p is either TRUEor FALSE,

    p v q is either TRUEor FALSE, and so on.

    use "T" or "1" to mean TRUE.

    use "F" or "0" to mean FALSE

    Truth table defining the basicconnectives:

    p q p q p q p v q pq p q qpT T F F T T T T T

    T F F T F T F F T

    F T T F F T T F F

    F F T T F F T T T

    [The next slide shows the truth values of a group of propositions, called

    tautology, contradiction, contingency, antecedent, consequent. They

    form argument where one proposition claims to follow logically other

    proposition]

    33

  • 8/13/2019 03 Knowledge Representations

    34/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Propositional Logic

    Tautologies

    A proposition that is always true is called a "tautology".

    e.g., (P v P)is always true regardless of the truth value of theproposition P.

    Contradictions

    A proposition that is always false is called a "contradiction".

    e.g., (P P) is always false regardless of the truth value ofthe proposition P.

    Contingencies

    A proposition is called a "contingency" , if that proposition is

    neither a tautologynor a contradiction.

    e.g., (P v Q) is a contingency.

    Antecedent, Consequent

    These two are parts of conditional statements.

    In the conditional statements, p q, the

    1st statement or"if - clause"(here p) is called antecedent,

    2nd statement or"then - clause"(here q) is called consequent.

    34

  • 8/13/2019 03 Knowledge Representations

    35/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Propositional Logic

    Argument

    An argument is a demonstration or a proof of some statement.

    Example : "That bird is a crow; therefore, it's black."

    Any argumentcan be expressed as a compound statement.

    In logic, an argument is a set of one or more meaningful declarative

    sentences (or "propositions") known as the premises along with

    another meaningful declarative sentence (or "proposition") known

    as the conclusion.

    Premiseis a proposition which gives reasons, grounds, or evidence for

    accepting some other proposition, called the conclusion.

    Conclusion is a proposition, which is purported to be established on

    the basis of other propositions.

    Take all the premises, conjoin them, and make that conjunction theantecedent of a conditional and make the conclusion the

    consequent. This implication statement is called the corresponding

    conditional of the argument.

    Note : Every argument has a corresponding conditional, and every

    implication statement has a corresponding argument. Because the

    corresponding conditional of an argument is a statement, it is therefore

    either a tautology, or a contradiction, or a contingency.

    An argument is valid

    "if and only if" its corresponding conditional is a tautology.

    Two statements are consistent

    "if and only if" their conjunction is not a contradiction.

    Two statements are logically equivalent

    "if and only if"their truth table columns are identical;

    "if and only if"the statement of their equivalence using " " isa tautology.

    Note : The truth tables are adequate to test validity, tautology,

    contradiction, contingency, consistency, and equivalence.

    35

  • 8/13/2019 03 Knowledge Representations

    36/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Predicate Logic

    Predicate Logic

    The propositional logic, is not powerful enough for all types of assertions;

    Example : The assertion "x > 1", where xis a variable, is not a proposition

    because it is neither true nor false unless value of xis defined.

    For x > 1 to be a proposition ,

    either we substitute a specific number for x;

    or change it to something like

    "There is a number x for which x > 1 holds";

    or "For every number x, x > 1 holds".

    Consider example :

    All men are mortal.

    Socrates is a man.

    Then Socrates is mortal ,

    These cannot be expressed in propositional logic as a finite and logically

    valid argument (formula).

    We need languages : that allow us to describe properties ( predicates) of

    objects, or a relationship among objects represented by the variables .

    Predicate logic satisfies the requirements of a language.

    Predicate logic is powerful enough for expression and reasoning.

    Predicate logic is built upon the ideas ofpropositional logic.

    36

  • 8/13/2019 03 Knowledge Representations

    37/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Predicate Logic Predicate :

    Every complete "sentence" contains two parts : a "subject" and a

    "predicate".

    The subject is what (or whom) the sentence is about.

    The predicate tells something about the subject;

    Example :

    A sentence "Judy{runs}".

    The subject isJudy and the predicate is runs.

    Predicate, always includes verb, tells something about the subject.

    Predicate is a verb phrase template that describes a property of

    objects, or a relation among objects represented by the variables.

    Example:

    The car Tom is driving is blue" ;

    "The sky is blue" ;

    "The cover of this book is blue"

    Predicate is is blue", describes property.

    Predicates are given names; Let B is name for predicate "is_blue".

    Sentence is represented as "B(x)", read as "x is blue";

    Symbol x represents an arbitraryObject .

    37

  • 8/13/2019 03 Knowledge Representations

    38/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Predicate Logic Predicate Logic Expressions:

    The propositional operators combine predicates, like

    If ( p(....) &&( !q(....) ||r (....) ) )

    Logic operators :

    Examples of disjunction(OR) and conjunction(AND).Consider the expression with the respective logic symbols ||and &&

    x < y ||( y < z &&z < x)

    which is true ||( true && true) ;

    Applying truth table, found True

    Assignment for

  • 8/13/2019 03 Knowledge Representations

    39/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Predicate Logic Predicate Logic Quantifiers

    As said before, x > 1 is not proposition and why ?

    Also said, that for x > 1 to be a proposition what is required ?

    Generally, a predicate with variables (is called atomic formula) that

    can be made a proposition by applying one of the following two

    operations to each of its variables :

    1. Assign a value to the variable; e.g., x > 1, if 3 is assigned tox

    becomes 3 > 1 , and it then becomes a true statement, hence a

    proposition.

    2. Quantify the variable using a quantifier on formulas of predicate

    logic (called wff well-formed formula), such as x > 1or P(x), by

    using Quantifiers on variables.

    Apply Quantifiers on Variables

    Variable x

    * x > 5 is not a proposition, its truth depends upon the

    value of variablex

    * to reason such statements,x need to be declared

    Declaration x : a

    * x : a declares variable x* x : a read as x is an element of set a

    Statement p is a statement about x

    * Q x : a p is quantification of statement

    statement

    declaration of variable xas element of set a

    quantifier

    * Quantifiers are two types :

    universal quantifiers , denoted by symbol and

    existential quantifiers , denoted by symbol

    Note : The next few slide tells more on these two Quantifiers.

    39

  • 8/13/2019 03 Knowledge Representations

    40/79

  • 8/13/2019 03 Knowledge Representations

    41/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Predicate Logic Apply Universal Quantifier " For All "

    Universal Quantification allows us to make a statement about a

    collection of objects.

    Universal quantification: x : a p

    * read for all x in a, p holds

    * a is universe of discourse

    * x is a member of the domain of discourse.

    * p is a statement about x

    In propositional form it is written as : x P(x)

    * read for all x, P(x)holds

    for each x, P(x) holds or

    for every x, P(x) holds

    * where P(x) is predicate,

    x means all the objects x in the universe

    P(x) is true for every object x in the universe

    Example : English language to Propositional form

    * "All cars have wheels"

    x : car x has wheel

    * x P(x)

    where P (x)is predicate tells : x has wheels

    x is variable for object cars that populateuniverse of discourse

    41

  • 8/13/2019 03 Knowledge Representations

    42/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Predicate Logic

    Apply Existential Quantifier " There Exists "

    Existential Quantification allows us to state that an object does exist

    without naming it.

    Existential quantification: x : a p

    * read there exists an xsuch that p holds

    * a is universe of discourse

    * x is a member of the domain of discourse.

    * p is a statement about x

    In propositional form it is written as : x P(x)

    * read there exists an xsuch that P(x) or

    there exists at least one xsuch that P(x)

    * Where P(x) is predicate

    x means at least one object x in the universe

    P(x) is true for least one object x in the universe

    Example : English language to Propositional form

    * Someone loves you

    x : Someone x loves you

    * x P(x)

    where P(x) is predicate tells : x loves you

    x is variable for object someone that populateuniverse of discourse

    42

  • 8/13/2019 03 Knowledge Representations

    43/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Predicate Logic

    Formula

    In mathematical logic, a formula is a type of abstract object.

    A token of a formula is a symbol or string of symbols which may be

    interpreted as any meaningful unit in a formal language.

    Terms

    Defined recursively as variables, or constants, or functions like

    f(t1, . . . , tn), where fis an n-ary function symbol, and t1, . . . , tn

    are terms. Applying predicates to terms produces atomic formulas.

    Atomic formulas

    An atomic formula (or simply atom) is a formula with no deeper

    propositional structure, i.e., a formula that contains no logical

    connectives or a formula that has no strict sub-formulas.

    Atomsare thus the simplest well-formed formulas of the logic.

    Compound formulas are formed by combining the atomic

    formulas using the logical connectives.

    Well-formed formula("wiff") is a symbol or string of symbols (a

    formula) generated by the formal grammar of a formal language.

    An atomic formula is one of the form :

    t1= t2, where t1 and t2 are terms, or

    R(t1, . . . , tn), where R is an n-ary relation symbol, and

    t1, . . . , tn are terms.

    a is a formula when a is a formula.

    (a b)and (a v b) are formula when a and bare formula Compound formula : example

    ((((a b ) c) (( a b) c)) ((a b) c))43

  • 8/13/2019 03 Knowledge Representations

    44/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR logic relation2.2 Representing IsA and Instance Relationships

    Logic statements, containing subject, predicate, and object, were

    explained. Also stated, two important attributes "instance" and "isa", in

    a hierarchical structure (Ref. Fig. Inheritable KR).

    Attributes IsA and Instance support property inheritance and play

    important role in knowledge representation.

    The ways these two attributes "instance"and "isa", are logically expressed

    are shown in the example below :

    Example : A simple sentence like "Joe is a musician"

    Here "is a" (called IsA) is a way of expressing what logically

    is called a class-instance relationship between the subjects

    represented by the terms "Joe" and "musician".

    "Joe" is an instance of the class of thingscalled "musician".

    "Joe" plays the role of instance,

    "musician" plays the role of classin that sentence.

    Note : In such a sentence, while for a human there is no confusion,

    but for computers each relationship have to be defined explicitly.

    This is specified as: [Joe] IsA [Musician]

    i.e., [Instance] IsA [Class]

    44

  • 8/13/2019 03 Knowledge Representations

    45/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR functions & predicates

    2.3 Computable Functions and Predicates

    The objective is to define class of functions C computable in terms of F.

    This is expressed as C { F } is explained below using two examples :

    (1) "evaluate factorial n" and (2) "expression for triangular functions".

    Example 1 : A conditional expression to define factorial n ie n!

    Expression

    if p1then e1 else if p2then e2 . . . else if pnthen en.

    ie. (p1 e1, p2 e2, . . . . . . pn en)

    Here p1, p2, . . . . pn are propositional expressions taking the

    values Tor F for true and false respectively.

    The value of( p1 e1, p2 e2, . . . . . .pn en ) is the value of the

    ecorresponding to the first pthat has value T. The expressions defining n! , n= 5, recursively are :

    n! = n x (n-1)! for n 15! = 1 x 2 x 3 x 4 x 5 = 120

    0! = 1

    The above definition incorporates aninstance that :

    if the product of no numbers ie 0! = 1,

    then only, recursive relation(n + 1)! = (n+1) x n! works forn = 0

    Use of the above conditional expressions to define functions n!

    recursively is n! = ( n = 0 1, n 0 n . (n 1 ) ! )

    Example: Evaluate 2! according to above definition.

    2! = ( 2 = 0 1, 2 0 2 . ( 2 1 )! )

    = 2 x 1!

    = 2 x ( 1 = 0 1, 1 0 1 . ( 1 1 )! )

    = 2 x 1 x 0!

    = 2 x 1 x ( 0 = 0 1, 0 0 0 . ( 0 1 )! )

    = 2 x 1 x 1

    = 2

    45

  • 8/13/2019 03 Knowledge Representations

    46/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR functions & predicates Example 2 : A conditional expression for triangular functions

    The graph of a well known triangular function is shown below

    Fig. A Triangular Function

    the conditional expressions for triangular functions are

    x= (x 1 0)46

    Y

    -1,0 1,0X

    0,1

  • 8/13/2019 03 Knowledge Representations

    47/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR - Predicate Logic resolution2.4 Resolution

    Resolution is a procedure used in proving that arguments which are

    expressible in predicate logic are correct.

    Resolution is a procedure that produces proofs by refutation or

    contradiction.

    Resolution lead to refute a theorem-proving technique for sentences in

    propositional logic and first-order logic.

    Resolution is a rule of inference.

    Resolution is a computerized theorem prover.

    Resolution is so far only defined for Propositional Logic. The strategy is

    that the Resolution techniques of Propositional logic be adopted in

    Predicate Logic.

    47

  • 8/13/2019 03 Knowledge Representations

    48/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Using Rules

    3. KR Using Rules

    In the earlier slides, the Knowledge representations using predicate logic

    have been illustrated. The other popular approaches to Knowledge

    representation are called production rules, semantic net and frames.

    Production rules, sometimes called IF-THENrules are most popular KR.

    production rules are simple but powerful forms of KR.

    production rules provide the flexibility of combining declarative and

    procedural representation for using them in a unified form.

    Examples of production rules :

    IF condition THEN action

    IF premise THEN conclusion

    IF proposition p1and proposition p2are true THEN proposition p3is true

    Advantages of production rules :

    they are modular,

    each rule define a small and independent piece of knowledge.

    new rules may be added and old ones deleted

    rules are usually independently of other rules.

    The production rules as knowledge representation mechanism are used in the

    design of many"Rule-based systems" also called "Production systems".

    48

  • 8/13/2019 03 Knowledge Representations

    49/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Using Rules

    Types of Rules

    Three types of rules are mostly used in the Rule-based production systems. Knowledge Declarative Rules :

    These rules state all the facts and relationships about a problem.

    Example :

    IF inflation rate declines

    THEN the price of gold goes down.

    These rules are a part of the knowledge base.

    Inference Procedural Rules

    These rules advise on how to solve a problem, while certain facts are

    known.

    Example :

    IF the data needed is not in the system

    THEN request it from the user.

    These rules are part of the inference engine.

    Meta rules

    These are rules for making rules. Meta-rules reason about which rules

    should be considered for firing.

    Example :

    IF the rules which do not mention the current goal in their premise,

    AND there are rules which do mention the current goal in their premise,

    THEN the former rule should be used in preference to the latter.

    Meta-rules direct reasoning rather than actually performing

    reasoning.

    Meta-rules specify which rules should be considered and in which

    order they should be invoked.

    49

  • 8/13/2019 03 Knowledge Representations

    50/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR procedural & declarative

    3.1 Procedural versus Declarative Knowledge

    These two types of knowledge were defined in earlier slides.

    Procedural Knowledge: knowing 'how to do'

    Includes : rules, strategies, agendas, procedures, models.

    These explains what to doin order to reach a certain conclusion.Example

    Rule: To determine if Peter or Robert is older, first find their ages.

    It is knowledge about 'how to do' something. It manifests itself in the

    doing of something, e.g., manual or mental skills cannot reduce to

    words. It is held by individuals in a way which does not allow it to be

    communicated directly to other individuals.

    Accepts a description of the steps of a task or procedure. It Looks

    similar to declarative knowledge, except that tasks or methods are

    being described instead of facts or things.

    Declarative Knowledge: knowing 'what', knowing 'that'

    Includes : concepts, objects, facts, propositions, assertions, models.

    It is knowledge about factsand relationships, that

    can be expressed in simple and clear statements,

    can be added and modified without difficulty.Examples : A car has four tyres; Peter is older than Robert.

    Declarative knowledge and explicit knowledge are articulated knowledge

    and may be treated as synonyms for most practical purposes.

    Declarative knowledge is represented in a format that can be

    manipulated, decomposed and analyzed independent of its content.

    50

  • 8/13/2019 03 Knowledge Representations

    51/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR procedural & declarative Comparison :

    Comparison between Procedural and Declarative Knowledge :

    Procedural Knowledge Declarative Knowledge

    Hard to debug Easy to validate

    Black box White box

    Obscure Explicit

    Process oriented Data - oriented

    Extension may effect stability Extension is easy

    Fast , direct execution Slow (requires interpretation)

    Simple data type can be used May require high level data type

    Representations in the form ofsets of rules, organized into

    routines and subroutines.

    Representations in the form ofproduction system, the entire set

    of rules for executing the task.

    51

  • 8/13/2019 03 Knowledge Representations

    52/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR procedural & declarative Comparison :

    Comparison between Procedural and Declarative Language :

    Procedural Language Declarative Language

    Basic, C++, Cobol, etc. SQL

    Most work is done by interpreter of

    the languages

    Most work done by Data Engine

    within the DBMS

    For one task many lines of code For one task one SQL statement

    Programmer must be skilled intranslating the objective into linesof procedural code

    Programmer must be skilled inclearly stating the objective as aSQL statement

    Requires minimum of managementaround the actual data

    Relies on SQL-enabled DBMS tohold the data and execute the SQLstatement .

    Programmer understands and hasaccess to each step of the code

    Programmer has no interactionwith the execution of the SQLstatement

    Data exposed to programmerduring execution of the code

    Programmer receives data at endas an entire set

    More susceptible to failure due tochanges in the data structure

    More resistant to changes in thedata structure

    Traditionally faster, but that ischanging

    Originally slower, but now settingspeed records

    Code of procedure tightly linked tofront end

    Same SQL statements will workwith most front endsCode loosely linked to front end.

    Code tightly integrated withstructure of the data store

    Code loosely linked to structure ofdata; DBMS handles structuralissues

    Programmer works with a pointeror cursor

    Programmer not concerned withpositioning

    Knowledge of coding tricks appliesonly to one language Knowledge of SQL tricks applies toany language using SQL

    52

  • 8/13/2019 03 Knowledge Representations

    53/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming

    3.2 Logic Programming

    Logic programming offers a formalism for specifying a computation in terms

    of logical relations between entities.

    logic programis a collection of logic statements.

    programmer describes all relevant logical relationships between the

    various entities.

    computationdetermines whether or not, a particular conclusion follows

    from those logical statements.

    Characteristics of Logic program

    Logic program is characterized by set of relations and inferences.

    programconsists of a set of axioms and a goal statement.

    rules of inferencedetermine whether the axioms are sufficient to ensurethe truth of the goal statement.

    executionof a logic program corresponds to the construction of a proof

    of the goal statement from the axioms.

    programmer specify basic logical relationships, does not specify the

    manner in which inference rules are applied.

    Thus Logic + Control = Algorithms

    Examples of Logic Statements

    Statement

    A grand-parent is a parent of a parent.

    Statement expressed in more closely related logic terms as

    A person is a grand-parent if she/he has a child and

    that child is a parent.

    Statement expressed in first order logic as

    (for all) x: grandparent (x, y) :- parent (x, z), parent (z, y)

    read as x is the grandparent of yif x is a parent of z and z is a parent of y

    53

  • 8/13/2019 03 Knowledge Representations

    54/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming

    Logic Programming Language

    A programming language includes :

    the syntax

    the semanticsof programs and

    the computational model.

    There are many ways of organizing computations. The most familiar

    paradigm is procedural. The program specifies a computation by saying

    "how" it is to be performed. FORTRAN, C,and Object-oriented languages

    fall under this general approach.

    Another paradigm is declarative. The program specifies a computation by

    giving the properties of a correct answer. Prolog and logic data language

    (LDL) are examples of declarative languages, emphasize the logicalproperties of a computation.

    Prolog and LDL are called logic programming languages.

    PROLOG (PROgramming LOGic) is the most popular Logic programming

    language rose within the realm of Artificial Intelligence (AI). It became

    popular with AI researchers, who know more about "what" and "how"

    intelligent behavior is achieved.

    54

  • 8/13/2019 03 Knowledge Representations

    55/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming

    Syntax and Terminology (relevant to Prolog programs)

    In any language, the formation of components (expressions, statements,

    etc.), is guided by syntactic rules.

    The components are divided into two parts:

    (A) data components and (B) program components.

    (A) Data components:

    Data components are collection of data objects that follow hierarchy.

    Data object of any kind is also called

    a term. A term is a constant, a variable

    or a compound term.

    Simple data object is not

    decomposable; e.g. atoms, numbers,

    constants, variables.

    Syntaxdistinguishes the data objects,

    hence no need for declaring them.

    Structured data object are made of

    several components.

    All these data components are explained in next slide.

    55

    Data Objects(terms)

    Simple Structured

    VariablesConstants

    NumbersAtoms

  • 8/13/2019 03 Knowledge Representations

    56/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming(a) Data Objects :

    The data objects of any kind is called a term.

    Term: Examples

    Constants:

    Denote elements such as integers, floating point, atoms.

    Variables:

    Denote a single but unspecified element; symbols for variables

    begin with an uppercase letter or an underscore.

    Compound terms:

    Comprise a functor and sequence of one or more compound

    terms called arguments.

    Functor: is characterized by its name and number ofarguments; name is an atom, and number of arguments is

    arity.

    /n = ( t 1, t2, . . . tn)

    where is name of the functorand is of arityn

    ti's are the argument

    /n denotes functorof arity n

    Functors with same name but different arities are distinct.

    Ground and non-ground:

    Terms are ground if they contain no variables (only constant

    signs); otherwise they are non-ground.

    Goals are atoms or compound terms, and are generally non-

    ground.

    56

  • 8/13/2019 03 Knowledge Representations

    57/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming(b)Simple Data Objects :Atoms, Numbers, Variables

    Atoms

    a lower-case letter, possibly followed by other letters of either

    case, digits, and underscore character.

    e.g. a greaterThan two_B_or_not_2_b

    a string of special characters such as:+ - * / \ = < > : ~ # $ &

    e.g. ##&& ::=

    a string of any characters enclosed within single quotes.

    e.g. 'ABC' '1234' 'ab'

    following are also atoms ! ; [] {}

    Numbers

    applications involving heavy numerical calculations are rarely

    written in Prolog.

    integer representation: e.g. 0 -16 33 +100

    real numbers written in standard or scientific notation,

    e.g. 0.5 -3.1416 6.23e+23 11.0e-3 -2.6e-2

    Variables

    begins by a capital letter, possibly followed by other letters of

    either case, digits, and underscore character.

    e.g. X25 List Noun_Phrase

    57

  • 8/13/2019 03 Knowledge Representations

    58/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming(c) Structured Data Objects: General Structures , Special Structures

    General Structures

    a structured term is syntactically formed by a functor and a list of

    arguments.

    functor is an atom.

    list of arguments appear between parentheses.

    arguments are separated by a comma.

    each argument is a term (i.e., any Prolog data object).

    the number of arguments of a structured term is called its arity.

    e.g. greaterThan(9, 6) f(a, g(b, c), h(d)) plus(2, 3, 5)

    Note : a structure in Prolog is a mechanism for combining termstogether, like integers 2, 3, 5 are combined with the functor plus.

    Special Structures

    In Prolog an ordered collection of terms is called a list.

    Lists are structured terms and Prolog offers a convenient

    notation to represent them:

    * Empty list is denoted by the atom[ ].

    * Non-empty list carries element(s) between square brackets,

    separating elements by comma.

    e.g. [bach, bee] [apples, oranges, grapes]

    58

  • 8/13/2019 03 Knowledge Representations

    59/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming(B)Program Components

    A Prolog program is a collection of predicates or rules.

    A predicate establishes a relationships between objects.

    (a) Clause, Predicate, Sentence, Subject

    Clause is a collection of grammatically-related words .

    Predicate is composed of one or more clauses.

    Clauses are the building blocks of sentences;

    every sentence contains one or more clauses.

    A Complete Sentence has two parts: subject and predicate.

    o subject is what (or whom) the sentence is about.

    o predicate tells something about the subject.

    Example 1 : "cows eat grass".

    It is a clause, because it contains

    the subject "cows" and

    the predicate "eat grass."

    Example 2 : "cows eating grass are visible from highway"

    This is a complete clause.

    the subject "cows eating grass" andthe predicate "are visible from the highway" makes complete

    thought.

    59

  • 8/13/2019 03 Knowledge Representations

    60/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming(b)Predicates & Clause

    Syntactically a predicate is composed of one or more clauses.

    The general form of clauses is

    :- .

    where LHS is a single goal called "goal" and RHS is composed ofone or more goals, separated by commas, called "sub-goals"of

    the goal on left-hand side.

    Thesymbol " :-" is pronouncedas "it is the case" or "such that"

    The structure of a clause in logic programhead body

    pred( functor(var1, var2)) :- pred(var1) , pred(var2)

    literal literal

    clause

    Literals represent the possible choices in primitive types the

    particular language. Some of the choices of types of literals are

    often integers, floating point, Booleans and character strings.

    Example : grand_parent (X, Z) :- parent(X, Y), parent(Y, Z).

    parent (X, Y) :- mother(X, Y).

    parent (X, Y) :- father(X, Y).

    Read as if x is mother of y then x is parent of y

    [Continued in next slide]60

  • 8/13/2019 03 Knowledge Representations

    61/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming[Continued from previous slide]

    Interpretation:

    * A clause specifies the conditional truth of the goal on the LHS;

    goal on LHS is assumed to be true if the sub-goals on RHS are all

    true. A predicate is true if at least one of its clauses is true.

    * An individual "X" is thegrand-parent of "Z" if aparentof that

    same"X" is "Y" and "Y" is the parent of that "Z".

    X Y Z

    * Anindividual "X" is a parent of "Y" if "Y"is the mother of "X"

    X Y

    * Anindividual "X" is a parent of "Y" if "Y" is the father of "X".

    X Y

    61

    (Y is parent of Z)(X is parent of Y)

    (X is grand parent of Z)

    (X is parent of Y)

    (X is mother of Y)

    (X is parent of Y)

    (X is father of Y)

  • 8/13/2019 03 Knowledge Representations

    62/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming(c)Unit Clause- a special Case

    Unlike the previous example of conditional truth, one often encounters

    unconditional relationships that hold.

    In Prolog the clauses that are unconditionally true are called

    unit clause or fact .

    Example : Unconditionally relationships say

    'X' is the father of 'Y' is unconditionally true.

    This relationship as a Prolog clauseis

    father(X, Y) :- true.

    Interpreted as relationship of father betweenX andY is always

    true; or simply stated as X is father of Y.

    Goal true is built-in in Prolog and always holds.

    Prolog offers a simpler syntax to express unit clause or fact

    father(X, Y)

    ie the ":- true" part is simply omitted.

    62

  • 8/13/2019 03 Knowledge Representations

    63/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic Programming(d) Queries

    In Prolog the queries are statements called directive.

    A special case of directives, are called queries.

    Syntactically, directives are clauses with an empty left-hand side.

    Example : ? - grandparent(Q,Z).

    This query Qis interpreted as : Who is a grandparent of Z?

    By issuing queries Q, Prolog tries to establish the validity of specific

    relationships.

    The answer from previous slides is (Xis grand parent of Z)

    The result of executing a query is either success or failure

    Success, means the goals specified in the query holds according to

    the facts and rules of the program.

    Failure, means the goals specified in the query does not hold

    according to the facts and rules of the program.

    63

  • 8/13/2019 03 Knowledge Representations

    64/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic - models of computation

    Programming Paradigms : Models of Computation

    A complete description of a programming language includes the

    computational model, syntax, semantics, and pragmatic considerations

    that shape the language.

    Models of Computation:

    A computational model is a collection of values and operations, while

    computation is the application of a sequence of operations to a value

    to yield another value.

    There are three basic computational models :

    (a) Imperative, (b) Functional, and (c) Logic.

    In addition to these, there are two programming paradigms :

    (a) concurrent (b) object-oriented programming .

    While, these two are not models of computation, but they rank in

    importance with computational models.

    64

  • 8/13/2019 03 Knowledge Representations

    65/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic - models of computation(a)Imperative Model

    The Imperative model of computation, consists of a state and an

    operation of assignment which is used to modify the state.

    Programs consist of sequences of commands.

    Computations are changes in the state.

    Example : Linear function

    A linear function y = 2x + 3 can be written as

    Y := 2 X + 3The implementation requires to determines the value of X in the state

    and then creates a new state which differs from the old state.

    New State: X = 3, Y = 9,

    The imperative model is closest to the hardware model on whichprograms are executed, that makes it most efficient model in terms

    of execution time.

    65

  • 8/13/2019 03 Knowledge Representations

    66/79

  • 8/13/2019 03 Knowledge Representations

    67/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic - models of computation(c)Logic Model

    The logic model of computation is based on relations and logical

    inference.

    Programs consist of definitions of relations.

    Computations are inferences (is a proof).

    Example 1: Linear function

    A linear function y = 2x + 3 can be represented as :

    f (X , Y) if Y is 2 X + 3.Here the function represents the relation between Xand Y.

    Example 2: Determine a value for Circumference.

    The circumference computation can be represented as:

    Circle (R , C) if Pi = 3.14 and C = 2 pi R.Here the function is represented as the relation between radius R

    and circumference C.

    Example 3: Determine the mortality of Socrates and Penelope.

    The program is to determine the mortality of Socrates and Penelope.

    The fact given that Socrates and Penelope are human.

    The rule is that all humans are mortal, that is

    for all X, if X is human then X is mortal.

    To determine the mortality of Socrates or Penelope, make the

    assumption that there are no mortals, that is mortal (Y)

    [logic model continued in the next slide]67

  • 8/13/2019 03 Knowledge Representations

    68/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR Logic - models of computation[logic model continued in the previous slide]

    The equivalent form of the facts and rules stated before are

    human (Socrates)

    mortal (X) if human (X)

    To determine the mortality of Socrates and Penelope, we made the

    assumption that there are no mortals i.e. mortal (Y) Computation (proof) that Socrates is mortal

    1. (a) human(Socrates) Fact

    2. mortal(X) if human(X) Rule

    3 mortal(Y) assumption

    4.(a) X = Y

    4.(b) human(Y)from 2 & 3 by unification

    and modus tollens

    5. Y = Socrates from 1 and 4 by unification

    6. Contradiction 5, 4b, and 1

    Explanation :

    * The 1st line is the statement "Socrates is a man."

    * The 2nd line is a phrase "all human are mortal"

    into the equivalent "for all X, if X is a man then X is mortal".

    * The 3rd line is added to the set to determine the mortality of Socrates.

    * The 4th line is the deduction from lines 2 and 3. It is justified by the

    inference rule modus tollens which states that if the conclusion of a

    rule is known to be false, then so is the hypothesis.

    * Variables X and Y are unified because they have same value.

    * By unification, Lines 5, 4b, and 1 produce contradictions and identify

    Socrates as mortal.

    * Note that, resolution is an inference rule which looks for a contradiction

    and it is facilitated by unification which determines if there is a

    substitution which makes two terms the same.

    Logic model formalizes the reasoning process. It is related to relational

    data bases and expert systems.

    68

  • 8/13/2019 03 Knowledge Representations

    69/79

  • 8/13/2019 03 Knowledge Representations

    70/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR forward-backward reasoning Example 1

    Rule R1 : IF hot AND smoky THEN fire

    Rule R2 : IF alarm_beeps THEN smoky

    Rule R3 : IF fire THEN switch_on_sprinklers

    Fact F1 : alarm_beeps [Given]

    Fact F2 : hot [Given]

    Example 2

    Rule R1 : IF hot AND smoky THEN ADD fire

    Rule R2 : IF alarm_beeps THEN ADD smoky

    Rule R3 : IF fire THEN ADD switch_on_sprinklers

    Fact F1 : alarm_beeps [Given]

    Fact F2 : hot [Given]

    70

  • 8/13/2019 03 Knowledge Representations

    71/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR forward-backward reasoning Example 3 : A typical Forward Chaining

    Rule R1 : IF hot AND smoky THEN ADD fire

    Rule R2 : IF alarm_beeps THEN ADD smoky

    Rule R3 : If fire THEN ADD switch_on_sprinklers

    Fact F1 : alarm_beeps [Given]

    Fact F2 : hot [Given]

    Fact F4 : smoky [from F1 by R2]

    Fact F2 : fire [from F2, F4 by R1]

    Fact F6 : switch_on_sprinklers [from F2 by R3]

    Example 4 : A typical Backward ChainingRule R1 : IF hot AND smoky THEN fire

    Rule R2 : IF alarm_beeps THEN smoky

    Rule R3 : If _fire THEN switch_on_sprinklers

    Fact F1 : hot [Given]

    Fact F2 : alarm_beeps [Given]

    Goal : Should I switch sprinklers on?

    71

  • 8/13/2019 03 Knowledge Representations

    72/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR forward chaining

    Forward Chaining

    The Forward chaining system, properties , algorithms, and conflict

    resolution strategy are illustrated.

    Forward chainingsystem

    facts are held in a working memory condition-action rules represent actions to be taken when specified

    facts occur in working memory.

    typically, actions involve adding or deleting facts from the working

    memory.

    Properties of Forward Chaining

    all rules which can fire do fire.

    can be inefficient - lead to spurious rules firing, unfocused problemsolving

    set of rules that can fire known as conflict set.

    decision about which rule to fire is conflict resolution.

    72

    rules

    WorkingMemory

    InferenceEngine

    RuleBase

    User

    facts

    facts

    facts

  • 8/13/2019 03 Knowledge Representations

    73/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR forward chaining Forward chainingalgorithm - I

    Repeat

    Collect the rule whose condition matches a fact in WM.

    Do actions indicated by the rule.

    (add facts to WM or delete facts from WM)

    Until problem is solved or no condition match

    Apply on the Example 2 extended (adding 2 more rules and 1 fact)

    Rule R1 : IF hot AND smoky THEN ADD fire

    Rule R2 : IF alarm_beeps THEN ADD smoky

    Rule R3 : If fire THEN ADD switch_on_sprinklers

    Rule R4 : IF dry THEN ADD switch_on_humidifier

    Rule R5 : IF sprinklers_on THEN DELETE dry

    Fact F1 : alarm_beeps [Given]

    Fact F2 : hot [Given]

    Fact F2 : Dry [Given]

    Now, two rules can fire (R2 and R4)

    Rule R4 ADD humidifier is on [from F2]

    ADD smoky [from F1]

    ADD fire [from F2 by R1]

    ADD switch_on_sprinklers [by R3]

    Rule R2

    [followed by

    sequence ofactions]

    DELEATE dry, iehumidifier is off a conflict !

    [by R5 ]

    Forward chainingalgorithm - II (applied to example 2 above )

    Repeat

    Collect the rules whose conditions match facts in WM.

    If more than one rule matches as stated above then

    Use conflict resolution strategyto eliminate all but one

    Do actions indicated by the rules

    (add facts to WM or delete facts from WM)

    Until problem is solved or no condition match

    73

  • 8/13/2019 03 Knowledge Representations

    74/79

  • 8/13/2019 03 Knowledge Representations

    75/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR forward chaining Alternative to Conflict Resolution Use Meta Knowledge

    Instead of conflict resolution strategies, sometimes we want to use

    knowledge in deciding which rules to fire. Meta-rules reason about

    which rules should be considered for firing. They direct reasoning rather

    than actually performing reasoning.

    Meta-knowledge : knowledge about knowledge to guide search.

    Example of meta-knowledge

    IF conflict set contains any rule (c , a) such that

    a = "animal is mammal''

    THEN fire (c , a)

    This example says meta-knowledge encodes knowledge about how

    to guide search for solution.

    Meta-knowledge, explicitly coded in the form of rules with "object

    level" knowledge.

    75

  • 8/13/2019 03 Knowledge Representations

    76/79

    h ak r

    a bo r

    t y, w

    ww

    .my r

    e ad e

    r s.i n

    f o

    KR backward chaining

    Backward Chaining

    Backward chaining system and the algorithm are illustrated.

    Backward chainingsystem

    Backward chaining means reasoning from goals back to facts.

    The idea is to focus on the search.

    Rules and