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() });
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
 protected ExhaustiveEMSSMoveGenerator(ExhaustiveEMSSMoveGenerator original, Cloner cloner) : base(original, cloner)
 {
 }