Exemplos de brinquedos para solucionadores de Plotkin-Shmoys-Tardos e Arora-Kale


34

Gostaria de entender como o solucionador Arora-Kale SDP se aproxima do relaxamento de Goemans-Williamson em tempo quase linear, como o solucionador Plotkin-Shmoys-Tardos aproxima problemas fracionários de "empacotamento" e "cobertura" em tempo quase linear e como os algoritmos são instanciações da estrutura abstrata "aprendendo com especialistas".

A tese de Kale tem uma excelente apresentação, mas acho muito difícil pular diretamente para o quadro abstrato e prefiro começar com um exemplo de um problema simples para o qual é absolutamente óbvio o que fazer e depois passar para problemas mais gerais. , adicionando progressivamente "recursos" ao algoritmo e à sua análise.

Por exemplo:

Como Plotkin-Shmoys resolve o relaxamento da programação linear da cobertura de vértices não ponderada? Cobertura de vértice ponderada? Definir capa? Correspondência bipartida?

Qual é o exemplo mais simples em que o algoritmo Arora-Kale está fazendo algo interessante? Como calcula o maior valor próprio do Laplaciano de um gráfico?

(Computar o maior autovalor do Laplaciano é equivalente ao problema de resolver uma versão mais fraca do relaxamento Max Cut de Goemans-Williamson SDP, na qual, em vez de exigir que cada vetor tenha o comprimento um, você deseja a soma dos quadrados das normas a serem | V |.)


2
Essa é uma boa pergunta.
Suresh Venkat

4
Para entender os algoritmos no estilo PST para problemas de compactação, é bom examinar os algoritmos para solucionar aproximadamente o problema de fluxo multicomodidade, do qual o PST evoluiu. O artigo de Neal Young descreve a capa do jogo em detalhes. Ihttp: //www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf. Pensei que a pesquisa de Arora-Kale-Hazan também tornasse explícita a conexão entre a estrutura de especialistas e os solucionadores de embalagem / cobertura.
Chandra Chekuri

1
@ChandraChekuri: Está um pouco atrasado, mas estou me perguntando se você deve fazer disso uma resposta.
Suresh Venkat

2
FWIW, para algumas notas expandidas no artigo SODA @ChandraChekuri mencionado, consulte greedyalgs.info/blog/about .
Neal Young

Respostas:


26

Luca, desde que um ano se passou, você provavelmente já pesquisou sua própria resposta. Estou respondendo algumas de suas perguntas aqui apenas para registro. Reviso alguns algoritmos de relaxamento lagrangiano para os problemas mencionados e esboço a conexão com a aprendizagem (em particular, seguindo conselhos de especialistas). Eu não comento aqui sobre algoritmos SDP.

Observe que os algoritmos específicos mencionados não são executados em tempo quase linear. (Existe um algoritmo de tempo quase linear para explicitamente dados problemas de empacotamento ou cobertura. Consulte Simulação de batimento para empacotamento fracionário e cobertura de programas lineares .) Os algoritmos que você tem em mente geralmente têm variantes que são executadas em um número quase linear de iterações , mas cada a iteração normalmente requer pelo menos tempo linear também. Discuto alguns desses algoritmos abaixo.

Algumas funções úteis

Antes de começar, aqui estão algumas funções que usaremos nos esboços de prova. (Se você estiver interessado nos algoritmos, mas não nos detalhes da prova, poderá pular adiante.) Para qualquer vetor , defina como . Esta função é um limite superior em : Analogamente, defina como , um limite inferior em .yLmax(y)lniexp(yi)maxiyi

maxiyi  Lmax(y)  maxiyi+lnm.
Lmin(y)Lmax(y)miniyi

Por conveniência, a seguir, usamos para indicar o gradiente de Lmin. Usamos para denotar o gradiente de Lmax.g(y)Lmin(y)G(y)Lmax(y)

Explicitamente, é enquanto é .gi(y)exp(yi)/iexp(yi)Gi(y)exp(yi)/iexp(yi)

Lmin e Lmax são lisas no seguinte sentido: para qualquer vectores e , e d[0,ε]nyRn

