Жеребьёвка по-нашему

Якщо Ви не знаєте, в який розділ писати, пишіть сюди!
Відповісти
Аватар користувача
Небайдужий
Advanced Member
Повідомлень: 4834
З нами з: 01 січня 2007, 13:26
Розряд: 6k
Звідки: м. Рівне
Контактна інформація:

Re: Жеребьёвка по-нашему

Повідомлення Небайдужий »

Чудово, можу надіслати електронною поштою текст принципів жеребкування Корсака українською або російською мовою.
Повідомте мені вашу електронну адресу.
AlterEgo
Advanced Member
Повідомлень: 1650
З нами з: 06 січня 2007, 14:23
Звідки: Киев
Контактна інформація:

Re: Жеребьёвка по-нашему

Повідомлення AlterEgo »

Пока проходил последний турнир, я постарался применить свой алгоритм жеребьёвки на примере из реальной жизни, который был тут же под рукой.

Выяснился интересный момент: оказывается, у нас бывают штрафные очки, которые понижают стартовую группу Мак-Магона провинившегося ранее игрока. Пришлось реализовать. В нашем примере таковым оказался Викотор Кокозей. Он имеет минус одно очко к своей группе.
Pl. Name              Rating Group I MMS SOS SODOS SOSOS SOUD 
1.  Качановский Артём     2675 22 7?   22 0 0 0 0 
2.  Богацкий Дмитрий      2601 22 8?   22 0 0 0 0 
3.  Кравец Андрей         2585 22 9?   22 0 0 0 0 
4.  Кокозей Владимир      2406 22 10?  22 0 0 0 0 
5.  Яценко Дмитрий        2393 22 11?  22 0 0 0 0 
6.  Скочко Василий        2391 22 12↓? 22 0 0 0 -1 
7.  Михалюк Юрий          2322 22 1?   22 0 0 0 0 
8.  Богацкий Аркадий      2304 22 2?   22 0 0 0 0 
9.  Королёв Роман         2302 22 3?   22 0 0 0 0 
10. Плющ Юрий             2283 22 4?   22 0 0 0 0 
11. Ружанский Роман       2269 22 5?   22 0 0 0 0 
12. Кокозей Виктор        2293 21 6↑?  21 0 0 0 1 
13. Крушельницкий Валерий 2091 20 14?  20 0 0 0 0 
14. Денисенко Андрей      2089 20 13?  20 0 0 0 0 
15. Кревсун Александр     1946 19 17↓? 19 0 0 0 -1 
16. Антропов Кирилл       1886 18 18↓? 18 0 0 0 -1 
17. Кузнечиков Сергей     1850 18 15↑? 18 0 0 0 1 
18. Пилипчук Андрей       1766 17 16↑? 17 0 0 0 1 
19. Зубарев Владимир      1611 16 21↓? 16 0 0 0 -1 
20. Кубрак Дарья          1543 15 22?  15 0 0 0 0 
21. Гилязов Александр     1511 15 19↑? 15 0 0 0 1 
22. Хведченя Ярослав      1504 15 20?  15 0 0 0 0 
23. Супрун Сергей         1448 14 24?  14 0 0 0 0 
24. Качановский Владимир  1427 14 23?  14 0 0 0 0 
25. Орловский Виктор      1344 13 27?  13 0 0 0 0 
26. Малко Ярослав         1337 13 29↓? 13 0 0 0 -1 
27. Ясинский Станислав    1300 13 25?  13 0 0 0 0 
28. Левенко Павел         1278 12 30↓? 12 0 0 0 -1 
29. Карелов Анатолий      1245 12 26↑? 12 0 0 0 1 
30. Сильницкая Татьяна    1107 11 28↑? 11 0 0 0 1 
31. Тихий Юрий            1031 10 33↓? 10 0 0 0 -1 
32. Исаенко Анна           962  9 34?   9 0 0 0 0 
33. Тарасенко Светлана     937  9 31↑?  9 0 0 0 1 
34. Коробка Сергей         908  9 32?   9 0 0 0 0 
35. Колодяжный Андрей      845  8 37↓?  8 0 0 0 -1 
36. Шут Роман              698  6 38?   6 0 0 0 0 
37. Ружанская Камилла      668  6 35↑?  6 0 0 0 1 
38. Дробилко Юрий          643  6 36?   6 0 0 0 0 
39. Берко Сергей           585  5 41?   5 0 0 0 0 
40. Устенко Тамара         552  5 42↓?  5 0 0 0 -1 
41. Бирюков Юрий           509  5 39?   5 0 0 0 0 
42. Шут Ольга              437  4 40↑?  4 0 0 0 1 
43. Петрашевская Ника      384  3 44?   3 0 0 0 0 
44. Дударь Константин      350  3 43?   3 0 0 0 0 
45. Общин Василий          171  1 47↓?  1 0 0 0 -1 
46. Шередеко Георгий        21  0 ½     1 0 0 0 0 
47. Зарецкий Василий        14  0 45↑?  0 0 0 0 1
Приведённая выше жеребьёвка в нижней её части отличается от фактически применённой на турнире, поскольку главный судья не имел времени применять принципы Корскака для всех игроков и потому провёл жеребьёвку вручную только верхней частью таблицы, а остальное доверил программе Герлаха.

