Johannes Merl
b6c1c27224
WIP: lambda Individuuen
2024-02-19 21:56:28 +01:00
Johannes Merl
ba9e3fd86b
gitignore
2024-02-13 10:43:35 +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
7c67ab232b
stack
2024-02-11 21:27:36 +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
5c448dce09
👷 Swap to simpler Nix flake–based environment
2023-04-26 15:40: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
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