Challenges

Featured Challenge:
#183 — Mathematical Marbling

All aboard as I attempt to simulate the artistic process of paper marbling. The algorithm is based on the paper 'Mathematical Marbling' by S. Lu, A. Jaffer, X. Jin, H. Zhao, and X. Mao. The code is written in JavaScript using the p5.js library.

may 02, 2024

Mathematical Marbling

Filter by Language

Pick a language to filter

Filter by Topic

genetic algorithms

In this challenge, I use my JavaScript neural network library and a genetic algorithm to train an agent to play Flappy Bird.

Neuroevolution Flappy Bird

In this multi-part coding challenge, I create a system where autonomous steering agents evolve the behavior of eating food and avoiding poison.

Evolutionary Steering Behaviors

In Part 1 of this multi-part coding challenge, I introduce the classic computer science problem of the Traveling Salesperson (TSP) and discuss the pitfalls with a brute force solution. In Part 2, I discuss Lexicographic Ordering and demonstrate one algorithm to iterate over all the permutations of an array. In Part 3, I apply this algorithm to a brute-force solution of the TSP problem. Every single route permutation is checked one by one. In Part 4, I attempt to create a solution to the TSP problem with a genetic algorithm, and then I add a “crossover” algorithm in Part 5.

Traveling Salesperson

In this coding challenge, I implement a "smart rockets" algorithm (based on a simulation by Jer Thorp).

Smart Rockets in p5.js