NetworkX cho các mạng phức hợp

Jan 05 2023
NetworkX là một thư viện Python để tạo, thao tác và nghiên cứu cấu trúc, động lực và chức năng của các mạng phức tạp. Nó được sử dụng để phân tích và mô hình hóa các mạng phức tạp, chẳng hạn như mạng xã hội, sinh học và công nghệ.
Ảnh của JK trên Bapt

NetworkX là một thư viện Python để tạo, thao tác và nghiên cứu cấu trúc, động lực và chức năng của các mạng phức tạp. Nó được sử dụng để phân tích và mô hình hóa các mạng phức tạp, chẳng hạn như mạng xã hội, sinh học và công nghệ. NetworkX cung cấp các công cụ để tạo các mạng ngẫu nhiên và tổng hợp, cũng như để đo các thuộc tính cấu trúc của mạng và phân tích động lực học của các hệ thống phức tạp có thể được biểu diễn dưới dạng mạng. NetworkX được sử dụng trong nhiều lĩnh vực, bao gồm xã hội học, vật lý, khoa học máy tính và sinh học, để nghiên cứu các hệ thống phức tạp và hiểu các mô hình và cấu trúc cơ bản chi phối hành vi của chúng.

cài đặt mạngX

pip install networkx

arcs=[(0,43), (0,56), (1,2), (1,6), (2,5), (2,14), (3,4), (3,17),(4,5), (4,16), (5,15), 
      (5,14), (6,7), (6,14), (7,8), (7,14), (8,9), (8,11), (10,11), (10,24), (11,12), 
      (11,24), (11,25), (12,13), (12,23), (13,14), (13,22), (14,21), (15,21), (15,18), 
      (16,17), (16,18), (17,19), (18,20), (19,20), (20,21), (20,35), (20,36), (21,33), 
      (22,26), (22,27), (23,25), (23,26), (24,25), (25,30), (26,31), (27,32), (27,33)]

import networkx as nx
g = nx.Graph()
g.add_edges_from(arcs)

  • Danh sách cạnh: Đây là danh sách các bộ, trong đó mỗi bộ đại diện cho một cạnh trong biểu đồ với hai nút điểm cuối của nó.
  • Danh sách kề: Đây là một biểu diễn đơn giản của biểu đồ dưới dạng danh sách các danh sách, trong đó mỗi danh sách bên trong biểu thị các lân cận của một nút.
  • Cấu trúc dữ liệu dựa trên từ điển: NetworkX cũng có thể xử lý các biểu đồ được biểu diễn dưới dạng từ điển, trong đó các khóa là các nút và các giá trị là các lân cận của mỗi nút.
  • Danh sách nút: Đây là danh sách các nút trong biểu đồ, không có thông tin về các cạnh giữa chúng.
  • Ma trận kề: Đây là ma trận hai chiều trong đó các hàng và cột biểu thị các nút và các ô biểu thị sự có mặt hoặc vắng mặt của một cạnh giữa các nút.

g.size()

import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(14,14))
nx.draw(g,with_labels = True, ax = ax, node_size=1500)

      
                

g.add_node(99)
g.add_edge(99,0)