Пример #1
0
 public void UpdateBasicStatsUI(BasicStatistics basicStatistics)
 {
     UpdateStatisticTextValue(strenghtTxt, basicStatistics.Strenght);
     UpdateStatisticTextValue(vitalityTxt, basicStatistics.Vitality);
     UpdateStatisticTextValue(intelligenceTxt, basicStatistics.Intelligence);
     UpdateStatisticTextValue(dexterityTxt, basicStatistics.Dexterity);
 }
Пример #2
0
    void OnGUI()
    {
        BasicStatistics stats = GetComponent <BasicStatistics>();

        GUI.Label(new Rect(position.x, position.y, boxSize.x, boxSize.y), sliderText);
        stats.ATT = (int)GUI.HorizontalSlider(new Rect(position.x + boxSize.x, position.y + margin.y, sliderSize, sliderArea), stats.ATT, minimumValue, maximumValue);
        GUI.Box(new Rect(position.x + boxSize.x + margin.x + sliderSize, position.y, boxSize.x, boxSize.y), stats.ATT.ToString());
    }
Пример #3
0
        public IBasicStatistics Analise(IRouletteRolls rouletteRolls)
        {
            _rouletteRolls       = rouletteRolls;
            _basicStatisticUnits = new BasicStatistics(_rouletteRolls.RollTemplatesPool, _rouletteRolls.Count);

            CountRouletteRolls();

            return(_basicStatisticUnits);
        }
Пример #4
0
        public void AllResultsHaveName()
        {
            var benchmarkResults = CreateEngine <AleatoryBenchmark>(new BenchmarkOptions()
            {
                Repetitions = 1
            }).Execute();

            var statisticCalculator = new BasicStatistics();
            var statisticResults    = statisticCalculator.Calculate(benchmarkResults.Single().Methods.Single());

            Assert.AreEqual(statisticResults.Count, statisticCalculator.GetHeaders().Count());
        }
    private int CalculateDamage(BasicStatistics enemy, BasicStatistics owner)
    {
        int TotalDamage = 0;
        //CalculateDamage accoding to one of the rules
        foreach (var damage in this.Damage)
        {
            TotalDamage += (int) ((1- enemy.DamageResistance[damage.Type]) * (owner.ATT+balanceConstant) / (enemy.DEF+balanceConstant) * damage.Value);
            //TotalDamage += (int)((1 - (enemy.DEF + enemy.PhysicalResistance - owner.ATT)/100) * PhysicalDmg);
        }

        return TotalDamage;
    }
    void OnGUI()
    {
        BasicStatistics stats = GetComponent <BasicStatistics>();

        GUI.Label(new Rect(Screen.width - 2 * position.x - sliderSize - 2 * boxSize.x, position.y, boxSize.x, boxSize.y), sliderText);
        stats.DEF = (int)GUI.HorizontalSlider(new Rect(Screen.width - 2 * position.x - sliderSize - boxSize.x, position.y + margin.y, sliderSize, sliderArea), stats.DEF, minimumValue, maximumValue);
        GUI.Box(new Rect(Screen.width - position.x - boxSize.x, position.y, boxSize.x, boxSize.y), stats.DEF.ToString());
        GUI.Box(new Rect(Screen.width - HPboxSize.x - HPmargin.x, Screen.height - HPmargin.y, HPboxSize.x, HPboxSize.y), ("HP =" + stats.HP.ToString()));
        //Buttons

        //hasMagicRes = GUI.Toggle(new Rect(Screen.width - magicResistancePosition.x - imageSize.x,magicResistancePosition.y,imageSize.x,imageSize.y),stats.MagicResistance,(stats.MagicResistance>0) ? magicResActiveIcon : magicResDisabledIcon);
    }
    private int CalculateDamage(BasicStatistics enemy, BasicStatistics owner)
    {
        int TotalDamage = 0;

        //CalculateDamage accoding to one of the rules
        foreach (var damage in this.Damage)
        {
            TotalDamage += (int)((1 - enemy.DamageResistance[damage.Type]) * (owner.ATT + balanceConstant) / (enemy.DEF + balanceConstant) * damage.Value);
            //TotalDamage += (int)((1 - (enemy.DEF + enemy.PhysicalResistance - owner.ATT)/100) * PhysicalDmg);
        }

        return(TotalDamage);
    }
        private void RecordAllocationResult()
        {
            BasicStatistics stats = new BasicStatistics(this.allDistances);
            var             CI    = new ConfidenceIntervalStandardNormal(stats);

            this.allocationResult = new AllocationResult()
            {
                Mean  = stats.Mean,
                LCI   = CI.LowerBound,
                UCI   = CI.UpperBound,
                Stats = stats,
            };
        }
        /// <summary>
        /// Create a LocalityResult object to store result for locality
        /// </summary>
        /// <param name="locality">Name of locality</param>
        /// <param name="tours">Length of n sampled tours</param>
        private void RecordLocalityResults(string locality, List <double> days)
        {
            BasicStatistics stats = new BasicStatistics(days);
            var             CI    = new ConfidenceIntervalStandardNormal(stats);

            var localityResult = new LocalityResult()
            {
                Locality              = locality,
                Mean                  = Math.Round(stats.Mean, DECIMAL_PLACES),
                LCI                   = Math.Round(CI.LowerBound, DECIMAL_PLACES),
                UCI                   = Math.Round(CI.UpperBound, DECIMAL_PLACES),
                FifthPercentile       = Math.Round(stats.Percentile(FIFTH_PERCENTILE), DECIMAL_PLACES),
                NinetyFifthPercentile = Math.Round(stats.Percentile(NINETYFIFTH_PERCENTILE), DECIMAL_PLACES)
            };

            resultsByLocality.Add(localityResult);
        }
