อัตราส่วนทองคำหรือ Pi ในเวลาทำงาน


21

มีหลายสถานที่ที่ตัวเลขπและ(1+5)/2ปรากฏขึ้น ฉันอยากรู้เกี่ยวกับอัลกอริทึมที่เวลาทำงานมีอัตราส่วนทองคำหรือπในเลขชี้กำลัง


4
มีเหตุผลในการคำนวณใดเป็นพิเศษหรือไม่ที่สงสัยว่าอาจเป็นเช่นนั้น? และหากไม่รู้ว่ามันเกิดขึ้นที่ไหนคุณคิดว่าจะมีความเข้าใจอย่างถ่องแท้ที่จะได้รับหากเป็นเช่นนั้น?
Niel de Beaudrap

13
อัตราส่วนทองคำเกิดขึ้นในการวิเคราะห์ความซับซ้อนของโปรแกรมที่มีความคล้ายคลึงกันในโครงสร้าง recursive เพื่อเรียกซ้ำที่เกี่ยวข้องในตัวเลข Fibonacci : Fn+2=Fn+1+Fn n
Martin Berger

11
Fortnow และ Melkebeekเวลา / พื้นที่ต่ำมุ่ง SAT solvability มีอัตราส่วนทองคำ ( nϕϵเวลาและno(1)พื้นที่); แต่ตัวแทนได้รับการปรับปรุงในภายหลังโดย Ryan Williams
Marzio De Biasi

2
@MarzioDeBiasi ฉันคิดว่าความคิดเห็นของคุณให้คำตอบที่ดีแม้ว่าผลลัพธ์จะได้รับการปรับปรุง สิ่งที่น่าสนใจคือมีการวิเคราะห์ที่ให้อัตราส่วนทองคำในเลขชี้กำลัง
Sasho Nikolov

1
@NieldeBeaudrap ฉันหวังว่าจะเห็นรูปแบบบางอย่างในตัวอย่าง ตัวอย่างเช่นเลขชี้กำลัง e ปรากฏขึ้นในหลาย ๆ ที่ในอัลกอริทึมแบบสุ่ม ฉันไม่แปลกใจเลยที่รู้ว่ากิจกรรมประเภทบอลและถังขยะนำไปสู่คำตอบที่เกี่ยวข้องกับ e ฉันสงสัยว่าบางอย่างเช่นนี้สามารถพูดเกี่ยวกับอัลกอริทึมที่มีอัตราส่วนทองคำในเวลาทำงานหรือไม่
พลัมเมอร์

คำตอบ:


22

มันเป็นฐานแทนที่จะเป็นเลขชี้กำลัง แต่มีเวลา FPT ของO(φkn2)

" อัลกอริธึมแบบคงที่ที่มีประสิทธิภาพคงที่สำหรับการย่อขนาดข้าม 1 ด้าน ", Vida Dujmovic, Sue Whitesides, Algorithmica 40: 15–31, 2004

นอกจากนี้มันเป็นขอบเขตที่ต่ำกว่าแทนที่จะเป็นขอบเขตบน แต่:

" n 1.618ผูกพันที่ลดลงในเวลาที่จะจำลองหนึ่งคิวหรือสองร้านค้าขยายลงโดยหนึ่งในเทป " พอล MB Vitányi, Inf พร เลทท์ 21: 147–152, 1985n1.618

ในที่สุดสิ่งที่ฉันพยายามหาเมื่อฉันวิ่งข้ามอีกสอง: ต้นไม้แซนวิชแฮม, โครงสร้างข้อมูลที่ล้าสมัยในเรขาคณิตการคำนวณสำหรับการค้นหาช่วงสามเหลี่ยมมีเวลาสอบถาม ) ดังนั้นอัตราส่วนทองคำอยู่ในเลขชี้กำลังอย่างถูกต้อง แต่มีบันทึกมากกว่าตัวมันเอง โครงสร้างข้อมูลเป็นพาร์ทิชันแบบลำดับชั้นของระนาบลงในเซลล์นูนโดยมีโครงสร้างโดยรวมของต้นไม้ไบนารีที่แต่ละเซลล์และพี่น้องในต้นไม้ถูกแบ่งพาร์ติชันด้วยการตัดแฮมแซนด์วิช เวลาสอบถามจะถูกกำหนดโดยการเกิดซ้ำQ ( n ) = Q (O(nlog2φ)O(n0.695)ซึ่งมีวิธีการแก้ปัญหาข้างต้น มันอธิบาย (พร้อมชื่อที่น่าเบื่อกว่า) โดยQ(n)=Q(n2)+Q(n4)+O(logn)

"การค้นหาช่วง Halfplanar ในพื้นที่เชิงเส้นและเวลาค้นหาO(n0.695) ", Herbert Edelsbrunner, Emo Welzl, Inf พร เลทท์ 23: 289–293, 1986


1
ฉันไม่แน่ใจว่าฉันรู้สึกสบายใจเมื่อพูดว่ามีφในเลขชี้กำลัง nlog2φ=φlog2nφ
Emil Jeřábekสนับสนุน Monica

18

(จากความคิดเห็นของฉันด้านบน)

Fortnow และ Melkebeekเวลา / พื้นที่ต่ำมุ่ง SAT solvability ( เวลาและn o ( 1 )พื้นที่) ที่มีอัตราส่วนทองคำในเลขชี้กำลัง; แต่ได้รับการปรับปรุงให้ดีขึ้นในภายหลังโดยไรอันวิลเลียมส์nϕϵno(1)


5
coNTIME[n]NTIMESPACE[nϕ+o(1),no(1)]


10

ตัวอย่างของอีกในฐานเป็นอัลกอริทึมโดย Andreas Björklundและ Thore Husfeldt เพื่อคำนวณความเท่าเทียมกันของจำนวนการกำกับรอบมิลซึ่งทำงานในเวลาn)O ( φ n )φO(φn)

