Apakah jumlah subset DAG dapat diperkirakan?


13

Kita diberi grafik asiklik terarah dengan angka yang terkait dengan setiap simpul ( g : V N ), dan nomor target TG=(V,E)g:VN .TN

The DAG bagian sum masalah (mungkin ada dengan nama yang berbeda, referensi akan menjadi besar) menanyakan apakah ada simpul , sedemikian rupa sehingga Σ v i g ( v i ) = T , dan v 1. . v k adalah jalan di G .v1,v2,...,vkΣvig(vi)=Tv1..vkG

Masalah ini sepele NP-Complete, karena grafik transitif lengkap menghasilkan masalah jumlah subset klasik.

Algoritma pendekatan untuk masalah jumlah subset DAG adalah algoritma dengan properti berikut:

  1. Jika ada jalur dengan jumlah T, algoritma mengembalikan TRUE.
  2. Jika tidak ada jalur yang menjumlahkan angka antara dan T untuk beberapa c ( 0 , 1 ) , algoritma mengembalikan FALSE.(1c)TTc(0,1)
  3. Jika ada jalur yang menjumlahkan angka antara dan T , algoritme dapat menampilkan jawaban apa pun.(1c)TT

Jumlah subset diketahui dapat diperkirakan dalam waktu polinomial untuk semua .c>0

Apakah hal yang sama berlaku untuk DAG-Subset-Sum?

Jawaban:


14

Menurut saya algoritma pemrograman dinamis waktu semu-polinomial untuk masalah Subset Sum juga berfungsi untuk masalah ini. Untuk setiap titik , kami menghitung set L i yang terdiri dari semua nilai jalur yang mungkin berakhir pada v i . Kemudian, kita memiliki relasi perulangan: L i = { g ( v i ) } { x + g ( v i ) x j p r e c ( i ) LvsayaLsayavsaya . Mengikuti urutan topologis, semua L i dapat dihitung dalam waktu O ( K m ) , di mana K adalah berat total dan m adalah jumlah tepi.Lsaya={g(vsaya)}{x+g(vsaya)xjhalrec(saya)Lj}LsayaHAI(Km)Km

Saya pikir penskalaan dan pembulatan standar juga dapat diterapkan untuk mendapatkan FPTAS.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.