Ik ben momenteel bezig aan een script dat gegeven X spelers, X-1 speeldagen scheduled. Op elke dag speelt een speler dus tegen een ander spelen. Totaal zijn er dus X*(X-1)/2 partijen over X-1 dagen.
Voor 8 spelers heb ik het volgende schema:
Een groepje van 2 stelt dus een partij voor, en een lijn is een speeldag. Mijn probleem is echter dat ik geen geldig algoritme vind om deze (X-1)*X matrix op te stellen.
Zoeken op het internet levert me wel algoritmes op om permutaties te maken, maar het is veel te onefficient om alle X! permutaties te maken, en dan te kijken welke er geldig zijn. Ik kan natuurlijk 1 keer een run doen om voor een bepaalde X zo een matrix op te stellen, en die dan hard-coded in het programma te zetten, maar dat is geen mooie oplossing vind ik
Ik wilde het eens in Prolog proberen, want ik ben er zeker van dat het daar makkelijk in is, maar ik vind m'n cursus van 2 jaar geleden helaas niet meer...
Is er dus iemand die me hiermee kan helpen of nuttige tips heeft ?
Voor 8 spelers heb ik het volgende schema:
code:
1
2
3
4
5
6
7
| (1 8)(2 7)(3 6)(4 5) (1 7)(2 8)(3 5)(4 6) (1 5)(2 6)(3 7)(4 8) (1 6)(2 5)(3 8)(4 7) (1 4)(2 3)(5 6)(7 8) (1 3)(2 4)(5 8)(7 6) (1 2)(3 4)(5 7)(6 8) |
Een groepje van 2 stelt dus een partij voor, en een lijn is een speeldag. Mijn probleem is echter dat ik geen geldig algoritme vind om deze (X-1)*X matrix op te stellen.
Zoeken op het internet levert me wel algoritmes op om permutaties te maken, maar het is veel te onefficient om alle X! permutaties te maken, en dan te kijken welke er geldig zijn. Ik kan natuurlijk 1 keer een run doen om voor een bepaalde X zo een matrix op te stellen, en die dan hard-coded in het programma te zetten, maar dat is geen mooie oplossing vind ik
Ik wilde het eens in Prolog proberen, want ik ben er zeker van dat het daar makkelijk in is, maar ik vind m'n cursus van 2 jaar geleden helaas niet meer...
Is er dus iemand die me hiermee kan helpen of nuttige tips heeft ?