private static void MakeDecision() { Console.Write("Please type the number of your desired action: "); switch (Console.ReadKey().Key) { case ConsoleKey.D1: ConstantGenerator.Run(BASE_MAP_PATH, SOURCE_CODE_PROJECT_FOLDER_PATH, new ConstantGeneratorOptions { IncludeCode = false }); break; case ConsoleKey.D2: Build(false); break; case ConsoleKey.D3: Build(true); break; default: Console.WriteLine($"{Environment.NewLine}Invalid input. Please choose again."); MakeDecision(); break; } }
private ITaskListGenerator CreateGenerator(int taskLength, int maxDelay, int taskPerTick) { var taskLengthGenerator = new ConstantGenerator(); var maxDelayGenerator = CreateConstantNumberGenerator <IMaxDelayGenerator>(maxDelay); var taskPerTickGenerator = CreateConstantNumberGenerator <ITaskPerTickGenerator>(taskPerTick); var configuration = CreateConfiguration(0, taskLength); var listGenerator = new TaskListGenerator(taskLengthGenerator, maxDelayGenerator, taskPerTickGenerator, configuration, new TaskQuantityCalculator(), new AverageTaskDurationCalculator()); return(listGenerator); }
/// <summary> /// Constructs a new potential function modeling Hidden Markov Models. /// </summary> /// /// <param name="states">The number of states.</param> /// <param name="symbols">The number of symbols.</param> /// <param name="initialization">The random number generator to use when initializing weights.</param> /// public MarkovDiscreteFunction(int states, int symbols, IRandomNumberGenerator <double> initialization = null) { if (initialization == null) { initialization = new ConstantGenerator(0); } this.Symbols = symbols; var factorParams = new List <double>(); var factorFeatures = new List <IFeature <int> >(); var stateParams = new List <double>(); var stateFeatures = new List <IFeature <int> >(); var edgeParams = new List <double>(); var edgeFeatures = new List <IFeature <int> >(); // Create features for initial state probabilities for (int i = 0; i < states; i++) { edgeParams.Add(initialization.Generate()); edgeFeatures.Add(new InitialFeature <int>(this, 0, i)); } // Create features for state transition probabilities for (int i = 0; i < states; i++) { for (int j = 0; j < states; j++) { edgeParams.Add(initialization.Generate()); edgeFeatures.Add(new TransitionFeature <int>(this, 0, i, j)); } } // Create features for symbol emission probabilities for (int i = 0; i < states; i++) { for (int k = 0; k < symbols; k++) { stateParams.Add(initialization.Generate()); stateFeatures.Add(new EmissionFeature(this, 0, i, k)); } } // 1. edges factorFeatures.AddRange(edgeFeatures); factorParams.AddRange(edgeParams); // 2. states factorFeatures.AddRange(stateFeatures); factorParams.AddRange(stateParams); this.Features = factorFeatures.ToArray(); this.Weights = factorParams.ToArray(); this.Factors = new[] // First features and parameters always belong to edges { new MarkovDiscreteFactor(this, states, 0, symbols, edgeIndex: 0, edgeCount: edgeParams.Count, // 1. edges stateIndex: edgeParams.Count, stateCount: stateParams.Count) // 2. states }; }
void before_each() { generator = new ConstantGenerator(); }
public void TestInitialize() { Generator = new ConstantGenerator(); }