Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pa:regulament-proiect-2022 [2022/03/12 18:10]
radu.iacob [Regulament Proiect 2022]
pa:regulament-proiect-2022 [2022/03/18 19:32] (current)
radu.iacob [Competiție cu boții PA]
Line 21: Line 21:
    * Codul sursă (**toate sursele folosite**)    * Codul sursă (**toate sursele folosite**)
    * Makefile (in root-ul arhivei), care va contine o regula de build, una de clean si una de run    * Makefile (in root-ul arhivei), care va contine o regula de build, una de clean si una de run
-   ​* ​README+   ​* ​Readme
  
 Boții vor fi evaluați pe un sistem Linux/GNU pe 64 biți, deci **este foarte important să verificați că aveți un makefile care funcționează corect** pe Linux, chiar dacă lucrați pe Windows sau MacOS. Scriptul de testare va rula "make clean",​ "make build" pentru compilare, apoi "make run" pentru rulare. Makefile-ul trebuie să se afle în rădăcina arhivei pentru a putea fi rulat. **Asigurați-vă că fișierul Makefile nu conține path-uri absolute** (să poată fi rulat și pe alt sistem). Boții vor fi evaluați pe un sistem Linux/GNU pe 64 biți, deci **este foarte important să verificați că aveți un makefile care funcționează corect** pe Linux, chiar dacă lucrați pe Windows sau MacOS. Scriptul de testare va rula "make clean",​ "make build" pentru compilare, apoi "make run" pentru rulare. Makefile-ul trebuie să se afle în rădăcina arhivei pentru a putea fi rulat. **Asigurați-vă că fișierul Makefile nu conține path-uri absolute** (să poată fi rulat și pe alt sistem).
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 46: Line 50:
 Pentru înscriere, accesați acest [[https://​forms.gle/​TKnSRKiX5tXXSXes8|link]]. Pentru înscriere, accesați acest [[https://​forms.gle/​TKnSRKiX5tXXSXes8|link]].
  
-====== Competitie ======+**Deadline pentru inscriere: 26.03.2022**
  
  
-====== ​FAQ ======+====== ​Competiție cu boții PA ======
  
-[[https://​ocw.cs.pub.ro/​courses/​pa/​proiect/​halite-i-tips-and-tricks|Tips and Tricks]]+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. 
 + 
 +Punctajul va fi împărțit în cinci runde în felul următor: 
 + 
 +| 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.35p pentru locul 2 
 +    * 0.3p pentru locul 3 
 +    * 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 competiția finală 
 +    * 0.6p pentru primul loc 
 +    * 0.5p pentru locul 2 
 +    * 0.4p pentru locul 3 
 +    * 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. 
 + 
 +====== 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]] 
 + 
 +====== FAQ ======
  
 * //Ce limbaje de programare putem să folosim?// * //Ce limbaje de programare putem să folosim?//
pa/regulament-proiect-2022.1647101432.txt.gz · Last modified: 2022/03/12 18:10 by radu.iacob
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0