/// <summary> /// Construct a model stepper that records coverage points. /// Coverage points of interest are provided by <paramref name="transitionPropertyNames"/> /// </summary> /// <param name="modelProgram">model program</param> /// <param name="policy">reward policy</param> /// <param name="transitionPropertyNames">(optional) coverage points of interest</param> public StrategyWithCoverage(ModelProgram modelProgram, RewardPolicy policy, Set <string> transitionPropertyNames) : base(modelProgram) { this.policy = policy; this.coveragePointProvider = new CoveragePointProvider(modelProgram, transitionPropertyNames).GetCoveragePoints; }
/// <summary> /// Construct a model stepper that records coverage points. /// Defines the coverage point for a given action a and state s /// as the bag containig the pair (s.GetHashCode(),a.GetHashCode()) /// </summary> /// <param name="modelProgram">model program</param> /// <param name="policy">reward policy</param> public StrategyWithCoverage(ModelProgram modelProgram, RewardPolicy policy) : base(modelProgram) { this.policy = policy; this.coveragePointProvider = DefaultCoveragePointProvider; }
/// <summary> /// Construct a model stepper that records coverage points. /// </summary> /// <param name="modelProgram">model program</param> /// <param name="policy">reward policy</param> /// <param name="coveragePointProvider">(optional) coverage point provider</param> public StrategyWithCoverage(ModelProgram modelProgram, RewardPolicy policy, CoveragePointDelegate coveragePointProvider) : base(modelProgram) { this.policy = policy; this.coveragePointProvider = coveragePointProvider; }
/// <summary> /// Construct a model stepper that records coverage points. /// Defines the coverage point for a given action a and state s /// as the bag containig the pair (s.GetHashCode(),a.GetHashCode()) /// </summary> /// <param name="modelProgram">model program</param> /// <param name="policy">reward policy</param> public StrategyWithCoverage(ModelProgram modelProgram, RewardPolicy policy) : base(modelProgram) { this.policy = policy; this.coveragePointProvider = DefaultCoveragePointProvider; }
/// <summary> /// Construct a model stepper that records coverage points. /// </summary> /// <param name="modelProgram">model program</param> /// <param name="policy">reward policy</param> /// <param name="coveragePointProvider">(optional) coverage point provider</param> public StrategyWithCoverage(ModelProgram modelProgram, RewardPolicy policy, CoveragePointDelegate coveragePointProvider) : base(modelProgram) { this.policy = policy; this.coveragePointProvider = coveragePointProvider; }
/// <summary> /// Construct a model stepper that records coverage points. /// Coverage points of interest are provided by <paramref name="transitionPropertyNames"/> /// </summary> /// <param name="modelProgram">model program</param> /// <param name="policy">reward policy</param> /// <param name="transitionPropertyNames">(optional) coverage points of interest</param> public StrategyWithCoverage(ModelProgram modelProgram, RewardPolicy policy, Set<string> transitionPropertyNames) : base(modelProgram) { this.policy = policy; this.coveragePointProvider = new CoveragePointProvider(modelProgram, transitionPropertyNames).GetCoveragePoints; }