David Pätzel
6e139370a5
Fix solution validity check for seminar problem
...
Invalid solutions where one topic was assigned multiple times were
evaluated as valid; this issue arose whenever there were less students
than topics.
2021-04-27 15:00:44 +02:00
David Pätzel
8c273aa0fa
Automate searching for executable in run script
...
For now, do it relatively unsafe (you may have to delete the
`dist-newstyle` folder and then rebuild if there may be multiple
executables found under `dist-newstyle`—e.g. from different GHC
versions—as this is not handled correctly by the script).
2020-11-09 15:02:39 +01:00
David Pätzel
b4f5810239
Pin nixpkgs
2020-11-09 15:02:19 +01:00
David Pätzel
3800d06d5e
Fix selection method not being selected in Main
2020-05-02 17:47:43 +02:00
David Pätzel
3976e09506
Enable (almost) all GHC warning, fix warnings
2020-05-02 17:42:04 +02:00
David Pätzel
30e6f08e27
Improve a few doc comments
2020-05-02 16:13:18 +02:00
David Pätzel
e346270907
Parametrize selection, add tournament, remove erroneous proportionate
2020-05-02 16:12:31 +02:00
David Pätzel
509e7d0361
Fix population size not being constant
2020-05-02 16:11:28 +02:00
David Pätzel
ec251d05c9
Use nixpkgs master, add ideas/TODOs
2020-04-29 16:05:09 +02:00
David Pätzel
7504c030fc
Bump base version
2020-04-27 15:38:12 +02:00
David Pätzel
1abcdaa454
Update run script
2020-04-27 15:37:41 +02:00
David Pätzel
7a48c1278f
Add length test for GA.bestsBy
2020-01-07 09:17:39 +01:00
David Pätzel
bbddd62c70
Add applicative CLI option parsing
2020-01-07 08:46:04 +01:00
David Pätzel
483e1707c8
Add Szenario191
2020-01-07 07:57:02 +01:00
David Pätzel
9559b7ada6
Add README
2019-10-22 17:08:25 +02:00
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