This is an old revision of the document!
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. 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 aici, iar o documentatie privind protocolul folosit puteti gasi aici.
Etapa 0 presupune formarea unor echipe de câte 3-4 persoane. Echipele se pot forma între oricare 3-4 studenţi din aceeaşi serie. Nu se permit echipe cu oameni din serii diferite decât dacă ați rămas fără niciun coechipier în seria voastră sau dacă sunteți restanțieri. Fiecare echipă va desemna un membru al acesteia cu rolul de căpitan. Căpitanul va avea, printre altele, sarcina de a trimite în numele echipei sale soluţiile pentru fiecare din etapele rămase. Ceilalţi membri ai echipei nu vor trimite soluţii, decât in cazul in care căpitanul nu poate face aceasta din motive obiective.
Această etapă va avea 1 săptămână. Punctajul alocat acestei etape este de 0 puncte.
Deadline-ul acestei etape este duminică, 3 martie 2013, ora 23:55.
Se va realiza reprezentarea interna a tablei de joc si a pieselor de joc, precum si o interfatare cu programul Winboard.
Interfatarea va presupune posibilitatea de a interpreta si interactiona cu urmatoarele comenzi ale Winboard: xboard, new, force, go, white, black, quit, resign, move.
De asemenea programul va trebui sa primeasca miscari de la programul Winboard si sa trimita miscari legale. Nu este nevoie sa trimita orice miscare legala.
Este suficienta miscarea legala a unei singure piese (ex: pion, cal etc). Daca programul nu mai gaseste miscari valide va putea iesi din joc (prin resign sau orice alta metoda; de preferat una eleganta)
Punctaj etapa : 0.4 puncte
Programul va trebui sa poata interpreta orice miscare legala si de asemenea va trebui sa poata juca impotriva unui adversar prin intremediul programului Winboard.
O abordare cu miscari aleatorii, dar corecte, este suficienta pentru aceasta etapa.
Punctaj etapa: 0.5 puncte
Programul va trebui sa implementeze macar un algoritm de baza minimax pentru a putea juca impotriva unui adversar.
Punctaj etapa: 0.3 puncte
Aceasta etapa este dedicata implementarii unor algoritmi avansati pentru a creste calitatea jocului prestat de program. Este nevoie de cel putin doua tehnici avansate implementate pentru a obtine punctajul maxim.
O tehnica de imbunatatire avansata se poate referi si la un algoritm alpha-beta.
Se considera doua tehnici avansate si o augmentare a algoritmului alfa-beta printr-un mecanism de Iterative Deepening, sau printr-o euristica.
Punctaj etapa: 0.3 puncte
In cadrul acestei etape se va realiza un concurs intre proiectele realizate. In functie de numarul de proiecte finite realizate se va stabili formatul concursului: campionat, tournament tree sau grupe+tournament tree.
Punctajul aferent acestei etape este de 0.5 puncte si se va acorda dupa urmatorul algoritm: