SMAWK algoritması - SMAWK algorithm

SMAWK algoritması bir algoritma örtük olarak tanımlanmış tamamen tek tonlu her satırdaki minimum değeri bulmak için matris. Adını beş mucidinin baş harflerinden almıştır, Peter Shor, Shlomo Moran, Alok Aggarwal, Robert Wilber ve Maria Klawe.[1]

Giriş

Bu algoritmanın amaçları doğrultusunda, her satırın minimum değeri, önceki satırın minimum sütununa eşit veya bundan daha büyük bir sütunda yer alıyorsa, bir matris monoton olarak tanımlanır. Her alt matris için aynı özellik doğruysa (belirli bir matrisin satır ve sütunlarının rastgele bir alt kümesiyle tanımlanır) bu tamamen monotondur. Benzer şekilde, satır minimumları sağ üst ve sol alt köşelerde olan 2 × 2 bir alt matris yoksa, bir matris tamamen monotondur. Her Monge dizisi tamamen monotondur, ancak tam tersi olması gerekmez.

SMAWK algoritması için aranacak matris bir fonksiyon olarak tanımlanmalıdır ve bu fonksiyon algoritmaya girdi olarak (matrisin boyutları ile birlikte) verilir. Algoritma daha sonra belirli bir matris hücresinin değerini bilmesi gerektiğinde işlevi değerlendirir. Bu değerlendirme alırsa Ö(1), sonra, bir matris için r satırlar ve c sütunlar, çalışma süresi ve işlev değerlendirmelerinin sayısı Ö(c(1 + günlük (r/c))). Bu çok daha hızlı Ö(r c) tüm matris hücrelerini değerlendiren saf bir algoritmanın zamanı.

Yöntem

Algoritmanın temel fikri, bir budamak ve aramak Çözülecek sorunun tek bir yinelemeli boyutu sabit bir faktörle daha küçük olan aynı türden alt problem. Bunu yapmak için, algoritma önce matrisi bir satır minimum içeremeyen sütunlarından bazılarını kaldırmak için bir yığın -tabanlı algoritma benzer şekilde Graham taraması ve en yakın tüm küçük değerler algoritmalar. Algoritmanın bu aşamasından sonra, kalan sütun sayısı en fazla satır sayısına eşit olacaktır. Ardından, algoritma matrisin çift sayılı satırlarının satır minimumlarını bulmak için kendini yinelemeli olarak çağırır. Son olarak, ardışık çift sıralı minimumların konumları arasındaki sütunları arayarak, algoritma tek sıralarda kalan minimumları doldurur.

Başvurular

Bu yöntemin ana uygulamaları Aggarwal ve diğerleri tarafından orijinal makalede sunulmuştur. içindeydik hesaplamalı geometri, bir dışbükey çokgenin her noktasından en uzak noktayı bulmada ve en uygun çevreleyen çokgenleri bulmada. Daha sonraki araştırmalar aynı algoritmanın uygulamalarını buldu paragrafları satırlara bölme,[2] RNA ikincil yapı tahmin[3] DNA ve protein sıra hizalaması,[4][5] yapısı önek kodları,[6] ve görüntü eşikleme,[7] diğerleri arasında.

Referanslar

  1. ^ Aggarvval, Alok; Klawe, Maria M.; Moran, Shlomo; Shor, Peter; Wilber, Robert (1987), "Bir matris arama algoritmasının geometrik uygulamaları", Algoritma, 2 (2): 195–208, doi:10.1007 / BF01840359, BAY  0895444.
  2. ^ Wilber, Robert (1988), "İçbükey en az ağırlık alt dizisi sorunu yeniden gözden geçirildi", Algoritmalar Dergisi, 9 (3): 418–425, doi:10.1016/0196-6774(88)90032-6, BAY  0955150
  3. ^ Larmore, Lawrence L.; Schieber, Baruch (1991), "RNA ikincil yapısının tahminine yönelik uygulamalarla çevrimiçi dinamik programlama", Algoritmalar Dergisi, 12 (3): 490–515, doi:10.1016 / 0196-6774 (91) 90016-R, BAY  1114923.
  4. ^ Russo, Luís M. S. (2012), "Dizi hizalamasının Monge özellikleri", Teorik Bilgisayar Bilimleri, 423: 30–49, doi:10.1016 / j.tcs.2011.12.068, BAY  2887979.
  5. ^ Crochemore, Maxime; Landau, Gad M .; Ziv-Ukelson, Michal (2003), "Sınırlandırılmamış puanlama matrisleri için bir alt kadratik dizi hizalama algoritması", Bilgi İşlem Üzerine SIAM Dergisi, 32 (6): 1654–1673 (elektronik), CiteSeerX  10.1.1.57.8562, doi:10.1137 / S0097539702402007, BAY  2034254.
  6. ^ Bradford, Phil; Golin, Mordecai J .; Larmore, Lawrence L.; Rytter, Wojciech (2002), "Eşit olmayan harf maliyetleri için en uygun öneksiz kodlar: Monge özelliği ile dinamik programlama", Algoritmalar Dergisi, 42 (2): 277–303, CiteSeerX  10.1.1.45.5501, doi:10.1006 / jagm.2002.1213, BAY  1895977.
  7. ^ Luessi, M .; Eichmann, M .; Schuster, G.M .; Katsaggelos, A.K. (2006), "Verimli optimum çok düzeyli görüntü eşiklemede yeni sonuçlar", IEEE Uluslararası Görüntü İşleme Konferansı, s. 773–776, CiteSeerX  10.1.1.461.663, doi:10.1109 / ICIP.2006.312426, ISBN  978-1-4244-0480-3.