Hallo,
Ik ben op dit moment bezig met een stukje programmatuur die het volgende moet berekenen:
Stel je hebt n aantal mensen, die in z eetrondes in y groepen moeten worden ingedeeld.
Het doel van het algoritme is dat elk persoon uiteindelijk zoveel mogelijk andere personen leert kennen.
Op dit moment pas ik dit toe door een soort van simulatie algoritme:
- Ik heb een kamer met y groepen.
- Vervolgens laat ik ze een voor een de 'kamer' binnenkomen.
- Op basis van een utility functie wordt de keuze bepaald tussen de groepen voor dat persoon
- Van elk persoon houd ik bij hoevaak hij elk ander persoon heeft gezien (waar de utility functie dus mee rekent).
- Dit proces herhalen voor elke sessie
Nu werkt dit best aardig met mooie aantallen. Bijvoorbeeld 16 personen, 4 groepen en 5 sessies. Je zal zien dat elk persoon elk ander persoon precies eenmaal ziet. Optimaal dus.
Echter stel ik nu 17 personen, 4 groepen, 5 sessies. Dan loopt het verkeerd. De 17e persoon ziet de helft van de personen 2x, andere personen weer geen een keer. Dit is niet gewenst.
Ik ben dus op zoek naar een algoritme waarbij voor elk individu:
- het aantal personen die hij kennismaakt maximaal is en
- de standaarddeviatie tussen de personen die hij kennismaakt minimaal
Hoewel ik algoritmes kan bedenken om het te verbeteren (bv door de volgorde van de kamer laten binnenlopen elke sessie anders te laten verlopen), blijf ik het lastig vinden om bewijs te vinden hoe optimaal het resultaat is.
Mijn vraag aan de informatici is in welke hoek ik moet zoeken?! Op welk algoritme probleem lijkt dit? Is het een combinatorisch probleem? NP-compleet?
Alvast bedankt!
Ik ben op dit moment bezig met een stukje programmatuur die het volgende moet berekenen:
Stel je hebt n aantal mensen, die in z eetrondes in y groepen moeten worden ingedeeld.
Het doel van het algoritme is dat elk persoon uiteindelijk zoveel mogelijk andere personen leert kennen.
Op dit moment pas ik dit toe door een soort van simulatie algoritme:
- Ik heb een kamer met y groepen.
- Vervolgens laat ik ze een voor een de 'kamer' binnenkomen.
- Op basis van een utility functie wordt de keuze bepaald tussen de groepen voor dat persoon
- Van elk persoon houd ik bij hoevaak hij elk ander persoon heeft gezien (waar de utility functie dus mee rekent).
- Dit proces herhalen voor elke sessie
Nu werkt dit best aardig met mooie aantallen. Bijvoorbeeld 16 personen, 4 groepen en 5 sessies. Je zal zien dat elk persoon elk ander persoon precies eenmaal ziet. Optimaal dus.
Echter stel ik nu 17 personen, 4 groepen, 5 sessies. Dan loopt het verkeerd. De 17e persoon ziet de helft van de personen 2x, andere personen weer geen een keer. Dit is niet gewenst.
Ik ben dus op zoek naar een algoritme waarbij voor elk individu:
- het aantal personen die hij kennismaakt maximaal is en
- de standaarddeviatie tussen de personen die hij kennismaakt minimaal
Hoewel ik algoritmes kan bedenken om het te verbeteren (bv door de volgorde van de kamer laten binnenlopen elke sessie anders te laten verlopen), blijf ik het lastig vinden om bewijs te vinden hoe optimaal het resultaat is.
Mijn vraag aan de informatici is in welke hoek ik moet zoeken?! Op welk algoritme probleem lijkt dit? Is het een combinatorisch probleem? NP-compleet?
Alvast bedankt!