Birbirimize sorunları azaltmak için yaygın teknikler nelerdir?


40

Hesaplanabilirlik ve karmaşıklık teorisinde (ve belki başka alanlarda), indirimler her yerde bulunur. Pek çok çeşit var, ancak prensip aynı kalıyor: probleminin bir çözüme eşdeğer olanlara eşleştirilmesiyle en azından diğer problemleri kadar zor olduğunu . Temel olarak, eğer işlevini önişlemci olarak kullanmasına izin , için herhangi bir de çözebileceğini .L 2 L 2 L 1 L 1 L 2L1L2L2L1L1L2

Yıllardır indirimden payımı aldım ve bir şey beni rahatsız ediyor. Her yeni azaltma (az ya da çok) yaratıcı bir yapı gerektirse de, görev tekrarlanabilir hissedebilir. Bir kanonik yöntem havuzu var mı?

İndirgeme işlevleri oluşturmak için düzenli olarak kullanabileceğiniz teknikler, desenler ve püf noktaları nelerdir?

Bunun bir referans soru olması gerekiyordu . Bu nedenle, lütfen en az bir örnekle gösterilen, ancak yine de birçok durumu kapsayan genel ve didaktik olarak sunulan cevaplar vermeye özen gösterin. Teşekkürler!


Azaltma için uygun ortaklar ve fikirler bulma konusunda bazı düşünceler için buraya bakın .
Raphael

Yanıtlar:


18

Özel Durum

Bazı indirgeme kavramı ile ilgili olarak göstermek istediğimizi varsayalım . Eğer bir olan özel bir durum içinde , oldukça önemsiz: Biz aslında kimlik işlevini kullanabilirsiniz. Bunun arkasındaki sezgi açık: genel durum en azından özel durum kadar zor. R L 1 L 2L1RL2RL1L2

"Uygulamada" bize verildi ve iyi bir indirgeme partneri , yani hard olduğu kanıtlanmış özel bir vakası bulma ile karşı karşıya kaldık.L 1 L 2 RL2L1L2R

Basit bir örnek

KNAPSACK'ın NP zor olduğunu göstermek istediğimizi varsayalım . Neyse ki, SUBSET-SUM'un NP tamamlanmış olduğunu ve gerçekten de KNAPSACK'ın özel bir durum olduğunu biliyoruz . Azaltma

f(A,k)=(A,(1,,1),k,|A|)

yeterli; sayısının en azından bir değer elde edilebilir sorar SIRT ÇANTASI örneği öğe değerleri ile , böylece karşılık gelen ağırlıkları bu altında kalır toplam. SUBSET-SUM'u simüle etmek için ağırlık kısıtlamalarına ihtiyacımız yok, bu yüzden onları sadece totolojik değerlere ayarladık.v V W w(V,W,v,w)vVWw

Basit egzersiz problemi

MAX-3SAT problemini göz önünde bulundurun: bir önerme ve tamsayı verildiğinde , en az yan karşılayan yorumunun olup olmadığına karar verin . NP zor olduğunu göster.k φ kφkφk

3SAT özel bir durumdur; ile içindeki tümcelerin sayısı yeterlidir.m φf(φ)=(φ,m)mφ

Örnek

SUBSET-SUM problemini araştırdığımızı ve bunun NP zor olduğunu göstermek istediğimizi varsayalım .

Şanslıyız ve PARTITION sorununun NP tamamlandı olduğunu biliyoruz . Bunun gerçekten özel bir SUBSET-SUM örneği olduğunu ve formüle edildiğini onaylıyoruz.

