शुरू करेंमुफ़्त में शुरू करें

Triangle relationships पहचानना

अब जबकि आपने cliques के बारे में सीखा है, तो नेटवर्क में स्ट्रक्चर ढूँढने के लिए जो आपने सीखा है उसका इस्तेमाल करने का समय है. सबसे पहले आप triangles पर जाएँगे. Triangles दिलचस्प हैं क्योंकि वे सबसे सरल complex clique हैं. आइए कुछ फंक्शन लिखें; ये अभ्यास आपको नेटवर्क एल्गोरिदम के पीछे की बुनियादी लॉजिक से गुजारेंगे.

Twitter नेटवर्क में, हर node के साथ एक 'occupation' लेबल जुड़ा है, जिसमें Twitter यूज़र के काम को celebrity, politician और scientist में बाँटा गया है. Triangle-finding एल्गोरिदम का एक संभावित उपयोग यह जानना है कि क्या समान occupations वाले यूज़र एक-दूसरे के साथ clique में होने की अधिक संभावना रखते हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में नेटवर्क विश्लेषण का परिचय

पाठ्यक्रम देखें

अभ्यास निर्देश

  • itertools से combinations इम्पोर्ट करें.
  • एक फंक्शन is_in_triangle() लिखें जिसके दो पैरामीटर हों — G और n — और जो यह जाँचता हो कि दिया गया node किसी triangle relationship में है या नहीं.
    • combinations(iterable, n) iterable से साइज़ n की combinations लौटाता है. यह यहाँ उपयोगी होगा, क्योंकि आपको list(G.neighbors(n)) से साइज़ 2 की combinations चाहिए.
    • दो nodes के बीच edge मौजूद है या नहीं, यह जाँचने के लिए .has_edge(node1, node2) मेथड का उपयोग करें. अगर edge मौजूद है, तो दिया गया node triangle relationship में है, और आपको True रिटर्न करना चाहिए.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

____

# Define is_in_triangle()
def is_in_triangle(G, n):
    """
    Checks whether a node `n` in graph `G` is in a triangle relationship or not.

    Returns a boolean.
    """
    in_triangle = False

    # Iterate over all possible triangle relationship combinations
    for n1, n2 in ____:

        # Check if an edge exists between n1 and n2
        if ____:
            in_triangle = ____
            break
    return in_triangle
कोड संपादित करें और चलाएँ