Vấn đề người đưa thư Trung Quốc: tìm kiếm các kết nối tốt nhất giữa các nút mức độ lẻ


9

Tôi đang viết một Chương trình, giải quyết vấn đề Người đưa thư Trung Quốc (còn được gọi là vấn đề kiểm tra tuyến đường) trong một bản đồ không xác định và hiện đang đối mặt với vấn đề để tìm các cạnh bổ sung tốt nhất để kết nối các nút với mức độ lẻ, vì vậy tôi có thể tính toán mạch Euler.

Có thể có (xem xét kích thước của biểu đồ muốn được giải quyết) một sự kết hợp rất lớn của các cạnh cần được tính toán và đánh giá.

Như một ví dụ có các nút lẻ độ . Sự kết hợp tốt nhất có thể là:Một,B,C,D,E,F,G,H

  1. , C D , E F , G HMộtBCDEFGH
  2. , B D , E H , F GMộtCBDEHFG
  3. , B C , E G , F HMộtDBCEGFH
  4. ....MộtE

Trong đó có nghĩa là "cạnh giữa nút A và nút B ".MộtBMộtB

Do đó, câu hỏi của tôi là: có một thuật toán đã biết để giải quyết vấn đề đó một cách phức tạp tốt hơn so với lực lượng vũ phu thuần túy (tính toán và đánh giá tất cả chúng)?

€: Sau một số nỗ lực nghiên cứu tôi thấy này bài viết, nói về "thuật toán phù hợp tối thiểu dài Edmonds" nhưng tôi không thể tìm thấy bất kỳ pseudo-code hay học-mô tả của thuật toán này (hoặc ít nhất là tôi không nhận ra chúng, như Google cung cấp rất nhiều lượt truy cập một thuật toán phù hợp của J. Edmonds)


4
Wikipedia cho rằng có một thuật toán Ôi(n3) cho Bài toán Người đưa thư Trung Quốc.
hugomg

Tôi biết, nhưng tôi vẫn tò mò muốn biết làm thế nào.
Sim

2
Những ghi chú bài giảng này xử lý vấn đề Người đưa thư Trung Quốc: win.tue.nl/~nikhil/cifts/2WO08/lec4.pdf
Alex ten Brink

Sim, tôi quan tâm đến phần mềm của bạn vì tôi đang gặp vấn đề về ánh xạ: help.openstreetmap.org/questions/13197/ chúc Chúc may mắn với dự án của bạn. pm at pmbooks dot com

Hãy thử bài viết tôi đã liên kết nó mô tả một thuật toán khớp chiều dài tối thiểu, nhưng do tôi không có kinh nghiệm và thiếu mã giả, tôi buồn là không thể thực hiện được.
Sim

Câu trả lời:


1

Như đã nhận xét trong các ý kiến, Wikipedia giảm từ kiểm tra tuyến đường đến các trận đấu có trọng lượng tối thiểu . Vladimir Kolmogorov đã xuất bản một triển khai nhanh chóng của phiên bản trọng số của thuật toán nở hoa của Edmonds, trong C ++ [1].

[1] V. Kolmogorov, Blossom V: Một triển khai mới của thuật toán kết hợp hoàn hảo với chi phí tối thiểu . Tính toán lập trình toán học , 1 (1): 43 Hàng67, 2009.


1
Và chúng ta đừng gọi nó là "Vấn đề người đưa thư Trung Quốc". Liên kết duy nhất đến Trung Quốc là nó được giới thiệu bởi Mei-Ko Kwan và quốc tịch của anh ta không liên quan đến vấn đề này. Đặt tên là "Trung Quốc" cho thấy rằng điều quan trọng nhất về anh ta là nguồn gốc dân tộc. Ví dụ, chúng tôi không đề cập đến thuật toán nổi tiếng để tính toán các đường đi ngắn nhất trong biểu đồ là "thuật toán Hà Lan" hoặc thậm chí tệ hơn là "thuật toán của người da trắng". (Vâng, tôi phản đối "định lý còn lại của Trung Quốc" vì lý do tương tự nhưng con ngựa đó đã chốt cách đây quá lâu.)
David Richerby
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.