Cos'è un algoritmo di approssimazione bicriteria?


11

Cos'è un algoritmo di approssimazione bicriteria? Questo continua ad emergere nel caso del clustering del flusso di dati. Questo è legato all'ottimizzazione multi-obiettivo?

È qui che l'ho trovato: cis.upenn.edu/~sudipto/mypapers/datastream.pdf. L'articolo parla di una versione in streaming dell'algoritmo k-mean. Ci sono riferimenti nel documento ma nessuno di essi fornisce una spiegazione su cosa sia un algoritmo di approssimazione bicriteria. Non riesco a trovare nulla su Google che mi dia una definizione precisa.


1
Non lo so. Dove l'hai visto riferito? Puoi fornire un link e una citazione precisa a una o più fonti che utilizzano questa terminologia? Dal nome, suona come un'ottimizzazione multi-obiettivo (con due funzioni oggettive), ma può essere difficile da dire senza ulteriore contesto. Inoltre, quale ricerca hai fatto? Hai cercato su Google?
DW

Ti suggerisco di modificare la domanda. Le domande sono attese per conto proprio; le persone dovrebbero essere in grado di capire tutto ciò che devono sapere leggendo solo la domanda stessa, non i commenti. I commenti esistono solo per aiutarti a migliorare la domanda. Puoi fare clic sul pulsante "modifica" sotto la tua domanda per migliorarla. PS Ti consiglio di rispondere anche alle mie altre domande. Che ricerca hai fatto? (Su questo sito, ci aspettiamo che tu faccia qualche ricerca per conto tuo prima di chiedere qui.)
DW

Risposte:


11

Espanderò la risposta di Yuval Filmus fornendo un'interpretazione basata su problemi di ottimizzazione multi-obiettivo .

Ottimizzazione e approssimazione di un singolo obiettivo

In informatica studiamo spesso problemi di ottimizzazione con un unico obiettivo (ad esempio, minimizzare f ( x ) soggetto a qualche vincolo). Nel dimostrare, per esempio, la completezza NP, è comune considerare il corrispondente problema di bilancio . Ad esempio, nel problema massimo della cricca, l'obiettivo è massimizzare la cardinalità della cricca e il problema di bilancio è il problema di decidere se esiste una cricca di dimensioni almeno k , dove k viene fornito come parte dell'input per il problema.

Quando non è possibile calcolare una soluzione ottimale in modo efficiente, come nel caso del massimo problema di cricca, cerchiamo un algoritmo di approssimazione , una funzione che genera una soluzione all'interno di un fattore moltiplicativo di una soluzione ottimale. Si potrebbe anche considerare un algoritmo di approssimazione per il problema di budget, una funzione che genera una soluzione che soddisfa f ( x ) ≥ ck nel caso di un problema di massimizzazione, dove c è un numero inferiore a uno. In questa situazione, la soluzione può violare il vincolo rigido f ( x ) ≥ k , ma la "gravità" della violazione delimitata da c .

Ottimizzazione multi-obiettivo e approssimazione bi-criterio

In alcuni casi, potresti voler ottimizzare due obiettivi contemporaneamente. Per un esempio approssimativo, potrei voler massimizzare le mie "entrate" riducendo al minimo il mio "costo". In una situazione del genere, non esiste un singolo valore ottimale, in quanto esiste un compromesso tra i due obiettivi; per ulteriori informazioni, consultare l'articolo di Wikipedia sull'efficienza di Pareto .

Un modo per trasformare un problema di ottimizzazione a due obiettivi in ​​un problema di ottimizzazione a obiettivo singolo (per il quale possiamo ragionare sul valore ottimale della funzione obiettivo) è quello di considerare i due problemi di vincolo , uno per ciascun obiettivo. Se il problema è massimizzare contemporaneamente f ( x ) mentre si minimizza g ( x ), il primo problema del vincolo è minimizzare g ( x ) soggetto al vincolo f ( x ) ≥ k , dove k viene dato come parte dell'input a questo problema di ottimizzazione a obiettivo singolo. Il secondo problema di vincolo è definito in modo simile.

Un algoritmo di approssimazione ( α , β ) - bicriteria per il primo problema di vincolo è una funzione che accetta un parametro di budget k come input e genera una soluzione x tale che

  • f(X)αK
  • g(X)βg(X*)

X*

  • f(X)αf(X*)
  • g(X)β

In altre parole, l'algoritmo di approssimazione bicriteria è contemporaneamente una approssimazione per il problema di bilancio nel primo obiettivo e il problema di ottimizzazione nel secondo obiettivo. (Questa definizione è stata adattata dalla pagina quattro di " Ottimizzazione sottomodulare con copertura sottomodulare e vincoli zaino sottomarino ", di Iyer e Bilmes, 2013.)

Le disuguaglianze cambiano direzione quando gli obiettivi passano dal massimo al minimo o viceversa.


6

KρKV1,...,VKρE(V1,...,VK)ρ

f(n),g(n)1f(n),g(n)V1,...,VKf(n)ρg(n)OPTOPTρ

In altre parole, un algoritmo di approssimazione bicriteria raggiunge un certo rapporto di approssimazione violando alcuni vincoli di un certo limite. Per un esempio di algoritmo di approssimazione bicriteria per il problema appena descritto, vedere questo articolo dei fratelli Makarychev.

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.