Mục đích của thử thách là xấp xỉ cốt truyện rất thu hút khách của các bản đồ hậu cần là một hàm của tham số của nó r (còn gọi là sơ đồ phân nhánh ), hoặc một tiểu vùng của nó. Sự xuất hiện của biểu đồ có thể được nhìn thấy trong hình ảnh sau đây từ Wikipedia:
Lý lịch
Các bản đồ hậu cần là một hàm toán học mà phải mất một đầu vào x k và bản đồ nó vào một đầu ra x k + 1 định nghĩa là
x k + 1 = r x k (1− x k )
Trong đó r là tham số của bản đồ, được cho là nằm trong khoảng [0, 4].
Với r trong [0,4], và một giá trị ban đầu x 0 trong khoảng [0,1], nó là thú vị để liên tục áp dụng các chức năng cho một số lượng lớn N lần lặp lại, tạo ra một giá trị cuối cùng x N . Lưu ý rằng x N cũng nhất thiết phải nằm trong [0,1].
Ví dụ, xem xét r = 3.2, N = 1000. Giá trị ban đầu x 0 = 0,01 cho x 1000 = 0,5130. Với x 0 = 0,02 kết quả là x 0 = 0,7995. Đối với bất kỳ giá trị ban đầu nào khác x 0, các giá trị cuối cùng x 1000 rất gần với 0,5130 hoặc 0,7995. Điều này được nhìn thấy trong biểu đồ là chiều cao của hai đường ở vị trí nằm ngang r = 3.2.
Điều này không có nghĩa là với r = 3.2, mỗi chuỗi hội tụ đến một trong hai giá trị đó. Trong thực tế, đối với hai giá trị ban đầu được xem xét ở trên, các chuỗi là (lưu ý hành vi dao động):
x 0 = 0,01, ..., x 1000 = 0,5130, x 1001 = 0,7995, x 1002 = 0,5130, ...
x 0 = 0,02, ..., x 1000 = 0,7995, x 1001 = 0,5130, x 1002 = 0,7995 , ...
Có gì là đúng là cho đủ lớn N , và cho hầu hết các giá trị ban đầu x 0 , thuật ngữ x N sẽ được gần gũi với một trong những yếu tố của tập {0,5130, 0,7995}. Bộ này được gọi là bộ thu hút cho r cụ thể này .
Đối với các giá trị khác của tham số r , kích thước của bộ điều khiển, hoặc các phần tử của nó, sẽ thay đổi. Biểu đồ vẽ các phần tử trong bộ thu hút cho mỗi r .
Người thu hút cho một r cụ thể có thể được ước tính bởi
- kiểm tra một loạt các giá trị ban đầu x 0 ;
- để hệ thống phát triển cho một số lượng lớn N lần lặp; và
- lưu ý các giá trị cuối cùng x N thu được.
Các thách thức
Đầu vào
N : số lần lặp.
r 1 , r 2 và s . Chúng xác định tập R các giá trị của r , cụ thể là R = { r 1 , r 1 + s , r 1 + 2 s , ..., r 2 }.
Thủ tục
Tập X của các giá trị ban đầu x 0 được cố định: X = {0,01, 0,02, ..., 0,99}. Tùy chọn, 0 và 1 cũng có thể được bao gồm trong X .
Đối với mỗi r trong R và mỗi x 0 trong X , lặp logistic đồ N lần để sản x N . Ghi lại các bộ dữ liệu thu được ( r , x N ).
Đầu ra
Vẽ mỗi tuple ( r , x N ) là một điểm trong mặt phẳng với r là trục hoành và x N là trục tung. Đầu ra phải là đồ họa (không phải nghệ thuật ASCII).
Quy tắc bổ sung
- Quy trình được chỉ định xác định kết quả được yêu cầu, nhưng không được thi hành. Bất kỳ thủ tục nào khác có thể sử dụng cùng một bộ các bộ dữ liệu ( r , x N ).
- Đầu vào linh hoạt như bình thường.
- Lỗi dấu phẩy động sẽ không được tổ chức đối với người trả lời.
- Đầu ra đồ họa là bắt buộc, trong bất kỳ định dạng được chấp nhận . Cụ thể, đầu ra có thể được hiển thị trên màn hình hoặc một tệp đồ họa có thể được tạo ra hoặc một mảng các giá trị RGB có thể được xuất ra. Nếu xuất ra một tập tin hoặc một mảng, xin vui lòng gửi một ví dụ về những gì nó trông giống như khi hiển thị.
- Đồ họa có thể là vector hoặc raster. Đối với đồ họa raster, kích thước của hình ảnh tối thiểu phải là 400 × 400 pixel.
- Mỗi điểm phải được hiển thị dưới dạng một pixel hoặc dưới dạng một dấu với kích thước theo thứ tự của một pixel (nếu không thì biểu đồ sẽ nhanh chóng bị lộn xộn).
- Phạm vi trục phải là [0,4] cho r (trục ngang) và [0,1] cho x N (trục dọc); hoặc nó có thể nhỏ hơn miễn là nó bao gồm tất cả các điểm thu được.
- Quy mô trục là tùy ý. Đặc biệt, tỷ lệ không cần phải giống nhau cho cả hai trục.
- Các đường lưới, nhãn trục, màu sắc và các yếu tố tương tự được chấp nhận, nhưng không bắt buộc.
- Mã ngắn nhất trong byte thắng.
Các trường hợp thử nghiệm
Click vào từng hình ảnh cho một phiên bản độ phân giải cao.
N = 1000; r1 = 2.4; r2 = 4; s = 0.001;
N = 2000; r1 = 3.4; r2 = 3.8; s = 0.0002;
N = 10000; r1 = 3.56; r2 = 3.59; s = 0.00002;
Nhìn nhận
Cảm ơn @FryAmTheEggman và @AndrasDeak vì những bình luận hữu ích của họ trong khi thử thách nằm trong hộp cát.