Dikdörtgenlerin dışbükey çokgenlere ancak dönmeler olmadan paketlenmesi


23

(2 boyutlu) dikdörtgenlerin özdeş kopyalarını, üst üste bindirmeden dışbükey (2 boyutlu) bir çokgenin içine paketleme sorunu ile ilgileniyorum. Benim sorunumda, dikdörtgenleri döndürmenize izin verilmiyor ve bunların eksenlere paralel olarak yönlendirildiğini varsayabilirsiniz. Size sadece bir dikdörtgenin boyutları ve çokgenin köşeleri verilmiştir ve dikdörtgenin kaç tane aynı kopyasının çokgene paketlenebileceği sorulmuştur. Dikdörtgenleri döndürmenize izin veriliyorsa, bu sorunun NP zor olduğu bilinmektedir. Ancak, yapamazsan ne bilinmektedir? Dışbükey çokgen basit bir üçgense ne olur? Eğer problem gerçekten NP-zor ise, bilinen yaklaşım algoritmaları var mı?

Şimdiye kadarki özet (21 Mart '11). Peter Shor, bu problemi dışbükey çokgenli paketleme birimi karelerinden biri olarak kabul edebileceğimizi ve paketlenecek kareler / dikdörtgenlerin sayısına bağlı bir polinom yüklerseniz bu sorunun NP cinsinden olduğunu görebiliriz. Sariel Har-Peled, aynı polinomlara bağlı vaka için bir PTAS olduğuna işaret ediyor. Bununla birlikte, genel olarak, paketlenmiş kare sayısı, sadece kısa bir tam sayı çifti listesinden oluşan girişin boyutunda üssel olabilir. Aşağıdaki sorular açık görünüyor.

Sınırsız sürüm NP olarak mı? Sınırlandırılmamış sürüm için bir PTAS var mı? Polinom bağlı olgu P veya NPC'de mi? Ve benim kişisel favorim, birim kareleri bir üçgen biçiminde paketlemeyle sınırlı kalırsanız sorun daha kolay olabilir mi?


1x3 dikdörtgenler ile paketleme NP tamamlandı (rotasyon ile) ve rotasyonlara izin vermezsek kolaylaşır. Her satır (veya sütun) için maksimum dikdörtgen sayısını bulup toplam paketlenmiş dikdörtgen sayısını elde etmek için bunları ekleyin.
Mohammad Al-Turkistany,

Boyutları 1x3 (veya başka bir şey) olacak şekilde ayarlamaktan emin değilim, sorunum için çok yardımcı oluyor mu? Dışbükey çokgen mutlaka eksenlere paralel herhangi bir tarafa sahip değildir ve yine de dikdörtgenleri nereye koyacağınıza karar vermeniz gerekir. Onları ilk önce y eksenine en aşağıya koyabilir, sonra sola doğru makul bir sezgisel buluş olarak haklı çıkarabilirsiniz, ancak bunun en uygun olmadığı durumlarda kolayca örnek oluşturabilirsiniz.
Raphael

9
Tüm dikdörtgenleri yapmak için bir afin dönüşümü uygulayabilirsiniz . Bu yüzden sorun paketleme karelerininkiyle aynıdır. 1×1
Peter Shor

1
@turkistany: Bana 1x3 dikdörtgenlerin NP bütünlüğünü gösteren bir referans verir misiniz? Yoksa gözlemlemesi kolay mı?
Yoshio Okamoto

3
Peter Shor'ın gözlemine dayanarak arayarak maven.smith.edu/~orourke/TOPP/P56.html ilginç. Bununla birlikte, genel basit çokgenler üzerine odaklanmış gibi görünmektedir (yani içbükey olabilirler).
Raphael

Yanıtlar:


12

Problem, dışbükey bir çokgenin içinde azami nokta sayısı toplanarak yeniden şekillendirilebilir, öyle ki her bir çift ( metriğin altında ) birbirinden en az 1 uzakta olacak şekilde (karelerin merkezlerini düşünün) . Bu da sırayla normal bir Öklid mesafesini kullanan aynı problemle ilgilidir. Bu, kişinin çokgen davranan bölgelere çokgen kesmekle ilgilendiği meshing ile ilgilidir (yani, merkezlerin Voronoi şemasını alırsınız [Centroidal Voronoi tessellations]).L1

Her neyse, bir yaklaşımı oldukça kolaydır. Bir boyuna O ızgarasını rastgele kaydırırsınız ( 1 / ϵ ) . Çokgeni ızgaraya klipsleyin ve çokgenin her kesişme parçasının içindeki sorunu kaba kuvvet kullanarak ızgarayla çözün. Zaman çalışan bir algoritma O ( M * n o ı s e ( ε ) ) kolayca burada, uygun olmalıdır E noktaları (örneğin, dikdörtgenler) sayısıdır ve n, o ı s e ( ε )(1ϵ)O(1/ϵ)O(Mnoise(ϵ))Mnoise(ϵ)sadece bağlı bazı korkunç fonksiyonlardır .ϵ


Teşekkürler. Dikdörtgen / kare sayısına bağlı bir polinomun olduğu durumda bile, sorunun P'de olup olmadığı hala açık değil mi?
Raphael

1
İşte benim tahminim / spekülasyonumun 2 kuruşudur ... Eğer P'de olsaydı şaşırtıcı olurdu - en uygun çözümün bazı ekstra özelliklerini göstermeniz gerekecek. Bununla birlikte, benim tahminime göre, NP-sertliğinin resmi bir kanıtı ulaşılamayacaktı - sorunun çok fazla yapısı var. Feder ve Greene, k-merkezi kümelenmesinin belirli bir faktörde yaklaştırılması zor NP olduğunu gösterdi.
Poligonun

2

Bu iki bildiri senin sorununla ilgileniyor:

EG Birgin ve RD Lobato, " İzotropik dışbükey bölgelerde aynı dikdörtgenlerin ortogonal paketlenmesi ", Bilgisayar ve Endüstri Mühendisliği 59, s. 595-602, 2010. 

EG Birgin, JM Martínez, FH Nishihara ve DP Ronconi, " Doğrusal olmayan optimizasyonla isteğe bağlı dışbükey bölgelerdeki dikdörtgen biçimli öğelerin ortogonal olarak paketlenmesi ", Bilgisayarlar ve Yöneylem Araştırması 33, s. 3535-3548, 2006.

 


Bu makaleler pratikte sorunu çözmeye bakıyor. Söyleyebileceğim kadarıyla, soru, sorunun NP zor olduğu biliniyor.
András Salamon

3
NP cinsinden göstermek oldukça kolaydır. Size hangi poligonun hangi tarafına dokunduğunuzu ve hangi karelerin diğer karelerin sağ / sol / sol / sağ olduğunu gösteren optimal bir paketleme diyagramı olduğunu varsayalım. Tam olarak bu şekilde paketleyen bir dizi karenin koordinatlarını bulup bulamayacağınız sorusu doğrusal bir programdır ve bunun uygun bir paketleme için bir diyagram olduğunu doğrulayabilirsiniz.
Peter Shor

4
Poligonunuzun tüm köşeleri tamsayılar (veya rasyonel) ise, doğrusal programların standart bir sonucu polinom fazladan bir ekstra hassasiyetten daha fazlasına ihtiyacınız olmadığını ve doğrusal programın tam olarak polinom sürede çözülebileceğini söyler. Bunu zaten bildiyseniz özür dilerim, ancak yukarıdaki yorumunuzdan söyleyemem - ve bilseniz bile, bazı insanlar bunu yapmaz.
Peter Shor

2
Teşekkürler. Bunu bir keresinde biliyordum ama hatırlatılması güzeldi. Ayrıca, çokgenin içine yerleştirilmiş, üstel bir dizi kareye sahip olabilirsiniz, bu yüzden hepsini listeleyebileceğinizden emin olamadım. Belki bunu atlatmak için yapabileceğin bir ölçek vardır?
Raphael

3
@Rafael: Meydan sayısına bağlı olarak bir polinomunuz olduğunu varsaymıştım (gerekçesiz olarak). Üstel boyuttaki çokgenlere izin verirseniz, işler daha zorlaşır.
Peter Shor

1

Peter Shor, yeniden ölçeklendirerek bu sorunun, birim kareleri dışbükey bir poligona yerleştirmekle ilgili olduğunu gözlemledi.

Düzenleme: Bu cevabın geri kalan kısmı geçerli değildir, çünkü paketlenecek şekillerin aynı boyutta olduğu açıkça belirtilmiş olan şartı düşürmektedir.


İlgili ortogonal paketleme probleminin NP Sertliği ile ilgili soru , ilk soru için gereken sonucu içeren bir kağıttan bahseder:

  • Karelerin bir kareye paketlenmesi Joseph YT. Leung, Tommy W. Tam, CS Wong, Gilbert H. Young ve Francis YL Chin, Paralel ve Dağıtık Hesaplama Dergisi 10 271-275. ( bağlantı )

Gazeteden:

Kare ambalajlama probleminin, 3-bölme problemini azaltarak güçlü bir şekilde NP-tamam olduğunu göstermekteyiz.

Bu nedenle sorun, paketlenecek olan dikdörtgenlerin kaba benzer olduğu özel durum için bile NP- zorudur. (Bu yazının yazarlarından farklı olarak, sorunun NP'de olduğuna tam olarak ikna olmadım, çünkü pozisyonların çok fazla hassasiyetle belirtilmesi gerekebilir, bu da doğrulama işleminin giriş boyutunda artık polinom olmamasına neden olabilir. )


5
Kağıda bakıldığında, diyagramlardan bakılacak şekilde paketlenecek karelerin hepsinin eşit olmadığı görülüyor.
Peter Shor

1
@Peter: Haklısın, bu makale Raphaël'in sorunu hakkında hiçbir şey ifade etmiyor.
András Salamon

0

Belki bu makale sizin için ilgi çekici olabilir:

FOCS 92'de Kenyon ve Kenyon'un dikdörtgenlerle çokgen döşemesi.


Teşekkürler. Ancak doğru anlarsam, fayans poligonu tam olarak örter. Bu benim durumumda neredeyse hiç mümkün olmayacak (optimizasyon problemimi temelden farklı kılan gibi görünen bazı yönelimlerde keyfi bir üçgeni düşünün).
Raphael

Gerçekten, bu aynı sorun değil, benim hatam.
Sylvain Peyronnet

0

İçine koymak istediğiniz çokgen mutlaka dışbükey değilse, o zaman sorunun NP zorlaştığını düşünüyorum. İşte çok kabataslak bir kanıt. Azalma bazı Planar-3-SAT tipi problemlerden kaynaklanmaktadır. Her değişken için 1.1 x 1 bir yere sahip olabilirsiniz, bu alanda nereye bir kare koyduğunuza bağlı olarak değişkeninizin yanlış olup olmadığını belirleyebilirsiniz. Ayrıca, .1 alanını sola / sağa bırakırsanız, o zaman diğer iki kareyi biraz daha içeri taşıyabilirsiniz ve ayrıca arkalarında kalanları da, şimdi birlikte dört kareyi etkileyen vb. Başka bir yere .1 boş alan bırakabilirsiniz. Söz konusu hazır bilginin kopyası kadar kopyaya sahip olduktan sonra, bu tüpleri ilgili fıkra bileşenine bağlarsınız ve gelen üç tüpten en az birinin bir .1 ekstra alana sahip olmasını sağlamak için yine benzer bir gadget kullanırsınız.


1
Bu makul görünüyor. Raphaël'in maven.smith.edu/~orourke/TOPP/P56.html bir yorumunda , fiili indirgeme içeren bir kağıda bir işaretçi ile bir link verdiğini unutmayın .
András Salamon

Oh, farketmedim, thx.
domotorp
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.