Ortalama durum karmaşıklığı - Average-case complexity

İçinde hesaplama karmaşıklığı teorisi, ortalama durum karmaşıklığı bir algoritma algoritma tarafından kullanılan bazı hesaplama kaynaklarının (tipik olarak zaman) olası tüm girdiler üzerinden ortalaması alınan miktarıdır. Sıklıkla zıttır en kötü durum karmaşıklığı Bu, algoritmanın tüm olası girdiler üzerindeki maksimum karmaşıklığını dikkate alır.

Ortalama durum karmaşıklığını çalışmak için üç temel motivasyon vardır.[1] Birincisi, en kötü durumda bazı problemler zorlu olsa da, bu davranışı ortaya çıkaran girdiler pratikte nadiren ortaya çıkabilir, bu nedenle ortalama durum karmaşıklığı, bir algoritmanın performansının daha doğru bir ölçüsü olabilir. İkinci olarak, ortalama durum karmaşıklığı analizi, aşağıdaki alanlarda kullanılabilecek zor sorun örnekleri oluşturmak için araçlar ve teknikler sağlar. kriptografi ve alay etme. Üçüncüsü, ortalama durum karmaşıklığı, eşdeğer tabanlı durum karmaşıklığına sahip algoritmalar arasında pratikte en verimli algoritmanın ayırt edilmesine izin verir (örneğin Hızlı sıralama ).

Ortalama durum analizi, bir algoritmaya "ortalama" girdi kavramını gerektirir ve bu da bir algoritma geliştirme sorununa yol açar. olasılık dağılımı aşırı girişler. Alternatif olarak, bir rastgele algoritma kullanılabilir. Bu tür algoritmaların analizi, bir beklenen karmaşıklık.[2]:28

Tarih ve arka plan

Algoritmaların ortalama durum performansı, 1950'lerde modern hesaplama verimliliği kavramları geliştirildiğinden beri incelenmiştir. Bu ilk çalışmanın çoğu, en kötü durum polinom zaman algoritmalarının zaten bilindiği problemlere odaklandı.[3] 1973'te, Donald Knuth[4] Yayınlanan Cilt 3 Bilgisayar Programlama Sanatı sıralama ve medyan bulma gibi en kötü durum polinom zamanında çözülebilen problemler için algoritmaların ortalama durum performansını kapsamlı bir şekilde araştırır.

İçin verimli bir algoritma NP tamamlandı problemler genellikle tüm girdiler için polinom zamanda çalışan bir problem olarak tanımlanır; bu, verimli en kötü durum karmaşıklığı gerektirmeye eşdeğerdir. Bununla birlikte, "küçük" sayıda girdi üzerinde etkisiz olan bir algoritma, pratikte meydana gelen "çoğu" girdi için yine de verimli olabilir. Bu nedenle, ortalama durum karmaşıklığının en kötü durum karmaşıklığından farklı olabileceği bu algoritmaların özelliklerini incelemek ve ikisini ilişkilendirmek için yöntemler bulmak arzu edilir.

Ortalama durum karmaşıklığının temel kavramları, Leonid Levin 1986'da tek sayfalık bir makale yayınladığında[5] ortalama durum karmaşıklığını ve bütünlüğünü tanımlarken, distNP için tam bir problem örneği verirken, ortalama durum analoğu NP.

Tanımlar

Verimli ortalama durum karmaşıklığı

İlk görev, "ortalama olarak" verimli olan bir algoritma ile neyin kastedildiğini kesin olarak tanımlamaktır. İlk girişim, verimli bir ortalama durum algoritmasını, tüm olası girdiler üzerinde beklenen polinom zamanında çalışan bir algoritma olarak tanımlayabilir. Böyle bir tanımın çeşitli eksiklikleri vardır; özellikle hesaplama modelindeki değişikliklere karşı sağlam değildir. Örneğin, A algoritmasının t zamanında çalıştığını varsayalım.Bir(x) x girişinde ve B algoritmasında t zamanında çalışırBir(x)2 x girişinde; yani, B ikinci dereceden A'dan daha yavaştır. Sezgisel olarak, ortalama durum verimliliğinin herhangi bir tanımı, ancak ve ancak B ortalama olarak verimli ise A'nın ortalama olarak verimli olduğu fikrini yakalamalıdır. Bununla birlikte, girdilerin uzunluktaki dizelerin düzgün dağılımından rastgele çekildiğini varsayalım. ve bu A, n zamanında çalışır2 dize 1 dışındaki tüm girişlerden A için zaman alır 2n. Daha sonra, A'nın beklenen çalışma süresinin polinom olduğu ancak B'nin beklenen çalışma süresinin üstel olduğu kolayca kontrol edilebilir.[3]

