Ця відповідь має дві частини, разом показуючи, що правильна межа є :Θ(logN)
- Нижня межа (разів перевищує радіус першого кола).Ω(logN)
- Відповідна верхня межа .O(logN)
Нижня межа Ω(logN)
Розглянемо два одиничні кола, які торкаються в точці . (Дивіться нижче; p - праворуч, помилка починається зліва.) Чергуйте між одним та іншим колом. Клоп рухатиметься вгору та вниз по зигзагу через щілину між двома колами, рухаючись переважно вгору та вниз, але також повільно просуваючись праворуч. Якщо я зробив тригонометрію правильно, після N кроків відстань від загальної точки буде Θ ( 1 / √ppN, іN-й крок призведе до того, що помилка пройдеΘ(1/N), на загальну відстаньΘ(logN).Θ(1/N−−√)NΘ(1/N)Θ(logN)
Ось ескіз розрахунків. Розглянемо кілька послідовних кроків, які робить помилка. Він іде від деякої точки , b , c . Точки a і c знаходяться на одному колі; точка b знаходиться на іншому колі. Нехай o - центр кола, на якому знаходиться a . Розглянемо наступні три трикутники в порядку зменшення розміру:abcacboa
- Трикутник ізоцелей (нагадування p - загальна точка).△oapp
- Трикутник .△abp
- Маленький трикутник △abc
Ці трикутники майже подібні (тобто конгруентне масштабування за модулем). Точніше, для , усі три мають таку властивість:
відношення довжини короткої ноги до довгої ноги Θ ( ϵ ) . (Я не буду доводити це більш детально тут, але зауважте, що ϵ → 0,
коли йде прогулянка, і збурюючи одну вершину в кожному трикутнику на незначну кількість, трикутники можна зробити подібними.)ϵ=|ap|Θ(ϵ)ϵ→0
Довгі ніжки і p o першого трикутника мають довжину 1. Його коротка ніжка | a p | має довжину ϵ . Відрізок a p - довга нога другого трикутника, так що коротка нога трикутника a b має довжину Θ ( ϵ 2 ) . Відрізок a b - довга нога третього трикутника, так що коротка нога трикутника a c має довжину Θ ( ϵ 3 ) . Таким чином, у цих двох кроках, які робить помилка:copo|ap|ϵapabΘ(ϵ2)abacΘ(ϵ3)
- Відстань помилка подорожує Θ ( ϵ 2 ) .|ab|+|bc|Θ(ϵ2)
- Відстань від помилки до загальної точки зменшується від ϵ до ϵ - Θ ( ϵ 3 ) .pϵϵ−Θ(ϵ3)
Визначення часу , щоб бути число кроків до ε т ≈ 1 / 2 до . Згідно з (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) . Тобто, після того, як & thetas ; ( 4 K ) кроків, відстань від помилки до спільної точки р становитиме близько 1 / 2 до . Змінюючи змінні, після 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 (наскільки я розумію) таким чином:
Додавання обмеження, що помилка має переміститися до найближчої точки в перетині двох останніх розміщених кіл, не допомагає. Тобто, нижня межа вище все ще діє. Щоб зрозуміти, чому ми змінимо приклад вище, додавши єдине стороннє коло, яке дозволяє помилку дотримуватися обмеження під час руху по тому ж шляху:Ω(logN)
Зелене та синє коло - це два кола із наведеного вище прикладу. Точки перетину і b є такими ж a і b, як у наведеному вище прикладі. Червоне коло - це нове «стороннє» коло. Попередня послідовність чергувалася між синім та зеленим колами. Нова послідовність буде цією послідовністю, але з додаванням червоного кола перед кожним колом у старій послідовності: червоний, синій, червоний, зелений, червоний, синій, червоний, зелений, червоний, синій, ...abab
Припустимо, помилка сидить в після того, як буде розміщений синій. Наступне розміщене коло - червоний. Червоний містить помилку, тому помилка не рухається. Наступне розміщене коло - зелене. Тепер клоп рухається до b (що є найближчою точкою на перетині зеленого та червоного кіл). Повторивши це, помилка подорожує, як і раніше.ab
Верхня межа O(logN)
Я лише замальовую доказ.
Зафіксуйте будь-яку послідовність кіл. Ми будемо стверджувати, що як , загальна відстань, яку пройшов помилка на перших N кроках, дорівнює O ( log N ) . Припустимо, не втрачаючи загальності, що перше коло має радіус 1.N→∞NO(logN)
Усунути як завгодно великий . Нехай p по будь-якій точці перетину перших N кіл. Зауважте, що через те, як помилка рухається, під час кожного кроку, що переміщується, вона наближається до p .NpNp
Спочатку розглянемо етапи, де наступне відношення становить щонайменше :
зменшення відстані до p1/logN
the reduction in the distance to pthe distance traveled in the step.
O(logN)O(logN)p1/logN
O(logN)
abob′pb→|pa|=|pb|
Розглянемо такі трикутники:
- △opb
- △pba
- △abb′
ϵΘ(ϵ)
|bb′||ab|=Θ(|ab||pa|)=Θ(|pa||bo|)=Θ(ϵ).
|bo|[1/2,1]|ab|=Θ(|pa|2/|bo|)=Θ(|pa|2)|bb′|=Θ(|ab||pa|/|bo|)=Θ(|pa|3)
pdd′d=|pa|d′=|pb|d−d′=|bb′|
d|bb′|Ω(d3)
d/2O(1/d2)d=1/2k1/2k+1O(4k)1/2kO(1/4k)npO(1/n−−√)
n|ab|O((the current distance to p)2)=O(1/n)N[1/2,1]
∑n=1NO(1/n)=O(logN).
k[1/2k,1/2k+1]O(log(N)/2k)kO(logN)