Exemple #1
0
        public void Test_Ocp2()
        {
            var testParams = new GameDefParams(this, "ocp2.gamedef.xml",
                                               0.001);

            SolveAndVerifyVerifySolution(testParams, false, false, new int[] { 100, -1 }, null);
        }
Exemple #2
0
        public void Test_LeducHeRb()
        {
            var testParams = new GameDefParams(this, "leduc-he-rb.gamedef.xml",
                                               _isDebug ? 0.01 : 0.003);

            SolveAndVerifyVerifySolution(testParams, false, false, new int[] { 100, -1 }, null);
        }
Exemple #3
0
        public void Test_MicorFl()
        {
            var testParams = new GameDefParams(this, "micro-fl.gamedef.xml",
                                               _isDebug ? 0.01 : 0.005);

            SolveAndVerifyVerifySolution(testParams, false, false, new int[] { 100, -1 }, null);
        }
Exemple #4
0
 public void Test_LeducHeRb()
 {
     var testParams = new GameDefParams(this, "leduc-he-rb.gamedef.xml",
                                        new string[] { "eq-LeducHeRb-0-s.xml", "eq-LeducHeRb-1-s.xml" },
                                        new double[] { -0.00464121889644268, 0.00464121889644268 },
                                        0.000000000005);
     GameValue gv = Solve(testParams, false, s => { s.PrepareVis = false; });
 }
Exemple #5
0
 public void Test_MiniFl()
 {
     var testParams = new GameDefParams(this, "mini-fl.gamedef.xml",
                                        new string[] { "eq-MiniFl-0-s.xml", "eq-MiniFl-1-s.xml" },
                                        new double[] { 0.0277777777778998, -0.0277777777778998 },
                                        0.0000000000005);
     GameValue gv = Solve(testParams, true, s => { s.PrepareVis = true; });
 }
Exemple #6
0
 public void Test_LeducHe()
 {
     var testParams = new GameDefParams(this, "leduc-he.gamedef.xml",
                                        new string[] { "eq-LeducHe-0-s.xml", "eq-LeducHe-1-s.xml" },
                                        new double[] { -0.0428032120390257, 0.0428032120390257 },
                                        0.000000000005);
     GameValue gv = Solve(testParams, false, s => { s.PrepareVis = false; });
 }
Exemple #7
0
        public void Test_LeducHe()
        {
            var testParams = new GameDefParams(this, "leduc-he.gamedef.xml",
                                               new double[] { -0.0428032120390257, 0.0428032120390257 },
                                               0.000000000005);

            Solve(testParams, false, null);
        }
Exemple #8
0
        public void Test_Kuhn2()
        {
            var testParams = new GameDefParams(this, "kuhn2.gamedef.xml",
                                               new double[] { -1.0 / 18, 1.0 / 18 },
                                               0.0000000000005);

            Solve(testParams, false, null);
        }
Exemple #9
0
        public void Test_LeducHeRb()
        {
            var testParams = new GameDefParams(this, "leduc-he-rb.gamedef.xml",
                                               new double[] { -0.00464121889644268, 0.00464121889644268 },
                                               0.000000000005);

            Solve(testParams, false, null);
        }
Exemple #10
0
        public void Test_Ocp()
        {
            var testParams = new GameDefParams(this, "ocp.gamedef.xml",
                                               new double[] { -0.0641025641026934, 0.0641025641026934 },
                                               0.000000000005);

            Solve(testParams, false, null);
        }
Exemple #11
0
        public void Test_Ocp2()
        {
            var testParams = new GameDefParams(this, "ocp2.gamedef.xml",
                                               new double[] { -0.0394736842106944, 0.0394736842106944 },
                                               0.000000000005);

            Solve(testParams, false, null);
        }
Exemple #12
0
        public void Test_MicorFl()
        {
            var testParams = new GameDefParams(this, "micro-fl.gamedef.xml",
                                               new double[] { -1.0 / 18, 1.0 / 18 },
                                               0.000000000005);

            Solve(testParams, false, null);
        }
Exemple #13
0
        public void Test_MiniFl()
        {
            var testParams = new GameDefParams(this, "mini-fl.gamedef.xml",
                                               new double[] { 0.0277777777778998, -0.0277777777778998 },
                                               0.000000000005);

            Solve(testParams, false, null);
        }
