Đầu tiên, một phép toán xen kẽ, ngắn và đáng để bạn sử dụng:
Nếu 0 < a < 4
, hàm logistic f(x) = ax(1-x)
ánh xạ khoảng [0,1] bên trong chính nó. Điều này có nghĩa là người ta có thể chơi trò chơi lặp; chẳng hạn, nếu a = 2, giá trị ban đầu 0,3 trở thành 0,42, sau đó là 0,4872, v.v.
Khi tham số a
tăng, hàm số bậc hai f
trở nên phức tạp hơn theo nghĩa sau:
0 < a < 1
tất cả các giá trị ban đầu lặp về 0.1 < a < 3
0 trở thành đẩy lùi, nhưng có một điểm cố định mới (a-1) / a thu hút tất cả các lần lặp.3 < a < 1+sqrt(6)
điểm cố định mới trở thành đẩy lùi, nhưng xuất hiện chu kỳ 2 điểm thu hút.3.44949... < a < 3.54409...
chu kỳ 2 trở nên đẩy lùi, nhưng chu kỳ 4 điểm thu hút xuất hiện.- Vân vân.
Feigenbaum nhận thấy rằng độ dài của các khoảng tham số này giảm với tốc độ ngày càng gần hơn 4.6692...
, hằng số Feigenbaum . Khám phá tuyệt vời là chuỗi phân chia giai đoạn 2 này là một hiện tượng chung được chia sẻ bởi bất kỳ chức năng nào (như parabola bậc hai) đang tăng lên, sau đó giảm dần. Đây là một trong những báo cáo đầu tiên về tính phổ biến của sự hỗn loạn .
Bây giờ cho thử thách! Viết mã ngắn nhất có thể tính hằng số Feigenbaum theo độ chính xác mà bạn chọn. Vấn đề ở đây không phải là lừa đảo hệ thống bằng cách mã hóa một số mà bạn đã googled, mà là để máy tính thực sự tìm thấy giá trị. Để tham khảo, đây là hằng số đến 30 chữ số:
4.669201609102990671853203821578