Транзитивное уменьшение DAG

Я ищу O (V + E) алгоритм для нахождения транзитивного сокращения с учетом DAG. То есть удалите как можно больше ребер, чтобы, если бы вы могли достичь v от u, для произвольных v и u вы все еще можете достичь после удаления ребер. Если это стандартная проблема, пожалуйста, укажите мне какое-нибудь...