Un jeu de positionnement des cercles qui se chevauchent pour maximiser le temps de trajet entre eux

13

J'ai rencontré le jeu suivant. Je migrerai cela comme demandé.

  • Un bug est en train de visiter les cercles, et un adversaire souhaite maximiser son temps de voyage.

  • L'adversaire place un cercle à chaque tour.

  • Le bug part de sa position actuelle directement vers le centre du cercle le plus récent, puis s'arrête lorsqu'il rencontre l'intérieur du cercle (ainsi: il ne marche pas si un cercle est joué couvrant son emplacement). C'est au tour du bug.

  • L' adversaire dispose de N cercles.

  • Chaque cercle suivant a un rayon inférieur au cercle précédent.

  • Chaque cercle doit croiser l'intersection de tous les cercles précédemment joués. Autrement dit, tous les cercles doivent avoir une intersection commune une fois tous joués.

EDIT: L'adversaire est libre de choisir les rayons des cercles, sous la contrainte que les rayons diminuent de façon monotone.


Questions et réponses:


  1. La distance sous la forme limitée? NR: Non, un exemple de stratégie adversaire est donné par cette réponse
  2. Quelle est la distance maximale que le bug doit parcourir sur le jeu de cercles. NA: elle croît en , par la même réponse.Θ(log(N))

Variante 2 : le bug se dirige directement vers l'intersection des deux derniers cercles joués .

MISE À JOUR: Cette variante a été corrigée, en supposant que le bug ne peut se souvenir que des 2 derniers cercles joués ici . Le résultat fut à nouveau une distance illimitée.


Quel impact la mémoire non imprimée a-t-elle? c'est-à-dire que le bug va à l'intersection de tous les cercles précédemment joués . Cela a produit une limite "lâche" de , où d est le diamètre du premier cercle. Évidemment, cela ne peut pas être inférieur à cela. Voyez ici . La limite supérieure actuelle était de 1 000 × d . Ceci a été obtenu en rapprochant le chemin le plus défavorable en faisant le tour de cercles progressivement plus petits. Il a été démontré que le bug progresse toujours vers l'intersection finale, réduisant ainsi la distance de l'étape suivante qu'il doit parcourir.O(d)d1000×d

Je soupçonne que la distance parcourue est un peu constante fois la circonférence du premier cercle, mais je ne suis actuellement pas en mesure de fournir une bonne preuve.

Josh Vander Hook
la source
Le rayon des cercles est-il choisi par l'adversaire? Est-il autorisé à prendre des rayons en fonction de ? (De plus, je ne pense pas que cela fasse partie de la théorie des jeux)N
HdM
C'est définitivement un jeu ..
Suresh Venkat
2
Il me semble un peu étrange qu'il y ait une restriction selon laquelle les cercles ont une intersection commune mais que le mouvement du bug ne l'amène pas nécessairement dans cette intersection commune. Peut-être que la réponse serait différente si le bogue se dirigeait directement vers le point le plus proche de l'intersection actuelle, plutôt que vers le centre du nouveau cercle?
David Eppstein
1
@DavidEppstein: Je pense que votre suggestion est correcte. Dans la variante que vous proposez, la distance totale parcourue est limitée par r est la distance initiale entre le bug et le centre du premier cercle. J'ajouterai un croquis de preuve dans une deuxième réponse ci-dessous. O(r)r
Neal Young
1
@vzn et les mods acceptent généralement les demandes.
Josh Vander Hook

Réponses:

15

Cette réponse comporte deux parties, montrant ensemble que la borne correcte est :Θ(logN)

  1. Une borne inférieure de (multipliée par le rayon du premier cercle).Ω(logN)
  2. Une limite supérieure correspondante de .O(logN)

Limite inférieure de Ω(logN)

