You are on page 1of 100

Artificial Intelligence.

LECTURE 4
KNOWLEDGE REPRESENTATION
Knowledge Representation

• This involves encoding and manipulating domain specific


knowledge .
• For a computer to make use of knowledge, it must be stored within
the computer in some form.
Knowledge Representation
• Intelligent systems require that we have Knowledge formally
represented so that new inferences/conclusions can be made
possible.
• Various formal languages have been developed to support
knowledge representation.
KR assumptions
Assumption of (traditional) AI work is that:

1. Knowledge may be represented as “symbol structures” (complex


data structures)

Examples:
“red” represents colour red.
“car1” represents my car.
“go” represents moving
KR assumptions

• 2. Intelligent behaviour can be achieved through manipulation of


symbol structures.
• For instance arranging symbols in a certain order.
• E.g
• red(car1) represents fact that my car is red.
• Go(car1) represents fact that my car is moving
Requirements for KR technique
• A good KR technique should have the following Characteristics
1. Representational Adequacy
2. Clear syntax/semantics
3. Inferential adequacy
4. Inferential efficiency
5. Naturalness
In practice no one (technique) schemes is perfect, and different schemes
are suitable for different problems.
1.Representational adequacy
• Knowledge represented should be adequate enough to solve the
problem at hand
• Some techniques only allow us to represent certain things.
• Time, beliefs, uncertainty, are hard to represent.
2.Well-defined syntax/semantics

• Knowledge representation technique should have precise syntax and


semantics.
• You must know exactly what an expression means in terms of objects in
the real world( semantics of an expression).
• E.g “red1” refers to a dark red colour, “car1” is my car, car2 is another
car
2.Well defined syntax/semantics

• Syntax of language refers to rules that describes which expression is


legal and which one illegal.
• It is concerned with arrangement of expressions.
• E.g which of the following expression is legal? red1(car1), red1
car1, car1(red1), red1(car1 & car2)?
3.A natural representation

• The representation should be quite intuitive and natural for human


readers!
• It should be clear, precise and natural.
• E.g. red colour is used shows danger,
• Variables names should be meangful and relevant to the function
of the variable. E.g window,desktop,recyclebin
3.A natural representation
• Representation should be as natural as possible.
• The following representation is not natural:
• “xyzzy ! Zing”
• where “xyzzy” refers to redness, “Zing” refers to my car, and ! used
in some way to assign properties.
4.Inferential Adequacy
• Inferential adequacy refers to how easy it is to draw inferences using
represented knowledge.
• The representation should allow easy reasoning on that knowledge.
• It should be possible to draw new conclusions from existing facts.
4.Inferential Adequacy

• E.g.
• Fact1: “If its raining John never goes out”
• Fact2: “It’s raining today”

• What is the Conclusion?

• The representation of knowledge should help find solutions to complex problems.


Inferential Efficiency

• Representation should be sufficient for the task and use minimum


resources e.g less memory and less cpu time.
Examples of Knowledge Representation
techniques

• Logic
• Rules
• semantic networks
• Frames
• Objects
• Natural language (grammer)
Logic

• Logic is the a science of reasoning which seeks to identify and understand the
principles of valid demonstration and inference
• Logic examples : propositional logic, predicate logic, temporal logic, modal
logic, description logic etc.
Propositional logic
• Propositional logic is a formal language for making logical inferences using
propositions and Logical connectives.
• A proposition is a statement that is either true or false. Also known as fact
• • A compound proposition can be created from other propositions using
logical connectives
Propositional logic

• A question is not a proposition


• Examples :
• How are you?
• x+ 5 = 3
• • since x is not specified, neither true nor false
Propositional logic

• In proposition logic, Knowledge is represented using two category of


symbols:
• 1. Atomic propositions
• 2. Logical connectives
1. Atomic propositions-
• These refers to a single symbol that is used to represent a fact about the
world
Examples:
• “P” represents the fact “Andrew likes chocolate”
• “Q” represents the fact “Andrew has chocolate”
2. Logical connectives
–These are symbols that are used to
represent relationships among atomic propositions.
Examples:
 represents logical ‘AND’
 represents logical ‘Or’
 represents logical ‘if-then’ (implies)
 Represents logical ‘Not’
Propositional Logic examples

