У меня есть большой ориентированный ациклический граф (DAG), из которого я хотел бы эффективно нарисовать образец узла в соответствии со следующими критериями:
- Я указываю фиксированный узел A, который никогда не должен отбираться
- Узлы, которые прямо или косвенно ссылаются на A, никогда не выбираются.
- Все остальные узлы выбираются с равной вероятностью.
Узлы хранятся как объекты с указателями на другие узлы, на которые они ссылаются, весь граф может быть достигнут из одного корневого узла, который прямо или косвенно ссылается на все остальное.
Есть ли для этого хороший алгоритм? В идеале, не требуя больших объемов дополнительной памяти, поскольку группа DAG имеет большой размер!