Genetiske algoritmer

Lær gennem spil · variation, udvælgelse og forbedring

← Til værktøjerne

Laboratorium · Simulér · Vælg · Mutér

Ingen agent ved, hvordan den skal spille — endnu

Her får en hel population af små spil-agenter lov til at fejle. De bedst tilpassede løsninger får flest efterkommere, gener blandes, og små mutationer skaber nye forsøg. Se evolutionen opstå generation for generation.

Din missionFind indstillinger, der får en population til at lære. Sammenlign derefter med en population, hvor variationen er for lille — eller alt for stor.
1

Variation

Hvert individ starter med et lidt forskelligt genom.

2

Fitness

Spillets resultat giver hver agent en score.

3

Selektion

Gode løsninger bliver oftere valgt som forældre.

4

Mutation

Små ændringer holder nye muligheder åbne.

Dino Run · hop over kaktusser

Fitness = overlevelsestid og tilbagelagt afstand
Den klare blå agent er den nuværende bedste. Svage agenter vises dæmpet.Fælles bane · alle møder de samme kaktusser
Generation
1
i gang
Population
24
individer
Bedste fitness
0
i denne generation
Gennemsnit
0
fitness
Overlevende
24
lige nu
Mutation
6%
pr. gen

En regel bliver til adfærd

Hver dino har fem tal som genom. Tallene vægter afstand til kaktussen, dinoens højde, fart og kaktussens højde. Hvis den samlede score er stor nok, hopper dinoen.

bedste levende agentandre levende agenteragenter, der er ude

Fitness gennem generationerne

Hver afsluttet generation lægger et punkt i grafen. Sammenlign den bedste agent med populationens gennemsnit.

Ingen afsluttede generationer endnu
━ bedste fitness━ gennemsnitlig fitness

Fra simulation til Python

Dette er den centrale evolutionære løkke i ren Python. Den viser genom, fitness, turneringsselektion, krydsning, mutation og elitisme — uafhængigt af selve spillet.

genetisk_algoritme.pyKoden kræver kun Pythons standardbibliotek.

Fire undersøgelsesopgaver

1 · Første generation

Se de første Dino-agenter. Hvilke forskelle i hop kan du forklare ud fra deres fitness?

2 · For lidt variation

Sæt mutation til 0 %. Bliver populationen bedre, og hvad mister den, når alle gener kopieres videre?

3 · For meget variation

Prøv 50 % eller 100 % mutation. Hvilke gode løsninger forsvinder, og hvordan ses det i fitnessgrafen?

4 · Skift spil

Åbn Flappy Bird. Hvorfor kræver denne case andre input, selv om den genetiske algoritme er den samme?