Sportbajnokságok lebonyolítása

Minden sportágbajnokság lebonyolításának megvannak a maga sajátságos szabályai a versenyzők párba állítását illetően. Helyenként ezeket a szabályokat pszeudokóddá, majd programmá írják át, így automatizált lebonyolításúvá téve a rendszert. Ilyenek például a nemzetközi FIDE sakkbajnokságok. A legtöbb versenyen azonban manuálisan állítják fel a versenynaptárat, és a szabályok is inkább elérendő célokként vannak megfogalmazva programozható utasítások helyett. Például: “Aki az előző három kör mindegyikében játszott, ebben a körben csak az pihenjen.”, ami utasításként például úgy hangzik, hogy “Ha az i-1, i-2 és i-3 körben is aktív volt egy résztvevő, akkor őt i-re blokkoljuk, míg a többieken keressünk teljes párosítást”.
A szakdolgozó feladata egy saját maga által jól ismert bajnokság lebonyolítási szabályainak átültetése algoritmuselméleti nyelvre. Innen két út indul, amik közül a hallgató választ. Elméleti feladatként vállalható a kapott algoritmus futásidejének analízise, illetve a megengedett versenynaptár megtalálásának bonyolultságelméleti vizsgálata. Alkalmazott feladat az algoritmus programozása, és minden remény szerint kipróbálása éles bajnokságon.