ĐƯỢC. Thuật toán DP dường như phức tạp không cần thiết. Sau khi đọc các bình luận tôi nghĩ rằng điều này có thể giải quyết vấn đề Phiên bản đơn điệu của vấn đề (nhưng tôi chưa kiểm tra từng chi tiết).
Đầu tiên, giả sử mỗi , nơi ⌊ x i ⌋ là phần không thể thiếu, { x i } là phần phân đoạn. Giả sử x i được làm tròn đến ⌊ x i ⌋ + v i , nơi v i là một số nguyên không âm (tất nhiên nói chung v i có thể là tiêu cực, nhưng chúng tôi luôn luôn có thể thay đổi sao cho nhỏ nhất v i là 0).xi=⌊xi⌋+{xi}⌊xi⌋{xi}xi⌊xi⌋+vivivivi
Bây giờ, hãy xem xét chi phí cho một cặp , x j khi thực hiện làm tròn này. Chi phí phải làxixj
||vi−vj+⌊xi⌋−⌊xj⌋|−|{xi}−{xj}+⌊xi⌋−⌊xj⌋||
Biểu thức phức tạp vì các giá trị tuyệt đối. Tuy nhiên, lưu ý rằng chúng ta có tính đơn điệu, vì vậy những thứ bên trong hai giá trị tuyệt đối bên trong phải có dấu CÙNG. Vì chúng ta có một giá trị tuyệt đối bên ngoài, nên thực sự không có vấn đề gì với dấu hiệu đó, biểu thức chỉ đơn giản hóa thành
|vi−vj−({xi}−{xj})|
Từ giờ trở đi, chúng tôi không cho rằng giải pháp là đơn điệu, mà thay vào đó, chúng tôi thay đổi mục tiêu để giảm thiểu tổng số thuật ngữ trên cho tất cả các cặp. Nếu giải pháp cho vấn đề này xảy ra là đơn điệu, thì tất nhiên đó cũng là giải pháp tối ưu cho phiên bản đơn điệu. (Hãy nghĩ về điều này như: vấn đề ban đầu có một hình phạt vô hạn khi giải pháp không đơn điệu, vấn đề mới có hình phạt nhỏ hơn, nếu một giải pháp đơn điệu thắng ngay cả trong phiên bản mới, thì đó phải là giải pháp cho phiên bản đơn điệu)
Bây giờ chúng tôi muốn chứng minh, nếu , trong giải pháp tối ưu, chúng tôi phải có v i ≥ v j .{xi}>{xj}vi≥vj
Giả sử điều này không đúng, rằng chúng ta có một cặp nhưng v i < v j . Chúng tôi sẽ chỉ ra rằng nếu chúng tôi trao đổi v i v j , giải pháp sẽ hoàn toàn tốt hơn.{xi}>{xj}vi<vjvi vj
Trước tiên, chúng tôi so sánh thuật ngữ giữa và j , ở đây thực sự rõ ràng rằng việc hoán đổi hoàn toàn tốt hơn bởi vì trong phiên bản không hoán đổi, v i - v j và { x j } - { x i } có cùng một dấu hiệu, tuyệt đối giá trị sẽ là tổng của hai giá trị tuyệt đối.ijvi−vj{xj}−{xi}
Bây giờ với bất kỳ , chúng ta so sánh tổng của các cặp ( i , k ) và ( j , k ) . Đó là, chúng ta cần so sánhk(i,k)(j,k)
và | v j - v k - ( { x i } - { x k } ) | + ||vi−vk−({xi}−{xk})|+|vj−vk−({xj}−{xk})|.|vj−vk−({xi}−{xk})|+|vi−vk−({xj}−{xk})|
Sử dụng , B , C , D để biểu thị bốn học kỳ trong giá trị tuyệt đối, rõ ràng là một + B = C + D . Ngoài ra, rõ ràng là | A - B | ≥ | C - D | . Bằng cách lồi của giá trị tuyệt đối, chúng ta biết | Một | + | B | ≥ | C | + | D | . Lấy tổng số trên tất cả x kABCDA+B=C+D|A−B|≥|C−D||A|+|B|≥|C|+|D|xkChúng tôi biết việc trao đổi chỉ có thể tốt hơn.
Lưu ý rằng bây giờ chúng ta đã có một giải pháp cho phiên bản sàn / trần Monotonic: phải có ngưỡng, khi lớn hơn luôn luôn làm tròn lên, khi nó nhỏ hơn luôn luôn làm tròn xuống, khi nó tròn bằng nhau và một số xuống, trong khi chất lượng giải pháp chỉ phụ thuộc vào số lượng. Chúng tôi liệt kê tất cả các giải pháp này và chọn một giải pháp có chức năng mục tiêu nhỏ nhất. (Tất cả các giải pháp này nhất thiết phải đơn điệu).{xi}
Cuối cùng, chúng tôi muốn đi đến phiên bản số nguyên đơn điệu của vấn đề. Chúng tôi thực sự có thể chứng minh giải pháp tối ưu giống như phiên bản sàn / trần Monotonic.
vixivi0,1,2,...,max{vi}kvi>kvi=vi−1|{xi}−{xj}|<1
Bây giờ chúng ta sẽ chứng minh, trung bình của trong nhóm ít nhất là trung bình của trong nhóm cộng với . Nếu điều này không đúng, chỉ cần để cho tất cả , tính toán lại cho thấy hàm mục tiêu được cải thiện.{xi}k+1{xi}k1/2vi=vi−1vi>k
Vì trung bình của nằm trong phạm vi , nên thực sự có nhiều nhất hai nhóm, tương ứng với phiên bản sàn / trần.{xi}[0,1)