Жеребьёвка второго тура, насколько бегло видно, в значимой части не отличается.
Pl. Name             Rating Group I II MMS SOS SODOS SOSOS SOUD 
1.  Качановский Артём     2675 22 7+   4+   24 46 46 92 0 
2.  Богацкий Дмитрий      2601 22 8+   5-   23 47 23 90 0 
3.  Кравец Андрей         2585 22 9+   6-   23 47 23 89 0 
4.  Кокозей Владимир      2406 22 10+  1-   23 46 22 92 -1 
5.  Яценко Дмитрий        2393 22 11+  2+   24 45 45 94 -1 
6.  Скочко Василий        2391 22 12↓+ 3+   24 45 45 91 -1 
7.  Михалюк Юрий          2322 22 1-   10+  23 46 22 92 1 
8.  Богацкий Аркадий      2304 22 2-   11+  23 45 22 94 0 
9.  Королёв Роман         2302 22 3-   13↓+ 23 44 21 91 -1 
10. Плющ Юрий             2283 22 4-   7-   22 46 0 92 0 
11. Ружанский Роман       2269 22 5-   8-   22 47 0 90 1 
12. Кокозей Виктор        2293 21 6↑-  15↓+ 22 44 20 86 0 
13. Крушельницкий Валерий 2091 20 14+  9↑-  21 44 21 84 0 
14. Денисенко Андрей      2089 20 13-  16↓+ 21 40 19 82 -2 
15. Кревсун Александр     1946 19 17↓+ 12↑- 20 41 19 81 1
А вот третий тур у меня вызвал вопрос: насколько я в курсе, на понижение должен был пойти Яценко (как показано ниже), однако в турнире произошло несколько иначе.
Pl. Name Rating Group I II III MMS SOS SODOS SOSOS SOUD 
1.  Качановский Артём     2675 22 7+   6+   3?   24 46 46 92 0 
2.  Яценко Дмитрий        2393 22 10+  4+   7↓?  24 45 45 94 -1 
3.  Скочко Василий        2391 22 12↓+ 5+   1?   24 45 45 91 -1 
4.  Богацкий Дмитрий      2601 22 8+   2-   9?   23 47 23 90 0 
5.  Кравец Андрей         2585 22 9+   3-   8?   23 47 23 89 0 
6.  Кокозей Владимир      2406 22 11+  1-   10↓? 23 46 22 92 -1 
7.  Михалюк Юрий          2322 22 1-   11+  2↑?  23 46 22 92 1 
8.  Богацкий Аркадий      2304 22 4-   10+  5?   23 45 22 94 0 
9.  Королёв Роман         2302 22 5-   13↓+ 4?   23 44 21 91 -1 
10. Ружанский Роман       2269 22 2-   8-   6↑?  22 47 0 90 1 
11. Плющ Юрий             2283 22 6-   7-   12?  22 46 0 92 0 
12. Кокозей Виктор        2293 21 3↑-  15↓+ 11?  22 44 20 86 0 
13. Крушельницкий Валерий 2091 20 14+  9↑-  15↓? 21 44 21 84 0 
14. Денисенко Андрей      2089 20 13-  16↓+ 17↓? 21 40 19 82 -2 
15. Кревсун Александр     1946 19 17↓+ 12↑- 13↑? 20 41 19 81 1
Прошу Владимира Фёдоровича пояснить, где и что не так.
Korsak
Главный судья
Повідомлень: 1152
З нами з: 13 березня 2003, 10:05