Пример #10
0
        public void Statistics_MinMax_Test()
        {
            var data = new double[10][];

            for (int i = 0; i < data.Length; i++)
            {
                data[i]    = new double[3];
                data[i][0] = i + 5;
                data[i][1] = Math.Sin(i * 2.14);
                data[i][2] = Math.Sin(2 * i + i * i - 5);
            }
            var minMax = BasicStatistics.calculateMinMax(data);

            Assert.Equal(5, minMax.min[0]);
            Assert.Equal(-0.98742414298941528, minMax.min[1]);
            Assert.Equal(-0.98803162409286183, minMax.min[2]);

            Assert.Equal(14, minMax.max[0]);
            Assert.Equal(0.84233043163664567, minMax.max[1]);
            Assert.Equal(0.99287264808453712, minMax.max[2]);
        }
Пример #11
0
        public void Statistics_MeanStDev_Test()
        {
            var data = new double[10][];

            for (int i = 0; i < data.Length; i++)
            {
                data[i]    = new double[3];
                data[i][0] = i + 5;
                data[i][1] = Math.Sin(i * 2.14);
                data[i][2] = Math.Sin(2 * i + i * i - 5);
            }
            var minMax = BasicStatistics.calculateMeanStDev(data);

            Assert.Equal(9.5, minMax.means[0]);
            Assert.Equal(0.02222381660881375, minMax.means[1]);
            Assert.Equal(-0.16633643848431015, minMax.means[2]);

            Assert.Equal(3.0276503540974917, minMax.stdevs[0]);
            Assert.Equal(0.72201262859409132, minMax.stdevs[1]);
            Assert.Equal(0.72052383815693033, minMax.stdevs[2]);
        }
Пример #12
0
        public void ValuesHaveRequiredOrder()
        {
            // We need EXACTLY this order because of how HtmlOutputRenderer and its HTML template files
            // are implemented. If things will change there (with more robust code) then this test may
            // be simplified.
            // Note that with a small number of repetitions this check may fail because of "random" function call overhead, if
            // this test fails on some environment you may need to increase this number (I keep it low just to make test faster).
            var benchmarkResults = CreateEngine <AleatoryBenchmark>(new BenchmarkOptions()
            {
                Repetitions = 10
            }).Execute();

            var statisticCalculator = new BasicStatistics();
            var statisticResults    = statisticCalculator.Calculate(benchmarkResults.Single().Methods.Single());

            var distribution = statisticCalculator.GetHeaders().Select(x => (TimeSpan)statisticResults[x]).ToArray();

            for (int i = 1; i < distribution.Length; ++i)
            {
                Assert.IsTrue(distribution[i] > distribution[i - 1],
                              String.Format("Item #{0} has value {1} but it should be greater than item #{2} (with value {3}.", i, distribution[i], i - 1, distribution[i - 1]));
            }
        }
Пример #13
0
        public float Evaluate(IChromosome ch, IParameters param, int it)
        {
            var iData = GetData();

            var    chr        = (Chromosome)ch;
            var    expTree    = chr.expressionTree;
            double fitness    = 0;
            double rowFitness = 0.0;

            double[] y;

            var evalData    = new List <(int, double[])>();
            var dic         = new Dictionary <int, List <double[]> >();
            var preCalcData = new Dictionary <int, (double[], double[][])>();
            var result      = new List <(int, int)>();

            //for each trainign sample
            for (int i = 0; i < iData.RowCount; i++)
            {
                var rowInputData = iData.GetDataInputRow(i);
                // evaluate the function against each rowData
                y = expTree.Evaluate2(rowInputData, param);
                if (y == null)
                {
                    return(float.NaN);
                }
                //get output Value
                var yo = (int)iData.GetRowOutput(i);

                //add result in to list
                evalData.Add((yo, y));

                //map result with class
                if (dic.ContainsKey(yo))
                {
                    dic[yo].Add(y);
                }
                else
                {
                    dic.Add(yo, new List <double[]>()
                    {
                        y
                    });
                }
            }
            //calculate centroids and Covariance matrix for each cluster
            for (int i = 0; i < dic.Keys.Count; i++)
            {
                //class value
                var c    = dic.Keys.ElementAt(i);
                var vals = dic.Values.ElementAt(i).ToArray();
                //predicted values for the class
                var cData = AdvancedStatistics.ToColumnVector <double>(vals);

                //calculated centroid for the cData
                var cen = cData.Select(x => x.MeanOf()).ToArray();

                //calculate CovarianceMatrix
                var cov = BasicStatistics.Covariance(cData);
                if (!isValid(cov))
                {
                    return(float.NaN);
                }
                preCalcData.Add(c, (cen, cov));
            }

            //for each training sample
            //go through all samples
            foreach (var item in evalData)
            {
                //calculate Mahanalobis distance for each training sample
                double minMD            = double.MaxValue;
                int    predictedCluster = 0;
                foreach (var c in dic.Keys)
                {
                    var md = AdvancedStatistics.MD(item.Item2, preCalcData[c].Item1, preCalcData[c].Item2);

                    //map result with class
                    if (minMD > md)
                    {
                        predictedCluster = c;
                        minMD            = md;
                    }
                }
                //map actual and predicted class value
                result.Add((item.Item1, predictedCluster));
            }
            float corectedPredicted = result.Where(x => x.Item1 == x.Item2).Count();
            var   rawFitness        = corectedPredicted / (float)result.Count;



            if (double.IsNaN(rawFitness) || double.IsInfinity(rawFitness))
            {
                fitness = float.NaN;
            }
            else//calculate adjusted fitness
            {
                fitness = (rawFitness * 1000.0);
            }
            //store extra data into chromosome
            chr.ExtraData = preCalcData;

            return((float)System.Math.Round(fitness, 2));
        }
Пример #14
0
 public static BasicStatistics CreateBasicStatistics(global::System.Guid ID, int clouds, int serviceDeployments, int serviceDeploymentsNotRunning, int serviceDeploymentsRequiringAttention, int serviceVMs, int standaloneVMs, int vMsNotRunning, int vMsRequiringAttention)
 {
     BasicStatistics basicStatistics = new BasicStatistics();
     basicStatistics.ID = ID;
     basicStatistics.Clouds = clouds;
     basicStatistics.ServiceDeployments = serviceDeployments;
     basicStatistics.ServiceDeploymentsNotRunning = serviceDeploymentsNotRunning;
     basicStatistics.ServiceDeploymentsRequiringAttention = serviceDeploymentsRequiringAttention;
     basicStatistics.ServiceVMs = serviceVMs;
     basicStatistics.StandaloneVMs = standaloneVMs;
     basicStatistics.VMsNotRunning = vMsNotRunning;
     basicStatistics.VMsRequiringAttention = vMsRequiringAttention;
     return basicStatistics;
 }
Пример #15
0
 public void InitializeBattleStatisics(BasicStatsUIView basicStatsUIView, DuelStatsUIView duelStatsUIView)
 {
     basicStatistics = new BasicStatistics(statisticsLevelUpdater, basicStatsUIView);
     duelStatistics  = new DuelStatistics(statisticsLevelUpdater, characterInformation._Level, duelStatsUIView);
 }