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).
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 completo . 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 ?
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 minimizzareproblemi, 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ù piccolofattore (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.