• Suppose :
• “P” represents the fact “Andrew likes chocolate”
• “Q” represents the fact “Andrew has chocolate”

• Write the following sentences in propositional logic

• 1. Andrew likes chocolate and he doesn’t have any.


• 2. If Andrew likes chocolate then Andrew has chocolate

Propositional Logic examples
• Solutions
1. P  Q
2. P Q
Propositional Logic examples

Assume two elementary statements:


1. p: you drive over 65 mph
2. q: you get a speeding ticket
Translate each of these sentences to propositional logic
1. you do not drive over 65 mph.
2. you drive over 65 mph, but you don't get a speeding ticket.
Propositional Logic examples

solutions
1 : ¬p
2: p ∧ ¬q
Propositional Logic examples

Consider the following propositions:


A= you are older than 13
B= you are with your parents
C=you can attend a PG-13 movie
Translate the following sentence into Propositional logic

• If you are older than 13 or you are with your parents then you can
attend a PG-13 movie.
Propositional Logic examples

• solution
• Translation: A ∨ B → C
Truth Table

• Refers to a table That displays the relationships between truth


• values (T or F) of propositions.
Truth tables
• There are three truth-functional connectives that are used to
construct Truth table.
1. Negation
2. Conjunction
3. Disjunction
Truth Tables: negation
Negation:
- Similar to “Not”
- Opposite truth value from the statement(proposition).

Negation

p ~p
T F
F T
Truth Table: Conjunction
Conjunction
Conjunction :
• Similar to “and” p q pq
• Only true when all
T T T
propositions are true
• The product of at least two T F F
propositions
F T F

F F F
Truth Table

 Disjunction: Disjunction
- Similar to “or” p q pq
-Only false when all

propositions are false. T T T


-The union of at least
T F T
two propositions
F T T
F F F
Conjunction and disjunction examples

Let p and q represent the following statements:


p: 10 > 4 This is a true statement
q: 3 < 5 This is a true statement

Use truth table to determine the truth value for each of the
following compound propositions:

1. pq
2. ~pq
3. pq
4. ~p  ~q
Example 3: Constructing a Truth Table

Given that p is true and q is false, construct a truth table that


shows the truth value for the following expression:

(~p  q)  ~q
Example 3: Constructing a Truth Table

solution

p q ~p ~p  q ~q (~p  q)  ~q

T F F F T F
Truth Tables
Exercise:
Use the truth table to determine the truth value for
the expression ~(p  q)

Where:
p is true and q is false.
Truth Table: Exercise

Complete the following Truth table


Truth Table: exercise

Given that the truth values of P and Q are false and g is true
Use truth table to determine the truth value for the following
expression.
(~p  q)  ~q ~g
Logic and AI
• Would like our AI to have knowledge about the
world, and logically draw conclusions from it

• Search algorithms generate successors and evaluate them, but do


not “understand” much about the setting

• Search algorithm could search through many states to


find a solution
A story
• You roommate comes home; he/she is completely wet
• You know the following things:
• Your roommate is wet
• If your roommate is wet, it is because of rain, sprinklers, or both
• If your roommate is wet because of sprinklers, the sprinklers must be on
• If your roommate is wet because of rain, your roommate must not be carrying the umbrella
• The umbrella is not in the umbrella holder
• If the umbrella is not in the umbrella holder, either you must be carrying the umbrella, or
your roommate must be carrying the umbrella
• You are not carrying the umbrella
• Can you conclude that the sprinklers are on?
• Can AI conclude that the sprinklers are on?
Knowledge base for the story
• RoommateWet
• RoommateWet => (RoommateWetBecauseOfRain OR
RoommateWetBecauseOfSprinklers)
• RoommateWetBecauseOfSprinklers => SprinklersOn
• RoommateWetBecauseOfRain =>
NOT(RoommateCarryingUmbrella)
• UmbrellaGone
• UmbrellaGone => (YouCarryingUmbrella OR
RoommateCarryingUmbrella)
• NOT(YouCarryingUmbrella)
Syntax
• What do well-formed sentences in the knowledge
base look like?
• A Backus Naur Form(BNF) grammar:
• Symbol → P, Q, R, …, RoommateWet, …
• Sentence → True | False | Symbol | NOT(Sentence)
| (Sentence AND Sentence) | (Sentence OR
Sentence) | (Sentence => Sentence)
• We will drop parentheses sometimes, but
formally they really should always be there
Semantics
• A model specifies which of the proposition symbols
are true and which are false
• Given a model, I should be able to tell you whether a
sentence is true or false
• Truth table defines semantics of operators:
a b NOT(a) a AND b a OR b a => b

