TreeProblemFramework
Description
TreeProblemFramework is a .NET Core library to solve puzzles whose solution is based on a tree search. Its input should consist of a definition for the puzzle, including the corresponding rules, a description of the solution and an initial state. Moreover and optionally, an heuristic might also be given as part of the input. After processing, the library outputs the steps that reach the solution while satisfying the rules.
Use case
The library might be used to solve problems/games such as:
- N-Puzzle
- Unblock Me
- Sokoban
- Maze solving
- Rubik's Cube
- many more...
- Heuristic-based clustering
- ...and any other problem whose solution gets smartly described in terms of a tree search.
License
Although usage of the library is governed by the MIT License, do clearly link to the repository https://gitlab.com/EdgarYepez/TreeProblemFramework as follows in case of any full or partial usage:
@software {yepezTPF,
author = {Yépez, Edgar},
title = {TreeProblemFramework},
url = {https://gitlab.com/EdgarYepez/TreeProblemFramework},
year = {2020}
}
In case of having any comments, suggestions or finding issues, send an e-mail to dev@esyl.io.
Copyright 2020 ESYL.
Installation
Instructions on how to reference the library shall be found in the ESYL.TreeProblemFramework nuget site.
Usage
For instructions on how to get started, visit the usage guide. Additionally, implementations for a solution to several puzzles shall be found in the Examples folder.