Optimal bir algoritmaya sahip olduğumuzu bildiğimiz bazı problemler nelerdir?


15

Mevcut algoritmamızın asimptotik olarak en uygun algoritma olduğunu bildiğimiz önemsiz bazı problemler nelerdir? (Turing makineleri için)

Ve bu nasıl kanıtlandı?


11
Turing makinesi alt sınırlar için zor bir modeldir. Defn'nin değiştirilmesi çalışma süresinde polinomu değiştirebilir, bu yüzden biraz daha spesifik olmanız gerekir.
Suresh Venkat

Önemsiz olmayanları nasıl tanımlarsınız?
funkstar

1
Suresh'in dediği gibi, kullandığınız TM'nin bir etkisi vardır. Palindromların dili için (geriye doğru okuyabileceğiniz kelimeler),dile karar vermek için O ( n 2 ) adımlarını atan. Ve 2-bant TM'ler için, lineer zamanda karar verilebilir, bu nedenle de oldukça uygundur. O(n2)
Bruno

Yanıtlar:


18

Doğrusal zaman alan ve tüm girdisini okumak zorunda olan herhangi bir algoritma asimptotik olarak optimal olmalıdır. Benzer şekilde, Raphael'in yorumlarına göre, çalışma zamanı çıktı boyutu ile aynı sırada olan algoritmalar en uygunudur.


10
Benzer şekilde, çalışma zamanı çıktı boyutu ile aynı sırada olan herhangi bir algoritma en uygunudur.
Raphael

9
Bu cevaba ve onu takip eden yoruma en son teknoloji olduğuna inanıyorum.
Jeffε

9
Bu hayal kırıklığı yarattı
yarattı

1
Kayıt için Jɛ ɛ E'nin yorumu aşağıdaki Shir'in cevabına atıfta bulunuyor gibi görünüyor.
András Salamon

1
Ben Shir'in değil Max'in cevabından ve Raphael'in Max'in cevabı hakkındaki yorumundan bahsediyordum .
Jeffε

8

Düşündüğünüz karmaşıklık ölçütü sorgu karmaşıklığıysa, yani makinenin belirli bir sorunu çözmek için girdiye kaç kez bakması gerektiğidir, o zaman optimal algoritmalara sahip olduğumuz birçok sorun vardır. Bunun nedeni, rakip yöntem dahil bazı popüler teknikler sayesinde sorgu karmaşıklığı için daha düşük sınırların elde edilmesinin zaman veya alan karmaşıklığı için daha düşük sınırlardan daha kolay olmasıdır .

Bununla birlikte, bunun olumsuz yanı, bu karmaşıklık ölçüsünün kuantum bilgi işlemede neredeyse sadece kuantum ve klasik hesaplama gücü arasındaki boşluğu kanıtlamanın kolay bir yolunu sağlamasıdır. Bu çerçevedeki en kötü kuantum algoritması Grover'ın algoritmasıdır . Bir ikili dize Verilen kendisi için tek vardır ben böyle x i = n , bulmak zorundadır i . Klasik olarak (kuantum bilgisayarı olmadan), en önemsiz algoritma en uygunudur: bu dizeyi sorgulamanız gerekir nx1,,xnixi=niortalama olarak / 2 kezn/2 . Grover bunu kuantum algoritmasıyla O ( idizeyi sorgular. Bunun da optimal olduğu kanıtlanmıştır.O(n)


2
Aslında, sorgu karmaşıklığı Max'in cevabının altında yatan temeldir. Çoğu problem için, herhangi bir algoritma muhtemelen "tüm girdiyi okumalıdır" veya girişin en azından sabit bir kısmıdır.
Jeffε

6
  • Modelinizi değiştirmek isterseniz, veri yapılarındaki birkaç düşük sınır sıkıdır. Veri yapılarındaki düşük sınırlar için iyi referanslara işaretçiler için bkz . Veri Yapıları için Alt Sınırlar .
  • Bazı insanların burada bahsettiği karşılaştırma modelinde sıralama için bağlı olan , girdinin grafiği boyunca noktalardan oluştuğu durumu dikkate alarak dışbükey gövde problemi için benzer bir sınır elde edebilirsiniz. düzlemin ilk çeyreğinde artan bir fonksiyon.Ω(nlogn)

2
Veri yapılarından bahsetmek için +1. Ancak dışbükey gövdeler için sıralama için alt sınırlar üzerinden faydalı bir alt sınır elde etmenin mümkün olduğunu düşünmüyorum. Bunun nedeni, karşılaştırma modelinin dışbükey gövdeleri hesaplayacak kadar güçlü olmamasıdır. Bunun yerine işe yarayan, gövdelerin hesaplanabildiği cebirsel karar ağaçları gibi daha güçlü bir model kullanmak ve daha sonra bu daha güçlü modele sıralama için alt sınırı uyarlamaktır.
David Eppstein

Mantıklı, açıklama için teşekkürler!
Abel Molina

3
  1. karşılaştırmaları (birleştirme sıralaması, bir adla ) kullanarak karşılaştırma sıralama en uygunudur, kanıt yalnızca bir ağacın yüksekliğinin n ile hesaplanmasını içerir ! yapraklar.O(nlogn)n!

  2. Eşsiz Oyunlar Konvansiyonu varsayarsak, Khot, Kindler, Mossel ve O'donnell, Max-Cut'u Goemans ve Williamson'un algoritmasından daha iyi bulmanın NP tam olduğunu gösterdi. Dolayısıyla bu anlamda G&W en uygunudur ( olduğu varsayılarak ).PNP

  3. Bazı dağıtılmış algoritmaların bazı koşullara göre en uygun olduğu gösterilebilir (örneğin, çekişmeli işlemcilerin oranı), ancak Turing makinelerinden bahsettiğinizden, sanırım bu aradığınız örneklerin türü değildir.


