Skip to content

Latest commit

 

History

History
80 lines (67 loc) · 5.18 KB

File metadata and controls

80 lines (67 loc) · 5.18 KB

README

This is a user interface generated by Claude.

The purpose is to analyze paths generated by our subnodes pathfinding encoding. When called with the following command:

$ clingo benchmark.lp pathfinding-subnodes.lp --const z=3 --outf=2 0 > results.json

the output might look something like this:

Example output file
{
  "Solver": "clingo version 5.8.0",
  "Input": [
    "benchmark.lp","pathfinding-subnodes.lp"
  ],
  "Call": [
    {
      "Start": 0.000,
      "Witnesses": [
        {
          "Time": 2.968,
          "Value": [
            "global(228)", "path((11,22,w),90)", "path((11,21,w),91)", "path((11,20,w),92)", "path((11,19,n),93)", "path((10,19,w),94)", "path((10,18,w),95)", "path((10,17,n),96)", "path((9,17,n),97)", "path((8,17,n),98)", "path((7,17,n),99)", "path((6,17,n),100)", "path((5,17,w),101)", "path((5,16,w),102)", "path((5,15,w),103)", "path((5,14,w),104)", "path((5,13,w),105)", "path((5,12,w),106)", "path((5,11,w),107)", "path((5,10,w),108)", "path((5,9,w),109)", "path((5,8,w),110)", "path((5,7,w),111)", "path((5,6,w),112)", "path((5,5,w),113)", "length(23)"
          ]
        },
        {
          "Time": 2.968,
          "Value": [
            "global(228)", "path((11,22,w),90)", "path((11,21,w),91)", "path((11,20,w),92)", "path((11,19,n),93)", "path((10,19,w),94)", "path((10,18,w),95)", "path((10,17,w),96)", "path((10,16,n),97)", "path((9,16,w),98)", "path((9,15,w),99)", "path((9,14,w),100)", "path((9,13,w),101)", "path((9,12,w),102)", "path((9,11,w),103)", "path((9,10,n),104)", "path((8,10,n),105)", "path((7,10,n),106)", "path((6,10,n),107)", "path((5,10,w),108)", "path((5,9,w),109)", "path((5,8,w),110)", "path((5,7,w),111)", "path((5,6,w),112)", "path((5,5,w),113)", "length(23)"
          ]
        },

...

{
          "Time": 3.014,
          "Value": [
            "global(228)", "path((11,22,w),90)", "path((11,21,w),91)", "path((11,20,w),92)", "path((11,19,n),93)", "path((10,19,w),94)", "path((10,18,w),95)", "path((10,17,w),96)", "path((10,16,w),97)", "path((10,15,w),98)", "path((10,14,w),99)", "path((10,13,w),100)", "path((10,12,w),101)", "path((10,11,w),102)", "path((10,10,w),103)", "path((10,9,w),104)", "path((10,8,w),105)", "path((10,7,w),106)", "path((10,6,w),107)", "path((10,5,w),108)", "path((10,4,w),109)", "path((10,3,w),110)", "path((10,2,w),111)", "path((10,1,w),112)", "path((10,0,n),113)", "path((9,0,n),114)", "path((8,0,n),115)", "path((7,0,n),116)", "path((6,0,n),117)", "path((5,0,e),118)", "path((5,1,e),119)", "path((5,2,s),120)", "path((6,2,e),121)", "path((6,3,n),122)", "path((5,3,e),123)", "path((5,4,n),124)", "path((4,4,e),125)", "path((4,5,e),126)", "path((4,6,s),127)", "path((5,6,e),128)", "path((5,7,s),129)", "path((6,7,e),130)", "path((6,8,n),131)", "path((5,8,e),132)", "path((5,9,e),133)", "path((5,10,e),134)", "path((5,11,e),135)", "path((5,12,e),136)", "path((5,13,e),137)", "path((5,14,e),138)", "path((5,15,e),139)", "path((5,16,e),140)", "path((5,17,s),141)", "path((6,17,s),142)", "path((7,17,s),143)", "path((8,17,s),144)", "path((9,17,s),145)", "path((10,17,e),146)", "path((10,18,e),147)", "path((10,19,s),148)", "path((11,19,e),149)", "path((11,20,n),150)", "path((10,20,e),151)", "path((10,21,n),152)", "path((9,21,e),153)", "path((9,22,e),154)", "path((9,23,s),155)", "path((10,23,e),156)", "path((10,24,s),157)", "path((11,24,e),158)", "path((11,25,n),159)", "path((10,25,e),160)", "path((10,26,e),161)", "path((10,27,n),162)", "path((9,27,n),163)", "path((8,27,n),164)", "path((7,27,n),165)", "path((6,27,n),166)", "path((5,27,w),167)", "path((5,26,w),168)", "path((5,25,w),169)", "path((5,24,w),170)", "path((5,23,w),171)", "path((5,22,w),172)", "path((5,21,w),173)", "path((5,20,w),174)", "path((5,19,w),175)", "path((5,18,w),176)", "path((5,17,w),177)", "path((5,16,w),178)", "path((5,15,w),179)", "path((5,14,w),180)", "path((5,13,w),181)", "path((5,12,w),182)", "path((5,11,w),183)", "path((5,10,w),184)", "path((5,9,w),185)", "path((5,8,s),186)", "path((6,8,w),187)", "path((6,7,n),188)", "path((5,7,w),189)", "path((5,6,w),190)", "path((5,5,w),191)", "length(101)"
          ]
        }
      ],
      "Stop": 3.016
    }
  ],
  "Result": "SATISFIABLE",
  "Models": {
    "Number": 246,
    "More": "no"
  },
  "Calls": 1,
  "Time": {
    "Total": 3.016,
    "Solve": 0.049,
    "Model": 0.000,
    "Unsat": 0.002,
    "CPU": 2.987
  }
}

The JSON file is parsed to determine and plot the paths uncovered by the solver.


Try out the visualizer by cloning the repository. It is purely HTML and requires no server to run. You can use the provided results and environment files to see it in action. The current version is fixed for environments of size 30 x 30, but will be adjusted in the future.

Instructions

  • Click Browse JSON... and select example/results.json
  • Click Browse Image... and select example/environment.png

Then you can select from all of the available models and see them plotted in real time. If you want, you can hold down CMD/CTRL to select multiple models from the list. Holding down SHIFT will select consecutive models. Click clear to clear your selection.