Skip to content
riedelcastro edited this page Oct 15, 2014 · 9 revisions

Pre-factorization Checks:

  • Only “def”, no “val”
  • List operations
    • length / size
    • apply
  • No hidden structure in sum domains
  • Supported Special-case conditions
    • structure = value
    • forall(domain) {structure = value} //and nested version
    • everything else is turned into factors and creates a big warning (factor restrictions apply)
  • No recursion in user model
  • No class member methods on search space data structures (or not used in model).
  • So side effects (println etc.) in model
  • Custom-made potential checks: the signature of the annotated function needs to be consistent with the signature of the function in the annotation.
  • search space is practically infinite and you haven't used inference.

Post Factorization Checks:

  • Likely intractable models. Non factorizing factors.
    • your factor is connected to too many nodes! And it's custom made!
  • External library calls.
  • It looks like your model should be in log-space, but it isn't.
  • too big search space (even on a single node)

Runtime checks:

runtime dependent:

  • Likely intractable models.
    • Too many nodes
    • Too many factors
    • Too big domains
Clone this wiki locally