dyna
dyna copied to clipboard
Default prioritization
At the moment we use FIFO.
For acyclic programs there is probably little advantage to straying away from topological order. Computing topological order in a Dyna program isn't totally obvious (to me at least) because we are unrolling the graph as we go.
Should we require integer priorities for faster agenda maintenance? (Integer priorities speed things up asymptotically and the constant factors are better, if I'm not mistaken).
Eventually we'll need tools for diagnosing bad prioritization.
ping.
This is a research question. Related to BP prioritization in LDP, in fact. Both static analysis (lifted inference) and online adaptation could be helpful. The goals are
- to avoid repropagation,
- to get fast convergence in the cyclic case,
- to get good memory locality (may argue against FIFO).
There may be simple heuristics that work well in practice.
On Sat, Jun 29, 2013 at 11:08 PM, Tim Vieira [email protected]:
ping.
— Reply to this email directly or view it on GitHubhttps://github.com/nwf/dyna/issues/19#issuecomment-20241310 .
Yes, obviously a research problem.
What are the simple heuristics we'd like soon? How about for acyclic programs?