Ejemplo n.º 1
0
        public override void GradeBoards(MoveRepresentationList list, BoardRepresentation initialBoard)
        {
            int  race          = 1;
            bool opponentFound = false;

            for (int i = 0; i < initialBoard.SquareCount() && race == 1; i++)
            {
                if (!opponentFound && initialBoard.GetPiecesAt(i) < 0)
                {
                    opponentFound = true;
                }

                if (opponentFound && initialBoard.GetPiecesAt(i) > 0)
                {
                    race = 0;
                }
            }

            for (int i = 0; i < list.Count(); i++)
            {
                int[] pubevalBoard = new int[28];
                MoveRepresentation currentBoard = list.GetMoveRepresentation(i);

                for (int j = 0; j < currentBoard.SquareCount(); j++)
                {
                    pubevalBoard[j] = currentBoard.GetPiecesAt(j);
                }

                pubevalBoard[26] = currentBoard.BearOffCountCurrent();
                pubevalBoard[27] = currentBoard.BearOffCountOpponent();

                double s = PubevalGrade(race, pubevalBoard);
                list.GetMoveRepresentation(i).AddScore(s);
            }
        }
Ejemplo n.º 2
0
 public override void GradeBoards(MoveRepresentationList list, BoardRepresentation initialBoard)
 {
     for (int i = 0; i < list.Count(); i++)
     {
         double s = m_FuzzyController.ObtainBoardStrength(list.GetMoveRepresentation(i));
         list.GetMoveRepresentation(i).AddScore(s);
     }
 }
Ejemplo n.º 3
0
 public override void GradeBoards(MoveRepresentationList list, BoardRepresentation initialBoard)
 {
     for (int i = 0; i < list.Count(); i++)
     {
         double s = m_Random.NextDouble() - m_Random.NextDouble();
         list.GetMoveRepresentation(i).AddScore(s);
     }
 }
Ejemplo n.º 4
0
 public override void GradeBoards(MoveRepresentationList list, BoardRepresentation initialBoard)
 {
     for (int i = 0; i < list.Count(); i++)
     {
         float[] output = Grade(list.GetMoveRepresentation(i));
         double  s      = output[0] + (2 * output[1]) + (3 * output[2]) - (2 * output[3]) - (3 * output[4]);
         list.GetMoveRepresentation(i).AddScore(s);
     }
 }
Ejemplo n.º 5
0
        public override void GradeBoards(MoveRepresentationList list, BoardRepresentation initialBoard)
        {
            bool race = Race(initialBoard);

            for (int i = 0; i < list.Count(); i++)
            {
                Grade(list.GetMoveRepresentation(i), race, m_Output);
                float  regularLoseProberbilety = 1.0f - (m_Output[0] + m_Output[1] + m_Output[2] + m_Output[3] + m_Output[4]);
                double equity = m_Output[0] + (2 * m_Output[1]) + (3 * m_Output[2]) - regularLoseProberbilety - (2 * m_Output[3]) - (3 * m_Output[4]);
                list.GetMoveRepresentation(i).AddScore(equity);
            }
        }