Sto cercando assistenza e idee per sviluppare un algoritmo per la scelta di squadre di calcio casuali in base ai livelli di abilità dei giocatori partecipanti.
Quello che ho fino ad ora è un elenco di giocatori partecipanti con livelli di abilità arbitrari tra 1 e 100. ad es.
PlayerA: 30,
PlayerB: 45,
PlayerC: 50,
PlayerD: 55,
PlayerE: 30,
PlayerF: 20,
PlayerG: 75,
PlayerH: 75
Mi piacerebbe poter scegliere squadre casuali, ma eseguirlo di nuovo in modo efficiente per offrire risultati diversi se i team non sembrano equi (anche se sulla carta corrispondono i livelli di competenza assegnati).
Ho già codificato un esempio che crea tutte le possibili combinazioni di squadre e le ordina prima per prima, in modo tale che crei in modo efficiente la funzionalità che permetta alla persona di colpire di nuovo il pulsante "randomize" e visualizzare immediatamente nuovi team. Tuttavia, questo è adatto solo per le squadre di 7 per lato (forse 8) in quanto ci sono troppe combinazioni dopo di essa e ci vuole troppo tempo per elaborare.
Qualcuno può suggerire un modo migliore per farlo per più di 8 giocatori? Ho provato l'opzione che imita il metodo del vecchio cantiere per scegliere i giocatori prendendo i due migliori giocatori come capitani e poi ogni giocatore che prende il meglio di chi è rimasto fino a quando tutti sono stati scelti, ma poi sono rimasto perplesso se quelle squadre non fossero state Sono accettabili e volevano un'opzione per randomizzare di nuovo.
Mille grazie - lo sto codificando in C # ma la lingua è probabilmente meno importante della teoria.