Differences

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

Link to this comparison view

pa:regulament-proiect-2023 [2023/04/27 01:47]
traian.enache [Schelet de cod]
pa:regulament-proiect-2023 [2023/05/29 22:36] (current)
stefan.ruseti [Etapa 2]
Line 127: Line 127:
 Recomandăm implementarea algoritmului alpha-beta și a cel putin două tehnici avansate/​euristici pentru a putea calcula cât mai multe mutări în față. Administrarea timpului rămas este o componentă foarte importantă acestei etape. Recomandăm implementarea algoritmului alpha-beta și a cel putin două tehnici avansate/​euristici pentru a putea calcula cât mai multe mutări în față. Administrarea timpului rămas este o componentă foarte importantă acestei etape.
  
-TODO Această etapă va avea **5 săptămâni**. Punctajul alocat acestei etape este de **0.puncte**.+TODO Această etapă va avea **5 săptămâni**. Punctajul alocat acestei etape este de **0.puncte**.
  
-TODO Deadline-ul acestei etape este **30 mai 2023, ora 23:55**.+TODO Deadline-ul acestei etape este **31 mai 2023, ora 23:55**.
  
  
 ==== Testare ==== ==== Testare ====
-Detaliile despre ​testare vor fi adăugate în curând.+Pentru ​testare ​ne vom folosi de engine-ul Fairy-Stockfish disponibil [[https://​github.com/​fairy-stockfish/​Fairy-Stockfish|aici]]. Acesta poate fi instalat direct din surse folosind aceste [[https://​github.com/​fairy-stockfish/​Fairy-Stockfish#​compiling-stockfish-yourself-from-the-sources|instrucțiuni]]. Comenzile de mai jos sunt rulate presupunand ca executabilul "​stockfish"​ se află în directorul curent, vor trebui adaptate în funcție de locația executabilului de pe sistemul vostru. În funcție de caz, capabilitățile sale vor fi limitate, folosind opțiunea [[https://​github.com/​fairy-stockfish/​Fairy-Stockfish#​skill-level|Skill level]] cu valorile -20, -10 sau -5. Acest lucru îl va face să joace progresiv mai bine. 
 + 
 +Testarea se va face automat într-o mașină virtuală linux cu 1 singur procesor. Comenzile care vor fi rulate pentru testare vor arăta (foarte) asemănător cu comenzile de mai jos. Iar prin "​foarte asemănător" ​înțelegem că această comandă va fi dată xboardului să pornească jocul cu engine-ul vostru, dar mai pot diferi numele fișierului în care se salvează partidele și/sau va fi pusă într-un script. 
 +<note important>​xboard -variant crazyhouse -fcp "​./​stockfish"​ -firstOptions "Skill Level=-20,​Slow Mover=10,​Use NNUE=false"​ -fn "​Stockfish Easy" -scp "make run" -tc 5 -inc 2 -autoCallFlag true -mg 4 -sgf partide.txt ​ -reuseSecond false</​note>​ 
 +<note important>​xboard -variant crazyhouse -fcp "​./​stockfish"​ -firstOptions "Skill Level=-10,​Slow Mover=10,​Use NNUE=false"​ -fn "​Stockfish Medium"​ -scp "make run" -tc 5 -inc 2 -autoCallFlag true -mg 4 -sgf partide.txt ​ -reuseSecond false</​note>​ 
 +<note important>​xboard -variant crazyhouse -fcp "​./​stockfish"​ -firstOptions "Skill Level=-5,​Slow Mover=10,​Use NNUE=false"​ -fn "​Stockfish Hard" -scp "make run" -tc 5 -inc 2 -autoCallFlag true -mg 4 -sgf partide.txt ​ -reuseSecond false</​note>​ 
 + 
 +Explicarea parametrilor:​ 
 +  * **xboard** - aplicația pe care o folosim :-D poate fi atât xboard cât și winboard, dar checkerul va rula pe linux deci vom folosi xboard. 
 +  * **-scp "make run"** - setează al doilea engine ca fiind engine-ul vostru. Vă reamintim că "make run" ar trebui doar să vă pornească engine-ul, nu și xboard-ul. 
 +  * **-tc 5 -inc 2** - setează timpul de joc la 5 minute (timpul de start pentru fiecare jucător), iar la fiecare mutare jucătorul care a efectuat-o va primi încă 2 secunde. //​Observație://​ Este indicată gestionarea timpului (dar nu obligatoriu). Acest timp, împreună cu următorul parametru(-autoCallFlag true) previne situația în care voi ați da un depth prea mare engine-ului vostru și acesta ar sta foarte mult să se gândească și situația în care engine-ul vostru intră într-o buclă infinită și nu mai mută. 
 +  * **-autoCallFlag true** - setează xboard-ul ca atunci când i se termină timpul unuia din jucători să atribuie victoria celuilalt. 
 +  * **-mg 4** - numărul de partide jucate va fi 4 pentru teste. Automat se vor juca 2 cu albul și 2 cu negru. Voi puteți modifica parametrul sau chiar să îl scoateți pentru teste mai mici. 
 +  * **-sgf partide.txt** - în acest fișier se vor salva partidele jucate. 
 +  * **-reuseSecond false** - acest parametru îi specifică lui xboard să reîncarce engine-ul vostru după fiecare partidă. Dacă nu este prezent se va da "new game". Puteți să-l vedeți ca pe o plasă de siguranță:​ dacă cumva engine-ul vostru se "​strică"​ în timpul unei partide, el se va reseta la următoarea deci teoretic eroarea nu se va propaga. 
 + 
 +==== Punctare ==== 
 +Punctajul de **0.6 puncte** se va acorda în felul următor: 
 +  * **0.2 puncte** obținerea a 2 puncte (orice combinație de remize + victorii) din 4 partide vs Stockfish Easy 
 +  * **0.2 puncte** obținerea a 2 puncte (orice combinație de remize + victorii) din 4 partide vs Stockfish Medium 
 +  * **0.2 puncte** obținerea a 2 puncte (orice combinație de remize + victorii) din 4 partide vs Stockfish Hard 
 + 
 +Punctele se vor acorda după următoarea formulă: 
 + 
 +<​code>​ 
 +punctaj_etapă = min(0.2, 0.2 * (număr_puncte_din_meci_vs_easy / 2)) + 
 +                min(0.2, 0.2 * (număr_puncte_din_meci_vs_medium / 2)) + 
 +                min(0.2, 0.2 * (număr_puncte_din_meci_vs_hard / 2)) 
 +</​code>​
  
  
pa/regulament-proiect-2023.1682549244.txt.gz · Last modified: 2023/04/27 01:47 by traian.enache
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