1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Úvod do analýzy sítí v Pythonu

Connected

cvičení

Hledání trojúhelníkových vztahů

Teď, když už víš, co jsou kliky, je čas využít tyto znalosti k hledání struktur v síti. Začneme trojúhelníky – jsou to nejjednodušší komplexní kliky. Napíšeme několik funkcí, které tě provedou základní logikou síťových algoritmů.

V síti Twitter má každý uzel přiřazený atribut 'occupation', který rozděluje uživatele podle jejich povolání na celebrity, politician a scientist. Algoritmy pro hledání trojúhelníků lze využít například k tomu, abys zjistil/a, jestli uživatelé se stejným povoláním mají větší tendenci tvořit spolu kliky.

Pokyny

100 XP
  • Importuj combinations z modulu itertools.
  • Napiš funkci is_in_triangle() se dvěma parametry – G a n – která zkontroluje, jestli se daný uzel nachází v trojúhelníkovém vztahu.
    • combinations(iterable, n) vrací kombinace velikosti n z iterable. Hodí se ti to zde, protože budeš chtít kombinace velikosti 2 z list(G.neighbors(n)).
    • K ověření, jestli mezi dvěma uzly existuje hrana, použij metodu .has_edge(node1, node2). Pokud hrana existuje, daný uzel je součástí trojúhelníkového vztahu a funkce by měla vrátit True.