MCReplicationOracle

class MCReplicationOracle @JvmOverloads constructor(val modelIdentifier: String, val responseName: String, replicationFunctionBuilder: (streamProvider: RNStreamProviderIfc) -> MCReplicationFunctionIfc, microRepSampleSize: Int = 1, streamProvider: RNStreamProviderIfc = RNStreamProvider(), streamTapePolicy: StreamTapePolicy = StreamTapePolicy()) : SimulationOracleIfc(source)

A convenience adaptor: a single-response SimulationOracleIfc over a static Monte Carlo replication function. All behavior (macro/micro replication semantics, provider-wide stream positioning, CRN, contract enforcement, failure mapping, thread confinement) is delegated to a ResponseFunctionOracle over the single response.

Parameters

modelIdentifier

the identifier that evaluation requests must carry

responseName

the name of the single response the function observes

replicationFunctionBuilder

builds a fresh single-response function against the oracle's stream provider, acquiring all randomness at construction

microRepSampleSize

the number of function evaluations averaged into one replication (observation); defaults to 1

streamProvider

the provider the oracle owns and positions; defaults to a fresh provider so identically configured oracles reproduce each other exactly

streamTapePolicy

the persistent sub-stream tape; supply one with a non-zero initial position to give a concurrent member its own block of randomness

Constructors

Link copied to clipboard
constructor(modelIdentifier: String, responseName: String, replicationFunctionBuilder: (streamProvider: RNStreamProviderIfc) -> MCReplicationFunctionIfc, microRepSampleSize: Int = 1, streamProvider: RNStreamProviderIfc = RNStreamProvider(), streamTapePolicy: StreamTapePolicy = StreamTapePolicy())

Properties

Link copied to clipboard
Link copied to clipboard