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