Thuật toán chuẩn hóa đồ thị đơn giản


8

Tôi đang tìm kiếm một thuật toán cung cấp một chuỗi chính tắc cho một biểu đồ màu nhất định. I E. một thuật toán trả về một chuỗi cho một biểu đồ, sao cho hai biểu đồ có cùng một chuỗi khi và chỉ khi chúng là đẳng cấu.

Cụ thể, tôi đang tìm kiếm một thuật toán đơn giản, dễ thực hiện với hiệu suất hợp lý trên hầu hết các đồ thị (tất nhiên là trường hợp siêu đa thức tồi tệ nhất). Tôi đang mong đợi các biểu đồ nhỏ, vì vậy hiệu suất không phải là sao, chỉ cần đủ tốt.

Thật không may, hầu hết những điều tôi tìm thấy rất phức tạp và quan tâm nhiều hơn đến việc thể hiện các kết nối toán học sâu sắc hơn là mô tả thuật toán đơn giản. Tôi sợ rằng tôi không có thời gian để lặn sâu. Bất cứ ai có thể cho tôi một phím tắt?

Tôi hy vọng một cái gì đó giống như thuật toán Floyd-Warshall. Không tối ưu, nhưng đủ tốt, và dễ thực hiện.


Các biểu đồ được dán nhãn nhất quán? Nếu có, chỉ cần viết ra tất cả các cạnh và sắp xếp danh sách.
adrianN

Ồ xin lỗi. Các đỉnh và cạnh được dán nhãn, nhưng không phải là duy nhất. Mỗi nhãn có thể xảy ra lần thứ hai. Tôi đoán cụm từ toán học là "màu" chứ không phải là nhãn. Tôi sẽ chỉnh sửa câu hỏi.
Peter

"trường hợp xấu nhất NP, tất nhiên" - chỉ để chúng ta rõ ràng: có thuật toán thời gian đa thức (xác định) đã biết đối với phương pháp đẳng cấu đồ thị, vì vậy điều tốt nhất bạn có thể mong đợi là một giải pháp siêu đa thức. Và vâng, vấn đề là ở NP. Xem ở đây để biết chi tiết về những khái niệm này.
Raphael

@Raphael Bạn nói đúng, thuật ngữ không chính xác hơn. Trường hợp xấu nhất là siêu đa thức. Tuy nhiên, có các thuật toán đa thức trường hợp trung bình, do đó, ít nhất nên có thể đạt được.
Peter

@Raphael Điều tốt nhất bạn có thể mong đợi là một thuật toán nhanh hoạt động cho hầu hết các biểu đồ.
Yuval Filmus

Câu trả lời:


3

Brendan McKay và Adolfo Piperno đã viết một bài khảo sát về câu hỏi này vào năm 2013. Họ trình bày một số chương trình máy tính hiệu quả, chuẩn hóa nhiều biểu đồ nhanh hơn bạn tưởng tượng. Không có nhu cầu (và không có điểm) trong việc tự thực hiện các thuật toán này - chúng có sẵn trực tuyến, ngay cả dưới dạng mã nguồn.


Có sự giảm bớt giữa GI và GI màu (với phép nhân số nhân liên tục với số lượng màu không đổi), hoặc có lẽ chính các thuật toán có thể được sửa đổi.
Yuval Filmus

Bạn có thể mô tả một ở đây như để đưa ra một câu trả lời đầy đủ?
Raphael

3
Đối với mỗi màu, thêm một đỉnh phụ. Kết nối mỗi đỉnh ban đầu với đỉnh đại diện cho màu của nó bằng cách thêm một cạnh. Đảm bảo rằng độ của các đỉnh "màu" là duy nhất - nếu không phải như vậy, hãy thêm các vòng hoặc các cạnh giả khác. Nhân tiện, tôi không hài lòng về bài khảo sát McKay / Piperno - đó là một cuộc khảo sát về nghiên cứu của chính họ, và những so sánh họ thực hiện với các công cụ khác là trên các tiêu chuẩn mà họ cho là thú vị. Họ bỏ qua những phát triển quan trọng gần đây và gần như tất cả các điểm chuẩn bắt nguồn từ các ứng dụng phi lý thuyết, ảnh hưởng đến kết quả thực nghiệm.
Igor Markov

2

Cuối cùng tôi đã thực hiện thuật toán Nauty, nhưng khi làm như vậy, tôi đã tìm ra câu trả lời cho câu hỏi của riêng mình. Nauty mở rộng thuật toán cơ bản này với nhiều phương pháp phỏng đoán phức tạp:

Cho một đồ thị nhỏ G có độ dài n:

  1. Lặp lại tất cảhoán vị các đỉnh của nó.n!
  2. Tạo một đại diện chuỗi của mỗi (một-một).
  3. Xác định một số thứ tự chính tắc của chuỗi và nhớ chuỗi nhỏ nhất gặp phải.

Thuật toán này là , Nhưng đối với các biểu đồ nhỏ, nó sẽ hoạt động tốt.O(n!)

Nauty mở rộng thuật toán này chủ yếu bằng cách cắt bớt không gian tìm kiếm của đồ thị để xem xét, khi tìm kiếm một biểu đồ có biểu diễn chuỗi nhỏ nhất.


1
Các biểu đồ phải thực sự nhỏ nếu cách tiếp cận vũ phu này là hợp lý. Thậm chílớn hơn . 15!1012
David Richerby

1
@DavidR Richby Hoàn toàn. Tuy nhiên, có những trường hợp sử dụng, chẳng hạn như phân tích mô-đun, trong đó thao tác này chỉ được thực hiện trên các đồ thị có kích thước 3 hoặc 4. Trên thực tế, tôi không biết liệu có thể đạt được một sơ đồ con đẳng cấu chính tắc trong thời gian hợp lý cho các biểu đồ không trên 15 nút (ngay cả khi bản thân đẳng cấu con được biết là rất gần với đa thức)
Peter
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.