欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Java 解决方案类使用示例

最编程 2024-05-04 20:39:36
...

实例1: apply

import com.github.chen0040.gp.treegp.program.Solution; //导入依赖的package包/类
public static void apply(Solution solution1, Solution solution2, TreeGP manager)
{
   RandEngine randEngine = manager.getRandEngine();

   int tree_count = solution1.getTrees().size();
   for (int i = 0; i < tree_count; ++i)
   {
      if (tree_count > 1 && randEngine.uniform() < 0.5)
      {
         Program temp = solution2.getTrees().get(i);
         solution2.getTrees().set(i, solution1.getTrees().get(i));
         solution1.getTrees().set(i, temp);
      }
      else
      {
         apply(solution1.getTrees().get(i), solution2.getTrees().get(i), manager);
      }

   }

   solution1.invalidateCost();
   solution2.invalidateCost();
}
 

实例2: test_symbolic_regression

import com.github.chen0040.gp.treegp.program.Solution; //导入依赖的package包/类
@Test
public void test_symbolic_regression() {

   List<Observation> data = Tutorials.mexican_hat();
   CollectionUtils.shuffle(data);
   TupleTwo<List<Observation>, List<Observation>> split_data = CollectionUtils.split(data, 0.9);
   List<Observation> trainingData = split_data._1();
   List<Observation> testingData = split_data._2();

   TreeGP tgp = createTreeGP();
   tgp.setDisplayEvery(2);
   Solution program = tgp.fit(trainingData);
   logger.info("global: {}", program.mathExpression());

   test(program, testingData, false);

}
 

实例3: test_symbolic_regression_with_crossover_subtree_no_bias

import com.github.chen0040.gp.treegp.program.Solution; //导入依赖的package包/类
@Test
public void test_symbolic_regression_with_crossover_subtree_no_bias() {

   List<Observation> data = Tutorials.mexican_hat();
   CollectionUtils.shuffle(data);
   TupleTwo<List<Observation>, List<Observation>> split_data = CollectionUtils.split(data, 0.9);
   List<Observation> trainingData = split_data._1();
   List<Observation> testingData = split_data._2();

   TreeGP tgp = createTreeGP();
   tgp.setCrossoverStrategy(TGPCrossoverStrategy.CROSSVOER_SUBTREE_NO_BIAS);

   Solution program = tgp.fit(trainingData);

   test(program, testingData, true);

}
 

推荐阅读