Eşit olarak eşit renkte bir alt üçgeni engelleyen minimum renk miktarı


13

In Bundeswettberweb Infomatik 2010/2011, ilginç bir sorun vardı:

Sabit , en az bir ve bir harita bulun , üçlü olmayacak şekilde ile .nkφ:{(i,j)|ijn}{1,,k}(i,j),(i+l,j),(i+l,j+l)φ(i,j)=φ(i+l,j)=φ(i+l,j+l)

Yani, bir üçgen için minimum miktarda renk arıyoruz, böylece eşit renkli bir eşkenar alt üçgen olmayacaktır (aşağıdaki resim, vurgulanan köşeler böyle eşit bir eşkenar alt üçgen oluşturduğundan geçersiz bir renklendirme göstermektedir):

                              Misal

Aslında bir uygun küçük istedi için ve çözelti bir hırslı bir yaklaşım olan bir boyama elde edilir kaydetti (Almanca yazılmış) için renkler indirgenebilir, bir kadar randomize renkler geçerli bir çözüm bulundu.kn=100027n=100015

Kesin çözümlerle ilgileniyorum (daha küçük ). Çözüm, geri izlemenin rengin için yeterli olduğunu ve için yeterli olduğunu ve geri için gerçekten yavaş olduğunu söylüyor .n2n{2,3,4}35n17n=17

İlk olarak için bazı sonuçlar elde etmek için bir ILP formülasyonu ve Gurobi kullanmaya çalıştım , ancak çok yavaştı (zaten ). Sonra bir SAT çözücü kullandım , çünkü SAT örneği olarak düz bir ileri formülasyon olduğunu fark ettim.n>17n=17

Bu yaklaşımla dakika içinde için renk içeren bir çözüm üretebildim :3n=1810

                              18 düğüm için 3 renk çözümü

Ancak için rengin yeterli olup olmadığına karar vermek için zaten çok yavaş. için kesin çözümler sunan farklı bir yaklaşım var mı ? Elbette bir polinom algoritması bekleyemeyiz.3n=19n19


ilginç soru. neden bir polinom zaman algoritması bekleyemeyeceğimizi söylüyorsun?
Sasho Nikolov

@SashoNikolov sadece bir varsayımdır, çünkü bu geçerli bir tepe rengi boyaması bulmaktan daha zor gibi görünmektedir (daha fazla kısıtlama açısından daha zor) ve köşe boyası zaten çok zor bir sorundur.
Liste

Yanıtlar:


10

Sadece genişletilmiş bir yorum:

Tek renkli dikdörtgenler olmadan 18x18 (ve 12x21) bir ızgaranın 4-rengini bulmak için Steinbach ve Posthoff tarafından kullanılan yaklaşıma bir göz atabilirsiniz :

Bernd Steinbach ve Christian Posthoff, Son Açık Dört Renkli Dikdörtgen içermeyen Izgara'nın Son Derece Karmaşık Çok Değerli Bir Sorunun Çözümü . 2013 IEEE 43. Uluslararası Çok Değerli Mantık Sempozyumu Bildiriler Kitabı (ISMVL '13)

Gasarch ve ark. keyfi bir dikdörtgenin kısmi bir -renklendirmesi verildiğinde, rengin tek renkli dikdörtgenler olmadan tüm dikdörtgene genişletilip genişletilemeyeceğine karar vermek NP-eksiksizdir: Daniel Apon, William Gasarch, Kevin Lawler, NP-Komple Sorun boyama kız . Bu nedenle, eşkenar üçgenler için bile sorunun NP-tamamlanmış olması ihtimali yüksektir .... Bence bunu kanıtlamak iyi bir sonuç olacaktır.cn×m

Sadece bir yan not: Monokromatik dikdörtgen içermeyen 4 renklendirme probleminde haftalarca CPU döngüsü geçirdim, ancak yanlış bir kısmi sonuçtan (olası 1 renkli alt yapılandırmaların sayısını kısıtlayan yanlış bir önceki analizden) başladım ve kullandım STP kısıt çözücü ; simetrileri bozan kısıtlamalar eklerseniz (örneğin üçgenin bir tarafının renklendirilmesi için bir sipariş) ve yalnızca 1 renk kullanarak olası yapılandırmaların bir analizini yapmaya çalışırsanız büyük iyileştirmeler elde edebilirsiniz.

DÜZENLEME: Bu n = 19 (~ 1 dk.) İçin bir STP programının sonucudur.

resim açıklamasını buraya girin


çözümü için teşekkür ederim . Bu arada kendim denedim ve küçük bir STP programı yazdım ( pastebin.com/efzHu5md ). Ne yazık ki doğrudan SAT yaklaşımından gerçekten daha hızlı değil, bu nedenle eşitsizlikleri benden daha iyi seçmenin mümkün olduğunu varsayıyorum. n=19
Liste

4

SAT tabanlı bir yaklaşım kullanarak, her bir örneğin - kadar 3-renklendirilebilir olduğunu doğrulayabilirim . Yerel bir arama çözücü, için modern bir masaüstünde hala oldukça hızlı bir çözüm bulur . Aynı yaklaşımı için denedim , ancak yaklaşık 96 saat içinde hiçbir çözelti elde etmedim . O Böylece varsayım cazip olduğu değil artık 3-renklendirilebilir. (Aynı zamanda için anında 4 renklendirme bulunduğunu da belirteyim ).n22n=22n=23n=23n=23

ile ilgili gözlemim sizinkine benziyordu, yani basit kodlama kullanılıyorsa, tam bir çözücü için zaten ulaşılamayacak gibi görünüyor. Öte yandan, daha akıllı bir kodlama (ve ötesi?) Durumunu çözebilirse şaşırmam .n=19n=23

Aşağıda çözümü verilmiştir .n=22

tri22-sol

Görüntüyü oluşturduğu ve sorunu bana bildirdiği için Marzio'ya çok teşekkürler! :-)

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.