NP-komple problemlerle her gün karşılaşılıyor


Yanıtlar:


24

CS arkadaşlarıyla kullanmam için en sevdiğim örnek şudur:

Abraham, A. Blum, Sandholm. Takas borsaları için takas algoritmaları: ülke çapında böbrek takaslarını mümkün kılmak. EC07.

Böbrek değişim piyasaları, temelde sınırlı bir döngü kapsamıdır. Bu örneği sevdim çünkü a) özü açıklamak kolaydır (eğer daha teknik detayların bir kısmını dışarıda bırakırsanız) ve b) daha iyi algoritmaların gerçek anlamda hayat kurtarabileceklerini bildiğim birkaç örnekten biri!

En sevdiğim ikinci örnek hastane ve konut sakinleri problemidir (diğer bir deyişle üniversite kabul problemi). Her hastane tüm sakinleri (mezun olan tıp öğrencileri) ve sakinleri hastaneleri rütbelidir. Her hastanenin belli sayıda yuvası vardır. Oradan istikrarlı bir eşleştirme problemi var ve polinom zamanında çözülebilir.

Fakat gerçekte, çiftler sisteme girebilir (evet, aslında bir sistem var ), böylece sistem, örneğin, her ikisi için de ikamet başvurusunda bulunan evli çiftleri bölmeyecek. Çiftlerin eklenmesi sorunu NP-eksiksiz yapar. Açıklanması kolay olmasının yanı sıra, bu, uzun menzilli bağlantıların tanıtılmasının NP bütünlüğünü nasıl indükleyebileceğini güzelce göstermektedir.


1
Harika bir örnek! David Manlove bu tür problemler üzerinde yoğun bir şekilde çalışmıştır (değişim ve eşleşme); sistemler İngiltere ve Macaristan'da kullanılıyor. dcs.gla.ac.uk/~davidm/publications.html Bildiğim kadarıyla, bu yaklaşımlar NRMP algoritmalarını yendi ve Eric McDermid'in 2/2 yaklaşım algoritması en bilinenleri. dx.doi.org/10.1007/978-3-642-02927-1_57
András Salamon

13

NP zor olan bazı "her gün" problemleri, uygun şekilde formüle edilmiştir:

  • Zamanlama çatışmalarını en aza indirmek için üniversite sınıflarını zaman aralıklarına atama.

  • Düğün misafirlerini koltuklara oturtmak, böylece arkadaşlar aynı masada oturmak, ama düşmanlar yok.

  • Bir listedeki tüm turistik yerleri ziyaret etmek için bir yolculuğa çıkmayı planlayın.


12

Gezici satıcı sorununa açık bir şekilde erişilebiliyor ... en azından benim bulunduğum yerde, bu durum CS dışındaki kişiler arasında en popüler CS sorunu gibi görünüyor. Algoritmalar eğitmenim tarafından tanıtılan Vertex Cover'ın aşağıdaki resmini oldukça çekici buldum:

Bir karayolu ağınız vardır ve eğer bir araba yakıtın dışında kalmışsa, yolun en az bir ucunda bir benzin istasyonu olmasını sağlamak istersiniz.

Bir şehir plancısı olarak, mümkün olan en az sayıda benzin istasyonu inşa ederek maliyetleri en aza indirmek istersiniz. Bu esasen tepe örtü problemidir ve polinom zamanında optimal köşe örtüsünü bulmayı beklemeseniz de, polinom süresinde sadece iki tanesi olan bir şey bulabileceğinizi belirtmekte başarılı oldum. sadece maksimum eşleşmenin her iki uç noktasını da alarak (hedef kitlenizin ne kadar keskin olduğuna bağlı olarak bu son detay çıkarılabilir - özellikle de MM algoritması tam olarak iki astar olmadığından).

Sorunun niteliğinde küçük bir değişiklik olan 'karmaşıklıkta atlamak' örneği olarak, 2 renklendirilebilirlik ile 3 renklendirilebilirlik arasındaki farkın iyi bir örnek olduğunu düşünüyorum. Dört renkli teoremi çevreleyen tüm tanıtımlarda, bir haritanın dört yerine sadece üç renkle düzgün bir şekilde renklendirilip renklendirilemeyeceğini kontrol etmek zor olsa da, her zaman dört renkle renklendirilebileceğini bilmemize rağmen, bir noktaya gelebilir. Çok sayıda insan bunu oldukça şaşırtıcı buluyor.

Diğer bir doğal durum ise, işletim sistemlerinde kilitlenme kurtarma sorunudur . Bu, NP-komple geri bildirim tepe noktası problemi ile modellenmiştir - en az sayıdaki tepe noktası grafiği kaldırılmasını asiklik yapan - ve bunu da dikkate değer bir örnek olarak buluyorum (ve bu makalede daha fazla açıklanmıştır).


3
Bir maksimal eşleştirme hesaplamak ve açıklamak çok daha kolaydır iki yakınlaştırılması, yeter.
Warren Schudy

1
@Warren: Bunu söylediğin için teşekkürler, tabii ki haklısın!
Neeldhara,


7

Sırt çantasını, özellikle küçük bir valizle uğraşmak zorunda kalanlar için, kavraması oldukça kolaydır. Dinamik programlamayı bilenlerse güzel bir örnek.

Bir başka eğlenceli (pratik olarak özdeş) biri, Alt küme toplamıdır, çünkü aynı zamanda hoş bir fiziksel yorumu vardır: sayıları, ideal noktadaki dayanak noktası ile ideal nokta (kütlesiz) cetvelde eşit nokta kütlelerinin mesafesi olarak düşünün. Alt küme toplamı: cetvelin dengeli kalacağı boş olmayan bir alt küme var mı? (yani, ağırlık merkezi cetvel için destek noktası olacak şekilde?)

