Tôi có một đồ thị có trọng số:NetworkX (Python): làm thế nào để thay đổi trọng lượng cạnh bởi quy tắc định
F=nx.path_graph(10)
G=nx.Graph()
for (u, v) in F.edges():
G.add_edge(u,v,weight=1)
có được các nút danh sách:
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9)]
Tôi muốn thay đổi trọng lượng của mỗi cạnh bằng quy tắc này:
xóa một nút, chẳng hạn như nút 5, rõ ràng, cạnh (4, 5) và (5, 6) sẽ bị xóa và trọng số của mỗi cạnh sẽ chuyển thành:
{# những mép nằm ngay gần đó mép xóa (4, 5) và (5, 6)
(3,4): 'trọng lượng' = 1.1,
(6,7): 'cân '= 1.1,
cạnh #these đang lân cận các cạnh nêu trên
(2,3):' trọng lượng '= 1.2,
(7,8):' trọng lượng '= 1.2,
#các cạnh này nằm gần edg es nêu trên
(1,2): 'trọng lượng' = 1.3,
(8,9): 'trọng lượng' = 1.3,
# cạnh này ở gần đó (1,2)
(0,1): 'weight' = 1.4}
Cách viết thuật toán này?
PS: path_graph chỉ là một ví dụ. Tôi cần một chương trình phù hợp với bất kỳ loại biểu đồ nào. Hơn nữa, chương trình cần phải được lặp lại, nó có nghĩa là tôi có thể loại bỏ một nút từ đồ thị nguồn gốc mỗi lần.
Trân
Tôi không hiểu quy tắc phân phối lại trọng lượng – inspectorG4dget