1) Có thuật toán nào tốt hơn O (| E |. | V |) ngây thơ để tính số lượng con cháu của mỗi đỉnh trong một DAG không?
2) Có một thuật toán trực tuyến để làm như vậy không, giả sử rằng các nút được thêm từng cái một và kết nối với một tập hợp con không trống của các nút hiện có?
Bối cảnh: Tôi quan tâm đến trường hợp m = O (n), hàng triệu đỉnh, hàng chục triệu cạnh thông thường. Ngoài ra, đếm số lượng con cháu cũng bị chìm sẽ hữu ích.
Một cách tiếp cận xác suất sẽ là băm nhỏ, như một cách để biểu diễn tập hợp con cháu của mỗi nút. Sự kết hợp của cấu trúc băm min là không đáng kể, và tính chính xác của liên kết có thể được ước tính từ số lượng trùng khớp trong băm nhỏ.
Tuy nhiên, tôi không chắc sẽ cư xử tốt như thế nào khi tuyên truyền DAG, theo trực giác có vẻ như các lỗi sẽ kết hợp khá nhanh.
Rất liên quan: /cstheory/553/what-bound-can-be-put-on-counting-reachable-nodes-in-a-dag Và thực sự là một bản sao của: https: // cstheory.stackexchange.com/questions/18787/what-is-the-fastest-deterministic-alerskym-for-incremental-dag-reachability