Esempio n. 1
0
        public RandomVariable ToRandomVariable()
        {
            IList <string>           states     = new List <string>();
            Dictionary <string, int> stateCount = new Dictionary <string, int>();

            foreach (Particle p in particles)
            {
                string state = p.State;
                if (!(states.Contains(state)))
                {
                    states.Add(state);
                    stateCount[state] = 0;
                }

                stateCount[state] = stateCount[state] + 1;
            }

            RandomVariable result = new RandomVariable(states);

            foreach (string state in stateCount.Keys)
            {
                result.SetProbabilityOf(state,
                                        ((double)stateCount[state] / particles.Count));
            }
            return(result);
        }