0% found this document useful (0 votes)
351 views55 pages

Ai Unit 2

The document discusses knowledge-based agents in artificial intelligence. Knowledge-based agents maintain an internal state of knowledge about the world and can reason over that knowledge to take actions. They are composed of a knowledge base to store facts about the world and an inference system that applies logical rules to deduce new information or determine appropriate actions. The knowledge base is updated through learning, and the agent performs operations like telling the knowledge base new information, asking what action to take, and telling what action was performed.

Uploaded by

Tushar Verma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
351 views55 pages

Ai Unit 2

The document discusses knowledge-based agents in artificial intelligence. Knowledge-based agents maintain an internal state of knowledge about the world and can reason over that knowledge to take actions. They are composed of a knowledge base to store facts about the world and an inference system that applies logical rules to deduce new information or determine appropriate actions. The knowledge base is updated through learning, and the agent performs operations like telling the knowledge base new information, asking what action to take, and telling what action was performed.

Uploaded by

Tushar Verma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

PRINCIPLES OF ARTIFICIAL INTELLIGENCE

Lecture 2.1.1
• Knowledge-Based Agent in Artificial intelligence
o An intelligent agent needs knowledge about the real world for taking decisions
and reasoning to act efficiently.
o 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:

12. TELL: This operation tells the knowledge base what it perceives from the
environment.
13. ASK: This operation asks the knowledge base what action it should perform.
14. Perform: It performs the selected action.
A generic knowledge-based agent:

Following is the structure outline of a generic knowledge-based agents program:

1. function KB-AGENT(percept):

2. persistent: KB, a knowledge base

3. t, a counter, initially 0, indicating time

4. TELL(KB, MAKE-PERCEPT-SENTENCE(percept, t))

5. Action = ASK(KB, MAKE-ACTION-QUERY(t))

6. TELL(KB, MAKE-ACTION-SENTENCE(action, t))

7. t=t+1

8. return action

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:

A knowledge-based agent can be viewed at different levels which are given below:

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:

At this level, we understand that how the knowledge representation of knowledge is stored.
At this level, sentences 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:

18. 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.
19. 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.

What is knowledge representation?

Humans are best at understanding, reasoning, and interpreting knowledge. Human knows
things, which is knowledge and as per their knowledge they perform various actions in the
real world. But how machines do all these things comes under knowledge
representation and reasoning. Hence we can describe Knowledge representation as
following:

o Knowledge representation and reasoning (KR, KRR) is the part of Artificial


intelligence which concerned with AI agents thinking and how thinking contributes
to intelligent behavior of agents.
o It is responsible for representing information about the real world so that a computer
can understand and can utilize this knowledge to solve the complex real world
problems such as diagnosis a medical condition or communicating with humans in
natural language.
o It is also a way which describes how we can represent knowledge in artificial
intelligence. Knowledge representation is not just storing data into some database,
but it also enables an intelligent machine to learn from that knowledge and
experiences so that it can behave intelligently like a human.

What to Represent:

Following are the kind of knowledge which needs to be represented in AI systems:

o Object: All the facts about objects in our world domain. E.g., Guitars contains strings,
trumpets are brass instruments.
o Events: Events are the actions which occur in our world.
o Performance: It describe behavior which involves knowledge about how to do
things.
o Meta-knowledge: It is knowledge about what we know.
o Facts: Facts are the truths about the real world and what we represent.
o Knowledge-Base: The central component of the knowledge-based agents is the
knowledge base. It is represented as KB. The Knowledgebase is a group of the
Sentences (Here, sentences are used as a technical term and not identical with the
English language).

Knowledge: Knowledge is awareness or familiarity gained by experiences of facts, data, and


situations. Following are the types of knowledge in artificial intelligence:

Types of knowledge

Following are the various types of knowledge:

1. Declarative Knowledge:

o Declarative knowledge is to know about something.


o It includes concepts, facts, and objects.
o It is also called descriptive knowledge and expressed in declarativesentences.
o It is simpler than procedural language.
2. Procedural Knowledge

o It is also known as imperative knowledge.


o Procedural knowledge is a type of knowledge which is responsible for knowing how
to do something.
o It can be directly applied to any task.
o It includes rules, strategies, procedures, agendas, etc.
o Procedural knowledge depends on the task on which it can be applied.

3. Meta-knowledge:

o Knowledge about the other types of knowledge is called Meta-knowledge.

4. Heuristic knowledge:

o Heuristic knowledge is representing knowledge of some experts in a filed or subject.


o Heuristic knowledge is rules of thumb based on previous experiences, awareness of
approaches, and which are good to work but not guaranteed.

5. Structural knowledge:

o Structural knowledge is basic knowledge to problem-solving.


o It describes relationships between various concepts such as kind of, part of, and
grouping of something.
o It describes the relationship that exists between concepts or objects.
The relation between knowledge and intelligence:

Knowledge of real-worlds plays a vital role in intelligence and same for creating artificial
intelligence. Knowledge plays an important role in demonstrating intelligent behavior in AI
agents. An agent is only able to accurately act on some input when he has some knowledge or
experience about that input.

Let's suppose if you met some person who is speaking in a language which you don't know,
then how you will able to act on that. The same thing applies to the intelligent behavior of the
agents.

As we can see in below diagram, there is one decision maker which act by sensing the
environment and using knowledge. But if the knowledge part will not present then, it cannot
display intelligent behavior.

AI knowledge cycle:
An Artificial intelligence system has the following components for displaying intelligent
behavior:

o Perception
o Learning
o Knowledge Representation and Reasoning
o Planning
o Execution

The above diagram is showing how an AI system can interact with the real world and what
components help it to show intelligence. AI system has Perception component by which it
retrieves information from its environment. It can be visual, audio or another form of sensory
input. The learning component is responsible for learning from data captured by Perception
comportment. In the complete cycle, the main components are knowledge representation and
Reasoning. These two components are involved in showing the intelligence in machine-like
humans. These two components are independent with each other but also coupled together.
The planning and execution depend on analysis of Knowledge representation and reasoning.

Approaches to knowledge representation:

There are mainly four approaches to knowledge representation, which are given below:

1. Simple relational knowledge:

o It is the simplest way of storing facts which uses the relational method, and each fact
about a set of the object is set out systematically in columns.
o This approach of knowledge representation is famous in database systems where the
relationship between different entities is represented.
o This approach has little opportunity for inference.

Example: The following is the simple relational knowledge representation.

Player Weight Ag
Player1 65 23
Player2 58 18
Player3 75 24
2. Inheritable knowledge:

o In the inheritable knowledge approach, all data must be stored into a hierarchy of
classes.
o All classes should be arranged in a generalized form or a hierarchal manner.
o In this approach, we apply inheritance property.
o Elements inherit values from other members of a class.
o This approach contains inheritable knowledge which shows a relation between
instance and class, and it is called instance relation.
o Every individual frame can represent the collection of attributes and its value.
o In this approach, objects and values are represented in Boxed nodes.
o We use Arrows which point from objects to their values.
o Example:

3. Inferential knowledge:

o Inferential knowledge approach represents knowledge in the form of formal logics.


o This approach can be used to derive more facts.
o It guaranteed correctness.
o Example: Let's suppose there are two statements:
65. Marcus is a man
66. All men are mortal
67. Then it can represent as;

man(Marcus)

∀x = man (x) ----------> mortal (x)s

4. Procedural knowledge:

o Procedural knowledge approach uses small programs and codes which describes how
to do specific things, and how to proceed.
o In this approach, one important rule is used which is If-Then rule.
o In this knowledge, we can use various coding languages such as LISP
language and Prolog language.
o We can easily represent heuristic or domain-specific knowledge using this approach.
o But it is not necessary that we can represent all cases in this approach.

Requirements for knowledge Representation system:

A good knowledge representation system must possess the following properties.


73. Representational Accuracy: KR system should have the ability to represent all kind
of required knowledge.
74. Inferential Adequacy: KR system should have ability to manipulate the
representational structures to produce new knowledge corresponding to existing
structure.
75. Inferential Efficiency: The ability to direct the inferential knowledge mechanism
into the most productive directions by storing appropriate guides.
76. Acquisitional efficiency-The ability toacquire the new knowledge easily using
automatic methods.

Link:
https://www.youtube.com/watch?v=SEJhMO1IXZs&list=PLwdnzlV3ogoXaceHrrFVZCJKbm_
laSHcH&index=11

Lecture 2.1.2
• Techniques of knowledge representation

There are mainly four ways of knowledge representation which are given as
follows:

Logical Representation

0. Semantic Network Representation


1. Frame Representation
2. Production Rules

1. Logical Representation

Logical representation is a language with some concrete rules which deals with
propositions and has no ambiguity in representation. Logical representation
means drawing a conclusion based on various conditions. This representation lays
down some important communication rules. It consists of precisely defined syntax
and semantics which supports the sound inference. Each sentence can be
translated into logics using syntax and semantics.

Syntax:

