Saya memiliki DAG dependensi yang berisi banyak tepi yang berlebihan (lihat contoh di bawah). Saya ingin algoritma "cepat" (mis. Dapat menangani grafik dengan beberapa ribu node / tepi) yang menemukan sub grafik minimal.
Sebagai contoh:
A -> B -> C
A -> C
dalam kata-kata A adalah prasyarat untuk B, dan B adalah prasyarat untuk C, dan juga A adalah prasyarat untuk C. Dalam hal ini A -> C berlebihan (karena B sudah perlu untuk mencapai C, dan A perlu untuk mencapai B) .
Sudah lama sejak saya mempelajari algoritma, dan saya tidak yakin harus mulai dari mana.
By the way, itu tidak penting bahwa algoritma menemukan minimum global, minimum lokal baik-baik saja (pengurangan tepi hanya optimasi runtime untuk tahap pemrosesan selanjutnya).
Juga, saya menyadari ini adalah CS QA dan bukan pemrograman, tetapi program saya ditulis dalam Python, jadi saya akan sangat senang mengetahui modul python atau open source untuk melakukan pengurangan ini, kalau-kalau Anda tahu itu.
Terima kasih sebelumnya!