README.md 1.78 KB
Newer Older
Edgar Yépez's avatar
Edgar Yépez committed
1
2
3
4
# TreeProblemFramework

## Description

Edgar Yépez's avatar
Edgar Yépez committed
5
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.
Edgar Yépez's avatar
Edgar Yépez committed
6
7
8

### Use case

Edgar Yépez's avatar
Edgar Yépez committed
9
The library might be used to solve problems/games such as:
Edgar Yépez's avatar
Edgar Yépez committed
10
11
12
13
14
15
16
17
18
19
20

1. N-Puzzle
2. Unblock Me
3. Sokoban
4. Maze solving
5. Rubik's Cube
6. *many more...*
7. *...and any other problem whose solution gets smartly described in terms of a tree search.*

## License

Edgar Yépez's avatar
Edgar Yépez committed
21
Although usage of the library is governed by the [MIT License](https://opensource.org/licenses/MIT), do clearly link to the repository [https://gitlab.com/EdgarYepez/TreeProblemFramework](https://gitlab.com/EdgarYepez/TreeProblemFramework) as follows in case of any full or partial usage:
Edgar Yépez's avatar
Edgar Yépez committed
22
23
24
25
26

```
@software {yepezTPF,
    author = {Yépez, Edgar},
    title = {TreeProblemFramework},
Edgar Yépez's avatar
Edgar Yépez committed
27
    url = {https://gitlab.com/EdgarYepez/TreeProblemFramework},
Edgar Yépez's avatar
Edgar Yépez committed
28
29
30
31
    year = {2020}
}
```

Edgar Yépez's avatar
Edgar Yépez committed
32
In case of having any comments, suggestions or finding issues, send an e-mail to [dev@esyl.io](mailto:dev@esyl.io).
Edgar Yépez's avatar
Edgar Yépez committed
33

Edgar Yépez's avatar
Edgar Yépez committed
34
35
Copyright 2020 ESYL.

Edgar Yépez's avatar
Edgar Yépez committed
36
## Installation 
Edgar Yépez's avatar
Edgar Yépez committed
37

Edgar Yépez's avatar
Edgar Yépez committed
38
Instructions on how to reference the library shall be found in the [ESYL.TreeProblemFramework nuget site](https://www.nuget.org/packages/ESYL.TreeProblemFramework/).
Edgar Yépez's avatar
Edgar Yépez committed
39
40
41

## Usage

Edgar Yépez's avatar
Edgar Yépez committed
42
For instructions on how to get started, visit the [usage guide](http://tpf.esyl.io/api/index.html). Additionally, implementations for a solution to several puzzles shall be found in the [Examples folder](https://gitlab.com/EdgarYepez/TreeProblemFramework/tree/master/Examples).