คำตอบนี้มีสองส่วนร่วมกันแสดงว่าขอบเขตที่ถูกต้องคือ :Θ(logN)
- ขอบเขตล่างของ (คูณรัศมีของวงกลมแรก)Ω(logN)
- จับคู่ผูกไว้บนของ )O(logN)
ขอบเขตล่างของΩ(logN)
พิจารณาสองหน่วยแวดวงสัมผัสที่ที่จุดP(ดูด้านล่าง; pอยู่ทางขวาบั๊กเริ่มทางซ้าย) สลับระหว่างวงกลมหนึ่งวงกับวงกลมวงอื่น ข้อผิดพลาดจะเดินทางขึ้นและลงซิกแซกข้ามรอยแยกระหว่างวงกลมสองวงโดยส่วนใหญ่จะเลื่อนขึ้นและลง แต่ก็คืบหน้าไปทางขวาอย่างช้าๆ หากฉันทำตรีโกณมิติให้ถูกต้องหลังจากผ่านขั้นตอนNระยะทางจากจุดร่วมจะเท่ากับΘ ( 1 / √ppNและไม่มีขั้นตอน TH จะทำให้เกิดข้อผิดพลาดในการเดินΘ(1/N)สำหรับระยะทางทั้งสิ้นΘ(logN)Θ(1/N−−√)NΘ(1/N)Θ(logN)
นี่คือภาพร่างของการคำนวณ พิจารณาสองขั้นตอนติดต่อกันที่ข้อบกพร่องทำ เขาจะไปจากบางจุดเพื่อขเพื่อค คะแนนaและcอยู่ในวงกลมเดียวกัน จุดbอยู่ในวงกลมอื่น ๆ ปล่อยให้oเป็นศูนย์กลางของวงกลมที่aอยู่ พิจารณาสามเหลี่ยมสามรูปแบบต่อไปนี้ตามลำดับการลดขนาด:abcacboa
- isoceles สามเหลี่ยม (เรียกคืนpเป็นจุดร่วม)△oapp
- สามเหลี่ยมพี△abp
- สามเหลี่ยมน้อย△abc
สามเหลี่ยมเหล่านี้เกือบจะคล้ายกัน (เช่นปรับมาตราส่วนแบบสมภาคกัน) แม่นยำยิ่งขึ้นสำหรับทั้งสามมีคุณสมบัติดังต่อไปนี้:
อัตราส่วนของความยาวของขาสั้นขายาวเป็นΘ ( ε ) (ฉันจะไม่ได้พิสูจน์เรื่องนี้ในรายละเอียดใด ๆ เพิ่มเติมที่นี่ แต่ทราบว่าε →การ0
เป็นข้อผิดพลาดเดินและรบกวนจุดสุดยอดในแต่ละสามเหลี่ยมตามจำนวนเงินเล็กน้อยสามเหลี่ยมที่สามารถทำคล้ายกัน.)ϵ=|ap|Θ(ϵ)ϵ→0
ขายาวและp oของสามเหลี่ยมแรกมีความยาว 1 ขาสั้นของมัน| หน้า| มีความยาวε ส่วนงานหน้าเป็นขายาวของรูปสามเหลี่ยมที่สองเพื่อให้ขาสั้นของสามเหลี่ยมที่ขมีความยาวΘ ( ε 2 ) ส่วนงานขเป็นขายาวของสามเหลี่ยมที่สามเพื่อให้ขาสั้นของสามเหลี่ยมที่คมีความยาวΘ ( ε 3 ) ดังนั้นในทั้งสองขั้นตอนที่บั๊กใช้:copo|ap|ϵapabΘ(ϵ2)abacΘ(ϵ3)
- ระยะทางข้อผิดพลาดการเดินทางเป็นΘ ( ε 2 )|ab|+|bc|Θ(ϵ2)
- ระยะทางจากข้อผิดพลาดในการจุดร่วมลดลงจากεจะε - Θ ( ε 3 )pϵϵ−Θ(ϵ3)
กำหนดเวลาจะเป็นจำนวนขั้นตอนก่อนที่จะε เสื้อ ≈ 1 / 2 k ตาม (2) ข้างต้นεลดลงโดยมีปัจจัยมาอย่างต่อเนื่องหลังจากที่เกี่ยวกับΘ ( 1 / ε 2 )ขั้นตอนเพื่อให้เสื้อk + 1 = เสื้อk + Θ ( 2 2 k ) = T k + Θ ( 4 k ) ดังนั้นt k = Θ ( 4tkϵt≈1/2kϵΘ(1/ϵ2)tk+1=tk+Θ(22k)=tk+Θ(4k) . นั่นคือหลังจาก Θ ( 4 k )ขั้นตอนระยะทางจากข้อผิดพลาดไปยังจุดที่พบบ่อยหน้าจะอยู่ที่ประมาณ 1 / 2 k การเปลี่ยนตัวแปรหลังจากขั้นตอน Nระยะห่างจากจุดบกพร่องไปยังจุดทั่วไปจะเป็น ϵ = Θ ( 1 / √tk=Θ(4k)Θ(4k)p1/2kN ) และในNขั้นตอน TH, ข้อผิดพลาดเดินทางΘ(ε2)=Θ(1/N) ดังนั้นรวมระยะทางเดินทางในครั้งแรกไม่มีขั้นตอนคือΘ(1+1/2+1/3+...+1/N)=Θ(logN)ϵ=Θ(1/N−−√)NΘ(ϵ2)=Θ(1/N)NΘ(1+1/2+1/3+...+1/N)=Θ(logN)
นี่คือขอบเขตล่าง
มันขยายไปถึง Variant 2 ที่เสนอ (ตามที่ฉันเข้าใจ) ดังต่อไปนี้:
การเพิ่มข้อ จำกัด ที่ข้อผิดพลาดควรย้ายไปยังจุดที่ใกล้ที่สุดในจุดตัดของวงกลมสองวงที่วางล่าสุดไม่ได้ช่วย นั่นคือขอบเขตล่างข้างต้นยังคงใช้ เพื่อดูว่าทำไมเราจะแก้ไขตัวอย่างข้างต้นโดยการเพิ่มวงกลมนอกที่เดียวที่ทำให้บั๊กสามารถตอบสนองข้อ จำกัด ในขณะที่ยังเดินทางไปในเส้นทางเดียวกัน:Ω(logN)
วงกลมสีเขียวและสีน้ำเงินเป็นวงกลมสองวงจากตัวอย่างด้านบน จุดตัดและbเหมือนกับaและbตามตัวอย่างด้านบน วงกลมสีแดงเป็นวงกลม "นอกโลก" ใหม่ ลำดับก่อนหน้าสลับกันระหว่างวงกลมสีน้ำเงินและสีเขียว ลำดับใหม่จะเป็นลำดับนี้ แต่มีการเพิ่มวงกลมสีแดงก่อนทุกวงกลมในลำดับเก่า: แดง, น้ำเงิน, แดง, เขียว, แดง, น้ำเงิน, แดง, เขียว, แดง, น้ำเงิน, ...abab
สมมติว่าข้อผิดพลาดที่จะนั่งอยู่ที่หลังสีฟ้าวางอยู่ วงกลมถัดไปที่วางไว้เป็นสีแดง สีแดงมีข้อบกพร่องดังนั้นข้อผิดพลาดไม่ได้ย้าย วงกลมถัดไปที่วางไว้เป็นสีเขียว ตอนนี้ข้อผิดพลาดย้ายไปที่b (ซึ่งเป็นจุดที่ใกล้ที่สุดในจุดตัดของวงกลมสีเขียวและสีแดง) ด้วยการทำซ้ำข้อผิดพลาดนี้จะเดินทางเหมือนเดิมab
ขอบบนของO(logN)
ฉันร่างหลักฐานเท่านั้น
แก้ไขลำดับของวงกลมใด ๆ เราจะยืนยันว่าเป็น , ระยะทางทั้งหมดเดินทางโดยข้อผิดพลาดในครั้งแรกไม่มีขั้นตอนคือO ( log N ) สมมติว่าไม่มีการสูญเสียความสามารถทั่วไปที่วงกลมแรกมีรัศมี 1N→∞NO(logN)
แก้ไขขนาดใหญ่โดยพลNอนุญาตpโดยจุดใด ๆ ในจุดตัดของวงกลมNแรก โปรดทราบว่าเนื่องจากวิธีการย้ายข้อผิดพลาดในแต่ละขั้นตอนที่ย้ายข้อผิดพลาดที่จะได้รับใกล้ชิดกับพีNpNp
ก่อนอื่นให้พิจารณาขั้นตอนที่อัตราส่วนต่อไปนี้เป็นอย่างน้อย :
การลดระยะทางเป็น p1/logN
รวมระยะทางเดินทางในขั้นตอนดังกล่าวเป็นO(logN)เพราะระยะทางทั้งหมดเดินทางในขั้นตอนดังกล่าวเป็นO(logN)ครั้งระยะเริ่มต้นไปยังหน้า ดังนั้นเราจะต้องผูกพันระยะทางทั้งหมดเดินทางในขั้นตอนอื่น ๆ --- ผู้ที่อยู่ในอัตราส่วนที่เป็นส่วนใหญ่1/เข้าสู่ระบบN
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′
ϵΘ(ϵ)
|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)