Optimizasyon sorununu ayarlayın - np-tamam mı?


10

Set S={e1,,en} verilir. Her eleman ei , ağırlığına wi>0ve maliyetine sahibiz ci>0. Amaç, aşağıdaki objektif işlevi en üst düzeye çıkaran k boyutunda alt kümesini bulmaktır : e iM w i + e iM w i c iMk

eiMwi+eiMwicieiMci
.

Sorun NP zor mu?

Objektif fonksiyon garip göründüğünden, objektif fonksiyonun bir uygulamasını açıklamak faydalıdır.

Elimizdeki varsayalım n ürün e1 için en ve orada ci her bir nesnenin kopyalarını ei Envanterimizdeki. Bazı müşterilerimiz var ve bu nesnelerle ağırlıkları ile orantılı olarak ilgileniyorlar, bu wida daha büyük sahip nesnenin widaha popüler olduğu anlamına geliyor . Bir çevrimiçi satış sistemimiz var ve müşterilerimizin taleplerini doğru bir şekilde cevaplamamız gerekiyor. Nesneleri şekillerinden tanıyamayız (Hepsi aynı görünüyor!). Ama onları bulmak için bazı sınıflandırıcılarımız var. Her sınıflandırıcı, bir nesnenin kopyalarını tespit etmek için kullanılabilir. Müşterilerimizin memnuniyetini en üst düzeye çıkarmak için k sınıflandırıcı çalıştırmayı hedefliyoruz.

wici=pin


Doğru terim, M'de olmayan bir elementin en büyük ağırlığından daha az veya ona eşittir. Bu nedenle, büyük bir ağırlığa sahip bir elementiniz varsa, boşa gitmesine izin vermek yerine M'ye koymak daha iyidir. Bu nedenle M, en büyük k ağırlığına sahip elemanlardan oluşmalıdır. Sağ?
zotachidil

Doğru değil, çünkü maliyetler de önemlidir. Aşağıdaki örneği düşünün:
Nasooh

w1 = 50, c1 = 80 - w2 = 40, c2 = 15 - w3 = 10, c3 = 5. 1'e eşit olan k için e2 seçimi e1'den daha faydalıdır.
Nasooh

Haklısın. Hmm ...
zotachidil

2
Motivasyonu açıklamaya çalıştığınız için teşekkür ederiz. Maalesef, açıklamanızla sorudaki nesnel işlev arasındaki bağlantı hala benim için tamamen belirsiz, ama sanırım soruyu makul bir uzunlukta tutmak için mevcut açıklamadan memnun olmalıyım.
Tsuyoshi Ito

Yanıtlar:


2

Aşağıdaki cevap, problemin özel bir vakasının polinom zamanında çözülebildiğini gözlemlemektedir. Bu yazıdaki soruya tam olarak cevap vermez, ancak NP-sertlik kanıtı için neyin gerekli olabileceği hakkında fikir verebilir ve yazıya ek ilgi uyandırabilir ...

cinD=ici

(S,w,c,K)w,cR+nS={1,2,,n}MSKiMwiciiMciiMwi

(d1,d2,k,m)0d1d2D0kKkmn

ϕ(d1,d2,k,m)=max{iMwi(ci/d11) : M[m],|M|=k,iMci=d2}.
maxdϕ(d,d,K,n)

İçin olası çözümler Kisimlandirmaya içerenler ise içine ve bu bilmediğimiz, biz tekrarını olsun Sınır davalarını bir alıştırma olarak bırakıyoruz.ϕ(d1,d2,k,m)m

ϕ(d1,d2,k,m)=max{ϕ(d1,d2cm,k1,m1)+wm(cm/d11)ϕ(d1,d2,k,m1).

Alt problemlerin sayısı 'dir ve nüksün her sağ tarafı için sabit zamanda değerlendirilebilir, böylece algoritma ve de zaman polinomunda çalışır . O(n2D2)nD  

Doğal sonucu. P = NP olmadığı sürece, NP sertliğini gösteren herhangi bir azalma, de cinsinden polinom olmayan örneklere düşecektir .Dn

Remark. Yanılmıyorsam, yazıdaki sorun için bir PTAS var, 'leri yuvarlayarak daha sonra dinamik programlama kullanıyor. Bununla birlikte, bir PTAS'ın varlığının, sorunun postada sorulduğu gibi NP-zor olup olmadığı üzerinde doğrudan bir etkisi yoktur.wi

Ben de merak ediyorum --- kimse (her ) bir poli-zaman algoritması olduğunda özel durum biliyor mu? (EDIT: öyle, Willard Zhan'ın yorumuna göre, bu, en büyük elementlerini içerecek şekilde optimize ederek görünüyor .)wi=ciiMk


1
Durumunda değil minimize aynı zaman optimize edilir, en oluşur 's? wi=ci(ijMwiwj)/(iMwi)Mwi
Willard Zhan

@ WillardZhan, evet, doğru görünüyor.
Neal Young

-6

Herhangi bir kısıtlama olmaksızın bir fonksiyonun maksimize edilmesini mi soruyorsunuz?

Gerçekten çok basit. M en büyük setse, o zaman en iyi çözümdür. Hiçbir şey hesaplamaya gerek yok.

Bu sorun, bu arada NP olan sırt çantası sorununa benziyor.


3
Soru “k boyutunda M alt kümesi” der.
Tsuyoshi Ito
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.