Lmin(y+d)  Lmin(y) + (1O(ε))dg(y)
Lmax(y+d)  Lmax(y) + (1+O(ε))dG(y).

Observe que os dois gradientes têm 1 norma igual a 1: . (Em todo o tempo, usamos para denotar a norma 1).|G(y)|=|g(y)|=1|z|

Observe também que, para uma matriz , o gradiente da função em relação a é (pela regra da cadeia) . Mais explicitamente, a derivada parcial da função em relação a é . Da mesma forma, a derivada parcial de Lmax em relação a é .AxLmin(Ax)x(g(Ax))TAxjiAijexp(Aix)/iexp(Aix)(Ax)xjiAijexp(Aix)/iexp(Aix)

Tampa fracionária do conjunto

Corrija uma instância de Set-Cover. Deixe denotar o elemento / conjunto da matriz de incidência. Assim, se , mais 0 e é a extensão em que a cobertura fracionária cobre o elemento .AAes=1esAexxe

O LP é . Dado , o algoritmo émin{|x|:Ax1;x0}ε(0,1)


  1. Inicialize todos . Seja . xs=0N=log(n)/ε
  2. Repita até : mineAexN

    2.1 Escolha maximizando a derivada parcial de Lmin wrt . (Explicitamente, escolha maximizando .) s(Ax)xs
    sesexp(sexs)

    2.2 Aumente em . xsε

  3. Retornar .x/mineAex


O algoritmo retorna uma solução aproximada nas , em que é o número de elementos e é o ideal cobertura fracionária do conjunto (trivialmente ). (Um algoritmo semelhante aparece no artigo mencionado por Chandra . A Vertex Cover é obviamente um caso especial.)(1+O(ε))O(|x|log(n)/ε2)nx|x|n

( Observação: observe que o limite da iteração não depende do número de conjuntos, apenas do número de elementos. Portanto, o algoritmo pode ser usado com um sistema de conjuntos definido implicitamente, desde que, considerando os pesos, os elementos possam ser eficientemente encontre um conjunto de peso total máximo (ou quase máximo). Esse tipo de oráculo é igual ao oráculo de separação necessário para aplicar o algoritmo elipsóide ao problema duplo . Para problemas de empacotamento, como empacotamento definido, você precisa de um oráculo que, dados pesos nos elementos, retorna um conjunto que minimiza o peso total. Para problemas como fluxo de várias mercadorias, você pode, por exemplo, precisar encontrar um caminho que minimize a soma de alguns pesos de borda determinados.)

Aqui está um esboço da prova da garantia de desempenho. Em cada iteração, a derivada parcial correspondente a escolhida é pelo menos, em que é a cobertura ideal do conjunto fracionário.s1/|x|x

(Para entender por que, lembre-se de que o gradiente de Lmin em relação a é . Se escolhermos um conjunto aleatoriamente na distribuição , o valor esperado da derivada parcial em relação a seria assim . Como , este é pelo menos . Como , isso é pelo menos . Portanto, deve haver alguns dêem derivada parcial pelo menos . Como o algoritmo escolhe(Ax)x(g(Ax))TAsx/|x|xs(g(Ax))TAx/|x|Ax1|g(Ax)|/|x||g(Ax)|=11/|x|s1/|x|xsem cada iteração para maximizar a derivada parcial, ela atinge uma derivada parcial de pelo menos.) 1 / | x * |1/|x|

Em seguida, o tamanho da etapa é escolhido pequeno o suficiente para que nenhuma coordenada de aumente mais que . Portanto, devido à suavidade do Lmin, aumentar para aumenta em pelo menos .εAxεxsxs+εLmin(Ax)(1O(ε))ε/|x|

Dessa maneira, o algoritmo mantém a invariante (Observe que Lmin é igual a .)

Lmin(Ax)(1O(ε))|x|/|x|lnn.
(0¯)lnn

Na terminação, na invariante, o termo é vezes o lado esquerdo, portanto, pelo cálculo, obtém-se. Após a normalização na última linha do algoritmo, isso implica.lnnO(ε)mineAex(1O(ε))|x|/|x||x|(1+O(ε))|x|

