Quanto sono fondamentali i matroidi e i greedoidi nella progettazione di algoritmi?


23

Inizialmente, matroidi sono state introdotte per generalizzare i concetti di indipendenza lineare di una collezione di sottoinsiemi su un terreno impostato . Alcuni problemi che contengono questa struttura consentono agli algoritmi golosi di trovare soluzioni ottimali. Il concetto di greedoids è stato successivamente introdotto per generalizzare questa struttura per catturare più problemi che consentono di trovare soluzioni ottimali con metodi avidi.Eio

Con quale frequenza nascono queste strutture nella progettazione di algoritmi?

Inoltre, molto spesso un algoritmo avido non sarà in grado di catturare completamente ciò che è necessario per trovare soluzioni ottimali, ma può comunque trovare soluzioni approssimative molto buone (Bin Packing, ad esempio). Detto questo, c'è un modo per misurare quanto "vicino" un problema è un avidoideo o un matroid?

Risposte:


18

È difficile rispondere alla domanda "con che frequenza". Ma come per tutte le "strutture sottostanti", il vantaggio deriva dal riconoscere che il problema sottostante che si sta cercando di risolvere ha una struttura matroid (o greedoid). Non sono solo problemi matroidi. Il problema dell'intersezione matroide ha un modello specifico (corrispondenza bipartita).

Nick Harvey ha svolto la sua tesi di dottorato abbastanza recentemente su algoritmi per problemi matroidi e ha anche esaminato l'ottimizzazione della funzione sottomodulare (che generalizza i problemi matroidi). Leggere l'introduzione e lo sfondo della tesi potrebbe essere utile.


4
Voglio solo aggiungere una nota relativa alla "vicinanza". Se un algoritmo avido fornisce un'approssimazione k, il problema può essere strutturato come un k-matroid.
Nicholas Mancuso,

+1. Bella risposta. Mi chiedo perché la tesi affermi che una funzione sottomodulare sia una generalizzazione o un abstract di un matroid? L'unica connessione che posso trovare tra i due è il grado di un sottomatroid su un sottoinsieme è una funzione sottomodulare.
Tim

2
C'è una connessione geometrica molto elegante. Per capirlo meglio, dai un'occhiata a en.wikipedia.org/wiki/Polymatroid . All'incirca, se il politopo associato a una funzione sottomodulare ha proprietà specifiche, allora si ottiene un matroid. Per ulteriori informazioni, vedi il libro di Satoru Fujishige: kurims.kyoto-u.ac.jp/~fujishig/Book1a.html
Suresh

4
Come indicato in CLRS (pagina 437 della 3a edizione), la teoria matroid non copre il problema di selezione delle attività e il problema di codifica di Huffman. La teoria dei greedoid li copre?
hengxin,
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.