È possibile dimostrare che, per un dato problema, non esistono algoritmi avidi ottimali?


Risposte:


9

La cosa più semplice da fare sarebbe impostare l'algoritmo avido per il problema e quindi cercare un contro-esempio. Se ne trovi uno, hai la tua risposta. Altrimenti ci sono molti modi per dimostrare che l'avidità funziona . Ci sono alcuni problemi con questo, ovviamente (come il modo specifico di formulare l'algoritmo avido). Per quanto riguarda la caratterizzazione di quali problemi possono e quali problemi non possono essere risolti avidamente, c'è anche una risposta generale a questo.

In effetti, nel loro articolo "An Exact Characterization of Greedy Structures" ( SIAM J. Discrete Math . 6 , pp. 274-283), Helman, Moret e Shapiro hanno dato una descrizione formale di questo (chiamato un incorporamento matroid , che generalizza sia matroidi che greedoidi). Dall'abstract: "Gli autori presentano esatte caratterizzazioni di strutture su cui l'algoritmo avido produce soluzioni ottimali".

In generale, l'algoritmo avido può essere formulato in termini di sistemi di insiemi ponderati . Hai un set E (ad esempio, i bordi, nel caso di alberi ad estensione minima), e hai un set F2 E di sottoinsiemi di E (pensa a foreste ad estensione parziale, per il problema degli alberi ad estensione minima). F rappresenta le soluzioni parziali valide costruiti combinando elementi da E . C'è anche la funzione peso, w , che ti dà il peso o il costo di qualsiasi elemento in F(E,F,w)EF2EEFEwF. Di solito assumiamo che questo sia lineare, cioè ogni elemento in ha un peso, e i pesi delle soluzioni (parziali) sono solo la somma dei pesi degli elementi. (Ad esempio, il peso di un albero spanning è la somma dei pesi dei bordi.) In questo contesto, Helman et al. ha dimostrato che quanto segue è equivalente:E

  1. Per ogni funzione di obiettivo lineare, ha una base ottimale.(E,F)

  2. è un incorporamento matroid.(E,F)

  3. Per ogni funzione dell'obiettivo lineare, le basi avide di sono esattamente le sue basi ottimali.(E,F)

In altre parole: per strutture come queste (che fondamentalmente incarnano il tipo di strutture di solito pensate quando si lavora con l'avidità), esattamente l'insieme degli incastri matroidi può essere risolto avidamente.

La definizione di un embedding del matroid non è poi così difficile, quindi provare che un dato problema è o non è un embedding del matroid è certamente fattibile. La voce di Wikipedia fornisce la definizione abbastanza chiaramente. (Comprendere la prova del perché queste sono le strutture esatte risolvibili dall'avidità - questa è un'altra questione del tutto ...)

Se il problema può essere formulato in termini di selezione da un sistema di set ponderato con una funzione obiettivo lineare, e se si può dimostrare che si tratta non di un embedding matroide, allora avete dimostrato che non può essere risolto con avidità, anche se si rifugio' non sono riuscito a trovare un contro-esempio. (Anche se sospetto che trovare un contro-esempio sarebbe un po 'più semplice.)

Questo approccio non è del tutto privo di problemi, suppongo. Come dici tu, l'idea generale dell'avidità è piuttosto informale e potrebbe essere possibile modificarla in modo tale che il formalismo dei sistemi di insiemi ponderati linearmente non si applichi.


10

Sì, c'è un tale lavoro. Allan Borodin con i coautori ha sviluppato una teoria in cui formalizzano la nozione di avidità e ottengono risultati che possono essere raggiunti rapporti di approssimazione con loro. Introducono una classe di algoritmi prioritari, che generalizza algoritmi avidi. Il loro primo lavoro su questo argomento è il documento " Algoritmi prioritari (incrementali) ".

1+ε

Per ivotron: se non intendevi la mia prima interpretazione, eliminerò questa risposta.


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.