You are on page 1of 7

MANGALMAY INSTITUTE OF ENGINEERING AND

TECHNOLOGY, GREATER NOIDA


Department of Computer Science and Engineering

Name: - kapish subject: - Artificial intelligence


Subject code: - KCS-071 Assignment no-2

Q1: - What do you mean by Artificial Intelligence and what are its futuristic
application areas of Artificial Intelligence?

Ans: Artificial intelligence (AI) is a branch of computer science that focuses on


creating intelligent machines that can think and act like humans. Some of the
futuristic application areas of AI include:

 Autonomous vehicles: AI can be used to develop self-driving cars, trucks,


and other vehicles that can navigate roads and highways without the
need for a human driver.
 Healthcare: AI can be used in various healthcare applications, such as
assisting doctors in diagnosing diseases, providing personalized
treatment plans, and improving patient outcomes.
 Robotics: AI can be used to develop intelligent robots that can perform a
variety of tasks, such as manufacturing, search and rescue, and space
exploration.
 Finance: AI can be used to analyze financial data and make predictions
about the stock market, helping investors make more informed decisions.
 Education: AI can be used to develop personalized learning experiences
for students, providing them with tailored learning plans and content
based on their individual needs and abilities.
 Agriculture: AI can be used to optimize crop yields, monitor livestock
health, and improve overall efficiency in the agriculture industry.
 Customer service: AI can be used to develop chatbots and other virtual
assistants that can help customers resolve issues, answer questions, and
provide information.
 Energy: AI can be used to optimize the generation, distribution, and
consumption of energy, helping to improve efficiency and reduce waste.
 Environmental protection: AI can be used to monitor air and water
quality, predict and prevent natural disasters, and manage resources in a
sustainable manner.
 Security: AI can be used to improve security in various settings, such as
airports, borders, and critical infrastructure, by detecting and analyzing
potential threats.

Q2: - What are various search strategies in AI Systems? Explain in detail.

Ans: There are several different search strategies that can be used in AI
systems, including:

 Breadth-first search: This search strategy involves exploring all of the


nodes at the current depth level before moving on to the next depth
level. This type of search is useful for finding the shortest path to a goal
state.
 Depth-first search: This search strategy involves exploring nodes as
deeply as possible before backtracking. This type of search is useful for
solving problems that require a lot of backtracking, such as games like
chess or Sudoku.
 Uniform-cost search: This search strategy involves expanding nodes
based on their cost, where the cost is defined as the sum of the costs of
the path from the start node to the current node. This type of search is
useful for finding the lowest-cost path to a goal state.
 Best-first search: This search strategy involves expanding the node that is
most likely to lead to a goal state, as determined by an evaluation
function. This type of search is useful for finding the most promising path
to a goal state.
 A* search: This search strategy is a combination of the best-first search
and the uniform-cost search. It involves expanding the node that has the
lowest estimated total cost, where the estimated total cost is the sum of
the cost of the path from the start node to the current node and the
estimated cost of the remaining path to the goal. This type of search is
useful for finding the optimal path to a goal state.
 Hill climbing: This search strategy involves iteratively moving to a
neighbour node that has a higher value, as determined by a heuristic
function. This type of search is useful for finding a local maximum or
minimum in a search space.

Q3: -Explain Best First Search? How it is different from A* Algorithm?

Ans: Best first search is a search algorithm that explores a graph by expanding
the most promising node first. This is determined using a heuristic function that
estimates the cost to reach the goal from a given node. This algorithm is used to
find the shortest path between two nodes in a graph.

A* algorithm is a variant of best first search. It is different in the way that it uses
a combination of the cost to reach the node and the estimated cost to the goal
to determine the most promising node to expand. This makes A* algorithm
more efficient and accurate than best first search. A* algorithm is also
guaranteed to find the shortest path between two nodes, provided that the
heuristic function used is admissible, meaning that it never overestimates the
cost to reach the goal.

Q4: - Explain Constraint Satisfaction & Crypt-Arithmetic problem by taking some


suitable example.

Ans: Constraint satisfaction is a problem-solving technique used for solving


problems by imposing limits on the values that variables can take. A crypt-
arithmetic problem is a type of mathematical puzzle where the goal is to assign
numerical values to letters in order to solve an arithmetic equation.

Here is an example of a crypt-arithmetic problem:

Suppose we have the following equation:

SEND + MORE = MONEY

Each letter represents a different digit, and no two letters can represent the
same digit. The goal is to find the values of each letter such that the equation is
satisfied. In other words, we want to find a way to assign numerical values to
the letters S, E, N, D, M, O, R, and Y such that the equation SEND + MORE =
MONEY is true.

To solve this problem using constraint satisfaction, we would start by imposing


constraints on the possible values of each letter. For example, we know that S
cannot be 0 because that would make the number represented by S (and M)
have a leading 0, which is not allowed in numerals. We also know that M cannot
be 1, because that would make the number represented by M (and S) have a
leading 0.

We can then use these constraints to narrow down the possible values for each
letter. For example, since S cannot be 0 or 1, it must be 2 or higher. We can
continue to impose constraints and narrow down the possible values for each
letter until we arrive at a unique solution. In this case, the solution is:

S=9E=5N=6D=7M=1O=0R=8Y=2

Therefore, the original equation becomes:

9567+1068=1062

And we can see that this equation is indeed satisfied.

Q5: -What are various Local & Adversarial search strategies? Give examples of
both type of search. Explain in detail.