false false true false false true

false true true false true true

true false false false true false

true true false true true true


• Given a model, can compute truth of sentence
recursively with these
Caveats
• TwoIsAnEvenNumber OR ThreeIsAnOddNumber
is true (not exclusive OR)
• TwoIsAnOddNumber => ThreeIsAnEvenNumber
is true (if the left side is false it’s always true)
All of this is assuming those symbols are assigned their natural
values…
Tautologies
• A sentence is a tautology if it is true for any
setting of its propositional symbols
P Q P OR Q NOT(P) AND (P OR Q)
NOT(Q) OR (NOT(P)
AND
NOT(Q))
false false false true true

false true true false true

true false true false true

true true true false true

• (P OR Q) OR (NOT(P) AND NOT(Q)) is a tautology


Is this a tautology?
• (P => Q) OR (Q => P)
Logical equivalences
• Two sentences are logically equivalent if they have the
same truth value for every setting of their
propositional variables
P Q P OR Q NOT(NOT(P)
AND NOT(Q))
false false false false

false true true true

true false true true

true true true true


• P OR Q and NOT(NOT(P) AND NOT(Q)) are logically equivalent
• Tautology = logically equivalent to True
Famous logical equivalences
• (a OR b) ≡ (b OR a) commutatitvity
• (a AND b) ≡ (b AND a) commutatitvity
• ((a AND b) AND c) ≡ (a AND (b AND c)) associativity
• ((a OR b) OR c) ≡ (a OR (b OR c)) associativity
• NOT(NOT(a)) ≡ a double-negation elimination
• (a => b) ≡ (NOT(b) => NOT(a)) contraposition
• (a => b) ≡ (NOT(a) OR b) implication elimination
• NOT(a AND b) ≡ (NOT(a) OR NOT(b)) De Morgan
• NOT(a OR b) ≡ (NOT(a) AND NOT(b)) De Morgan
• (a AND (b OR c)) ≡ ((a AND b) OR (a AND c)) distributitivity
• (a OR (b AND c)) ≡ ((a OR b) AND (a OR c)) distributitivity
Inference
• We have a knowledge base of things that we know are true
– RoommateWetBecauseOfSprinklers
– RoommateWetBecauseOfSprinklers => SprinklersOn
• Can we conclude that SprinklersOn?
• We say SprinklersOn is entailed by the knowledge base if, for
every setting of the propositional variables for which the
knowledge base is true, SprinklersOn is also true

RWBOS SprinklersOn Knowledge base


false false false
false true false
true false false
true true true
• SprinklersOn is entailed!
Simple algorithm for inference
• Want to find out if sentence a is entailed by knowledge base…
• For every possible setting of the propositional variables,
• If knowledge base is true and a is false, return false
• Return true
• Not very efficient: 2#propositional variables settings
Inconsistent knowledge bases
• Suppose we were careless in how we specified our knowledge base:
• PetOfRoommateIsABird => PetOfRoommateCanFly
• PetOfRoommateIsAPenguin => PetOfRoommateIsABird
• PetOfRoommateIsAPenguin => NOT(PetOfRoommateCanFly)
• PetOfRoommateIsAPenguin
• No setting of the propositional variables makes all of these true
• Therefore, technically, this knowledge base implies anything
• TheMoonIsMadeOfCheese
• telegraph.co.uk/news/main.jhtml?xml=/news/2008/04/01/npenguin101.xml
• Note the date in the URL
Reasoning patterns
• Obtain new sentences directly from some other sentences in knowledge base
according to reasoning patterns
• If we have sentences a and a => b , we can correctly conclude the new
sentence b
• This is called modus ponens
• If we have a AND b , we can correctly conclude a
• All of the logical equivalences from before also give reasoning patterns
Formal proof that the sprinklers are on
1) RoommateWet
2) RoommateWet => (RoommateWetBecauseOfRain OR RoommateWetBecauseOfSprinklers)
3) RoommateWetBecauseOfSprinklers => SprinklersOn
4) RoommateWetBecauseOfRain => NOT(RoommateCarryingUmbrella)
5) UmbrellaGone
6) UmbrellaGone => (YouCarryingUmbrella OR RoommateCarryingUmbrella)
7) NOT(YouCarryingUmbrella)
8) YouCarryingUmbrella OR RoommateCarryingUmbrella (modus ponens on 5 and 6)
9) NOT(YouCarryingUmbrella) => RoommateCarryingUmbrella (equivalent to 8)
10) RoommateCarryingUmbrella (modus ponens on 7 and 9)
11) NOT(NOT(RoommateCarryingUmbrella) (equivalent to 10)
12) NOT(NOT(RoommateCarryingUmbrella)) => NOT(RoommateWetBecauseOfRain) (equivalent to 4 by
contraposition)
13) NOT(RoommateWetBecauseOfRain) (modus ponens on 11 and 12)
14) RoommateWetBecauseOfRain OR RoommateWetBecauseOfSprinklers (modus ponens on 1 and 2)
15) NOT(RoommateWetBecauseOfRain) => RoommateWetBecauseOfSprinklers (equivalent to 14)
16) RoommateWetBecauseOfSprinklers (modus ponens on 13 and 15)
17) SprinklersOn (modus ponens on 16 and 3)
Reasoning about penguins
1) PetOfRoommateIsABird => PetOfRoommateCanFly
2) PetOfRoommateIsAPenguin => PetOfRoommateIsABird
3) PetOfRoommateIsAPenguin => NOT(PetOfRoommateCanFly)
4) PetOfRoommateIsAPenguin
5) PetOfRoommateIsABird (modus ponens on 4 and 2)
6) PetOfRoommateCanFly (modus ponens on 5 and 1)
7) NOT(PetOfRoommateCanFly) (modus ponens on 4 and 3)
8) NOT(PetOfRoommateCanFly) => FALSE (equivalent to 6)
9) FALSE (modus ponens on 7 and 8)
10) FALSE => TheMoonIsMadeOfCheese (tautology)
11) TheMoonIsMadeOfCheese (modus ponens on 9 and 10)
PREDICATE LOGIC
Predicate Logic

• The branch of logic dealing with propositions in which subject and


predicate are separately signified.

• In predicate logic, the basic unit is an atomic sentence which consists


of predicate and argument (i.e. subject).
• Format: Predicate(Argument)

Arguments refers to values that are used to represent an object or a


