Evolutionary Learning
Machine Learning Pong
A Pong experiment where small neural-network agents compete, accumulate fitness, and evolve through selection and mutation.

Employer signal
What This Project Shows
This project shows experimental thinking: build a simplified environment, define measurable behavior, run many agents, and use instrumentation to decide whether the approach is improving.
Problem
What Needed To Be Solved
A hand-coded Pong paddle can follow the ball, but the more interesting question is whether a controller can discover useful behavior from repeated evaluation rather than fixed rules.
Approach
How I Built The Solution
I built multiple Pong simulations at once, represented each controller as a neural network, scored performance through game events, then generated new populations from stronger agents.
Outcome
What It Demonstrates
The project communicates practical ML curiosity, custom data structures, and an ability to instrument behavior instead of guessing from the animation alone.
Evidence From Source
Source signal
The old source includes `calculate_fitness_deviation()`, `sort_pongs()`, `new_generation_ELITE`, `new_generation_MPROP`, and network mutation logic.
Learning value
The important part is not claiming production ML. It is showing that I can define an experiment and make the feedback loop measurable.