Dưới đây là một vấn đề thú vị mà tôi gặp phải trong một cuộc thi lập trình:Phát hiện khi nhân ma trận có thể
tuyên bố Vấn đề: Do kích thước của n
ma trận, xác định xem có tồn tại một trật tự như vậy mà các ma trận có thể nhân lên. Nếu có, in ra kích thước (sản phẩm của kích thước) của ma trận kết quả.
Quan sát của tôi: Điều này giảm xuống vấn đề đường dẫn Hamilton-NP nếu bạn xem mỗi ma trận là một đỉnh và vẽ một cạnh đạo giữa các ma trận có thể nhân lên. Tôi giải quyết điều này bằng cách đơn giản là brute-buộc vấn đề nhưng điều này rõ ràng là rất chậm. Tôi đã tự hỏi nếu có bất kỳ tối ưu hóa thông minh cho trường hợp cụ thể của vấn đề này.
Tất cả các vấn đề có thể giải quyết (và có thể kiểm tra) hiệu quả đều giảm xuống các vấn đề NP-complete. Nó là giảm từ một vấn đề NP-hoàn thành vấn đề của bạn mà nên gây phiền nhiễu. – aelguindy
Như @ElKamina nói, đó là một vấn đề đường mòn Euler, xem thêm câu trả lời của tôi [ở đây] (http://stackoverflow.com/a/9046177/1011995). –