o Syntaxes are the rules which decide how we can construct legal sentences
in the logic.
o It determines which symbol we can use in knowledge representation.
o How to write those symbols.

Semantics:
o Semantics are the rules by which we can interpret the sentence in the logic.
o Semantic also involves assigning a meaning to each sentence.

Logical representation can be categorised into mainly two logics:

o Propositional Logics
o Predicate logics

Advantages of logical representation:

10. Logical representation enables us to do logical reasoning.


11. Logical representation is the basis for the programming languages.

Disadvantages of logical Representation:

12. Logical representations have some restrictions and are challenging to work
with.
13. Logical representation technique may not be very natural, and inference
may not be so efficient.

2. Semantic Network Representation

Semantic networks are alternative of predicate logic for knowledge


representation. In Semantic networks, we can represent our knowledge in the
form of graphical networks. This network consists of nodes representing objects
and arcs which describe the relationship between those objects. Semantic
networks can categorize the object in different forms and can also link those
objects. Semantic networks are easy to understand and can be easily extended.

This representation consist of mainly two types of relations:

o IS-A relation (Inheritance)


o Kind-of-relation

Example: Following are some statements which we need to represent in the form
of nodes and arcs.

Statements:

16. Jerry is a cat.


17. Jerry is a mammal
18. Jerry is owned by Priya.
19. Jerry is brown colored.
20. All Mammals are animal.
In the above diagram, we have represented the different type of knowledge in the
form of nodes and arcs. Each object is connected with another object by some
relation.

Drawbacks in Semantic representation:

21. Semantic networks take more computational time at runtime as we need


to traverse the complete network tree to answer some questions. It might
be possible in the worst case scenario that after traversing the entire tree,
we find that the solution does not exist in this network.
22. Semantic networks try to model human-like memory (Which has 1015
neurons and links) to store the information, but in practice, it is not
possible to build such a vast semantic network.
23. These types of representations are inadequate as they do not have any
equivalent quantifier, e.g., for all, for some, none, etc.
24. Semantic networks do not have any standard definition for the link names.
25. These networks are not intelligent and depend on the creator of the system.

Advantages of Semantic network:

26. Semantic networks are a natural representation of knowledge.


27. Semantic networks convey meaning in a transparent manner.
28. These networks are simple and easily understandable.

Frame Representation

A frame is a record like structure which consists of a collection of attributes and


its values to describe an entity in the world. Frames are the AI data structure
which divides knowledge into substructures by representing stereotypes
situations. It consists of a collection of slots and slot values. These slots may be of
any type and sizes. Slots have names and values which are called facets.

Facets: The various aspects of a slot is known as Facets. Facets are features of
frames which enable us to put constraints on the frames. Example: IF-NEEDED
facts are called when data of any particular slot is needed. A frame may consist of
any number of slots, and a slot may include any number of facets and facets may
have any number of values. A frame is also known as slot-filter knowledge
representation in artificial intelligence.

Frames are derived from semantic networks and later evolved into our modern-
day classes and objects. A single frame is not much useful. Frames system consist
of a collection of frames which are connected. In the frame, knowledge about an
object or event can be stored together in the knowledge base. The frame is a type
of technology which is widely used in various applications including Natural
language processing and machine visions.

Example: 1

Let's take an example of a frame for a book


Example 2:

Let's suppose we are taking an entity, Peter. Peter is an engineer as a profession,


and his age is 25, he lives in city London, and the country is England. So following
is the frame representation for this:

Advantages of frame representation:

29. The frame knowledge representation makes the programming easier by


grouping the related data.
30. The frame representation is comparably flexible and used by many
applications in AI.
31. It is very easy to add slots for new attribute and relations.
32. It is easy to include default data and to search for missing values.
33. Frame representation is easy to understand and visualize.

Disadvantages of frame representation:

34. In frame system inference mechanism is not be easily processed.


35. Inference mechanism cannot be smoothly proceeded by frame
representation.
36. Frame representation has a much generalized approach.

4. Production Rules

Production rules system consist of (condition, action) pairs which mean, "If
condition then action". It has mainly three parts:

o The set of production rules


o Working Memory
o The recognize-act-cycle

In production rules agent checks for the condition and if the condition exists then
production rule fires and corresponding action is carried out. The condition part
of the rule determines which rule may be applied to a problem. And the action part
carries out the associated problem-solving steps. This complete process is called
a recognize-act cycle.

The working memory contains the description of the current state of problems-
solving and rule can write knowledge to the working memory. This knowledge
match and may fire other rules.

If there is a new situation (state) generates, then multiple production rules will be
fired together, this is called conflict set. In this situation, the agent needs to select
a rule from these sets, and it is called a conflict resolution.

Example:

o IF (at bus stop AND bus arrives) THEN action (get into the bus)
o IF (on the bus AND paid AND empty seat) THEN action (sit down).
o IF (on bus AND unpaid) THEN action (pay charges).
o IF (bus arrives at destination) THEN action (get down from the bus).

Advantages of Production rule:

44. The production rules are expressed in natural language.


45. The production rules are highly modular, so we can easily remove, add or
modify an individual rule.

Disadvantages of Production rule:

46. Production rule system does not exhibit any learning capabilities, as it does
not store the result of the problem for the future uses.
47. During the execution of the program, many rules may be active hence rule-
based production systems are inefficient.

Lecture 2.1.3 Propositional logic


• Propositional logic in Artificial intelligence

Propositional logic (PL) is the simplest form of logic where all the statements are
made by propositions. A proposition is a declarative statement which is either true
or false. It is a technique of knowledge representation in logical and mathematical
form.

Example:

1. It is Sunday.
2. The Sun rises from West (False proposition)

3. 3+3= 7(False proposition)

4. 5 is a prime number.

Following are some basic facts about propositional logic:

o Propositional logic is also called Boolean logic as it works on 0 and 1.


o In propositional logic, we use symbolic variables to represent the logic, and
we can use any symbol for a representing a proposition, such A, B, C, P, Q,
R, etc.
o Propositions can be either true or false, but it cannot be both.
o Propositional logic consists of an object, relations or function, and logical
connectives.
o These connectives are also called logical operators.
o The propositions and connectives are the basic elements of the
propositional logic.
o Connectives can be said as a logical operator which connects two
sentences.
o A proposition formula which is always true is called tautology, and it is
also called a valid sentence.
o A proposition formula which is always false is called Contradiction.
o A proposition formula which has both true and false values is called
o Statements which are questions, commands, or opinions are not
propositions such as "Where is Rohini", "How are you", "What is your
name", are not propositions.

Syntax of propositional logic:

The syntax of propositional logic defines the allowable sentences for the
knowledge representation. There are two types of Propositions:

11. Atomic Propositions


12. Compound propositions
o Atomic Proposition: Atomic propositions are the simple propositions. It
consists of a single proposition symbol. These are the sentences which
must be either true or false.

Example:

Artificial Intelligence Technologies Solutions

1. 2+2 is 4, it is an atomic proposition as it is a true fact.

2. "The Sun is cold" is also a proposition as it is a false fact.

o Compound proposition: Compound propositions are constructed by


combining simpler or atomic propositions, using parenthesis and logical
connectives.
Example:

1. "It is raining today, and street is wet."

2. "Ankit is a doctor, and his clinic is in Mumbai."

Logical Connectives:

Logical connectives are used to connect two simpler propositions or representing


a sentence logically. We can create compound propositions with the help of logical
connectives. There are mainly five connectives, which are given as follows:

15. Negation: A sentence such as ¬ P is called negation of P. A literal can be


either Positive literal or negative literal.
16. Conjunction: A sentence which has ∧ connective such as, P ∧ Q is called a
conjunction.
17. Example: Rohan is intelligent and hardworking. It can be written as,
18. P= Rohan is intelligent,
19. Q= Rohan is hardworking. → P∧ Q.
20. Disjunction: A sentence which has ∨ connective, such as P ∨ Q. is called
disjunction, where P and Q are the propositions.
21. Example: "Ritika is a doctor or Engineer",
22. Here P= Ritika is Doctor. Q= Ritika is Doctor, so we can write it as P ∨ Q.
23. Implication: A sentence such as P → Q, is called an implication.
Implications are also known as if-then rules. It can be represented as
24. If it is raining, then the street is wet.
25. Let P= It is raining, and Q= Street is wet, so it is represented as P → Q
26. Biconditional: A sentence such as P⇔ Q is a Biconditional sentence,
example If I am breathing, then I am alive
27. 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. Following are the truth table for all logical connectives:
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.

Precedence of connectives:

Just like arithmetic operators, there is a precedence order for propositional


connectors or logical operators. This order should be followed while evaluating a
propositional problem. Following is the list of the precedence order for operators:

Precedence Operators
First Precedence Parenthesis
Second Precedence Negation
Third Precedence Conjunction(AND)
Fourth Precedence Disjunction(OR)
Fifth Precedence Implication
Six Precedence Biconditional

