Tôi đang suy nghĩ một thuật toán để giải quyết vấn đề bên dưới:Làm cách nào để tìm cách tối thiểu số cạnh?
Biểu đồ nhất định bao gồm đỉnh và cạnh.
Có N khách hàng muốn di chuyển từ đỉnh đến đỉnh khác. Và mỗi yêu cầu của khách hàng cần một cạnh đạo diễn để kết nối hai đỉnh.
Vấn đề là làm cách nào để tìm số cạnh tối thiểu để đáp ứng tất cả các yêu cầu của khách hàng?
Có một ví dụ đơn giản:
- khách hàng 1 muốn đi từ đỉnh a đến đỉnh b.
- Khách hàng 2 muốn di chuyển từ đỉnh b đến đỉnh c.
- Khách hàng 3 muốn di chuyển từ đỉnh a đến đỉnh c.
Cách đơn giản nhất là đem lại lợi thế cho mỗi khách hàng:
- cạnh 1: đỉnh a -> đỉnh b
- cạnh 2: đỉnh b -> đỉnh c
- cạnh 3 : vertex a -> vertex c
Nhưng thực sự chỉ cần 2 cạnh (tức là cạnh 1 và cạnh 2) để thỏa mãn ba yêu cầu của khách hàng.
Nếu số lượng khách hàng lớn, cách tìm các cạnh tối thiểu để đáp ứng tất cả các yêu cầu của khách hàng?
Có một thuật toán để giải quyết vấn đề này không?
Vâng, mỗi cạnh trong đồ thị được định hướng cạnh! Đó là lỗi của tôi, tôi nên nhấn mạnh rằng biểu đồ đã cho là đồ thị hướng. –
Đây là vấn đề về Giảm chuyển đổi. http://en.wikipedia.org/wiki/Transitive_reduction –
Tôi khá chắc chắn bạn có nghĩa là "Và mỗi yêu cầu của khách hàng cần một đường dẫn ** ** để kết nối hai đỉnh." Nếu bạn thực sự có nghĩa là "đạo diễn cạnh", thì vấn đề là tầm thường, và câu trả lời cho vấn đề ví dụ của bạn đòi hỏi tất cả 3 cạnh. –