Differences

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

Link to this comparison view

pa:proiect2014 [2014/02/27 22:30]
alexandru.mirea [FAQs]
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 55: Line 55:
  
 ===== FAQs ===== ===== FAQs =====
-===De ce sah? Nu s-a mai dat de vreo 2 ori pana acum?=== +===De ce sah? Nu s-a mai dat pana acum?=== 
-Ba da, dar anii precedenti au fost marcati ​de nereusite organizatorice multiple. 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. Anul viitor insa cu siguranta nu va mai fi tot sah .+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?​=== ===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 cehstii ​vor fi de implementat la protocoale de comunicatii,​ asta vi se va parea floare la ureche :-).+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?=== ===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. 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.
Line 68: Line 69:
 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. 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?=== ===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 +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?​=== ===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 4Mb.+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 ce limbaj de programare avem voie sa realizam proiectul?​===
-In oricare limbaj de programare ​predat in cadrul cursurilor obligatorii din facultatea de calculatoare din primii 2 aniAdica C/C++, Java, Assembler, Scheme, Haskell, Clips, Prolog. Desi ultimele patru limbaje se predau ​de abia in semestrul doi al anului doi mai exista oameni care sunt familiari cu ele.  +In oricare limbaj de programare ​cu care va intelegeti mai bineDe remarcat este faptul ca pentru acest proiect timpul ​de executie este critic.
-=== Dar C#...?=== +
-…s-a facut C# in facultate pana acum? Didn’t think so…+
 === Avem voie sa folosim fire de executie (thread-uri) in program?=== === 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. 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.
Line 88: Line 87:
 Pe forum-ul dedicat proiectului de pe pagina web a cursului de PA. 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.1393533037.txt.gz · Last modified: 2014/02/27 22:30 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