AI-For-Beginners/translations/sv/lessons/6-Other/21-GeneticAlgorithms
localizeflow[bot] c55d809b23 chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:00:53 +00:00
..
Diophantine.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 18:09:00 +00:00
Genetic.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 18:09:00 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:00:53 +00:00

README.md

Genetiska Algoritmer

Quiz före förelÀsningen

Genetiska algoritmer (GA) bygger pÄ en evolutionÀr metod inom AI, dÀr metoder för att utveckla en population anvÀnds för att hitta en optimal lösning för ett givet problem. De föreslogs 1975 av John Henry Holland.

Genetiska algoritmer baseras pÄ följande idéer:

  • Giltiga lösningar pĂ„ problemet kan representeras som gener
  • Korsning gör det möjligt att kombinera tvĂ„ lösningar för att fĂ„ en ny giltig lösning
  • Urval anvĂ€nds för att vĂ€lja mer optimala lösningar med hjĂ€lp av en fitnessfunktion
  • Mutationer introduceras för att destabilisera optimeringen och ta oss ur lokala minima

Om du vill implementera en genetisk algoritm behöver du följande:

  • Hitta ett sĂ€tt att koda vĂ„ra problemlösningar med hjĂ€lp av gener g∈Γ
  • PĂ„ mĂ€ngden gener Γ behöver vi definiera en fitnessfunktion fit: Γ→R. Mindre funktionsvĂ€rden motsvarar bĂ€ttre lösningar.
  • Definiera en korsningsmekanism för att kombinera tvĂ„ gener och fĂ„ en ny giltig lösning crossover: Γ2→Γ.
  • Definiera en mutationsmekanism mutate: Γ→Γ.

I mÄnga fall Àr korsning och mutation ganska enkla algoritmer för att manipulera gener som numeriska sekvenser eller bitvektorer.

Den specifika implementeringen av en genetisk algoritm kan variera frÄn fall till fall, men den övergripande strukturen Àr följande:

  1. VĂ€lj en initial population G⊂Γ
  2. VÀlj slumpmÀssigt en av de operationer som ska utföras vid detta steg: korsning eller mutation
  3. Korsning:
  • VĂ€lj slumpmĂ€ssigt tvĂ„ gener g1, g2 ∈ G
  • BerĂ€kna korsning g=crossover(g1,g2)
  • Om fit(g)<fit(g1) eller fit(g)<fit(g2) - ersĂ€tt motsvarande gen i populationen med g.
  1. Mutation - vÀlj en slumpmÀssig gen g∈G och ersÀtt den med mutate(g)
  2. Upprepa frÄn steg 2 tills vi fÄr ett tillrÀckligt litet vÀrde pÄ fit, eller tills grÀnsen för antalet steg har nÄtts.

Typiska Uppgifter

Uppgifter som vanligtvis löses med genetiska algoritmer inkluderar:

  1. Optimering av scheman
  2. Optimal packning
  3. Optimal skÀrning
  4. Snabba upp uttömmande sökningar

✍ Övningar: Genetiska Algoritmer

FortsÀtt ditt lÀrande i följande anteckningsböcker:

GÄ till denna anteckningsbok för att se tvÄ exempel pÄ anvÀndning av genetiska algoritmer:

  1. RÀttvis fördelning av skatt
  2. 8 drottningars problem

Slutsats

Genetiska algoritmer anvÀnds för att lösa mÄnga problem, inklusive logistik och sökproblem. FÀltet Àr inspirerat av forskning som kombinerade Àmnen inom psykologi och datavetenskap.

🚀 Utmaning

"Genetiska algoritmer Àr enkla att implementera, men deras beteende Àr svÄrt att förstÄ." kÀlla Gör lite forskning för att hitta en implementering av en genetisk algoritm, som att lösa ett Sudoku-pussel, och förklara hur det fungerar som en skiss eller flödesschema.

Quiz efter förelÀsningen

Granskning & SjÀlvstudier

Titta pÄ denna fantastiska video som handlar om hur datorer kan lÀra sig spela Super Mario med hjÀlp av neurala nÀtverk trÀnade av genetiska algoritmer. Vi kommer att lÀra oss mer om hur datorer lÀr sig spela sÄdana spel i nÀsta avsnitt.

Uppgift: Diofantisk Ekvation

Ditt mÄl Àr att lösa den sÄ kallade Diofantiska ekvationen - en ekvation med heltalsrötter. Till exempel, övervÀg ekvationen a+2b+3c+4d=30. Du behöver hitta heltalsrötterna som uppfyller denna ekvation.

Denna uppgift Àr inspirerad av detta inlÀgg.

Tips:

  1. Du kan övervÀga rötterna att vara i intervallet [0;30]
  2. Som en gen kan du anvÀnda listan över rotvÀrden

AnvÀnd Diophantine.ipynb som startpunkt.