Re: Жеребьёвка по-нашему

Повідомлення Korsak »

Насколько я помню турнир выиграл Кравец с абсолютным результатом 5 побед в 5 партиях. А у Вас он уже после второго тура имеет одно поражение. Поэтому не удивительно что жеребьевка третьего тура не совпала.

С уважением, Владимир Корсак
AlterEgo
Advanced Member
Повідомлень: 1650
З нами з: 06 січня 2007, 14:23
Звідки: Киев
Контактна інформація:

Re: Жеребьёвка по-нашему

Повідомлення AlterEgo »

Спасибо, ошибку в данных исправил. Но всё равно не до конца сходится. В чём тут дело?
Pl. Name Rating Group I II III MMS SOS SODOS SOSOS SOUD 
1. Качановский Артём       2675 22 7+   5+   3?   24 46 46 92 0 
2. Кравец Андрей           2585 22 9+   6+   7↓?  24 46 46 91 -1 
3. Яценко Дмитрий          2393 22 10+  4+   1?   24 45 45 94 0 
4. Богацкий Дмитрий        2601 22 8+   3-   9?   23 47 23 90 0 
5. Кокозей Владимир        2406 22 11+  1-   8?   23 46 22 92 0 
6. Скочко Василий          2391 22 12↓+ 2-   11↓? 23 46 22 89 -2 
7. Михалюк Юрий            2322 22 1-   11+  2↑?  23 46 22 92 1 
8. Богацкий Аркадий        2304 22 4-   10+  5?   23 45 22 94 0 
9. Королёв Роман           2302 22 2-   13↓+ 4?   23 45 21 90 -1 
10. Ружанский Роман        2269 22 3-   8-   12?  22 47 0 90 0 
11. Плющ Юрий              2283 22 5-   7-   6↑?  22 46 0 92 1 
12. Кокозей Виктор         2293 21 6↑-  15↓+ 10?  22 43 20 87 0 
13. Крушельницкий Валерий  2091 20 14+  9↑-  15↓? 21 44 21 85 0 
14. Денисенко Андрей       2089 20 13-  16↓+ 17↓? 21 40 19 82 -2 
15. Кревсун Александр      1946 19 17↓+ 12↑- 13↑? 20 41 19 80 1
Korsak
Главный судья
Повідомлень: 1152
З нами з: 13 березня 2003, 10:05

Re: Жеребьёвка по-нашему

Повідомлення Korsak »

Наверное потому что второй раз Василия Ивановича понизить хотите.

Я уже как то говорил что будь моя воля то отменил бы учет понижений/повышений. Потому как алгоритм не обращая внимания на историю предлагает понижать/повышать того кого нужно. Но это слишком революционное предложение, хотя в его справедливости у меня сомнений не много. Уж очень у всех в сознании заложено что ездить нужно по правой стороне, хотя в ряде стран без проблем ездят и по левой :) .
Но пока в реальных турнирах я все еще пытась подьемы/спуски учитывать, хоть и под небезусловным приоритетом.
В программе, я думаю, должна быть опция - учитывать подьемы/спуски или нет.

С уважением, Владимир Корсак
AlterEgo
Advanced Member
Повідомлень: 1650
З нами з: 06 січня 2007, 14:23
Звідки: Киев
Контактна інформація:

Re: Жеребьёвка по-нашему

Повідомлення AlterEgo »

Вечно к Василию Ивановичу особый подход нужен. ;)

У меня раньше с условными приоритетами какие-то сложности были, поэтому я их отложил. Сейчас тут, под африканским солнышком, есть немного свободного от отдыха времени - так что опцию реализую.
AlterEgo
Advanced Member
Повідомлень: 1650
З нами з: 06 січня 2007, 14:23
Звідки: Киев
Контактна інформація:

