Randomizza o no?


17

Questa domanda è ispirata alla maglietta del Georgia Tech Algorithms and Randomness Center , che chiede "Randomize or no ?!"

Ci sono molti esempi in cui la randomizzazione aiuta, specialmente quando si opera in ambienti contraddittori. Ci sono anche alcune impostazioni in cui la randomizzazione non aiuta o fa male. La mia domanda è:

Quali sono alcune impostazioni quando la randomizzazione (in un modo apparentemente ragionevole) fa davvero male?

Sentiti libero di definire "impostazioni" e "male" in senso lato, sia in termini di complessità del problema, garanzie dimostrabili, rapporti di approssimazione o tempo di esecuzione (mi aspetto che il tempo di esecuzione sia dove risiederanno le risposte più ovvie). Più interessante è l'esempio, meglio è!


1
Downvoted. Questa domanda mi sembra una domanda sulla retorica perché il focus della domanda sembra essere come argomentare che un fatto particolare può essere indicato come "male randomizzante".
Tsuyoshi Ito

1
Giusto. Ma lascia che ti dia un esempio di ciò che avevo in mente. Supponiamo che abbiamo un algoritmo di apprendimento che ha azioni che può intraprendere e, nella fase di apprendimento, li porta in giro. Supponiamo che abbia qualche garanzia. Ora, diciamo, consideriamo invece di prendere le azioni in modo uniforme e scoprire che la garanzia è persa. Difficile sostenere che questo non è un esempio di "ferimento" randomizzato. E sentiti libero di definire "male" per te stesso! Anche se questo potrebbe far parte delle tue critiche ...
Lev Reyzin

6
lascialo giocare: forse avremo una discussione interessante. Conosco almeno un caso in cui la semplice strategia randomizzata è in realtà peggiore di un attento algoritmo deterministico
Suresh Venkat,

1
Il motivo per cui non mi piace questa domanda, come è affermato, è probabilmente perché mi aspetto che le risposte più votate saranno “interessanti” solo nelle loro interpretazioni della domanda. La domanda sembra incoraggiare interpretazioni creative e retoriche. Se questo non è quello che vuoi e puoi pensare a un modo migliore per formulare la domanda, per favore rivedi (ma non riesco a pensare a nessuno).
Tsuyoshi Ito,

2
Eek Non mi aspettavo che questa domanda fosse così controversa :) Comunque non mi dispiace interpretazioni interessanti! Immagino che dovremo essere in disaccordo in questo. A proposito se la vaghezza della domanda è fastidiosa, non mi dispiace affatto @Suresh che la rende una CW ...
Lev Reyzin

Risposte:


25

Ecco un semplice esempio dalla teoria dei giochi. Nei giochi in cui esistono equilibri di Nash sia puri che misti, quelli misti sono spesso molto meno naturali e molto "peggio".

Ad esempio, considera un semplice gioco di palline e bidoni: ci sono n bidoni e n palline (giocatori). Ogni giocatore può scegliere un cestino e incorre in un costo pari al numero di persone nel proprio cestino. Il puro equilibrio di Nash fa in modo che ognuno scelga un cestino unico e nessuno incorre in un costo superiore a 1. Tuttavia, esiste un equilibrio misto di Nash in cui ognuno sceglie casualmente un cestino, e quindi con alta probabilità, ci sarà un cestino con ~ persone. Poiché OPT è 1, ciò significa che (se ciò che ci interessa è il costo massimo del giocatore), se la randomizzazione non è consentita, il prezzo dell'anarchia è 1. Ma se la randomizzazione è consentita, cresce senza limiti con il numero di giocatori nel gioco.log(n)/loglog(n)

Il messaggio da asporto: la randomizzazione può danneggiare il coordinamento.


1
cool - Mi piace questa interpretazione di palle e bidoni come una partita a 2 giocatori. Questo è il tipo di risposta che avevo in mente!
Lev Reyzin

1
Talvolta viene discusso nella sua forma mascherata come "il gioco di bilanciamento del carico su macchine identiche" :-)
Aaron Roth

13

Ecco un semplice esempio dal campo degli algoritmi distribuiti.

Tipicamente la casualità aiuta enormemente. Gli algoritmi distribuiti randomizzati sono spesso più facili da progettare e sono più veloci.

Tuttavia, se si dispone di un algoritmo distribuito deterministico rapido , è possibile convertirlo meccanicamente [ 1 , 2 ] in un algoritmo auto-stabilizzante rapido . In sostanza, otterrai gratuitamente una versione molto forte della tolleranza agli errori (almeno se la risorsa del collo di bottiglia è il numero di round di comunicazione). Puoi semplificare la progettazione del tuo algoritmo concentrandoti su reti statiche sincrone prive di errori e la conversione ti fornirà un algoritmo tollerante ai guasti in grado di gestire reti dinamiche asincrone.

Nessuna conversione di questo tipo è nota per gli algoritmi distribuiti randomizzati in generale.


6

Consentitemi innanzitutto di risolvere un problema relativo alla casualità:

Esiste casualità nell'universo o tutto è deterministico?

Questa è una domanda filosofica che è sia controversa che estranea al contesto qui. Eppure l'ho usato come avvertimento, poiché la risposta imminente sarà controversa se si scava troppo in profondità nella domanda di cui sopra.


Il teorema di Shannon – Hartley descrive il capacità di un canale di comunicazione in presenza di rumore. Il rumore cambia da 0s a 1s e viceversa, con alcune probabilità predefinite.

Se il canale si comportasse in modo deterministico --- Cioè, se potessimo modellare il rumore in modo da poter determinare quali bit sarebbero cambiati --- La capacità del canale sarebbe infinitamente grande. Molto desiderabile!

Mi piace analogizzare la casualità con l'attrito: resiste al movimento, ma il movimento è impossibile senza di esso.

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.