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); } }
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); } }
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); } }
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); } }
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); } }