1. Învăţa
  2. /
  3. Courses
  4. /
  5. Nhập môn Phân tích Mạng bằng Python

Connected

exercise

Nhận diện quan hệ tam giác

Giờ bạn đã học về clique, hãy tận dụng kiến thức đó để tìm các cấu trúc trong một mạng. Trước hết, ta sẽ nhắm đến tam giác. Ta quan tâm đến tam giác vì đây là clique phức tạp đơn giản nhất. Hãy viết vài hàm; các bài tập này sẽ dẫn bạn qua tư duy cốt lõi đằng sau các thuật toán trên mạng.

Trong mạng Twitter, mỗi nút có một nhãn 'occupation' đi kèm, trong đó nghề nghiệp của người dùng Twitter được chia thành celebrity, politician và scientist. Một ứng dụng tiềm năng của các thuật toán tìm tam giác là kiểm tra xem những người dùng có nghề nghiệp tương tự có xu hướng nằm chung trong một clique với nhau hay không.

Instrucţiuni

100 XP
  • Import combinations từ itertools.
  • Viết hàm is_in_triangle() với hai tham số - G và n - để kiểm tra một nút cho trước có nằm trong quan hệ tam giác hay không.
    • combinations(iterable, n) trả về các tổ hợp kích thước n từ iterable. Điều này hữu ích ở đây vì bạn cần các tổ hợp kích thước 2 từ list(G.neighbors(n)).
    • Để kiểm tra một cạnh có tồn tại giữa hai nút hay không, dùng phương thức .has_edge(node1, node2). Nếu có cạnh, thì nút đã cho nằm trong một quan hệ tam giác và bạn nên trả về True.