Ada algoritma polinomial yang mudah untuk memutuskan apakah ada jalur antara dua node dalam grafik terarah (cukup lakukan traversal grafik rutin dengan, katakanlah, pencarian-kedalaman-pertama).
Namun tampaknya, secara mengejutkan, masalahnya menjadi lebih sulit jika alih-alih menguji keberadaan kami ingin menghitung jumlah jalur.
Jika kita mengizinkan jalur untuk menggunakan kembali simpul maka ada solusi pemrograman dinamis untuk menemukan jumlah jalur dari s ke t dengan n tepi. Namun, jika kita hanya mengizinkan jalur sederhana, yang tidak menggunakan kembali simpul, satu-satunya solusi yang dapat saya pikirkan adalah enumerasi brute force dari jalur , sesuatu yang memiliki kompleksitas waktu eksponensial.
Jadi saya bertanya,
- Apakah menghitung jumlah jalur sederhana antara dua simpul itu sulit?
- Jika demikian, apakah ini semacam NP-complete? (Saya katakan semacam itu karena secara teknis bukan masalah keputusan ...)
- Apakah ada masalah lain di P yang memiliki versi penghitungan yang sulit seperti itu juga? **