Uma explicação puramente teórica dos gráficos da redução de Unique Label Cover para Max-Cut

9

Estou estudando a Conjectura de Jogos Exclusivos e a famosa redução para Max-Cut de Khot et al. Em seus artigos e em outros lugares da Internet, a maioria dos autores usa (o que para mim é) uma equivalência implícita entre a redução do MAX-CUT e a construção de testes específicos para códigos longos. Por causa da minha própria falta de clareza sobre essa equivalência, luto para seguir essa linha de pensamento.

Também parece claro a partir dessas exposições que se poderia descrever a redução puramente em termos de gráficos, mas que por coincidência ou preferência, ninguém escolhe fazer dessa maneira. Por exemplo, nessas notas de aula de O'Donnell, ele sugere que o teste de código longo corresponde a uma definição natural das arestas no gráfico que está sendo construído, mas, como não está explicitado, essa regra parece depender da escolha de um corte definir a função booleana que está sendo testada e isso me deixou um pouco confuso.

Então, estou pedindo a alguém que explique a redução "apenas" teoricamente em gráfico. Eu acho que isso vai me ajudar a entender a equivalência entre os dois pontos de vista.

Jeremy Kun
fonte

Respostas:

10

Deixe-me ver se consigo esclarecer isso em alto nível. Suponha que a instância UG seja um gráfico bipartido , , em que e . Você deseja construir um novo gráfico para que, se a instância UG for satisfatória, tenha um corte grande e se a instância UG não for satisfatória, terá apenas cortes muito pequenos.G = ( V W , E ) { π e } e E π e : Σ Σ | Σ | = m H 1 - δ H δ HG=(VW,E){πe}eEπe:ΣΣ|Σ|=mH1δHδH

O gráfico contém, para cada vértice em , uma nuvem de pontos, cada um identificado por . A intenção é que você deve ser capaz de interpretar um longo código de codificação das etiquetas de como um corte de . Lembre-se de que para codificar algum com o código longo, use uma função booleana ; em particular, é a função ditadora . Vamos produzir um cortado (isto é, bi-partição dos vértices) a partir da codificação longa do código da seguinte maneira. SeH W 2 m x { - 1 , 1 } Σ W H σ Σ f : { - 1 , 1 } Σ{ - 1 , 1 } f ( x ) = x σ S T w WHW2mx{1,1}ΣWHσΣf:{1,1}Σ{1,1}f(x)=xσSTwWtem um rótulo codificado pela função booleana , vá para a nuvem de vértices em correspondente e coloque em todos os vértices na nuvem que são rotulados por algum para o qual . Todos os outros vão para . Você pode fazer isso para trás para funções booleanas atribuir a todos com base em um corte de .f H w S x f ( x ) = 1 T w W HfHwSxf(x)=1TwWH

Para que a redução funcione, você precisa saber apenas olhando o valor de um corteS TST se as funções booleanas correspondentes ao corte estão próximas de uma codificação longa de código de alguma atribuição de etiquetas para que satisfaz um monte de restrições ug de . Então a questão é quais informações obtemos a partir do valor de um corte . Considerar quaisquer dois vértices com etiqueta na nuvem correspondentes a e com etiqueta na nuvem correspondente a (na redução olharmos apenas paraW GWGS T a x w b y w wSTaxwbyww, em nuvens diferentes). Dissemos que o corte pode ser usado para derivar funções booleanas e . Agora, se houver uma aresta em , será cortada se e somente se . Portanto, usar apenas o valor de um corte para saber se as funções booleanas induzidas são "boas" é o mesmo que ter um teste que, dadas as funções booleanas , apenas pede o que fração de alguma lista especificada de pares temos .w f w f w ( a , b ) H ( a , b ) f w ( x ) f w ( y ) { f w } w W ( ( w , x ) , ( w , y ) ) f w ( x ) f w (wfwfw(a,b)H(a,b)fw(x)fw(y){fw}wW((w,x),(w,y))y )fw(x)fw(y)

Em outras palavras, sempre que Ryan disser nas notas "testar se ", o que ele realmente quer dizer é "em , adicione uma aresta entre o vértice na nuvem de " por e o vértice na nuvem de rotulado por ". Ou seja, para cada , cada dois de seus vizinhos e cada , incluem a aresta entre o vértice na nuvem de rotulada por e o vértice na nuvem de rotulado por e atribua o peso da arestaf w ( x ) f w ' ( y ) H w x w ' y v V w , w ' x , y { - 1 , 1 } n w x ¸ v , w w ' y ¸ v , w ( ( 1 - ρ ) / 2 )fw(x)fw(y)HwxwyvVw,wx,y{1,1}nwxπv,wwyπv,wd((1+ρ)/2)nd((1ρ)/2)d((1+ρ)/2)nd onde é a distância de Hamming entre e . Dessa maneira, o valor de um corte dividido pelo peso total da aresta é exatamente igual à probabilidade de sucesso do teste.ddxxyy

Sasho Nikolov
fonte
Esta é uma excelente resposta, que precisarei estudar com mais profundidade. Tenho uma pequena pergunta de acompanhamento: devo suspeitar que uma redução que espero ser determinística ainda tenha esse componente aleatório de gerar a ? μμ
Jeremy Kun
Desculpe, isso é simulado adicionando as arestas para todos os vetores no suporte de e atribuindo os pesos das arestas proporcionalmente às probabilidades. Fixo. xμxμ
Sasho Nikolov