Opened 5 months ago

Last modified 2 weeks ago

#2988 new feature request

Models of Models

Reported by: msemenki Owned by: msemenki
Priority: medium Milestone: HeuristicLab 3.3.17
Component: ### Undefined ### Version: branch
Keywords: Cc:


The main idea is to use Simple Symbolic Formulas generated offline with the help of the Fast Function Extraction Algorithm as building blocks for Genetic Programming. A map of building block’s set should be generated by means of clustering. All distances between blocks should be calculated offline by using a special metric for symbolic expressions. A mutation operator in Genetic Programming should be modified for work with this kind of map.

Change History (5)

comment:1 Changed 2 months ago by msemenki

28/03/19 11:22:24 r16722: The first version of GP for Evolvement models of models was added.
The main parts:

  • new symbol and new node type,
  • modified grammars for working with the new symbol,
  • modified interpreter for working with the new symbol (SymbolicDataAnalysisExpressionTreeBatchInterpreter.cs),
  • the first variant of a map (EMMMapTreeModel.cs),
  • clustering algorithm for the map preparation (HeuristicLab.Algorithms.EMM/EMMClustering.cs),
  • a mutation that can use these building blocks (HeuristicLab.Algorithms.EMM/EMMMutators.cs),
  • the common algorithm that uses these stuff (HeuristicLab.Algorithms.EMM/EMMAlgorithm.cs).
Last edited 2 months ago by msemenki (previous) (diff)

comment:2 Changed 2 months ago by msemenki

01/04/19 13:03:13 r16734: Add Model Symbol Frequency Analyzer and Model's Clusters Frequency Analyzer. Fix Bags with Keys. Fix changing during mutation for Variables Types in SubModels. Add the possibility to write and read previously created maps.

Last edited 2 months ago by msemenki (previous) (diff)

comment:3 Changed 2 months ago by msemenki

04/04/19 14:33:12 r16760: Some new features were added:

  • new type of mutation that respect node type and do not change the trigonometric node to "add" node;
  • variation of previous mutation type that does not change the type of terminal node;
  • some interface adjusting for comfort work with the algorithm;
  • the second variant of the map, that is not "island" map but provide "net" map.

comment:4 Changed 6 weeks ago by abeham

  • Milestone changed from HeuristicLab 3.3.16 to HeuristicLab 3.3.17

comment:5 Changed 2 weeks ago by msemenki

06/03/19 14:15:00 r17002 and 05/06/19 14:20:06 r16899:

Class HelpFuction get new static functions that are used in different Map’s classes and possible in other classes.

The branch was adapted to Hive.

A new version of class structure for Maps:

  1. 3 new variants of maps (DistanceMap, RankMap, SuccessMap and ZeroMap) are added;
  2. BaseMap class was modified, some class members were deleted and others were transported to child classes because some of them are not used in all kinds of maps;
  3. Functions between the base class and child class were divided in another way;
  4. Mutation operators were adapted to work with the new class structure. Now mutation make less work for ModelNodes than previously;
  5. ModelNode and Model symbols were simplified. They should not take into account a map type;
  6. Models frequency analyzers were adapted for new variants of maps;
  7. EMMAlgorithm class was adapted to new maps.
Note: See TracTickets for help on using tickets.