FWIW, as desigualdades envolvidas na prova do invariante são essencialmente as mesmas que as envolvidas na prova do limite de Chernoff. (De fato, esse algoritmo pode ser derivado aplicando o método de probabilidades condicionais a um esquema de arredondamento aleatório que amostra repetidamente conjuntos da distribuição (com substituição), aumentando para cada conjunto amostrado Essa derandomização disso fornece o algoritmo: a invariante subjacente é apenas que o estimador pessimista permanece abaixo de 1. As penalidades exponenciais no estimador pessimista vêm do uso de Chernoff ligado na análise do esquema de arredondamento. no artigo que Chandra mencionou .)x/|x|xss

Tampa fracionária do conjunto ponderado (e cobertura fracionária geral)

Para lidar com problemas como a tampa do conjunto ponderado de maneira eficiente , modificamos o algoritmo para usar incrementos não uniformes (uma ideia devido a Garg e Konemann ).

O LP é , em que varia sobre os elementos, varia sobre os conjuntos e todas as variáveis ​​não são -negativo. Para apresentar o algoritmo, primeiro reescreva o problema como um problema geral de cobertura. Deixe para e de outro modo. Então (com uma mudança de variáveis, escalando cada por ), o LP é , que podemos ver como um LP de cobertura geral. Aqui está o algoritmo:min{cx:(e)sexs1}esAes=1/csesAes=0xscsmin{|x|:Ax1;x0}


  1. Inicialize todos . Seja .xs=0N=log(n)/ε

  2. Repita até que todas as restrições de cobertura tenham sido excluídas:

    2.1 Escolha maximizando a derivada parcial de Lmin wrt . (Explicitamente, escolha maximizando .)s(Ax)xs
    sesexp(sexs)/cs

    2.2 Aumente em , onde é escolhido no máximo, de modo que, para cada restrição de cobertura restante , o aumento em seja no máximo .xsδδeAexε

    2.3 Apagar todos os constrangimentos que cobrem de tal modo que .eAexN

  3. Retornar .x/mineAex


O algoritmo retorna uma solução aproximada nas iterações , em que é o número de restrições de cobertura. (Cada iteração aumenta alguns restantes em ; isso pode acontecer apenas vezes com uma restrição antes de ser excluída.) A prova de correção é basicamente a mesma invariante da Set Cover.(1+O(ε))O(nlog(n)/ε2)nAexεN/ε

A cobertura ponderada de vértice é um caso especial.

Correspondência bipartida fracionária máxima

Dado um gráfico , o LP natural para o problema é .G=(U,W,E)max{|x|:v.evxe1}

Na representação matricial, esse é um LP com coeficientes 0-1 ( se ). Tais problemas não exigem incrementos não uniformes; portanto, um algoritmo simples, análogo ao algoritmo Set Cover não ponderado (mas para empacotamento), fará:max{|x|:Ax1;x0}Ave=1ve


  1. Inicialize todos . Seja .xe=0N=log(n)/ε
  2. Enquanto :Ax<N

    2.1 Escolha minimizando a derivada parcial de Lmax wrt . (Explicitamente, escolha para minimizar .)e(Ax)xe
    eveexp(evxe)

    2.2 Aumente em . xeε

  3. Retornar .x/maxvAvx


O algoritmo retorna uma solução aproximada nas iterações . (Isso ocorre porque cada iteração aumenta by e, finalmente, antes da normalização, .)(1O(ε))O(nlog(n)/ε2)|x|ε|x|=O(Nn)

Apenas por diversão, aqui está um curioso algoritmo alternativo para o Perfect Bipartite Matching. Lembre-se de que . Seja.G=(U,W,E)n=|U|=|W|


  1. Inicialize todos . Seja . xe=0N=4ln(n)/ε
  2. Repita vezes:nN

    2.1 Escolha uniformemente aleatoriamente a partir de . 2.2 Escolha modo que minimizando . 2.3 Aumente em . uU
    w(u,w)Eewxe
    xuwε

  3. Retorno .x/N