Exemple #14
0
 public void Test_Ocp2()
 {
     var testParams = new GameDefParams(this, "ocp2.gamedef.xml",
                                        new string[] { "eq-OneCardPoker2-0-s.xml", "eq-OneCardPoker2-1-s.xml" },
                                        new double[] { -0.0394736842106944, 0.0394736842106944 },
                                        0.0000000000005);
     GameValue gv = Solve(testParams, false, s => { s.PrepareVis = false; });
 }
Exemple #15
0
 public void Test_Ocp()
 {
     var testParams = new GameDefParams(this, "ocp.gamedef.xml",
                                        new string[] { "eq-OneCardPoker-0-s.xml", "eq-OneCardPoker-1-s.xml" },
                                        new double[] { -0.0641025641026934, 0.0641025641026934 },
                                        0.0000000000005);
     GameValue gv = Solve(testParams, false, s => { s.PrepareVis = false; });
 }
Exemple #16
0
 public void Test_Kuhn2()
 {
     var testParams = new GameDefParams(this, "kuhn2.gamedef.xml",
                                        new string[] { "eq-KunhPoker2-0-s.xml", "eq-KunhPoker2-1-s.xml" },
                                        new double[] { -1.0 / 18, 1.0 / 18 },
                                        0.00000000000000001);
     GameValue gv = Solve(testParams, false, null);
 }
Exemple #17
0
        public void Test_Ocp2()
        {
            var testParams = new GameDefParams(this, "ocp2.gamedef.xml",
                                               new string[] { "eq-OneCardPoker2-0-s.xml", "eq-OneCardPoker2-1-s.xml" },
                                               new double[] { -0.0394736842106944, 0.0394736842106944 },
                                               0.000000000005);

            Solve(testParams, false, null);
        }
Exemple #18
0
        public void Test_Ocp()
        {
            var testParams = new GameDefParams(this, "ocp.gamedef.xml",
                                               new string[] { "eq-OneCardPoker-0-s.xml", "eq-OneCardPoker-1-s.xml" },
                                               new double[] { -0.0641025641026934, 0.0641025641026934 },
                                               0.000000000005);

            Solve(testParams, false, null);
        }
Exemple #19
0
        public void Test_Kuhn()
        {
            var testParams = new GameDefParams(this, "kuhn.gamedef.xml",
                                               new double[] { -1.0 / 18, 1.0 / 18 },
                                               0.0000000000005);

            Solve(testParams, false, null);
            //solver.PrintCPLEX(Console.Out);
        }
Exemple #20
0
        public void Test_MicorFl()
        {
            var testParams = new GameDefParams(this, "micro-fl.gamedef.xml",
                                               new string[] { "eq-MicroFl-0-s.xml", "eq-MicroFl-1-s.xml" },
                                               new double[] { -1.0 / 18, 1.0 / 18 },
                                               0.0000000000005);

            GameValue gv = Solve(testParams, false, s => { s.PrepareVis = false; });
        }
Exemple #21
0
 public void Test_Kuhn()
 {
     var testParams = new GameDefParams(this, "kuhn.gamedef.xml",
                                        new string[] { "eq-KunhPoker-0-s.xml", "eq-KunhPoker-1-s.xml" },
                                        new double[] { -1.0 / 18, 1.0 / 18 },
                                        0);
     // Set PrepareVis to true on purpose, to let it run too.
     GameValue gv = Solve(testParams, false, s => { s.PrepareVis = true; });
     //GameValue.Vis.Show(gv, 0, Path.Combine(_outDir, "KuhnPoker-values-0.gv"));
 }
Exemple #22
0
        public void Test_Kuhn()
        {
            var testParams = new GameDefParams(this, "kuhn.gamedef.xml",
                                               new string[] { "eq-KunhPoker-0-s.xml", "eq-KunhPoker-1-s.xml" },
                                               new double[] { -1.0 / 18, 1.0 / 18 },
                                               0.0000000000005);

            // Set PrepareVis to true on purpose, to let it run too.
            Solve(testParams, false, s => { s.PrepareVis = true; });
        }
Exemple #23
0
        public void Test_Kuhn()
        {
            var testParams = new GameDefParams(this, "kuhn.gamedef.xml", 0.001);

            SolveAndVerifyVerifySolution(testParams, true, false,
                                         new int[] { 100, -1 },
                                         s =>
            {
                s.IsVerbose           = true;
                s.EpsilonLogThreshold = 0;
                s.IterationVerbosity  = 1000;
                //s.MaxIterationCount = 2000;
                s.ThreadsCount = 0;       // Test single-threaded variant.
            });
        }
