You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The goal of this feature is to simplify the ChainBasedGenerator class. The problem is that the current implementation can generate layouts for different map descriptions without having to create a new instance of the generator. To support that, the generator provides multiple SomethingCreator() classes that are used to set factories for individual components of the algorithm. This makes the algorithm needlessly complex e.g. because it must have additional generic parameters.
The goal is to make the generator simpler. It will possibly mean that users will have to do more of the work themselves (decomposing graphs, creating configuration spaces, etc.). However, even now, we need factory methods to create an instance of the generator so we may implement something similar with the new algorithm.
The new implementation will be probably specialized on a single map description - we will probably have to create a new generator instance for each map description. But that is something that is already being done for example when benchmarking the library, so it is probably not an issue.
Use case 1
Learning parameters for simulated annealing, like when to restart the current run.
Phase 1
Remove GetLog() from IGeneratorPlanner interface - it can be on the implementation.
Greedily add nodes to the layout insided SimulatedAnnealingEvolver instead of in the generator itself. Think about who needs to make copies of the layout so that nothing important is overwritten.
Change IGeneratorPlanner to work directly with ILayoutEvolver instead of LayoutGeneratorFunction.
Change IGeneratorPlanner to always generate only a single layout.
Remove IGeneratorContext
Maybe add more information to event handlers like OnLayoutPerturbed (number of iterations, etc.)
Phase 2
Remove old interfaces
The text was updated successfully, but these errors were encountered:
The goal of this feature is to simplify the ChainBasedGenerator class. The problem is that the current implementation can generate layouts for different map descriptions without having to create a new instance of the generator. To support that, the generator provides multiple SomethingCreator() classes that are used to set factories for individual components of the algorithm. This makes the algorithm needlessly complex e.g. because it must have additional generic parameters.
The goal is to make the generator simpler. It will possibly mean that users will have to do more of the work themselves (decomposing graphs, creating configuration spaces, etc.). However, even now, we need factory methods to create an instance of the generator so we may implement something similar with the new algorithm.
The new implementation will be probably specialized on a single map description - we will probably have to create a new generator instance for each map description. But that is something that is already being done for example when benchmarking the library, so it is probably not an issue.
Use case 1
Learning parameters for simulated annealing, like when to restart the current run.
Phase 1
Phase 2
The text was updated successfully, but these errors were encountered: