Quantità minima di colori che impedisce un sottotiangolo equilatero di colore uniforme


13

Nel Bundeswettberweb Infomatik 2010/2011, si è verificato un problema interessante:

Per fisso , trova una minima e una mappa , in modo tale che non vi sia tripla con .k φ : { ( i , j ) | i j n } { 1 , , k } ( i , j ) , ( i + l , j ) , ( i + l , j + l ) φ ( i , j ) = φ ( i + l ,nKφ:{(i,j)|ijn}{1,,k}(i,j),(i+l,j),(i+l,j+l)φ(i,j)=φ(i+l,j)=φ(i+l,j+l)

Vale a dire che stiamo cercando la quantità minima di colori per un triangolo, in modo tale che non ci sia un sottotiangolo equilatero di colore uniforme (la figura seguente mostra una colorazione non valida poiché i vertici evidenziati formano un sottotiangolo equilatero di colore uniformemente):

                              Esempio

In effetti hanno chiesto una ragionevolmente piccola per e nella soluzione (scritta in tedesco) hanno notato che un approccio avido produce una colorazione con colori per , che può essere ridotta a randomizzando i colori fino a un è stata trovata una soluzione valida.n = 1000kn=1000n = 1000 1527n=100015

Sono interessato a soluzioni esatte (per più piccole ). La soluzione afferma che il backtracking produce che colori sono sufficienti per e sono sufficienti per , dove il backtracking è già molto lento per .2 n { 2 , 3 , 4 } 3 5 n 17 n = 17n2n{2,3,4}35n17n=17

Per prima cosa ho provato ad usare una formulazione ILP e Gurobi per ottenere alcuni risultati per , ma era troppo lento (già per ). Quindi ho usato un solutore SAT , perché ho notato che esiste una formulazione semplice come istanza SAT.n = 17n>17n=17

Con questo approccio sono stato in grado di generare una soluzione con colori per entro minuti:n = 18 103n=1810

                              Soluzione con 3 colori per 18 nodi

Ma per decidere se colori sono sufficienti per è già troppo lento. Esiste un approccio diverso che fornisce soluzioni esatte per ? Certamente non possiamo aspettarci un algoritmo polinomiale.n = 19 n 193n=19n19


domanda interessante. perché dici che non possiamo aspettarci un algoritmo temporale polinomiale?
Sasho Nikolov,

@SashoNikolov è solo un presupposto perché questo sembra essere più difficile che trovare una colorazione del vertice valida (più difficile in termini di più vincoli) e la colorazione del vertice è già un problema molto difficile.
Elenco del

Risposte:


10

Solo un commento esteso:

Puoi dare un'occhiata all'approccio usato da Steinbach e Posthoff per trovare la 4 colorazione di una griglia 18x18 (e 12x21) senza rettangoli monocromatici :

Bernd Steinbach e Christian Posthoff, soluzione dell'ultima griglia aperta senza rettangolo a quattro colori, un problema estremamente complesso a valori multipli . In Atti del 43 ° Simposio Internazionale IEEE 2013 sulla logica a valori multipli (ISMVL '13)

cn×m

Solo una nota a margine: ho trascorso settimane di cicli della CPU sul problema delle 4 colorazioni monocromatiche senza rettangolo ma sono partito da un risultato parziale errato (un'analisi precedente errata che limitava il numero di possibili sub-configurazioni a 1 colore) e ho usato il risolutore di vincoli STP ; puoi ottenere grandi miglioramenti se aggiungi vincoli che interrompono le simmetrie (ad es. un ordine sulla colorazione di un lato del triangolo) e provi a fare un'analisi delle possibili configurazioni usando solo 1 colore.

EDIT: questo è il risultato di un programma STP per n = 19 (~ 1 min.)

inserisci qui la descrizione dell'immagine


n=19

4

n22n=22n=23n=23n=23

n=19n=23

n=22

tri22-sol

Mille grazie a Marzio per aver generato l'immagine e per avermi fatto conoscere il problema! :-)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.