Skip to content

drossegger/dflat

 
 

Repository files navigation

D-FLAT with Algorithm Selection

1. USAGE

In learner/ you can find tools to "train" D-FLAT. Set parameters, features and training instances in learner/config.xml.
Afterwards run
	learner/dflat-learner.py
This will analyze the features of your instances and compare the runtime of the different portfolios. At the moment D-FLAT supports jumpy, frumpy and crafty. These behave similar to the clasp configurations with the same name.
When you have done enough training run 
	learner/dflat-learner.py --finalize
	to generate and optimize the training files for D-FLAT.

If you run D-FLAT with the option "--portfolio auto" the algorithm selection module of D-FLAT will use the best portfolio based on the training files generated.

2. REQUIREMENTS

Binaries of claspre and gringo need to be in tools/bin for the Feature Extraction to work.

3. FEATURES

At the moment the DecompositionWidth and the number of rules are implemented as features. You can implement your own features by defining a class inherting from FeatureExtractor and afterwards adding an instance in main. However this goes beyond this readme file.

Furthermore the algorithm selector of D-FLAT is currently only able to select the best portfolio based on one feature.

About

Dynamic Programming Framework with Local Execution of ASP on Tree Decompositions

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 63.6%
  • Shell 11.6%
  • TeX 9.3%
  • Python 8.9%
  • Java 5.9%
  • C 0.6%
  • Awk 0.1%