Using Genetic Algorithm for Optimisation

(posting here as it’ll otherwise get buried in oblivion with discord)

I don’t know if genetic algorithms work better for normal optimisation but I can think of one use case. In “Ignore cards reviewed before”, the optimiser by design has to omit all revlogs of a card. But, the metrics can still use the revlogs from after the ICRB date. Using something like a genetic algorithm seems a good way to optimise in such a situation that most reviews are being ignored by optimiser but we can still use them in evaluation.

@Expertium, thoughts?

Genetic algorithms are useful if you can’t use gradient descent, aka if at least one of the following is true:

  1. The loss function is not continuous
  2. The loss function is not differentiable
  3. The parameters are integers or even worse - not numerical

Anyway, I’m not exactly sure what you want to do, so idk how to respond

It’s what @AnkiQueen brought up the other day.

I’ll explain what I thought with the extreme example. As we know, if you don’t introduce any new cards after the date set in Ignore cards reviewed before, the optimiser will fail to work as it requires full review history of card.

The hypothetical user, if she is still reviewing the old cards has reviews we can evaluate parameters against. The idea is we can generate parameters and then test them against that. This is currently not doable if I’m correct.


@vaibhav @L.M.Sherlock thoughts on this?