An evolutionary algorithm library for Dart. It will be used to optimize next trials in adaptive experimentation and can become part of flutter or web projects.

Adaptive Experiments

Whereas static design applies the same procedures for allocating treatments and measuring outcomes throughout the trial, an adaptive design may, based on interim analysis of the trial’s result, change the allocation of subjects to treatment arms or may change the allocation of resources to different outcome measures.

Ordinarily, mid-course changes in experimental design are viewed with skepticism since they open the door to researcher interference in ways that could favor certain results. So, it is recommendable to automate adaptation in ways that lessen the risk of interference and facilitate bias correction at the analysis stage.

Evolutionary Algorithms can robustly work despite the complexity of the task and introduce randomness that is beneficial in apative social research, where participants could exploit strategies of optimization.

Evolutionary Algorithms

Evolution Strategies belong to the family of evolutionary algorithms that address optimization problems by implementing a repeated process of stochastic variations followed by selection: In each iteration (or generation), new candidate solutions (or offspring) are generated from previous candidate solutions (parents), their fitness is evaluated, and the better candidate solutions are selected to become the generators for the next iteration.

Read more about differential evolution on Wikipedia.