Beste ... Ik zit op een dart vereniging. hierbij houden wij een competitie verband. vereniging heeft 24 mensen en 8 dartborden. dit houdt in dat er groepjes van drie worden gevormd. 3 keer 8 is tenslote 24.
Het probleem is nu echter dat je vaak tegen dezelfde speler speelt en tegen een ander bijna nooit. zelf heb ik wel is geprobeert om hiervoor iets te vinden, maar dit is tot op heden niet gelukt.
Is hiervoor toevallig een mooi systeem of wiskundige software om dit op te lossen. tevens spelen we dan 2 sessies op 1 avond. 1 sessie is 2 partijen spelen 1 partij schrijven (groepje van drie) A tegen B, C schrijft. B tegen C en A schrijft en A tegen C terwijl B schrijft.
Met vriendelijke groet,
Sander Nielen
sander
Student hbo - vrijdag 18 september 2009
Antwoord
Hallo, Sander. Pas brute rekenkracht toe, als volgt:
Declareer in Pascal: groep=array[1..40,1..24] of 1..8 {groep[k,n] is groepnummer van speler nummer n op avond nummer k}.
De kern van het programma is dan:
minimum:=10000;{initialisatie} repeat for k:=1 to 40 do begin for n:=1 to 24 do groep[k,n]:=0;{initialisatie} for l:=1 to 8 do for m:=1 to 3 do begin repeat n:=1+random(24) until groep[k,n]=0; groep[k,n]:=l end end; p:=0;{teller van doublures} for k1:=1 to 40 do for k2:=k1+1 to 40 do for n1:=1 to 24 do for n2:=n1+1 to 24 do if ((groep[k1,n1]=groep[k1,n2]) and (groep[k2,n1]=groep[k2,n2])) then p:=p+1; if not p ≥ minimum then begin minimum:=p; writeln;writeln(p:7); for k:=1 to 40 do begin writeln('avond',k:3);write('***'); for n:=1 to 24 do write(n:3,groep[k,n]:2,'*'); writeln end end until false
Wacht nu geduldig tot er een jaarrooster uitrolt waar je blij mee bent.