Skip to content

A Project demonstrating the Search Algorithms: BFS, DFS, DFID, A*(AStar), IDA*(IDAStar), DFBnB

Notifications You must be signed in to change notification settings

ItaySharabi/Search-Algorithms

Repository files navigation

AI-Search-Algorithms

java

How to Run?

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:

Using any Java workspace (IntelliJ, Eclipse, ...)

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.

image

Example input file for execution:

You can write your own input files in the folder MarblesPuzzle/Inputs and simply change the input file in MarblesPuzzle.SearchEngine.java

image


Algorithms:

BFS

M4EM

DFID

image

Informed Search algorithms

A*

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!

image

Releases

No releases published

Packages

No packages published

Languages