Considérons deux cercles unitaires qui se touchent en un point . (Voir ci-dessous; p est à droite, le bogue commence à gauche.) Alterner entre un cercle et l'autre. Le bug se déplacera de haut en bas en zigzaguant à travers la crevasse entre les deux cercles, se déplaçant principalement de haut en bas mais progressant également lentement vers la droite. Si j'ai fait la trigonométrie correctement, après N étapes, la distance du point commun sera ΘppN, et laNème étape fera marcher le bugΘ(1/N), pour une distance totale deΘ(logΘ(1/N)NΘ(1/N) .Θ(logN)

illustration

Voici un croquis des calculs. Considérez deux étapes consécutives que le bogue fait. Il va d'un certain point , à b , à c . Les points a et c sont sur le même cercle; le point b est sur l'autre cercle. Soit oabcacbo être le centre du cercle qui est allumé. Considérez les trois triangles suivants, par ordre décroissant de taille:a

  1. Le triangle isocèle (rappel p est le point commun).oapp
  2. Le triangle .abp
  3. Le petit triangle abc

Ces triangles sont presque similaires (c.-à-d. Mise à l'échelle modulo congruente). Plus précisément, pour , les trois ont la propriété suivante: le rapport de la longueur de la jambe courte à la jambe longue est Θ ( ϵ )ϵ=|ap|Θ(ϵ) . (Je ne le prouverai pas plus en détail ici, mais notez que fur et à mesure que le bogue marche, et en perturbant un sommet dans chaque triangle d'une quantité négligeable, les triangles peuvent être rendus similaires.)ϵ0

Les longues jambes et p o du premier triangle ont une longueur 1. Sa jambe courte | a p | a une longueur ϵ . Le segment a p est une longue jambe du deuxième triangle, de sorte que la jambe courte du triangle a b a une longueur Θ ( ϵ 2 ) . Le segment a b est une longue jambe du troisième triangle, de sorte que la jambe courte du triangle a c a une longueur Θ ( ϵ 3 ) . Ainsi, dans ces deux étapes que le bogue prend:copo|ap|ϵapabΘ(ϵ2)abacΘ(ϵ3)

  1. La distance le bug se déplace est Θ (|ab|+|bc| .Θ(ϵ2)
  2. La distance entre le bogue et le point commun diminue de ϵ à ϵ - Θ (pϵ .ϵΘ(ϵ3)

Définir le temps étant le nombre d'étapes avant ε tune / deux k . Par (2) ci-dessus, ϵ diminue d'un facteur constant après environ Θ ( 1 / ϵ 2 ) pas, donc t k + 1 = t k + Θ ( 2 2 k ) = t k + Θ ( 4 k ) . Ainsi, t k = Θ ( 4 ktkϵt1/2kϵΘ(1/ϵ2)tk+1=tk+Θ(22k)=tk+Θ(4k) . Autrement dit, après Θtk=Θ(4k) des étapes, la distance entre le bogue au point commun p sera d'environ 1 / 2 k . En changeant les variables, après N étapes, la distance entre le bug et le point commun sera ϵ = Θ (Θ(4k)p1/2kN. Et, à laNème étape, le bug se déplaceΘ(ϵ2)=Θ(1/N). Donc la distance totale parcourue dans les premiersNétapes estΘ(1+1/deux+1/trois+...+1/N)=Θ(ϵ=Θ(1/N)NΘ(ϵ2)=Θ(1/N)N .Θ(1+1/2+1/3+...+1/N)=Θ(logN)

Ceci est la limite inférieure.

Il s'étend à la variante 2 proposée (si je comprends bien), comme suit:

L'ajout de la restriction selon laquelle le bogue doit se déplacer vers le point le plus proche de l'intersection des deux derniers cercles placés n'aide pas. C'est-à-dire que la borne inférieure ci-dessus s'applique toujours. Pour voir pourquoi, nous allons modifier l'exemple ci-dessus en ajoutant un seul cercle étranger qui permet au bogue de respecter la restriction tout en parcourant le même chemin:Ω(logN)

enter image description here

Les cercles vert et bleu sont les deux cercles de l'exemple ci-dessus. Les points d'intersection et b sont les mêmes a et b que dans l'exemple ci-dessus. Le cercle rouge est le nouveau cercle "étranger". La séquence précédente alternait entre les cercles bleu et vert. La nouvelle séquence sera cette séquence, mais avec le cercle rouge ajouté avant chaque cercle de l'ancienne séquence: rouge, bleu, rouge, vert, rouge, bleu, rouge, vert, rouge, bleu, ...abab

Supposons que le bug est assis à après le bleu est placé. Le prochain cercle placé est rouge. Le rouge contient le bug, donc le bug ne bouge pas. Le prochain cercle placé est vert. Maintenant, le bug se déplace vers b (qui est le point le plus proche de l'intersection des cercles vert et rouge). En répétant cela, le bug se déplace comme avant.ab


Limite supérieure de O(logN)

Je ne fais qu'esquisser la preuve.

Corrigez toute séquence de cercles. Nous soutiendrons que comme , la distance totale parcourue par le bug dans les N premières étapes est O ( log N ) . Supposons sans perte de généralité que le premier cercle a un rayon de 1.NNO(logN)

Fixe un arbitrairement grand . Soit p par n'importe quel point de l'intersection des N premiers cercles. Notez qu'en raison de la façon dont le bug se déplace, à chaque étape qu'il se déplace, il se rapproche de p .NpNp

Considérons d'abord les étapes où le rapport suivant est d'au moins : la réduction de la distance à  p1/logN La distance totale parcourue à ces étapes estO(logN), car la distance totale parcourue à ces étapes estO(logN)multipliée par la distance initiale jusqu'àp. Il suffit donc de délimiter la distance totale parcourue dans les autres étapes --- celles dans lesquelles ce rapport est au maximum de1/logN

the reduction in the distance to pthe distance traveled in the step.
O(logN)O(logN)p1/logN .

Tout d'abord, nous soutenons quelque chose de légèrement plus faible: que la distance totale parcourue à de telles étapes avant que le rayon du cercle ne diminue à 1/2 ou moins soit O(logN) . (Nous montrerons plus tard que cela suffit pour donner la limite.)

Considérez une telle étape. Soit et b , respectivement, les emplacements du bogue avant et après l'étape. Soit o le centre du cercle courant. Soit b le point du rayon p b tel que | p a | = | p b | :abobpb|pa|=|pb|

enter image description here

Considérez les triangles suivants:

  1. opb
  2. pba
  3. abb

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 Θ(ϵ):

|bb||ab|=Θ(|ab||pa|)=Θ(|pa||bo|)=Θ(ϵ).

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 to p. Call it d before the step, and d after the step. (Note d=|pa|, d=|pb|, and dd=|bb|.)

In this step, this distance d 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 most d/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 the nth 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

n=1NO(1/n)=O(logN).

By scaling, we conclude that, for any k, 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

Neal Young
la source
3
very neat construction !
Suresh Venkat
I'd love to love this answer but I don't trust your trig. Any chance of some more details?
Josh Vander Hook
OK, I added the details.
Neal Young
4
If each circle was at most 99% percent as big as the previous one, then the total distance traveled is bounded, simply because in each step the distance traveled is at most the diameter of the previous circle, and the sum of the diameters of the circles is at most i=00.99i=100. (Times the initial distance from the bug to the furthest point on the first circle.)
Neal Young
2
It's a shame that we can't mark answers as favorites!
Jeffε
5

David E. conjectured

"Maybe the answer would be different if the bug walked directly to the closest point in the current intersection, rather than towards the center of the new circle?"

(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 always O(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 origin o, 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 at o) into infinitely many rings by drawing concentric circles of radii 1,0.99,0.992,0.993,.


Claim. Within any ring of (outer) radius d, 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 time t, 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.

Let p 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

i=010(0.99)i = 1000.

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).

Neal Young
la source
I'm not exactly interested in this second variant, since it is obviously upper-bounded by 2πr0.
Josh Vander Hook
Huh, to me it's not obvious. Note that in the first example above, the bug stays within a circle of radius of O(1) but still travels Ω(logN) in N steps. Do you have a simpler proof?
Neal Young
Hm. Yeah I retract that bit about "obvious", that was in poor taste. It is not immediately obvious. Is it true that the upper bound in problem 2 should be lower than the upper bound in problem 1?
Josh Vander Hook
1
The upper bound in problem 2 is O(d0) (independent of N), while the lower bound in problem 1 is Ω(d0logN). (Here d0 is the initial distance from the bug to the furthest point in the first circle. This parameter or similar has to be there, because scaling any problem instance trivially increases the length traveled by the scale factor.) So I would say the first variant is unbounded, while the second variant is bounded (and thus lower).
Neal Young