Download this repository's source files by clicking Code -> Download ZIP:
or,
you can use a git bash
terminal (On windows) to clone this repository by running the command:
git clone https://github.com/ItaySharabi/AI-Search-Algorithms.git
After you have the source files:
Open the MarblesPuzzle
package and look for SearchEngine.java
file.
Run it and enjoy!
This file consumes an input file given to it by default,
but you can always create a new input file and feed it to the MarblesPuzzle.SearchEngine.java
file.
You can write your own input files in the folder MarblesPuzzle/Inputs
and simply change the input file in MarblesPuzzle.SearchEngine.java
A* (A Star) is a very special algorithm. It is an "informed algorithm", which evaluates nodes at the time of search, with a special estimation method which is being applied specifically to `State`s and not `Node`s - `Herusitic Evaluation`.
A* is special because it relies only on a given heuristic evaluation (See Manhattan Distance
) function,
h(x) : V --> [0, N]
, which if accurate enough - produces amazing path-finding solutions!
If visualizing A* - then you can see how it avoids going in wrong directions, and you can see it bursting towards the target!