ÎncepețiÎncepe gratuit

Identificarea relațiilor de tip triunghi

Acum că ai aflat despre clici, e momentul să folosești cunoștințele dobândite pentru a descoperi structuri într-o rețea. Vei începe cu triunghiurile – cele mai simple clici complexe. Să scriem câteva funcții; aceste exerciții te vor ghida prin logica fundamentală din spatele algoritmilor de rețea.

În rețeaua Twitter, fiecare nod are asociată o etichetă 'occupation', care clasifică ocupația utilizatorului în una dintre categoriile celebrity, politician și scientist. O aplicație practică a algoritmilor de găsire a triunghiurilor este să verifici dacă utilizatorii cu ocupații similare au mai multe șanse să formeze o clică împreună.

Acest exercițiu face parte din cursul

Introducere în analiza rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă combinations din itertools.
  • Scrie o funcție is_in_triangle() cu doi parametri – G și n – care verifică dacă un nod dat se află sau nu într-o relație de tip triunghi.
    • combinations(iterable, n) returnează combinații de dimensiune n din iterable. Acest lucru îți va fi util, deoarece ai nevoie de combinații de dimensiune 2 din list(G.neighbors(n)).
    • Pentru a verifica dacă există o muchie între două noduri, folosește metoda .has_edge(node1, node2). Dacă muchia există, înseamnă că nodul dat face parte dintr-o relație de tip triunghi și trebuie să returnezi True.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

____

# 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
Editează și rulează codul