Implementation of 8-Puzzle problem using techniques of Artificial intelligence using A* algorithm
- Get link
- Other Apps
Experiment
No: AI-
TITLE:
- Implementation of 8-Puzzle problem using techniques of Artificial
intelligence using A* algorithm
Problem
Statement:
- Implement
8-Puzzle game using A* algorithm
Objective:
To
study techniques of Artificial Intelligence & A* algorithm
Requirements
(Hw/Sw): PC,
Netbeans IDE/Text Editor (Linux)
Theory:-
Since
the invention of computers or machines, their capability to perform
various tasks went on growing exponentially. Humans have developed
the power of computer systems in terms of their diverse working
domains, their increasing speed, and reducing size with respect to
time.
A
branch of Computer Science named Artificial
Intelligence pursues
creating the computers or machines as intelligent as human beings.
1956->John
McCarthy coined the term Artificial Intelligence. Demonstration of
the first running AI program at Carnegie Mellon University.
What
is Artificial Intelligence?
According
to the father of Artificial Intelligence, John McCarthy, it is “The
science and engineering of making intelligent machines, especially
intelligent computer programs”.
Artificial
Intelligence is a way of making
a computer, a computer-controlled robot, or a software think
intelligently,
in the similar manner the intelligent humans think.
AI
is accomplished by studying how human brain thinks, and how humans
learn, decide, and work while trying to solve a problem, and then
using the outcomes of this study as a basis of developing intelligent
software and systems.
Philosophy
of AI
While
exploiting the power of the computer systems, the curiosity of human,
lead him to wonder, “Can
a machine think and behave like humans do?”
Thus,
the development of AI started with the intention of creating similar
intelligence in machines that we find and regard high in humans.
Goals
of AI
To
Create Expert Systems −
The systems which exhibit intelligent behavior, learn, demonstrate,
explain, and advice its users.-
To Implement Human Intelligence in Machines − Creating systems that understand, think, learn, and behave like humans.
-
Programming Without and With AI
-
The programming without and with AI is different in following ways −
8 Puzzle Problem.
The
8 puzzle consists of eight numbered, movable tiles set in a 3x3
frame. One cell of the frame is always empty thus making it possible
to move an adjacent numbered tile into the empty cell. Such a puzzle
is illustrated in following diagram.
The
program is to change the initial configuration into the goal
configuration. A solution to the problem is an appropriate sequence
of moves, such as “move tiles 5 to the right, move tile 7 to the
left, move tile 6 to the down, etc”.
To
solve a problem using a production system, we must specify the global
database the rules, and the control strategy. For the 8 puzzle
problem that correspond to these three components. These elements are
the problem states, moves and goal. In this problem each tile
configuration is a state.
Once
the problem states have been conceptually identified, we must
construct a computer representation, or description of them. This
description is then used as the database of a production system. For
the 8-puzzle, a straight forward description is a 3X3 array of matrix
of numbers. The initial global database is this description of the
initial problem state. Virtually any kind of data structure can be
used to describe states.
A
move transforms one problem state into another state. The 8-puzzle is
conveniently interpreted as having the following for moves. Move
empty space (blank) to the left, move blank up, move blank to the
right and move blank down,. These moves are modeled by production
rules that operate on the state descriptions in the appropriate
manner.
The
rules each have preconditions that must be satisfied by a state
description in order for them to be applicable to that state
description. Thus the precondition for the rule associated with “move
blank up” is derived from the requirement that the blank space must
not already be in the top row.
The
problem goal condition forms the basis for the termination condition
of the production system. The control strategy repeatedly applies
rules to state descriptions until a description of a goal state is
produced. it also keep track of rules that have been applied so that
it can compose them into sequence representing the problem solution
A*
Search Algorithm
Motivation
To approximate the shortest path in real-life situations, like- in maps, games where there can be many hindrances.
To approximate the shortest path in real-life situations, like- in maps, games where there can be many hindrances.
We
can consider a 2D Grid having several obstacles and we start from a
source cell (coloured red below) to reach towards a goal cell
(coloured green below)
What
is A* Search Algorithm?
A*
Search algorithm is one of the best and popular technique used in
path-finding and graph traversals.
The
A* algorithm combines features of uniform-cost search and pure
heuristic search to efficiently compute optimal solutions. A*
algorithm is a best-first search algorithm in which the cost
associated with a node is
f(n) = g(n) + h(n),
where g(n) is the cost of the path from the initial state to node n
and h(n) is the heuristic estimate or the cost or a path from node n
to a goal. Thus, f(n) estimates the lowest total cost of any solution
path going through node n. At each point a node with lowest f value
is chosen for expansion. Ties among nodes of equal f value should
be broken in favor of nodes with lower h values. The algorithm
terminates when a goal is chosen for expansion.
A*
algorithm guides an optimal path to a goal if the heuristic function
h(n) is admissible, meaning it never overestimates actual cost.
For
example, since airline distance never overestimates actual highway
distance, and Manhattan distance never overestimates actual moves in
the gliding tile.
For
Puzzle, A* algorithm, using these evaluation functions, can find
optimal solutions to these problems. In addition, A* makes the most
efficient use of the given heuristic function in the following sense:
among all shortest-path algorithms using the given heuristic function
h(n). A* algorithm expands the fewest number of nodes.
The
main drawback of A* algorithm and indeed of any best-first search is
its memory requirement. Since at least the entire open list must be
saved, A* algorithm is severely space-limited in practice, and is no
more practical than best-first search algorithm on current machines.
For example, while it can be run successfully on the eight puzzle, it
exhausts available memory in a matter of minutes on the fifteen
puzzle.
Why
A* Search Algorithm?
Informally
speaking, A* Search algorithms, unlike other traversal techniques, it
has “brains”. What it means is that it is really a smart
algorithm which separates it from the other conventional algorithms.
This fact is cleared in detail in below sections.
And
it is also worth mentioning that many games and web-based maps use
this algorithm to find the shortest path very efficiently
(approximation).
Explanation
Consider
a square grid having many obstacles and we are given a starting cell
and a target cell. We want to reach the target cell (if possible)
from the starting cell as quickly as possible. Here A* Search
Algorithm comes to the rescue.
What
A* Search Algorithm does is that at each step it picks the node
according to a value-‘f’
which is a parameter equal to the sum of two other parameters –
‘g’
and ‘h’.
At each step it picks the node/cell having the lowest ‘f’,
and process that node/cell.
We
define ‘g’
and ‘h’
as simply as possible below
g
= the movement cost to move from the starting point to a given square
on the grid, following the path generated to get there.
h
= the estimated movement cost to move from that given square on the
grid to the final destination. This is often referred to as the
heuristic, which is nothing but a kind of smart guess. We really
don’t know the actual distance until we find the path, because all
sorts of things can be in the way (walls, water, etc.).
Conclusion:
8 puzzle problem using a star algorithm
8 puzzle problem using a* algorithm
8 puzzle problem using hill climbing
algorithm
artificial intelligence
tic tac toe problem in artificial intelligence
- Get link
- Other Apps
Comments
Popular Posts
Vivo Z1 Pro will be the first smartphone that comes with 712 chipset, Learn the specialty of this processor.
Vivo Z1 Pro is going to launch in India on July 3. Certain specifications of the phone include the Snapdragon 712 chipset with Enhanced GPU and 5000 mAh battery. The latest Social Media Review reveals that the company has focused on gamers for its new phone. Better cooling, better connectivity, Net Turbo and Turbo have also given many other features, which will further improve the phone's performance. Vivo Z1 Pro will provide users with a good gaming experience with a special game countdown without any interruption. You can also change your PUBG Voice when you are gaming. After the game has started, the phone will also provide 4D vibration and 3D surround sound. Other specification of the phone has a punch-hole design with 32MP sleigh shooter and a triple setup on the rear. The 18W Fast-Charging Capabilities is also given in the phone with the bigger battery. The phone will work on Android Pie Function OS 9. The main feat
please
ReplyDeleteshow can example of g(n) + h(n) = f(n) , we are not able to understand the steps,