Ludii Forum
Issue with Yavalath - Printable Version

+- Ludii Forum (https://ludii.games/forums)
+-- Forum: Problems (https://ludii.games/forums/forumdisplay.php?fid=5)
+--- Forum: Ludii Player Problems (https://ludii.games/forums/forumdisplay.php?fid=6)
+--- Thread: Issue with Yavalath (/showthread.php?tid=684)



Issue with Yavalath - fbarbe - 08-19-2021

Hi,

I have been experiencing multiple issues with Yavalath.

Starting with version 1.2.6, the player crashes when trying to play Yavalath with 3 or four players, player 2, 3 and 4 being the Ludii AI.
When running the jar file from the command line, I get this error:
Code:
Exception in thread "Thread-3" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
    at policies.softmax.SoftmaxPolicy.computeDistribution(SoftmaxPolicy.java:190)
    at search.mcts.nodes.Node.learnedSelectionPolicy(Node.java:233)
    at search.mcts.selection.AG0Selection.select(AG0Selection.java:50)
    at search.mcts.MCTS.selectAction(MCTS.java:562)
    at utils.LudiiAI.selectAction(LudiiAI.java:48)
    at other.ThinkingThread$ThinkingThreadRunnable.run(ThinkingThread.java:188)
    at java.base/java.lang.Thread.run(Thread.java:829)
(This error happens when pressing "play" after making a human move. Player 2 does not move, and the buffer keeps spinning)
Yavalath with 2 players seems to work just fine.

The other issue I have with Yavalath is that it takes a painful amount of time to load. Its loading times are comparable to Mini Wars, although the game seems much lighter. It takes quite a few seconds for me to load the game, and to restart the game or move to past moves (with the left arrow). Loading Chess, Yavalade or pretty much any other game takes much less than a second (and feels instant).

Best,
Fabio

I got more errors in the terminal when playing Mini Wars with bandit search and Ludii AI:
Code:
at java.base/java.lang.Thread.run(Thread.java:829)
Exception in thread "Thread-395" java.lang.NullPointerException
    at utils.data_structures.transposition_table.TranspositionTable.retrieve(TranspositionTable.java:75)
    at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:483)
    at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:590)
    at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:590)
    at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:590)
    at search.minimax.AlphaBetaSearch.iterativeDeepening(AlphaBetaSearch.java:354)
    at search.minimax.AlphaBetaSearch.selectAction(AlphaBetaSearch.java:228)
    at utils.LudiiAI.selectAction(LudiiAI.java:48)
    at other.ThinkingThread$ThinkingThreadRunnable.run(ThinkingThread.java:188)
    at java.base/java.lang.Thread.run(Thread.java:829)
Exception in thread "Thread-394" java.lang.NullPointerException
    at other.model.AlternatingMove.verifyMoveLegal(AlternatingMove.java:543)
    at other.model.AlternatingMove.checkMoveValid(AlternatingMove.java:659)
    at other.model.AlternatingMove$1.run(AlternatingMove.java:383)
    at other.ThinkingThread$ThinkingThreadRunnable.run(ThinkingThread.java:212)
    at java.base/java.lang.Thread.run(Thread.java:829)



RE: Issue with Yavalath - DennisSoemers - 08-19-2021

The Yavalath crash was because we have features in the metadata (trained for 2-player), so it thinks it can use them for a Biased MCTS, but actually we only have features for players 1 and 2, so in the 3/4-player variants it can't use them. Next version will just switch over to UCT as a fallback in such a case.

Longer loading time is because features for Biased MCTS take time to instantiate. Game should load fast if you don't have Biased MCTS selected as any of the AIs.

I fixed... an issue in Mini Wars. Not one that those stacktraces hint at, no idea what's going on there. But after fixing that I can watch the AIs play and nothing crashes, so I'll assume that's solved too (in next version)