Thử thách này dựa trên một số phát hiện mới liên quan đến phỏng đoán Collatz và được thiết kế phần nào theo tinh thần của một dự án polymath hợp tác . Việc giải các phỏng đoán đầy đủ được các chuyên gia lý thuyết toán / số coi là cực kỳ khó khăn hoặc có thể là không thể, nhưng nhiệm vụ đơn giản này hoàn toàn có thể thực hiện được và có nhiều ví dụ về mã mẫu. Trong trường hợp tốt nhất, những hiểu biết lý thuyết mới có thể được đưa vào vấn đề dựa trên các mục nhập / sự khéo léo / sáng tạo của thí sinh.
Phát hiện mới như sau: Hãy tưởng tượng một chuỗi các số nguyên liền kề [ n1 ... n2 ] nói tổng m . Gán các số nguyên này cho một cấu trúc danh sách. Bây giờ một phiên bản tổng quát của phỏng đoán Collatz có thể tiến hành như sau. Lặp lại một trong các số nguyên m (hoặc ít hơn) trong danh sách tiếp theo dựa trên một số tiêu chí / thuật toán lựa chọn. Xóa số nguyên đó khỏi danh sách nếu nó đạt 1. Rõ ràng phỏng đoán Collatz tương đương với việc xác định liệu quá trình này luôn thành công cho tất cả các lựa chọn của n1, n2 .
Đây là xoắn, một ràng buộc bổ sung. Ở mỗi bước, thêm m lặp hiện tại trong danh sách với nhau. Sau đó xem xét hàm f (i) trong đó i là số lần lặp và f (i) là tổng số lần lặp hiện tại trong danh sách. Tìm kiếm f (i) với một thuộc tính "đẹp" cụ thể.
Toàn bộ / khái niệm tổng thể là tốt hơn / tài liệu kỹ lưỡng hơn ở đây (với nhiều ví dụ trong ruby). Phát hiện là các chiến lược / thuật toán / thuật toán khá đơn giản dẫn đến " tồn tại một cách đơn điệu" f (i) và nhiều ví dụ được đưa ra trên trang đó. Đây là một ví dụ về đầu ra đồ họa (được vẽ thông qua gnuplot):
Vì vậy, đây là thách thức: Sử dụng các biến thể trên các ví dụ hiện có hoặc ý tưởng hoàn toàn mới để xây dựng thuật toán lựa chọn dẫn đến f (i) "càng gần giảm đơn điệu càng tốt". Những người tham gia nên bao gồm một biểu đồ của f (i) trong bài nộp của họ. Các cử tri có thể bỏ phiếu dựa trên biểu đồ đó & các ý tưởng thuật toán trong mã.
Cuộc thi sẽ chỉ dựa trên n1 = 200 / n2 = 400 thông số! (tương tự trên trang mẫu.) Nhưng hy vọng các thí sinh sẽ khám phá các khu vực khác và cũng cố gắng khái quát các thuật toán của họ.
Lưu ý, một chiến thuật có thể rất hữu ích ở đây là thuật toán loại gốc hoặc thuật toán di truyền.
Có thể thảo luận tất cả điều này hơn nữa trong trò chuyện cho những người tham gia quan tâm.
Đối với một số ref, một thử thách Collegolf codatz khác: Phỏng đoán Collatz (bởi Doorknob )