Logical equivalence:

Logical equivalence is one of the features of propositional logic. Two propositions


are said to be logically equivalent if and only if the columns in the truth table are
identical to each other.

Let's take two propositions A and B, so for logical equivalence, we can write it as
A⇔B. In below truth table we can see that column for ¬A∨ B and A→B, are identical
hence A is Equivalent to B
Properties of Operators:

o Commutativity:
o P∧ Q= Q ∧ P, or
o P ∨ Q = Q ∨ P.
o Associativity:
o (P ∧ Q) ∧ R= P ∧ (Q ∧ R),
o (P ∨ Q) ∨ R= P ∨ (Q ∨ R)
o Identity element:
o P ∧ True = P,
o P ∨ True= True.
o Distributive:
o P∧ (Q ∨ R) = (P ∧ Q) ∨ (P ∧ R).
o P ∨ (Q ∧ R) = (P ∨ Q) ∧ (P ∨ R).
o DE Morgan's Law:
o ¬ (P ∧ Q) = (¬P) ∨ (¬Q)
o ¬ (P ∨ Q) = (¬ P) ∧ (¬Q).
o Double-negation elimination:
o ¬ (¬P) = P.

Limitations of Propositional logic:

o We cannot represent relations like ALL, some, or none with propositional


logic. Example:
46. All the girls are intelligent.
47. Some apples are sweet.
o Propositional logic has limited expressive power.
o In propositional logic, we cannot describe statements in terms of their
properties or logical relationships.

Rules of Inference in Artificial intelligence

Inference:

In artificial intelligence, we need intelligent computers which can create new logic
from old logic or by evidence, so generating the conclusions from evidence and
facts is termed as Inference.

Inference rules:

Inference rules are the templates for generating valid arguments. Inference rules
are applied to derive proofs in artificial intelligence, and the proof is a sequence of
the conclusion that leads to the desired goal.
In inference rules, the implication among all the connectives plays an important
role. Following are some terminologies related to inference rules:

o Implication: It is one of the logical connectives which can be represented


as P → Q. It is a Boolean expression.
o Converse: The converse of implication, which means the right-hand side
proposition goes to the left-hand side and vice-versa. It can be written as Q
→ P.
o Contrapositive: The negation of converse is termed as contrapositive, and
it can be represented as ¬ Q → ¬ P.
o Inverse: The negation of implication is called inverse. It can be
represented as ¬ P → ¬ Q.

From the above term some of the compound statements are equivalent to each
other, which we can prove using truth table:

Minister of India (1947-2020)

Hence from the above truth table, we can prove that P → Q is equivalent to ¬ Q →
¬ P, and Q→ P is equivalent to ¬ P → ¬ Q.

Types of Inference rules:

1. Modus Ponens:

The Modus Ponens rule is one of the most important rules of inference, and it
states that if P and P → Q is true, then we can infer that Q will be true. It can be
represented as:

Example:

Statement-1: "If I am sleepy then I go to bed" ==> P→ Q


Statement-2: "I am sleepy" ==> P

Conclusion: "I go to bed." ==> Q.

Hence, we can say that, if P→ Q is true and P is true then Q will be true.

Proof by Truth table:

2. Modus Tollens:

The Modus Tollens rule state that if P→ Q is true and ¬ Q is true, then ¬ P will also
true. It can be represented as:

Statement-1: "If I am sleepy then I go to bed" ==> P→ Q

Statement-2: "I do not go to the bed."==> ~Q

Statement-3: Which infers that "I am not sleepy" => ~P

Proof by Truth table:

3. Hypothetical Syllogism:

The Hypothetical Syllogism rule state that if P→R is true whenever P→Q is true,
and Q→R is true. It can be represented as the following notation:
Example:

Statement-1: If you have my home key then you can unlock my home. P→Q

Statement-2: If you can unlock my home then you can take my money. Q→R

Conclusion: If you have my home key then you can take my money. P→R

Proof by truth table:

4. Disjunctive Syllogism:

The Disjunctive syllogism rule state that if P∨Q is true, and ¬P is true, then Q will
be true. It can be represented as:

Example:

Statement-1: Today is Sunday or Monday. ==>P∨Q

Statement-2: Today is not Sunday. ==> ¬P

Conclusion: Today is Monday. ==> Q

Proof by truth-table:
5. Addition:

The Addition rule is one the common inference rule, and it states that If P is true,
then P∨Q will be true.

Example:

Statement: I have a vanilla ice-cream. ==> P

Statement-2: I have Chocolate ice-cream.

Conclusion: I have vanilla or chocolate ice-cream. ==> (P∨Q)

Proof by Truth-Table:

6. Simplification:

The simplification rule state that if P∧ Q is true, then Q or P will also be true. It
can be represented as:
Proof by Truth-Table:

7. Resolution:

The Resolution rule state that if P∨Q and ¬ P∧R is true, then Q∨R will also be
true. It can be represented as

Proof by Truth-Table:
Lecture 2.1.4 Predicate Logics

First-Order Logic in Artificial intelligence

In the topic of Propositional logic, we have seen that how to represent statements
using propositional logic. But unfortunately, in propositional logic, we can only
represent the facts, which are either true or false. PL is not sufficient to represent
the complex sentences or natural language statements. The propositional logic has
very limited expressive power. Consider the following sentence, which we cannot
represent using PL logic.

o "Some humans are intelligent", or


o "Sachin likes cricket."

To represent the above statements, PL logic is not sufficient, so we required some


more powerful logic, such as first-order logic.

First-Order logic:

o First-order logic is another way of knowledge representation in artificial


intelligence. It is an extension to propositional logic.
o FOL is sufficiently expressive to represent the natural language statements
in a concise way.
o First-order logic is also known as Predicate logic or First-order
predicate logic. First-order logic is a powerful language that develops
information about the objects in a more easy way and can also express the
relationship between those objects.
o First-order logic (like natural language) does not only assume that the
world contains facts like propositional logic but also assumes the following
things in the world:
o Objects: A, B, people, numbers, colors, wars, theories, squares, pits,
wumpus etc.
o Relations: It can be unary relation such as: red, round, is adjacent, or n-
any relation such as: the sister of, brother of, has color, comes between
o Function: Father of, best friend, third inning of, end of, ......
o As a natural language, first-order logic also has two main parts:
10. Syntax
11. Semantics

Syntax of First-Order logic:

The syntax of FOL determines which collection of symbols is a logical expression


in first-order logic. The basic syntactic elements of first-order logic are symbols.
We write statements in short-hand notation in FOL.

Basic Elements of First-order logic:

Following are the basic elements of FOL syntax:


Constant 1, 2, A, John, Mumbai, cat,....
Variables x, y, z, a, b,....
Predicates Brother, Father, >,....
Function sqrt, LeftLegOf, ....
Connectives ∧, ∨, ¬, ⇒, ⇔
Equality ==
Quantifier ∀, ∃

Atomic sentences:
o Atomic sentences are the most basic sentences of first-order logic. These
sentences are formed from a predicate symbol followed by a parenthesis
with a sequence of terms.
o We can represent atomic sentences as Predicate (term1, term2, ......,
term n).

Example: Ravi and Ajay are brothers: => Brothers(Ravi, Ajay).

Chinky is a cat: => cat (Chinky).

Complex Sentences:
o Complex sentences are made by combining atomic sentences using
connectives.

First-order logic statements can be divided into two parts:

o Subject: Subject is the main part of the statement.


o Predicate: A predicate can be defined as a relation, which binds two atoms
together in a statement.

Consider the statement: "x is an integer.", it consists of two parts, the first part
x is the subject of the statement and second part "is an integer," is known as a
predicate.

Quantifiers in First-order logic:


o A quantifier is a language element which generates quantification, and
quantification specifies the quantity of specimen in the universe of
discourse.
o These are the symbols that permit to determine or identify the range and
scope of the variable in the logical expression. There are two types of
quantifier:
19. Universal Quantifier, (for all, everyone, everything)
20. Existential quantifier, (for some, at least one).
Universal Quantifier:

Universal quantifier is a symbol of logical representation, which specifies that the


statement within its range is true for everything or every instance of a particular
thing.

The Universal quantifier is represented by a symbol ∀, which resembles an


inverted A.

In universal quantifier we use implication "→".

If x is a variable, then ∀x is read as:

oFor all x
oFor each x
oFor every x.
Example:

All man drink coffee.

Let a variable x which refers to a cat so all x can be represented in UOD as below:

∀x man(x) → drink (x, coffee).

It will be read as: There are all x where x is a man who drink coffee.

Existential Quantifier:

Existential quantifiers are the type of quantifiers, which express that the
statement within its scope is true for at least one instance of something.

It is denoted by the logical operator ∃, which resembles as inverted E. When it is


used with a predicate variable then it is called as an existential quantifier. In
Existential quantifier we always use AND or Conjunction symbol (∧).

If x is a variable, then existential quantifier will be ∃x or ∃(x). And it will be read