2
Madde 2'nin soruyu cevaplayıp yanıtlamaması, askerin “optimal” ile ne anlama geldiğine bağlıdır, ancak askerin bu anlamda sorduğundan şüpheliyim (aksi takdirde UGC gerektirmeyen çok sayıda sıkı yakınlık sonucu vardır). Dahası, madde 1 veya 3'ün soruyu cevapladığını sanmıyorum.
Tsuyoshi Ito

@TsuyoshiIto, askerin tam olarak ne anlama geldiğini tahmin etmek zor, bu da benim için yararlı bir şeye çarpma umuduyla çeşitli yönlerde cevapları denememi sağlayan şeydi. Bu arada (1) 'in geçerli bir cevap olmadığını söyleyen nedir?
Shir

2
Asker özellikle Turing makinesi için en uygun algoritmayı soruyor .
Tsuyoshi Ito

6
"Karşılaştırma sıralaması" aslında bir "sorun" mudur? Ya da bir sorun olduğunu ve hesaplama modeline bir kısıtlama?
Jeffε

3

Eğer giriş verilen varsayalım ve RAM makinesi karar istenir M girişi sonlanıncaya x sonra t adımları. Zaman hiyerarşisi teoremi ile buna karar vermek için en uygun algoritma, O ( t ) zamanında yapılabilen t adımlarıiçin M ( x ) ' nin yürütülmesini simüle etmektir.w=M,x,tMxtM(x)tO(t)

(Not: Turing makineleri, yürütülmesini simüle alır O ( t günlük t ) aşamaları, sadece arasında bir alt sınır bilmek Q ( t ) Yani, bu Turing makineleri için oldukça uygun değildir, özellikle.).MO(tlogt)Ω(t)

Durma sorununun bir alt durum olarak sürümünü içeren başka sorunlar da vardır. Örneğin, bir cümle karar verirken WS1S bir sonucudur zaman alır 2 O ( | İçeride ISTV melerin RWMAIWi'nin | ) ve bu en uygunudur.θ2↑↑O(|θ|)


3

"Önemsiz" ile ne demek istediğinden emin değilim, ama buna ne dersin. . Dolayısıyla bu dil düzenli değildir, buna karar veren herhangi bir TM Ω ( n log n ) içinde çalışmalıdır . Basit algoritma (birbirini geçme 0) en uygunudur.L={02k|k0}Ω(nlogn)


3

Dinamik veri yapısı sorunlarına izin verirseniz, bazı süper lineer zaman optimal algoritmalarını biliyoruz. Bu, RAM kelimesi kadar güçlü olan hücre prob modelinde, yani bu değil cebirsel karar ağaçları gibi sınırlı bir model .

Buna bir örnek, önek toplamlarını dinamik güncellemeler altında tutmaktır . Bir sayı dizisiyle başlıyoruzve amaç, aşağıdaki işlemlere izin veren bir veri yapısı tutmaktır:A[1],,A[n]

  • Ekle Δ için , verilen i ve ÍA[i]iΔ
  • Öneki toplamını hesaplamak j=1iA[i]i

O(logn)A[i]nΩ(nlogn)

{1,n}

  • ijij
  • ii

O(α(n))αnΩ(nα(n))


1

Birçok akış algoritmasının alt sınırlarıyla eşleşen üst sınırları vardır.


0

[benim anlayışım] girdi sıralaması / dağıtımı üzerindeki belirli kısıtlamalara dayanarak optimal olan iki benzer arama algoritması vardır. bununla birlikte algoritmaların sunumları tipik olarak bu iyiliği vurgulamamaktadır.

  • altın bölüm aramaunimodal bir fonksiyonun maksimum veya minimumunu (ekstremum) bulmak için . girişin tek modlu bir işlev olduğunu varsayar. Ortalama olarak logaritmik zamanda bulur. hatırladığım gibi abelson & sussman tarafından bilgisayar programlarının Yapısı ve Yorumlanması kitabında bir iyimserlik kanıtı olabilir.

  • ikili arama , sıralı bir listede ortalama olarak logaritmik bir zaman noktası bulur, ancak girdinin sıralanmasını gerektirir.

yukarıda wikipedia'dan alıntı yapıyorum, ancak optimal olduklarına dair kanıtlar yok, belki de iyimserliği kanıtlayan başka referanslar izleyici tarafından bulunabilir.


-1

Birçok alt doğrusal zaman algoritması alt sınırlarıyla eşleşen üst sınırlara sahiptir.


3
Yinelenen olarak işaretlendi.
Jeffε

Alt doğrusal zaman algoritması ve akış algoritması farklı alanlardır.
Bin Fu

1
Bu doğru, ama cevapları bir araya getirmelisiniz.
Suresh Venkat

Optimal alt doğrusal zaman algoritmalarına bazı örnekler verilebilir
Bin Fu

1
bunun neden sorgu karmaşıklığı yanıtının bir kopyası olmadığı da açık değildir.
Artem Kaznatcheev
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.