जटिल नेटवर्क के लिए NetworkX

Jan 05 2023
NetworkX जटिल नेटवर्क की संरचना, गतिशीलता और कार्यों के निर्माण, हेरफेर और अध्ययन के लिए एक पायथन लाइब्रेरी है। इसका उपयोग सामाजिक, जैविक और तकनीकी नेटवर्क जैसे जटिल नेटवर्क के विश्लेषण और मॉडलिंग के लिए किया जाता है।
अनस्प्लैश पर जेके द्वारा फोटो

NetworkX जटिल नेटवर्क की संरचना, गतिशीलता और कार्यों के निर्माण, हेरफेर और अध्ययन के लिए एक पायथन लाइब्रेरी है। इसका उपयोग सामाजिक, जैविक और तकनीकी नेटवर्क जैसे जटिल नेटवर्क के विश्लेषण और मॉडलिंग के लिए किया जाता है। नेटवर्कएक्स यादृच्छिक और सिंथेटिक नेटवर्क उत्पन्न करने के साथ-साथ नेटवर्क के संरचनात्मक गुणों को मापने और जटिल प्रणालियों की गतिशीलता का विश्लेषण करने के लिए उपकरण प्रदान करता है जिन्हें नेटवर्क के रूप में दर्शाया जा सकता है। NetworkX का उपयोग विभिन्न प्रकार के क्षेत्रों में किया जाता है, जिसमें समाजशास्त्र, भौतिकी, कंप्यूटर विज्ञान और जीव विज्ञान शामिल हैं, जटिल प्रणालियों का अध्ययन करने और उनके व्यवहार को नियंत्रित करने वाले अंतर्निहित पैटर्न और संरचनाओं को समझने के लिए।

नेटवर्कएक्स स्थापित करना

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)

  • किनारे की सूचियाँ: यह टुपल्स की एक सूची है, जहाँ प्रत्येक टपल अपने दो समापन बिंदु नोड्स के साथ ग्राफ़ में एक किनारे का प्रतिनिधित्व करता है।
  • निकटता सूची: यह सूचियों की सूची के रूप में ग्राफ का एक सरल प्रतिनिधित्व है, जहां प्रत्येक आंतरिक सूची एक नोड के पड़ोसियों का प्रतिनिधित्व करती है।
  • डिक्शनरी-आधारित डेटा स्ट्रक्चर्स: नेटवर्कएक्स डिक्शनरी के रूप में दर्शाए गए ग्राफ़ को भी संभाल सकता है, जहां कुंजियाँ नोड हैं और मान प्रत्येक नोड के पड़ोसी हैं।
  • नोड सूचियाँ: यह ग्राफ़ में नोड्स की एक सूची है, जिसमें उनके बीच के किनारों के बारे में कोई जानकारी नहीं है।
  • आसन्न मैट्रिक्स: यह एक द्वि-आयामी मैट्रिक्स है जहां पंक्तियां और कॉलम नोड्स का प्रतिनिधित्व करते हैं, और कोशिकाएं नोड्स के बीच किनारे की उपस्थिति या अनुपस्थिति का प्रतिनिधित्व करती हैं।

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)