# 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.

- Skill: `ecnu-icalk/genetic-algorithm-for-rastrigin-function-beginner-python` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/genetic-algorithm-for-rastrigin-function-beginner-python`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/genetic-algorithm-for-rastrigin-function-beginner-python/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/genetic-algorithm-for-rastrigin-function-beginner-python

---


# 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

