2012-12-19 35 views
7

Tôi muốn hỏi bạn có bất kỳ thuật toán nào để giảm thiểu các cạnh chéo trong biểu đồ hay không, ví dụ: nếu tôi có ma trận chuyển đổi của biểu đồ.Giảm ngang qua biểu đồ

Tôi đã tìm thấy các phương pháp như cố gắng đặt các nút quanh nút khác, nhưng tôi muốn biết một số ý tưởng khác. Cảm ơn.

+1

Bạn có hỏi về đồ thị * bản vẽ * - tức là một thuật toán sẽ cung cấp bố cục đỉnh tốt (với các cạnh tối thiểu vv) cho biểu đồ 'G (V, E)' ?? –

+0

Vâng đó là những gì tôi nghĩ – DropDropped

Trả lời

2

Có một loạt các thuật toán/thư viện được thiết lập tốt cho các ứng dụng vẽ đồ thị, bạn có thể lấy một chút nền here.

Để vẽ đồ thị vô hướng, lựa chọn phổ biến là thuật toán bố cục dựa trên lực, trong đó các cạnh đồ thị được coi là lò xo (lực hấp dẫn) trong khi các đỉnh được xử lý như hạt tích điện (áp dụng lực đẩy). Thuật toán hoạt động bằng cách cập nhật các vị trí đỉnh dựa trên các lực này cho đến khi đạt được trạng thái ổn định. Bạn có thể đọc thêm về các phương pháp dựa trên lực here. Vì các thuật toán này tìm kiếm một giải pháp cân bằng, chúng thường dẫn đến bố cục giả tối ưu, không có nhiều cạnh lộn xộn.

Bạn có thể quan tâm đến việc sử dụng một trong nhiều thư viện vẽ biểu đồ có sẵn. Gói Graphviz nói chung là khá tốt và hỗ trợ một số thuật toán khác nhau cho các ứng dụng vẽ đồ thị khác nhau.

Các vấn đề liên quan