Package

com.cra.figaro.algorithm.factored

gibbs

Permalink

package gibbs

Visibility
  1. Public
  2. All

Type Members

  1. abstract class BlockSampler extends AnyRef

    Permalink

    Class for handling sampling on a block

  2. trait Cached extends SimpleBlockSampler

    Permalink

    Caches factors according to assignments of values in the Markov blanket, which avoids recomputing the same factors repeatedly Takes advantage of the fact in Gibbs sampling, nearby samples tend to be highly correlated

  3. trait ChainApplyBlockingGibbs extends BaseUnweightedSampler with Gibbs[Double]

    Permalink

    The default trait for creating blocks.

    The default trait for creating blocks. Works on Chain, Apply, Atomic, and Constant elements. Note that our choice of blocking scheme fails when the results of a Chain have disjoint ranges. We are forced to do this to prevent exponentially slow time performance on models with Chains. A more detailed explanation is available in the FactorProduct trait in BlockSampler.scala.

  4. trait DoubleWeight extends SimpleBlockSampler

    Permalink

    Specialized sampling for continuous (i.e.

    Specialized sampling for continuous (i.e. of type Double) elements in Chains. This differs from the default sampler in that it can override the zero probability states in ConditionalSelector factors. The idea here is that we allow a technically inconsistent state according to the factors when the value of the Chain and result element are close. This is needed for compound continuous elements because sampling will always produce disjoint ranges for each result element of the Chain, which creates determinism issues with the way we currently block variables. This solution has not been fully tested for accuracy of results.

  5. trait FactorProduct extends SimpleBlockSampler

    Permalink

    A VE-like procedure that works well on large but highly sparse blocks.

    A VE-like procedure that works well on large but highly sparse blocks. For each adjacent factor, this groups the rows of the factor into sub-factors according to possible Markov blanket assignments. Each of these sub-factors is accumulated into a factor over factors, which essentially maps the Markov blanket of the original factor to a conditional distribution over the block. This does not store any new information, but rather takes the information in each factor and stores it in an easier to use format. This trait is the reason why we currently choose not to place a Chain's parent and the Chain itself in the same block, since we cannot efficiently compute the product of the sub-factors of the adjacent ConditionalSelector factors. In other cases we can make use of a priority queue to compute the product in an efficient order. For ConditionalSelectors there is no way to keep the intermediate factors sparse, and computing this product takes exponential time.

  6. trait GaussianWeight extends SimpleBlockSampler with DoubleWeight

    Permalink

    Assigns weights to continuous variables based on a Gaussian PDF with a static variance

  7. trait Gibbs[T] extends BaseUnweightedSampler with FactoredAlgorithm[T]

    Permalink
  8. abstract class ProbQueryGibbs extends BaseUnweightedSampler with ProbabilisticGibbs with UnweightedSampler

    Permalink
  9. trait ProbabilisticGibbs extends BaseUnweightedSampler with Gibbs[Double]

    Permalink
  10. class SimpleBlockSampler extends BlockSampler

    Permalink
  11. class StateNotFoundException extends RuntimeException

    Permalink

Value Members

  1. object BlockSampler

    Permalink
  2. object Gibbs

    Permalink
  3. object WalkSAT

    Permalink

Ungrouped