Re: Жеребьёвка по-нашему

Повідомлення AlterEgo »

Продолжим. Для удобства данные в промежуточных таблицах отсортированы так, как удобно для жеребьёвки.
Товарищи типа Василия Ивановича понижаются по возможности не более одного раза (реализовано на уровне сортировки с отслеживнием коэффициента понижения среднего игрока в группе).
Pl. Name Rating Group I II III MMS SOS SODOS SOSOS SOUD 
1.  Качановский Артём     2675 22 7+   5+   3-   24 46 46 92 0 
2.  Кравец Андрей         2585 22 9+   6+   7↓+  24 46 46 91 0 
3.  Яценко Дмитрий        2393 22 12+  4+   1+   24 45 45 94 0 
4.  Богацкий Дмитрий      2601 22 8+   3-   9+   23 47 23 90 0 
5.  Кокозей Владимир      2406 22 11+  1-   12↓+ 23 46 22 92 0 
6.  Скочко Василий        2391 22 10↓+ 2-   8-   23 46 22 89 -1 
7.  Михалюк Юрий          2322 22 1-   11+  2↑-  23 46 22 92 0 
8.  Богацкий Аркадий      2304 22 4-   12+  6+   23 45 22 94 0 
9.  Королёв Роман         2302 22 2-   13↓+ 4-   23 45 21 90 -1 
10. Кокозей Виктор        2293 21 6↑-  15↓+ 11-  22 43 20 87 0 
11. Плющ Юрий             2283 22 5-   7-   10+  22 46 0  92 0 
12. Ружанский Роман       2269 22 3-   8-   5↑-  22 47 0  90 0 
13. Крушельницкий Валерий 2091 20 14+  9↑-  15↓+ 21 44 21 85 1 
14. Денисенко Андрей      2089 20 13-  16↓+ 17↓+ 21 40 19 82 -1 
15. Кревсун Александр     1946 19 17↓+ 10↑- 13↑- 20 41 19 80 0 
16. Антропов Кирилл       1886 18 18↓+ 14↑- 19↓+ 19 38 17 78 0 
17. Кузнечиков Сергей     1850 18 15↑- 18↓+ 14↑- 19 37 17 79 0 
18. Пилипчук Андрей       1766 17 16↑- 17↑- 20-  17 38 0  75 2 
19. Зубарев Владимир      1611 16 20↓- 23↓+ 16↑- 17 32 15 64 -2 
20. Гилязов Александр     1511 15 19↑+ 21+  18+  17 33 33 65 1
Если ничего не пропустил, жеребьёки верхней части таблиц для третьего тура теперь совпадают.
А для четвёртого - нет. Прошу пояснить, что не так, ошибки в алгортме не вижу.
Pl. Name Rating Group I II III IV MMS SOS SODOS SOSOS SOUD 
1.  Кравец Андрей         2585 22 9+   7+   8↓+  2?   25 69 69 214 -1 
2.  Яценко Дмитрий        2393 22 12+  4+   3+   1?   25 70 70 217 0 
3.  Качановский Артём     2675 22 8+   5+   2-   6?   24 72 47 211 0 
4.  Богацкий Дмитрий      2601 22 6+   2-   9+   5?   24 72 47 210 0 
5.  Кокозей Владимир      2406 22 10+  3-   12↓+ 4?   24 69 45 214 -1 
6.  Богацкий Аркадий      2304 22 4-   12+  7+   3?   24 69 45 216 0 
7.  Скочко Василий        2391 22 11↓+ 1-   6-   9?   23 71 22 204 -1 
8.  Михалюк Юрий          2322 22 3-   10+  1↑-  12↓? 23 72 23 210 1 
9.  Королёв Роман         2302 22 1-   13↓+ 4-   7?   23 71 22 206 -1 
10. Плющ Юрий             2283 22 5-   8-   11+  13↓? 23 69 22 207 0 
11. Кокозей Виктор        2293 21 7↑-  15↓+ 10-  14?  22 66 20 203 0 
12. Ружанский Роман       2269 22 2-   6-   5↑-  8↑?  22 73 0  208 1 
13. Крушельницкий Валерий 2091 20 14+  9↑-  15↓+ 10↑? 22 65 42 195 0 
14. Денисенко Андрей      2089 20 13-  16↓+ 17↓+ 11?  22 61 39 180 -2 
15. Кревсун Александр     1946 19 17↓+ 11↑- 13↑- 16?  20 63 19 190 1 
16. Антропов Кирилл       1886 18 19↓+ 14↑- 20↓+ 15?  20 56 34 171 -1 
17. Кузнечиков Сергей     1850 18 15↑- 19↓+ 14↑- 18↓? 19 59 17 181 1 
18. Гилязов Александр     1511 15 20↑+ 21+  19+  17↑? 18 51 51 160 1 
19. Пилипчук Андрей       1766 17 16↑- 17↑- 18-  21?  17 57 0  166 2 
20. Зубарев Владимир      1611 16 18↓- 23↓+ 16↑- 22?  17 53 15 156 -1
Korsak
Главный судья
Повідомлень: 1152
З нами з: 13 березня 2003, 10:05

