Johannes Merl
1ae23c20ee
make fitness evaluation pure, speeding the program up by ~10x
2024-02-12 10:36:46 +01:00
Johannes Merl
bcddedabee
update to RVar
2024-02-11 21:25:15 +01:00
David Pätzel
77d29208d2
✨ Add possibility of unassigned topics
2023-04-26 15:47:05 +02:00
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
3976e09506
Enable (almost) all GHC warning, fix warnings
2020-05-02 17:42:04 +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
59b5e4de8b
Rewrite and clean up Seminar module
2019-10-22 06:49:46 +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
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
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