Cho một đồ thị được kết nối, có hướng , các đỉnh và một màu, st và có màu đen và tất cả các đỉnh khác có màu đỏ hoặc màu xanh , có thể tìm thấy một đường dẫn đơn giản từ đến với nhiều màu đỏ hơn đỉnh màu xanh trong thời gian đa thức?
Tôi nghĩ điều đó là có thể nhưng TA của chúng tôi đã nói rằng đây là NP-hard.
Ý tưởng cho một giải pháp:
Từ tạo như sau:
Chia tất cả thành hai đỉnh và . được tạo thành từ các cặp đỉnh chia và và .
Với tất cả giới thiệu một cạnh . (Đối với cạnh hoặc trong đó tạo cạnh hoặc resp.). Ngoài ra, giới thiệu một cạnh cho bất kỳ đỉnh chia nào. Vì vậy, chứa hai loại cạnh: những người mà tương ứng với cạnh từ và những người mà tương ứng với đỉnh từ .
Bây giờ, chúng tôi giới thiệu trọng lượng như sau:
- nếu đỉnh tương ứng có màu đỏ .
- nếu đỉnh tương ứng có màu xanh .
- cho tất cả các cạnh khác, tức là các cạnh tương ứng với các cạnh của chứ không phải các đỉnh.
Bây giờ, tiến hành một thuật toán cho các đường dẫn ngắn nhất mà bạn chọn như Dijkstra, Bellman-Ford, ..., kiểm tra xem độ dài của đường dẫn đã cho có và bạn đã hoàn thành.
Tại sao cai nay không hoạt động? Có phải vì chúng ta có thể có chu kỳ tiêu cực? Chúng tôi có thể phát hiện những người có Bellman Ford nhưng sau đó chúng tôi phải tìm ra con đường mong muốn với phương tiện không hiệu quả khiến vấn đề quyết định này trở nên khó khăn? Có giảm bớt thanh lịch để hiển thị độ cứng NP?