On this page:
3.1 RSDD
rsdd-engine
bernoulli-measure
semiring?
real-semiring
complex-semiring
8.17.0.3

3 Engines🔗ℹ

An engine provides a backend for performing inference. By default, Roulette automatically installs the RSDD backend.

3.1 RSDD🔗ℹ

 (require roulette/engine/rsdd) package: roulette-lib

procedure

(rsdd-engine [#:semiring s])

  (engine/c (immutable-set/c any/c) s)
  s : semiring? = real-semiring
Performs inference over the s semiring using RSDD.
> (define engine (rsdd-engine #:semiring complex-semiring))

procedure

(bernoulli-measure f t [#:semiring s])

  (measure/c (immutable-set/c boolean?) s)
  f : s
  t : s
  s : semiring? = real-semiring
Returns a measure such that (set) gets (semiring-zero s), (set #f) gets f, (set #t) gets t, and (set #f #t) gets ((semiring-plus s) f t).
> (define-measurable x
    (bernoulli-measure 0+1i 1 #:semiring complex-semiring))
> ((infer x #:engine engine) (set #f #t))

1.0+1.0i

procedure

(semiring? v)  boolean?

  v : any/c
Recognizes a semiring instance. A semiring acts like a contract that recognizes elements of the semiring.

Semirings that can be used with RSDD.