Altküme Toplamı veya NPP için tamsayı ilişkisi algılama?


14

Tamsayı ilişkisine yönelik (küçük) bir çözümün yanıt vermesi için bir Altküme Toplamı veya Sayı Bölümü Sorunu örneğini kodlamanın bir yolu var mı? Kesinlikle değilse, o zaman bir olasılıkla?

Seçilen sayı aralığının büyük olduğu 'düşük yoğunluklu' bölgedeki Altküme Toplamı sorunlarının çözümünde LLL'nin (ve belki de PSLQ'nun) ılımlı bir başarı ile kullanıldığını biliyorum , ancak bu yöntemler iyi ölçeklenmiyor seçilen sayı aralığı çok daha küçük olduğunda, 'yüksek yoğunluklu' bölgede daha büyük boyutlara sahip ve başarısız olur . Burada düşük yoğunluklu ve yüksek yoğunluklu çözelti sayısını ifade eder. Düşük yoğunluklu bölge mevcut olan az sayıda veya hiç çözüme karşılık gelmezken, yüksek yoğunluklu birçok çözelti içeren bir bölgeye karşılık gelir.2N2N

Yüksek yoğunluklu bölgede, LLL, verilen örnekler arasında (küçük) tamsayı ilişkileri bulur, ancak örnek boyutu arttıkça, ilişkinin uygulanabilir bir Altküme Toplamı veya Sayı Bölümleme Sorunu çözümü olduğu bulunmuştur.

Tamsayı ilişkisi tespiti, üstel bir optimal sınır içinde polinomdur, buna karşılık Altküme Toplamı ve NPP açıkça NP-Komple'dir, bu nedenle genel olarak bu muhtemelen mümkün değildir, ancak örnek rasgele bir şekilde çizilirse, bu daha basit olabilir mi?

Yoksa bu soruyu bile sormamalı ve bunun yerine, üstel bağlılığı hesaplamada katlanarak artan bir artış yerine en uygun cevaptan azaltmanın bir yolu olup olmadığını sormalı mıyım?


Ben herhangi bir cevap alamadım bu yüzden çapraz mathoverflow gönderildi: mathoverflow.net/questions/38063/…
user834

Bu çok ilginç bir soru, ben de cevap bekliyorum. Temel olarak Altküme toplamından veya NPP'den tamsayı ilişkisine bir polinom zamanı azalması (belki rastgele) istiyorsunuz. Buna ne dersiniz, eğer alt küme toplamı probleminizin hedefiyse ve pozitif bir tamsayılar kümesiyse , çözümüyle . Bu her biri için ise gerçek katsayıları 1'e eşit olan tam lineer kombinasyonudur sahip olduğunuz var Her zaman bir çözüm olduğunu ve tamsayı ilişkisi haritalama da size bir çözüm verecektir . S S 0 = a S a a iS i a i < 2 n - 1t=0SS0=aSaaiSiai<2n1
Marcos Villagra

@Marcos Villagra: yorumunuzu ayrıştırmak biraz zor ... bir problemi bir alt küme toplamı / sayı bölümü problemi olarak bir kafese gömebilir ( bir inceleme için buraya bakınız ), soru katsayıları sınırlamak için bir yol bulmaktır. istenen küme (0,1 veya -1,1 diyelim). LLL bir tamsayı ilişkisi, hatta küçük bir ilişki bulacaktır, ancak bir katsayı olarak sadece bir 2 veya 3, bir alt küme toplamı / sayı bölümü cevabı olarak geçersiz kılacaktır.
user834

Yanıtlar:


2

M en büyük sayının logaritması olsun. Eğer o zaman, dinamik programlama ile polinom zamanda çözümlenebilir. Genel olarak, bilinen her algoritma en az zaman alır. ve olduğunda bilinen bir polinom zaman algoritması yokturΩ ( 2 m ) m = ω ( log n ) m = o ( n )m=O(logn)Ω(2m)m=ω(logn)m=o(n)

Ancak, Flaxman ve Przydatek, Beklenen Polinom Zamanında Orta Yoğunluklu Altküme Toplamı Sorunlarını çözen bir algoritma sağlar.

Bu referansı kontrol edin:

Keten Adam ve Przydatek, Beklenen Polinom Zamanında Orta Yoğunluklu Altküme Toplam Problemlerini Çözme


2
Bu sonuç yalnızca Altküme Toplamı örneğindeki sayıları istediğimden önemli ölçüde daha düşük seçmek içindir. Onlar günlük sayısı (n) ^ 2 sırasına göre seçerken ben 2 ^ n sırasına göre sayılar aralığında ilginç. Sayı aralığı çok düşük olacak şekilde kısıtlandığında Altküme Toplamını çözmek için iyi bilinen algoritmalar vardır ve bu aralığı biraz genişletmiş gibi görünüyor, bu harika, sadece aradığım şey değil. Yine de teşekkürler.
user834
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.