MIET ASSIGNMENT 2 (Kapish 044)
MIET ASSIGNMENT 2 (Kapish 044)
MIET ASSIGNMENT 2 (Kapish 044)
Q1: - What do you mean by Artificial Intelligence and what are its futuristic
application areas of Artificial Intelligence?
Ans: There are several different search strategies that can be used in AI
systems, including:
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.
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.
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
9567+1068=1062
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.
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.
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.
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:
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.
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.