5 Победителей судят, или Составление и оценка турнира
5
Победителей судят,
или Составление и оценка турнира
Едва ли не каждый из нас в свое время был болельщиком местной, чуть ли не самой сильной команды. Состоявшийся в конце сезона турнир должен был выявить чемпиона города, округа, штата, страны, мира или Вселенной. Но какое невезение — местные герои проиграли будущему победителю уже в первом круге турнира с немедленным выбыванием. Игра оказалась малоинтересной — никто даже не успел размяться. И ведь как обидно: самые настоящие слабаки в итоге занимают место, которое по праву должно принадлежать нашим парням, а болельщиков вместо волнующей борьбы в финале ждет убогое зрелище.
А виноват во всем турнир с немедленным выбыванием. Пусть имеется 2n команд, n > 0. Тогда в первом круге команда 1 играет с командой 2, команда 3 с командой 4, …, команда 2n ? 1 с командой 2n. Проигравшие вылетают, а победители выходят в следующий круг.
Рисунок 5.1. Простой турнир с немедленным выбыванием. Окончательное упорядочение, как это определено в тексте, имеет вид 1, 3, 5, 2, 8, 6, 4, 7.
На рис. 5.1 изображен турнир восьми команд. Если предположить, что более сильная команда всегда выигрывает (т. е. что не бывает срывов), лучшая команда, очевидно, завоюет первое место. Однако второй участник финальной игры может занимать в общей табели о рангах лишь место 2n?1 + 1 при условии, что все более сильные команды оказались в одной группе с победителем. Победитель по мере своего продвижения выведет из розыгрыша хорошие команды, и слабой команде достанутся совсем никудышные соперники. Избежать подобной ситуации можно несколькими способами. Во-первых, команды (в дальнейшем будем называть их соперниками) можно рассеять, чтобы сильные соперники (оценка дается по итогам предыдущих выступлений) разместились по всей турнирной сетке. Например, самый сильный соперник попадает в позицию 1, второй по силе — в 2n?1 + 1, третий — в 2n?1 + 2n?2 + 1, четвертый — в 2n?2 + 1 и т. д. Если предварительная оценка была достаточно точной, сильные соперники не выбьют друг друга в первых кругах. Во-вторых, можно устроить турнир с отложенным выбыванием, когда выбывают после двух поражений. Но на самом деле идеальным решением (хорошо бы еще и практичным!) был бы круговой турнир, в котором все соперники играют друг с другом ровно один раз. В предположении отсутствия срывов сильнейший соперник выиграет 2n ? 1 встреч и проиграет 0, второй по силе соответственно 2n — 2 и 1 (уступит лишь сильнейшему), …, а самый слабый — 0 и 2n ? 1 (проиграет всем). Трудность в том, что в круговом турнире нужно провести 2n?1(2n ? 1) встреч, в то время как в турнире с немедленным выбыванием лишь 2n ? 1.
Таблица 5.1. Пример турнира по швейцарской системе Круг 1 Победители Круг 2 Победители Круг 3 Победители Итоговые Пары Пары Пары результаты 1 1 1 1 1 1 1 (3-0) 8 2 3 3 (2-1) 2 2 3 3 5 2 2 (2-1) 7 5 2 4 (2-1) 3 3 8 8 4 4 5 (1-2) 6 7 (Срыв) 8 6 (1-2) 4 5 6 4 6 6 8 (1-2) 5 (Срыв) 4 7 7 (0-3) Этот турнир недостаточно велик, чтобы показать достоинства швейцарской системы.Оказавшись между двумя крайностями, выберем компромиссное решение — швейцарскую систему. В первом круге соперник, «посеянный» первым, встречается с последним, второй — с предпоследним и т. д. После каждого круга соперники упорядочиваются в соответствии с набранными очками. Внутри каждой группы (с равным количеством очков) соперники упорядочиваются по среднему числу очков у побежденных ими противников (тем самым ничья не учитывается). В следующем круге соперник, стоящий в описанной классификации на первом месте, встречается с соперником, занимающим наиболее высокое место из тех, с кем он еще не играл. Остальные пары определяются аналогичным образом: соперники должны иметь почти равное количество очков, причем повторные встречи не допускаются. В табл. 5.1 показан возможный трехкруговой турнир по швейцарской системе с восемью участниками. Крупный шахматный деятель Харкнесс утверждает, что турнир по швейцарской системе в
кругов, где N — число игроков, правильно расставит k + 1 первых игроков (и, из соображений симметрии, k + 1 последних игроков). Швейцарская система справедливее немедленного выбывания и гораздо быстрее круговой. Она позволяет всем соперникам играть в каждом круге. Вопрос состоит в том, как ведут себя подобные турниры в условиях реальных соревнований. Предположим, имеется 2n соперников. Соперник 1 — сильнейший, соперник 2 — второй по силе, …, соперник 2n — слабейший. Для начала проведем круговой турнир, записывая результаты каждого матча. Если встречаются соперники i и j, i < j, положим вероятность победы игрока i равной
1/2 + (j ? i)/2n+1.
Тем самым более сильный соперник побеждает с вероятностью, превышающей половину. Упорядочим соперников в соответствии с набранным в круговом турнире количеством очков. Внутри каждой группы команд с равным количеством очков упорядочим их по среднему числу очков, набранных побежденными ими соперниками. Если и здесь наблюдаются совпадения, соперники упорядочиваются по исходным номерам. В результате получается круговая классификация, которую мы будем считать самой «справедливой»; она используется для оценки других способов организации турниров.
Следующий шаг состоит в том, чтобы с одной и той же базой данных провести турниры по швейцарской системе и с немедленным выбыванием. Для разбиения соперников на пары в каждом из этих турниров берутся результаты кругового турнира. Заметьте, что в обоих турнирах два соперника могут встретиться лишь однажды. Швейцарская классификация — это упорядочение после заключительного круга (всего n кругов), причем все оставшиеся неясности разрешаются в соответствии с начальным упорядочением. Затем начните турнир с немедленным выбыванием, составив пары для первого круга случайным образом. В классификации по выбыванию победитель финальной встречи идет первым, побежденный — вторым, и, вообще, проигравшие в i-м круге располагаются перед ранее выбывшими и после всех победивших в i-м и следующих кругах. Внутри группы побежденных в i-м круге соперники располагается в соответствии с итоговыми местами победивших их команд.
Чтобы сравнить эти классификации, используем новую и старую статистики, Старая статистика — это корреляция мест определяемая как
R = 1 ? 6
(хi ? yi)2/(N3 ? N),
где xi — место соперника i в одной классификации, уi — место в другой классификации, N — общее число соперников (в данном случае 2n). Другая статистика подсчитывает совпадения и определяется как
М = maxi (?j) (j ? i ? хj = уj).
Тем самым М равно максимальному числу мест (считая от сильнейших к слабейшим), в которых обе классификации в точности совпадают. Статистика R характеризует близость двух классификаций в целом, а M — совпадение верхних частей классификаций[11].
Тема. Напишите программу, читающую исходное значение n, проводящую каждый из трех турниров для 2n соперников и вычисляющую статистики R и M для каждой из трех пар классификаций. Проведите эксперимент большое число раз с постоянным значением n и подсчитайте средние значения M и R. Сравните, какая из двух систем — швейцарская или с немедленным выбыванием — лучше повторяет результаты кругового турнира.
Указания исполнителю. Разумеется, нужно досконально разбираться в разных системах проведения турниров, нужно эффективно программировать подбор пар. Но не упустите из виду еще один момент. Размеры кругового турнира заставляют эффективно запрограммировать внутренний цикл и экономно расходовать память для хранения результатов встреч. Разумеется, вам понадобится хороший генератор случайных чисел для определения результатов встреч. Наконец, при швейцарской системе возможны попытки дважды свести одну и ту же пару соперников, поэтому либо докажите, что такого не произойдет, либо измените алгоритм, избегая повторных встреч, но подчиняясь общему правилу: старайтесь сводить в пары соперников, набравших почти равное количество очков.
Инструментовка. Годится алгебраический процедурный язык с хорошими управляющими структурами цикла. Возможно, подойдет и APL или другой язык обработки массивов, если только вы сумеете так организовать турниры, чтобы стала выгодной параллельная обработка всех соперников.
Длительность исполнения. Одному исполнителю на 2 недели.
Развитие темы. Большинство расширений включает более подробный анализ и сравнение систем проведения турниров. Во-первых, заметьте, что нижняя часть классификации по итогам турнира с немедленным выбыванием носит довольно произвольный характер. Кроме того, соперникам, попавшим в эту часть классификации, весьма тоскливо, ибо они рано вылетели. Для утешения можно организовать турниры с немедленным выбыванием среди неудачников каждого круга. Результаты этих турниров, а не приведенное выше правило, расставят неудачников по местам. Поскольку и в этих побочных турнирах будут проигравшие, организуйте турниры неудачливых неудачников, и так до посинения. Заметьте, что турнир по-прежнему пройдет в n кругов, но теперь все соперники будут участниками всех кругов. Если во всех встречах побеждают сильнейшие, этот, более тщательно организованный турнир превращается в законченный алгоритм сортировки.
Вообще, турниры — это сортировка участвующих в них соперников, хотя правило сравнения и носит вероятностный характер. На основе любого метода сортировки, не нарушающего двух основных правил турниров, можно организовать состязание. Вот основные правила:
1. Ни один из соперников не должен участвовать более чем в одном матче одного круга, а число кругов должно примерно равняться логарифму числа участников.
2. Никакие два соперника не должны встречаться больше одного раза.
Используя изложенные идеи, вы можете оценить и классические способы проведения турниров, такие, как отложенное выбывание, и способы, придуманные вами.
В голову приходит также несколько статистических вопросов. Как влияет частичное или полное рассеивание на турниры с немедленным выбыванием? Как влияет случайная жеребьевка (т. е. случайное составление начальных пар) на ход турниров по швейцарской системе? Каков будет эффект введения иной функции превосходства? Наконец, поскольку для получения итоговой статистики по нескольким экспериментам, видимо, нельзя просто усреднять две наши статистики, спрашивается: какая статистическая операция должна быть использована?
Литература
Харкнесс (Harkness К.). Official Chess Handbook. David McKay, New York, NY, 1967.
Книга Харкнесса содержит исчерпывающее изложение шахматной юрисдикции. Поскольку швейцарская система сделала возможным проведение в Соединенных Штатах больших открытых турниров, автор чрезвычайно подробно излагает все ее тонкости. В книге содержится много предложений по разрешению неясных ситуаций и упорядочению игроков.
Кнут (Knuth D. E.). The Art of Computer Programming/Seminumerical Algorithms. Addison-Wesley, Reading, MA, 1969. [Имеется перевод: Кнут Д. Искусство программирования для ЭВМ. Т. 2. Получисленные алгоритмы. — М.: Мир, 1977.]
Глава 3 этой «библии» посвящена случайным числам, их порождению и использованию. Вы узнаете об опасности трюкачества в этой области. Рекомендуем вам воспользоваться генератором Макларена — Марсальи, который Д. Кнут описывает в алгоритме М.
Хоэль (Hoel G.) Introduction to Mathematical Statistics. Wiley, New York, NY, 1971.
Для нестатистиков корреляция и прочая статистическая магия кажутся совершенно недоступными человеческому разуму. Автор строго излагает основы статистики, не обманывая читателя.
* Кнут Д. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск», п. 5.3.3. Пер. с англ. — М.: Мир, 1978.
* Шахматный кодекс СССР. — М.: Физкультура и спорт, 1977.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Составление/разбиение строк
Составление/разбиение строк substrВозвращает участок строки с определенной длиной.Синтаксис:string substr(string str, int start [,int length])Возвращает участок строки str, начиная с позиции start и длиной length. Если length не задана, то подразумевается подстрока от start до конца строки str. Если start больше,
Составление резюме
Составление резюме При поиске работы вас рано или поздно попросят прислать свое резюме. Для работодателей это ваша визитная карточка или одежка, по которой вас встретят. Роль резюме очень велика: оно составляет о вас первое впечатление, которое в дан —ном случае
Составление семантического ядра
Составление семантического ядра Как создается семантическое ядро или поле для подавляющего большинства русскоязычных сайтов?Обычно все начинается с клиента, который приходит в веб-студию или к штатному специалисту и просит создать сайт, посвященный тому, что продает
Составление семантического ядра
Составление семантического ядра Основой для оптимизации сайта является набор поисковых слов, полностью охватывающих тематическое поле компании (или сайта, так как компания может работать в нескольких областях). Этот набор поисковых запросов называется семантическим
12.2. Составление плана. Начало работы
12.2. Составление плана. Начало работы Перед началом исследования часто советуют разработать его подробный план. Но план реально отражает содержание будущей работы только в том случае, если автор знаком с темой или хотя бы имеет доступ к научным и учебным материалам,
Составление документа и вставка полей
Составление документа и вставка полей Эта группа в меню позволяет составить документ, который вы потом разошлете многим адресатам.Представьте себе письмо (рис. 1.105).Часть письма одинакова для всех, кому оно предназначено, но имя и адрес нужно вписать каждому свой.Область
Составление сметы и ведомости работ
Составление сметы и ведомости работ Кроме составленных планов и схем к проекту обязательно прилагается ведомость объемов работ, которая включает в себя общее количество основных работ на участке. Такую ведомость удобно оформлять в программе Microsoft Excel (рис. 2.7). Рис. 2.7.
7. Крисс-кросс, или Эвристическое составление головоломки
7. Крисс-кросс, или Эвристическое составление головоломки Многие считают кроссворды слишком трудной головоломкой, потому что отгадать слово им не под силу. Но вписывать буквы в клетки нравится. Для подобных людей существует более простая головоломка — крисс-кросс.Каждый
Предсказания и составление «индивидуальных» гороскопов
Предсказания и составление «индивидуальных» гороскопов Узнать свое будущее в той или иной степени интересно большинству обывателей. Кто-то для этого учится расшифровывать сны, кто-то ходит к гадалкам, а с появлением Интернета появилась возможность находить и изучать
Глава 4 Расчет и составление смет
Глава 4 Расчет и составление смет Важным этапом при планировании и проведении ремонта или строительства является составление смет на материалы и текущие расходы. В данной главе описаны программные продукты, предназначенные для автоматизации таких учетных
Составление сметы и вывод ее на печать
Составление сметы и вывод ее на печать Для подготовки сметы и вывода ее на печать необходимо перейти в режим редактирования актов выполненных работ. Для этого предназначена команда Вид ? Акты выполненных работ или комбинация клавиш Ctrl+K. После выполнения одного из
Составление смет
Составление смет Порядок составления строительных смет для ремонта квартиры или офиса в программе «Мини-Смета» следующий.Запустите режим формирования смет с помощью команды меню Ремонт ? Сметы. Появится окно Сметы (рис. 4.26), содержащее список ранее подготовленных смет (у
5.3.3.3 Оценка
5.3.3.3 Оценка Оценка является последним этапом процесса оценивания программного обеспечения, на котором обобщается множество установленных уровней. Результатом является заключение о качестве программной продукции. Затем обобщенное качество сравнивается с другими
Здравствуйте, Доктор Зло! Победителей ненавидят, но это не повод не искать стратегию Евгений Золотов
Здравствуйте, Доктор Зло! Победителей ненавидят, но это не повод не искать стратегию Евгений Золотов Опубликовано 13 февраля 2014 Говорят, внешность обманчива — и в случае с американцем Артуром Чу это эмпирическое правило справедливо на все сто
АНАЛИЗЫ: Война без победителей
АНАЛИЗЫ: Война без победителей Автор: Киви БердНа форуме при сайте одной из известнейших рок-групп недавно появилась петиция (уже подписанная многими тысячами поклонников) примерно такого содержания. Новый альбом Death Magnetic?- это фантастическая работа "Металлики", однако