kumulant

materialize

Build a live BanditPolicy from its spec.

Arm and Posterior are themselves @Serializable sealed hierarchies, so ThompsonSamplingSpec consumes them directly without an intermediate factory hop.


fun MultiArmedSpec<*>.materialize(random: Random = Random.Default): MultiArmedBandit<Result>(source)

Build a live UnivariateBandit from its spec.


Build a live RouletteWheelBandit from its spec.


fun BoltzmannSpec.materialize(random: Random = Random.Default): BoltzmannBandit(source)

Build a live BoltzmannBandit from its spec.


fun Exp3Spec.materialize(random: Random = Random.Default): Exp3Bandit(source)

Build a live Exp3Bandit from its spec, resolving null eta / gamma to defaults.


Build a live TopTwoThompsonBandit from its spec.


fun UnivariateBanditSpec.materialize(random: Random = Random.Default): Bandit(source)

Dispatch any UnivariateBanditSpec to its concrete bandit.


fun RegressionContextualSpec.materialize(random: Random = Random.Default, concurrency: Concurrency = Concurrency.None): RegressionContextualBandit<out LinearRegressionResult>(source)

Build a live RegressionContextualBandit from its spec.


Build a live KnnContextualBandit from its spec.


fun ContextualBanditSpec.materialize(random: Random = Random.Default, concurrency: Concurrency = Concurrency.None): Bandit(source)

Dispatch any ContextualBanditSpec to its concrete bandit.