Exemple #24
0
        public void Test_MiniFl()
        {
            var testParams = new GameDefParams(this, "mini-fl.gamedef.xml",
                                               0.001);

            // Use a big iteration count for the snapshot, it is a good test for
            // initial setting of varless nodes.
            SolveAndVerifyVerifySolution(testParams, true, false, new int[] { 30000, -1 },
                                         s =>
            {
                s.IsVerbose           = true;
                s.EpsilonLogThreshold = 0;
                s.IterationVerbosity  = 10000;
                //s.MaxIterationCount = 2;
            });
        }
Exemple #25
0
        public void Test_LeducHe()
        {
            var testParams = new GameDefParams(this, "leduc-he.gamedef.xml",
                                               _isDebug ? 0.01 : 0.002);

            SolveAndVerifyVerifySolution(testParams, true, false,
                                         //new int[] { -1 },
                                         new int[] { 5000, -1 },
                                         s =>
            {
                s.IsVerbose           = true;                                 // Test verbosity too.
                s.EpsilonLogThreshold = 0;
                s.IterationVerbosity  = 10000;
                // s.ThreadsCount = 7;
                //s.MaxIterationCount = 320;
            });
        }
Exemple #26
0
        public void Test_Multithreaded_LeducHe()
        {
            bool isVerbose = false;

            var testParams = new GameDefParams(this, "leduc-he.gamedef.xml",
                                               0.002);

            StrategyTree[] treesSt = RunFictPlay(testParams, false, false, new int[] { 10000, -1 },
                                                 s => { s.IsVerbose = isVerbose; s.ThreadsCount = 0; });
            StrategyTree[] treesMt = RunFictPlay(testParams, false, false, new int[] { 10000, -1 },
                                                 s => { s.IsVerbose = isVerbose; s.ThreadsCount = 7; });
            for (int p = 0; p < testParams.GameDef.MinPlayers; ++p)
            {
                CompareStrategyTrees cmp = new CompareStrategyTrees {
                    IsVerbose = isVerbose
                };
                cmp.Compare(treesSt[p], treesMt[p]);
                Assert.AreEqual(new double[] { 0, 0 }, cmp.SumProbabDiff);
            }
        }
Exemple #27
0
        public void Test_Snapshot_Kuhn()
        {
            bool isVerbose  = false;
            var  testParams = new GameDefParams(this, "kuhn.gamedef.xml",
                                                0.001);

            testParams.Name = "Kunh-NoSh";
            StrategyTree[] trees = RunFictPlay(testParams, false, false, new int[] { -1 },
                                               s => { s.IsVerbose = isVerbose; s.ThreadsCount = 0; });
            testParams.Name = "Kunh-Sh";
            StrategyTree[] treesSn = RunFictPlay(testParams, false, false, new int[] { 400, -1 },
                                                 s => { s.IsVerbose = isVerbose; s.ThreadsCount = 0; });
            for (int p = 0; p < testParams.GameDef.MinPlayers; ++p)
            {
                CompareStrategyTrees cmp = new CompareStrategyTrees {
                    IsVerbose = isVerbose
                };
                cmp.Compare(trees[p], treesSn[p]);
                Assert.AreEqual(new double[] { 0, 0 }, cmp.SumProbabDiff);
            }
        }
Exemple #28
0
        public void Test_Snapshot_MiniFl()
        {
            bool isVerbose = false;

            var testParams = new GameDefParams(this, "mini-fl.gamedef.xml",
                                               0.001);

            // Use a big iteration count for the snapshot, it is a good test for
            // initial setting of varless nodes.
            StrategyTree[] trees = RunFictPlay(testParams, false, false, new int[] { -1 },
                                               s => { s.IsVerbose = isVerbose; s.ThreadsCount = 0; });
            StrategyTree[] treesSn = RunFictPlay(testParams, false, false, new int[] { 10000, -1 },
                                                 s => { s.IsVerbose = isVerbose; s.ThreadsCount = 0; });
            for (int p = 0; p < testParams.GameDef.MinPlayers; ++p)
            {
                CompareStrategyTrees cmp = new CompareStrategyTrees {
                    IsVerbose = isVerbose
                };
                cmp.Compare(trees[p], treesSn[p]);
                Assert.AreEqual(new double[] { 0, 0 }, cmp.SumProbabDiff);
            }
        }