f(A)={(A,12aAa),aAamod2=0(A,1+aA|a|),else

burada bölümünün giriş grubu ve bir bir alt kümesi sonra sorar ALT-SUM bir örneği olup için toplanmasıyla . Burada, uydurma olmadığı durumuyla ilgilenmeliyiz ; Bu durumda, keyfi bir somut örnek veriyoruz.A(A,k)Akk

Egzersiz Sorunu

Sorun UZUN-YOLU göz önünde bulundurun: yönlendirilmiş bir grafiktir verilen , düğümler ve ve tam sayı , basit bir yol olup olmadığına karar için olarak , en azından uzunluğunun .Gs,tGkstGk

LONGEST-PATH'in NP zor olduğunu göster.

HAMILTON-CYCLE , bilinen bir NP-komple problemdir ve özel bir LONGEST-PATH vakasıdır; isteğe bağlı bir düğüm için içinde yeterlidir. Özellikle, HAMILTON-PATH’tan nasıl daha fazla iş yapılmasının gerekli olduğunu unutmayın.f(G)=(G,v,v,n)vG


2
İşte özel durum olarak pek çok zor problemi olan seyahat eden alıcı problemi (TPP) olarak adlandırılan bir örnek.
Juho

Hesaplanabilirlikten başka bir örnek, genel durdurma sorununun özel bir örneği olan özel durdurma problemidir (genellikle doğrudan kararsız olduğu kanıtlanmıştır).
Raphael

KNAPSACK, SUBSET-SUM'dan gerçekten doğru bir indirim mi? KNAPSACK değerini sorar ve SUBSET-SUM kesin değeri ister, hayır? Örneğin, bir SUBSET-SUM örneği bir 'hayır' örneği olur (değeri 5 olan tek bir öğeden tam 4 elde edemiyorum), ancak KNAPSACK azaltmanız bunu azaltacaktır. ve , yani orada bir 'evet' örneği olurdu ... Ya da bir şey eksik mi? >=v{5},4{5},{1},4,15>4
johnny

15

Bilinen bir yakın sorundan yararlanmak

Kendini zor hissettiren bir sorunla karşılaştığında, zaten çoktan kanıtlanmış benzer bir sorunu aramaya çalışmak iyi bir fikirdir. Veya belki de bir problemin bilinen bir problemle çok benzer olduğunu hemen görebilirsiniz.

Örnek problem

Bir problem düşünün

DOUBLE-SAT={φφ is a boolean formula with at least 2 satisfying assignments }

göstermek istiyoruz . Zaten bildiğimiz bir soruna çok yakın olduğunu, yani zorunluluk sorununun (SAT) çok hızlı olduğunu not ediyoruz .NP

üyeliğinin gösterilmesi basittir. Sertifika iki ödevdir. Açıkçası, ödevlerin bir formüle uygun olup olmadığı polinom zamanında kontrol edilebilir.NP

NP sertlik, 'daki bir azalmadan kaynaklanır . Bir formül verildiğinde , değişkenini sunarak yeni bir değişken . Formüle yeni bir cümle . Şimdi, eğer uygunsa , hem hem de . Bu nedenle, en az 2 tatmin edici atamaya sahip. Diğer yandan, eğer tatmin edici değilse, değeri ne olursa olsun kesinlikle tatmin edilemez olacaktır .SATφv(v¬v)φv=⊥v=φφv

O şöyle olan biz göstermek istediğim şey olan -tamamlamak.DOUBLE-SATNP

Yakındaki sorunları bulma

Sorunların azaltılması bir tür sanattır ve deneyim ve ustalığa sıklıkla ihtiyaç duyulur. Neyse ki, birçok zor problem zaten bilinmektedir . Garey ve Johnson'un Bilgisayarları ve Uyumluluk: NP-Tamamlanma Teorisine Bir Kılavuz, birçok sorunu listeleyen eki ile klasiktir. Google Akademik aynı zamanda bir arkadaş.


6

Hesaplanabilirlikte, çoğu Turing makinesi setini araştırıyoruz. Yani nesnelerimiz fonksiyonlardır ve bir Gödel numaralandırmasına erişebiliriz . Bu harika, çünkü hesaplanabilir kaldığımız sürece giriş işleviyle istediğimizi çok yapabiliriz.

nin karar verilemez olmadığını göstermek istediğimizi varsayalım . Amacımız kıyamet eşdeğeri olmaktırL

MKfML

ile durdurulmasını sorunu (ya da başka bir undecidable dil / sorun).K={MM(M) halts}

Böylece, ile gelip gereken bir computable¹ haritalama böylece hep hesaplanabilir olduğunu. Bu, kıyametin eşdeğeri tarafından bildirilen yaratıcı bir eylemdir. Bunun nasıl çalıştığı hakkında bir fikir edinmek için bazı örneklere bakın:MfMfM

Aynı şekilde, nin yarı kararlaştırılamayan dilleri azaltma ortağı olarak seçerek yarı kesinleştirilemediğini göstermesi de aynı şekildedir; örneğin, :¯ KLK¯


  1. Gödel numaralandırmasının girdiği yer burasıdır: Bu haritanın hesaplanabilirliğini (genellikle) ücretsiz olarak alıyoruz.

-2

katliama karışan karmaşıklık sınıfları bağlıdır ve biri belirli dan azaltmak isteyip istemediğini bilinmeyen için veya bilinmeyen verilen bir etmek . Ortak senaryo, NP Hard veya NP Complete sorunlarının kanıtlanmasıdır. Yaygın bir teknik, başka bir alanın davranışını taklit eden bir alanda belirli bir şekilde davranan "araçlar" oluşturmaktır. örnek aşağıdaki Slayt gösterisinde örneğin SAT, hükümlerine benzer şekilde köşe kapağının içinde tepe örtüsü, tek yapılar "becerikli" maddesine davranacaksan SAT dönüştürmek için: NP Complete azalmalar Krishnamoorthy tarafından (aynı zamanda Hamilton yolu için bir örnekle).B B AABBA

yararlı bir strateji, söz konusu karmaşıklık sınıfından büyük sorunların derlenmesiyle çalışmak ve üzerinde çalışılan soruna "en yakın görünen sorunları" bulmaktır. Bu çizgiler boyunca mükemmel bir referans, Bilgisayarlar ve Etkilenebilirlik, NP bütünlüğü teorisine rehberlik eden Garey ve Johnson farklı problem türlerine göre düzenlenmiştir.


2
Sorudaki dipnotu fark edip etmediğinizi merak ediyorum. Cevapların daha belirgin olması gerektiğini ve belirli bir yöntemin nasıl uygulandığını gösterdiğini düşünüyorum. Bu oldukça belirsiz ve genel görünüyor. Bir gelişme olarak, araçların nasıl oluşturulabileceğini ve kullanılabileceğini göstermeye ne dersiniz?
Juho

2
Ayrıca: bir şeyin neden karmaşıklık sınıflarına bağlı olduğunu ve bunun nasıl olduğunu açıklayabilirsiniz. Ayrıca, gitmek istiyorum neyi için veya için Ben ne o zaman, yapacağız? Peki ya "en yakın sorun" - bir çift soruna örnek verebilir misiniz? B B AABBA
Juho

powerpoint, kullanılan iki gadget örneğini gösterir. en yakın problemin bir örneği: birinin sayı teorisi ile ilgili bir problemi olduğunu varsayalım. G & J'nin sayı teorisi ile ilgili bir bölümü var. ve benzeri. NP dışındaki diğer karmaşıklık sınıflarına gelince, birçok var, ancak sorunların listesi tam veya hazır değil. yani başka bir deyişle orijinal soruyu daraltmak için belki de NP tam indirimlerle sınırlı kalmalı ...?
vzn

2
Yorumlar istediğiniz zaman silinebileceğinden, tüm bilgileri yanıta eklemenizi öneririm. Slaytlara bağlantı yarın da bozulabilir. Yakındaki sorunla ne oldu: benzeyen bir problem bulduktan sonra tam olarak ne yapmalıyım ( tam bir acemi olduğumu varsayalım)?
Juho
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.