Beispiel #1
0
    public override string ToString()
    {
        string winPercent = visitCnt == 0 ? "0" : (winCnt / visitCnt).ToString();
        string movStr     = move != null?move.ToString() : "";

        string dispStr = String.Format("\n[SkyNetNode]\nMove: {0}\nWin Percent: {1}\nNum Children: {2}\nPlayer One: {3}\nTerminal: {4}\nVisit: {5}\nWin: {6}\nLevel: {7}\nHash: {8}", movStr, winPercent, children.Count.ToString(), this.playerOne.ToString(), this.terminal.ToString(), visitCnt, winCnt, level, boardHash);

        return(dispStr);
    }
Beispiel #2
0
    public override string ToString()
    {
        string winPercent = (winCnt / visitCnt).ToString();
        string dispStr    = String.Format("\n[SkyNetNode]\nMove: {0}\nWin Percent: {1}\nNum Children: {2}\nPlayer One: {3}\nTerminal: {4}\n", move.ToString(), winPercent, children.Count.ToString(), this.playerOne.ToString(), this.terminal.ToString());

        return(dispStr);
    }
Beispiel #3
0
    private bool MCTSRandSimPlayout(SkyNetNode curNode)
    {
        Console.WriteLine("ENTERING MCTS SIM PLAYOUT");
        IBoard tmpBoard         = localBoard;
        bool   curBoardTerminal = CheckTerminalNode(tmpBoard);
        Random rand             = new Random();
        bool   playerOne        = curNode.playerOne;

        while (!curBoardTerminal)
        {
            List <GameMove> availMoves  = localGame.getAllPlayerMoves(tmpBoard, playerOne);
            int             cnt         = availMoves.Count;
            int             randMoveInd = rand.Next(0, availMoves.Count);
            GameMove        randMove    = availMoves [randMoveInd];
            Console.WriteLine(String.Format("Move Made!\nPlayer One's: {1}\nMove: {2}", playerOne.ToString(), randMove.ToString()));
            makeMove(tmpBoard, randMove);
            curBoardTerminal = CheckTerminalNode(tmpBoard);
            if (!curBoardTerminal)
            {
                playerOne = !playerOne;
            }
        }
        Console.WriteLine("Player One Win: " + playerOne.ToString());
        Console.WriteLine("EXITING MCTS SIM PLAYOUT");
        return(playerOne);
    }