Pencocokan pola dengan tidak peduli: banyak pola


Jawaban:


5

Untuk kasus pola berganda, tampaknya hanya memindai untuk masing-masing mungkin solusi terbaik, setidaknya kecuali hipotesis waktu eksponensial yang kuat gagal.

Ingat bahwa set yang diberikan dan T 1 , T 2 , ... , T n di atas alam semesta [ m ] , jika kita dapat memutuskan apakah ada S i dan T j sehingga S iT j = [ m ] dalam waktu O ( n 2 - ε poli ( m ) )S1,S2,...,SnT1,T2,...,Tn[m]SsayaTjSsayaTj=[m]HAI(n2-εpoli(m)), maka SETH gagal, yaitu kita memiliki algoritma CNF-SAT dengan waktu berjalan .HAI(2(1-ε/2)n)

Diberikan set dan T 1 , T 2 , ... , T n , kami menyandikan masalah di atas sebagai pencocokan multi-pola dengan tidak peduli pada alfabet biner sebagai berikut:S1,S2,...,SnT1,T2,...,Tn

  • Teksnya adalah mana [ T i ] adalah penyandian alami T i sebagai string biner.
    1[T1]10m+21[T2]10m+2...0m+21[Tn]1,
    [Tsaya]Tsaya
  • Kami memiliki pola bentuk 1 S i1 , di mana S i adalah string y = y 1 y 2 ... y m sehingga y j = 1 jika j S i dan y j = * jika j S i (di sini adalah simbol tidak peduli).n1Ssaya1Ssayay=y1y2...ymyj=1jSsayayj=jSsaya

Sekarang jelas bahwa pola dapat mencocokkan teks pada terjadinya 1 [ T j ] 1 , dan hanya jika S iT j = [ m ] . Total panjang dari pola dan panjang teks keduanya O ( n m ) , misalnya sehingga algoritma single-pass linear dekat-untuk beberapa pola akan memberikan substansial perbaikan lebih dikenal algoritma CNF-SAT ...1Ssaya11[Tj]1SsayaTj=[m]HAI(nm)

(Perhatikan bahwa ini tidak mengatakan apa pun tentang algoritma yang menggunakan banyak waktu untuk memproses ulang pola, katakanlah, kuadratik dalam total panjang pola.)

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.