Ik heb met behulp van Answer Set Programming de volgende oplossing gevonden:
Ronde 1:
play(1,6,3) play(1,8,3) play(1,7,4) play(1,11,4) play(1,5,5) play(1,9,5) play(1,3,6) play(1,10,6) play(1,1,7) play(1,12,7) play(1,2,8) play(1,4,8)
Ronde 2:
play(2,1,1) play(2,8,1) play(2,2,2) play(2,3,2) play(2,5,3) play(2,10,3) play(2,6,5) play(2,7,5) play(2,4,6) play(2,11,6) play(2,9,8) play(2,12,8)
Ronde 3:
play(3,2,1) play(3,7,1) play(3,4,2) play(3,5,2) play(3,1,3) play(3,3,3) play(3,6,4) play(3,10,4) play(3,11,5) play(3,12,5) play(3,8,6) play(3,9,6)
Ronde 4:
play(4,3,1) play(4,9,1) play(4,8,2) play(4,10,2) play(4,2,3) play(4,11,3) play(4,6,6) play(4,12,6) play(4,4,7) play(4,7,7) play(4,1,8) play(4,5,8)
Ronde 5:
play(5,5,1) play(5,11,1) play(5,7,2) play(5,12,2) play(5,1,4) play(5,4,4) play(5,2,5) play(5,8,5) play(5,9,7) play(5,10,7) play(5,3,8) play(5,6,8)
Ronde 6:
play(6,10,1) play(6,12,1) play(6,7,3) play(6,9,3) play(6,5,4) play(6,8,4) play(6,3,5) play(6,4,5) play(6,1,6) play(6,2,6) play(6,6,7) play(6,11,7)
Ronde 7:
play(7,1,2) play(7,6,2) play(7,4,3) play(7,12,3) play(7,2,4) play(7,9,4) play(7,5,6) play(7,7,6) play(7,3,7) play(7,8,7) play(7,10,8) play(7,11,8)
Ronde 8:
play(8,4,1) play(8,6,1) play(8,9,2) play(8,11,2) play(8,3,4) play(8,12,4) play(8,1,5) play(8,10,5) play(8,2,7) play(8,5,7) play(8,7,8) play(8,8,8)
play(1,6,3) wil zeggen dat in ronde 1 team 6 spel 3 speelt.
We zien dus bijvoorbeeld in ronde 1 dat de teams 6 en 8 tegen elkaar spelen in spel 3 en dat de teams 7 en 11 tegen elkaar spelen in spel 4.
Answer Set Programming (ASP,
https://en.wikipedia.org/wiki/Answer_set_programming) is een technologie die je in staat stelt om de oplossing van een probleem te vinden door het probleem in een formele taal op te schrijven die de computer kan begrijpen. Dit probleem kan je dan als input aan een ASP solver geven die het voor je oplost. Ik heb hier het programma Clingo gebruikt als ASP solver
http://potassco.sourceforge.net/
Ik ben niet helemaal na gegaan of het inderdaad aan alle voorwaarden voldoet. Als het goed is moet het helemaal kloppen, maar het kan natuurlijk zijn dat ik een foutje heb gemaakt bij de formalisatie van het probleem. Je mag het zelf nakijken
Laat maar weten als het niet klopt, dan kan ik kijken waar ik de fout gemaakt heb, en kan ik het verbeteren.