예제 #1
0
        //public int bestActionIndexExpected() {
        //    int selected = -1;
        //    double bestValue = -Double.MaxValue;
        //    for (int i=0; i<children.Length; i++) {

        //        if(!this.m_prunedChildren[i])
        //        {
        //           // Console.WriteLine("Child " + i + ": " + sol[0] + ", " + sol[1] + ", nVis: " + children[i].nVisits);
        //            if (children[i] != null)
        //            {
        //                double val = children[i].totValue[0] / children[i].nVisits;
        //                if(val + m_rnd.NextDouble() * epsilon > bestValue){
        //                    bestValue = val;
        //                    selected = i;
        //                }
        //            }
        //        }
        //    }
        //    if (selected == -1) throw new Exception("Unexpected selection!");

        //    //double sol[] = children[selected].pa.m_members.get(0).m_data;
        //    //Console.WriteLine("SELECTED: " + (int)bestValue + "," + sol[0] + "," + sol[1] + ": " + selected);

        //    return selected;
        //}


        public double getHV(bool a_normalized)
        {
            if (a_normalized)
            {
                return(pa.computeHV(m_player.getValueBounds()));
            }
            else
            {
                return(pa.computeHV());
            }
        }