<p style="color:#333333;font-family:-apple-system, BlinkMacSystemFont, "font-size:16px;"> Alg-sel is a algorithm selection tool for SAT, MAXSAT, Plan etc. It's based on multi-output regression to predict the runtimes of all algorithms. Compared to single-output learning, the multi-output learning can capture the relationships of the candidate algorithms more directly. </p> <p style="color:#333333;font-family:-apple-system, BlinkMacSystemFont, "font-size:16px;"> Alg-sel contains 3 multi-output learning method </p> <ul style="color:#333333;font-family:-apple-system, BlinkMacSystemFont, "font-size:16px;"> <li> Multi-output regressor stacking. </li> <li> Multi-output extreme randomized trees </li> <li> Combined single- and multi-output trees </li> </ul> <h2 style="color:#333333;font-family:-apple-system, BlinkMacSystemFont, ""> <a id="user-content-demo" class="anchor" href="https://github.com/KaenChan/alg-sel#demo"></a>Demo </h2> <p style="color:#333333;font-family:-apple-system, BlinkMacSystemFont, "font-size:16px;"> run_demo.sh give an example to train the alg-sel model for SAT. More datasets can be found in <a href="http://4c.ucc.ie/~ymalitsky/APBS.html">APBS: Algorithm Portfolio Benchmark Set</a>. </p> <pre>$ ./run_demo.sh input: ./run_demo.sh algtype algtype: 1 | MultiOut-ET 2 | MultiOut-RF 3 | SingleOut-ET 4 | SingleOut-RF 5 | Stacking-ET 6 | Stacking-RF 7 | Combined-ET 8 | Combined-RF</pre> <pre>$ ./run_demo.sh 1 datasets/SAT_2012_seq_all_10fold_f2/fold_1/sat_new_test.features wpms_industrial =========================== train =================================== Main Options: -> Target type 1 -> Num of trees 10 Parsing Data -> Reading Train Features : datasets/SAT_2012_seq_all_10fold_f2/fold_1/sat_new_train.features -> Reading Train Times : datasets/SAT_2012_seq_all_10fold_f2/fold_1/sat_new_train.times Basic Information on Data: --> Number of Algorithms : 72 --> Number of Features : 32 --> Number of Train-Feature-vectors : 5340 --> Number of Train-Time-vectors : 5340 target: y training multi-output ET model is saved in model.pickle Training time: 13.02 =========================== predict ================================= Parsing Data -> Reading Test Features : datasets/SAT_2012_seq_all_10fold_f2/fold_1/sat_new_test.features -> Reading Test Times : datasets/SAT_2012_seq_all_10fold_f2/fold_1/sat_new_test.times Basic Information on Data: --> Number of Algorithms : 72 --> Number of Features : 32 --> Number of Test-Feature-vectors : 594 --> Number of Test-Time-vectors : 594 Main Options: -> Trained model: model.pickle Multi-output ET; ntrees=10 Test-Instances : 594.0 n-Solved : 580.0 Percentage solved : 97.64 Geometric-Mean (shifted by 10) : 18.64 Runtime-Mean : 137.38 Runtime-Mean-On-Solved : 92.42 PAR-1 : 137.38 PAR-5 : 325.93 PAR-10 : 561.62 VBS-Solved : 594.0 VBS-Percentage solved : 100.00 VBS-Mean : 59.16 VBS-Geometric-Mean (shifted by 10) : 10.16 Testing time : 1.79</pre>
alg-sel