Se tiver uma correspondência perfeita, o algoritmo retornará um tal que e, com alta probabilidade, para todos os vértices , e para todos os vértices , . Se você estiver interessado nos detalhes da prova, pergunte ...Gx|x|=nuU1O(ε)euxe1+O(ε)wWewxe1+O(ε)

Embalagem e Cobertura Mistas

Você pode ter perguntado sobre a correspondência bipartida na esperança de obter um exemplo de um problema misto de embalagem e cobertura, ou seja, uma das formas Aqui está um algoritmo para esses problemas. Primeiro, normalizar modo que e .

x? Pxp;Cxc;x0.
p=1¯c=1¯

Seja o número de restrições (linhas em mais linhas em ).mPC


  1. Inicialize todos . Seja .xj=0N=2ln(m)/ε
  2. Enquanto :Px<N

    2.1 Escolha para que a derivada parcial de Lmax em relação a seja no máximo a derivada parcial de Lmin em relação a . (Explicitamente, escolha tal quej(Px)xj(Cx)xjj

    iPijexp(Pix)iexp(Pix)iCijexp(Cix)iexp(Cix).)

    2.2 Aumente em , onde é escolhido no máximo, de forma que nenhuma restrição ou a restrição restante aumente em mais de .xjδδPixCixε

    2.3 Apagar todos os constrangimentos que cobrem tal que .iCixN

  3. Retornar .x/maxiPix


Supondo que o problema fornecido seja viável, o algoritmo retorna um tal que e . O número de iterações é , porque cada iteração aumenta alguma restrição em , e isso pode ocorrer para cada restrição no máximo vezes.xPx1Cx1O(ε)O(mln(m)/ε2)εN

A prova de correção é feita através da invariante O invariante implica No final, o lado esquerdo é , comprovando a garantia de desempenho.

Lmax(Px)2ln(m)+(1+O(ε))Lmin(Cx).
maxPx2ln(m)+(1+O(ε))minCx.
Ω(log(m)/ε)

Na etapa 2.1, o desejado deve existir desde que o problema original seja viável. (Isso ocorre porque, para qualquer possível e qualquer , se escolhermos um aleatório da distribuição , o valor esperado da derivada parcial de Lmax em relação a seria no máximo (consulte o esboço de prova anterior para Set Cover). Da mesma forma, o valor esperado da derivada parcial de Lmin em relação a seria pelo menos . Portanto, existe umjx x j x / | x * | ( P x ) x j 1 / | x * | xxjx/|x|(Px)xj1/|x|(Cx)xj1/|x|jtal que a derivada parcial de Lmax em relação a seja no máximo a derivada parcial de Lmin .)(Px)xj(Cx)

Em seguida, a invariante é mantida em cada iteração porque, pela escolha de e , e pela suavidade de Lmin e Lmax, aumentar para aumenta Lmax em no máximo vezes o aumento de Lmin .xjδxjxj+δ(Px)1+O(ε)(Cx)

Aprendizagem (após especialistas / reforço)

Uma referência para entender essa conexão é o jogo adaptável usando pesos multiplicativos , de Freund e Schapire. Aqui está um resumo rápido para fornecer a ideia técnica.

Considere o seguinte jogo repetido. Em cada rodada : t

  1. Você escolhe uma distribuição de probabilidade em (os chamados especialistas ). pt[n]n
  2. Conhecendo , o adversário escolhe um vetor de pagamento . ptat[0,1]n
  3. Você recebe o pagamento pela rodada. ptat

O jogo para após algumas rodadas. Seu objetivo é minimizar seu arrependimento em comparação com qualquer especialista (ie, estratégia pura) . Ou seja, seu objetivo é minimizar .i(maxitait)tptat

Corrija qualquer . Deixe o vetor denotar , isto é, vezes a soma do vetor dos vetores de payoff até o tempo . Lembre-se de que é o gradiente de Lmax .ε>0ytεstasεtG(y)(y)

Aqui está a estratégia básica que analisaremos: Na rodada , escolha para ser .tptG(yt1)

Por inspeção, isso dá o resultado na rodada .atG(yt1)t

Devido à propriedade de suavidade de , Ou seja, em cada rodada, não pode aumentar em mais de vezes o seu pagamento. Como , isso mantém a invariante de que é no máximo o seu tempo total de pagamento , mais por outro lado, o seu pesar em comparação com o melhor especialista. é , ou seja,F

