Jak Knuth wyprowadził A?

9

Interpretując klucze jako liczby naturalne, możemy użyć następującej formuły.

h(k)=m(kAmod1)

Trudno mi zrozumieć, w jaki sposób wybieramy wartość A, gdzie:

0<A<1

Według Knutha optymalna wartość to:

A(51)/2=0.6180339887...

Więc moje pytanie brzmi: jak do tego doszedł Knuth i jak mogę obliczyć optymalną wartość dla moich konkretnych danych?

ChaosPandion
źródło
3
Po prostu uważam za interesujące, że ... i googlowanie, które faktycznie przyniosło odniesienie do „Knuth twierdzi, że wielokrotne mnożenie przez złoty współczynnik zminimalizuje luki w przestrzeni mieszania, a zatem jest to dobry wybór do łączenia razem wiele kluczy, aby utworzyć jeden ”. A=1+ϕ
Ahmed Masud
1
Jeśli dobrze pamiętam, wyjaśniono to w jednym z ćwiczeń, w którym sensie są ładnie rozłożone w przedziale jednostkowym. Jednak nie mam teraz książki do sprawdzenia. kAmod1
Radu GRIGore
1
@RaduGRIGore to dobrze znane twierdzenie, że jest równomiernie rozłożonym modułem dla dowolnego irracjonalnego (twierdzenie 6.3 „Liczb nieracjonalnych” Niven). Być może jest w pewnym sensie najlepszym wyborem. A,2A,1AA=1+ϕ
zrobił
2
Nie ma czegoś takiego jak „bardziej optymalny”; to tak, jakby powiedzieć „lepiej”. Albo jest to optymalna wartość, albo nie.
Jeffε
2
Warto zauważyć, że z tej wartości korzystają również naturalne procesy. W szczególności złoty kąt reguluje umieszczanie płatków, różyczek itp. W wielu roślinach. Obracanie o ten kąt może być stosowane wielokrotnie podczas umieszczania punktów wokół koła, a punkty będą równomiernie rozmieszczone (w ramach stałego współczynnika).
James King

Odpowiedzi:

19

Zobacz ćwiczenie 9 w sekcji 6.4 sztuki programowania komputerowego .

Wszelkie irracjonalne działałoby, ponieważ niszczy największą lukę (używam notacji dla ).A{kA}{A},{2A},,{(k1)A}{x}xmod1

Ale jeśli lub , ma specjalną właściwość: są to jedyne wartości, dla których żadna z dwóch nowo utworzonych luk nie jest ponad dwukrotnie dłuższa niż inny.A=ϕ1A=ϕ2

didest
źródło
7
Również rozmiar najmniejszej szczeliny jest tak duży, jak to możliwe.
Jeffε