Estou interessado na auto-redutibilidade do problema do Graph 3-Coloralibity.
Definição do problema do gráfico 3-Coloralibity.
Dado um gráfico não direcionado existe uma maneira de colorir os nós vermelho, verde e azul para que nenhum nó adjacente tenha a mesma cor?
Definição de auto-redutibilidade.
Uma linguagem é auto-redutível se uma máquina Oracle Turing Machine existe tal que e para qualquer entrada de comprimento , consulta o oráculo por palavras de comprimento, no máximo .
Gostaria de mostrar de maneira muito estrita e formal que a coloração do gráfico 3 é auto-redutível.
A prova de auto-redutibilidade do SAT pode ser usada como exemplo ( auto-redutibilidade do SAT ).
Na minha opinião, a idéia geral de prova de auto-redutibilidade do gráfico 3-colorability é diferente da prova de auto-redutibilidade SAT em alguns aspectos.
- O SAT tem duas opções para cada literal (verdadeiro ou falso) e o gráfico 3-colorability tem três opções (a saber, vermelho verde azul).
- As opções do literal SAT são independentes entre si e as opções de cores do gráfico 3 são estritamente dependentes; qualquer nó adjacente deve ter uma cor diferente; essa propriedade pode ajudar a reduzir a iteração entre todas as cores.
A ideia geral de prova .
Vamos denotar por a cor do vértice , que pode assumir um dos seguintes valores (vermelho, verde, azul). Definir gráfico de um dado gráfico colorindo o vértice arbitrário atribuir para 'vermelho' e coloque o gráfico com vértice colorido para a entrada do oráculo. Se o oracle responder 1, o que significa que o gráfico modificado ainda é de três cores, salve as atribuições atuais e inicie uma nova iteração, com o vértice diferente escolhido arbitrariamente, vértice colorido de acordo com as cores dos vértices adjacentes. se o oracle responder 0, o que significa que a tarefa anterior quebrou três cores, escolha uma cor diferente do conjunto de três cores, mas ainda de acordo com as cores dos vértices adjacentes.
A prova anterior não é robusta em matemática, a questão é como melhorá-la e torná-la mais formal e matemática rigorosa. Parece que preciso distinguir com mais cuidado os casos em que o novo vértice não possui arestas com vértices já coloridos e quando o novo vértice é adjacente aos vértices já coloridos.
Além disso, gostaria de provar que a coloração do gráfico 3 é auto-redutível em baixa.
Definição de linguagem auto-redutível para baixo.
O idioma é dito ser auto-redutível para baixo se for possível determinar em tempo polinomial se usando os resultados das consultas mais curtas.
A idéia parece simples e intuitiva: comece colorindo um vértice arbitrário e, em cada iteração, adicione mais um vértice colorido e verifique pelo oracle se o gráfico ainda é de três cores, se não inverter a coloração anterior e verifique outra cor.
Mas como escrever a prova de maneira estrita e mais importante como encontrar uma codificação apropriada de um gráfico.
Em resumo, gostaria de mostrar que a coloração do gráfico 3 é auto-redutível e auto-redutível em sentido estrito e formal.
Eu aprecio compartilhar seus pensamentos conosco.
Atualizar:
auto-redutibilidade descendente
A auto-redutibilidade descendente é aplicada ao problema de decisão e o oracle responde ao mesmo problema de decisão com menos tempo de entrada. No final do processo de auto-redução descendente, devemos ter as atribuições de cores corretas.
A cada 3 - gráfico colorido com mais de três vértices, tem dois vértices com a mesma cor. Aparentemente, existem apenas três cores e mais de três vértices, portanto, um número de vértices não adjacentes pode ter a mesma cor. Se fundirmos e com a mesma cor do resultado, ainda temos um gráfico de 3 cores, apenas porque, se o gráfico é de 3 cores, existe a atribuição correta de todos os vértices adjacentes a e de acordo com a mesma cor de , mesclando não precisamos alterar nenhuma cor de nenhum vértice, precisamos apenas adicionar mais arestas entre os vértices já corretamente coloridos (sei que não é a melhor explicação, aprecio se alguém puder explicar melhor). Em cada iteração, pegamos dois vértices não adjacentes do gráfico mesclar e e obter gráfico qual é a nossa entrada mais curta para o oráculo. A Oracle responde se é de três cores ou não. Agora o problema está antes de configurar na entrada do oracle eu devo colorir o vértice mesclado e testar a colorabilidade de , se não for de três cores, altere a cor, mas como implementá-la corretamente, preciso da codificação correta.
auto-redutibilidade
Primeiro, devemos verificar se um determinado gráfico é de 3 cores, então defina-o na entrada do oracle, e o oracle responderá se for de 3 cores, se sim, inicie o processo. Quaisquer dois vértices não adjacentes podem ter a mesma cor no gráfico de três cores. O processo de auto-redutibilidade que devemos executar em iterações, acho que podemos começar com um pequeno subgrafo de um dado gráfico e em cada iteração adicione mais um vértice de para . Em paralelo, devemos manter a atribuição de vértices já coloridos. Infelizmente, ainda não entendi completamente a idéia. Gostaria de receber ajuda e dicas.