as:

o There exists a 'x.'


o For some 'x.'
o For at least one 'x.'
Example:

Some boys are intelligent.

∃x: boys(x) ∧ intelligent(x)

It will be read as: There are some x where x is a boy who is intelligent.

Points to remember:

o The main connective for universal quantifier ∀ is implication →.


o The main connective for existential quantifier ∃ is and ∧.

Properties of Quantifiers:

o In universal quantifier, ∀x∀y is similar to ∀y∀x.


o In Existential quantifier, ∃x∃y is similar to ∃y∃x.
o ∃x∀y is not similar to ∀y∃x.

Some Examples of FOL using quantifier:

32. All birds fly.


33. "And since there are all birds who fly so it will be represented as follows.
∀x bird(x) →fly(x).
34. Every man respects his parent.
35. Since there is every man so will use ∀, and it will berepresented as
follows: ∀x man(x) → respects (x, parent).
36. Some boys play cricket.
37. Since there are some boys so we will use∃, and it will be represented as:
∃x boys(x) → play(x, cricket).
38. Not all students like both Mathematics and Science.
39. Since there are not all students, so we will use∀ with negation,
sofollowing representation for this: ¬∀ (x) [ student(x) → like(x,
Mathematics) ∧ like(x, Science)].
40. Only one student failed in Mathematics.
41. Since there is only one student who failed in Mathematics, so we will
usefollowing representation for this: ∃(x) [ student(x) → failed (x,
Mathematics) ∧∀ (y) [¬(x==y) ∧ student(y) →¬failed (x, Mathematics)].

Free and Bound Variables:

The quantifiers interact with variables which appear in a suitable way. There are
two types of variables in First-order logic which are given below:
Free Variable: A variable is said to be a free variable in a formula if it occurs
outside the scope of the quantifier.

Example: ∀x ∃(y)[P (x, y, z)], where z is a free variable.

Bound Variable: A variable is said to be a bound variable in a formula if it occurs


within the scope of the quantifier.

Example: ∀x [A (x) B( y)], here x and y are the bound variables.

Knowledge Engineering in First-order logic

The process of constructing a knowledge-base in first-order logic is called as


knowledge- engineering. In knowledge-engineering, someone who investigates
a particular domain, learns important concept of that domain, and generates a
formal representation of the objects, is known as knowledge engineer.

In this topic, we will understand the Knowledge engineering process in an


electronic circuit domain, which is already familiar. This approach is mainly
suitable for creating special-purpose knowledge base.

The knowledge-engineering process:

Following are some main steps of the knowledge-engineering process. Using these
steps, we will develop a knowledge base which will allow us to reason about digital
circuit (One-bit full adder) which is given below

1. Identify the task:

The first step of the process is to identify the task, and for the digital circuit, there
are various reasoning tasks.

OOPs Concepts in Java

At the first level or highest level, we will examine the functionality of the circuit:

o Does the circuit add properly?


o What will be the output of gate A2, if all the inputs are high?

At the second level, we will examine the circuit structure details such as:

o Which gate is connected to the first input terminal?


o Does the circuit have feedback loops?

2. Assemble the relevant knowledge:

In the second step, we will assemble the relevant knowledge which is required for
digital circuits. So for digital circuits, we have the following required knowledge:

o Logic circuits are made up of wires and gates.


o Signal flows through wires to the input terminal of the gate, and each gate
produces the corresponding output which flows further.
o In this logic circuit, there are four types of gates used: AND, OR, XOR, and
NOT.
o All these gates have one output terminal and two input terminals (except
NOT gate, it has one input terminal).

3. Decide on vocabulary:

The next step of the process is to select functions, predicate, and constants to
represent the circuits, terminals, signals, and gates. Firstly we will distinguish the
gates from each other and from other objects. Each gate is represented as an object
which is named by a constant, such as, Gate(X1). The functionality of each gate is
determined by its type, which is taken as constants such as AND, OR, XOR, or
NOT. Circuits will be identified by a predicate: Circuit (C1).

For the terminal, we will use predicate: Terminal(x).

For gate input, we will use the function In(1, X1) for denoting the first input
terminal of the gate, and for output terminal we will use Out (1, X1).

The function Arity(c, i, j) is used to denote that circuit c has i input, j output.

The connectivity between gates can be represented by predicate Connect(Out(1,


X1), In(1, X1)).

We use a unary predicate On (t), which is true if the signal at a terminal is on.

4. Encode general knowledge about the domain:

To encode the general knowledge about the logic circuit, we need some following
rules:

o If two terminals are connected then they have the same input signal, it can
be represented as:
∀ t1, t2 Terminal (t1) ∧ Terminal (t2) ∧ Connect (t1, t2) → Signal (t1) = Si
gnal (2).
o Signal at every terminal will have either value 0 or 1, it will berepresented
as:
52.
o Connect predicates are commutative:

∀ t1, t2 Connect(t1, t2) → Connect (t2, t1).


o Representation of types of gates:

∀ g Gate(g) ∧ r = Type(g) → r = OR ∨r = AND ∨r = XOR ∨r = NOT.

o Output of AND gate will be zero if and only if any of its input is zero.

∀ g Gate(g) ∧ Type(g) = AND →Signal (Out(1, g))= 0 ⇔ ∃n Signal (In(n, g))= 0

o Output of OR gate is 1 if and only if any of its input is 1:

∀ g Gate(g) ∧ Type(g) = OR → Signal (Out(1, g))= 1 ⇔ ∃n Signal (In(n, g))= 1

o Output of XOR gate is 1 if and only if its inputs are different:

∀ g Gate(g) ∧ Type(g) = XOR → Signal (Out(1, g)) = 1 ⇔ Signal (In(1, g)) ≠ Signal
(In(2, g)).

o Output of NOT gate isinvert of its input:

∀ g Gate(g) ∧ Type(g) = NOT → Signal (In(1, g)) ≠ Signal (Out(1, g)).

o All the gates in the above circuit have two inputs and one output (except
NOT gate).

∀ g Gate(g) ∧ Type(g) = NOT → Arity(g, 1, 1)

∀ g Gate(g) ∧ r =Type(g) ∧ (r= AND ∨r= OR ∨r= XOR) → Arity (g, 2, 1).

o All gates are logic circuits:

∀ g Gate(g) → Circuit (g).

5. Encode a description of the problem instance:

Now we encode problem of circuit C1, firstly we categorize the circuit and its gate
components. This step is easy if ontology about the problem is already thought.
This step involves the writing simple atomics sentences of instances of concepts,
which is known as ontology.

For the given circuit C1, we can encode the problem instance in atomic sentences
as below:

Since in the circuit there are two XOR, two AND, and one OR gate so atomic
sentences for these gates will be:

1. For XOR gate: Type(x1)= XOR, Type(X2) = XOR

2. For AND gate: Type(A1) = AND, Type(A2)= AND

3. For OR gate: Type (O1) = OR.


And then represent the connections between all the gates. Ontology defines a
particular theory of the nature of existence.

6. Pose queries to the inference procedure and get answers:

In this step, we will find all the possible set of values of all the terminal for the
adder circuit. The first query will be:

What should be the combination of input which would generate the first output of
circuit C1, as 0 and a second output to be 1?

1. ∃ i1, i2, i3 Signal (In(1, C1))=i1 ∧ Signal (In(2, C1))=i2 ∧ Signal (In(3, C1))= i
3

2. ∧ Signal (Out(1, C1)) =0 ∧ Signal (Out(2, C1))=1

7. Debug the knowledge base:

Now we will debug the knowledge base, and this is the last step of the complete
process. In this step, we will try to debug the issues of knowledge base.

In the knowledge base, we may have omitted assertions like 1 ≠ 0.

Lecture 2.1.5 Inference in First-Order


Logic
• Inference in First-Order Logic

Inference in First-Order Logic is used to deduce new facts or sentences from existing
sentences. Before understanding the FOL inference rule, let's understand some basic
terminologies used in FOL.

Substitution:

Substitution is a fundamental operation performed on terms and formulas. It occurs in all


inference systems in first-order logic. The substitution is complex in the presence of
quantifiers in FOL. If we write F[a/x], so it refers to substitute a constant "a" in place of
variable "x". First-order logic is capable of expressing facts about some or all objects in the
universe.

Equality:

First-Order logic does not only use predicate and terms for making atomic sentences but also
uses another way, which is equality in FOL. For this, we can use equality symbols which
specify that the two terms refer to the same object.

Example: Brother (John) = Smith.


As in the above example, the object referred by the Brother (John) is similar to the object
referred by Smith. The equality symbol can also be used with negation to represent that two
terms are not the same objects.

Example: ¬(x=y) which is equivalent to x ≠y.

FOL inference rules for quantifier:

As propositional logic we also have inference rules in first-order logic, so following are some
basic inference rules in FOL:

o Universal Generalization
o Universal Instantiation
o Existential Instantiation
o Existential introduction

1. Universal Generalization:

o Universal generalization is a valid inference rule which states that if premise P(c) is
true for any arbitrary element c in the universe of discourse, then we can have a
conclusion as ∀ x P(x).
o It can be represented as:

o This rule can be used if we want to show that every element has a similar property.
o In this rule, x must not appear as a free variable.

Example: Let's represent, P(c): "A byte contains 8 bits", so for ∀ x P(x) "All bytes contain
8 bits.", it will also be true.

2. Universal Instantiation:

o Universal instantiation is also called as universal elimination or UI is a valid inference


rule. It can be applied multiple times to add new sentences.
o The new KB is logically equivalent to the previous KB.
o As per UI, we can infer any sentence obtained by substituting a ground term for
the variable.
o The UI rule state that we can infer any sentence P(c) by substituting a ground term c
(a constant within domain x) from ∀ x P(x) for any object in the universe of
discourse.
o It can be represented as: .
Example:1.

IF "Every person like ice-cream"=> ∀x P(x) so we can infer that

"John likes ice-cream" => P(c)

Example: 2.

Let's take a famous example,

"All kings who are greedy are Evil." So let our knowledge base contains this detail as in the
form of FOL:

∀x king(x) ∧ greedy (x) → Evil (x),

So from this information, we can infer any of the following statements using Universal
Instantiation:

o King(John) ∧ Greedy (John) → Evil (John),


o King(Richard) ∧ Greedy (Richard) → Evil (Richard),
o King(Father(John)) ∧ Greedy (Father(John)) → Evil (Father(John)),

3. Existential Instantiation:

o Existential instantiation is also called as Existential Elimination, which is a valid


inference rule in first-order logic.
o It can be applied only once to replace the existential sentence.
o The new KB is not logically equivalent to old KB, but it will be satisfiable if old KB was
satisfiable.
o This rule states that one can infer P(c) from the formula given in the form of ∃x P(x)
for a new constant symbol c.
o The restriction with this rule is that c used in the rule must be a new term for which
P(c ) is true.
o It can be represented as:

Example:

From the given sentence: ∃x Crown(x) ∧ OnHead(x, John),

So we can infer: Crown(K) ∧ OnHead( K, John), as long as K does not appear in the
knowledge base.

o The above used K is a constant symbol, which is called Skolem constant.


o The Existential instantiation is a special case of Skolemization process.
4. Existential introduction

o An existential introduction is also known as an existential generalization, which is a


valid inference rule in first-order logic.
o This rule states that if there is some element c in the universe of discourse which has
a property P, then we can infer that there exists something in the universe which has
the property P.
o It can be represented as:

o Example: Let's say that,


o "Priyanka got good marks in English."
o "Therefore, someone got good marks in English."

Generalized Modus Ponens Rule:

For the inference process in FOL, we have a single inference rule which is called Generalized
Modus Ponens. It is lifted version of Modus ponens.

Generalized Modus Ponens can be summarized as, " P implies Q and P is asserted to be true,
therefore Q must be True."

According to Modus Ponens, for atomic sentences pi, pi', q. Where there is a substitution θ
such that SUBST (θ, pi',) = SUBST(θ, pi), it can be represented as:

Example:

We will use this rule for Kings are evil, so we will find some x such that x is king, and x
is greedy so we can infer that x is evil.

1. Here let say, p1' is king(John) p1 is king(x)

2. p2' is Greedy(y) p2 is Greedy(x)

3. θ is {x/John, y/John} q is evil(x)

4. SUBST(θ,q).
Unification:
o Unification is a process of making two different logical atomic expressions identical
by finding a substitution. Unification depends on the substitution process.
o It takes two literals as input and makes them identical using substitution.
o Let Ψ1 and Ψ2 be two atomic sentences and 𝜎 be a unifier such that, Ψ1𝜎 = Ψ2𝜎, then
it can be expressed as UNIFY(Ψ1, Ψ2).
o Example: Find the MGU for Unify{King(x), King(John)}

Let Ψ1 = King(x), Ψ2 = King(John),

Substitution θ = {John/x} is a unifier for these atoms and applying this substitution, and both
expressions will be identical.

o The UNIFY algorithm is used for unification, which takes two atomic sentences and
returns a unifier for those sentences (If any exist).
o Unification is a key component of all first-order inference algorithms.
o It returns fail if the expressions do not match with each other.
o The substitution variables are called Most General Unifier or MGU.

E.g. Let's say there are two different expressions, P(x, y), and P(a, f(z)).

In this example, we need to make both above statements identical to each other. For this, we
will perform the substitution.

P(x, y)......... (i)

P(a, f(z))......... (ii)

o Substitute x with a, and y with f(z) in the first expression, and it will be represented
as a/x and f(z)/y.
o With both the substitutions, the first expression will be identical to the second
expression and the substitution set will be: [a/x, f(z)/y].
Conditions for Unification:

Following are some basic conditions for unification:

o Predicate symbol must be same, atoms or expression with different predicate symbol
can never be unified.
o Number of Arguments in both expressions must be identical.
o Unification will fail if there are two similar variables present in the same expression.
Unification Algorithm:

Algorithm: Unify(Ψ1, Ψ2)

Step. 1: If Ψ1 or Ψ2 is a variable or constant, then:

a) If Ψ1 or Ψ2 are identical, then return NIL.

b) Else if Ψ1is a variable,

