Kaba kuvvet ve en iyi algoritma arasındaki boşluğa dayanan alternatif karmaşıklık kavramı?


17

Tipik olarak, verimli algoritmalar bir polinom çalışma süresine ve üstel olarak geniş bir çözüm alanına sahiptir. Bu, sorunun iki anlamda kolay olması gerektiği anlamına gelir: birincisi, sorun polinom sayısı adımında çözülebilir ve ikincisi, çözüm süresi çok yapısal olmalıdır, çünkü çalışma zamanı olası çözümlerin sayısında sadece polilogarmiktir.

Bununla birlikte, bazen bu iki kavram ayrışır ve bir sorun sadece ilk anlamda kolaydır. Örneğin, yaklaşık olarak algoritmalarda ve parametreli karmaşıklıkta yaygın bir teknik, (kabaca), çözelti boşluğunun aslında saf tanımdan çok daha küçük bir boyutla sınırlandırılabileceğini kanıtlamak ve daha sonra bu kısıtlı alanda en iyi cevabı bulmak için kaba kuvvet kullanmaktır. . Eğer a priori kendimizi mesela n ^ 3 olası cevapla sınırlayabilirsek, ama yine de her birini kontrol etmemiz gerekiyorsa, o zaman bir anlamda bu tür problemler kaba kuvvetten daha iyi bir algoritma olmadığı için hala "zor" dur.

Tersine, iki kat daha fazla olası cevapla ilgili bir sorunumuz varsa, ancak bunu sadece üstel zamanda çözebilirsek, böyle bir sorunun "kolay" ("yapılandırılmış" daha iyi olabileceğini söylemek isterim) word), çünkü çalışma zamanı yalnızca çözüm alanı boyutunun günlüğüdür.

Çözüm alanı büyüklüğüne göre etkin bir algoritma ile kaba kuvvet veya sertlik arasındaki boşluğa dayanarak sertlik gibi bir şey düşünen herhangi bir kağıt biliyor mu?

Yanıtlar:


12

Soruyu resmileştirmeyle ilgili bir sorun, "Problem A için çözüm alanı" ifadesinin iyi tanımlanmamış olmasıdır. Bir çözüm alanının tanımlanması, bir örnek ve bir aday çözüm verildiğinde, çözümün doğru olup olmadığını doğrulayan bir doğrulama algoritmasına ihtiyaç duyar . Daha sonra, bir doğrulayıcının wrt örneğinin çözüm alanı, doğrulayıcı çıktısını "doğru" yapan aday çözümler kümesidir.

Örneğin, SAT0 sorununu ele alalım: bir Boole formülü verildiğinde, tamamen sıfırlar atamasından memnun mu? Bu sorun önemsiz bir şekilde polinom zamanındadır, ancak çözüm alanı kullandığınız doğrulayıcıya bağlı olarak çılgınca değişebilir. Doğrulayıcınız aday çözümü yoksayar ve yalnızca sıfırların örnek üzerinde çalışıp çalışmadığını kontrol ederse, söz konusu doğrulayıcıdaki herhangi bir SAT0 örneği için "çözüm alanı" önemsizdir: hepsi olası çözümlerdir. Doğrulayıcınız aday çözümün tatmin edici bir görev olup olmadığını kontrol ederse, bir SAT0 örneğinin çözüm alanı aslında herhangi bir SAT örneğinin çözüm alanı kadar karmaşık olabilir.

Bununla birlikte, "kaba-kuvvet arayışından kaçınma" sorunu aşağıdaki şekilde resmileştirilebilir ("Kapsamlı aramanın iyileştirilmesi süperpolinom alt sınırlar anlamına gelir" makalesinde görüldüğü gibi). Size zamanında , n boyutu ve k bitlerinin aday çözümlerinde çalışan bir doğrulayıcı algoritması verilir . Soru şu: * n boyutundaki keyfi örneklerde, en fazla k biti olan, O ( 2 k t ( n , k ) ) süresinden çok daha az doğru bir çözüm (wrt bu doğrulayıcı) olup olmadığını belirleyebilir miyiz ?t(n,k)nknkO(2kt(n,k))

