courses:aigames:lab_genetic

Dzisiaj wracamy do p5js (znane nam z lab_steer i z lab_minimax).
Sketch: https://editor.p5js.org/kkutt/sketches/9Z8kBpixG

  • Opis w Nature of Code: 9.11 Smart Rockets
  • Cel życia (300 jednostek czasu):
    • Rakieta trafia w cel
  • Ewaluacja:
    • Odległość od celu (na koniec symulacji)
    • Czas dotarcia do celu
    • Kara za uderzenie w przeszkodę
  • Punkt wyjścia:
    • działający algorytm genetyczny
    • gen: osobny wektor ruchu na każdą jednostkę czasu

Zadania do realizacji:

  • [5 EXP] Zmienić sposób działania rakiet (Zadanie 9.9 w Nature of Code):
    • zamiast wektora ruchu na każdą jednostkę czasu, każda rakieta posiada 5 silników (o określonych parametrach), które w czasie lotu (w każdej jednostce czasu) mogą być niezależnie włączane i wyłączane
    • w takim podejściu gen powinien kodować:
      • 5 wektorów opisujących parametry każdego z silników (dowolny zwrot, dowolna długość)
      • binarną sekwencję odpalania dla każdego z silników (sekwencja może mieć długość 300, wtedy na każdą jednostkę czasu przypada jedna wartość; albo może mieć krótszą długość, wtedy jest powtarzana w kółko aż do zakończenia czasu życia)
    • wektor ruchu w danej jednostce czasu jest wyliczany jako suma wektorów silników włączonych w danej jednostce czasu
  • [4 EXP] Zwiększyć trudność / dodać dodatkowe przeszkody i sprawdzić czy rakiety dalej będą potrafiły się wyuczyć właściwej ścieżki (Zadanie 9.8 w Nature of Code)
  • courses/aigames/lab_genetic.txt
  • Last modified: 3 years ago
  • by 127.0.0.1