Discussione:Algoritmo di Berger
Vorrei segnalare che l'algoritmo in PHP è sbagliato...
Usando ad esempio:
$arrSquadre = array("Inter","Milan","Roma","Juve","Samp","Napoli","Lazio") ;
Si ottiene il seguente calendario:
1a Giornata Lazio - Inter Napoli - Milan Samp - Roma Juve - Juve
2a Giornata Inter - Milan Roma - Lazio Juve - Napoli Juve - Samp
3a Giornata Roma - Inter Milan - Juve Lazio - Juve Napoli - Samp
4a Giornata Inter - Juve Juve - Roma Samp - Milan Napoli - Lazio
5a Giornata Juve - Inter Juve - Samp Roma - Napoli Milan - Lazio
6a Giornata Inter - Samp Napoli - Juve Lazio - Juve Milan - Roma
- Non si tratta di un errore: l'algoritmo di Berger è valido solo per un numero pari di giocatori, come si può leggere nel paragrafo "Caratteristiche dell'algoritmo" --Synnax (msg) 18:11, 11 feb 2013 (CET)
Non corrispondenza
modificaConsiderando 6 squadre, 3 devono fare 3 partite in casa e 2 in trasferta, 3 devono farne 3 in trasferta e 2 in casa. Chiamando le squadre 6, 5, 4, 3, 2, 1 e lanciando lo script php si vedrà che la squadra 5 effettuerà 4 trasferte e 1 partita in casa. L'errore è dovuto probabilmente a una inversione con la squadra 4 che fa 2 trasferte e 3 partite in casa. Non è però sufficiente invertire la partita 4-5. Riporto come si giocherebbe a scacchi un girone a 6 squadre (in parentesi quello che si ottiene con lo script):
1° turno 1-6; 2-5; 3-4 (1-6; 2-5; 3-4)
2° turno 6-4; 5-3; 1-2 (6-5; 4-1; 3-2)
3° turno 2-6; 3-1; 4-5 (4-6; 5-3; 1-2)
4° turno 6-5; 1-4; 2-3 (6-3; 2-4; 1-5)
5° turno 3-6; 4-2; 5-1 (2-6; 3-1; 4-5)
Inoltre, nel caso di un girone a 5 squadre, supponendo quindi 6=riposo, si avrebbe ugual numero di partite in casa e in trasferta.
Le tabelle Berger utilizzate negli scacchi sono recuperabili qui: http://www.fide.com/component/handbook/?id=20&view=category
Cordialmente