Differences

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

Link to this comparison view

pa:proiect2014 [2014/02/27 22:10]
alexandru.mirea [Etapa 5]
pa:proiect2014 [2014/02/27 22:56] (current)
alexandru.mirea
Line 1: Line 1:
 ====== Regulament proiect ====== ====== Regulament proiect ======
-Tema proiectului de anul acesta din cadrul materiei Proiectarea Algoritmilor va fi realizarea unei inteligente artificiale capabile sa joace sah.  Proiectul se va realiza in echipe de cate 3-4 studenti (minim 3, maxim 4 studenti pe echipa) si se va desfasura pe parcursul a 5 etape, fiecare etapa durand 2 saptamani.+Tema proiectului de anul acesta din cadrul materiei Proiectarea Algoritmilor va fi realizarea unei inteligente artificiale capabile sa joace sah[1].  Proiectul se va realiza in echipe de cate 3-4 studenti (minim 3, maxim 4 studenti pe echipa) si se va desfasura pe parcursul a 5 etape, fiecare etapa durand 2 saptamani.
 Se va folosi platforma Winboard (XBoard) 4.7.3 pentru a interfata, vizualiza, inregistra si reda partidele jucate intre aplicatiile realizate in cadrul proiectului. Puteti descarca Winboard 4.7.3 de [[http://​www.open-aurec.com/​wbforum/​viewtopic.php?​t=51528|aici]],​ iar o documentatie privind protocolul folosit puteti gasi [[http://​www.gnu.org/​software/​xboard/​engine-intf.html|aici]]. Se va folosi platforma Winboard (XBoard) 4.7.3 pentru a interfata, vizualiza, inregistra si reda partidele jucate intre aplicatiile realizate in cadrul proiectului. Puteti descarca Winboard 4.7.3 de [[http://​www.open-aurec.com/​wbforum/​viewtopic.php?​t=51528|aici]],​ iar o documentatie privind protocolul folosit puteti gasi [[http://​www.gnu.org/​software/​xboard/​engine-intf.html|aici]].
  
Line 9: Line 9:
 Această etapă va avea **1 săptămână**. Punctajul alocat acestei etape este de **0 puncte**. Această etapă va avea **1 săptămână**. Punctajul alocat acestei etape este de **0 puncte**.
  
-Deadline-ul acestei etape este **duminicămartie ​2013, ora 23:55.**+Deadline-ul acestei etape este **miercurimartie ​2014, ora 23:55.**
 ===== Etapa 1 ===== ===== Etapa 1 =====
  
Line 54: Line 54:
   * Daca dupa 15 minute nu s-a indeplinit nici o conditie de sfarsit de partida (dupa cum sunt mentionate la punctual anterior) va fi declarat **invins** programul care intra in criza de timp primul, adeversarul fiind declarat invingator.   * Daca dupa 15 minute nu s-a indeplinit nici o conditie de sfarsit de partida (dupa cum sunt mentionate la punctual anterior) va fi declarat **invins** programul care intra in criza de timp primul, adeversarul fiind declarat invingator.
  
 +===== FAQs ===== 
 +===De ce sah? Nu s-a mai dat pana acum?=== 
 +Ba da, dar ultima oara a fost acum 4 ani. Atunci proiectul a fost unul de succes, competitia finala fiind una palpitanta. 
 +Didactic este o idee de proiect buna din mai multe puncte de vedere (provocari de implementare,​ intelegerea unor concepte de algoritmi avansati, provocari de time management, abilitatea de autodocumentare,​ abilitatea de a lucre in echipa etc). Sahul a fost ales datorita rezonantei sale ca joc. Din experienta va spunem ca un motor de sah decent facut da bine la un interviu. 
 +===De ce Winboard? Nu pierdem timp stand sa implementam nu stiu ce protocol in loc sa implementam algoritmi?​=== 
 +Winboard/​Xboard a devenit un program standard de interfatare intre diferitele motoare existente in momentul de fata. Fiecare motor minimalist existent stie sa lucreze cu acest program. Usurarea lucrului de mediere a unui joc justifica implementarea sa, precum si faptul ca proiectul realizat va putea juca cu orice alt motor cat de cat performant de pe net. Cat despre timpul pierdut, interfatarea minimalista ceruta in etapa 1. se poate realiza in aproximativ o ora. La ce chestii vor fi de implementat la protocoale de comunicatii,​ asta vi se va parea floare la ureche :-). 
 +===Nu exista deja o droaie de algoritmi pe net despre sah? Dar proiectele de anul trecut?​=== 
 +Da, exista multe surse de documentatie pe net despre cum sa implementezi un joc de sah. Dar de la vorbe la fapte e cale lunga. Doar pentru ca exista multi algoritmi nu inseamna ca oricine va sti sa-i implementeze si sa o faca si bine. Implementarea corecta si eficienta presupune mai mult decat copy paste de pe net. Cat despre proiectele de anul trecut, ele exista in posesia echipei de PA, si cele de anul acesta vor fi verificate contra celor precedente pentru a nu avea cazuri de frauda. De asemenea codul fiecarui proiect va fi facut public inainte de etapa 5. pentru a putea fi inspectat de fiecare echipa ce doreste sa se asigure ca nu a fost comis vreun act de frauda din partea concurentei. Daca se constata o tentativa de frauda din partea oricarei echipe, toti membrii echipei vor avea restanta la Proiectarea Algoritmilor si vor pierde punctajul aferent proiectului. 
 +===Echipele se pot forma intre colegi din grupe diferite? Dar din serii diferite?​=== 
 +Da. Nu. 
 +===Cum imi aleg coechipierii?​=== 
 +Cum vrei, pe baza oricaror criterii crezi tu ca sunt importante. 
 +===Nu toti membrii echipei lucreaza la fel de mult. What’s up with that?=== 
 +Din experienta anilor trecuti, niciodata nu se intampla ca toti membrii echipei sa lucreze la fel de mult. Acest fapt se intampla din varii motive: fie nu toti pot, fie unul sau doi acapareaza toata munca si nu le dau celorlalti o sansa (nu radeti, s-a intamplat :P), fie <insert another reason here>. Fiecare echipa va avea un capitan care va avea, printre altele, datoria de a comunica echipei de PA (asistentului de laborator, titularului de curs etc) orice neregula din cadrul propriei echipe. In afara de asta si de a vorbi putin individual cu membrii fiecarei echipe nu exista alta solutie. Depinde de prioritatile fiecarui membru de echipa si a echipei per ansamblu. 
 +===Ce alte responsabilitati ar mai avea capitanul de echipa?​=== 
 +Depinde…in mod normal responsabilitatile de bun simt ar fi de a imparti eficient munca intre coechipieri,​ de a face un time management bun, de a lega o strategie de joc etc. Dar mai pot fi si altele, precum PR pe forum :-).  
 +===Cum se vor trimite proiectele pentru evaluare?​=== 
 +Pe pagina web a cursului de PA va exista o rubrica de incarcare a codului sursa pentru fiecare etapa dedicata proiectului. Codul sursa, precum si alte eventuale fisiere aditionale (ex: baze de date pentru deschideri) vor trebui sa vina sub forma unei arhive .zip de forma NumeleEchipei_EtapaX.zip (unde X este numarul etapei curente {1,​2,​3,​4,​5}). Marimea maxima a unei arhive va fi de 5Mb. 
 +===In ce limbaj de programare avem voie sa realizam proiectul?​=== 
 +In oricare limbaj de programare cu care va intelegeti mai bine. De remarcat este faptul ca pentru acest proiect timpul de executie este critic. 
 +=== Avem voie sa folosim fire de executie (thread-uri) in program?​=== 
 +Nu. S-a pus problema si anul trecut. Motivul este ca nu toti stiu sa lucreze cu thread-uri, iar un astfel de avantaj ar fi incorect fata de ceilalti. NU postati in legatura cu asta pe forum…it’s final and that’s that. 
 +===Avem voie sa folosim baze de date pentru deschidere sau alte scopuri?​=== 
 +Da, atat timp cat toata arhiva este pana in 5Mb. 
 +===Putem comunica cu un calculator la distanta prin TCP/IP sau alte mijloace pentru a avea acces la o baza de date suplimentara sau alte resurse?​=== 
 +Categoric NU. Proiectul trebuie sa fie stand-alone. Nu se admit conexiuni de genul celor mentionate mai sus. 
 +===Putem trimite programe executabile?​=== 
 +Nu. Doar cod sursa (si eventuale aditionale precum opening data bases). Codul se va compila si link-edita dupa regulile prezente in makefile-ul,​ ant file-ul, script-ul etc-ul vostru de build. 
 +===Echipa mea a realizat proiectul in Microsoft Visual Studio 2005/2008 (VS2005/​VS2008). Ce trimit?​=== 
 +Trimite codul sursa si fisierul de proiect (*.vcproj in caz ca este realizat cu Visual C/C++). 
 +===Unde putem cere lamuriri suplimentare in legatura cu desfasurarea proiectului?​=== 
 +Pe forum-ul dedicat proiectului de pe pagina web a cursului de PA.
 ===== Referințe ===== ===== Referințe =====
-[1] - https://​www.hackerrank.com/​environment ​ \\ +[1] - http://​en.wikipedia.org/​wiki/​Rules_of_chess  ​\\
-[2] - https://​www.hackerrank.com/​contests/​bucharest-tron/​challenges/​tron-many ​ \\ +
-[3] - https://​www.hackerrank.com/​ai/​advmultiplayer \\ +
-[4] - http://​en.wikipedia.org/​wiki/​AI_Challenge ​\\+
pa/proiect2014.1393531818.txt.gz · Last modified: 2014/02/27 22:10 by alexandru.mirea
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