n boyutlu desen eşleme


20

Bir n boyutlu dizinin içinde tam bir n boyutlu altdizinin bulunması için bilinen bazı sonuçlar nelerdir?

1D'de, sadece bir dize eşleme problemidir, KMP bunu lineer zamanda yapar.

2B olarak, bu makale , fazladan az alanla doğrusal zamanda yapılabileceğini göstermektedir.

Bu problem herhangi bir sabit boyut için doğrusal zamanın en kötü durumunda çözülebilir mi?

Yanıtlar:


13

1977 http://www.sciencedirect.com/science/article/pii/0020019077900175 (abonelik ne yazık ki gereklidir) ' dan doğrusal zaman orijinal Bird çözümünü genişleterek sorunu belirli sayıda boyutta çözebilirsiniz .

Genel fikir (2B'de) 2B deseninin satırlarının bir Aho-Corasick otomatını oluşturmak ve daha sonra 2B metnin satırlarını tek tek beslemek. Ardından desen satırlarının metinde eşleştiği tüm konumları bulacaksınız. Şimdi bitirmek için sadece 1D arama yapmak için (etiket) doğru adımda satırları (1. etiket) çıkış sütununda KMP kullanarak söylüyoruz. Bunların hepsi doğrusal zaman alır.

Aynı yöntemi kullanarak, herhangi bir boyut d tam eşleme probleminden bir boyut d-1 problemine indirgeyebilirsiniz. Bu şekilde d sabit boyutu için doğrusal bir zaman çözümü elde edersiniz.


9

FFT tekniklerini kullanarak neredeyse (polilog faktörüne kadar) doğrusal zamanda çözmek mümkündür. Kağıda bakabilirsiniz: http://www.cs.tau.ac.il/~klim/papers/CEPR08.pdf Burada tek boyutlu kalıp eşleşmesi için FFT tekniklerini kullanıyoruz. Çok boyutlu desen eşleşmesini çözmek istiyorsanız, sadece yüksek boyutlu FFT kullanmanız gerekir.


Makalenin 2008 yılına ait olduğu düşünüldüğünde, doğrusal zaman algoritmalarının henüz bilinmediğini varsayıyorum.
Chao Xu

Sorununuzu çözmek için sadece teknik bir örnek olarak verdim. Bu yaklaşımın avantajı, aynı zamanda sorunu uyuşmazlıklarla çözmenize ve umursamamanıza izin verir. Ancak kesin bir boyutsal desen eşleşmesine gelince doğrusal zaman alg vardır. bu yüzden çok boyutlu olarak biliniyor olabilir.
Klim

1
Joker karakterlerle desen eşleşmesinin temel sonucunun Fischer ve Paterson 1974'ten geldiğini ve daha sonra cs.bris.ac.uk/Publications/pub_master.jsp?id=2000602 (kendinden alıntı için özür) oluncaya kadar sürekli olarak değiştirildiğini ve basitleştirildiğini düşünüyorum . Bununla birlikte, OP'nin aşağıda bahsettiğim daha eski tam eşleme yöntemi göz önüne alındığında sorulan sorun için biraz aşırı olabilir.
Raphael
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.