AI-For-Beginners/translations/et/lessons/6-Other/21-GeneticAlgorithms
localizeflow[bot] 22b9d24a81 chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:58:31 +00:00
..
Diophantine.ipynb 🌐 Update translations via Co-op Translator 2025-10-11 13:07:31 +00:00
Genetic.ipynb 🌐 Update translations via Co-op Translator 2025-10-11 13:07:31 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:58:31 +00:00

README.md

Geneetilised algoritmid

Eelloengu viktoriin

Geneetilised algoritmid (GA) põhinevad evolutsioonilisel lähenemisel tehisintellektile, kus populatsiooni evolutsioonimeetodeid kasutatakse optimaalse lahenduse leidmiseks antud probleemile. Need pakkus välja John Henry Holland aastal 1975.

Geneetilised algoritmid põhinevad järgmistel ideedel:

  • Kehtivaid lahendusi probleemile saab esitada geenidena
  • Ristamine võimaldab kombineerida kahte lahendust, et saada uus kehtiv lahendus
  • Valik kasutatakse optimaalsemate lahenduste leidmiseks, kasutades sobivusfunktsiooni
  • Mutatsioonid lisatakse, et destabiliseerida optimeerimist ja vältida lokaalset miinimumi

Geneetilise algoritmi rakendamiseks on vaja järgmist:

  • Leida meetod, kuidas kodeerida probleemilahendusi geenide abil g∈Γ
  • Geenide hulgal Γ tuleb defineerida sobivusfunktsioon fit: Γ→R. Väiksemad funktsiooni väärtused vastavad parematele lahendustele.
  • Defineerida ristamismehhanism, et kombineerida kaks geeni ja saada uus kehtiv lahendus crossover: Γ2→Γ.
  • Defineerida mutatsioonimehhanism mutate: Γ→Γ.

Paljudel juhtudel on ristamine ja mutatsioon üsna lihtsad algoritmid, mis manipuleerivad geene numbriliste jadade või bittvektoritena.

Geneetilise algoritmi konkreetne rakendus võib juhtumiti erineda, kuid üldine struktuur on järgmine:

  1. Valida algpopulatsioon G⊂Γ
  2. Juhuslikult valida operatsioon, mida sellel sammul teostatakse: ristamine või mutatsioon
  3. Ristamine:
  • Juhuslikult valida kaks geeni g1, g2 ∈ G
  • Arvutada ristamine g=crossover(g1,g2)
  • Kui fit(g)<fit(g1) või fit(g)<fit(g2) - asendada vastav geen populatsioonis geeniga g.
  1. Mutatsioon - valida juhuslik geen g∈G ja asendada see mutate(g)-ga
  2. Korrata alates sammust 2, kuni saavutatakse piisavalt väike sobivusfunktsiooni väärtus või kuni sammude arv jõuab piirini.

Tüüpilised ülesanded

Geneetiliste algoritmidega lahendatavad ülesanded hõlmavad:

  1. Graafiku optimeerimine
  2. Optimaalne pakkimine
  3. Optimaalne lõikamine
  4. Kurnava otsingu kiirendamine

✍️ Harjutused: Geneetilised algoritmid

Jätka õppimist järgmistes märkmikes:

Mine sellele märkmikule, et näha kahte näidet geneetiliste algoritmide kasutamisest:

  1. Aarde õiglane jagamine
  2. 8 kuninganna probleem

Kokkuvõte

Geneetilisi algoritme kasutatakse paljude probleemide lahendamiseks, sealhulgas logistika ja otsinguprobleemid. Valdkond on inspireeritud uurimistööst, mis ühendas psühholoogia ja arvutiteaduse teemasid.

🚀 Väljakutse

"Geneetilisi algoritme on lihtne rakendada, kuid nende käitumist on raske mõista." allikas Uuri geneetilise algoritmi rakendust, näiteks Sudoku lahendamist, ja selgita, kuidas see töötab visandi või vooskeemi abil.

Järelloengu viktoriin

Ülevaade ja iseseisev õppimine

Vaata seda suurepärast videot, mis räägib sellest, kuidas arvuti saab õppida mängima Super Mariot, kasutades geneetiliste algoritmidega treenitud närvivõrke. Õpime rohkem arvuti õppimisest selliste mängude mängimiseks järgmises osas.

Ülesanne: Diofantiline võrrand

Sinu eesmärk on lahendada nn Diofantiline võrrand - võrrand täisarvuliste juurtega. Näiteks kaalu võrrandit a+2b+3c+4d=30. Pead leidma täisarvulised juured, mis rahuldavad seda võrrandit.

See ülesanne on inspireeritud sellest postitusest.

Vihjed:

  1. Võid kaaluda juuri vahemikus [0;30]
  2. Geenina võid kasutada juurväärtuste loendit

Kasuta Diophantine.ipynb lähtepunktina.


Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.