Tổng đặc trưng của các hàng xóm
Bước lan truyền thông điệp (message passing) cơ bản nhất của mạng nơ-ron đồ thị là lấy
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: python-basics, numpy-axis-reduction.
Nội dung đề bài
Mô tả bài toán
Bước lan truyền thông điệp (message passing) cơ bản nhất của mạng nơ-ron đồ thị là lấy tổng đặc trưng của các đỉnh kề: h'v = tổngu thuộc N(v) xu. Nếu muốn giữ cả thông tin của chính đỉnh, người ta thêm một cạnh tự nối và cộng thêm xv.
Yêu cầu
Viết hàm aggregate_neighbor_features(adjacency, features, node, include_self=False) trả về vector tổng đặc trưng của các hàng xóm.
Quy ước nộp bài
Nộp hàm aggregate_neighbor_features trong solution.py. Hệ thống gọi hàm trực tiếp và so giá trị với sai số 1e-6; không đọc stdin và không in ra stdout.
Input
- adjacency: ma trận kề (danh sách các danh sách), adjacency[v][u] khác 0 nếu u kề
v.
- features: đặc trưng đỉnh (kích thước n x d).
- node: đỉnh cần tổng hợp.
- include_self: nếu True thì cộng thêm đặc trưng của chính đỉnh.
Output
Danh sách độ dài d bằng tổng features[u] trên các hàng xóm u (và cả node khi include_self=True).
Ràng buộc
- node phải nằm trong [0, n); nếu không thì ném ValueError.
- Số hàng của features phải bằng n; nếu không thì ném ValueError.
- Chỉ dùng NumPy để lọc và cộng.
Ví dụ 1
Input
aggregate_neighbor_features(adjacency=[[0, 1, 1, 0], [1, 0, 1, 0], [1, 1, 0, 1], [0, 0, 1, 0]], features=[[1, 0], [2, 1], [0, 3], [4, 2]], node=0)
Output
[2, 4]
Ví dụ 2
Input
aggregate_neighbor_features(adjacency=[[0, 1, 1, 0], [1, 0, 1, 0], [1, 1, 0, 1], [0, 0, 1, 0]], features=[[1, 0], [2, 1], [0, 3], [4, 2]], node=1)
Output
[1, 3]
Giải thích
Với features = [[1, 0], [2, 1], [0, 3], [4, 2]] và ma trận kề sao cho đỉnh 0 kề 1 và 2, tổng là features[1] + features[2] = [2, 4]. Nếu đỉnh không có hàng xóm nào và include_self=False thì kết quả là vector không.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
