Các thuật toán để tạo đồ thị bằng các thuộc tính đã cho


7

Có thể có một số lượng lớn các thuật toán được đề xuất để tạo các biểu đồ thỏa mãn một số thuộc tính chung (ví dụ: hệ số phân cụm, độ dài đường dẫn ngắn nhất trung bình, phân phối độ, v.v.).

Câu hỏi của tôi liên quan đến một trường hợp cụ thể: Tôi muốn tạo ra một vài biểu đồ thông thường không định hướng (nghĩa là mọi nút trong các biểu đồ này có cùng số lượng lân cận) với các hệ số phân cụm khác nhau và độ dài đường dẫn ngắn nhất trung bình. Tổng quát hơn, bằng cách sửa phân phối độ, tôi muốn tạo các biểu đồ với các hệ số phân cụm khác nhau và độ dài đường dẫn ngắn nhất trung bình.

Tôi tự hỏi các thuật toán nổi tiếng để làm điều này là gì (hoặc trên thực tế, có bất kỳ?), Và phần mềm được đề xuất cho cùng một mục đích là gì?


Câu trả lời:


5

Không có thuật toán chung cho vấn đề của bạn nhưng những gì người ta thường làm (đối với biểu đồ của các đơn đặt hàng nhỏ) là

  1. Sử dụng nauty để tạo các biểu đồ thỏa mãn một số ràng buộc thô (bạn chỉ có thể tạo các biểu đồ được kết nối nauty (bi), biểu đồ thông thường, biểu đồ miễn phí tam giác / tứ giác, ..)

  2. Sử dụng một chương trình bên ngoài để chỉ trích xuất các biểu đồ bạn cần đối với một số thuộc tính bổ sung mà bạn muốn.

Bạn có thể làm cả 1 và 2 trong hiền nhân ! Ví dụ, hãy xem xét rằng bạn muốn tạo tất cả các biểu đồ 5 thông thường được kết nối của đơn hàng 20 có khoảng cách trung bình 10 (chỉ số Wiener ??) và một số hệ số phân cụm. Bạn làm như sau

for G in graphs.nauty_geng(" 20 -c -d5 -D5" ):
    if G.wiener_index() == 10 and G.clustering_coeff() == SOMETHING:
       print G.adjacency_matrix()

Hãy cho tôi biết nếu bạn cần một số câu trả lời cụ thể hơn liên quan đến cây xô thơm.

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.