Skip to content

davidpomerenke/elm-problem-solving

Repository files navigation

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 search state space as a scatter plot, tree, tree map, or network graph; live while searching.
  • Use a low-code dashboard to get started.

Examples

Introductory example on Ellie.

  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.

(The examples can be found in the docs folder.)

Structure

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

Screenshots

Screenshots of 2 search visual dashboards.

Related work

Github actions elm-test status