UNIT IV
LOGICAL REASONING
Knowledge-based agent in Artificial intelligence
- An intelligent agent needs knowledge about the real world for taking decisions and
reasoning to act efficiently.
- Knowledge-based agents are those agents who have the capability of maintaining an
internal state of knowledge, reason over that knowledge, update their knowledge after
observations and take actions.
- These agents can represent the world with some formal representation and act
intelligently.
o Knowledge-based agents are composed of two main parts:
o Knowledge-base and
o Inference system.
A knowledge-based agent must able to do the following:
o An agent should be able to represent states, actions, etc.
o An agent Should be able to incorporate new percepts
o An agent can update the internal representation of the world
o An agent can deduce the internal representation of the world
o An agent can deduce appropriate actions.
The architecture of knowledge-based agent:
- The above diagram is representing a generalized architecture for a
knowledge-based agent. The knowledge-based agent (KBA) take input from
the environment by perceiving the environment.
- The input is taken by the inference engine of the agent and which also
communicate with KB to decide as per the knowledge store in KB.
- The learning element of KBA regularly updates the KB by learning new
knowledge.
- Knowledge base: Knowledge-base is a central component of a knowledge-based
agent, it is also known as KB. It is a collection of sentences (here 'sentence' is a
technical term and it is not identical to sentence in English).
- These sentences are expressed in a language which is called a knowledge
representation language. The Knowledge-base of KBA stores fact about the world.
Why use a knowledge base?
Knowledge-base is required for updating knowledge for an agent to learn with
experiences and take action as per the knowledge.
Inference system?
Inference means deriving new sentences from old. Inference system allows us to
add a new sentence to the knowledge base. A sentence is a proposition about the
world. Inference system applies logical rules to the KB to deduce new
information.
Inference system generates new facts so that an agent can update
the KB. An inference system works mainly in two rules which are
given as:
o Forward chaining
o Backward chaining
Operations Performed by KBA
Following are three operations which are performed by KBA in order to show the
intelligent behavior:
1. TELL: This operation tells the knowledge base what it perceives from the
environment.
2. ASK: This operation asks the knowledge base what action it should perform.
3. Perform: It performs the selected action.
A generic knowledge-based agent:
Following is the structure outline of a generic knowledge-based agents program:
function KB-AGENT(percept):
persistent: KB, a knowledge base
t, a counter, initially 0, indicating time
TELL(KB, MAKE-PERCEPT-SENTENCE(percept, t))
Action = ASK(KB, MAKE-ACTION-QUERY(t))
TELL(KB, MAKE-ACTION-SENTENCE(action, t))
t=t+1
return action
ALGORITHM EXPLAIN
The knowledge-based agent takes percept as input and returns an action as output.
The agent maintains the knowledge base, KB, and it initially has some background
knowledge of the real world.
It also has a counter to indicate the time for the whole process, and this counter is
initialized with zero.
Each time when the function is called, it performs its three operations:
o Firstly it TELLs the KB what it perceives.
o Secondly, it asks KB what action it should take
o Third agent program TELLS the KB that which action was chosen.
The MAKE-PERCEPT-SENTENCE generates a sentence as setting that the agent
perceived the given percept at the given time.
The MAKE-ACTION-QUERY generates a sentence to ask which action should
be done at the current time.
MAKE-ACTION-SENTENCE generates a sentence which asserts that the chosen
action was executed.
Various levels of knowledge-based agent:
1. Knowledge level
2. Logical level
3. Implementation level
1. Knowledge level
Knowledge level is the first level of knowledge-based agent, and in this level, we need to
specify what the agent knows, and what the agent goals are. With these specifications, we
can fix its behavior.
For example,
suppose an automated taxi agent needs to go from a station A to station B, and he knows
the way from A to B, so this comes at the knowledge level.
2. Logical level:
Logical level are encoded into different logics. At the logical level, an
encoding of knowledge into logical sentences occurs.
At the logical level we can expect to the automated taxi agent to reach to
the destination B.
3. Implementation level:
This is the physical representation of logic and knowledge. At the
implementation level agent perform actions as per logical and knowledge
level.
At this level, an automated taxi agent actually implement his knowledge
and logic so that he can reach to the destination.
Approaches to designing a knowledge-based agent:
There are mainly two approaches to build a knowledge-based agent:
1. 1. Declarative approach:
We can create a knowledge-based agent by initializing with an empty knowledge base and telling
the agent all the sentences with which we want to start with. This approach is called Declarative
approach.
2. 2. Procedural approach:
In the procedural approach, we directly encode desired behavior as a program code.Which means
we just need to write a program that already encodes the desired behavior or agent.
However, in the real world, a successful agent can be built by combining both declarative and
procedural approaches,and declarative knowledge can often be compiled into more efficient
procedural code.
1. Negation:
A sentence such as ¬ P is called negation of P. A literal can be either Positive literal or negative
literal.
2. Conjunction:
A sentence which has ∧ connective such as, P ∧ Q is called a conjunction.
Example: Rohan is intelligent and hardworking. It can be written as,
P= Rohan is intelligent,
Q= Rohan is hardworking. → P∧ Q.
Disjunction:
A sentence which has ∨ connective, such as P ∨ Q. is called disjunction,
where P and Q are the propositions.
Example: "Ritika is a doctor or Engineer",
Here P= Ritika is Doctor. Q= Ritika is Engineer, so we can write it as P ∨ Q.
Implication:
A sentence such as P → Q, is called an implication. Implications are also known
as if-then rules. It can be represented as
If it is raining, then the street is wet.
Let P= It is raining, and Q= Street is wet, so it is represented as P → Q
Biconditional:
A sentence such as P⇔ Q is a Biconditional sentence,
example If I am breathing, then I am alive
P= I am breathing, Q= I am alive, it can be represented as P ⇔ Q.
Following is the summarized table for Propositional Logic Connectives:
Truth Table:
In propositional logic, we need to know the truth values of propositions in
all possible scenarios.
We can combine all the possible combination with logical connectives,
and the representation of these combinations in a tabular format is called
Truth table.
Truth table with three propositions:
We can build a proposition composing three propositions P, Q, and R. This truth table is made-up of 8n Tuples as we
have taken three proposition symbols.