Arrotondamento randomizzato - Randomized rounding

All'interno dell'informatica e della ricerca operativa , molti problemi di ottimizzazione combinatoria sono computazionalmente intrattabili da risolvere esattamente (fino all'ottimalità). Molti di questi problemi ammettono algoritmi di approssimazione veloce ( tempo polinomiale ) , ovvero algoritmi che sono garantiti per restituire una soluzione approssimativamente ottimale dato qualsiasi input.

L'arrotondamento randomizzato ( Raghavan & Tompson 1987 ) è un approccio ampiamente utilizzato per la progettazione e l'analisi di tali algoritmi di approssimazione . L'idea di base è usare il metodo probabilistico per convertire una soluzione ottima di un rilassamento del problema in una soluzione approssimativamente ottima del problema originale.

Panoramica

L'approccio di base prevede tre passaggi:

  1. Formulare il problema da risolvere come programma lineare intero (ILP).
  2. Calcolare una soluzione frazionaria ottimale per il rilassamento della programmazione lineare (LP) dell'ILP.
  3. Arrotondare la soluzione frazionaria di LP a una soluzione intera di ILP.

(Sebbene l'approccio sia più comunemente applicato con programmi lineari, a volte vengono utilizzati altri tipi di rilassamenti. Ad esempio, vedere l' algoritmo di approssimazione Max-Cut basato sulla programmazione semidefinita di Goemans e Williamson .)

La sfida nella prima fase consiste nello scegliere un programma lineare intero adatto. È richiesta la familiarità con la programmazione lineare, in particolare la familiarità con la modellazione di problemi utilizzando programmi lineari e programmi lineari interi. Ma, per molti problemi, esiste un programma lineare intero naturale che funziona bene, come nell'esempio Set Cover di seguito. (Il programma lineare intero dovrebbe avere un piccolo gap di integralità ; infatti l'arrotondamento randomizzato è spesso usato per dimostrare i limiti sui gap di integralità.)

Nella seconda fase, la soluzione frazionaria ottimale può essere tipicamente calcolata in tempo polinomiale utilizzando qualsiasi algoritmo di programmazione lineare standard .

Nella terza fase, la soluzione frazionaria deve essere convertita in una soluzione intera (e quindi una soluzione del problema originale). Questo è chiamato arrotondamento della soluzione frazionaria. La soluzione intera risultante dovrebbe (provabilmente) avere un costo non molto maggiore del costo della soluzione frazionaria. Ciò assicurerà che il costo della soluzione intera non sia molto maggiore del costo della soluzione intera ottimale.

La tecnica principale utilizzata per eseguire il terzo passaggio (arrotondamento) consiste nell'utilizzare la randomizzazione, quindi utilizzare argomenti probabilistici per vincolare l'aumento di costo dovuto all'arrotondamento (seguendo il metodo probabilistico della combinatoria). Lì, vengono utilizzati argomenti probabilistici per mostrare l'esistenza di strutture discrete con proprietà desiderate. In questo contesto, si usano tali argomenti per mostrare quanto segue:

Data una qualsiasi soluzione frazionaria del PL, con probabilità positiva il processo di arrotondamento randomizzato produce una soluzione intera che si approssima secondo qualche criterio voluto.

Infine, per rendere computazionalmente efficiente il terzo passaggio, si mostra che si approssima con alta probabilità (in modo che il passaggio possa rimanere randomizzato) o si dedomizza il passaggio di arrotondamento, tipicamente utilizzando il metodo delle probabilità condizionate . Quest'ultimo metodo converte il processo di arrotondamento randomizzato in un efficiente processo deterministico che garantisce il raggiungimento di un buon risultato.

Confronto con altre applicazioni del metodo probabilistico

La fase di arrotondamento randomizzato differisce dalla maggior parte delle applicazioni del metodo probabilistico per due aspetti:

  1. La complessità computazionale della fase di arrotondamento è importante. Dovrebbe essere implementabile da un veloce (per esempio un tempo polinomiale ) algoritmo .
  2. La distribuzione di probabilità alla base dell'esperimento casuale è funzione della soluzione di un rilassamento dell'istanza del problema. Questo fatto è cruciale per dimostrare la garanzia di prestazione dell'algoritmo di approssimazione --- cioè, che per ogni istanza del problema, l'algoritmo restituisce una soluzione che approssima la soluzione ottima per quella specifica istanza . In confronto, le applicazioni del metodo probabilistico in combinatoria mostrano tipicamente l'esistenza di strutture le cui caratteristiche dipendono da altri parametri dell'input. Ad esempio, considera il teorema di Turán , che può essere affermato come "qualsiasi grafo con vertici di grado medio deve avere almeno un insieme indipendente di dimensioni . (Vedi questo per una prova probabilistica del teorema di Turán ). Mentre ci sono grafici per i quali questo limite è stretto, ci sono anche grafi che hanno insiemi indipendenti molto più grandi di .Quindi, la dimensione dell'insieme indipendente mostrato esistere dal teorema di Turán in un grafo può, in generale, essere molto più piccola dell'insieme indipendente massimo per quel grafo.

Imposta esempio di copertina

L'esempio seguente illustra come l'arrotondamento casuale può essere utilizzato per progettare un algoritmo di approssimazione per il problema Set Cover .

Correggi qualsiasi istanza di set cover su un universo .

Per il passaggio 1, sia IP il programma lineare intero standard per impostare la copertura per questa istanza.

Per il passaggio 2, sia LP il rilassamento della programmazione lineare di IP e calcolare una soluzione ottimale per LP utilizzando qualsiasi algoritmo di programmazione lineare standard . (Ci vuole tempo polinomiale nella dimensione di input.)

(Le soluzioni ammissibili di LP sono i vettori che assegnano ad ogni insieme un peso non negativo , tale che, per ogni elemento , copre -- il peso totale assegnato agli insiemi che contengono è almeno 1, cioè,

La soluzione ottima è una soluzione ammissibile il cui costo

è il più piccolo possibile.)


Nota che qualsiasi set di copertura per fornisce una soluzione fattibile (dove per , altrimenti). Il costo di questo è uguale al costo di , cioè

In altre parole, il programma lineare LP è un rilassamento del dato problema di set-cover.

Poiché ha un costo minimo tra le soluzioni possibili per il LP, il costo di è un limite inferiore al costo della copertura dell'insieme ottimale .

Passaggio 3: il passaggio dell'arrotondamento casuale

Ecco una descrizione della terza fase: la fase di arrotondamento, che deve convertire la copertura dell'insieme frazionario di costo minimo in una soluzione intera ammissibile (corrispondente a una copertura dell'insieme vero).

