protected override EMSSMove[] GenerateMoves(LinearLinkage lle) { int length = lle.Length; if (length == 1) { throw new ArgumentException("StochasticEMSSSingleMoveGenerator: There cannot be a move given only one item.", "lle"); } var random = RandomParameter.ActualValue; return(new[] { ExhaustiveEMSSMoveGenerator.Generate(lle).Shuffle(random).First() }); }
protected override EMSSMove[] GenerateMoves(LinearLinkage lle) { int length = lle.Length; if (length == 1) { throw new ArgumentException("StochasticEMSSMultiMoveGenerator: There cannot be a move given only one item.", "lle"); } var random = RandomParameter.ActualValue; var sampleSize = SampleSizeParameter.ActualValue.Value; return(ExhaustiveEMSSMoveGenerator.Generate(lle).Shuffle(random).Take(sampleSize).ToArray()); }
protected ExhaustiveEMSSMoveGenerator(ExhaustiveEMSSMoveGenerator original, Cloner cloner) : base(original, cloner) { }