La programmazione dinamica non è mai più debole di Greedy?


15

Nella complessità del circuito, abbiamo separazioni tra potenze di vari modelli di circuito.

Nella complessità della dimostrazione, abbiamo separazioni tra poteri di vari sistemi di dimostrazione.

Ma nell'algoritmo, abbiamo ancora solo poche separazioni tra i poteri dei paradigmi algoritmici .

Le mie domande che seguono mirano a toccare quest'ultimo problema per due paradigmi: Greedy e Dynamic Programming.

Abbiamo una serie di elementi di base e alcune famiglie dei suoi sottoinsiemi sono state dichiarate soluzioni fattibili. Partiamo dal presupposto che questa famiglia è chiusa verso il basso: sono possibili sottoinsiemi di soluzione fattibile. Dato l'assegnazione di pesi non negativi agli elementi di base, il problema è calcolare il peso totale massimo di una soluzione fattibile.

L'algoritmo avido inizia con una soluzione parziale vuota, e ad ogni passo aggiunge un elemento non ancora trattato di maggior peso se ciò è possibile, cioè se la soluzione estesa è ancora fattibile. Il noto teorema di Rado-Edmonds afferma che questo algoritmo troverà una soluzione ottimale per tutte le ponderazioni di input se la famiglia di soluzioni fattibili è un matroid.

In parole povere, un algoritmo DP è semplice , se utilizza solo operazioni Max e Sum (o Min e Sum). Per essere più specifico (come suggerito da Joshua), con un semplice algoritmo DP intendo un circuito (max, +) con porte Fanin-2 Max e Sum. Gli input sono variabili, cui i corrispondono al peso dato elemento. Tale circuito può risolvere qualsiasi problema di questo tipo semplicemente calcolando il peso totale massimo di una soluzione fattibile. Ma questo può essere un enorme esagerato, se abbiamo esponenzialmente molte di queste soluzioni (come quasi sempre accade).ii

Domanda 1: ci sono matroidi su cui qualsiasi semplice algoritmo DP avrà bisogno di un numero super-polinomiale di operazioni per risolvere il corrispondente problema di massimizzazione?

COMMENTO (aggiunto il 24.12.2015): questa domanda ha già una risposta (vedi sotto): ci sono tali matroidi, anche nella stragrande maggioranza.

La domanda successiva chiede di separare DP avidi e semplici per problemi di approssimazione . Nel problema di corrispondenza peso massimo , la famiglia di soluzioni realizzabili è costituita da tutti gli abbinamenti nel bipartito completon×n . Per una determinata assegnazione di pesi ai suoi bordi, l'obiettivo è calcolare il peso massimo di un abbinamento (questo sarà sempre un abbinamento perfetto, poiché il peso non è negativo).

Il semplice algoritmo avido può approssimare questo problema all'interno del fattore 2: basta sempre prendere un bordo disgiunto non ancora visto di peso massimo. Il peso ottenuto sarà almeno la metà del peso ottimale.

Domanda 2: Un semplice algoritmo DP può approssimare il problema di corrispondenza peso massimo all'interno del fattore 2 usando solo polinomialmente molte operazioni di somma e somma?

Naturalmente, un banale algoritmo DP, che emette volte il peso massimo di un fronte, approssima questo problema all'interno del fattore n . Ma vogliamo un fattore molto più piccolo. Immagino che nemmeno un fattore n / log n possa essere raggiunto ma, ancora: come dimostrarlo ? nnn/logn

CORRELATO: Un cugino della corrispondenza peso massimo è il problema di assegnazione : trova il peso minimo di una corrispondenza perfetta. Questo problema può essere risolto (anche esattamente) con la programmazione lineare (il cosiddetto algoritmo ungherese) utilizzando solo le operazioni . Ma il limite inferiore di Razborov sulla dimensione dei circuiti booleani monotone che calcolano la funzione permanente implica (non del tutto direttamente) che qualsiasi circuito (min, +) che si avvicina a questo problema all'interno di qualsiasi fattore (!) Finito deve usare n Ω ( log n ) operazioni . Quindi, per minimizzareO(n3)nΩ(logn)problemi, i semplici algoritmi DP possono essere molto più deboli della Programmazione lineare. Le mie domande di cui sopra mirano a dimostrare che tali algoritmi DP potrebbero essere persino più deboli di Greedy.

Qualcuno ha visto domande simili prese in considerazione da qualcuno?


AGGIUNTO (il 24.12.2015): la domanda 2 mira a mostrare che un particolare problema di massimizzazione (il problema di corrispondenza peso massimo), che può essere approssimato dall'algoritmo goloso con fattore , non può essere approssimato da un semplice poli-dimensione DP con lo stesso fattore r . Nel frattempo, ho ottenuto una separazione più debole tra Greedy e DP semplice: per ogni r = o ( n / log n ) , c'è un problema di massimizzazione esplicito che può essere approssimato dall'algoritmo greedy con fattore r , ma nessuna DP semplice poli-dimensione l'algoritmo può approssimare questo problema con un più piccolor=2rr=o(n/logn)rfattore (vedi qui per uno schizzo). Tuttavia, la stessa domanda 2 (non necessariamente per questo particolare problema di peso massimo) rimane effettiva: sarebbe interessante prendere di mira lo stesso fattore da entrambi gli algoritmi.<r/3


2
Intendi definire "semplice algoritmo DP" come "qualsiasi circuito (max, +) con porte di fan-in 2"?
Joshua Grochow,

xi,jKnD(j,1)=xs,jD(j,l)=min{D(j,l1),mini{D(i,l1)+xi,j}}D(t,n1)O(n3)

Risposte:


6

Penso che la risposta alla mia domanda 1 sia affermativa : ci sono matroidi su cui la DP semplice fallisce male! Cioè, la semplice DP può essere molto peggio di Greedy quando si tenta di risolvere esattamente un problema di ottimizzazione .

KnKnff(max,+)

22n/n3/2n

2kkmatroidi. D'altra parte, per quanto ne so, gli algoritmi di approssimazione basati su DP di solito usano una sorta di "ridimensionamento" dei pesi di input e si applicano solo a problemi "a zaino" o ad alcuni problemi di pianificazione. Una risposta negativa alla domanda 2 confermerebbe questa apparente "debolezza di approssimazione" della DP.


1
Un'osservazione in qualche modo tangenziale: la DP viene anche utilizzata negli algoritmi in stile Arora per vari problemi euclidei di dimensione fissa, ad esempio TSP euclideo. Ma questo è ancora nello spirito di arrotondare l'input.
Sasho Nikolov,

@Sasho: Sì, questi sono davvero algoritmi basati su DP. Woeginger ha anche tentato di catturare problemi per i quali DP può aiutare ad approssimarli. Ma non ho visto alcuna buona approssimazione DP che sia pura (solo Max e Somma o Min e Somma, nessun arrotondamento / ridimensionamento, nessun ArgMax ecc.) Naturalmente, questo potrebbe essere solo colpa mia: gli algoritmi di approssimazione sono qualcosa di nuovo per me .
Stasys,

Non sono a conoscenza di alcun esempio di buona approssimazione "pura" DP, nel tuo senso di puro: tutti gli esempi di cui sono a conoscenza usano una forma di arrotondamento.
Sasho Nikolov,
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.