a. then if Ψ1 occurs in Ψ2, then return FAILURE

b. Else return { (Ψ2/ Ψ1)}.

c) Else if Ψ2 is a variable,
a. If Ψ2 occurs in Ψ1 then return FAILURE,

b. Else return {( Ψ1/ Ψ2)}.

d) Else return FAILURE.

Step.2: If the initial Predicate symbol in Ψ1 and Ψ2 are not same, then return FAILURE.

Step. 3: IF Ψ1 and Ψ2 have a different number of arguments, then return FAILURE.

Step. 4: Set Substitution set(SUBST) to NIL.

Step. 5: For i=1 to the number of elements in Ψ1.

a) Call Unify function with the ith element of Ψ1 and ith element of Ψ2, and put the result
into S.

b) If S = failure then returns Failure

c) If S ≠ NIL then do,

a. Apply S to the remainder of both L1 and L2.

b. SUBST= APPEND(S, SUBST).

Step.6: Return SUBST.

Implementation of the Algorithm

Step.1: Initialize the substitution set to be empty.

Step.2: Recursively unify atomic sentences:

a. Check for Identical expression match.

b. If one expression is a variable vi, and the other is a term ti which does not contain
variable vi, then:

a. Substitute ti / vi in the existing substitutions

b. Add ti /vi to the substitution setlist.

c. If both the expressions are functions, then function name must be similar, and the
number of arguments must be the same in both the expression.

For each pair of the following atomic sentences find the most general unifier (If exist).

1. Find the MGU of {p(f(a), g(Y)) and p(X, X)}

Sol: S0 => Here, Ψ1 = p(f(a), g(Y)), and Ψ2 = p(X, X)

SUBST θ= {f(a) / X}

S1 => Ψ1 = p(f(a), g(Y)), and Ψ2 = p(f(a), f(a))

SUBST θ= {f(a) / g(y)}, Unification failed.


Unification is not possible for these expressions.

2. Find the MGU of {p(b, X, f(g(Z))) and p(Z, f(Y), f(Y))}

Here, Ψ1 = p(b, X, f(g(Z))) , and Ψ2 = p(Z, f(Y), f(Y))

S0 => { p(b, X, f(g(Z))); p(Z, f(Y), f(Y))}

SUBST θ={b/Z}

S1 => { p(b, X, f(g(b))); p(b, f(Y), f(Y))}

SUBST θ={f(Y) /X}

S2 => { p(b, f(Y), f(g(b))); p(b, f(Y), f(Y))}

SUBST θ= {g(b) /Y}