Re: Жеребьёвка по-нашему

Повідомлення Korsak »

В группе Скочко, Михалюк, Королев , Плющ, отсортированной так по рейтингу нет возможности составить "правильные" пары (1-3, 2-4) Скочко - Королев, Михалюк - Плющ, т.к Михалюк с Плющом уже играли. Но программа продолжает идти по "алгоритму" - Сводит Скочко с Королевым, а затем наткнувшись на запрет игры Михалюка с Плющом отправляет обоих на понижение в следующую очковую группу. Хотя имелась возможность перетасовать сортировку, поменяв местами двух нижних и сразу же получалась нужная жеребьевка Скочко - Плющ, Михалюк - Королев.
В группе имеющей четное количество игроков если не сходится "правильная" жеребьевка (1-3, 2-4), нужно делать перетасовку рейтинговой сортировки в определенной последовательности.
Продаю простой алгоритм этой последовательности.
Обозначаем игроков по рейтингу цифрами 1 2 3 4.
Минимальное число, которое можно составить из этих чисел - 1234, следующее 1243, затем 1324, потом 1342 и т.д. Это и есть та последовательность в которой нужно тасовать игроков. А пары все равно образуются по старому, т.е. первая цифра числа играет с третьей, а вторая - с четвертой.
Этот алгоритм применим и для 6 игроков в группе (1-4, 2-5, 3-6) и для 8 (1-5, 2-6, 3-7, 4-8) и для большего четного числа.
И только после того как перебраны все варианты сортировки и пары не удалось составить, то только тогда рассматривается вопрос понижения двух участников (самых слабых из верхней половины группы) и попытка составить пары из оставшихся игроков.
Нечетное количество еще более усложняет эту процедуру. Хотя если реализован алгоритм для четного количества, то усложнение минимальное - нужно только добавить функцию определения кандидата на понижение, после чего нечетная группа моментально становится четной и включается все описанное выше.

С уважением, Владимир Корсак
Аватар користувача
Shedal
Advanced Member
Повідомлень: 667
З нами з: 16 вересня 2005, 20:11

Re: Жеребьёвка по-нашему

Повідомлення Shedal »

Korsak,
Если игроков 10, то минимально возможное число — 10123456789. Так что, нужно оперировать не числами, составленными из чисел, а перестановками с порядком n (где n — количество игроков), перебирая их в лексикографическом порядке. Пример алгоритма описан здесь: http://rain.ifmo.ru/cat/view.php/vis/co ... tions-2000

Но это я уже к формулировке придрался :) Суть вы описали абсолютно понятно.
AlterEgo
Advanced Member
Повідомлень: 1650
З нами з: 06 січня 2007, 14:23
Звідки: Киев
Контактна інформація:

Re: Жеребьёвка по-нашему

Повідомлення AlterEgo »

Спасибо за пояснение, займусь реализацией.
А комбинаторикой я ещё в школе занимался (как и составлением алгоритмов). ;)
Відповісти