La fase di arrotondamento dovrebbe produrre un valore che, con probabilità positiva, ha un costo entro un piccolo fattore del costo di . Quindi (poiché il costo di è un limite inferiore del costo della copertura dell'insieme ottimale), il costo di sarà entro un piccolo fattore del costo ottimale.

Come punto di partenza, considera lo schema di arrotondamento più naturale:

Per ogni insieme a sua volta, prendi con probabilità , altrimenti prendi .

Con questo schema di arrotondamento, il costo previsto dei set scelti è al massimo il costo della copertura frazionata. Questo è buono. Purtroppo la copertura non è buona. Quando le variabili sono piccole, la probabilità che un elemento non sia coperto è di circa

Quindi solo una frazione costante degli elementi sarà coperta nell'aspettativa.

Per coprire ogni elemento con alta probabilità, lo schema di arrotondamento standard prima aumenta le probabilità di arrotondamento di un fattore appropriato . Ecco lo schema di arrotondamento standard:

Fissa un parametro . Per ogni set a turno,
prendi con probabilità , altrimenti prendi .

Aumentare le probabilità di aumenta il costo previsto di , ma rende probabile la copertura di tutti gli elementi. L'idea è di scegliere il più piccolo possibile in modo che tutti gli elementi siano coperti in modo dimostrabile con probabilità diversa da zero. Ecco un'analisi dettagliata.


Lemma (garanzia di approssimazione per schema di arrotondamento)

Correggi . Con probabilità positiva, lo schema di arrotondamento restituisce al massimo una copertura fissa di costo (e quindi di costo moltiplicato per il costo della copertura fissa ottimale).

(Nota: con cautela si può ridurre a .)

Prova

L'output dello schema di arrotondamento casuale ha le proprietà desiderate purché non si verifichi nessuno dei seguenti eventi "cattivi":

  1. il costo di supera , o
  2. per alcuni elementi , non riesce a coprire .

L'aspettativa di ciascuno è al massimo . Per linearità dell'aspettativa , l'aspettativa di è al massimo . Quindi, per la disuguaglianza di Markov , la probabilità del primo evento negativo di cui sopra è al massimo .

Per i rimanenti eventi negativi (uno per ogni elemento ), si noti che, poiché per ogni dato elemento , la probabilità che non viene coperta è

(Questo usa la disuguaglianza , che è rigorosa per .)

Pertanto, per ciascuno degli elementi, la probabilità che l'elemento non sia coperto è inferiore a .

Per l' ingenua unione vincolata , la probabilità che si verifichi uno degli eventi negativi è inferiore a . Quindi, con probabilità positiva non ci sono eventi negativi ed è al massimo una copertura fissa del costo . QED

Derandomizzazione con il metodo delle probabilità condizionate

Il lemma sopra mostra l' esistenza di una copertura fissa del costo ). In questo contesto il nostro obiettivo è un algoritmo di approssimazione efficiente, non solo una prova di esistenza, quindi non abbiamo finito.

Un approccio sarebbe quello di aumentare un po', quindi mostrare che la probabilità di successo è almeno, diciamo, 1/4. Con questa modifica, è sufficiente ripetere il passaggio di arrotondamento casuale alcune volte per garantire un esito positivo con alta probabilità.

Tale approccio indebolisce il rapporto di approssimazione. Successivamente descriviamo un approccio diverso che produce un algoritmo deterministico che è garantito per corrispondere al rapporto di approssimazione della prova di esistenza sopra. L'approccio è chiamato il metodo delle probabilità condizionate .

L'algoritmo deterministico emula lo schema di arrotondamento randomizzato: considera a turno ogni insieme e sceglie . Ma invece di fare ogni scelta casualmente basata su , fa la scelta in modo deterministico , in modo da mantenere la probabilità condizionata di fallimento, date le scelte finora, al di sotto di 1 .

Limitare la probabilità condizionata di fallimento

Vogliamo essere in grado di impostare ciascuna variabile a turno in modo da mantenere la probabilità condizionata di fallimento al di sotto di 1. Per fare ciò, abbiamo bisogno di un buon limite alla probabilità condizionata di fallimento. Il limite verrà perfezionando la prova di esistenza originale. Tale prova limita implicitamente la probabilità di fallimento dall'aspettativa della variabile casuale

,

dove

è l'insieme degli elementi lasciati scoperti alla fine.

La variabile casuale può sembrare un po' misteriosa, ma rispecchia la prova probabilistica in modo sistematico. Il primo termine in deriva dall'applicazione della disuguaglianza di Markov per limitare la probabilità del primo evento negativo (il costo è troppo alto). Contribuisce almeno 1 a se il costo di è troppo alto. Il secondo termine conta il numero di eventi negativi del secondo tipo (elementi scoperti). Contribuisce almeno 1 a se lascia scoperto un elemento. Quindi, in ogni risultato in cui è minore di 1, deve coprire tutti gli elementi e avere un costo che soddisfi il limite desiderato dal lemma. In breve, se il passaggio di arrotondamento fallisce, allora . Ciò implica (per la disuguaglianza di Markov ) che è un limite superiore alla probabilità di fallimento. Si noti che l'argomento di cui sopra è già implicito nella dimostrazione del lemma, che mostra anche per calcolo che .

Per applicare il metodo delle probabilità condizionate, è necessario estendere l'argomento per limitare la probabilità condizionata di fallimento man mano che procede l'arrotondamento. Di solito, questo può essere fatto in modo sistematico, anche se può essere tecnicamente noioso.

Quindi, che dire della probabilità condizionata di fallimento mentre il passaggio di arrotondamento scorre gli insiemi? Poiché in ogni risultato in cui l'arrotondamento fallisce, per la disuguaglianza di Markov , la probabilità condizionata di fallimento è al massimo l' aspettativa condizionata di .

Successivamente calcoliamo l'aspettativa condizionata di , proprio come abbiamo calcolato l'aspettativa incondizionata di nella dimostrazione originale. Considera lo stato del processo di arrotondamento alla fine di alcune iterazioni . Lasciate indicare i set considerate finora (i primi set in ). Puoi indicare il (parzialmente assegnato) vettore (quindi è determinato solo se ). Per ogni set , lasciare che denotano la probabilità con cui verrà impostato su 1. Sia contenere gli elementi non ancora coperti. Allora l'aspettativa condizionata di , date le scelte fatte finora, cioè date , è

Nota che viene determinato solo dopo l'iterazione .

Mantenere la probabilità condizionata di fallimento al di sotto di 1

Per mantenere la probabilità condizionata di fallimento inferiore a 1, è sufficiente mantenere l'aspettativa condizionata inferiore a 1. Per fare ciò, è sufficiente mantenere l'aspettativa condizionata di dall'aumento. Questo è ciò che farà l'algoritmo. Verrà impostato in ogni iterazione per garantire che

(dove ).

Nel esima iterazione, come può l'insieme di algoritmi per garantire che ? Si scopre che può semplicemente essere impostato in modo da ridurre al minimo il valore risultante di .

Per capire perché, concentrati sul momento in cui inizia l' iterazione . In quel momento, è determinato, ma non è ancora determinato --- può assumere due possibili valori a seconda di come è impostato nell'iterazione . Lasciate che denotano il valore di . Siano e , denotano i due possibili valori di , a seconda che sia impostato rispettivamente su 0 o 1. Per definizione di aspettativa condizionata,

Poiché una media ponderata di due quantità è sempre almeno il minimo di queste due quantità, ne segue che

Pertanto, l'impostazione in modo da ridurre al minimo il valore risultante di garantirà che . Questo è ciò che farà l'algoritmo.

In dettaglio, cosa significa questo? Considerata in funzione di (con tutte le altre quantità fissate) è una funzione lineare di , e il coefficiente di in tale funzione è

Pertanto, l'algoritmo dovrebbe essere impostato su 0 se questa espressione è positiva e su 1 in caso contrario. Questo dà il seguente algoritmo.

Algoritmo di arrotondamento casuale per set cover set

input: sistema di insieme , universo , vettore di costo

output: set cover (una soluzione al programma lineare intero standard per set cover)


  1. Calcolare una copertura dell'insieme frazionario di costo minimo (una soluzione ottimale per il rilassamento LP).
  2. Lascia . Lascia per ciascuno .
  3. Per ogni fare:
    1. Lascia . ( contiene gli insiemi non ancora decisi.)
    2. Se   
      quindi impostare ,
      altrimenti impostare e .
        ( contiene gli elementi non ancora coperti.)
  4. Ritorno .

lemma (garanzia di approssimazione per algoritmo)

L'algoritmo di cui sopra restituisce un insieme di copertura del costo al massimo delle volte il costo minimo di qualsiasi copertura (frazionaria) dell'insieme.

prova


L'algoritmo garantisce che l'aspettativa condizionale di , , non aumenti ad ogni iterazione. Poiché questa aspettativa condizionale è inizialmente inferiore a 1 (come mostrato in precedenza), l'algoritmo assicura che l'aspettativa condizionale rimanga inferiore a 1. Poiché la probabilità condizionata di fallimento è al massimo l'aspettativa condizionata di , in questo modo l'algoritmo assicura che la probabilità condizionata di fallimento rimane inferiore a 1. Quindi, alla fine, quando tutte le scelte sono state determinate, l'algoritmo raggiunge un esito positivo. Cioè, l'algoritmo di cui sopra restituisce una copertura di costo fissa al massimo delle volte il costo minimo di qualsiasi copertura di insieme (frazionaria).

Osservazioni

Nell'esempio sopra, l'algoritmo è stato guidato dall'aspettativa condizionale di una variabile casuale . In alcuni casi, invece di un'aspettativa condizionale esatta, viene utilizzato un limite superiore (o talvolta un limite inferiore) su alcune aspettative condizionali. Questo è chiamato stimatore pessimistico .

Guarda anche

Riferimenti

Ulteriori letture