この答えには2つの部分があり、正しい境界がであることを一緒に示しています。Θ(logN)
- の下限(log N )(最初の円の半径の倍数)。Ω(logN)
- 一致する上限。O(logN)
Ωの下限(log N )Ω(logN)
点で接触する2つの単位円を考えます。(以下を参照してください。pは右側、バグは左側から始まります。)1つの円と他の円を交互に切り替えます。バグは2つの円の間の隙間をジグザグに上下に移動し、主に上下に移動しますが、右にゆっくりと進行します。三角法を正しく実行した場合、Nステップ後、共通点からの距離はΘ (1 / √ppN、およびN番目のステップにより、バグはΘ(1/N)を移動し、総距離Θ(logN)になります。Θ (1 / N−−√)NΘ (1 / N)Θ (logN)
これが計算のスケッチです。バグが引き起こすいくつかの連続したステップを考慮してください。彼はいくつかのポイントから行くにBにC。ポイントaとcは同じ円上にあります。ポイントbはもう一方の円上にあります。してみましょうOその円の中心にあることです。サイズが小さい順に、次の3つの三角形を検討してください。abcacboa
- 等辺三角形(pは共通点を思い出してください)。△ o a pp
- 三角形。△ a b p
- 小さな三角形△ a b c
これらの三角形はほとんど似ています(つまり、合同のモジュロスケーリング)。より正確には、のために、3つすべてに次のプロパティがあります
。長い脚に対する短い脚の長さの比率はΘ (ϵ )です。(私はここではこれ以上詳細にこれを証明しませんが、ノートということは、εは→ 0
バグがあり、無視できる量で各三角形内の1つの頂点を乱すことで歩くように、三角形が似て行うことができます。)ϵ = | a p |Θ (ϵ )ϵ → 0
長い脚およびP O最初の三角形のは、長さ1その短い足を持っています| a p | 長さはϵです。セグメントa pは2番目の三角形の長い脚であるため、三角形の短い脚a bの長さはΘ (ϵ 2)です。セグメントa bは3番目の三角形の長い脚であるため、三角形の短い脚a cは長さΘ (ϵ 3)を持ちます。したがって、バグが取るこれらの2つのステップで:c opo|ap|ϵapabΘ(ϵ2)abacΘ(ϵ3)
- 距離バグの移動はΘ (ϵ 2)です。|ab|+|bc|Θ(ϵ2)
- 共通点までバグからの距離より減少εとε - Θ (ε 3)。pϵϵ−Θ(ϵ3)
時間定義前のステップの数であることがε T ≈ 1 / 2 K。上記(2)により、ϵは約Θ (1 / ϵ 2)ステップ後に一定の係数で減少するため、t k + 1 = t k + Θ (2 2 k)= t k + Θ (4 k)となります。したがって、t k = Θ (4 ktkϵt≈1/2kϵΘ(1/ϵ2)tk+1=tk+Θ(22k)=tk+Θ(4k)。すなわち、後 Θ (4 K)ステップ、共通点までバグからの距離 pは約あろう 1 / 2 K。変数を変更すると、 Nステップ後、バグから共通点までの距離は ϵ = Θ (1 / √tk=Θ(4k)Θ(4k)p1/2kN。そして、N番目のステップで、バグはΘ(ϵ2)=Θ(1/N)に移動します。最初に総移動距離ように、N個のステップがあるΘ(1+1/2+1/3+。。。+1/N)=Θ(対数Nを)。ϵ=Θ(1/N−−√)NΘ(ϵ2)=Θ(1/N)NΘ(1+1/2+1/3+...+1/N)=Θ(logN)
これは下限です。
次のように、提案されたバリアント2(私が理解するとおり)に拡張されます。
バグが最近配置された2つの円の交点の最も近い点に移動するという制限を追加しても、役に立ちません。つまり、上記の下限が引き続き適用されます。理由を確認するために、同じパスを移動している間にバグが制限を満たすことができるように、1つの外部サークルを追加することにより、上記の例を変更します。Ω(logN)
緑と青の円は、上の例の2つの円です。交点とbは、上記の例と同じaとbです。赤い円は、新しい「異様な」円です。前のシーケンスは、青と緑の円の間で交互に行われました。新しいシーケンスはこのシーケンスになりますが、古いシーケンスのすべての円の前に赤い円が追加されます:赤、青、赤、緑、赤、青、赤、緑、赤、青、...abab
バグが青に配置され後に座っているとします。次に配置される円は赤です。赤にはバグが含まれているため、バグは移動しません。次に配置される円は緑色です。これで、バグはb(緑と赤の円の交差点に最も近い点)に移動します。これを繰り返すことにより、バグは以前のように移動します。ab
Oの上限(log N )O(logN)
証拠をスケッチするだけです。
円のシーケンスを修正します。として、最初のNステップでバグが移動した合計距離はO (log N )であると主張します。一般性を失うことなく、最初の円の半径は1であると仮定します。N→∞NO(logN)
任意に大きい修正します。最初のN個の円の交点の任意の点でpをみましょう。バグの移動方法のため、バグが移動する各ステップでpに近づくことに注意してください。NpNp
以下の比は、少なくともある場合には、まず、手順を検討:
までの距離の減少を P1/logN
このようなステップで移動した合計距離はO(logN)であり、そのようなステップで移動した合計距離はpへの初期距離のO(logN)倍です。したがって、他のステップで移動した合計距離を制限するだけで済みます。その比率が最大で1/logNであるステップです。
the reduction in the distance to pthe distance traveled in the step.
O(logN)O(logN)p1/logN
まず、やや弱いことを主張します。円の半径が1/2以下に減少する前にそのようなステップで移動した合計距離
はです。(後でこれが限界を与えるのに十分であることを示します。)O(logN)
そのようなステップを検討してください。ましょうと(b)は、それぞれ、前のステップの後にバグの位置を示します。してみましょうO現在の円の中心を表します。してみましょうbは「光線上の点を表す→ P bのように| p a | = | p b | :abob′pb→|pa|=|pb|
次の三角形を考慮してください。
- △opb
- △pba
- △abb′
下限の引数と同様の幾何学的引数により、いくつかのについて、これらの三角形のそれぞれには2つの長い脚と1つの短い脚があり、(各三角形の)短い脚の長さと長い脚の長さの比率はΘ (ϵ ):
| b b ′ |ϵΘ(ϵ)
|bb′||ab|=Θ(|ab||pa|)=Θ(|pa||bo|)=Θ(ϵ).
この方程式と、円の半径であり、である[ 1 / 2 、1 ]のことを意味するもの| a b | = Θ (| p a | 2 / | b o |)= Θ (| p a | 2)、そして| b b ′ | = Θ (| a b ||bo|[1/2,1]|ab|=Θ(|pa|2/|bo|)=Θ(|pa|2)。|bb′|=Θ(|ab||pa|/|bo|)=Θ(|pa|3)
ここで、バグのまでの距離に注目します。ステップの前にdを呼び出し、ステップの後にd ′を呼び出します。(d = | p a |、d ′ = | p b |、およびd − d ′ = | b b ′ |に注意してください。)pdd′d=|pa|d′=|pb|d−d′=|bb′|
このステップでは、この距離は|だけ減少します。b b ′ | 、上記の観察によると、Ω (d 3)です。d|bb′|Ω(d3)
したがって、距離を2倍に減らす(最大で)ために必要な追加のステップ数はO (1 / d 2)です。場合は、変数を変更する、dは= 1 / 2 K、以下距離もたらすために必要な追加手順の数
1 / 2 K + 1であるO (4 K)。合計は、幾何学的であるため、ステップの総数は、下に距離をもたらすために必要な1 / 2 、kはあるOは、(d/2O(1/d2)d=1/2k1/2k+1O(4k)1/2k。変数を再度変更すると、 nステップ後、 pまでの距離は O (1 / √O(1/4k)np。O(1/n−−√)
最後に、表示された方程式を呼び出します番目のステップで、バグが移動する距離、つまり| a b | は、O ((p への現在の距離 )2)= O (1 / n )です。したがって、合計距離は最初に移動N円半径にある間にそのような工程[ 1 / 2 、1 ]
以下である
N Σ N = 1 O (1 /n|ab|O((the current distance to p)2)=O(1/n)N[1/2,1]
∑n=1NO(1/n)=O(logN).
スケーリングによって、我々は任意のために、それを締結円の半径がこの範囲にあるとき、総移動距離[ 1 / 2 kは、1 / 2 K + 1 ]
であるO (ログ(N )/ 2 K)。kを合計すると、移動した合計距離はO (log N )です。QEDk[1/2k,1/2k+1]O(log(N)/2k)kO(logN)