Tôi đang tìm một thuật toán để tìm kết hợp thứ nguyên tốt nhất để đạt được kết quả mong muốn.Thuật toán để tìm kích thước phù hợp nhất
Lấy sau đây là ví dụ:
| A | B | C | y |
|--------|--------|-------|-----|
| dog | house1 | green | 30 |
| dog | house1 | blue | 15 |
| cat | house1 | green | 20 |
| cat | house2 | red | 5 |
| turtle | house3 | green | 50 |
A, B, C là các kích thước đo. y là kết quả đo được.
Nếu tôi muốn nhận được tất cả sự kết hợp của kích thước đó thực hiện y> = 50 nên kết quả sẽ là:
turtle, house3, green
turtle, any, green
turtle, house3, any
turtle, any, any
any, house3, green
any, house3, any
any, any, green
any, house1, green
any, house1, any
Có lẽ đó là một vấn đề dễ dàng nhưng tôi đã cố gắng tìm một giải pháp tối ưu về mặt O (n) và tôi không tìm thấy nó.
Gần như chắc chắn liên quan đến [Lập trình tuyến tính] (https://en.wikipedia.org/wiki/Linear_programming). Các giải pháp sẽ là một phần của (có thể "cắt qua"?) Các đơn giản. Nhìn về phía trước để xem cách tiếp cận cho việc này. BTW: ** tuyến tính ** đề cập đến số hàng của bảng? Điều này có thể khó khăn. Cảm giác ruột của tôi là nó sẽ có ít nhất là O (n * m), đối với các hàng 'n' và cột 'm', và thậm chí còn đắt hơn ... – Marco13
Bạn có thể giải thích kết quả đầu ra không? Theo nghĩa nào là 'any, house1, any' một giải pháp? Bạn có thêm các giá trị 'y' tương ứng, nhận' 30 + 15 + 20 = 65' trong trường hợp đó không? (Có lẽ nền nhiều hơn sẽ hữu ích: loại đại diện nào 'y' đại diện, và tại sao nó có ý nghĩa là tổng hợp các phần tử của cột' y'?) –
@MarkDickinson bạn đúng, tổng (y) khi A = bất kỳ, B = house1, C = bất kỳ – decay