Круглый генератор графика 3 на 3 - PullRequest
0 голосов
/ 11 октября 2018

Меня попросили составить расписание раундов для волейбольного турнира 3 на 3, где должны быть соблюдены следующие критерии: (от самого важного к наименее важному)

Каждый игрок играет с другим не более одного раза. Каждый игрокможет сыграть как минимум 4 раза. Каждый игрок не может просидеть дольше одного раунда. Каждый игрок не играет против другого игрока более
, чем дважды

. Вопрос, который я пытаюсь использовать, - это тот случай, когда яИмеют: 40 игроков 4 корта

Я смог использовать полуфункциональное решение для 15 команд, но это стало слишком громоздким, чтобы делать это вручную, поэтому я подумывал попробовать программу на Java.Я не совсем уверен, как я могу сделать программу грубой силы, чтобы сделать это.В настоящее время я пытаюсь использовать список всех возможных команд из 3 человек и вставляю их в расписание.Затем повторяем их замену, пока игра не заработает.

Вот еще одна версия того же вопроса, заданного кем-то еще https://eso -community.net / viewtopic.php? T = 9816

Главный ответ здесь предоставил идеальные решения для команд 8-13

1 Ответ

0 голосов
/ 01 декабря 2018

Проблема с 40 игроками имеет огромное пространство для поиска, и я не верю, что какое-либо грубое решение сработает.Только подумайте о выборе 24 игроков, которые участвуют в одном раунде, есть 6x10 ^ 10 способов сделать это, и еще много способов назначить этих 24 игроков на 4 корта 3 против 3.

Это не такЯсно, как именно вы можете искать раунды.С 4 кортами по 6 игроков каждый оставляет 16 байсов за раунд.Поэтому любой кратный (i) из 5 раундов очень желателен, так как 16 x 5i = 80i, поэтому можно договориться о том, что на каждые сыгранные 5i раунды каждая из 40 команд имеет ровно 3i игры и 2i byes.Вы попросили «каждый игрок может сыграть как минимум 4 раза», поэтому лучший вариант - найти решение с 10 раундами, в котором у каждого игрока есть 6 игр.Вот один из возможных вариантов, когда все партнеры разные, а все противники разные.

  (38 15 11 v  7 25 23) (33 14  9 v 20 29 19) (40 16 27 v 37 28 21) (34 17  3 v 10 24 32)
  (39 11 12 v  8 21 24) (34 15 10 v 16 30 20) (36 17 28 v 38 29 22) (35 18  4 v  6 25 33)
  (40 12 13 v  9 22 25) (35 11  6 v 17 26 16) (37 18 29 v 39 30 23) (31 19  5 v  7 21 34)
  (36 13 14 v 10 23 21) (31 12  7 v 18 27 17) (38 19 30 v 40 26 24) (32 20  1 v  8 22 35)
  (37 14 15 v  6 24 22) (32 13  8 v 19 28 18) (39 20 26 v 36 27 25) (33 16  2 v  9 23 31)
  (36  5 33 v 12 32 15) (13  7 24 v 20  4  2) (25  1 28 v 30 10 31) (37 26 38 v  3  9 18)
  (37  1 34 v 13 33 11) (14  8 25 v 16  5  3) (21  2 29 v 26  6 32) (38 27 39 v  4 10 19)
  (38  2 35 v 14 34 12) (15  9 21 v 17  1  4) (22  3 30 v 27  7 33) (39 28 40 v  5  6 20)
  (39  3 31 v 15 35 13) (11 10 22 v 18  2  5) (23  4 26 v 28  8 34) (40 29 36 v  1  7 16)
  (40  4 32 v 11 31 14) (12  6 23 v 19  3  1) (24  5 27 v 29  9 35) (36 30 37 v  2  8 17)
...