Luca, ya que ha pasado un año, probablemente hayas investigado tu propia respuesta. Estoy respondiendo algunas de sus preguntas aquí solo para el registro. Reviso algunos algoritmos de relajación lagrangiana para los problemas que menciona, y bosquejo la conexión con el aprendizaje (en particular, siguiendo el consejo de expertos). No comento aquí sobre algoritmos SDP.
Tenga en cuenta que los algoritmos particulares que menciona no se ejecutan en un tiempo casi lineal. (Existe un algoritmo de tiempo casi lineal para
problemas de empaque o cobertura dados explícitamente . Ver Beating Simplex para programas lineales de empaque
fraccionado y cobertura ). Los algoritmos que tiene en mente generalmente tienen variantes que se ejecutan en un número casi lineal de iteraciones , pero cada una La iteración generalmente requiere al menos tiempo lineal también. Discuto algunos de estos algoritmos a continuación.
Algunas funciones útiles
Antes de comenzar, aquí hay algunas funciones que usaremos en los bocetos de prueba. (Si está interesado en los algoritmos, pero no en los detalles de la prueba, puede saltar adelante). Para cualquier vector yy , defina Lmax ( y )Lmax(y) como ln ∑ i exp ( y i )ln∑iexp(yi) . Esta función es un límite superior en :
Análogamente, defina como , un límite inferior en .max i y i maxiyimax i y i ≤ Lmax ( y ) ≤ max i y i + ln m . maxiyi ≤ Lmax(y) ≤ maxiyi+lnm.
Lmin ( y ) Lmin(y)- Lmax ( - y ) −Lmax(−y)min i y iminiyi
Por conveniencia en lo que sigue, usamos para denotar el gradiente de Lmin. Usamos para denotar el gradiente de Lmax.g ( y ) g(y)∇ Lmin ( y ) ∇Lmin(y)G ( y ) G(y)∇ Lmax ( y )∇Lmax(y)
Explícitamente, es
mientras que es .g i ( y ) gi(y)exp ( - y i ) / ∑ i ′ exp ( - y i ′ ) exp(−yi)/∑i′exp(−yi′)G i ( y ) Gi(y)exp ( y i ) / ∑ i ′ exp ( y i ′ )exp(yi)/∑i′exp(yi′)
Lmin y Lmax son suaves en el siguiente sentido: para cualquier vector e ,
y
d ∈ [ 0 , ε ] nd∈[0,ε]n y ∈ R n y∈RnLmin ( y + d ) ≥ Lmin ( y ) + ( 1 - O ( ε ) ) d ⋅ g ( y ) Lmin(y+d) ≥ Lmin(y) + (1−O(ε))d⋅g(y)
Lmax ( y + d ) ≤ Lmax ( y ) + ( 1 + O ( ε ) ) d ⋅ G ( y ) .Lmax(y+d) ≤ Lmax(y) + (1+O(ε))d⋅G(y).
Tenga en cuenta que ambos gradientes tienen una norma igual a 1:
. (En todo momento usamos para denotar la norma 1).El | G ( y ) | = | g ( y ) | = 1 |G(y)|=|g(y)|=1| z ||z|
Tenga en cuenta también que, para una matriz , el gradiente de la función con respecto a
es (por la regla de la cadena) . Más explícitamente, la derivada parcial de la función con respecto a
es . Asimismo, la derivada parcial de Lmax
con respecto a es .A Ax ↦ Lmin ( A x ) x↦Lmin(Ax)x x( g ( A x ) ) T A (g(Ax))TAx j xj∑ i A i j exp ( - A i x ) / ∑ i exp ( - A i x ) ∑iAijexp(−Aix)/∑iexp(−Aix)( A x ) (Ax)x j xj∑ i A i j exp ( A ∑ i exp ( i x ) /A i x )∑iAijexp(Aix)/∑iexp(Aix)
Tapa de conjunto fraccional
Arreglar una instancia de Set-Cover. Deje denotar la matriz de incidencia elemento / conjunto. Por lo tanto, si , si no 0, y es el grado en que la cobertura fraccional cubre el elemento .A AA e s = 1 Aes=1e ∈ s e∈sA e x Aexxx ee
El LP es . Dado , el algoritmo esmin { | x | : A x ≥ 1 ; x ≥ 0 } min{|x|:Ax≥1;x≥0}ε ∈ ( 0 , 1 )ε∈(0,1)
- Inicialice todos . Deje . x s = 0 xs=0N = log ( n ) / εN=log(n)/ε
Repita hasta : min e A e x ≥ NmineAex≥N
2.1. Elija maximizando la derivada parcial de Lmin wrt .
(Explícitamente, elija maximizing .) s s( A x ) (Ax)x sxs s ∑ e ∈ s exp ( - ∑ s ′ ∋ e x s ′
s )∑e∈sexp(−∑s′∋exs′)
2.2. Aumente en . x sxs εε
Devuelve .x / min e A e xx/mineAex
El algoritmo devuelve una solución aproximada en las iteraciones , donde es el número de elementos y es el óptimo cubierta de conjunto fraccional (trivialmente ). (Un algoritmo similar aparece en el documento que mencionó Chandra . Vertex Cover es, por supuesto, un caso especial).( 1 + O ( ε ) ) (1+O(ε))O ( | x ∗ | log ( n ) / ε 2 ) O(|x∗|log(n)/ε2)n nx ∗ x∗| x ∗ | ≤ n|x∗|≤n
( Observación: tenga en cuenta que el límite de iteración no depende de la cantidad de conjuntos, solo de la cantidad de elementos. Por lo tanto, el algoritmo se puede usar con un sistema de conjuntos definido implícitamente, siempre que, dados los pesos de los elementos, se pueda eficientemente encuentre un conjunto de peso total máximo (o casi máximo). Este tipo de oráculo es el mismo que el oráculo de separación requerido para aplicar el algoritmo elipsoide al problema dual . Para problemas de empaquetamiento como el empaquetado de conjuntos, necesita un oráculo que, los pesos dados en los elementos, devuelve un conjunto que minimiza el peso total. Para problemas tales como el flujo de múltiples productos, es posible que, por ejemplo, necesite encontrar una ruta que minimice la suma de algunos pesos de borde dados).
Aquí hay un boceto de la prueba de la garantía de rendimiento. En cada iteración, la derivada parcial wrt la elegida
es al menos, donde es la cobertura óptima del conjunto fraccionario.s s1 / | x ∗ | 1/|x∗|X ∗x∗
(Para ver por qué, recuerde que el gradiente de Lmin con respecto a es . Si tuviéramos que elegir un conjunto al azar de la distribución , el valor esperado de la derivada parcial con respecto a
sería . Dado que , esto es al menos . Dado que , esto es al menos . Por lo tanto, debe existir alguna dé una derivada parcial al menos . Dado que el algoritmo elige( A x ) (Ax)x x( g ( A x ) ) T A (g(Ax))TAs ′ s′x ∗ / | x ∗ | x∗/|x∗|x s ′xs′ ( g ( A x ) ) TA x ∗ / | x ∗ | (g(Ax))TAx∗/|x∗|A x ∗ ≥ 1 Ax∗≥1| g ( A x ) | / | x ∗ | |g(Ax)|/|x∗|El | g ( A x ) | = 1 |g(Ax)|=11 / | x ∗ | 1/|x∗|s s1 / | x ∗ | 1/|x∗|x sxs 1 / | x ∗en cada iteración para maximizar
la derivada parcial, logra una derivada parcial de al menos.) |1/|x∗|
Luego, el tamaño del paso se elige lo suficientemente pequeño como para que ninguna coordenada de aumente en más de . Por lo tanto, debido a la suavidad de Lmin, aumentar
a aumenta al menos en
.ε εA x Axε εx s xsx s + ε xs+εLmin ( A x ) Lmin(Ax)( 1 - O ( ε ) ) ε / | x ∗ |(1−O(ε))ε/|x∗|
De esta forma, el algoritmo mantiene el invariante
(Tenga en cuenta que Lmin es igual a .)Lmin ( A x ) ≥ ( 1 - O ( ε ) ) | x | / | x ∗ | - ln n . Lmin(Ax)≥(1−O(ε))|x|/|x∗|−lnn.
( ¯ 0 ) (0¯¯¯)ln nlnn
Al finalizar, en el invariante, el término es multiplicado por el lado izquierdo, por lo que mediante el cálculo se obtiene. Después de la normalización en la última línea del algoritmo, esto implica.lnnlnnO(ε)O(ε)mineAex≥(1−O(ε))|x|/|x∗|mineAex≥(1−O(ε))|x|/|x∗||x|≤(1+O(ε))|x∗||x|≤(1+O(ε))|x∗|
FWIW, las desigualdades involucradas en probar la invariante son esencialmente las mismas que las involucradas en probar el límite de Chernoff. (De hecho, este algoritmo puede derivarse aplicando el método de probabilidades condicionales a un esquema de redondeo aleatorio que muestrea repetidamente conjuntos de la distribución
(con reemplazo), aumentando para cada conjunto muestreado Esta desrandomización de eso da el algoritmo: la invariante subyacente es solo que el estimador pesimista se mantiene por debajo de 1. Las penalizaciones exponenciales en el estimador pesimista provienen del uso del límite de Chernoff en el análisis del esquema de redondeo. Esta idea básica se explica más adelante. en el periódico que mencionó Chandra ).x∗/|x∗|x∗/|x∗|xsxsss
Cubierta de conjunto ponderada fraccional (y cubierta fraccional general)
Para manejar problemas como la cobertura de conjunto ponderado de manera eficiente , modificamos el algoritmo para usar incrementos no uniformes (una idea debido a Garg y Konemann ).
El LP es , donde extiende sobre los elementos, extiende sobre los conjuntos y todas las variables son no -negativo. Para presentar el algoritmo, primero reescriba el problema como un problema de cobertura general. Deje para y de otro modo. Entonces (con un cambio de variables, escalando cada por ), el LP es , que podemos ver como un LP de cobertura general. Aquí está el algoritmo:min{c⋅x:(∀e)∑s∋exs≥1}min{c⋅x:(∀e)∑s∋exs≥1}eessAes=1/csAes=1/cse∈se∈sAes=0Aes=0xsxscscsmin{|x|:Ax≥1;x≥0}min{|x|:Ax≥1;x≥0}
Inicialice todos . Deje .xs=0xs=0N=log(n)/εN=log(n)/ε
Repita hasta que se hayan eliminado todas las restricciones de cobertura:
2.1. Elija maximizando la derivada parcial de Lmin wrt .
(Explícitamente, elija maximizing .)ss(Ax)(Ax)xsxs
ss∑e∈sexp(−∑s′∋exs′)/cs∑e∈sexp(−∑s′∋exs′)/cs
2.2. Aumente en , donde se elige al máximo de tal manera que, por cada restricción de cobertura restante , el aumento en sea como máximo .xsxsδδδδeeAe⋅xAe⋅xεε
2.3 Eliminar todas las restricciones que cubren tal que .e eA e ⋅ x ≥ NAe⋅x≥N
Devuelve .x/mineAe⋅xx/mineAe⋅x
El algoritmo devuelve una solución aproximada iteraciones , donde es el número de restricciones de cobertura. (Cada iteración aumenta algunos restantes en ; esto puede suceder solo veces a una restricción antes de que se elimine). La prueba de corrección es esencialmente la misma invariante que para Set Cover.(1+O(ε))(1+O(ε))O(nlog(n)/ε2)O(nlog(n)/ε2)nnAexAexεεN/εN/ε
La cubierta Vertex ponderada es un caso especial.
Coincidencia bipartita fraccional máxima
Dado un gráfico , el LP natural para el problema es .G=(U,W,E)G=(U,W,E)max{|x|:∀v.∑e∋vxe≤1}max{|x|:∀v.∑e∋vxe≤1}
En la representación matricial, este es un empaque LP
con coeficientes 0-1 ( si ). Dichos problemas no requieren incrementos no uniformes, por lo que un algoritmo simple análogo al algoritmo Set Cover no ponderado (pero para empacar) hará:max{|x|:Ax≤1;x≥0}max{|x|:Ax≤1;x≥0}Ave=1Ave=1v∈ev∈e
- Inicialice todo . Deje .xe=0xe=0N=log(n)/εN=log(n)/ε
Mientras :Ax<NAx<N
2.1. Elija minimizando la derivada parcial de Lmax wrt .
(Explícitamente, elija para minimizar .)ee(Ax)(Ax)xexe
ee∑v∈eexp(∑e′∋vxe′)∑v∈eexp(∑e′∋vxe′)
2.2. Aumente en . xexeεε
Devuelve .x/maxvAvxx/maxvAvx
El algoritmo devuelve una solución aproximada iteraciones . (Esto se debe a que cada iteración aumenta en y, finalmente, antes de la normalización, .)(1−O(ε))(1−O(ε))O(nlog(n)/ε2)O(nlog(n)/ε2)|x||x|εε|x|=O(Nn)|x|=O(Nn)
Solo por diversión, aquí hay un algoritmo alternativo curioso para Perfect Bipartite Matching. Recuerde que . Sea.G=(U,W,E)G=(U,W,E)n=|U|=|W|n=|U|=|W|
- Inicialice todo . Deje . xe=0xe=0N=4ln(n)/εN=4ln(n)/ε
Repita veces:nNnN
2.1. Elija uniformemente al azar de .
2.2. Elija tal que minimizando .
2.3. Aumente en . uuUU
ww(u,w)∈E(u,w)∈E∑e∋wxe∑e∋wxe
xuwxuwεε
Volver .x/Nx/N
Si tiene una coincidencia perfecta, el algoritmo devuelve una tal que , y, con alta probabilidad, para todos los vértices , , y para todos los vértices , . Si está interesado en los detalles de la prueba, pregunte ...GGxx|x|=n|x|=nu∈Uu∈U1−O(ε)≤∑e∋uxe≤1+O(ε)1−O(ε)≤∑e∋uxe≤1+O(ε)w∈Ww∈W∑e∋wxe≤1+O(ε)∑e∋wxe≤1+O(ε)
Embalaje y revestimiento mixto
Es posible que haya preguntado sobre la coincidencia bipartita esperando un ejemplo de un problema de empaquetamiento y cobertura mixtos , es decir, uno de la forma
Aquí hay un algoritmo para tales problemas. Primero, normalice de modo que y .∃x? Px≤p;Cx≥c;x≥0.∃x? Px≤p;Cx≥c;x≥0.
p=¯1p=1¯¯¯c=¯1c=1¯¯¯
Sea el número de restricciones (filas en más filas en ).mmPPCC
- Inicialice todos . Deje .xj=0xj=0N=2ln(m)/εN=2ln(m)/ε
Mientras :Px<NPx<N
2.1. Elija para que la derivada parcial de Lmax con respecto a sea como máximo la derivada parcial de Lmin con respecto a . (Explícitamente, elija tal quejj(Px)(Px)xjxj(Cx)(Cx)xjxjjj∑iPijexp(Pix)∑iexp(Pix)≤∑iCijexp(−Cix)∑iexp(−Cix).)∑iPijexp(Pix)∑iexp(Pix)≤∑iCijexp(−Cix)∑iexp(−Cix).)
2.2. Aumente en , donde se elige al máximo de tal manera que ninguna restricción o la restricción restante aumente en más de .xjxjδδδδPixPixCixCixεε
2.3. Eliminar todas las restricciones que cubren tal que .iiCix≥NCix≥N
Devuelve .x/maxiPixx/maxiPix
Suponiendo que el problema dado es factible, el algoritmo devuelve una tal que
y . El número de iteraciones es , porque cada iteración aumenta alguna restricción de , y esto puede suceder para cada restricción en la mayoría de las veces.xxPx≤1Px≤1Cx≥1−O(ε)Cx≥1−O(ε)O(mln(m)/ε2)O(mln(m)/ε2)εεNN
La prueba de corrección es a través de la invariante
La invariante implica
Al finalizar, el lado izquierdo es , lo que demuestra la garantía de rendimiento.Lmax(Px)≤2ln(m)+(1+O(ε))Lmin(Cx).
maxPx≤2ln(m)+(1+O(ε))minCx.
Ω(log(m)/ε)
En el Paso 2.1, el deseado debe existir siempre que el problema original sea factible. (Esto se debe a que, para cualquier factible , y cualquier , si tuviéramos que elegir una aleatoria de la distribución , el valor esperado de la derivada parcial de Lmax con respecto a
sería a lo sumo (vea el boceto de prueba anterior para Set Cover). Asimismo, el valor esperado de la derivada parcial de Lmin con respecto a
sería al menos . Por lo tanto, hay unaj x∗xj′x∗/|x∗|(Px)xj′1/|x∗|(Cx)xj′1/|x∗|jtal que la derivada parcial de Lmax con respecto a
es como máximo la derivada parcial de Lmin .)(Px)xj′(Cx)
Luego, la invariante se mantiene en cada iteración porque, mediante la elección de y , y la suavidad de Lmin y Lmax, al aumentar a
aumenta Lmax
como máximo
veces el aumento en Lmin .xjδxjxj+δ(Px)1+O(ε)(Cx)
Aprendizaje (seguimiento de expertos / impulso)
Una referencia para comprender esta conexión es el
juego adaptativo que usa pesos multiplicativos , de Freund y Schapire. Aquí hay un resumen rápido para dar la idea técnica.
Considere el siguiente juego repetido. En cada ronda : t
- Eliges una distribución de probabilidad en (los llamados expertos ). pt[n]n
- Conociendo , el adversario elige un vector de pago . ptat∈[0,1]n
- Usted recibe el pago por la ronda. pt⋅at
El juego se detiene después de algunas rondas. Su objetivo es minimizar su arrepentimiento en comparación con cualquier experto individual (es decir, estrategia pura) . Es decir, su objetivo es minimizar .i(maxi∑tati)−∑tpt⋅at
Arregle cualquier . Deje que el vector denote , es decir,
multiplicado por la suma del vector de los vectores de pago hasta el tiempo . Recuerde que es el gradiente de Lmax .ε>0ytε∑s≤tasεtG(y)(y)
Aquí está la estrategia básica que analizaremos:
en la ronda , elija para que sea .tptG(yt−1)
Por inspección, esto le da recompensa en la ronda .at⋅G(yt−1)t
Debido a la propiedad de suavidad de ,
Es decir, en cada ronda, no puede aumentar más de veces su pago. Dado que , esto mantiene la invariante de que
es como máximo sus tiempos de pago totales , más . Por otro lado, su arrepentimiento en comparación con el mejor experto
es , es decir,FLmax(yt)≤Lmax(yt−1)+(1+O(ε))εat⋅G(yt−1).
Lmax(yt)ε(1+O(ε))Lmax(¯0)=lnnLmax(yt)ε(1+O(ε)ln(n)imaxi∑tatiε−1maxiyti, que a su vez es como máximo .ε−1Lmax(yt)
Por lo tanto, su arrepentimiento es como máximo , más multiplicado por su pago total.ε−1ln(n)O(ε)
Observación: Creo que, como señalan Freund y Schapire, un algoritmo de "impulso" (en teoría del aprendizaje) también está implícito en este análisis. Vea su artículo para más detalles.
Minimizando el pago total
Puede derivar una estrategia similar para la configuración en la que el objetivo es minimizar , en lugar de maximizar, la recompensa total. Su arrepentimiento, que aún desea minimizar, es . En ese caso, la estrategia correspondiente es elegir para que sea el gradiente de . Con esta estrategia, su arrepentimiento es nuevamente como máximo
más multiplicado por su pago total.∑tpt⋅at−miniatiptLmin(yt)ε−1lnnO(ε)
Conexión a algoritmos de relajación lagrangiana
Para ver la conexión con los algoritmos de relajación lagrangiana, arregle una instancia de Set-Cover. Considere el último tipo de juego (con el objetivo de minimizar la recompensa), donde los expertos corresponden a los elementos de su sistema establecido. En cada ronda, elija la distribución de probabilidad
para que sea el gradiente de Lmin como se indicó anteriormente, y haga que el adversario elija el vector de pago en función de siguiente manera:
elija el conjunto maximizando , luego deje si , y caso contrario.ept(yt)atptst∑e∈spteate=1e∈state=0
Dada la condición de detención correcta (discutida a continuación), este proceso le proporciona exactamente el algoritmo Set-Cover discutido al inicio.
La garantía de rendimiento del algoritmo se deriva del arrepentimiento vinculado de la siguiente manera. Deje que sea la cantidad de veces que el adversario eligió el set durante la jugada. Deje ser la cubierta óptima del conjunto fraccional. Dejeser el número de rondas jugadas. El límite de arrepentimiento implica
Xssx∗T=|Xs|∑tat⋅pt≤ε−1ln(m)+mine∑tate.
Usando la definición de , el pago th (el término en la suma de la izquierda) es igual a . El adversario eligió para minimizar esta recompensa. Si el adversario hubiera elegido al azar de la distribución, la expectativa de la recompensa habría sido
(Arriba usamos ese para todo , y ) Dado que cada pago es al menosattt∑e∈stpteststx∗/|x∗|∑sx∗s|x∗|∑e∈spte = 1|x∗|∑epte∑s∋ex∗s ≥ 1|x∗|∑epte = 1|x∗|.
∑s∋ex∗s≥1e|pt|=11/|x∗|, el límite de arrepentimiento implica
Por la definición de , tenemos (cada ronda elige un conjunto) y , dando
Hacemos que el proceso se detenga cuando , entonces (reorganizando los términos)
Es decir, la normalización de da una cobertura de tamaño fraccional como máximo tiempos óptimosT|x∗|≤ε−1ln(m)+mine∑tate.
X|X|=T∑tate=∑e[e∈st]=∑s∋eXs|X||x∗|≤ε−1ln(m)+mine∑s∋eXs.
mine∑s∋eXs=Ω(ε−2lnm)|X|mine∑s∋eXs ≤ (1+O(ε)|x∗|.
X(1+O(ε))
Observación: En cierto sentido, esta interpretación de la teoría del aprendizaje generaliza la interpretación algorítmica. Sin embargo, algunas de las técnicas algorítmicas necesarias para la eficiencia (como los incrementos no uniformes y la eliminación de restricciones de cobertura satisfechas) no parecen trasladarse al entorno de la teoría del aprendizaje de forma natural. Del mismo modo, los algoritmos para
empaquetado y cobertura de LPs mixtos (por ejemplo, estos ) no parecen tener análogos naturales en el contexto de la teoría del aprendizaje.