Day 14 is here and marks the end of Week 2!
Let’s have some fun: evolving a C# Genetic Algorithm to crack the "Hello World" puzzle.
It’s survival of the fittest… for strings!
Watch your code figure it out on its own.
Day 14 is here and marks the end of Week 2!
Let’s have some fun: evolving a C# Genetic Algorithm to crack the "Hello World" puzzle.
It’s survival of the fittest… for strings!
Watch your code figure it out on its own.
Day 13 of the Genetic Algorithms Bootcamp is live!
Today, we’re configuring the GA loop in C#
Generations, population size, mutation rate… time to fine-tune your evolution machine.
https://www.woodruff.dev/day-13-configuring-the-genetic-algorithm-loop/
Day 12 of the Genetic Algorithms Bootcamp is live!
Today’s topic: Elitism
Keep your best solutions safe and evolving strong.
Survival of the fittest, in C#
https://www.woodruff.dev/day-12-genetic-algorithms-elitism-for-evolution-survival-of-the-fittest/
Day 11 of the Genetic Algorithms Bootcamp is here!
Today, we’re implementing a mutation operator in C#.
Learn how to add just the right amount of randomness to keep your GA evolving!
https://www.woodruff.dev/day-11-implementing-a-c-mutation-operator-for-genetic-algorithms/
Day 10 of the Genetic Algorithms Bootcamp is live!
Today we're talking mutation.
It's the tiny change that keeps your GA from getting stuck. Learn how to add it in C#!
https://www.woodruff.dev/day-10-mutation-matters-in-c-genetic-algorithms/
Day 9 of the C# Genetic Algorithms Bootcamp is live!
Today, we explore Uniform Crossover.
Each gene gets a coin flip to build more diverse offspring in your C# GA
https://www.woodruff.dev/day-9-using-genetic-algorithms-uniform-crossover-in-c/
The second week and Day 8 of the Genetic Algorithms Bootcamp is live!
Today, we’re diving into crossover.
One-point or two-point? Learn how mixing parent solutions boosts genetic diversity.
https://www.woodruff.dev/day-8-one-point-or-two-how-crossover-shapes-genetic-diversity/
Day 7 is live, and Week 1 is complete!
Today we simulate your first GA cycle in .NET
Population, fitness, selection… it all comes together
https://www.woodruff.dev/day-7-putting-it-together-simulating-your-first-ga-cycle-in-net/
Week 2 starts June 16!
Day 6 of the Genetic Algorithms Bootcamp for C# devs is live!
Today, we explore selection strategies.
Roulette? Tournament? Elitism?
Let’s decide who gets to evolve!
https://www.woodruff.dev/day-6-roulette-tournaments-and-elites-exploring-selection-strategies/
Day 5 of the Genetic Algorithms Bootcamp for C# devs is live!
Today, we’re building fitness functions.
Teach your code how to evaluate solutions and evolve the best ones.
https://www.woodruff.dev/day-5-natural-selection-in-software-implementing-fitness-functions/
Day 4 of the Genetic Algorithms Bootcamp for C# devs is live!
Today, we’re designing your very first Chromosome class in C#
This is the backbone of evolution in code. Let’s get hands-on!
https://www.woodruff.dev/day-4-designing-your-first-chromosome-class-in-c/
Day 3 of the Genetic Algorithms Bootcamp for C# devs is live!
Today we’re mapping chromosomes, genes, and DNA… in code
Learn how evolution’s building blocks shape your app’s logic.
https://www.woodruff.dev/day-3-understanding-chromosomes-genes-and-dna-in-code/
Day 2 of my Genetic Algorithms Bootcamp for C# devs is live!
Today we’re breaking down the core concepts: chromosomes, genes, populations, and more. Code that evolves? Yes please.
https://www.woodruff.dev/day-2-evolution-in-code-the-core-concepts/
Day 1 of my Genetic Algorithms Bootcamp for C# devs is live!
Why should you care about evolution in your code? Because survival of the fittest isn't just for biology.
Learn more: https://www.woodruff.dev/day-1-the-survival-of-the-fittest-code-why-learn-genetic-algorithms-in-c/
New blog series!
Evolve Your C# Code with AI starts June 2.
Learn how to build Genetic Algorithms in C# over 5 weeks — practical, testable, and powerful.
https://woodruff.dev/evolve-your-c-code-with-ai-a-5-week-genetic-algorithms-bootcamp-for-developers/
@skryking Isn't that kinda how #AlphaEvolve by #GoogleDeepmind works? (Except that Alpha Evolve has a fully automated feedback loop, so you kinda have #geneticAlgorithms on steorids. And of course, the testing aspect in either case wouldn't be #canonTDD https://tidyfirst.substack.com/p/canon-tdd but #bigTestUpfront.)
Via the @ataripodcast: in a 25-minute video, Jean Michel Sellier, Research Assistant Professor at Purdue University, demonstrates the use of an #Atari800XL to train a neural network using a genetic algorithm instead of the memory-hungry technique of gradient descent.
https://hackaday.com/2025/02/21/genetic-algorithm-runs-on-atari-800-xl/
I've had a soft spot for Artificial Life for a long time. During the last AI Winter in the mid 1990s, I was spurred to get back into education and onto a career in commercial software development by Stephen Levy's book "Artificial Life: The Quest for a New Creation". I loved that Artificial Life researchers borrowed well-understood mechanisms from genetics and implemented them in software to converge iteratively on solutions, in contrast to AI research, which was attempting to build models of categories which were not understood at all (and largely still aren't) - intelligence (whatever that is) and perception.
In subsequent years I wondered why I wasn't hearing any hype about Artificial Life; it turns out practitioners have been quietly getting on with solving problems using the technique. Meanwhile, yet again, AI boosters have blustered their way into the consciousness with another round of overcooked hype.
The Stephen Levy book is still worth a read, if you can find it. (IIRC Danny Hillis and the Connection Machine folks get a mention too.)
(I don't know if any of the genetic algorithm folks turned out to be supporters of eugenics, as many of the current crop of AI boosters seem to be.)
https://archive.org/details/artificiallifequ0000levy_l1x2
https://en.m.wikipedia.org/wiki/AI_winter#The_setbacks_of_the_late_1980s_and_early_1990s
I fenomeni di emergenza in un sistema in evoluzione sembrano essere legati alla comparsa di processi dinamici nuovi rispetto alla loro qualità e imprevedibili sulla base della caratteristica iniziale del sistema. Per questo motivo è difficile modellizzare i fenomeni di emergenza perché il modello in uso può diventare improvvisamente inadeguato a delineare nuove manifestazioni dinamiche e quindi la vera identità del sistema.
In questa simulazione (nel primo video la registrazione di una sessione) ho cercato di costruire un metamodello che descriva alcuni fenomeni di emergenza durante l’evoluzione del sistema dinamico organismo-ambiente.
Usando algoritmi genetici ho realizzato un sistema di agenti artificiali che interagiscono risolvendo una versione spaziale del Dilemma del Prigioniero Iterato (Axelrod, 1984; Axelrod e Dion, 1988).
Il sistema, compresso tra i vincoli di una crescente complessità interna e l’impossibilità di scindersi, si mantiene spontaneamente entro valori di entropia che gli consentono di mantenere coerenza e “identità” nel tempo, permettendogli di far emergere diversi nuovi equilibri di Nash nella tabella dei payoff ( cultura? economia? politica?…) che regola gli scambi tra agenti artificiali; i nuovi equilibri di Nash emergenti nella tabella dei payoff facilitano l’emergere di alcuni “clan” che si replicano secondo le dinamiche genetiche del Cross-Over.
Per ogni generazione, le azioni del “clan vincente” contribuiscono a modificare la tabella dei payoff secondo regole più vantaggiose per la loro logica di interazione (cooperare/rifiutare/defezionare).
Ogni volta il nuovo equilibrio di Nash emergente viene mantenuto per alcune generazioni, oscillando tra diversi valori di entropia, finché un nuovo “clan” di agenti virtuali prevale sugli altri, orientando l’intero sistema verso l’emergere di un nuovo equilibrio di Nash nella tabella dei payoff.
#ai #geneticalgorithms #gametheory