===== Modele regułowe ===== ==== 1. CodinGame: Mars Lander ==== **Problem** na dzisiaj: **__[[https://www.codingame.com/training/medium/mars-lander-episode-2|Mars Lander]]__** * Cel: lądowanie na Marsie * Nierówna powierzchnia Marsa. Lądujemy na płaskim fragmencie * Sterujemy kątem nachylenia [-90; 90] i mocą silnika [0; 4] * Ograniczone możliwości zmiany z ruchu na ruch (kąt +/- 15, moc +/- 1) * Ograniczone paliwo, działa grawitacja ==== 2. System regułowy dla lądownika ==== - Przykładowy zbiór reguł analizujących aktualną prędkość poziomą i wprowadzający odpowiednie poprawki: \\ {{:courses:aigames:dmn-hmovement.jpg?direct&1000|}} * Część warunkowa i decyzyjna - czy widzimy różnice? * Można wybrać Hit Policy. Jakie znamy z wykładu? ([[https://docs.camunda.org/manual/7.13/reference/dmn/decision-table/hit-policy/|szczegółowa dokumentacja]]) * Można używać bardziej skomplikowanych warunków ([[https://camunda.github.io/feel-scala/1.11/|język FEEL 1.11]]) - Możemy połączyć więcej tabel decyzyjnych ze sobą w jeden model, np. druga tabela analizująca paliwo i wprowadzająca poprawki do mocy silnika - Narzędzie: [[https://consulting.camunda.com/dmn-simulator/]] * Prosty model z kilkoma regułami: {{https://krzysztof.kutt.pl/didactics/psi/simple-mars-lander.dmn}} * Możliwość testowania jednej / wszystkich tabel (formularz nad modelem) * Znany bug: czasami model nie przeładowuje się poprawnie po zmianach; wtedy najlepiej pobrać plik i załadować go ponownie \\ {{:courses:aigames:dmn-model.jpg?direct&600|}} ==== 3. Zadania do realizacji ==== - [3 EXP] **Model regułowy** dla lądownika w [[https://consulting.camunda.com/dmn-simulator/]] - [3 EXP] **Wylądować** w __łatwej__ wersji (lądownik znajduje się bezpośrednio nad miejscem lądowania): [[https://www.codingame.com/training/easy/mars-lander-episode-1|Mars Lander - Episode 1]] - [3 EXP] **Wylądować** w __średniej__ wersji (trzeba sterować również kątem nachylenia; min. 4 test cases z pięciu): [[https://www.codingame.com/training/medium/mars-lander-episode-2|Mars Lander - Episode 2]] - Jest też wersja bardzo trudna (niepunktowana na naszych zajęciach): [[https://www.codingame.com/training/expert/mars-lander-episode-3|Mars Lander - Episode 3]]