Modified:
/trunk/ai/experiments/src/main/java/org/cspoker/ai/bots/BotRunner.java
/trunk/ai/experiments/src/main/java/org/cspoker/ai/bots/listener/CSVLogListener.java
/trunk/ai/opponentmodels/weka/src/main/java/org/cspoker/ai/opponentmodels/weka/ARFFFile.java
/trunk/ai/opponentmodels/weka/src/main/java/org/cspoker/ai/opponentmodels/weka/WekaOptions.java
=======================================
--- /trunk/ai/experiments/src/main/java/org/cspoker/ai/bots/BotRunner.java
Tue Aug 17 17:15:33 2010
+++ /trunk/ai/experiments/src/main/java/org/cspoker/ai/bots/BotRunner.java
Sat Aug 21 03:01:53 2010
@@ -68,8 +68,8 @@
private static final TableConfiguration config = new
TableConfiguration(100,
0, false, true, true,0);
- public static final int nbGamesPerConfrontation = 2001;
- public static final int reportInterval = 1;
+ public static final int nbGamesPerConfrontation = 10000;
+ public static final int reportInterval = 2;
public final int nbExperiments = 1;
public static int currentExperiment = 1;
@@ -107,7 +107,7 @@
public static void create(RemoteCSPokerServer cspokerServer) {
kullbackLeibler = new KullbackLeiblerListener(reportInterval);
// new BotRunner(cspokerServer, "bucketSampler0.01VsRulebots");
- new BotRunner(cspokerServer, "test", getBots());
+ new BotRunner(cspokerServer, "MCTSBOTvsMCTSBOT10000", getBots());
}
public static BotFactory[] getBots() {
@@ -124,8 +124,9 @@
WekaOptions configPersist = new WekaOptions();
configPersist.setContinuousLearning(true);
- configPersist.setModelCreationTreshold(800);
+ configPersist.setModelCreationTreshold(8000);
configPersist.setContinueAfterCreation(false);
+ configPersist.setSolveConceptDrift(false);
Sampler s = new BucketSampler(0.01);
// Sampler s = new StochasticUniversalSampler(9);
@@ -133,7 +134,7 @@
// Sampler s = new RandomSampler(9);
return new BotFactory[] {
- new AlternatingBotFactory("AlternatingBot"), // 62% precision, 71%
accuracy
+// new AlternatingBotFactory("AlternatingBot", 2000),
// new CallBotFactory("CallBot"), // 62% precision, 71% accuracy
// new CardBotFactory("CardBot"), // 60% precision, 71% accuracy
// new HandBotFactory("HandBot"), // 41% accuracy
@@ -150,17 +151,17 @@
// new MaxDistributionPlusBackPropStrategy.Factory()
// ),s,
// 200,500,1000,3000),
-// new MCTSBotFactory("MCTSBot NO LEARNING",
-// WekaRegressionModelFactory.createForZip(
-// "org/cspoker/ai/opponentmodels/weka/models/model1.zip",
configNoPersist),
-// new SamplingToFunctionSelector(50,new UCTSelector(2000)),
-// new SamplingSelector(),
-// new MaxValueSelector(),
-// new MCTSShowdownRollOutNode.Factory(),
-// new SampleWeightedBackPropStrategy.Factory(),
-// s,
-// 500
-// ),
+ new MCTSBotFactory("MCTSBot NO LEARNING",
+ WekaRegressionModelFactory.createForZip(
+ "org/cspoker/ai/opponentmodels/weka/models/model1.zip",
configNoPersist),
+ new SamplingToFunctionSelector(50,new UCTSelector(2000)),
+ new SamplingSelector(),
+ new MaxValueSelector(),
+ new MCTSShowdownRollOutNode.Factory(),
+ new SampleWeightedBackPropStrategy.Factory(),
+ s,
+ 500
+ ),
new MCTSBotFactory("MCTSBot",
WekaRegressionModelFactory.createForZip(
"org/cspoker/ai/opponentmodels/weka/models/model1.zip",
configPersist/*, kullbackLeibler*/),
@@ -170,7 +171,7 @@
new MCTSShowdownRollOutNode.Factory(),
new SampleWeightedBackPropStrategy.Factory(),
s,
- 250
+ 500
),
// new SearchBotFactory( // 42,5% accuracy
//
WekaRegressionModelFactory.createForZip("org/cspoker/ai/opponentmodels/weka/models/model1.zip",
configNoPersist),
=======================================
---
/trunk/ai/experiments/src/main/java/org/cspoker/ai/bots/listener/CSVLogListener.java
Tue Aug 17 11:28:01 2010
+++
/trunk/ai/experiments/src/main/java/org/cspoker/ai/bots/listener/CSVLogListener.java
Sat Aug 21 03:01:53 2010
@@ -64,8 +64,8 @@
if (deals == 1)
overallStartTime = startTime;
if (startTime > 0) {
-// logger.info("deal #" + deals + " at " + reportInterval * 1000.0
-// / (nowTime - startTime) + " games/s");
+ logger.info("deal #" + deals + " at " + reportInterval * 1000.0
+ / (nowTime - startTime) + " games/s");
try {
file.write(deals+"");
} catch (IOException e) {
=======================================
---
/trunk/ai/opponentmodels/weka/src/main/java/org/cspoker/ai/opponentmodels/weka/ARFFFile.java
Wed Aug 18 09:44:56 2010
+++
/trunk/ai/opponentmodels/weka/src/main/java/org/cspoker/ai/opponentmodels/weka/ARFFFile.java
Sat Aug 21 03:01:53 2010
@@ -136,7 +136,7 @@
(trueNegative + truePositive + falseNegative + falsePositive);
}
- private final int MAX_DECREASE = 10;
+ private final int MAX_DECREASE = 20;
private double[] accuracies = new double[MAX_DECREASE];
private int currentDecrease = 0;
=======================================
---
/trunk/ai/opponentmodels/weka/src/main/java/org/cspoker/ai/opponentmodels/weka/WekaOptions.java
Wed Aug 18 09:44:56 2010
+++
/trunk/ai/opponentmodels/weka/src/main/java/org/cspoker/ai/opponentmodels/weka/WekaOptions.java
Sat Aug 21 03:01:53 2010
@@ -15,7 +15,7 @@
private boolean solveConceptDrift = true;
private double cdHighCoverage = 50;
private double cdLowCoverage = 1;
- private double cdAccuracy = 0.7;
+ private double cdAccuracy = 0.8;
/** if solveConceptDrift is false, a new model must be learned at
intervals
* based on the number of reported actions */
private long learningInterval = 1;