Articulo de referencia

Redondeo aleatorio

En ciencias de la computación e investigación operativa , el redondeo aleatorio [ 1 ] es un enfoque ampliamente utilizado para diseñar y analizar algoritmos de aproximación . [ ...

En ciencias de la computación e investigación operativa , el redondeo aleatorio [ 1 ] es un enfoque ampliamente utilizado para diseñar y analizar algoritmos de aproximación . [ 2 ] [ 3 ]

Muchos problemas de optimización combinatoria son computacionalmente intratables para resolverlos de forma exacta (óptima). Para estos problemas, se puede utilizar el redondeo aleatorio para diseñar algoritmos de aproximación rápidos ( de tiempo polinomial ) , es decir, algoritmos que garantizan una solución aproximadamente óptima para cualquier entrada.

La idea básica del redondeo aleatorio es convertir una solución óptima de una relajación del problema en una solución aproximadamente óptima del problema original. El algoritmo resultante se suele analizar mediante el método probabilístico .

Descripción general

El método básico consta de tres pasos:

  1. Formule el problema a resolver como un programa lineal entero (PLI).
  2. Calcular una solución fraccionaria óptimaincógnita{\displaystyle x}a la relajación de programación lineal (PL) del PLI.
  3. Redondea la solución fraccionariaincógnita{\displaystyle x}del LP a una solución enteraincógnita{\displaystyle x'}del ILP.

(Aunque este método se aplica con mayor frecuencia a programas lineales, a veces se utilizan otros tipos de relajaciones. Por ejemplo, véase el algoritmo de aproximación de corte máximo de Goemans y Williamson , que se basa en un programa semidefinido que puede derivarse del primer nivel de la jerarquía de suma de cuadrados ).

En primer lugar, el reto consiste en elegir un programa lineal entero adecuado. Es necesario tener conocimientos de programación lineal, en particular de modelado mediante programas lineales y programas lineales enteros. Para muchos problemas, existe un programa lineal entero natural que funciona bien, como en el ejemplo de cobertura de conjuntos que se muestra a continuación. (El programa lineal entero debe tener una pequeña brecha de integralidad ; de hecho, el redondeo aleatorio se utiliza a menudo para demostrar límites en las brechas de integralidad).

En el segundo paso, la solución fraccionaria óptima se puede calcular normalmente en tiempo polinomial utilizando cualquier algoritmo de programación lineal estándar .

En el tercer paso, la solución fraccionaria debe convertirse en una solución entera (y, por lo tanto, en una solución al problema original). Esto se denomina redondeo de la solución fraccionaria. La solución entera resultante debería tener un costo (demostrable) no mucho mayor que el de la solución fraccionaria. Esto garantizará que el costo de la solución entera no sea mucho mayor que el de la solución entera óptima.

La técnica principal empleada para el tercer paso (redondeo) consiste en utilizar la aleatorización y, posteriormente, argumentos probabilísticos para acotar el incremento de coste derivado del redondeo (siguiendo el método probabilístico de la combinatoria). En este método, se emplean argumentos probabilísticos para demostrar la existencia de estructuras discretas con las propiedades deseadas. En este contexto, dichos argumentos se utilizan para demostrar lo siguiente:

Dada cualquier solución fraccionariaincógnita{\displaystyle x}del LP, con probabilidad positiva el proceso de redondeo aleatorio produce una solución enteraincógnita{\displaystyle x'}que se aproximaincógnita{\displaystyle x}según algún criterio deseado.

Finalmente, para que el tercer paso sea computacionalmente eficiente, se demuestra queincógnita{\displaystyle x'}aproximacionesincógnita{\displaystyle x}con alta probabilidad (de modo que el paso pueda permanecer aleatorio) o se elimina la aleatoriedad del paso de redondeo, generalmente mediante el método de probabilidades condicionales . Este último método convierte el proceso de redondeo aleatorio en un proceso determinista eficiente que garantiza un buen resultado.

Ejemplo: el problema de la cobertura de conjuntos

El siguiente ejemplo ilustra cómo se puede utilizar el redondeo aleatorio para diseñar un algoritmo de aproximación para el problema de cobertura de conjuntos . Fije cualquier instanciado,S{\displaystyle \langle c,{\mathcal {S}}\rangle }de cubrir un universoU{\displaystyle {\mathcal {U}}}.

Calculando la solución fraccionaria

Para el paso 1 , sea IP el programa lineal entero estándar para la cobertura de conjuntos para esta instancia.

Para el paso 2 , sea LP la relajación de programación lineal de IP, y calcule una solución óptima.incógnita{\displaystyle x^{*}}a LP utilizando cualquier algoritmo estándar de programación lineal . Esto toma un tiempo polinomial en el tamaño de la entrada. Las soluciones factibles a LP son los vectoresincógnita{\displaystyle x}que asignan cada conjuntosS{\displaystyle s\in {\mathcal {S}}}un peso no negativoincógnitas{\displaystyle x_{s}}, de tal manera que, para cada elementomiU{\displaystyle e\in {\mathcal {U}}},incógnita{\displaystyle x'}cubiertasmi{\displaystyle e}—el peso total asignado a los conjuntos que contienenmi{\displaystyle e}es al menos 1, es decir,

smiincógnitas1.{\displaystyle \sum _ {s\ni e}x_ {s}\geq 1.}

La solución óptimaincógnita{\displaystyle x^{*}}es una solución factible cuyo costo

sSdo(S)incógnitas{\displaystyle \sum _{s\in {\mathcal {S}}}c(S)x_{s}^{*}}

es lo más pequeño posible. Tenga en cuenta que cualquier conjunto cubredo{\displaystyle {\mathcal {C}}}paraS{\displaystyle {\mathcal {S}}}proporciona una solución factibleincógnita{\displaystyle x}(dóndeincógnitas=1{\displaystyle x_{s}=1}parasdo{\displaystyle s\in {\mathcal {C}}},incógnitas=0{\displaystyle x_{s}=0}de lo contrario). El costo de estodo{\displaystyle {\mathcal {C}}}iguala el costo deincógnita{\displaystyle x}, eso es,

sdodo(s)=sSdo(s)incógnitas.{\displaystyle \sum _{s\in {\mathcal {C}}}c(s)=\sum _{s\in {\mathcal {S}}}c(s)x_{s}.}

En otras palabras, el programa lineal LP es una relajación del problema de cobertura de conjuntos dado.

Desdeincógnita{\displaystyle x^{*}}tiene el costo mínimo entre las soluciones factibles para el LP, el costo deincógnita{\displaystyle x^{*}}es un límite inferior del coste de la cobertura de conjunto óptima .

Paso de redondeo aleatorio

En el paso 3 , debemos convertir la cobertura de conjunto fraccionaria de costo mínimo.incógnita{\displaystyle x^{*}}en una solución entera factibleincógnita{\displaystyle x'}(correspondiente a una verdadera cobertura de conjunto). El paso de redondeo debería producir unincógnita{\displaystyle x'}que, con probabilidad positiva, ha costado dentro de un pequeño factor del costo deincógnita{\displaystyle x^{*}}.Entonces (ya que el costo deincógnita{\displaystyle x^{*}}es un límite inferior en el costo de la cobertura del conjunto óptimo), el costo deincógnita{\displaystyle x'}estará dentro de un pequeño factor del costo óptimo.

Como punto de partida, considere el esquema de redondeo más natural:

Para cada conjuntosS{\displaystyle s\in {\mathcal {S}}}a su vez, tomeincógnitas=1{\displaystyle x'_{s}=1}con probabilidadmin(1,incógnitas){\displaystyle \min(1,x_{s}^{*})}, de lo contrario, tomeincógnitas=0{\displaystyle x'_{s}=0}.

Con este esquema de redondeo, el costo esperado de los conjuntos elegidos es como máximosdo(s)incógnitas{\displaystyle \sum _{s}c(s)x_{s}^{*}}, el costo de la cobertura fraccionaria. Esto es bueno. Desafortunadamente, la cobertura no es buena. Cuando las variablesincógnitas{\displaystyle x_{s}^{*}}son pequeños, la probabilidad de que un elementomi{\displaystyle e}no está cubierto es sobre

smi1incógnitassmiexp(incógnitas)=exp(smiincógnitas)exp(1).{\displaystyle \prod _{s\ni e}1-x_{s}^{*}\approx \prod _{s\ni e}\exp(-x_{s}^{*})=\exp {\Big (}-\sum _{s\ni e}x_{s}^{*}{\Big )}\approx \exp(-1).}

Por lo tanto, solo una fracción constante de los elementos estará cubierta en términos esperados.

Para hacerincógnita{\displaystyle x'}Para cubrir cada elemento con alta probabilidad, el esquema de redondeo estándar primero aumenta las probabilidades de redondeo por un factor apropiado.λ>1{\displaystyle \lambda >1}Aquí está el esquema de redondeo estándar:

Fijar un parámetroλ1{\displaystyle \lambda \geq 1}. Para cada conjuntosS{\displaystyle s\in {\mathcal {S}}}Sucesivamente,
llevarincógnitas=1{\displaystyle x'_{s}=1}con probabilidadmin(λincógnitas,1){\displaystyle \min(\lambda x_{s}^{*},1)}, de lo contrario, tomeincógnitas=0{\displaystyle x'_{s}=0}.

Aumentar las probabilidades medianteλ{\displaystyle \lambda }aumenta el costo esperado enλ{\displaystyle \lambda }pero hace probable la cobertura de todos los elementos. La idea es elegirλ{\displaystyle \lambda }lo más pequeño posible para que todos los elementos estén cubiertos con probabilidad distinta de cero. Aquí hay un análisis detallado.


Lema (garantía de aproximación para el esquema de redondeo)

Arreglarλ=ln(2|U|){\displaystyle \lambda =\ln(2|{\mathcal {U}}|)}Con probabilidad positiva, el esquema de redondeo devuelve una cobertura de conjunto.incógnita{\displaystyle x'}de costo como máximo2ln(2|U|)doincógnita{\displaystyle 2\ln(2|{\mathcal {U}}|)c\cdot x^{*}}(y por lo tanto de costo)O(registro|U|){\displaystyle O(\log |{\mathcal {U}}|)}veces el coste de la cobertura óptima del conjunto).

(Nota: con cuidado el O(registro|U|){\displaystyle O(\log |{\mathcal {U}}|)}puede reducirse aln(|U|)+O(registroregistro|U|){\displaystyle \ln(|{\mathcal {U}}|)+O(\log \log |{\mathcal {U}}|)}.)

Prueba

La salidaincógnita{\displaystyle x'}El esquema de redondeo aleatorio tiene las propiedades deseadas siempre que no ocurra ninguno de los siguientes eventos "malos":

  1. el costodoincógnita{\displaystyle c\cdot x'}deincógnita{\displaystyle x'}supera2λdoincógnita{\displaystyle 2\lambda c\cdot x^{*}}, o
  2. para algún elementomi{\displaystyle e},incógnita{\displaystyle x'}no logra cubrirmi{\displaystyle e}.

La expectativa de cada incógnitas{\displaystyle x'_{s}}es como máximoλincógnitas{\displaystyle \lambda x_{s}^{*}}. Por linealidad de la esperanza , la esperanza de doincógnita{\displaystyle c\cdot x'} es como máximosdo(s)λincógnitas=λdoincógnita{\displaystyle \sum _{s}c(s)\lambda x_{s}^{*}=\lambda c\cdot x^{*}}Por lo tanto, según la desigualdad de Markov , la probabilidad del primer evento malo mencionado anteriormente es como máximo1/2{\displaystyle 1/2}.

Para los eventos malos restantes (uno por cada elemento)mi{\displaystyle e}), tenga en cuenta que, dado quesmiincógnitas1{\displaystyle \sum _{s\ni e}x_{s}^{*}\geq 1}para cualquier elemento dadomi{\displaystyle e}, la probabilidad de quemi{\displaystyle e}no está cubierto es

smi(1min(λincógnitas,1))<smiexp(λincógnitas)=exp(λsmiincógnitas)exp(λ)=1/(2|U|).{\displaystyle {\begin{aligned}\prod _{s\ni e}{\big (}1-\min(\lambda x_{s}^{*},1){\big )}&<\prod _{s\ni e}\exp({-}\lambda x_{s}^{*})=\exp {\Big (}{-}\lambda \sum _{s\ni e}x_{s}^{*}{\Big )}\\&\leq \exp({-}\lambda )=1/(2|{\mathcal {U}}|).\end{aligned}}}

(Esto utiliza la desigualdad1+zmiz{\displaystyle 1+z\leq e^{z}}, que es estricto paraz0{\displaystyle z\neq 0}.)

Así, para cada uno de los|U|{\displaystyle |{\mathcal {U}}|}elementos, la probabilidad de que el elemento no esté cubierto es menor que1/(2U){\displaystyle 1/(2{\mathcal {U}})}.

Por el límite de unión , la probabilidad de que uno de los1+|U|{\displaystyle 1+|{\mathcal {U}}|}Los eventos malos ocurren con menos frecuencia que1/2+|U|/(2U)=1{\displaystyle 1/2+|{\mathcal {U}}|/(2{\mathcal {U}})=1}. Por lo tanto, con probabilidad positiva no hay eventos malos yincógnita{\displaystyle x'}es una cobertura fija de costo como máximo2λdoincógnita{\displaystyle 2\lambda c\cdot x^{*}}QED

Desaleatorización mediante el método de probabilidades condicionales

El lema anterior muestra la existencia de una cobertura de conjunto de costoO(registro(|U|)doincógnita{\displaystyle O(\log(|{\mathcal {U}}|)c\cdot x^{*}}). En este contexto, nuestro objetivo es un algoritmo de aproximación eficiente, no solo una prueba de existencia, por lo que aún no hemos terminado.

Un enfoque sería aumentarλ{\displaystyle \lambda } Un poco, y luego demostrar que la probabilidad de éxito es al menos, digamos, 1/4. Con esta modificación, repetir el paso de redondeo aleatorio unas cuantas veces es suficiente para garantizar un resultado exitoso con alta probabilidad.

Ese enfoque debilita la razón de aproximación. A continuación, describimos un enfoque diferente que produce un algoritmo determinista que garantiza que coincida con la razón de aproximación de la prueba de existencia anterior. Este enfoque se denomina método de probabilidades condicionales .

El algoritmo determinista emula el esquema de redondeo aleatorio: considera cada conjuntosS{\displaystyle s\in {\mathcal {S}}}a su vez, y eligeincógnitas{0,1}{\displaystyle x'_{s}\in \{0,1\}}. Pero en lugar de hacer cada elección al azar en función deincógnita{\displaystyle x^{*}}, toma la decisión de forma determinista , de manera que la probabilidad condicional de fallo, dadas las decisiones tomadas hasta ahora, se mantenga por debajo de 1 .

Limitar la probabilidad condicional de fallo

Queremos poder configurar cada variable.incógnitas{\displaystyle x'_{s}}a su vez, para mantener la probabilidad condicional de fallo por debajo de 1. Para ello, necesitamos una buena cota para la probabilidad condicional de fallo. La cota se obtendrá refinando la prueba de existencia original. Dicha prueba acota implícitamente la probabilidad de fallo mediante la esperanza de la variable aleatoria.

F=doincógnita2λdoincógnita+|U(metro)|{\displaystyle F={\frac {c\cdot x'}{2\lambda c\cdot x^{*}}}+|{\mathcal {U}}^{(m)}|},

dónde

U(metro)={mi:smi(1incógnitas)=1}{\displaystyle {\mathcal {U}}^{(m)}={\Big \{}e:\prod _{s\ni e}(1-x'_{s})=1{\Big \}}}

es el conjunto de elementos que quedan sin descubrir al final.

La variable aleatoriaF{\displaystyle F}Puede parecer un poco misterioso, pero refleja la prueba probabilística de forma sistemática. El primer término enF{\displaystyle F}Proviene de aplicar la desigualdad de Markov para acotar la probabilidad del primer evento malo (el costo es demasiado alto). Contribuye al menos 1 aF{\displaystyle F}si el costo deincógnita{\displaystyle x'}es demasiado alto. El segundo término cuenta el número de eventos malos del segundo tipo (elementos no cubiertos). Contribuye al menos con 1 aF{\displaystyle F}siincógnita{\displaystyle x'}deja cualquier elemento sin cubrir. Por lo tanto, en cualquier resultado dondeF{\displaystyle F}es menor que 1, incógnita{\displaystyle x'}debe cubrir todos los elementos y tener un costo que cumpla con el límite deseado del lema. En resumen, si el paso de redondeo falla, entoncesF1{\displaystyle F\geq 1}Esto implica (por la desigualdad de Markov ) que mi[F]{\displaystyle E[F]}es una cota superior de la probabilidad de fallo. Nótese que el argumento anterior ya está implícito en la demostración del lema, que también muestra mediante cálculo quemi[F]<1{\displaystyle E[F]<1}.

Para aplicar el método de probabilidades condicionales, necesitamos extender el argumento para acotar la probabilidad condicional de fallo a medida que avanza el redondeo. Por lo general, esto se puede hacer de forma sistemática, aunque puede resultar técnicamente laborioso.

Entonces, ¿qué ocurre con la probabilidad condicional de fallo a medida que el paso de redondeo itera a través de los conjuntos? Dado queF1{\displaystyle F\geq 1}en cualquier resultado donde el paso de redondeo falla, por la desigualdad de Markov , la probabilidad condicional de falla es como máximo la esperanza condicional deF{\displaystyle F}.

A continuación calculamos la esperanza condicional deF{\displaystyle F}, de forma similar a como calculamos la esperanza no condicionada deF{\displaystyle F}en la demostración original. Considere el estado del proceso de redondeo al final de alguna iteración.t{\displaystyle t}. DejarS(t){\displaystyle S^{(t)}}denotamos los conjuntos considerados hasta ahora (el primerot{\displaystyle t}conjuntos enS{\displaystyle {\mathcal {S}}}). Dejarincógnita(t){\displaystyle x^{(t)}}denotemos el vector (parcialmente asignado)incógnita{\displaystyle x'} (entoncesincógnitas(t){\displaystyle x_{s}^{(t)}}se determina solo sisS(t){\displaystyle s\in S^{(t)}}). Para cada conjuntosS(t){\displaystyle s\not \in S^{(t)}}, dejarpags=min(λincógnitas,1){\displaystyle p_{s}=\min(\lambda x_{s}^{*},1)} denotemos la probabilidad con la queincógnitas{\displaystyle x'_{s}}se establecerá en 1. DejeU(t){\displaystyle {\mathcal {U}}^{(t)}}contienen los elementos aún no cubiertos. Entonces la expectativa condicional deF{\displaystyle F}, dadas las decisiones tomadas hasta ahora, es decir, dadasincógnita(t){\displaystyle x^{(t)}}, es

mi[F|incógnita(t)] = sS(t)do(s)incógnitas+sS(t)do(s)pags2λdoincógnita + miU(t)sS(t),smi(1pags).{\displaystyle E[F|x^{(t)}]~=~{\frac {\sum _{s\in S^{(t)}}c(s)x'_{s}+\sum _{s\not \in S^{(t)}}c(s)p_{s}}{2\lambda c\cdot x^{*}}}~+~\sum _{e\in {\mathcal {U}}^{(t)}}\prod _{s\not \in S^{(t)},s\ni e}(1-p_{s}).}

Tenga en cuenta quemi[F|incógnita(t)]{\displaystyle E[F|x^{(t)}]}se determina solo después de la iteraciónt{\displaystyle t}.

Mantener la probabilidad condicional de falla por debajo de 1

Para mantener la probabilidad condicional de falla por debajo de 1, basta con mantener la esperanza condicional deF{\displaystyle F}por debajo de 1. Para ello, basta con mantener la expectativa condicional deF{\displaystyle F}desde el aumento. Esto es lo que hará el algoritmo. Estableceráincógnitas{\displaystyle x'_{s}}en cada iteración para asegurar que

mi[F|incógnita(metro)]mi[F|incógnita(metro1)]mi[F|incógnita(1)]mi[F|incógnita(0)]<1{\displaystyle E[F|x^{(m)}]\leq E[F|x^{(m-1)}]\leq \cdots \leq E[F|x^{(1)}]\leq E[F|x^{(0)}]<1}

(dóndemetro=|S|{\displaystyle m=|{\mathcal {S}}|}).

En elt{\displaystyle t}En la iteración , ¿cómo puede el algoritmo establecerincógnitas{\displaystyle x'_{s'}} para asegurar quemi[F|incógnita(t)]mi[F|S(t1)]{\displaystyle E[F|x^{(t)}]\leq E[F|S^{(t-1)}]}¿Resulta que simplemente puede configurarlo?incógnitas{\displaystyle x'_{s'}} para minimizar el valor resultante demi[F|incógnita(t)]{\displaystyle E[F|x^{(t)}]}.

Para ver por qué, concéntrese en el momento en que la iteraciónt{\displaystyle t}comienza. En ese momento,mi[F|incógnita(t1)]{\displaystyle E[F|x^{(t-1)}]}está determinado, peromi[F|incógnita(t)]{\displaystyle E[F|x^{(t)}]}aún no está determinado --- puede tomar dos valores posibles dependiendo de cómoincógnitas{\displaystyle x'_{s'}} está configurado en iteraciónt{\displaystyle t}. Dejarmi(t1){\displaystyle E^{(t-1)}}denota el valor demi[F|incógnita(t1)]{\displaystyle E[F|x'^{(t-1)}]}. Dejarmi0(t){\displaystyle E_{0}^{(t)}}ymi1(t){\displaystyle E_{1}^{(t)}}, denotan los dos posibles valores de mi[F|incógnita(t)]{\displaystyle E[F|x^{(t)}]}, dependiendo de siincógnitas{\displaystyle x'_{s'}}se establece en 0 o 1, respectivamente. Por la definición de esperanza condicional,

mi(t1) = Pr[incógnitas=0]mi0(t)+Pr[incógnitas=1]mi1(t).{\displaystyle E^{(t-1)}~=~\Pr[x'_{s'}=0]E_{0}^{(t)}+\Pr[x'_{s'}=1]E_{1}^{(t)}.}

Dado que el promedio ponderado de dos cantidades es siempre al menos el mínimo de esas dos cantidades, se deduce que

mi(t1)  min(mi0(t),mi1(t)).{\displaystyle E^{(t-1)}~\geq ~\min(E_{0}^{(t)},E_{1}^{(t)}).}

Por lo tanto, estableciendoincógnitas{\displaystyle x'_{s'}} para minimizar el valor resultante de mi[F|incógnita(t)]{\displaystyle E[F|x^{(t)}]} garantizará que mi[F|incógnita(t)]mi[F|incógnita(t1)]{\displaystyle E[F|x^{(t)}]\leq E[F|x^{(t-1)}]}Esto es lo que hará el algoritmo.

En detalle, ¿qué significa esto? Considerado como una función deincógnitas{\displaystyle x'_{s'}} (con todas las demás cantidades fijas) mi[F|incógnita(t)]{\displaystyle E[F|x^{(t)}]} es una función lineal deincógnitas{\displaystyle x'_{s'}}y el coeficiente deincógnitas{\displaystyle x'_{s'}}en esa función es

dos2λdoincógnita  misUt1sS(t),smi(1pags).{\displaystyle {\frac {c_{s'}}{2\lambda c\cdot x^{*}}}~-~\sum _{e\in s'\cap {\mathcal {U}}_{t-1}}\prod _{s\not \in S^{(t)},s\ni e}(1-p_{s}).}

Por lo tanto, el algoritmo debería establecerincógnitas{\displaystyle x'_{s'}}a 0 si esta expresión es positiva, y 1 en caso contrario. Esto da como resultado el siguiente algoritmo.

Algoritmo de redondeo aleatorio para la cobertura de conjuntos

entrada: establecer sistemaS{\displaystyle {\mathcal {S}}}universoU{\displaystyle {\mathcal {U}}}, vector de costosdo{\displaystyle c}

Salida: establecer cubiertaincógnita{\displaystyle x'}(una solución al programa lineal entero estándar para la cobertura de conjuntos)

  1. Calcular una cobertura de conjunto fraccionaria de costo mínimoincógnita{\displaystyle x^{*}}(una solución óptima para la relajación LP).
  2. Dejarλln(2|U|){\displaystyle \lambda \leftarrow \ln(2|{\mathcal {U}}|)}. Dejarpagsmin(λincógnitas,1){\displaystyle p_{s}\leftarrow \min(\lambda x_{s}^{*},1)}para cadasS{\displaystyle s\in {\mathcal {S}}}.
  3. Para cadasS{\displaystyle s'\in {\mathcal {S}}}hacer:
    1. DejarSS{s}{\displaystyle {\mathcal {S}}\leftarrow {\mathcal {S}}-\{s'\}}.  (S{\displaystyle {\mathcal {S}}}contiene los conjuntos aún no decididos.)
    2. Si  dos2λdoincógnita>misUsS,smi(1pags){\displaystyle {\frac {c_{s'}}{2\lambda c\cdot x^{*}}}>\sum _{e\in s'\cap {\mathcal {U}}}\prod _{s\in {\mathcal {S}},s\ni e}(1-p_{s})}
      luego establecerincógnitas0{\displaystyle x'_{s}\leftarrow 0},
      de lo contrario establecerincógnitas1{\displaystyle x'_{s}\leftarrow 1}yUUs{\displaystyle {\mathcal {U}}\leftarrow {\mathcal {U}}-s'}.
        (U{\displaystyle {\mathcal {U}}}Contiene los elementos aún no cubiertos.)
  4. Devolverincógnita{\displaystyle x'}.

lema (garantía de aproximación para el algoritmo)

El algoritmo anterior devuelve una cobertura de conjunto.incógnita{\displaystyle x'}de costo como máximo2ln(2|U|){\displaystyle 2\ln(2|{\mathcal {U}}|)}veces el costo mínimo de cualquier cobertura de conjunto (fraccional).

prueba

El algoritmo garantiza que la expectativa condicional deF{\displaystyle F}, mi[F|incógnita(t)]{\displaystyle E[F\,|\,x^{(t)}]}, no aumenta en cada iteración. Dado que esta expectativa condicional es inicialmente menor que 1 (como se mostró anteriormente), el algoritmo garantiza que la expectativa condicional se mantenga por debajo de 1. Dado que la probabilidad condicional de falla es como máximo la expectativa condicional deF{\displaystyle F}De esta forma, el algoritmo garantiza que la probabilidad condicional de fallo se mantenga por debajo de 1. Así, al final, cuando se determinan todas las opciones, el algoritmo alcanza un resultado satisfactorio. Es decir, el algoritmo anterior devuelve una cobertura de conjunto.incógnita{\displaystyle x'} de costo como máximo2ln(2|U|){\displaystyle 2\ln(2|{\mathcal {U}}|)}veces el costo mínimo de cualquier cobertura de conjunto (fraccional).

Observaciones

En el ejemplo anterior, el algoritmo se guió por la esperanza condicional de una variable aleatoria.F{\displaystyle F}En algunos casos, en lugar de una expectativa condicional exacta, se utiliza un límite superior (o a veces un límite inferior) de alguna expectativa condicional. Esto se denomina estimador pesimista .

Comparación con otras aplicaciones del método probabilístico

El paso de redondeo aleatorio difiere de la mayoría de las aplicaciones del método probabilístico en dos aspectos:

  1. La complejidad computacional del paso de redondeo es importante. Debe poder implementarse mediante un algoritmo rápido (por ejemplo, de tiempo polinomial ) .
  2. La distribución de probabilidad subyacente al experimento aleatorio es una función de la solución.incógnita{\displaystyle x}de una relajación de la instancia del problema. Este hecho es crucial para probar la garantía de rendimiento del algoritmo de aproximación, es decir, que para cualquier instancia del problema, el algoritmo devuelve una solución que se aproxima a la solución óptima para esa instancia específica . En comparación, las aplicaciones del método probabilístico en combinatoria suelen mostrar la existencia de estructuras cuyas características dependen de otros parámetros de la entrada. Por ejemplo, considérese el teorema de Turán , que puede enunciarse como "cualquier grafo connorte{\displaystyle n}vértices de grado promediod{\displaystyle d}debe tener un conjunto independiente de tamaño al menosnorte/(d+1){\displaystyle n/(d+1)}(Véase esto para una demostración probabilística del teorema de Turán ). Si bien existen grafos para los cuales esta cota es ajustada, también existen grafos que tienen conjuntos independientes mucho mayores quenorte/(d+1){\displaystyle n/(d+1)}Por lo tanto, el tamaño del conjunto independiente que, según el teorema de Turán, existe en un grafo, puede ser, en general, mucho menor que el conjunto independiente máximo para ese grafo.

Véase también

Referencias

  1. Raghavan, Prabhakar ; Tompson, Clark D. (1987), "Randomized rounding: A technique for provably good algorithms and algorithmic proofs" , Combinatorica , 7 (4): 365–374 , doi : 10.1007/BF02579324 , S2CID 5749936 .
  2. Motwani, Rajeev ; Raghavan, Prabhakar (25 de agosto de 1995). Algoritmos aleatorios . Cambridge University Press . ISBN 978-0-521-47465-8.
  3. ^ Vazirani, Vijay (5 de diciembre de 2002). Algoritmos de aproximación . Springer Verlag . ISBN 978-3-540-65367-7.
  4. Young, Neal E. (2002). "Redondeo aleatorio sin resolver el programa lineal". arXiv : cs/0205036 .
  5. Young, Neal. "Redondeo aleatorio inconsciente" . AlgNotes . Consultado el 14 de septiembre de 2023 .

Lecturas adicionales

  • Althöfer, Ingo (1994), "Sobre aproximaciones dispersas a estrategias aleatorias y combinaciones convexas", Álgebra lineal y sus aplicaciones , 199 : 339–355 , doi : 10.1016/0024-3795(94)90357-3 , MR 1274423 
  • Hofmeister, Thomas; Lefmann, Hanno (1996), "Cálculo determinista de aproximaciones dispersas", Álgebra lineal y sus aplicaciones , 240 : 9–19 , doi : 10.1016/0024-3795(94)00175-8 , MR 1387283 
  • Lipton, Richard J.; Young, Neal E. (1994), "Estrategias simples para juegos de suma cero de gran tamaño con aplicaciones a la teoría de la complejidad", STOC '94: Actas del vigésimo sexto simposio anual de la ACM sobre teoría de la computación , Nueva York, NY: ACM , pp. 734–740 , arXiv : cs.cc/0205035 , doi : 10.1145/195058.195447 , ISBN  978-0-89791-663-9, S2CID 7524887