You are on page 1of 14

Unit-1

Introduction of artificial intelligence


(AI) is the ability of machines to replicate or enhance human intellect, such as
reasoning and learning from experience. Artificial intelligence has been used in
computer programs for years, but it is now applied to many other products and
services. For example, some digital cameras can determine what objects are
present in an image using artificial intelligence software. In addition, experts
predict many more innovative uses for artificial intelligence in the future,
including smart electric grids.
AI uses techniques from probability theory, economics, and algorithm design to
solve practical problems. In addition, the AI field draws upon computer science,
mathematics, psychology, and linguistics. Computer science provides tools for
designing and building algorithms, while mathematics offers tools for modeling
and solving the resulting optimization problems.
Artificial Intelligence is the design, study and construction of computer
programs that behave
intelligently.
Father of AI: John McCarthy.
Turing Test:
Turing test is used to determine whether or not computer (machine) can think
intelligently like
human?
Imagine a game of three players having two humans and one computer, an
interrogator (as human)
is isolated from other two players. The interrogator job is to try and figure out
which one is human
and which one is computer by asking questions from both of them. To make
the things harder
computer is trying to make the interrogator guess wrongly. In other words,
computer would try to
indistinguishable from human as much as possible.
Human beings are intelligent, to be called intelligent, a machine must produce
responses that are
indistinguishable from those of a human.

Goals of AI:
To Create Expert Systems − The systems which exhibit intelligent behaviour,
learn, demonstrate,
explain, and advice its users.
To Implement Human Intelligence in Machines − Creating systems that
understand, think, learn, and
behave like humans.

Applications of AI
1. Gaming − AI plays crucial role in strategic games such as chess, poker,
tic-tac-toe, etc., where
machine can think of large number of possible positions based on heuristic
knowledge.
2. Natural Language Processing − It is possible to interact with the computer
that understands
natural language spoken by humans.
3. Expert Systems − There are some applications which integrate machine,
software, and
special information to impart reasoning and advising. They provide explanation
and advice
to the users.
4. Vision Systems − These systems understand, interpret, and comprehend
visual input on the
computer. For example,
a. A spying aero plane takes photographs, which are used to figure out spatial
information or map of the areas.
b. Doctors use clinical expert system to diagnose the patient.
c. Police use computer software that can recognize the face of criminal with the
stored
portrait made by forensic artist.

5. Speech Recognition − Some intelligent systems are capable of hearing and


comprehending
the language in terms of sentences and their meanings while a human talk to
it. It can
handle different accents, slang words, noise in the background, change in
human’s noise due
to cold, etc.
6. Handwriting Recognition − The handwriting recognition software reads the
text written on
paper by a pen or on screen by a stylus. It can recognize the shapes of the
letters and
convert it into editable text.
7. Intelligent Robots − Robots are able to perform the tasks given by a human.

Advantages:
• High Accuracy.
• High-Speed.
• High reliability.
• Useful for risky areas: (defusing a bomb, exploring the ocean floor, etc.)
• Digital Assistant
• Useful as a public utility: (self-driving car)
Disadvantages:
• High Cost.
• Can't think out of the box: Even we are making smarter machines with AI, but
still they
cannot work out of the box, as the robot will only do that work for which they
are trained,
or programmed.
• No feelings and emotions.
• Increase dependency on machines.
• No Original Creativity: As humans are so creative and can imagine some new
ideas but still
AI machines cannot beat this power of human intelligence and cannot be
creative and
imaginative.
Production System
Production systems are computer programmes that give AI. It consists of a set
of rules about behaviour and includes the mechanism required to follow those
rules as the system reacts to external conditions.

In AI, a production system consists of a global database, production rules, and a


control system. These systems are monotonic, partially commutative,
non-monotonic, and commutative.

A production system consists of four basic components:


1. A set of rules of the form Ci → Ai where Ci is the condition part and Ai is the
action part. The
condition determines when a given rule is applied, and the action determines
what happens
when the rule is applied.
2. A database, which contains all the appropriate information for the particular
task. Some part
of the database may be permanent while some part of this may pertain only to
the solution
of the current problem.
3. A control strategy that specifies order in which the rules will applied in order
to resolving
the given conflicts.
4. A rule applier is a computational system that implements the control
strategy and applies
the set of rules.

Types of PS:
1. Monotonic: In this the application of one rule will never prevent the
application of another
rule.
2. Non-Monotonic: In this the application of one rule will prevent the
application of another
rule.
3. Partial Commutative: It’s a type of production system in which the
application of a sequence
of rules transforms state X into state Y, then any permutation of those rules
that is allowable
also transforms state X into state Y.
4. Commutative: Monotonic + Partial Commutative.

Production System rules can be classified as:


• Deductive Inference Rules: If the original assertions are true, then the
conclusion must also
be true.
Given “A” and “A implies B”, we can conclude “B”. (If A is true then B must be
true)
Ex: “it is raining”, “the street will be wet”.
• Abductive Inference Rules: It is a form of logical inference which starts with
an observation
or set of observations and then seeks to find the simplest and most likely
explanation for the
observations.
Given “B” and “A implies B”, it might be reasonable to expect “A”. (If B is true
then A might
be True)
Ex: “the street is wet”,” it might have rained”.
Example of PS:
Water-Jug Problem for 4 and 3 gallons of jugs.
Solution:
Control Strategy:
There are certain requirements for a good control strategy that you need to
keep in mind, such as:
1. The first requirement for a good control strategy is that it should cause
motion.
2. The second requirement for a good control strategy is that it should be
systematic.
3. Finally, it must be efficient in order to find a good answer.