Ortalama durum verimliliğinin daha sağlam bir tanımını oluşturmak için, bir algoritma A'nın bazı girdilerde polinom süresinden daha uzun çalışmasına izin vermek mantıklıdır, ancak A'nın daha büyük ve daha büyük çalışma süresi gerektirdiği girdi fraksiyonu gittikçe küçülür. Bu sezgi, çalışma süresi ile girdi fraksiyonu arasındaki polinom dengesini dengeleyen ortalama polinom çalışma süresi için aşağıdaki formülde ele alınmıştır:

her n, t, ε> 0 ve polinom p için, burada tBir(x), x girişindeki A algoritmasının çalışma süresini gösterir.[6] Alternatif olarak bu şu şekilde yazılabilir:

bazı sabit C için, burada n = | x |.[7] Başka bir deyişle, bir algoritma, t için çalıştırıldıktan sonra iyi bir ortalama durum karmaşıklığına sahiptir.Bir(n) adım, A, a hariç her şeyi çözebilir bazı ε, c> 0 için uzunluk n girişlerinin fraksiyonu.[3]

Dağılım sorunu

Bir sonraki adım, belirli bir soruna "ortalama" girdiyi tanımlamaktır. Bu, her problemin girdilerinin belirli bir olasılık dağılımıyla ilişkilendirilmesiyle elde edilir. Yani, bir "ortalama durum" problemi, bir L dilinden ve çifti (L, D) oluşturan ilişkili bir olasılık dağılımı D'den oluşur.[7] İzin verilen en yaygın iki dağıtım sınıfı şunlardır:

  1. Polinom zamanlı hesaplanabilir dağılımlar (P-hesaplanabilir): Bunlar, herhangi bir x girdisinin kümülatif yoğunluğunu hesaplamanın mümkün olduğu dağılımlardır. Daha resmi olarak, bir olasılık dağılımı μ ve bir x ∈ dizesi verildiğinde {0, 1}n değeri hesaplamak mümkündür polinom zamanda. Bu, Pr [x] 'in polinom zamanda da hesaplanabilir olduğu anlamına gelir.
  2. Polinom zamanlı örneklenebilir dağılımlar (P-örneklenebilir): Bunlar, polinom zamanında rastgele örneklemlerin alınmasının mümkün olduğu dağılımlardır.

Bu iki formülasyon benzer olsalar da eşdeğer değildir. Bir dağıtım P-hesaplanabilir ise, aynı zamanda P-örneklenebilir, ancak tersi doğru değildir P ≠ P#P.[7]

OrtP ve dağıtımNP

Yukarıda tanımlandığı gibi, L için verimli bir ortalama durum algoritması varsa, bir dağılım problemi (L, D) karmaşıklık sınıfı AvgP içindedir. AvgP sınıfı bazen literatürde distP olarak adlandırılır.[7]

L NP içindeyse ve D P-hesaplanabilirse, dağılım problemi (L, D) distNP karmaşıklık sınıfındadır. L NP içindeyken ve D P-örneklenebilir olduğunda, (L, D) sampNP'ye aittir.[7]

AvgP ve distNP birlikte, sırasıyla P ve NP'nin ortalama durum analoglarını tanımlar.[7]

Dağıtım sorunları arasındaki azalmalar

