Unit 3: Knowledge & Reasoning
1. Knowledge Representation Issues
Definition: Knowledge representation (KR) refers to how
information and facts about the world are represented in a form
that an AI system can use to solve problems, make decisions, and
infer new knowledge.
Key Issues in Knowledge Representation:
o Expressiveness: The ability of the representation to capture a
wide range of knowledge. If it's too weak, it won't represent
the information adequately. If it's too expressive, it may
become computationally expensive.
o Efficiency: How well the system uses resources like time and
memory to reason and solve problems.
o Inference: The ability of the system to draw conclusions
from the represented knowledge.
o Ambiguity: The challenge of representing concepts that may
have multiple meanings depending on context.
o Scalability: How well the system can handle large amounts
of knowledge without performance degradation.
o Comprehensibility: Whether the knowledge is
understandable to human users and maintainable over time.
2. Representation & Mapping
Mapping Knowledge to Representation: The process of
translating real-world facts into a formal representation that a
computer can manipulate. This can involve:
o Ontology-based Representation: Hierarchical
representation that organizes concepts and their relationships.
o Conceptual Models: Representing entities and relationships
in a manner close to human understanding, often in
structured formats like graphs or logic.
Examples:
o The fact "John is a doctor" could be represented in a
knowledge base as Doctor(John) or Person(John) ∧
Profession(John, Doctor).
3. Approaches to Knowledge Representation
Logical Representation: Uses formal logic (predicate logic,
propositional logic) to represent facts. It’s highly structured and
can be used to perform logical inferences.
Frame-Based Representation: Knowledge is structured as
"frames" (objects or concepts with slots for attributes), where each
frame represents a stereotype or a typical situation.
Semantic Networks: A graph-based structure where nodes
represent concepts or objects and edges represent relationships
between them.
Production Rules: Knowledge is encoded as rules, typically "If-
Then" statements. These rules are used in rule-based systems like
expert systems.
4. Using Predicate Logic
Simple Fact Representation:
o Facts can be represented as logical statements. For instance:
"John is a student" is written as Student(John).
"John studies AI" is written as Studies(John, AI).
ISA (Is-A) Relationship:
o This is used to represent hierarchical relationships. Example:
"A dog is an animal" can be represented as ISA(Dog,
Animal).
Computable Functions & Predicates:
o Predicate logic can handle functions and predicates that can
be computed. For example:
Father(John, Peter) is a predicate that means "John is
the father of Peter."
Age(John, 30) denotes "John’s age is 30."
Resolution:
o Resolution is a rule of inference used in logic to derive
conclusions from a set of facts and clauses. It’s used in
automated theorem proving.
Natural Deduction:
o A logical system that provides rules for deriving conclusions
from premises. For instance, if we know that P → Q (if P,
then Q) and P is true, we can deduce Q using Modus
Ponens.
5. Representing Knowledge Using Rules
Procedural vs Declarative Knowledge:
o Procedural Knowledge: "How-to" knowledge. Example:
how to perform a task or solve a problem. In a system,
procedural knowledge may be encoded as algorithms or
instructions.
o Declarative Knowledge: "What" knowledge. Represents
facts or truths, like "The sky is blue" or "Water boils at
100°C."
Logic Programming: In logic programming languages (like
Prolog), knowledge is expressed in the form of facts and rules, and
the system uses inference to answer queries.
Forward vs Backward Reasoning:
o Forward Reasoning: Starting from known facts, rules are
applied to derive new facts until a solution is reached.
o Backward Reasoning: Starting with a goal, the system
works backward through the rules to find a set of facts that
support the goal.
Matching: A process used in rule-based systems where the current
state is compared to the conditions of rules to decide which rules to
apply.
Control Knowledge: Refers to knowledge about how and when to
apply reasoning methods, such as which rules to apply first, or how
to prioritize facts for efficient problem-solving.