Я столкнулся со следующей игрой. Я перенесу это в соответствии с просьбой.
Ошибка заключается в посещении кругов, и противник хочет максимально увеличить время своего путешествия.
Противник ставит круг на каждом шагу.
Жук идет от своей текущей позиции прямо к центру нового круга, затем останавливается, когда сталкивается с внутренней частью круга (таким образом: он не ходит, если круг играет, покрывая его местоположение). Это очередь ошибок.
У противника есть кругов.
Каждый последующий круг имеет радиус меньше, чем предыдущий круг.
Каждый круг должен пересекать пересечение всех ранее сыгранных кругов. То есть все круги должны иметь общее пересечение после того, как все сыграны.
РЕДАКТИРОВАТЬ: злоумышленник может свободно выбирать радиусы окружностей, при условии ограничения, что радиусы монотонно уменьшаются.
Вопросы и ответы:
- Ограничено ли расстояние при ? A: Нет, этот ответ дает пример стратегии противника.
- Какое максимальное расстояние должен пройти баг за время прохождения кругов. A: оно растет на , тем же ответом.
Вариант 2 : ошибка идет прямо к пересечению двух самых последних сыгранных кругов.
ОБНОВЛЕНИЕ: этот вариант был исправлен, при условии, что ошибка может вспомнить только последние 2 круга, сыгранные здесь . Результатом снова стало неограниченное расстояние.
Какое влияние имеет неограниченная память? то есть ошибка переходит на пересечение всех ранее сыгранных кругов . Это дало «свободную» границу , где d - диаметр первого круга. Очевидно, что это не может быть меньше, чем это. Смотрите здесь . Текущая верхняя граница была 1000 × d . Это было получено путем аппроксимации пути наихудшего случая как обхода постепенно меньших кругов. Было показано, что ошибка всегда продвигается к конечному пересечению, таким образом сокращая расстояние следующего шага, которое она должна пройти.
Я подозреваю, что пройденное расстояние немного меньше постоянной окружности первого круга, но в настоящее время я не могу предоставить хорошего доказательства.
источник
Ответы:
Этот ответ состоит из двух частей, вместе показывающих, что правильная граница равна :Θ(logN)
Нижняя границаΩ(logN)
Рассмотрим две единичные окружности, которые касаются точки . (См. Ниже; p справа, ошибка начинается слева.) Поочередно между одним кружком и другим. Жук будет двигаться вверх и вниз, зигзагообразно, через щель между двумя кругами, двигаясь в основном вверх и вниз, но также медленно продвигаясь вправо. Если я правильно выполнил тригонометрию, после N шагов расстояние от общей точки будет равно Θ ( 1 / √p p N , иN-й шаг приведет к тому, что ошибка пройдетΘ(1/N), на общее расстояниеΘ(logN).Θ(1/N−−√) N Θ(1/N) Θ(logN)
Вот эскиз расчетов. Рассмотрим два последовательных шага, которые делает ошибка. Он идет от некоторой точки к б , к ц . Очки и гр находятся на той же окружности; точка б находится на другом круге. Позвольте o быть центром круга, на котором находится a . Рассмотрим следующие три треугольника в порядке уменьшения размера:a b c a c b o a
Эти треугольники почти одинаковы (то есть, конгруэнтно по модулю масштабирования). Точнее, для все три имеют следующее свойство: отношение длины короткой ноги к длинной составляет Θ ( ϵ ) . (Я не буду доказывать это более подробно здесь, но обратите внимание, что ϵ → 0 по мере того, как ошибка проходит, и, возмущая одну вершину в каждом треугольнике незначительным количеством, треугольники можно сделать похожими.)ϵ=|ap| Θ(ϵ) ϵ→0
Длинные ножки и p o первого треугольника имеют длину 1. Его короткая ножка | р | имеет длину ϵ . Сегмент a p является длинной ногой второго треугольника, так что короткая нога треугольника a b имеет длину Θ ( ϵ 2 ) . Сегмент a b - это длинный отрезок третьего треугольника, поэтому короткий отрезок треугольника a c имеет длину Θ ( ϵ 3 ) . Таким образом, в этих двух шагах, которые принимает ошибка:co po |ap| ϵ ap ab Θ(ϵ2) ab ac Θ(ϵ3)
This is the lower bound.
It extends to proposed Variant 2 (as I understand it), as follows:
Adding the restriction that the bug should move to the nearest point in the intersection of the two most recently placed circles does not help. That is, theΩ(logN) lower bound above still applies. To see why, we will modify the example above by adding a single extraneous circle that allows the bug to meet the restriction while still traveling the same path:
The green and blue circles are the two circles from the example above. The intersection pointsa and b are the same a and b as in the example above. The red circle is the new "extraneous" circle. The previous sequence alternated between the blue and green circles. The new sequence will be this sequence, but with the red circle added before every circle in the old sequence: red, blue, red, green, red, blue, red, green, red, blue, ...
Suppose the bug is sitting ata after blue is placed. The next circle placed is red. Red contains the bug, so the bug doesn't move. The next circle placed is green. Now the bug moves to b (which is the closest point on the intersection of the green and red circles). By repeating this, the bug travels as before.
Upper bound ofO(logN)
I only sketch the proof.
First, we argue something slightly weaker: that the total distance traveled in such steps before the circle radius decreases to 1/2 or less isO(logN) .
(We show later this is enough to give the bound.)
Consider any such step. Leta and b , respectively, denote the locations of the bug before and after the step.
Let o denote the center of the current circle.
Let b′ denote the point on the ray pb→ such that |pa|=|pb| :
Consider the following triangles:
By geometric arguments similar to those in the lower bound, for someϵ ,
each of these triangles has two long legs and one short leg,
and the ratio (for each triangle) of the short leg length
to the long leg lengths is Θ(ϵ) :
This equation and the assumption that|bo| , which is the circle radius,
is in [1/2,1] imply
that |ab|=Θ(|pa|2/|bo|)=Θ(|pa|2) ,
and then that |bb′|=Θ(|ab||pa|/|bo|)=Θ(|pa|3) .
Now we focus on the bug's distance top .
Call it d before the step, and d′ after the step.
(Note d=|pa| , d′=|pb| , and d−d′=|bb′| .)
In this step, this distanced reduces by |bb′| ,
which by the above observations is Ω(d3) .
Thus, the number of additional steps required to reduce the distance by a factor of 2 (to at mostd/2 ) is O(1/d2) .
Changing variables, if d=1/2k ,
the number of additional steps required to bring the distance below
1/2k+1 is O(4k) . Since the sum is geometric,
the total number of steps required to bring the distance below 1/2k is O(1/4k) .
Changing variables again,
after n steps, the distance to p will be O(1/n−−√) .
Finally, recalling the displayed equation several paragraphs up, in then th step, the distance that the bug travels, i.e. |ab| ,
is O((the current distance to p)2)=O(1/n) . Thus,
the total distance traveled in the first N such steps
while the circle radius is in [1/2,1]
is at most
By scaling, we conclude that, for anyk , the total distance traveled
while the circle radius is in the range [1/2k,1/2k+1]
is O(log(N)/2k) .
Summing over k , the total distance traveled is O(logN) .
QED
источник
David E. conjectured
(EDIT: Note that this is not the same as the "variant 2" at the end of the original poster's question.)
Here's a proof (more or less) of his conjecture (it is bounded in this case).
Lemma. For the variant suggested by David, the total distance traveled by the bug is alwaysO(d0) ,
where d0 is the maximum distance between the bug
and any point in the first circle placed.
proof. Assume WLOG that the final resting place is the origino ,
and that the bug starts at distance 1 from o .
For exposition assume the bug starts at time 0 ,
travels at unit rate (one inch per second),
and stops only when it reaches the last disc placed.
Note that (as explained further below) as the bug crawls
its distance to the origin strictly decreases.
Partition the unit-radius disc (centered ato ) into infinitely many rings
by drawing concentric circles of radii 1,0.99,0.992,0.993,… .
Claim. Within any ring of (outer) radiusd , the bug
travels a total of at most 10d units.
Proof sketch. WIthout loss of generality (by scaling) assume the outer radius is 1. Assume for contradiction that the bug spends more than 10 seconds in this ring before moving into the next ring (of outer radius 0.99). At any timet , consider the angle α(t) formed by the following
two vectors: the vector pointing from the bug in the direction
the bug is traveling, and the vector pointing from the bug to the origin.
The bug is always moving towards the nearest point in the intersection of the discs placed so far, and that intersection is convex and contains the origin. Hence, the angleα(t) is always strictly less
than ninety degrees, and the distance from the bug to the origin
is strictly decreasing.
Whenever the angleα(t) is, say, less than eighty-nine degrees,
the distance to the origin is decreasing at rate at least 1/100 .
But, during the entire time in the ring, this distance decreases by less than 1/100 ,
so the total amount of time spent in the ring when α(t)<89 is at most 1 second.
Thus, at least 9 seconds are spent with the angle α(t)
being at least 89 degrees and at most 90 degrees.
Now consider any such time t .
Since α(t)∈[89,90] , and the ring has width 1/100 ,
the bug is traveling either distinctly clockwise around the ring,
or distinctly counter-clockwise.
Letp denote the point that the bug is moving towards
(the closest point in the intersection of the discs placed so far).
As the bug moves towards p , consider the line through the
bug and perpendicular to the direction of motion of the bug.
This line separates the plane into two half-planes,
one "ahead" of the bug (containing p and the intersection of the discs),
and the other "behind" the bug. Mark the points in the half-plane behind the
bug dead --- the bug can never return to any point once it is marked dead
(because the point is not in the intersection of the discs).
Sinceα(t)∈[89,90] , and the ring has radius 1 and width 1/100 ,
almost half of the points in the ring are behind the bug and are dead,
including the points immediately behind the bug.
The bug cannot return to those points, so, if the bug is
initially traveling, say, clockwise, then the bug cannot "turn around"
and start traveling counter-clockwise (for more than say, 1 second).
Thus, of the 10 seconds, the bug would have to spend at least 8
seconds traveling clockwise. But the circumference of the ring is 2π<7 ,
half of the ring is dead as soon as the bug starts, and the bug cannot return
to any dead point, so this is impossible. This proves the claim
(more or less; maybe somebody can give a more precise argument).
By the claim, the total distance traveled (in all rings) is at most
Obviously the constant factor here is loose. For example, if the bug travels in the first ring at an angle of 89 degrees or more, this immediately kills almost half the points in the disc of radius 1 (not just the points in that one ring).
источник