Not , k'ye kadar olan tüm uzunluk dizelerini deneme ve doğrulayıcıyı çalıştırma maliyetidir. Dolayısıyla, yukarıdaki, verilen doğrulayıcı için kaba kuvvet aramasını geliştirip geliştiremeyeceğimizi soran görülebilir. "NP-zor problemler için kesin algoritmalar" alanı, bazı çok doğal doğrulayıcılar için kaba kuvvet arayışını iyileştirmenin zorluklarını araştırmak için uzun vadeli bir çaba olarak görülebilir: örneğin, 2 n'den daha iyi algoritmalar bulma sorunu SAT için, verilen aday çözümün verilen SAT örneğine tatmin edici bir atama olup olmadığını kontrol eden doğrulayıcı için her zaman kaba kuvvet aramasını geliştirip geliştiremeyeceğimiz sorusudur.O(2kt(n,k))2n

Bu makale, bazı problemler için kaba-kuvvet arayışında iyileştirmenin bazı ilginç sonuçlarını göstermektedir. "Polinom boyutlu çözüm uzayları" için kaba-kuvvet arayışının iyileştirilmesinin bile ilginç sonuçları olacaktır.


1
..

Bir cevapta kendi makalelerimi referanslamak konusunda biraz isteksizim. Ama soruya tam olarak uyduğunda, direnmek zor ...
Ryan Williams

5

Tipik dinamik programlama problemleriyle nasıl başa çıkardınız? Burada, en sık karşılaşılan şey, optimal çözümlerin alanının polinom olarak sınırlandırılmış olmasıdır, ancak çözümlerin alanı değildir. Bu, sizin için "kolay" gibi görünüyor çünkü çalışma süresi çözüm alanında logaritmik, ancak sizin için "zor" çünkü potansiyel olarak optimal çözümlerin tümü üzerinde "kaba kuvvet" çalıştırıyor.


Tam olarak hangi algoritmaların kaba kuvvet olarak nitelendirildiği gibi, tanımlanması gereken bazı incelikler vardır. Muhtemelen çözüm alanını aşağıdaki gibi kısıtlamaya çalışacağım: eğer verilen bir problem boyutu için, verilere bakmadan bir cevabı değerlendirmeden kaldırabilirseniz, o zaman çözüm alanında değildir (kuşkusuz, bu çok farklı çözüm alanlarına izin verir). Bununla birlikte, birçok detayda farklılık gösterse bile, soruma benzer bir cevaptan memnun olurum.
Ian

3

Perspektif, çözüm alanlarının yakınlığı gibi bazı şeyleri varsayar.

Örneğin, bir dizi giriş noktasından Voronoi tesselasyonu oluşturma problemini düşünün. Burada, diyagramın kenarlarındaki her nokta gerçek sayıların bir parçası olduğu için sonsuz boyutlu bir çözüm alanı vardır. Yine de O (n log (n)) 'da giriş noktalarının sayısında (düzlem için) bir çözüme ulaşılabilir.


Doğru, bazı sorunlar bu çerçeveye sığmayabilir. Gerçek sayı çıktıları ile ilgili bazı problemler için, çıktıları girdiler açısından cebirsel olarak tanımlayarak (örneğin, giriş noktalarının doğrusal kombinasyonları olarak) alan sonlu hale getirilebilir. Gerçek sayıların genellikle karşılaşıldığı geometrik algoritmalar hakkında fazla bir şey bilmiyorum, bu yüzden bunun ne sıklıkta veya mümkün olup olmadığından emin değilim.
Ian

1
Sonsuz çözüm alanları elde etmenin tek yolu gerçek sayılar değildir. Alice ve Bob arasında bir oyun düşünün. Alice bir tamsayı seçer Bob tahminlerde bulunur ve Alice ona sırrından daha yüksek, daha düşük veya eşit olup olmadığını söyler. Bob n'yi bulmak için sonlu bir zaman stratejisine sahiptir, çünkü her zaman sonludur. 0 başlar ve daha sonra büyük bir sabit c alır. Alice ona n'in hangi yönde olduğunu söyler ve Bob bir alt ve üst sınır bulana kadar c ^ dönüşünü tahmin eder, burada n için ikili bir arama yapar. Sonra tekrar sanırım n bit sayısı içinde sınırlı bir çözüm alanı olduğunu iddia edebilirsin ...
Ross Snider

3

İlişkiler, polinom gecikmeli algoritmaları kabul eden problemlerdir . İlk çözelti ve bundan sonraki her çözelti, polinom zamanında üretilebilir. Johnson, Yannakakis ve Papdimitriou bu çerçeveyi diğer olası boşluklar (polinom toplam süresi gibi) bağlamında tartışırlar: Tüm Maksimal Bağımsız Kümelerin Oluşturulması , Bilgi İşleme Mektupları 27 , 119-123, 1988.

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.