S2 => { p(b, f(g(b)), f(g(b)); p(b, f(g(b)), f(g(b))} Unified Successfully.

And Unifier = { b/Z, f(Y) /X , g(b) /Y}.

3. Find the MGU of {p (X, X), and p (Z, f(Z))}

Here, Ψ1 = {p (X, X), and Ψ2 = p (Z, f(Z))

S0 => {p (X, X), p (Z, f(Z))}

SUBST θ= {X/Z}

S1 => {p (Z, Z), p (Z, f(Z))}

SUBST θ= {f(Z) / Z}, Unification Failed.

Hence, unification is not possible for these expressions.

4. Find the MGU of UNIFY(prime (11), prime(y))

Here, Ψ1 = {prime(11) , and Ψ2 = prime(y)}

S0 => {prime(11) , prime(y)}

SUBST θ= {11/y}

S1 => {prime(11) , prime(11)} , Successfully unified.

Unifier: {11/y}.

5. Find the MGU of Q(a, g(x, a), f(y)), Q(a, g(f(b), a), x)}

Here, Ψ1 = Q(a, g(x, a), f(y)), and Ψ2 = Q(a, g(f(b), a), x)

S0 => {Q(a, g(x, a), f(y)); Q(a, g(f(b), a), x)}

SUBST θ= {f(b)/x}
S1 => {Q(a, g(f(b), a), f(y)); Q(a, g(f(b), a), f(b))}

SUBST θ= {b/y}

S1 => {Q(a, g(f(b), a), f(b)); Q(a, g(f(b), a), f(b))}, Successfully Unified.

Unifier: [a/a, f(b)/x, b/y].

43. UNIFY(knows(Richard, x),knows(Richard, John))

Here, Ψ1 = knows(Richard, x), and Ψ2 = knows(Richard, John)

S0 => { knows(Richard, x); knows(Richard, John)}

SUBST θ= {John/x}

S1 => { knows(Richard, John); knows(Richard, John)}, Successfully Unified.

Unifier: {John/x}.

Lecture 2.1.6 Resolution in FOL


Resolution

Resolution is a theorem proving technique that proceeds by building refutation proofs, i.e.,
proofs by contradictions. It was invented by a Mathematician John Alan Robinson in the year
1965.

Resolution is used, if there are various statements are given, and we need to prove a
conclusion of those statements. Unification is a key concept in proofs by resolutions.
Resolution is a single inference rule which can efficiently operate on the conjunctive normal
form or clausal form.

Clause: Disjunction of literals (an atomic sentence) is called a clause. It is also known as a unit
clause.

Conjunctive Normal Form: A sentence represented as a conjunction of clauses is said to


be conjunctive normal form or CNF.

The resolution inference rule:

The resolution rule for first-order logic is simply a lifted version of the propositional rule.
Resolution can resolve two clauses if they contain complementary literals, which are assumed
to be standardized apart so that they share no variables.
Where li and mj are complementary literals.

This rule is also called the binary resolution rule because it only resolves exactly two literals.

Example:

We can resolve two clauses which are given below:

[Animal (g(x) V Loves (f(x), x)] and [¬ Loves(a, b) V ¬Kills(a, b)]

Where two complimentary literals are: Loves (f(x), x) and ¬ Loves (a, b)

These literals can be unified with unifier θ= [a/f(x), and b/x] , and it will generate a resolvent
clause:

[Animal (g(x) V ¬ Kills(f(x), x)].

Steps for Resolution:


0. Conversion of facts into first-order logic.
1. Convert FOL statements into CNF
2. Negate the statement which needs to prove (proof by contradiction)
3. Draw resolution graph (unification).

To better understand all the above steps, we will take an example in which we will apply
resolution.

Example:

a. John likes all kind of food.

4. Apple and vegetable are food


5. Anything anyone eats and not killed is food.
6. Anil eats peanuts and still alive
7. Harry eats everything that Anil eats.
8. Prove by resolution that:
9. John likes peanuts.

Step-1: Conversion of Facts into FOL

In the first step we will convert all the given statements into its first order logic.

Step-2: Conversion of FOL into CNF

In First order logic resolution, it is required to convert the FOL into CNF as CNF form makes
easier for resolution proofs.
Eliminate all implication (→) and rewrite

∀x ¬ food(x) V likes(John, x)

food(Apple) Λ food(vegetables)

∀x ∀y ¬ [eats(x, y) Λ ¬ killed(x)] V food(y)

eats (Anil, Peanuts) Λ alive(Anil)

∀x ¬ eats(Anil, x) V eats(Harry, x)

∀x¬ [¬ killed(x) ] V alive(x)

∀x ¬ alive(x) V ¬ killed(x)

likes(John, Peanuts).

Move negation (¬)inwards and rewrite

∀x ¬ food(x) V likes(John, x)

food(Apple) Λ food(vegetables)

∀x ∀y ¬ eats(x, y) V killed(x) V food(y)

eats (Anil, Peanuts) Λ alive(Anil)

∀x ¬ eats(Anil, x) V eats(Harry, x)

∀x ¬killed(x) ] V alive(x)

∀x ¬ alive(x) V ¬ killed(x)

likes(John, Peanuts).

Rename variables or standardize variables

∀x ¬ food(x) V likes(John, x)

food(Apple) Λ food(vegetables)

∀y ∀z ¬ eats(y, z) V killed(y) V food(z)

eats (Anil, Peanuts) Λ alive(Anil)

∀w¬ eats(Anil, w) V eats(Harry, w)

∀g ¬killed(g) ] V alive(g)

∀k ¬ alive(k) V ¬ killed(k)

likes(John, Peanuts).

Eliminate existential instantiation quantifier by elimination.


In this step, we will eliminate existential quantifier ∃, and this process is known as
Skolemization. But in this example problem since there is no existential quantifier so all the
statements will remain same in this step.

Drop Universal quantifiers.

In this step we will drop all universal quantifier since all the statements are not implicitly
quantified so we don't need it.

¬ food(x) V likes(John, x)

food(Apple)

food(vegetables)

¬ eats(y, z) V killed(y) V food(z)

eats (Anil, Peanuts)

alive(Anil)

¬ eats(Anil, w) V eats(Harry, w)

killed(g) V alive(g)

¬ alive(k) V ¬ killed(k)

likes(John, Peanuts).

o Distribute conjunction ∧ over disjunction ¬.


o This step will not make any change in this problem.

Step-3: Negate the statement to be proved

In this statement, we will apply negation to the conclusion statements, which will be written
as ¬likes(John, Peanuts)

Step-4: Draw Resolution graph:

Now in this step, we will solve the problem by resolution tree using substitution. For the above
problem, it will be given as follows:

Hence the negation of the conclusion has been proved as a complete contradiction with the
given set of statements.

Explanation of Resolution graph:


o In the first step of resolution graph, ¬likes(John, Peanuts) , and likes(John, x) get
resolved(canceled) by substitution of {Peanuts/x}, and we are left with ¬
food(Peanuts)
o In the second step of the resolution graph, ¬ food(Peanuts) , and food(z) get
resolved (canceled) by substitution of { Peanuts/z}, and we are left with ¬ eats(y,
Peanuts) V killed(y) .
o In the third step of the resolution graph, ¬ eats(y, Peanuts) and eats (Anil,
Peanuts) get resolved by substitution {Anil/y}, and we are left with Killed(Anil) .
o In the fourth step of the resolution graph, Killed(Anil) and ¬ killed(k) get resolve by
substitution {Anil/k}, and we are left with ¬ alive(Anil) .
o In the last step of the resolution graph ¬ alive(Anil) and alive(Anil) get resolved.

Lecture 2.1.7 Semantic Networks and


Frames
• Semantic Network Representation

Semantic networks are alternative of predicate logic for knowledge representation. In


Semantic networks, we can represent our knowledge in the form of graphical networks. This
network consists of nodes representing objects and arcs which describe the relationship
between those objects. Semantic networks can categorize the object in different forms and
can also link those objects. Semantic networks are easy to understand and can be easily
extended.

This representation consist of mainly two types of relations:

0. IS-A relation (Inheritance)


1. Kind-of-relation

Example: Following are some statements which we need to represent in the form of nodes
and arcs.

Statements:

2. Jerry is a cat.
3. Jerry is a mammal
4. Jerry is owned by Priya.
5. Jerry is brown colored.
6. All Mammals are animal.

In the above diagram, we have represented the different type of knowledge in the form of
nodes and arcs. Each object is connected with another object by some relation.

Drawbacks in Semantic representation:


7. Semantic networks take more computational time at runtime as we need to traverse
the complete network tree to answer some questions. It might be possible in the worst
case scenario that after traversing the entire tree, we find that the solution does not
exist in this network.
8. Semantic networks try to model human-like memory (Which has 1015 neurons and
links) to store the information, but in practice, it is not possible to build such a vast
semantic network.
9. These types of representations are inadequate as they do not have any equivalent
quantifier, e.g., for all, for some, none, etc.
10. Semantic networks do not have any standard definition for the link names.
11. These networks are not intelligent and depend on the creator of the system.

Advantages of Semantic network:

12. Semantic networks are a natural representation of knowledge.


13. Semantic networks convey meaning in a transparent manner.
14. These networks are simple and easily understandable.

3. Frame Representation

A frame is a record like structure which consists of a collection of attributes and its values to
describe an entity in the world. Frames are the AI data structure which divides knowledge
into substructures by representing stereotypes situations. It consists of a collection of slots
and slot values. These slots may be of any type and sizes. Slots have names and values which
are called facets.

Facets: The various aspects of a slot is known as Facets. Facets are features of frames which
enable us to put constraints on the frames. Example: IF-NEEDED facts are called when data of
any particular slot is needed. A frame may consist of any number of slots, and a slot may
include any number of facets and facets may have any number of values. A frame is also known
as slot-filter knowledge representation in artificial intelligence.

Frames are derived from semantic networks and later evolved into our modern-day classes
and objects. A single frame is not much useful. Frames system consist of a collection of frames
which are connected. In the frame, knowledge about an object or event can be stored together
in the knowledge base. The frame is a type of technology which is widely used in various
applications including Natural language processing and machine visions.

Example: 1

Let's take an example of a frame for a book

Slots Filters
Title Artificial Intelligence
Genre Computer Science
Author Peter Norvig
Edition Third Edition
Year 1996
Page 1152

Example 2:
Let's suppose we are taking an entity, Peter. Peter is an engineer as a profession, and his age
is 25, he lives in city London, and the country is England. So following is the frame
representation for this:

Slots Filter
Name Peter
Profession Doctor
Age 25
Marital status Single
Weight 78

Advantages of frame representation:

15. The frame knowledge representation makes the programming easier by grouping the
related data.
16. The frame representation is comparably flexible and used by many applications in AI.
17. It is very easy to add slots for new attribute and relations.
18. It is easy to include default data and to search for missing values.
19. Frame representation is easy to understand and visualize.

Disadvantages of frame representation:

20. In frame system inference mechanism is not be easily processed.


21. Inference mechanism cannot be smoothly proceeded by frame representation.
22. Frame representation has a much generalized approach.

Lecture 2.1.8 Conceptual Graphs


• Conceptual Networks:

Conceptual Graphs (CG) is a logical formalism that includes classes, relations, individuals
and quantifiers. This formalism is based on semantic networks, but it has direct translation
to the language of first order predicate logic, from which it takes its semantics. The main
feature is standardized graphical representation that like in the case of semantic networks
allows human to get quick overview of what the graph means. Conceptual graph is a
bipartite orientated graph where instances of concepts are displayed as rectangle and
conceptual relations are displayed as ellipse. Oriented edges then link these vertices and
denote the existence and orientation of relation. A relation can have more than one edges, in
which case edges are numbered. An example of a graphical representation, so called Display
Form (DF), of a sentence "a cat is on a mat" is shown in the figure below.
Simple conceptual graph in the graphical representation DF

Using textual notation Linear Form (LF) this sentence would be written as

[Cat]-(On)-[Mat]

DF and LF are intended as representation (and presentation) formats for human. There is
also a formal language CG Interchange Form (CGIF) defined. In this language the sentence
would be expressed as

[Cat: *x] [Mat: *y] (On ?x ?y)

where *x is a variable definition and ?x is a reference to the defined variable. Using


syntactical shortcuts, the same sentence could be also written in the same language as

(On [Cat] [Mat])

The conversion between the three languages is defined as well as direct conversion between
CGIF and KIF (Knowledge Interchange Format, see next section). In the KIF language this
example would be expressed as

(exists ((?x Cat) (?y Mat)) (On ?x ?y))

All these forms have the same semantics in the predicate logic:

∃ x,y: Cat(x) ∧ Mat(x) ∧ on(x,y)

Conceptual graphs have the same expressing power as predicate logic. As we have seen
there is again a possibility to define concepts (i.e., ontology) and then use them to express
particular state of affairs.
Lecture 2.2.1 AI Learning Models
• Learning is one of the fundamental building blocks of artificial intelligence (AI) solutions.
From a conceptual standpoint, learning is a process that improves the knowledge of an AI
program by making observations about its environment. From a technical/mathematical
standpoint, AI learning processes focused on processing a collection of input-output pairs for
a specific function and predict the outputs for new inputs. Most of the artificial intelligence
(AI) basic literature identifies two main groups of learning models:
o Supervised and
o Unsupervised.

However, that classification is an oversimplification of real world AI learning models and


techniques.

To understand the different types of AI learning models, we can use two of the main elements
of human learning processes:

o knowledge and
o Feedback.

From the knowledge perspective, learning models can be classified based on the
representation of input and output data points.

In terms of the feedback, AI learning models can be classified based on the interactions with
the outside environment, users and other external factors.

AI Learning Models: Knowledge-Based Classification

Factoring its representation of knowledge, AI learning models can be classified in two main
types: inductive and deductive.

— Inductive Learning: This type of AI learning model is based on inferring a general rule
from datasets of input-output pairs.. Algorithms such as knowledge based inductive
learning(KBIL) are a great example of this type of AI learning technique. KBIL focused on
finding inductive hypotheses on a dataset with the help of background information.

— Deductive Learning: This type of AI learning technique starts with te series of rules nad
infers new rules that are more efficient in the context of a specific AI algorithm. Explanation-
Based Learning(EBL) and Relevance-0Based Learning(RBL) are examples examples o f
deductive techniques. EBL extracts general rules from examples by “generalizing” the
explanation. RBL focuses on identifying attributes and deductive generalizations from simple
example.

AI Learning Models: Feedback-Based Classification

Based on the feedback characteristics, AI learning models can be classified as supervised,


unsupervised, semi-supervised or reinforced.

— Unsupervised Learning: Unsupervised models focus on learning a pattern in the input


data without any external feedback. Clustering is a classic example of unsupervised learning
models.
— Supervised Learning: Supervised learning models use external feedback to learning
functions that map inputs to output observations. In those models the external environment
acts as a “teacher” of the AI algorithms.

— Semi-supervised Learning: Semi-Supervised learning uses a set of curated, labeled data


and tries to infer new labels/attributes on new data data sets. Semi-Supervised learning
models are a solid middle ground between supervised and unsupervised models.

— Reinforcement Learning: Reinforcement learning models use opposite dynamics such as


rewards and punishment to “reinforce” different types of knowledge. This type of learning
technique is becoming really popular in modern AI solutions.

Lecture 2.2.2 General Learning Model


• General Learning Model.

General Learning Model: Learning can be accomplished using a number of different methods,
such as by memorization facts, by being told, or by studying examples like problem solution.

Learning requires that new knowledge structures be created from some form of input
stimulus. This new knowledge must then be assimilated into a knowledge base and be tested
in some way for its utility.

Testing means that the knowledge should be used in performance of some task from which
meaningful feedback can be obtained, where the feedback provides some measure of the
accuracy and usefulness of the newly acquired knowledge.

General Learning Model

General learning model is depicted in the above figure, where the environment has been
included as a part of the overall learner system. The environment may be regarded as either
a form of nature which produces random stimuli or as a more organized training source such
as a teacher which provides carefully selected training examples for the learner component.

The actual form of environment used will depend on the particular learning paradigm. In any
case, some representation language must be assumed for communication between the
environment and the learner.
The language may be the same representation scheme as that used in the knowledge base
(such as a form of predicate calculus). When they are chosen to be the same, we say the single
representation trick is being used. This usually results in a simpler implementation since it is
not necessary to transform between two or more different representations.

For some systems the environment may be a user working at a keyboard . Other systems will
use program modules to simulate a particular environment. In even more realistic cases the
system will have real physical sensors which interface with some world environment.

Inputs to the learner component may be physical stimuli of some type or descriptive , symbolic
training examples. The information conveyed to the learner component is used to create and
modify knowledge structures in the knowledge base. This same knowledge is used by the
performance component to carry out some tasks, such as solving a problem playing a game,
or classifying instances of some concept.

given a task, the performance component produces a response describing its action in
performing the task. The critic module then evaluates this response relative to an optimal
response.

Feedback , indicating whether or not the performance was acceptable , is then sent by the
critic module to the learner component for its subsequent use in modifying the structures in
the knowledge base. If proper learning was accomplished, the system’s performance will have
improved with the changes made to the knowledge base.

The cycle described above may be repeated a number of times until the performance of the
system has reached some acceptable level, until a known learning goal has been reached, or
until changes ceases to occur in the knowledge base after some chosen number of training
examples have been observed.

There are several important factors which influence a system’s ability to learn in addition to
the form of representation used. They include the types of training provided, the form and
extent of any initial background knowledge , the type of feedback provided, and the learning
algorithms used.

The type of training used in a system can have a strong effect on performance, much the same
as it does for humans. Training may consist of randomly selected instance or examples that
have been carefully selected and ordered for presentation. The instances may be positive
examples of some concept or task a being learned, they may be negative, or they may be
mixture of both positive and negative. The instances may be well focused using only relevant
information, or they may contain a variety of facts and details including irrelevant data.
There are Many forms of learning can be characterized as a search through a space of possible
hypotheses or solutions. To make learning more efficient. It is necessary to constrain this
search process or reduce the search space. One method of achieving this is through the use of
background knowledge which can be used to constrain the search space or exercise control
operations which limit the search process.

Feedback is essential to the learner component since otherwise it would never know if the
knowledge structures in the knowledge base were improving or if they were adequate for the
performance of the given tasks.

The feedback may be a simple yes or no type of evaluation, or it may contain more useful
information describing why a particular action was good or bad. Also , the feedback may be
completely reliable, providing an accurate assessment of the performance or it may contain
noise, that is the feedback may actually be incorrect some of the time. Intuitively , the feedback
must be accurate more than 50% of the time; otherwise the system carries useful information,
the learner should also to build up a useful corpus of knowledge quickly. On the other hand, if
the feedback is noisy or unreliable, the learning process may be very slow and the resultant
knowledge incorrect.

Lecture 2.2.3 Learning automaton (LA)


• Learning automaton (LA)

The Stochastic Automaton represents one approach to machine learning that is useful in a
variety of situations involving learning from examples, or learning by doing.The stochastic
automaton tries to reach a solution to a problem without any information about the optimal
action. By interacting with an Environment, a stochastic automaton can be used to learn the
optimal action offered by that Environment. A random action is selected, based on a
probability vector, and then from the observation of the Environment’s response, the action
probabilities are updated, and the procedure is repeated. A stochastic automaton that behaves
in this way to improve its performance is called a learning automaton (LA). The learning
approach that LA use may be described as learning by doing.

Learning Automaton Classifications Learning automata can be classified in three


categories:

o Deterministic,
o Fixed structure stochastic, and
o Variable structure stochastic.

For deterministic automata, the transition and the output matrices are deterministic. For
fixed structure stochastic automata (FSSA), their transitions are determined by state
transition probabilities that are fixed with time , Variable structure stochastic automata
(VSSA) have a stochastic transition matrix whose transition probabilities or action
probabilities are adjusted as the learning system operates.
Basic Mathematical Definition

Models in which the output of the Environment can take only one of two values (0 and 1 for
example) are referred to as P-models. In 5-models, the output can take the form of a
continuous random variable in the interval [0, 1].

In Q-models, the Environment output can have discrete values in the interval [0, 1], for
example {0, 0.1, 0.2,...} or {0, 0.05, 0.10, 0.15,....... }.

The following is the mathematical definition of the LA model (FSSA in the model
Environment). This includes the definition of the automaton, the interacting Environment, the
objectives of this interaction, and the learning method.
Lecture 2.2.5 INDUCTIVE LEARNING
• INDUCTIVE LEARNING

This involves the process of learning by example -- where a system tries to induce a general
rule from a set of observed instances.

This involves classification -- assigning, to a particular input, the name of a class to which it
belongs. Classification is important to many problem solving tasks.

A learning system has to be capable of evolving its own class descriptions:

o Initial class definitions may not be adequate.


o The world may not be well understood or rapidly changing.

The task of constructing class definitions is called induction or concept learning

Formally, Inductive Learning in supervised learning we have a set of {xi, f (xi)} for 1≤i≤n, and
our aim is to determine 'f' by some adaptive algorithm. It is a machine learning approach in
which rules are inferred from facts or data.

In logic, reasoning from the specific to the general Conditional or antecedent reasoning.
Theoretical results in machine learning mainly deal with a type of inductive learning called
supervised learning. In supervised learning, an algorithm is given samples that are labeled in
some useful way.

In case of inductive learning algorithms, like artificial neural networks, the real robot may
learn only from previously gathered data. Another option is to let the bot learn everything
around him by inducing facts from the environment. This is known as inductive learning.
Finally, you could get the bot to evolve, and optimise his performance over several
generations.

f(x) is the target function

An example is a pair [x, f(x)]

Learning task: find a hypothesis h such that h(x)

F(x) gives a training set of examples D = {[xi,f(xi) ]}, i = 1,2,…,N Construct h so that it agrees
with f.

The hypothesis h is consistent if it agrees with f on all observations.

Lecture 2.2.6 Inductive Learning in AI


• Introduction to Inductive Learning in Artificial Intelligence

· Inductive Learning, also known as Concept Learning , is how AI systems attempt to use a
generalized rule to carry out observations.

· To generate a set of classification rules, Inductive Learning Algorithms (APIs) are used.
These generated rules are in the “If this then that” format.

· These rules determine the state of an entity at each iteration step in Learning and how the
Learning can be effectively changed by adding more rules to the existing ruleset.

· When the output and examples of the function are fed into the AI system, inductive
Learning attempts to learn the function for new data.

Examples:

1. Credit risk assessment.

· The x is the property of the customer.

· The f(x) is credit approved or not.

2. Disease diagnosis.

· The x is the characteristics of a given patient.

· The f(x) is the patient’s disease.

3. Face recognition.

· The x are bitmaps of the faces we want to recognize.

· The f(x) is a name assigned to that face.


4. Automatic steering (autonomous driving).

· The x is bitmap images from a camera in front of the car.

· The f(x) is the degree to which the steering wheel should be turned.

The Fundamental Concept of Inductive Learning:

There are basically two methods for knowledge extraction firstly from domain experts and
then with machine learning.

For a very large amount of data, the domain experts are not very useful and reliable. So we
move towards the machine learning approach for this work.

To use machine learning One method is to replicate the experts logic in the form of algorithms
but this work is very tedious, time taking and expensive.

So we move towards the inductive algorithms which itself generate the strategy for
performing a task and need not instruct separately at each step.

Need of ILA in presence of other machine learning algorithms:

The ILA is a new algorithm which was needed even when other reinforcement learnings like
ID3 and AQ were available.

· The need was due to the pitfalls which were present in the previous algorithms, one of
the major pitfalls was lack of generalisation of rules.

· The ID3 and AQ used the decision tree production method which was too specific which
were difficult to analyse and was very slow to perform for basic short classification problems.

· The decision tree-based algorithm was unable to work for a new problem if some
attributes are missing.

· The ILA uses the method of production of a general set of rules instead of decision trees,
which overcome the above problems.

Lecture 2.2.7 ILA ALGORITHM


• THE ILA ALGORITHM:

General requirements at start of the algorithm:-

1. list the examples in the form of a table ‘T’ where each row corresponds to an example and
each column contains an attribute value.

2. create a set of m training examples, each example composed of k attributes and a class
attribute with n possible decisions.
3. create a rule set, R, having the initial value false.

4. initially all rows in the table are unmarked.

Steps in the algorithm:-

Step 1:

divide the table ‘T’ containing m examples into n sub-tables (t1, t2,…..tn). One table for each
possible value of the class attribute. (repeat steps 2-8 for each sub-table)

Step 2:

Initialize the attribute combination count ‘ j ‘ = 1.

Step 3:

For the sub-table on which work is going on, divide the attribute list into distinct
combinations, each combination with ‘j ‘ distinct attributes.

Step 4:

For each combination of attributes, count the number of occurrences of attribute values that
appear under the same combination of attributes in unmarked rows of the sub-table under
consideration, and at the same time, not appears under the same combination of attributes of
other sub-tables. Call the first combination with the maximum number of occurrences the
max-combination ‘ MAX’.

Step 5:

If ‘MAX’ = = null , increase ‘ j ‘ by 1 and go to Step 3.

Step 6:

Mark all rows of the sub-table where working, in which the values of ‘MAX’ appear, as
classi?ed.

Step 7:

Add a rule (IF attribute = “XYZ” –> THEN decision is YES/ NO) to R whose left-hand side will
have attribute names of the ‘MAX’ with their values separated by AND, and its right-hand side
contains the decision attribute value associated with the sub-table.

Step 8:

If all rows are marked as classi?ed, then move on to process another sub-table and go to Step
2. else, go to Step 4. If no sub-tables are available, exit with the set of rules obtained till then.

An example showing the use of ILA

suppose an example set having attributes Place type, weather, location, decision and seven
examples, our task is to generate a set of rules that under what condition what is the decision.

\
Example no. Place type Weather Location Decision
I) hilly winter kullu Yes
II ) mountain windy Mumbai No
III ) mountain windy Shimla Yes
IV ) beach windy Mumbai No
V) beach warm goa Yes
VI ) beach windy goa No
VII ) beach warm Shimla Yes

step 1

subset 1

S.no Place type Weather Location Decision


1 hilly winter kullu Yes
2 mountain windy Shimla Yes
3 beach warm goa Yes
4 beach warm Shimla Yes

subset 2

s.no place type weather location decision


5 mountain windy Mumbai No
6 beach windy Mumbai No
7 beach windy goa No

Step (2-8)

at iteration 1

row 3 & 4 column weather is selected and row 3 & 4 are marked.

the rule is added to R IF weather is warm then a decision is yes.

at iteration 2

row 1 column place type is selected and row 1 is marked.

the rule is added to R IF place type is hilly then the decision is yes.

at iteration 3
row 2 column location is selected and row 2 is marked.

the rule is added to R IF location is Shimla then the decision is yes.

at iteration 4

row 5&6 column location is selected and row 5&6 are marked.

the rule is added to R IF location is Mumbai then a decision is no.

at iteration 5

row 7 column place type & the weather is selected and row 7 is marked.

rule is added to R IF place type is beach AND weather is windy then the decision is no.

Finally we get the rule set :-

Rule Set

· Rule 1: IF the weather is warm THEN the decision is yes.

· Rule 2: IF place type is hilly THEN the decision is yes.

· Rule 3: IF location is Shimla THEN the decision is yes.

· Rule 4: IF location is Mumbai THEN the decision is no.

· Rule 5: IF place type is beach AND the weather is windy THEN the decision is no.

You might also like