http://arxiv.org/abs/1301.7250


9

นอกจากนี้ในฐาน: การลบหดอัลกอริทึม (Zykov, 1949) สำหรับการคำนวณจำนวนของกราฟสีวิ่งในเวลา|}) นี่เป็นตัวอย่างที่เป็นที่ยอมรับอย่างมากว่าอัตราส่วนทองคำจะปรากฏจากการเกิดซ้ำของฟีโบนัชชีในเวลาทำงานของการประเมินสูตรแบบเรียกซ้ำตามธรรมชาติ ฉันแน่ใจว่ามันเก่าที่สุดO(ϕ|E|+|V|)

Mikko Koivisto พบอัลกอริทึมสำหรับการคำนวณจำนวนการจับคู่ที่สมบูรณ์แบบ (IWPEC 2009)O(ϕ|V|)


8

โกลเด้นปันส่วนในฐาน: อัลกอริทึมเอฟพีทีล่าสุดมากโดย Kociumaka และ Pilipczuk, กำหนดได้เร็วขึ้นผลตอบรับ Vertex ชุดคำนวณ FVS ขนาดในเวลา (จากนั้นพวกเขาปรับปรุงอัลกอริทึมให้ทำงานในเวลา )O ( ( 2 + ϕ ) k ) O ( 3.592 k )kO((2+ϕ)k)O(3.592k)


-2

เพื่อขยายความคิดเห็น Martin Bergers: อัลกอริทึม GCD ยุคลิดโบราณทำงานในเวลาที่เลวร้ายที่สุดในสององค์ประกอบต่อเนื่องจากลำดับฟีโบนักชี รายละเอียดเพิ่มเติมเกี่ยวกับวิกิพีเดียซึ่งระบุว่า:

หลักฐานนี้จัดพิมพ์โดย Gabriel Laméในปี 1844 แสดงให้เห็นถึงจุดเริ่มต้นของทฤษฎีความซับซ้อนในการคำนวณ [93] และยังเป็นการนำไปใช้ครั้งแรกของตัวเลขฟีโบนักชี [91]

เทคนิคอัลกอริทึม GCD ทำงานในเวลาลอการิทึมแต่อัตราส่วนทองคำแสดงขึ้นในจำนวนขั้นตอนของอัลกอริทึมO(log(n))

[1] ความซับซ้อนของเวลาของอัลกอริทึม Euclids คือ math.se


เวลาและจำนวนขั้นตอนแตกต่างกันอย่างไร
Nicholas Mancuso

ขออภัยที่ควรอ่าน # ของการดำเนินการทางคณิตศาสตร์
vzn

1
Lamé'sถูกผูกไว้กับจำนวนการวนซ้ำของลูปหลัก (หรือจำนวนการวนซ้ำ, ขึ้นอยู่กับสูตรของอัลกอริทึม) เวลาทำงานของอัลกอริทึมคือ (นั่นคือในแง่ของความยาวของอินพุต) O ( ( บันทึกN ) 2 ) O ( n 2 )logφNO((logN)2)O(n2)
Emil Jeřábekสนับสนุน Monica

เห็นลิงค์ "ปล่อยให้เป็นจำนวนขั้นตอนในอัลกอริทึมแบบยุคลิด "T ( a , b ) = O ( l o g ϕ b )T(a,b)T(a,b)=O(logϕb)
vzn

1
ฉันไม่รู้ว่าลิงค์ไหนที่คุณหมายถึง แต่อย่างไรก็ตามฉันก็แค่อธิบายความหมายของ "ขั้นตอน" ที่นี่เพื่อให้เข้าใจได้ง่าย โปรดทราบว่าการเขียนนั้นไม่มีจุดหมายเนื่องจากลอการิทึมในสองฐานนั้นเป็นของกันและกัน OO(logϕb)O
Emil Jeřábekสนับสนุน Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.