“Alt küme ürünü” sorunu NP tamamlandı mı?


21

Alt küme toplamı sorunu klasik bir NP tam sorunudur:

sayılarının bir listesi ve bir hedef verildiğinde, den toplanan bir sayı alt kümesi var mı?LkLk

Bir öğrenci bana "alt küme ürünü" sorunu adı verilen sorunun bu varyantının NP-tamamlanmış olup olmadığını sordu:

sayılarının bir listesi ve bir hedef verildiğinde , ürünü olan den bir sayı alt kümesi var mı?LkLk

Biraz arama yaptım ve bu sorun hakkında konuşan herhangi bir kaynak bulamadım, ancak belki de onları özledim.

Alt küme ürün sorunu NP-tamamlanmış mı?


2
İlginç cevaplar, ama merak ediyorum: Sadece k günlüklerini ve tüm sayıları alarak Altküme Toplamı'na indirgeyemeyiz mi? (Belki ayrı bir soru sormalıyım?)
j_random_hacker

1
@j_random_hacker, evet, bu sitede ve çevrimiçi arama yaptıktan sonra bir cevap bulamazsanız, ayrı bir soru göndermenizi öneririm. Güzel bir cevapla güzel bir soru (ipucu: günlükleri almak size tamsayı olmayan bir şey bırakıyor; diğer yönde, sayıların büyüklüğüne göre üssel yapmanın ne olduğunu düşünün), ama biraz teğet ve kendi sorusunda daha iyi olurdu.
DW

1
@DW: Teşekkürler, zaman bulduğumda önerdiğin gibi yapacağım!
j_random_hacker

Yanıtlar:


13

Bir yorumda Yao'ya atfedilen X3C'den SUBSET PRODUCT ürününe bir azalma söz konusudur. İndirgeme hedefi düşünüldüğünde, indirgemenin ne olabileceğini tahmin etmek zor değildi.

Tanımlar:

3'LÜ SETLERLE KESİNLİKLE KAPAK (X3C)

Sonlu kümesi Verilen ile | X | 3 bir katı ve bir toplama 3-eleman alt kümeleri arasında , X , etmez tam bir kapak içeren C ' için , ve her eleman tam olarak bir kez meydana ?X|X|CXCCC C X C XCCXC

SUBSET ÜRÜN

sayılarının bir listesi ve bir hedef k verildiğinde , ürünü k olan L' den bir sayı alt kümesi var mı?LkLk

Bir X3C örneğini SUBSET PRODUCT örneğine azaltmak için:

  1. üyeleri ile ilk üyeleri arasında iki yönlü bir eşleme oluşturun | X | asal sayılar. X ve C altkümelerinin elemanlarını , eşlenen primerlerle değiştirin.X|X|XC

  2. her alt küme için üyelerini birlikte çarpın; sonuçta ortaya çıkan ürün listesi SUBSET PRODUCT örneği için L' dir. 1. adımda eşleme için asal sayılar kullanıldığından, alt kümelerin benzersiz çarpanlara ayırma teoremiyle eşdeğer olması durumunda ürünlerin eşdeğer olduğu garanti edilir .CL

  3. üyelerini birlikte çarpın ; sonuçta ortaya çıkan ürün SUBSET PRODUCT örneği için k değeridir.Xk

Asal çarpanları tam üyeleridir X . L' deki sayıların asal faktörleri tam olarak C altkümelerinin üyelerine karşılık gelir . Bu nedenle, yeni SUBSET PRODUCT örneğine yönelik herhangi bir çözüm, L' nin çözüm üyelerini C'deki alt kümelere eşleyerek X3C çözümüne dönüştürülebilir .kXLCLC

3 dönüştürme adımlarının her biri girdi boyutuna polinom olan işlemleri içerir veya X'in bir üyesinin büyüklüğü . İlk | X | primerler, Eratosthenes'in eleği kullanılarak O ( | X | ) zamanında üretilebilir ve asal sayı teoremi ile O ( | X | 2 ln | X | ) alanına sığması garanti edilir .|X|X|X||X|O(|X|2ln|X|)


1
+1, ancak azalmanın geçmesi için ilk | X | asal sayılar | X | 'da polinom olan birkaç bitle gösterilebilir - Bu konuda haklı mıyım, eğer öyleyse, bu garantimiz var mı?
j_random_hacker

1
Mükemmel nokta. Bunu ele almak için bir paragraf ekledim.
Kyle Jones

1
Teşekkürler, bu teoremi simüle ediyor! Nitpick'e değil, bağlandığınız sayfaya göre, kth asal sayı yaklaşık k log k'dır ve Eratosthenes Elekinin O (n log log n) yerine n zamanına göre n'ye kadar tüm primerleri hesapladığı göz önüne alındığında, n = k log k, ilk k'yi hesaplamak için O (k) (O (| X |)) yerine O (k * log (k) * log (log (k log k))) zamanı verir gibi görünür. bu şekilde hazırlanır.
j_random_hacker

1
Kyle Jones, 3. adımın üstel boyutta bir sayısı oluşturması kritik değil mi? Bu azalma gerçekten polinom zamanından mı? k
user1742364

3
@ user1742364 Hayır, çünkü hesaplaması üstel sayıda işlem gerektirmediği veya üstel sayıda bit depolanması gerektirmiyor. K hesaplaması gerektirir | X | çarpma ve çarpma en kötü O ( n 2 ) işlemidir. İken k büyük asal kat kat daha büyük olacak P içinde X , mağaza için gereken bit sayısı k olacak Ç ( log P ) . kk|X|O(n2)kPXkO(logP)
Kyle Jones

9

[ 1 ] 'e göre: Evet

Aynı referanstan da bahsediyorum: Yorumlar: Bu ve Problem 42 arasında ince bir teknik ayrım var: eski durumda sayıların tekli olarak temsil edilmesine izin verilerek elde edilen sahte verimli bir algoritma var; ancak tüm NP-tamamlama problemleri hızlı algoritmalarla çözülemezse, Altküme Ürün Sorunu, bu mantıksız girdi gösterimi bile kullanılarak `` verimli '' yöntemlerle çözülemez.

indirgemek için [2] 'ye bakın. [2]: Dostlar, Michael ve Neal Koblitz. "Sabit parametre karmaşıklığı ve şifreleme." Uygulamalı Cebir, Cebirsel Algoritmalar ve Hata Düzeltme Kodları (1993): 121-131.


1
Bir dergi makalesinde gerçek bir azalma veya alıntı yapmak mümkünse iyi olur.
templatetypedef

3
@templatetypedef Garey ve Johnson'da azalma tam olarak 3 set ile örtülüyor. Yao ile özel iletişim nedeniyle.
AJ

Şifreleme kağıdındaki azalma, hedef ürünün, örnekte verilen bir modül olan bir hedef sayı modülü ile uyumlu hale getirildiği farklı bir sorundur. (Kanıtı doğru
anlasam da
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.