Her iki durumda da, saf stratejilerin tüm alt kümeleri kontrol etmeyi zorlayabileceği sezgisel görünmektedir.

Daha fazla altyapıya sahiplerse, kısıtlamaları bırakarak sorunları büyütmek güzeldir. Örneğin, maksimum akış problemiyle başlamak, onu doğrusal bir programa dönüştürmek ve bir tamsayı programı yapmak. (Tabii ki harika bir tanesi MAX-CUT, çünkü daha fazla geçmişe sahip insanlara UGC'yi de getirebiliyorsunuz; bir MO cevabında bazılarına dokunuyorum https://mathoverflow.net/questions/33036/is-quadratic-programming -still-np-hard-eğer-eğer-senin-sınırların-ve-a-mümkün-nokta / 33048 # 33048. ) Ayrıca, oldukça farklı karmaşıklığa sahip (Euler (kenar) yolu doğrusal olan, görünüşte benzer problemler gibi temiz şeyler de vardır. Zaman, Hamiltoniyen (tepe) yolu NP-tamamlandı).


7
Subset Sum'un aşağıdaki versiyonunu beğendim: bir dükkandan atıştırmalıklar alabilmeniz için £ 10 verilmiştir. Paranızın kalmaması için doğru satın alım kombinasyonunu bulabilir misiniz?
András Salamon

6

Bulmaca yapımı NP-Tamamlandı: Bir dizi cevap verildiğinde, bunları bir ızgaraya sığdırmaya çalışın.


5

Tagxedo, http://www.tagxedo.com web sitesini, kelimelere uyan (frekanslarına göre) şekillendiren bir kelime bulutu oluşturucusuyum . Sonuçlar çok güzel, ancak sorunun kolayca NP-sert olduğu kanıtlandı (paketleme sorunu).

İlginçtir ki, birçok NP zor probleminde "kolay" yaklaşımlar vardır. Tagxedo birçok durumda neredeyse mükemmel bir iş yapıyor gibi görünüyor. Bu, P'ye karşı NP'in pratik uygulaması ve yaklaşık olarak konu hakkında ilginç tartışmalara yol açmaktadır.


4

Arkadaşlarımdan biri Kuzey Amerika'daki her büyük lig stadyumunda bir beyzbol maçı izleyerek başarılı bir yıl geçirdi. Uçmadan. (O vermedi oldukça başarılı; üç stadyum inşaatı bu yıl altındaydı.)


evet, ama gaz kullanımını en aza indirmeye mi çalışıyordu? :)
Suresh Venkat

Uygun bir program bulmak bile NP zordu, çünkü stadyumlar her gün açık değil (zaman pencereleriyle Hamiltonian döngüsü).
Jeffε

4

Uber ve Lyft gibi şirketlerin başarısı nedeniyle, birçok insan NP-komple problemlerde çok kolay bir doğrudan deneyime sahiptir.

Bir sürücü koleksiyonu ve çeşitli zamanlarda alınmak isteyen kişilerin bir listesi göz önüne alındığında, yolcuların sürücülere en verimli tahsis edilmesi nedir?

Bu problem (uygun şekilde yeniden düzenlendiğinde) NPC'dir ve insanların bir noktada Uber'in sürücüleri ve yolcuları nasıl eşleştirmeye karar verdiğini merak ettiklerini hayal ediyorum.


3

Örnek olarak genellikle SAT kullanırım. "Her zaman ortaya çıkan her türlü problemi, büyük bir mantık formülüne doğru bir atama aramak gibi yeniden yazılabilir. P-NP sorusu, bu mantık formülünü çözmenin temelden daha kolay bir yolu olup olmadığıdır. Tüm olasılıkları denemek. Şimdiye kadar hiç kimse bir yol bulamadı ya da kolay bir çıkış yolu olmadığını kanıtlayamadı ”.


2
Her gün bununla kaç insanın karşılaştığından emin değilim.
Dave Clarke

3

Sudoku (nxn sqaure'de) gibi eksiksiz bir sorun, verimli bir şekilde doğrulanabilir çözümleri olan tüm sorunları etkin bir şekilde çözmemizi sağlayan Evrensel bir araç gibidir. Tek gereksinim Sudoku'yu çözmek için etkili bir yönteme sahip olmaktır.


2

NP

npjmNPpjkNP-bu durumda tamamla. Bunun, devrilmeyeceklerini varsaymamız için bloklar olması gerekmediğini gözlemleyin. Kağıt yığınlarını, kasaları veya levhaları içerebilir.

Bu yardımcı olur umarım!


2

Bir whimsically erişilebilir örnek olan kısa sunum Mark Dominus tarafından (bkz blog yayınına aşağıdaki görüntü bir genel punchline olan “My Favorite NP-Complete Sorunu” olarak adlandırılır) 3-kümeleri tam kapak .

Video serisindeki başlıklar arasında

  • Dans, Müzik ve Kitaplar
  • Eller, Kulaklar ve Ayaklar
  • Elmo ile Uyan (uyuma, giyinme ve dişlerini fırçalama hakkında)
  • Çevrenizdeki İnsanlar (itfaiyeciler, cankurtaranlar ve hemşireler hakkında)

Net bir amaç, her videonun, küçük çocukların ilgisini çeken bir konu havuzundan çekilmiş ortak bir tema üzerinde üç bölüm içermesiydi.

Serideki garip ördek “çiçekler, muzlar ve… saçlar” üzerine bir videoydu.

Çiçekler, muzlar ve saç.


0

Özellikle daha sonra Sırt Çantası sorununa bakarken, bu NP-tamamlayıcı sorun tam olarak uygun olabilir:

Sayı tahmini, doğru olana kadar yalnızca tek sayıları tahmin edebileceğiniz yer.

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.