Commit Graph

54 Commits

Author SHA1 Message Date
Johannes Merl
f42ab3c00f add missing 2024-04-21 13:24:39 +02:00
Johannes Merl
0862943ebc sbatch 2024-04-21 13:22:14 +02:00
Johannes Merl
8432103a18 finish German 2024-04-16 11:47:22 +02:00
Johannes Merl
4286ee36d9 iris ready 2024-03-17 18:14:52 +01:00
Johannes Merl
f891229937 template 2024-03-11 11:03:38 +01:00
Johannes Merl
4d40050f1a split of dataset 2024-03-11 11:00:11 +01:00
Johannes Merl
f79355e4c1 cleanup 2024-03-10 11:43:22 +01:00
Johannes Merl
6435f4aca2 implement Iris dataset 2024-03-04 11:36:31 +01:00
Johannes Merl
57cf1452bf cleanup 2024-02-27 18:53:43 +01:00
Johannes Merl
233bc40a51 restructuring done 2024-02-27 13:20:33 +01:00
Johannes Merl
a4012804fb WIP evaluation of Lamda Individuals 2024-02-26 13:28:51 +01:00
Johannes Merl
aea502ad64 crossover1 WIP 2024-02-23 17:13:07 +01:00
Johannes Merl
a470fcc997 working generation of Lamda Individuals! \o/ 2024-02-21 20:10:39 +01:00
Johannes Merl
b6c1c27224 WIP: lambda Individuuen 2024-02-19 21:56:28 +01:00
Johannes Merl
0f428bea16 invent proper enviroment type for individual generation 2024-02-12 23:38:27 +01:00
Johannes Merl
62cf1acc6d prevent duplicate sample of next generation 2024-02-12 15:40:35 +01:00
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
da5fc31ab8 🎨 Reformat modules with new ormolu defaults 2023-04-26 15:46:30 +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
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
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
281acc0b88 Improve documentation of GA module slightly 2019-10-22 17:02: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
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
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
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