Commit Graph

24 Commits

Author SHA1 Message Date
Kamil Śliwak
760e7c3cc5 [yul-phaser] Don't return exit code from Phaser::main() and just assume 0 if it does not throw. 2020-03-16 20:32:59 +01:00
Kamil Śliwak
f05a07d0cc [yul-phaser] Create BadInput exception hierarchy and make exceptions used by Phaser more specific 2020-03-16 20:32:59 +01:00
Kamil Śliwak
53803801f7 [yul-phaser] Move handling of boost::program_options::error to the top-level exception handler 2020-03-16 20:32:59 +01:00
Kamil Śliwak
4e90c598b3 [yul-phaser] main: Dealing with uncaught exceptions 2020-03-16 20:32:59 +01:00
Kamil Śliwak
0c1b88508e [yul-phaser] Refactor the code from main into a Phaser class 2020-03-13 11:21:23 +01:00
Kamil Śliwak
3e3887dc9a [yul-phaser] main: Add missing underscores to parameter names 2020-03-13 11:21:23 +01:00
Kamil Śliwak
0fa2aa62b2 [yul-phaser] main: Lower gene mutation chance in GEWEP 2020-03-09 13:21:48 +01:00
cameel
a3e97108c5 [yul-phaser] main: Add GenerationalElitistWithExclusivePools as an option and make it the default 2020-03-09 13:21:48 +01:00
Kamil Śliwak
0c61f6d18f [yul-phaser] main: Command-line option for algorithm selection 2020-03-09 13:21:48 +01:00
Kamil Śliwak
7c7ebbb35f [yul-phaser] main: Rename initializeRNG() to initialiseRNG() 2020-03-09 13:21:48 +01:00
Kamil Śliwak
66d733fbac [yul-phaser] main: Increase the number of chromosomes in the initial population to 20 2020-02-25 16:06:16 +01:00
Kamil Śliwak
3aaca31c31 [yul-phaser] main: Change the number of chromosomes preserved in every round of the algorithm to 1 2020-02-25 16:06:16 +01:00
Kamil Śliwak
4aac7d1673 [yul-phaser] main: Switch from using Population::run() to RandomAlgorithm 2020-02-25 16:06:16 +01:00
Kamil Śliwak
e8192e9aa3 [yul-phaser] main: Set the number of optimisation sequence repetitions to 5 2020-02-19 17:26:34 +01:00
cameel
66fdc1c374 [yul-phaser] Population: Store fitness metric rather than program directly
- In the console app use ProgramSize metric when creating the population.
2020-02-19 17:03:35 +01:00
Kamil Śliwak
806891f494 [yul-phaser] Population: Customizable chromosome length in makeRandom() 2020-02-18 19:40:37 +01:00
Kamil Śliwak
2f67302ffc [yul-phaser] main: Add --seed option 2020-02-16 02:18:21 +01:00
cameel
e4c7b73897 [yul-phaser] Store already loaded program in Population and make copies when computing fitness
- Until now the source code was being parsed during every fitness computation. Now the parsed program is reused and only the optimisation steps are applied each time.
2020-02-06 09:01:10 +01:00
cameel
785f65d0f5 [yul-phaser] Make Program and Population classes accept source code rather than file path
- I need some sample .yul files for testing but I see that existing tests generally have source code hard-coded in them rather than in standalone .yul files. There are lots of .yul files but they seem to be automatically processed by a special test case rather loaded ad-hoc by manually created tests.
- Program and Population required a file name until now. I'm making them accept loaded source code to be able to give them data hard-coded in a test.
2020-02-05 18:13:30 +01:00
cameel
7b7c88ae95 [yul-phaser] Add Population class 2020-02-05 18:13:30 +01:00
cameel
f6d955db0b [yul-phaser] Add Chromosome class 2020-02-05 18:13:30 +01:00
cameel
513d41c315 [yul-phaser] Add Program class 2020-02-05 18:13:30 +01:00
cameel
b75370d93e [yul-phaser] Printing help and accepting input file on the command line 2020-02-05 18:13:30 +01:00
cameel
e7d204383d [yul-phaser] An empty command-line application for the new tool 2020-02-05 18:13:29 +01:00