Types of CS:
1. Informed.
2. Uninformed.
a. BFS
b. DFS
BFS: (Breadth-First Search)
The breadth-first search or BFS algorithm is used to search a tree or graph data
structure for a node that meets a set of criteria. It begins at the root of the tree
or graph and investigates all nodes at the current depth level before moving on
to nodes at the next depth level.
Algorithm –
1. Create a variable called NODE-LIST and set it to the initial state.
2. Until a goal state is found or NODE-LIST is empty:
a. Remove the first element from NODE-LIST and call it E. If NODE-LIST was
empty,
quit.
b. For each way that each rule can match the state described in E do:

i. Apply the rule to generate a new state,


ii. If the new state is a goal state, quit and return this state.
iii. Otherwise, add the new state to the end of NODE-LIST
Advantage of BFS:
1. All the nodes at ‘n’ level are considered before moving to ‘n+1’ level.
2. BFS will provide a solution if any solution exists.
3. If there are more than one solution for a given problem, then BFS will
provide the minimal
solution which requires the least number of steps.
Disadvantages of BFS:
1. It requires lots of memory since each level of the tree must be saved into
memory to expand
the next level.
2. BFS needs lots of time if the solution is far away from the root node.
DFS: (Depth-First Search)
Depth-First Search or DFS algorithm is a recursive algorithm that uses
the backtracking principle. It entails conducting exhaustive searches of all
nodes by moving forward if possible and backtracking, if necessary. To visit the
next node, pop the top node from the stack and push all of its nearby nodes
into a stack.
Algorithm –
1. If the initial state is a goal state, quit and return success.
2. Otherwise, do the following until success or failure is signaled:
a. Generate a successor, E, of the initial state. If there are no more successors,
signal
failure.
b. Call Depth-First Search with E as the initial state.
c. If success is returned, signal success. Otherwise continue in this loop.
Advantage of DFS:
1. It requires Less Memory since only the nodes on the current path are stored.
2. DFS may find a solution without examining much of the search space at all.
3. It takes less time to reach to the goal node than BFS algorithm (if it traverses
in the right
path).
Disadvantage of DFS:
1. It may follow a single unfruitful path for a very long time, perhaps forever,
before the path
actually terminates in a state that has no successors.
2. It may find a long path to a solution in one part of the tree, when a shorter
path exists in
some other, unexplored part of the tree.
BFS vs DFS
S. No.
Parameters BFS DFS

BFS stands for Breadth DFS stands for Depth


1. Stands for First Search. First Search.

BFS(Breadth First
Search) uses Queue DFS(Depth First Search)
data structure for uses Stack data
Data finding the shortest structure.
2. Structure path.

DFS is also a traversal


BFS is a traversal approach in which the
approach in which we traverse begins at the
first walk through all root node and proceeds
nodes on the same through the nodes as
level before moving on far as possible until we
to the next level. reach the node with no
3. Definition unvisited nearby nodes.

BFS can be used to find


a single source shortest
In DFS, we might
path in an unweighted
traverse through more
graph because, in BFS,
edges to reach a
we reach a vertex with
destination vertex from
a minimum number of
a source.
edges from a source
4. Technique vertex.

Conceptual BFS builds the tree level DFS builds the tree
5. Difference by level. sub-tree by sub-tree.

It works on the concept It works on the concept


Approach of FIFO (First In First of LIFO (Last In First
6. used Out). Out).
S. No.
Parameters BFS DFS

BFS is more suitable for DFS is more suitable


searching vertices when there are
closer to the given solutions away from
7. Suitable for source. source.

DFS is more suitable for


game or puzzle
BFS considers all
problems. We make a
neighbors first and
decision, and the then
therefore not suitable
explore all paths
for decision-making
through this decision.
trees used in games or
Suitability for And if this decision
puzzles.
Decision-Tree leads to win situation,
8. s we stop.

The Time complexity of The Time complexity of


BFS is O(V + E) when DFS is also O(V + E)
Adjacency List is used when Adjacency List is
and O(V^2) when used and O(V^2) when
Adjacency Matrix is Adjacency Matrix is
used, where V stands used, where V stands
Time for vertices and E for vertices and E
9. Complexity stands for edges. stands for edges.

Visiting of Here, siblings are Here, children are


Siblings/ visited before the visited before the
10. Children children. siblings.

The visited nodes are


Nodes that are
added to the stack and
traversed several times
Removal of then removed when
are deleted from the
Traversed there are no more
queue.
11. Nodes nodes to visit.
S. No.
Parameters BFS DFS

DFS algorithm is a
In BFS there is no
recursive algorithm that
concept of
uses the idea of
backtracking.
12. Backtracking backtracking

BFS is used in various DFS is used in various


applications such as applications such as
bipartite graphs, acyclic graphs and
13. Applications shortest paths, etc. topological order etc.

BFS requires more DFS requires less


14. Memory memory. memory.

BFS is optimal for DFS is not optimal for


finding the shortest finding the shortest
15. Optimality path. path.

DFS has lesser space


In BFS, the space complexity because at a
complexity is more time it needs to store
critical as compared to only a single path from
Space time complexity. the root to the leaf
16. complexity node.

BFS is slow as compared DFS is fast as compared


17. Speed to DFS. to BFS.

In BFS, there is no In DFS, we may be


Tapping in problem of trapping trapped in infinite
18, loops into infinite loops. loops.

When the target is When the target is far


close to the source, BFS from the source, DFS is
19. When to use? performs better. preferable.

You might also like