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ı?
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ı?
Yanıtlar:
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.
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 nortalama olarak / 2 kez . Grover bunu kuantum algoritmasıyla O ( √dizeyi sorgular. Bunun da optimal olduğu kanıtlanmıştır.
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.
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 ).
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.
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.
(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.).
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.
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:
[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.
Birçok alt doğrusal zaman algoritması alt sınırlarıyla eşleşen üst sınırlara sahiptir.