Knuth ได้รับ A มาอย่างไร


9

เมื่อตีความคีย์เป็นตัวเลขธรรมชาติเราสามารถใช้สูตรต่อไปนี้

h(k)=m(kAmod1)

สิ่งที่ฉันมีปัญหาในการทำความเข้าใจคือวิธีที่เราเลือกคุณค่าของ A ที่:

0<A<1

ตาม Knuth ค่าที่ดีที่สุดคือ:

A(51)/2=0.6180339887...

ดังนั้นคำถามของฉันคือ Knuth เกิดขึ้นได้อย่างไรและฉันจะคำนวณค่าที่เหมาะสมสำหรับข้อมูลเฉพาะของฉันได้อย่างไร


3
ฉันเพิ่งพบว่ามันน่าสนใจที่ ... และ googling ที่นำการอ้างอิงถึง "Knuth ระบุว่าการคูณซ้ำด้วยอัตราส่วนทองคำจะลดช่องว่างในพื้นที่แฮชดังนั้นจึงเป็นตัวเลือกที่ดีสำหรับการรวมเข้าด้วยกัน คีย์หลายปุ่มเพื่อจัดรูปแบบหนึ่ง " A=1+ϕ
Ahmed Masud

1
ถ้าฉันจำได้อย่างถูกต้องมันอธิบายได้ในแบบฝึกหัดข้อหนึ่งที่แพร่กระจายอย่างดีในช่วงหน่วยการเรียนรู้ ฉันไม่ได้มีหนังสือตอนนี้เพื่อตรวจสอบแม้ว่า kAmod1
Radu GRIGore

1
@RaduGRIGore มันเป็นทฤษฏีที่ที่รู้จักกันดีว่าเป็นแบบโมดูโลที่กระจายอย่างสม่ำเสมอสำหรับไม่มีเหตุผลใด ๆ (ทฤษฎีบท 6.3 ของ "หมายเลขไร้เหตุผล" ของ Niven) บางทีเป็นตัวเลือกที่ดีที่สุดในบางแง่มุม A,2A,1AA=1+ϕ
didest

2
ไม่มีสิ่งเช่น "เหมาะสมที่สุด"; นั่นเหมือนกับการพูดว่า "ดีที่สุด" อาจเป็นค่าที่เหมาะสมหรือไม่ก็ได้
Jeffε

2
เป็นมูลค่าชี้ให้เห็นว่าค่านี้ยังใช้โดยกระบวนการธรรมชาติ โดยเฉพาะมุมทองจะควบคุมการจัดวางกลีบกลีบดอก ฯลฯ ในพืชจำนวนมาก การหมุนตามมุมนี้สามารถนำมาใช้ซ้ำ ๆ ได้เมื่อวางจุดรอบวงกลมและจุดจะเว้นระยะเท่ากัน (ภายในปัจจัยคงที่)
เจมส์คิง

คำตอบ:


19

ดูการออกกำลังกาย 9 มาตรา 6.4 ของศิลปะของการเขียนโปรแกรมคอมพิวเตอร์

ใด ๆ ที่ไม่ลงตัวจะทำงานเพราะแบ่งถึงช่องว่างที่ใหญ่ที่สุดของ (ผมใช้สัญกรณ์สำหรับ )A{kA}{A},{2A},,{(k1)A}{x}xmod1

แต่ถ้าหรือมันมีคุณสมบัติพิเศษ: สิ่งเหล่านี้เป็นค่าเดียวที่ไม่มีช่องว่างที่สร้างขึ้นใหม่ทั้งสองนั้นมีค่ามากกว่าสองเท่า อื่น ๆA=ϕ1A=ϕ2


7
นอกจากนี้ขนาดของช่องว่างที่เล็กที่สุดก็ใหญ่ที่สุดเท่าที่จะเป็นไปได้
Jeffε
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.