Ans: local search and adversarial search are two general types of search
strategies used in artificial intelligence and computer science.

Local search refers to a type of search algorithm that starts from an initial state
and explores the neighbouring states in order to find a good solution to a
problem. The algorithm continues to explore the neighbouring states and make
improvements until it reaches a local optimum, which is a solution that is not
necessarily the best possible solution but is considered good enough for the
given problem.

Examples of local search algorithms include hill climbing, simulated annealing,


and genetic algorithms. Hill climbing is a simple local search algorithm that
starts from an initial state and repeatedly makes moves that improve the
current solution. Simulated annealing is a more sophisticated local search
algorithm that allows for some "bad" moves in order to avoid getting stuck in a
local optimum. Genetic algorithms are a type of local search algorithm that use
the principles of natural selection and genetics to evolve solutions over time.

Adversarial search, on the other hand, refers to a type of search algorithm that
is used in situations where the search space is determined by the actions of one
or more intelligent adversaries. In other words, adversarial search algorithms
are used to find the best possible move in a game or other strategic situation
where the opponent is trying to foil the search.

Examples of adversarial search algorithms include minimax and alpha-beta


pruning. Minimax is a simple adversarial search algorithm that assumes that the
opponent will always make the move that is most detrimental to the searcher.
Alpha-beta pruning is a more sophisticated adversarial search algorithm that
prunes the search tree by considering the best move that can be made by the
searcher and the worst move that can be made by the opponent.

Q6: -Define Hill Climbing, its types and the problems associated with it.

Ans: Hill climbing is a heuristic search algorithm that is used to find the local
maximum or minimum of a function. It is a type of local search algorithm, which
means that it starts from an initial state and explores the neighbouring states in
order to find a good solution to a problem. The algorithm continues to make
moves that improve the current solution until it reaches a local optimum, which
is a solution that is not necessarily the best possible solution but is considered
good enough for the given problem.

There are two types of hill climbing algorithms: steepest-ascent hill climbing
and first-choice hill climbing. Steepest-ascent hill climbing is the most basic
form of hill climbing, in which the algorithm always moves to the neighbouring
state that has the greatest improvement over the current state. First-choice hill
climbing is a variant of steepest-ascent hill climbing in which the algorithm
moves to the first neighbouring state that has an improvement over the current
state.

One of the main problems associated with hill climbing algorithms is that they
can get stuck in local optima, which are solutions that are not the best possible
solutions but are considered good enough for the given problem. This can
happen because the algorithm only considers the immediate neighbours of the
current state and does not explore the entire search space. As a result, the
algorithm may miss other, potentially better solutions that are farther away
from the current state.

Another problem associated with hill climbing algorithms is that they can be
very slow, especially on large or complex search spaces. This is because the
algorithm needs to explore a large number of neighbouring states in order to
find a good solution, and this can take a lot of time and computational
resources.
Q7: -What is the function of Knowledge based system (Intelligent Agent)?
Explain the different component in detail.

Ans: A knowledge-based system, also known as an intelligent agent, is a


computer program that uses knowledge about a specific domain in order to
make decisions and solve problems. It typically consists of three main
components: a knowledge base, an inference engine, and a user interface.

The knowledge base is a collection of facts and rules about a specific domain,
such as a particular field of study or a specific problem domain. The knowledge
base is the foundation of the knowledge-based system, and it is used to store
the knowledge that the system uses to make decisions and solve problems.

The inference engine is the part of the knowledge-based system that applies
the knowledge in the knowledge base to a given problem in order to generate
solutions. The inference engine uses logical reasoning and other computational
techniques to manipulate the knowledge in the knowledge base and generate
solutions to the problem.

The user interface is the part of the knowledge-based system that allows users
to interact with the system and input information about the problem they want
to solve. The user interface may include graphical elements such as menus,
buttons, and forms, as well as natural language processing capabilities that
allow the system to understand and respond to user input in a human-like
manner.

Q8: -Explain unification Procedure used for reasoning under predicate logic
(first order logic) with an example?

Ans:

Unification is a procedure used in reasoning under first-order predicate logic,


also known as predicate calculus. It is a method of combining two logical
expressions in order to determine whether they are logically equivalent or can
be made logically equivalent by substituting certain terms.

Unification is typically used in automated theorem proving, which is the process


of using a computer program to prove or disprove mathematical theorems. In
this context, unification is used to determine whether two logical expressions
can be combined in a way that preserves their meaning.

Here is an example of how unification works in first-order predicate logic:


Suppose we have the following two expressions:

1. ∀x: R (x, y)
2. R (a, b)

The first expression is a universal quantifier, which means that it applies to all
values of x. It states that the predicate R (x, y) is true for all values of x and y.
The second expression is a specific instance of the predicate R (x, y), where the
values of x and y are a and b, respectively.

In order to unify these two expressions, we need to determine whether they


are logically equivalent or can be made logically equivalent by substituting
certain terms. In this case, we can see that the first expression is more general
than the second expression, because it applies to all values of x and y, while the
second expression only applies to the specific values a and b.

To unify these two expressions, we can replace the variable x in the first
expression with the specific value a, and replace the variable y in the first
expression with the specific value b. This results in the following unified
expression:

∀x: R (a, b)

This unified expression states that the predicate R (a, b) is true for all values of
x, which is equivalent to the second expression R (a, b). Therefore, the two
expressions are unifiable and can be made logically equivalent by substituting
the specific values a and b for the variables x and y in the first expression.

You might also like