Commit Graph

32 Commits

Author SHA1 Message Date
David Pätzel
281acc0b88 Improve documentation of GA module slightly 2019-10-22 17:02:04 +02:00
David Pätzel
c015424429 Fix project name in .nix files 2019-10-22 16:53:50 +02:00
David Pätzel
9866603dbe Add pre-commit hook that enforces ormolu formatting 2019-10-22 16:42:16 +02:00
David Pätzel
c5dca4b33a Add ./run script for getting live gnuplot graphs 2019-10-22 16:38:24 +02:00
David Pätzel
f976d32f38 Add Org file 2019-10-22 16:36:45 +02:00
David Pätzel
69d176cbfb Rename to haga 2019-10-22 16:33:02 +02:00
David Pätzel
bcf11d61e1 Implement bestsBy properly
Only needs something in O(n) now instead of a lot more. Also, returns the
complement.
2019-10-22 14:33:19 +02:00
David Pätzel
0044b6cc18 Revert Population to type alias (instead of newtype) 2019-10-22 14:32:36 +02:00
David Pätzel
84c876f1b5 Add basis for tests to GA module 2019-10-22 08:18:34 +02:00
David Pätzel
db55ec0716 Clean up comments and TODOs in GA module 2019-10-22 07:10:28 +02:00
David Pätzel
43071b9b1e Remove unnecessary 'ga'' function 2019-10-22 07:09:17 +02:00
David Pätzel
3c45c206fc Fix floating point precision problems in GA.worst
By using negate instead of (1 /).
2019-10-22 07:08:37 +02:00
David Pätzel
939502e511 Add TODOs and comments about shuffle 2019-10-22 06:53:53 +02:00
David Pätzel
59b5e4de8b Rewrite and clean up Seminar module 2019-10-22 06:49:46 +02:00
David Pätzel
a702bb6431 Enhance release.nix format 2019-10-19 20:03:40 +02:00
David Pätzel
2a9459f226 Use noDupsList generator for more tests 2019-10-19 15:57:55 +02:00
David Pätzel
36999532c2 Fix Seminar.switch bug if (i' == j') 2019-10-19 15:56:44 +02:00
David Pätzel
3c1a1a9be6 Rewrite 'Seminar.valid' check with tests 2019-10-19 15:50:02 +02:00
David Pätzel
c8af014976 Setup QuickCheck testing 2019-10-18 23:20:19 +02:00
David Pätzel
e0b5de5a7f Update cabal description, add extra package etc. 2019-10-18 23:15:54 +02:00
David Pätzel
73c62b0a8f Add better default priorities and fitness
By not having too large default priorities, the GA seems to be more stable.
Instead of inverting the relation induced by fitness using `(1 /)`, we use
`negate` to get more numerical stability (or in this case, less instability
introduced by floating point precision problems).
2019-10-18 13:47:03 +02:00
David Pätzel
ec84f84aa8 Add 1-elitism as (unchangeable, for now) default 2019-10-18 13:43:18 +02:00
David Pätzel
958bbf25b7 Add primitive iteration count CLI argument 2019-10-18 13:37:16 +02:00
David Pätzel
303120f54a Fix result extraction 2019-10-18 13:36:59 +02:00
David Pätzel
6c41743dbd Divide step and run, add progress support via pipes 2019-10-18 09:57:43 +02:00
David Pätzel
531cb74aac Rename Topic to T, fix T Eq instance, fix fitness calculation 2019-10-18 09:10:11 +02:00
David Pätzel
5f4e212414 Add Seminar module draft and SS19 example 2019-10-17 19:50:39 +02:00
David Pätzel
49b105f42a Cleanup existing GA code 2019-10-17 18:23:19 +02:00
David Pätzel
296b2e218c Add executable to package definition 2019-10-17 17:25:58 +02:00
David Pätzel
1d62a5cbea Correct package name, add draft for GA module 2019-10-17 17:25:25 +02:00
David Pätzel
6ab1a2acba Add Pretty class 2019-05-30 12:40:47 +02:00
David Pätzel
2929bc7e92 Initialize project 2019-05-30 12:40:32 +02:00