diff --git a/exercise_2_es/problem_ackley.ipynb b/exercise_2_es/problem_ackley.ipynb index 40bf1e0..c003f45 100644 --- a/exercise_2_es/problem_ackley.ipynb +++ b/exercise_2_es/problem_ackley.ipynb @@ -194,7 +194,10 @@ "3. How does a large $\\mu$/$\\lambda$ ratio influence the convergence rate?\n", "4. We can also introduce a learning schedule by a decaying mutation rate. At $1.0$ there is no decay. How do different decay rates influence the learning process?\n", "\n", - "-------" + "-------\n", + "\n", + "## **Challenge for motivated students**\n", + "The lecture introduces the concept of co-evolving mutation rates. Can you implement a function `co_evolving_mutation_rate` which implements this concept and integrate it in the evolutionary loop?" ] }, { @@ -232,13 +235,12 @@ "# Evolution\n", "mean_vector = initialise_mean(num_parameters)\n", "\n", - "\n", - "# Control of mutation rate\n", + "# Exponential decaying learning rate\n", + "# works like a learning scheduler\n", "def exp_decay(sigma, sigma_decay, sigma_limit):\n", " sigma = sigma * sigma_decay\n", " return np.max((sigma_limit, sigma))\n", "\n", - "\n", "# Evolutionary loop\n", "for gen in range(num_generations):\n", " population = generate_mutated_offspring(\n",