(L, D) ve (L ', D') iki dağıtım problemi olsun. (L, D) ortalama durum (L ', D') (yazılı (L, ​​D) 'ye indirgenir ≤Ort.P (L ', D')) her n için bir f fonksiyonu varsa, x girişinde n'de zaman polinomu hesaplanabilir ve

  1. (Doğruluk) x ∈ L ancak ve ancak f (x) ∈ L '
  2. (Hakimiyet) Her n ve y için p ve m polinomları vardır,

Hakimiyet koşulu, problem (L, D) ortalama olarak zorsa, o zaman (L ', D') de ortalama olarak zor olduğu fikrini güçlendirir. Sezgisel olarak, bir indirgeme, f (x) 'i hesaplayarak ve çıktıyı L' yi çözen algoritmaya besleyerek L probleminin x örneğini çözmenin bir yolunu sağlamalıdır. Hakimiyet koşulu olmadan, bu mümkün olmayabilir, çünkü ortalama olarak polinom zamanında L'yi çözen algoritma, az sayıda girişte süper-polinom zamanı alabilir, ancak f bu girişleri çok daha büyük bir D 'kümesine eşleyebilir, böylece algoritma A 'artık polinom zamanda ortalama olarak çalışmamaktadır. Hakimiyet koşulu, bu tür dizgelerin yalnızca D 'de olduğu gibi polinomik olarak ortaya çıkmasına izin verir.[6]

DistNP-tamamlama sorunları

NP-tamlığının ortalama durum analoğu, distNP-tamlığıdır. Dağılım problemi (L ', D') distNP-tamamlandı, eğer (L ', D') distNP'de ise ve distNP'deki her (L, D) için, (L, D) ortalama durumda (L 'ye indirgenebilir) , D ').[7]

DistNP-complete probleminin bir örneği, aşağıdaki şekilde tanımlanan Sınırlı Duraklama Problemi, BH'dir:

BH = {(M, x, 1t): M bir deterministik olmayan Turing makinesi x in ≤ t adımlarını kabul eder.}[7]

Orijinal makalesinde Levin, ortalama NP-tam durumu olan bir dağılımsal döşeme problemi örneğini gösterdi.[5] Bilinen distNP-complete sorunlarının bir anketi çevrimiçi olarak mevcuttur.[6]

Aktif araştırmanın bir alanı, yeni distNP-tamamlanmış problemler bulmayı içerir. Bununla birlikte, bu tür problemleri bulmak karmaşık olabilir, çünkü Gurevich düz bir dağılımla ilgili herhangi bir dağıtım probleminin dağıtılmadıkça dağıtılamayacağını gösterir. tecrübe = NEXP.[8] (Düz dağılım μ, herhangi bir x için μ (x) ≤ 2 olacak şekilde ε> 0 olduğu bir dağılımdır.- | x |ε.) Livne'nin bir sonucu, tüm doğal NP-tam sorunlarının DistNP-tam sürümlerine sahip olduğunu göstermektedir.[9] Ancak, DistNP-tamamlanmış doğal bir dağıtım sorunu bulma hedefine henüz ulaşılamamıştır.[10]

Başvurular

Sıralama algoritmaları

Yukarıda bahsedildiği gibi, ortalama durum karmaşıklığı ile ilgili birçok erken çalışma, sıralama gibi polinom zaman algoritmalarının zaten var olduğu problemlere odaklandı. Örneğin, rastgelelikten yararlanan birçok sıralama algoritması, örneğin Hızlı sıralama, en kötü durumda çalışma süresi O (n2), ancak O (nlog (n)) ortalama çalışma süresi, burada n sıralanacak girdinin uzunluğudur.[2]

Kriptografi

Çoğu problem için, en kötü durumda zor kabul edilen bir problem için verimli algoritmalar bulmak için ortalama durum karmaşıklığı analizi yapılır. Ancak kriptografik uygulamalarda bunun tersi doğrudur: en kötü durum karmaşıklığı konu dışıdır; bunun yerine, kriptografik düzeni "bozan" her algoritmanın ortalama durum karmaşıklığının verimsiz olduğuna dair bir garanti istiyoruz.[11]

Bu nedenle, tüm güvenli kriptografik şemalar, tek yönlü işlevler.[3] Tek yönlü işlevlerin varlığı hala açık bir sorun olmasına rağmen, birçok aday tek yönlü işlev, aşağıdaki gibi zor sorunlara dayanmaktadır. tamsayı çarpanlara ayırma veya hesaplamak ayrık günlük. Aday işlevin NP-tamamlanmış olmasının arzu edilmediğine dikkat edin, çünkü bu yalnızca en kötü durumda problemi çözmek için muhtemelen etkili bir algoritmanın olmadığını garanti eder; Aslında istediğimiz şey, etkili bir algoritmanın problemi rastgele girdiler (yani ortalama durum) üzerinden çözemeyeceğinin garantisidir. Aslında, hem tamsayı çarpanlara ayırma hem de ayrık log problemleri NP'de bulunur ∩ coNP ve bu nedenle NP-tam olduğuna inanılmamaktadır.[7] Tüm kriptografinin, NP'de ortalama durumdaki çözülemez sorunların varlığına dayandığı gerçeği, ortalama durum karmaşıklığını incelemek için birincil motivasyonlardan biridir.

Diğer sonuçlar

1990'da Impagliazzo ve Levin, tekdüze dağılım altında bir distNP-tam problemi için verimli bir ortalama durum algoritması varsa, o zaman herhangi bir polinom-zaman örneklenebilir dağılım altında NP'deki her problem için bir ortalama durum algoritması olduğunu gösterdi.[12] Bu teoriyi doğal dağıtım problemlerine uygulamak, göze çarpan bir açık soru olmaya devam ediyor.[3]

1992'de Ben-David ve diğerleri, distNP'deki tüm dillerin ortalamaya göre iyi karar algoritmalarına sahip olması durumunda, aynı zamanda ortalamada iyi arama algoritmalarına sahip olduklarını gösterdi. Dahası, bu sonucun daha zayıf bir varsayım altında geçerli olduğunu gösteriyorlar: NP'deki her dil, tekdüze dağılıma göre karar algoritmaları için ortalama olarak kolaysa, o zaman tekdüze dağılıma göre arama algoritmaları için ortalama olarak da kolaydır.[13] Bu nedenle, kriptografik tek yönlü işlevler, yalnızca tek tip dağıtım üzerinde, karar algoritmaları için ortalama olarak zor olan distNP sorunları varsa var olabilir.

1993'te Feigenbaum ve Fortnow, uyarlanabilir olmayan rasgele indirgemeler altında, tek tip dağılım altında bir distNP-tam problemi için ortalamaya göre iyi bir algoritmanın varlığının en kötü durumun varlığını ima ettiğini kanıtlamanın mümkün olmadığını gösterdi. NP'deki tüm problemler için verimli algoritmalar.[14] 2003 yılında, Bogdanov ve Trevisan bu sonucu keyfi uyarlanabilir olmayan indirimler şeklinde genelleştirdiler.[15] Bu sonuçlar, azaltma yoluyla ortalama durum karmaşıklığı ile en kötü durum karmaşıklığı arasında herhangi bir ilişki kurulmasının olası olmadığını göstermektedir.[3]

Ayrıca bakınız

Referanslar

  1. ^ O. Goldreich ve S. Vadhan, Ortalama durum karmaşıklığına karşı en kötü durumla ilgili özel sayı, Comput. Karmaşık. 16, 325–330, 2007.
  2. ^ a b Cormen, Thomas H .; Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford (2009) [1990]. Algoritmalara Giriş (3. baskı). MIT Press ve McGraw-Hill. ISBN  0-262-03384-4.
  3. ^ a b c d e f A. Bogdanov ve L. Trevisan, "Ortalama Durum Karmaşıklığı" Teorik Bilgisayar Biliminde Temeller ve Eğilimler, Cilt. 2, No 1 (2006) 1-106.
  4. ^ D. Knuth, Bilgisayar Programlama Sanatı. Cilt 3, Addison-Wesley, 1973.
  5. ^ a b L. Levin, "Ortalama vaka tamamlama sorunları," SIAM Journal on Computing, cilt. 15, hayır. 1, sayfa 285–286, 1986.
  6. ^ a b c J. Wang, "Ortalama durum hesaplamalı karmaşıklık teorisi," Karmaşıklık Teorisi Geriye Dönük II, s. 295–328, 1997.
  7. ^ a b c d e f g h ben S. Arora ve B. Barak, Hesaplamalı Karmaşıklık: Modern Bir Yaklaşım, Cambridge University Press, New York, NY, 2009.
  8. ^ Y. Gurevich, "Tam ve eksik randomize NP problemleri", Proc. 28. Yıllık Symp. Bulundu. Bilgisayar Bilimleri Bölümü, IEEE (1987), s. 111–117.
  9. ^ N. Livne, "Tüm Doğal NP-Tamamlanmış Sorunların Ortalama Durumda Tam Sürümleri Var", Hesaplamalı Karmaşıklık (2010) 19: 477. https://doi.org/10.1007/s00037-010-0298-9
  10. ^ O. Goldreich, "Levin'in ortalama durum karmaşıklığı teorisi üzerine notlar," Teknik Rapor TR97-058, Hesaplamalı Karmaşıklık Üzerine Elektronik Kolokyum, 1997.
  11. ^ J. Katz ve Y. Lindell, Modern Kriptografiye Giriş (Chapman ve Hall / Crc Şifreleme ve Ağ Güvenliği Serisi), Chapman ve Hall / CRC, 2007.
  12. ^ R. Impagliazzo ve L. Levin, 31. IEEE Bilgisayar Bilimi Temelleri Sempozyumu Bildiriler Kitabı'nda "Sabit NP Örnekleri Oluşturmanın Rastgele Bir Şekilde Eşit Şekilde Seçmekten Daha İyi Bir Yolu Yok", s. 812-821, 1990.
  13. ^ S. Ben-David, B. Chor, O. Goldreich ve M. Luby, "Ortalama durum karmaşıklığı teorisi üzerine" Bilgisayar ve Sistem Bilimleri Dergisi, cilt. 44, hayır. 2, sayfa 193–219, 1992.
  14. ^ J. Feigenbaum ve L. Fortnow, "Tam kümelerin rastgele kendi kendine indirgenebilirliği" SIAM Journal on Computing, cilt. 22, s. 994–1005, 1993.
  15. ^ A. Bogdanov ve L. Trevisan, 44. IEEE Bilgisayar Biliminin Temelleri Sempozyumu Bildiriler Kitabı, s. 308–317, 2003.

daha fazla okuma

Ortalama vaka karmaşıklığı literatürü aşağıdaki çalışmayı içerir: