Funzioni interessanti sui grafici che possono essere massimizzate in modo efficiente.


10

Supponiamo che io abbia un grafico ponderato tale che w : E [ - 1 , 1 ] è la funzione di ponderazione - notare che sono ammessi pesi negativi.G=(V,E,w)w:E[1,1]

Dire che definisce una proprietà di qualsiasi sottoinsieme dei vertici S V .f:2VRSV

Domanda: Quali sono alcuni esempi interessanti di per i quali il problema di massimizzazione: arg max S V f ( S ) può essere eseguito in tempo polinomiale?fargmaxSVf(S)

Ad esempio, la funzione di taglio del grafico è una proprietà interessante di sottoinsiemi di vertici, ma non può essere massimizzata in modo efficiente . La funzione di densità dei bordi è un altro esempio di proprietà interessante che purtroppo non può essere massimizzata in modo efficiente. Sto cercando funzioni ugualmente interessanti, ma che possano essere massimizzate in modo efficiente.

f(S)=(u,v)E:uS,vSw((u,v))

Lascerò che la definizione di "interessante" sia piuttosto vaga, ma voglio che il problema della massimizzazione non sia banale. Ad esempio, non dovrebbe essere possibile determinare la risposta senza esaminare i bordi del grafico (quindi le funzioni costanti e la funzione di cardinalità non sono interessanti). Inoltre, non dovrebbe essere vero che stia semplicemente codificando un'altra funzione con un dominio di dimensioni polinomiali inserendolo nel dominio 2 V (cioè non voglio che ci sia un piccolo dominio X e una funzione m : 2 SX noto prima di guardare il grafico, in modo tale che la funzione di interesse sia davvero g : X f2VXm:2SX , ef ( S ) = g ( m ( S ) ) In questo caso, il problema della "massimizzazione" è in realtà solo una questione di valutazione della funzione su tutti gli input.)g:XRf(S)=g(m(S))

Modifica: è vero che a volte i problemi di minimizzazione sono facili se si ignorano i pesi dei bordi (anche se non si minimizza la funzione di taglio, poiché consento pesi dei bordi negativi). Ma sono esplicitamente interessato ai problemi di massimizzazione. Tuttavia, in questo contesto non diventa un problema in problemi naturali ponderati.


Hai un esempio di tale funzione?
Yaroslav Bulatov,

No, da qui la domanda. :-)
Aaron Roth,

Ah ok. La mia impressione che una funzione che può essere efficacemente massimizzata per tutti i grafici debba essere poco interessante. Ma potrebbero esserci funzioni interessanti che possono essere massimizzate in modo efficiente per serie ristrette di grafici. Ad esempio, per i grafici planari, alcune funzioni interessanti possono essere massimizzate in modo efficiente, mentre altre funzioni interessanti non hanno ancora un algoritmo efficiente
Yaroslav Bulatov

Sarei felice di vedere le risposte sui risultati per le classi ristrette di grafici se non riusciamo a pensare a funzioni interessanti che possono essere massimizzate su tutti i grafici.
Aaron Roth,

Questo non dovrebbe essere CW? Possiamo generare arbitrariamente molti esempi e se quelli che sono "interessanti" è soggettivo.
Jukka Suomela,

Risposte:


5

Ogni volta che conta il numero di spigoli ( u , v ) che soddisfano un predicato booleano definito in termini di u S e v S , ciò che hai scritto è solo un 2-CSP booleano. La funzione obiettivo chiede di massimizzare il numero di clausole soddisfatte su tutte le assegnazioni alle variabili. Questo è noto per essere NP-duro e si conosce anche la soglia di durezza esatta assumendo UGC (vedi Raghavendra'08).f(S)(u,v)uSvS

Esistono molti esempi positivi naturali quando si desidera massimizzare i sottoinsiemi di spigoli, ad esempio, La corrispondenza massima è un esempio di un problema di tempo polinomiale in questo caso.


Questa è una bella osservazione che esclude molti problemi naturali di questo tipo.
Aaron Roth,

2

Divisione aromatica / debole 2 coloranti.

(In questo caso se ogni v S ha un vicino in V S e viceversa. Altrimenti f ( S ) = 0. Una soluzione con f ( S )f(S)=1vSVSf(S)=0Esiste sempre = 1 se non ci sono isolati nodi, e può essere trovato facilmente in tempi polinomiali.)f(S)=1


1

Taglio minimo (in particolare, taglio vertice).

(In questo caso sarebbe qualcosa del genere: 0 se la rimozione dei nodi nell'insieme S non suddivide G in almeno due componenti e | V | - | S | altrimenti. Quindi massimizzare f equivale a trovare un taglio minimo , che può essere fatto in tempo polinomiale.)fSsol|V|-|S|f

È inoltre possibile definire una funzione simile che corrisponde ai tagli minimi del bordo.

(Ad esempio, è 0 se S = o S = V ; altrimenti è | E | - | X | , dove X è l'insieme di spigoli che hanno un punto finale in S e l'altro punto finale in V S. )f(S)S=S=V|E|-|X|XSVS


Ok, ma questo è un problema di minimizzazione sotto mentite spoglie, che tende ad essere più facile quando ignori i pesi del bordo. (Si noti che se si prendono in considerazione i pesi dei bordi, poiché ho specificato che potremmo avere pesi negativi, anche il taglio minimo è un problema difficile). Proverò a modificare la domanda per enfatizzare questo punto.
Aaron Roth,

1

Set indipendente massimo.

(Qui = numero di nodi in S che non sono adiacenti a nessun altro nodo in S + numero di nodi in V S che sono adiacenti a un nodo in S. Iff S è un insieme indipendente massimo che abbiamo f ( S ) = | V | .)f(S)SSVSSSf(S)=|V|


Come trovi il massimo set indipendente nel tempo polinomiale?
Yaroslav Bulatov,

1
@Yaroslav: avidamente.
Jukka Suomela,

@Yaroslav: Suggerimento: la differenza tra massimo e massimo è enorme. ;-)
Ross Snider,
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.