Lmax(yt)Lmax(yt1)+(1+O(ε))εatG(yt1).
Lmax(yt)ε(1+O(ε))Lmax(0¯)=lnnLmax(yt)ε(1+O(ε)ln(n)imaxitaitε1maxiyit ε - 1 Lmax ( y t ), que, por sua vez, é no máximo .ε1Lmax(yt)

Portanto, seu arrependimento é no máximo , mais vezes o seu pagamento total.ε1ln(n)O(ε)

Observação: Eu acho que, como Freund e Schapire apontam, um algoritmo de "reforço" (na teoria da aprendizagem) também está implícito nessa análise. Veja o artigo deles para mais detalhes.

Minimizando o pagamento total

Você pode derivar uma estratégia semelhante para a configuração em que o objetivo é minimizar , em vez de maximizar, o pagamento total. Seu arrependimento, que você ainda deseja minimizar, é . Nesse caso, a estratégia correspondente é escolher para ser o gradiente de . Com essa estratégia, seu arrependimento é novamente no máximo mais vezes seu pagamento total.tptatminiaitptLmin(yt)ε1lnnO(ε)

Conexão com algoritmos de relaxação lagrangiana

Para ver a conexão com os algoritmos de relaxação lagrangiana, corrija uma instância de Set-Cover. Considere o último tipo de jogo (com o objetivo de minimizar os ganhos), em que os especialistas correspondem aos elementos do seu sistema definido. Em cada rodada, escolha a distribuição de probabilidade para ser o gradiente de Lmin como acima, e faça com que o adversário escolha o vetor de payoff em função de seguinte maneira: escolha o conjunto maximizando , então deixe se , e caso contrário.ept(yt)atpts t Σ e s p t e uma t e = 1 e s t a t e = 0stespetaet=1estaet=0

Dada a condição de parada correta (discutida abaixo), esse processo fornece exatamente o algoritmo Set-Cover discutido no início.

A garantia de desempenho do algoritmo segue do arrependimento vinculado da seguinte forma. Seja o número de vezes que o adversário escolheu set durante a jogada. Seja a cobertura ideal do conjunto fracionário. Sejaser o número de rodadas jogadas. O limite de arrependimento implica XssxT=|Xs|

tatptε1ln(m)+minetaet.

Usando a definição de , o th recompensa (o prazo th na soma à esquerda) é igual a . O adversário escolheu para minimizar esse pagamento. Se o adversário tivesse escolhido aleatoriamente na distribuição, a expectativa do pagamento seria (Acima, usamos esse para todos os e ) Como cada recompensa é pelo menosatttestpetststx/|x|

sxs|x|espet = 1|x|epetsexs  1|x|epet = 1|x|.
sexs1e|pt|=11/|x|, o limite de arrependimento implica Pela definição de , temos (cada rodada escolhe um conjunto) e , fornecendo Paramos o processo quando , então (reorganizando os termos) Ou seja, normalizar fornece no máximo uma cobertura fracionada de conjunto vezes ótimo.
T|x|ε1ln(m)+minetaet.
X|X|=Ttaet=e[est]=seXs
|X||x|ε1ln(m)+mineseXs.
mineseXs=Ω(ε2lnm)
|X|mineseXs  (1+O(ε)|x|.
X(1+O(ε))

Observação: De certa forma, essa interpretação da teoria da aprendizagem generaliza a interpretação algorítmica. No entanto, algumas das técnicas algorítmicas necessárias para a eficiência (como incrementos não uniformes e eliminação de restrições de cobertura satisfeitas) não parecem ser levadas naturalmente para a configuração da teoria da aprendizagem. Da mesma forma, algoritmos para embalagem mista e cobertura de LPs (por exemplo, esses ) não parecem ter análogos naturais no cenário da teoria da aprendizagem.


8
Essa é a resposta!
Suresh Venkat

1
Obrigado. Provavelmente exagerou. Estou interessado em comentários: como apresentar estas ideias acessível, o que mais para incluir ...
Neal Young
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.