davidpomerenke/elm-problem-solving/1.0.0

NOTE: the latest version is 1.0.3

elm-problem-solving

  • Use examples and templates of standard problems: Vacuum world, sliding puzzle, queens puzzle, Knuth conjecture, graph search, motion planning. Or formalize your own problem.
  • Apply powerful search algorithms to find the solution: Depth-first search, breadth-first search, uniform-cost search (Dijkstra's algorithm), greedy search, and best-first (A*) search.
  • Visualize the searched state space as a scatter plot, tree, tree map, or network graph; all live while searching.
  • Use a low-code dashboard to get started.

Documentation

to be linked

Examples

(These are from the docs folder. I plan to publish them as Ellies.)

  1. [Live] [Code] Creating a powerful dashboard by just enumerating what you would like to include.
  2. [Live] [Code] Live-searching for a problem solution, a minimal example.
  3. [Live] [Code] Visualizing the searched state space as a tree, tree map, or scatter plot.
  4. [Live] [Code] Visualizing the searched state space as a network graph.
  5. [Live] [Code] Adding a tooltip with information about the individual states to the visuals.
  6. [Live] [Code] Combining all the techniques to create the same dashboard as in 1., but with much more code.

Structure

  • Problem
  • Problem.Example
  • Problem.Search
  • Problem.Search.Visual
  • Problem.Search.Dashboard

Screenshots

Screenshots of 2 search visual dashboards.

Github actions elm-test status