add cheat/honest version of MTDF

master
melvinzhang 2015-02-21 12:39:22 +08:00
parent 38b9d50dab
commit c526c22fc9
2 changed files with 11 additions and 2 deletions

View File

@ -16,7 +16,12 @@ import java.util.List;
*/
public class MTDF implements MagicAI {
private final boolean CHEAT;
private final Map<Long,TTEntry> table = new HashMap<>();
public MTDF(final boolean aCheat) {
CHEAT = aCheat;
}
public Object[] findNextEventChoiceResults(final MagicGame sourceGame, final MagicPlayer scorePlayer) {
final int artificialLevel = sourceGame.getArtificialLevel(scorePlayer.getIndex());
@ -25,7 +30,10 @@ public class MTDF implements MagicAI {
final MagicGame root = new MagicGame(sourceGame, scorePlayer);
//root.setMainPhases(artificialLevel);
//root.setFastChoices(true);
if (!CHEAT) {
root.hideHiddenCards();
}
final MagicEvent event = root.getNextEvent();
final List<Object[]> choices = event.getArtificialChoiceResults(root);

View File

@ -7,7 +7,8 @@ public enum MagicAIImpl {
MCTSC("monte carlo tree search (cheat)", new MCTSAI(true)),
VEGAS("vegas", new VegasAI(false)),
VEGASC("vegas (cheat)", new VegasAI(true)),
MTDF("mtd(f)", new MTDF()),
MTDF("mtd(f)", new MTDF(false)),
MTDFC("mtd(f) (cheat)", new MTDF(true)),
MMABFast("minimax (deck strength)", magic.ai.MMAB.DeckStrAI()),