Có trực quan để thấy rằng việc tìm đường dẫn Hamilton không nằm trong P trong khi tìm đường dẫn Euler không?


8

Tôi không chắc chắn tôi nhìn thấy nó. Từ những gì tôi hiểu, các cạnh và đỉnh là phần bổ sung cho nhau và điều khá ngạc nhiên là sự khác biệt này tồn tại.

Có cách nào tốt / nhanh chóng / dễ dàng để thấy rằng trên thực tế việc tìm đường dẫn Hamilton sẽ khó hơn nhiều so với tìm đường Euler không?


1
Chúng tôi không biết liệu Hamiltonian Path có ở P hay không.
Raphael

Câu trả lời:


12

Có thể quan điểm sau đây giúp:

Khi bạn đang cố gắng xây dựng một con đường Euler, bạn có thể tiến hành gần như tham lam. Bạn chỉ cần bắt đầu con đường ở đâu đó và cố gắng đi bộ càng lâu càng tốt. Nếu bạn phát hiện một vòng tròn, bạn sẽ xóa các cạnh của nó (nhưng ghi lại rằng vòng tròn này đã được xây dựng). Bằng cách này, bạn phân tách biểu đồ theo vòng tròn, có thể dễ dàng kết hợp với chuyến tham quan Euler. Vấn đề là, không có quyết định nào của bạn "làm thế nào để đi qua biểu đồ" thực sự có thể sai. Bạn sẽ luôn thành công và không bao giờ bị mắc kẹt.

Tình hình với các con đường Hamilton là khác nhau. Một lần nữa, bạn có thể muốn xây dựng một đường dẫn bằng cách đi dọc theo các cạnh của biểu đồ. Nhưng lần này bạn thực sự có thể đưa ra quyết định tồi . Điều này có nghĩa là bạn không thể tiếp tục đường dẫn, nhưng không phải tất cả các đỉnh đã được truy cập. Những gì bạn có thể làm là theo dõi ngược. Điều đó có nghĩa là bạn hoàn nguyên một số quyết định cũ của mình và tiếp tục đi theo một con đường khác. Về cơ bản, tất cả các thuật toán được biết đến cho vấn đề chung đều dựa vào cách này hay cách khác để theo dõi ngược hoặc thử một bộ giải pháp lớn. Tuy nhiên, điều này là đặc trưng cho các vấn đề NP-đầy đủ.

Vì vậy, (đơn giản hóa) dòng dưới cùng: Đường dẫn Euler không yêu cầu theo dõi ngược, nhưng đường dẫn Hamilton thì có.

(Lưu ý rằng có thể là P = NP và trong trường hợp này sẽ tồn tại thuật toán đường dẫn Hamilton thông minh .)


1
Câu trả lời của tôi là nhiều hơn một câu trả lời giật đầu gối. Đây có lẽ là một cái gì đó nhiều hơn OP sau.
Juho

1
không, chúng tôi không biết liệu HamPath có yêu cầu quay lại không!
Kaveh

2
@Kaveh: Tôi biết. Đó là lý do tại sao tôi viết "... tất cả các thuật toán được biết đến cho vấn đề chung ...". Và tôi cũng nói đơn giản hóa dòng dưới cùng. Dù sao, tôi đã đọc lại câu nói cuối cùng một chút.
A.Schulz

5

Một chi tiết khác có thể giúp trực giác của bạn là chu trình Euler tồn tại khi và chỉ khi mỗi đỉnh có mức độ chẵn. Một định lý tương tự tồn tại cho các đường dẫn Euler. Điều này xuất phát từ một bằng chứng khá đơn giản - về cơ bản, mỗi khi bạn truy cập một đỉnh, sau đó bạn phải rời khỏi nó, vì vậy mỗi lần "truy cập" lấy hai từ mức độ của đỉnh. Điều này không giải thích được tại sao đường dẫn Hamilton khó khăn (tất nhiên, chúng ta thậm chí không thực sự biết), nhưng nó giúp giải thích tại sao việc tìm đường dẫn Euler lại dễ dàng.

Victor Adamchik đưa ra một lời giải thích OK về bằng chứng. Hầu hết các lý thuyết đồ thị / sách toán rời rạc có thể sẽ có một bằng chứng mà bạn có thể tìm thấy dễ dàng hơn.

Các câu trả lời khác cung cấp một số trực giác tốt tại sao một bằng chứng đơn giản như vậy dường như không hoạt động cho các chu kỳ Hamilton.


2

"Có trực quan không khi thấy rằng việc tìm đường dẫn Hamilton không nằm trong P trong khi tìm đường dẫn Euler là?"

Các giả định trong câu hỏi của bạn là không chính xác.

HamPathPHamPathEulerPathP

PPPNPHamPathNP-complete

HamPathNP-completeEulerPathNP-completePPNPEulerPathNP-complete


0

NPPNPP

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.