This shows you the differences between two versions of the page.
pa:regulament-proiect-2022 [2022/03/12 20:53] ion.birsu |
pa:regulament-proiect-2022 [2022/03/18 19:32] (current) radu.iacob [Competiție cu boții PA] |
||
---|---|---|---|
Line 35: | Line 35: | ||
* Responsabilitatea fiecărui membru al echipei. | * Responsabilitatea fiecărui membru al echipei. | ||
* Documentația valorează 10% din punctajul proiectului. | * Documentația valorează 10% din punctajul proiectului. | ||
+ | |||
+ | Proiectul va lua forma unei competiții continue pe parcursul semestrului. Punctajul se va împărți în 2: | ||
+ | * 1 punct daca reusiți să bateți boții puși la dispoziție de echipa de PA (aceștia se află în repo-urile voastre deja) | ||
+ | * 1 punct pentru clasarea in competiție | ||
====== Înscrierea ====== | ====== Înscrierea ====== | ||
Line 48: | Line 52: | ||
**Deadline pentru inscriere: 26.03.2022** | **Deadline pentru inscriere: 26.03.2022** | ||
- | ====== Competitie ====== | ||
- | Proiectul va lua forma unei competitii continue pe parcursul semestrului. Punctajul se va imparti in 2: 1 punct daca reusiti sa bateti botii pusi la dispozitie de echipa de PA (acestia se afla in repo-urile voastre deja) si 1p pentru clasarea in competitie. | + | ====== Competiție cu boții PA ====== |
- | La fiecare 2 saptamani, agentii vostrii vor rula impotriva botilor echipei de PA (asta daca nu ati reusit punctajul maxim deja), intr-un set de meciuri random. Scopul vostru este sa reusiti sa bateti acesti botii in mod constant. Sfatul nostru este sa incercati local mai multe scenarii, pentru a va asigura ca botul vostru reuseste sa invinga. Pentru debug, replay-urile meciurilor vor fi publice. Se poate obtine si punctaj partial. | + | La fiecare 2 săptamani, agenții vostrii vor rula impotriva boților echipei de PA (dacă nu ați reușit să obțineți punctajul maxim deja), intr-un set de meciuri cu seed-uri aleatoare. Scopul vostru este sa reusiti sa bateti acești boți în mod constant. Sfatul nostru este să încercați local mai multe scenarii, pentru a vă asigura că botul vostru reușește să învingă. Pentru debug, replay-urile meciurilor vor fi publice. Se poate obține și punctaj parțial. |
- | Competitia va rula in mod continuu de-a lungul semestrului (pentru o noua submisie de bot, vedeti regulile de upload), cate un clasament separat pentru fiecare serie. Punctajul este impartit in 2: | + | Punctajul va fi împărțit în cinci runde în felul următor: |
- | * un punctaj midterm, pe baza clasamentului de la finalul saptamanii a 10a. | + | |
+ | | Procent Punctaj | Dimensiuni posibile hărți (lungime/lățime) | Boți | Format | | ||
+ | | 30% | 25x25, 30x30, 40x40, 50x50 | DBot | 1v1 | | ||
+ | | 10% | 40x40 | 3xDBot | 1v3 | | ||
+ | | 30% | 25x25, 30x30, 40x40, 50x50 | starkbot | 1v1 | | ||
+ | | 20% | 40x40 | 1xstarkbot, 2xDBot | 1v3 | | ||
+ | | 10% | 40x40 | 3xstarkbot | 1v3 | | ||
+ | |||
+ | Pentru fiecare rundă, se generează 10 meciuri aleatoare și se aleg cele mai bune 8 rezultate. Punctajul | ||
+ | obținut va fi dat de procentul de meciuri câștigate. | ||
+ | |||
+ | Vom folosi [[https://github.com/acs-pa/halite-resources/blob/main/halite-resources.zip|acest]] script pentru automatizarea evaluării. | ||
+ | |||
+ | |||
+ | ====== Competitie între echipe ====== | ||
+ | |||
+ | Competiția dintre echipe va rula în mod continuu de-a lungul semestrului (pentru o noua submisie de bot, vedeți regulile de upload). Va fi un clasament separat pentru fiecare serie. | ||
+ | |||
+ | Vom folosi [[https://en.wikipedia.org/wiki/TrueSkill|TrueSkill]] pentru a departaja echipele participante. TrueSkill modeleaza abilitatea unui jucator sub forma unei distributii normale cu următorii parametrii: | ||
+ | * Mean μ - media abilității jucătorului | ||
+ | * Variance σ - încrederea sistemului în scorul obținut, în funcție de numărul de meciuri jucate și de adversarii întălniți. | ||
+ | |||
+ | Boții se vor lupta aleator între ei, în funcție de estimarea curentă a abilității, până ce sistemul va căpata 'încredere' în valorile obținute. (nu mai apar modificări în clasament). | ||
+ | |||
+ | |||
+ | Punctajul este împărțit în 2: | ||
+ | * un punctaj midterm, pe baza clasamentului de la finalul saptămanii a 10a. | ||
* 0.4p pentru primul loc | * 0.4p pentru primul loc | ||
* 0.35p pentru locul 2 | * 0.35p pentru locul 2 | ||
* 0.3p pentru locul 3 | * 0.3p pentru locul 3 | ||
- | * restul punctajelor vor fi date pe baza unei formule liniare, intre 0.3 si 0.1, pe baza clasamentului, atata timp cat va clasati peste un bot de threshold ales de echipa echipa de PA | + | * restul punctajelor vor fi date pe baza unei formule liniare, intre 0.3 si 0.1, pe baza clasamentului, dacă vă clasați peste un bot de threshold ales de echipa de PA |
- | * un punctaj pe competitia finala | + | * un punctaj pe competiția finală |
* 0.6p pentru primul loc | * 0.6p pentru primul loc | ||
* 0.5p pentru locul 2 | * 0.5p pentru locul 2 | ||
* 0.4p pentru locul 3 | * 0.4p pentru locul 3 | ||
- | * restul punctajelor vor fi date pe baza unei formule liniare, intre 0.4 si 0.1, pe baza clasamentului, atata timp cat va clasati peste un bot de threshold ales de echipa echipa de PA | + | * restul punctajelor vor fi date pe baza unei formule liniare, intre 0.4 si 0.1, pe baza clasamentului, dacă vă clasați peste un bot de threshold ales de echipa de PA |
Cele mai bune echipe din fiecare serie se vor lupta intr-o competitie separata, cu premii. Vom reveni cu detalii spre finalul semestrului. | Cele mai bune echipe din fiecare serie se vor lupta intr-o competitie separata, cu premii. Vom reveni cu detalii spre finalul semestrului. | ||
- | ====== FAQ ====== | + | ====== Resurse ===== |
+ | * [[https://ocw.cs.pub.ro/courses/pa/proiect/halite-i-tips-and-tricks|Tips and Tricks]] | ||
+ | * [[https://ocw.cs.pub.ro/courses/pa/halite-debugging|Debugging in C++ folosind CLion si GDB]] | ||
- | [[https://ocw.cs.pub.ro/courses/pa/proiect/halite-i-tips-and-tricks|Tips and Tricks]] | + | ====== FAQ ====== |
* //Ce limbaje de programare putem să folosim?// | * //Ce limbaje de programare putem să folosim?// |