Liking cljdoc? Tell your friends :D

vaelii.impl.scenario

Scenario extraction over a qualitative constraint network: scenarios (lazy, with a :limit), scenario and relations choose one base relation per pair for any vaelii.impl.qcn-kb calculus, by fewest-possibilities-first backtracking with path consistency after each choice. Every tie breaks on content. See docs/scenario.md.

Scenario extraction over a qualitative constraint network: `scenarios` (lazy, with a
`:limit`), `scenario` and `relations` choose one base relation per pair for any
`vaelii.impl.qcn-kb` calculus, by fewest-possibilities-first backtracking with path
consistency after each choice.  Every tie breaks on content.  See docs/scenario.md.
raw docstring

relationsclj

(relations scen)

A scenario read as {[i j] → relation}, the singletons unwrapped. The network form is what composes with qcn; this is what reads.

A scenario read as `{[i j] → relation}`, the singletons unwrapped.  The network form is
what composes with `qcn`; this is what reads.
sourceraw docstring

scenarioclj

(scenario calc kb context)

One scenario of calc consistent with what is believed in context — a concrete arrangement of every pair — or nil when the believed facts are unsatisfiable.

Which one is a function of the facts alone: the search is deterministic, so this is repeatable and comparable across KBs.

One scenario of `calc` consistent with what is believed in `context` — a concrete
arrangement of every pair — or nil when the believed facts are unsatisfiable.

Which one is a function of the facts alone: the search is deterministic, so this is
repeatable and comparable across KBs.
sourceraw docstring

scenariosclj

(scenarios calc kb context)
(scenarios calc kb context {:keys [limit]})

Every scenario of calc consistent with what is believed in context, as a lazy sequence of singleton-valued networks {[i j] → #{relation}}, both directions written.

Lazy on purpose: the number of scenarios is exponential in the node count, so realizing the sequence in full is not something a caller should do by accident. Take what you need, or pass {:limit n} and let this do the taking.

Empty when the believed facts are unsatisfiable — an arrangement nothing rules out cannot exist when everything is ruled out. A context with fewer than two nodes has exactly one scenario, the empty one, since there is no pair to decide.

Every scenario of `calc` consistent with what is believed in `context`, as a **lazy**
sequence of singleton-valued networks `{[i j] → #{relation}}`, both directions written.

Lazy on purpose: the number of scenarios is exponential in the node count, so realizing
the sequence in full is not something a caller should do by accident.  Take what you need,
or pass `{:limit n}` and let this do the taking.

Empty when the believed facts are unsatisfiable — an arrangement nothing rules out cannot
exist when everything is ruled out.  A context with fewer than two nodes has exactly one
scenario, the empty one, since there is no pair to decide.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close