concept
A predicate ` is a name that describes a property of objects, or a
relationship among objects represented by the variables
Predicate Logic

• For example,

Blue(sky)

The above predicate logic statement means:


"The sky is blue",

• The phrase "is blue" is a predicate and it describes the


property of being blue.
• “Sky “ is an argument since it represents an object
Predicate logic:

Exercise
• Describe the meaning of the following atomic sentences.
• Red(car23)
• student(Tom)
• married(John,Ann)
Predicate logic: logic connectives
• Logic connectives are symbols used to combine facts or propositions.
• These include atomic sentences .

• Examples
• likes(john, mary)  tall(mary)
• tall(john)  nice(john)
Predicate logic: quantifiers
• It is distinguished from other techniques in that its formulas contain
variables which can be quantified.

• Two common quantifiers are:

1. Existential (∃) : To represent a specific number of objects but not all of them
2. universal (∀) : To represent all objects
Predicate logic: Quantifiers

• Examples:
Convert the following sentences into predicate logic.
1. Everything is lovely.
2. Something is lovely
3. Everything in the garden is lovely

• Solutions
•  X lovely(X)
 X lovely(X).
 X in(X, garden)  lovely(X)
Exercise

• Use predicate logic to represent the following sentences:


• All men are mortal.
• No one likes brussel sprouts.
• Everyone taking AI will pass their exams.
• Every race has a winner.
• John likes everyone who is tall.
• John doesn’t like anyone who likes brussel sprouts.
• There is something small and slimy on the table.
Limitations of propositional logic
• So far we studied propositional logic
• Some English statements are hard to model in
propositional logic:
• “If your roommate is wet because of rain, your
roommate must not be carrying any umbrella”
• Pathetic attempt at modeling this:
• RoommateWetBecauseOfRain =>
(NOT(RoommateCarryingUmbrella0) AND
NOT(RoommateCarryingUmbrella1) AND
NOT(RoommateCarryingUmbrella2) AND …)
Problems with propositional logic

• No notion of objects
• No notion of relations among objects
• RoommateCarryingUmbrella0 is instructive to us,
suggesting
• there is an object we call Roommate,
• there is an object we call Umbrella0,
• there is a relationship Carrying between these two objects
• Formally, none of this meaning is there
• Might as well have replaced RoommateCarryingUmbrella0 by P
Elements of first-order logic

• Objects: can give these names such as Umbrella0,


Person0, John, Earth, …
• Relations: Carrying(., .), IsAnUmbrella(.)
• Carrying(Person0, Umbrella0), IsUmbrella(Umbrella0)
• Relations with one object = unary relations =
properties
• Functions: Roommate(.)
• Roommate(Person0)
• Equality: Roommate(Person0) = Person1
Things to note about functions
• It could be that we have a separate name for Roommate(Person0)
• E.g., Roommate(Person0) = Person1
• … but we do not need to have such a name

• A function can be applied to any object


• E.g., Roommate(Umbrella0)
Reasoning about many objects at once
• Variables: x, y, z, … can refer to multiple objects
• New operators “for all” and “there exists”
• Universal quantifier and existential quantifier
• for all x: CompletelyWhite(x) => NOT(PartiallyBlack(x))
• Completely white objects are never partially black
• there exists x: PartiallyWhite(x) AND PartiallyBlack(x)
• There exists some object in the world that is partially white and
partially black
Practice converting English to
first-order logic
• “John has an umbrella”
• there exists y: (Has(John, y) AND IsUmbrella(y))
• “Anything that has an umbrella is not wet”
• for all x: ((there exists y: (Has(x, y) AND IsUmbrella(y))) =>
NOT(IsWet(x)))
• “Any person who has an umbrella is not wet”
• for all x: (IsPerson(x) => ((there exists y: (Has(x, y) AND
IsUmbrella(y))) => NOT(IsWet(x))))
More practice converting English
to first-order logic
• “John has at least two umbrellas”
• there exists x: (there exists y: (Has(John, x) AND
IsUmbrella(x) AND Has(John, y) AND IsUmbrella(y) AND
NOT(x=y))
• “John has at most two umbrellas”
• for all x, y, z: ((Has(John, x) AND IsUmbrella(x) AND
Has(John, y) AND IsUmbrella(y) AND Has(John, z) AND
IsUmbrella(z)) => (x=y OR x=z OR y=z))
Even more practice converting
English to first-order logic…
• “Duke’s basketball team defeats any other basketball team”
• for all x: ((IsBasketballTeam(x) AND NOT(x=BasketballTeamOf(Duke))) =>
Defeats(BasketballTeamOf(Duke), x))
• “Every team defeats some other team”
• for all x: (IsTeam(x) => (there exists y: (IsTeam(y) AND NOT(x=y) AND
Defeats(x,y))))
Is this a tautology?
• “Property P implies property Q, or propery P
implies property Q (or both)”
• for all x: ((P(x) => Q(x)) OR (Q(x) => P(x)))
• (for all x: (P(x) => Q(x)) OR (for all x: (Q(x) => P(x)))
Relationship between universal and existential

• for all x: a
• is equivalent to
• NOT(there exists x: NOT(a))
Axioms and theorems

• Axioms: basic facts about the domain, our “initial”


knowledge base
• Theorems: statements that are logically derived
from axioms
SUBST

• SUBST replaces one or more variables with something


else
• For example:
• SUBST({x/John}, IsHealthy(x) => NOT(HasACold(x))) gives us
• IsHealthy(John) => NOT(HasACold(John))
Instantiating quantifiers
• From
• for all x: a
• we can obtain
• SUBST({x/g}, a)

• From
• there exists x: a
• we can obtain
• SUBST({x/k}, a)
• where k is a constant that does not appear elsewhere in the
knowledge base (Skolem constant)
• Don’t need original sentence anymore
Generalized modus ponens
• for all x: Loves(John, x)
• John loves every thing

• for all y: (Loves(y, Jane) => FeelsAppreciatedBy(Jane, y))


• Jane feels appreciated by every thing that loves her

• Can infer from this:


• FeelsAppreciatedBy(Jane, John)

• Here, we used the substitution {x/Jane, y/John}


• Note we used different variables for the different sentences
• General UNIFY algorithms for finding a good substitution
Keeping things as general as possible in
unification
• Consider EdibleByWith
• e.g., EdibleByWith(Soup, John, Spoon) – John can eat soup with a spoon
• for all x: for all y: EdibleByWith(Bread, x, y)
• Anything can eat bread with anything
• for all u: for all v: (EdibleByWith(u, v, Spoon) =>
CanBeServedInBowlTo(u,v))
• Anything that is edible with a spoon by something can be served in a bowl to that
something
• Substitution: {x/z, y/Spoon, u/Bread, v/z}
• Gives: for all z: CanBeServedInBowlTo(Bread, z)
• Alternative substitution {x/John, y/Spoon, u/Bread, v/John} would only
have given CanBeServedInBowlTo(Bread, John), which is not as general
Resolution for first-order logic
• for all x: (NOT(Knows(John, x)) OR IsMean(x) OR Loves(John, x))
• John loves everything he knows, with the possible exception of mean
things
• for all y: (Loves(Jane, y) OR Knows(y, Jane))
• Jane loves everything that does not know her
• What can we unify? What can we conclude?
• Use the substitution: {x/Jane, y/John}
• Get: IsMean(Jane) OR Loves(John, Jane) OR Loves(Jane, John)
• Complete (i.e., if not satisfiable, will find a proof of this), if we
can remove literals that are duplicates after unification
• Also need to put everything in canonical form first
Notes on inference in first-order logic
• Deciding whether a sentence is entailed is
semidecidable: there are algorithms that will eventually
produce a proof of any entailed sentence
• It is not decidable: we cannot always conclude that a
sentence is not entailed
SEMANTIC NETWORKS
Semantic networks
• This is a representation technique that uses a graph of labelled nodes
and directed arcs to encode knowledge.
• Arcs define binary relationships that hold between objects.
• Nodes are used to denote object or concept.

• Example
Semantic networks: Common Relations

There are three common Relations

1. Attributes relation: associates abstract concepts or real


world objects with their respective properties.

Example:
Semantic networks: Common Relations
2. is_a Relation is an inherence relation between two abstract concepts.
Also known as AKO (akind-of) relation

Example:

3. Instance: the relation between an abstract concept and a real world


entity or event.

Example:
Semantic Networks: Example

• Use sematic network to represent the following predicate logic statement.

isa(person,mammal), instance(Mike-Hall, person), team(Mike-


Hall,Cardiff), has_part(person,head), team_colours(Cardiff,blue/black)
Semantic network: Example
• Solution
Semantic Networks

Exercise:
Construct Semantic Net representations of the following
sentence:

Dave is Kenyan and he is a lecturer.


Lecturers teach in a university
Semantic networks: Example

• Use semantic network to represent the following


knowledge.

Emus are birds and do run . Typically birds fly and have wings.
Semantic networks: Example
FRAMES
Frames

• Frame is a collection of attributes or slots and associated values that describe


some real world entity or a concept.

• Each frame represents a class (set), or an instance of a class (object).

It consist of Three Main components


1. Frame name – used for identification.
2. slots: set of attributes that can describe the object
3. facet value: Information about the object. Also called slot value

Frame example
• The following Frame describes a car
Car frame
Frame hierarchy
• Frames can be linked together into a hierarchy for reasoning

Example:
Frame hierarchy
• Frames are linked using values.
• E.g. in the previous example, hotel chair, hotel bed and hotel phone
values are used to form a link between hotel room frame and other
frames i.e. hotel chair frame, hotel bed frame and hotel phone.
Frame and predicate logic

• Generally predicate logic can be represented in a frame based


system, using the following predicate
s(f,v)

Where:
S-slot
F-frame name
V-value
Frame and predicate logic

• Example:
• Translate the following predicate logic into a frame.

Gender(Adam,Male),spouse(Adam,Beth), child (Adam,Charles),


child(Adam,Donna) child(Adam,Ellen)
Frame and predicate logic

Solution
RULES
Rules
- In this approach knowledge is encoded as IF … THEN rules
-Each rule describes the relation between the premises and
the
conclusion

Example:
For example we may have the rule:
IF (hair) OR (drinks milk) THEN (mammal)
Rules: Mycin Sample Rule Example

• The following example shows one of the rules used by Mycin expert
system for representing knowledge
• Example
Rules: Traffic lights Example

You might also like