Exemple #1
0
        /// <summary>
        /// The start simulation_ click.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="e">
        /// The e.
        /// </param>
        private void StartSimulation(object sender, RoutedEventArgs e)
        {
            double swicthToUnfairChance = (double)this.ChangeToSwitchToUnfair.Value;
            double switchToFairChance   = (double)this.ChanceToSwitchToFair.Value;
            int    numberOfRolls        = (int)this.NumberOfRolls.Value;

            var casinoSimulation = new Casino(this.DiceSides.ToList(), switchToFairChance, swicthToUnfairChance);

            this.steps = casinoSimulation.Simulate(numberOfRolls);

            var alfaBeta       = new AlfaBeta(this.steps, switchToFairChance, swicthToUnfairChance, this.DiceSides.ToList());
            var alfaBetaResult = alfaBeta.Calculate();

            double alfaPass = 0;

            for (int i = 0; i < alfaBetaResult.Length; ++i)
            {
                if (alfaBetaResult[i] == this.steps[i].DiceState)
                {
                    ++alfaPass;
                }
            }

            var viterbi       = new Viterbi(this.steps, switchToFairChance, swicthToUnfairChance, this.DiceSides.ToList());
            var viterbiResult = viterbi.Calculate();

            double viterbiPass = 0;

            for (int i = 0; i < viterbiResult.Length; ++i)
            {
                if (viterbiResult[i] == this.steps[i].DiceState)
                {
                    ++viterbiPass;
                }
            }

            int a = 0;
        }