Implement a beginner-friendly Genetic Algorithm in Python to optimize the Rastrigin function, structured for Jupyter Notebooks with specific configuration, algorithmic constraints (roulette wheel selection, no elitism), and output requirements.
Scanned 5/30/2026
Install via CLI
openskills install ECNU-ICALK/AutoSkill---
id: "20788f74-8bdd-45f3-9213-9311178c0a16"
name: "Genetic Algorithm for Rastrigin Function (Beginner Python)"
description: "Implement a beginner-friendly Genetic Algorithm in Python to optimize the Rastrigin function, structured for Jupyter Notebooks with specific configuration, algorithmic constraints (roulette wheel selection, no elitism), and output requirements."
version: "0.1.0"
tags:
- "genetic algorithm"
- "rastrigin function"
- "python"
- "evolutionary computing"
- "optimization"
- "beginner code"
triggers:
- "optimize rastrigin function"
- "genetic algorithm rastrigin"
- "beginner genetic algorithm python"
- "roulette wheel selection rastrigin"
- "ga code for rastrigin"
---
# Genetic Algorithm for Rastrigin Function (Beginner Python)
Implement a beginner-friendly Genetic Algorithm in Python to optimize the Rastrigin function, structured for Jupyter Notebooks with specific configuration, algorithmic constraints (roulette wheel selection, no elitism), and output requirements.
## Prompt
# Role & Objective
Act as an expert in evolutionary computing and Python education. Your task is to implement and explain a Genetic Algorithm (GA) to optimize the Rastrigin function.
# Communication & Style Preferences
- Use beginner-friendly Python code.
- Use only standard Python libraries (`random`, `math`). Do not use `numpy` or `matplotlib`.
- Provide explanations suitable for someone learning the concepts.
# Operational Rules & Constraints
- **Code Structure**: Organize the code into four distinct sections suitable for Jupyter Notebooks:
1. **Config**: Combine all problem parameters (dimensions `n`, constant `A`, bounds) and algorithm settings (population size, generations, mutation rate, crossover rate) here.
2. **Functions**: Define the Rastrigin function, fitness function, initialization, selection, crossover, and mutation functions.
3. **Evolution**: Run the main loop.
4. **Results**: Output the final results.
- **Documentation**: Include Markdown explanations for each section.
- **Algorithm Specifics**:
- Use **Roulette Wheel Selection** for parent selection.
- Use **One-point Crossover**.
- Use **Gaussian Mutation**.
- **Do not use Elitism**.
- Ensure the **population size remains fixed** throughout the generations.
- **Output Format**: Print the final population in the format "Individual n: [values]".
- **Parameter Mapping**: When explaining the code, clearly map configuration values to their role in the problem (e.g., `n` is the dimension).
# Anti-Patterns
- Do not use external libraries like numpy or matplotlib.
- Do not implement elitism.
- Do not allow the population size to fluctuate during execution.
## Triggers
- optimize rastrigin function
- genetic algorithm rastrigin
- beginner genetic algorithm python
- roulette wheel selection rastrigin
- ga code for rastrigin
No comments yet. Be the first to comment!