Pull to refresh

Comments 34

Попробуйте доказать, что за меньшее число нельзя.
Схема, реализующая минимум, довольно проста, доказательство что это действительно минимум — чуть сложнее.
Секундомера нет. После забега мы узнаем только порядок участвовавших в нем лошадей.
Это стоит указать в описании задачи, как мне кажется.
Это указано в формальном описании. Как некоряво указать в неформальной части — не придумал.
Напишу коряво.
UFO landed and left these words here
Да, это дает решение за 7 забегов. А быстрее можно?
Небольшая неточность: третьей вполне может оказаться 2. Но это неважно.
UFO landed and left these words here
Нельзя. Пусть есть стратегия за 6 измерений. Введем множество помеченных элементов S. Изначально оно пусто. При каждом измерении будем выбирать порядок элементов такой, что все помеченные элементы идут после не помеченных и он не противоречит другим измерениям. При этом все элементы кроме первого помечаем. Тогда на каждом шаге множество S не может увеличивать более чем на 4 элемента и легко видеть, что каждый элемент не из S можно быть первым. Значит при каждом измерении размер S увеличивается ровно на 4, чтобы в конце стало 6*4=24 помеченных элемента (в противном случае первый элемент определяется не однозначно).

Добавим теперь дополнительное условие. Если 6 измерение содержит не помеченный элемент, который был первым в 5-том измерении, то он является первым и в 6 измерении.

Поскольку S каждый раз увеличивается на 4 элемента, в каждом измерении у нас 5 не помеченных элементов. Перед 5 измерением у нас 9 непомеченных элементов. 5 измерении сравнивает 5 из них и остается 5 непомеченных элементов. Они сравниваются в 6 измерении. Заметим теперь, что второй элемент определяется не однозначно. Это может быть второй в 6 измерении и второй в 5 измерении.

Действительно, оба этих элемента во всех предыдущих измерениях выходили первыми, поскольку они не помеченны перед 5 измерением. И для обеих единственная оценка сверху это то, что они меньше первого элемента в 5 и 6 измерении соответственно (который один и тот же в виду введенного нами дополнительного условия).
Хорошее рассуждение. Но если не требовать знания, кто первый — а только «первые 3» (задача формулируется как «найти 3 минимальных элемента»), то совсем неочевидно, что размер S после всех измерений должен быть равен 24.
Да, в таком случае мое рассуждение не проходит. Надо подумать над такой постановкой.
UFO landed and left these words here
Там будет 25-9-3=13. Вы не учли 3 лошадей после «1,A».
Да. и там не 25, а 24 — лошадь саму с собой сравнивать не надо.
UFO landed and left these words here
UFO landed and left these words here
На самом деле все хуже. По условию можно не определять кто занял первое, второе и третье место — нужно определить лишь тройку победителей. В таком случае доказать, что за 6 нельзя мне пока не удалось.
UFO landed and left these words here
Великолепно. Существенно красивее, чем бывшее у меня доказательство.
UFO landed and left these words here
Это не правильное доказательство. Из него следует, что 3 лучших нельзя определить даже если повезет. Но это не так. Пусть элементы на самом деле упорядочены как 1..25. Измерим 1,2,3,4,5; 5,6,7,8,9; 9,10,11,12,13;…; 21,22,23,24,25. Тогда из полученной информации однозначно следует, что 3 максимальных — это 23, 24, 25.
Хотя нет, у вас на последнем измерении порядок не может быть произвольным. Так что мой контрпример не подходит.
Тут есть ошибка. " Если мы из компоненты А взяли не минимальный элемент для 6го забега и этот элемент оказался максимальным в 6м забеге, то мы никак не можем определить, входит ли минимальный элемент компоненты А в искомое множество 3х минимальных.". Пусть A состоит из 5 элементов и мы выбрали средний (а в остальных — максимальные). Если он оказался максимальным, то 3 элемента выше него — и есть тройка максимальных. Т.е. тройка определяется однозначно.
3 элемента выше него = 2 элемента выше него и он сам.
Черт, я запутался в максимальных и минимальных элементах. Возражение снимается.
За 5 итераций можно установить быстрейших лошадей в каждой из пятерок. За шестую итерацию можно установить тройку лидеров из этой пятерки.

За 6 итераций однозначно мы можем говорить только за самую быструю лошадь из всех 25. Остальные 4 могут оказаться медленнее каких-либо лошадей из отсеявшихся 20.

Пример: допустим так сложилось, что в первую пятерку выбились все самые быстрые лошади. Соответственно в остальных 4-х пятерках лошади посредственные. Мы провели 5 забегов этих 5 пятерок, и выявили 5 лидеров, по одному в каждой пятерке. 4 самых сильных лошади, таким образом, отсеялись и дальше они в забегах не участвуют, хотя они победили бы лидеров из остальных 4-х пятерок.

Более достоверный результат будет, если брать по 3 успешных лошади из каждой тройки, получим 15 лошадей для второго раунда. Снова по 3 лошади лидера, итого 9. Еще 2 забега. По 2 лошади лидера. И последний забег.

Итого 1 забегов и мы имеем 3 лошади лидера с относительно весьма низкой вероятностью погрешности.
пардон, «по 3 успешных лошади из каждой пятерки».
Великолепно! Какая-то вероятность погрешности (притом, что в задаче просят определить достоверно). И 11 забегов, хотя очевидный метод (5 забегов, потом бегут лидеры, потом лидера предыдущего забега заменяем на следующего из той же пятерки, потом еще раз) дает 8 забегов.
Увы, но я не улавливаю алгоритма. И не уверен что все возможные варианты распределения скоростных характеристик лошадей, при отсутствии критерия оценки кроме как относительного порядка финиширования лошадей (т.е. невозможности сравнения кроме как в рамках забега), за 8 забегов вообще возможно определить.
Выше в комментариях есть алгоритм за 7 (он тоже тривиален) и доказательство, что быстрее нельзя.
За 8 делаем так: сначала сравниваем по 5. Потом бегут 5 лидеров, победитель — быстрейший среди всех. Потом бегут те же, кроме чемпиона, которого заменяем на второго из той же пятерки. Победитель — второй по скорости среди всех. Заменяем его на следующего за ним из той же пятерки — победитель этого забега — 3е абсолютное место.
Sign up to leave a comment.

Articles