Na complexidade do circuito, temos separações entre potências de vários modelos de circuitos.
Na complexidade da prova, temos separações entre potências de vários sistemas de prova.
Mas no algorítmico, ainda temos poucas separações entre os poderes dos paradigmas algorítmicos .
Minhas perguntas abaixo visam abordar esse último problema por dois paradigmas: ganância e programação dinâmica.
Temos um conjunto de elementos básicos e uma família de subconjuntos é declarada como solução viável. Assumimos que essa família esteja fechada para baixo: subconjuntos de soluções viáveis são viáveis. Dada uma atribuição de pesos não negativos aos elementos fundamentais, o problema é calcular o peso total máximo de uma solução viável.
O algoritmo ganancioso começa com uma solução parcial vazia e, a cada passo, adiciona um elemento ainda não tratado de maior peso, se isso for possível, isto é, se a solução estendida ainda for viável. O conhecido teorema de Rado-Edmonds afirma que esse algoritmo encontrará uma solução ideal para todas as ponderações de entrada se a família de soluções viáveis for um matróide.
Grosso modo, um algoritmo DP é simples , se ele usa apenas operações Max e Sum (ou Min e Sum). Para ser mais específico (como sugerido por Joshua), por um algoritmo DP simples , entenderei um circuito (max, +) com portas Fanin-2 Max e Sum. As entradas são variáveis, a ésima das quais corresponde ao peso dado ao ésima elemento. Esse circuito pode resolver qualquer problema, calculando apenas o peso total máximo de uma solução viável. Mas isso pode ser muito exagerado, se tivermos exponencialmente muitas dessas soluções (como é quase sempre o caso).
Pergunta 1: Existem matróides, nos quais qualquer algoritmo DP simples precisará de um número super-polinomial de operações para resolver o problema de maximização correspondente?
COMENTÁRIO (adicionado 2015/12/24): Esta pergunta já foi respondida (veja abaixo): não são esses matróides, mesmo em esmagadora maioria.
A próxima pergunta pede para separar DP ganancioso e simples para problemas de aproximação . No problema de correspondência de peso máximo , a família de soluções viáveis consiste em todas as correspondências no gráfico bipartido completo. Para uma determinada atribuição de pesos às bordas, o objetivo é calcular o peso máximo de uma correspondência (sempre será uma correspondência perfeita, pois o peso não é negativo).
O algoritmo simples e ganancioso pode aproximar esse problema do fator 2: basta sempre ter uma margem disjunta ainda não vista do peso máximo. O peso obtido será pelo menos metade do peso ideal.
Pergunta 2: Um algoritmo de DP simples pode se aproximar do problema de correspondência de peso máximo no fator 2 usando apenas polinomialmente muitas operações de Max e Sum?
Obviamente, um algoritmo DP trivial, que gera vezes o peso máximo de uma aresta, aproxima esse problema dentro do fator n . Mas queremos um fator muito menor. Eu acho que mesmo um fator n / log n não pode ser alcançado, mas, novamente: como provar isso?
RELACIONADO: Um primo da correspondência de peso máximo é o problema de atribuição : encontre o peso mínimo de uma correspondência perfeita. Esse problema pode ser resolvido (mesmo que exatamente) por programação linear (o chamado algoritmo húngaro) usando apenas operações . Mas o limite inferior de Razborov no tamanho de circuitos booleanos monótonos que calculam a função permanente implica (não diretamente) que qualquer circuito (min, +) que se aproxime desse problema em qualquer fator finito (!) Deve usar operações n Ω ( log n ) . Assim, para minimizaçãoproblemas, algoritmos DP simples podem ser muito mais fracos que a programação linear. Minhas perguntas acima visam mostrar que esses algoritmos de DP podem ser ainda mais fracos que o Greedy.
Alguém viu perguntas semelhantes sendo consideradas por alguém?
ADICIONADO (em 24.12.2015): a questão 2 tem como objetivo mostrar que um problema de maximização específico (o problema de correspondência de peso máximo), que pode ser aproximado pelo algoritmo guloso com fator , não pode ser aproximado por um simples tamanho poligonal DP com o mesmo fator r . Enquanto isso, obtive uma separação mais fraca entre DP Greedy e DP simples: para cada r = o ( n / log n ) , existe um problema explícito de maximização que pode ser aproximado pelo algoritmo ganancioso com fator r , mas nenhum DP simples com tamanho poli algoritmo pode aproximar esse problema com uma menorfator (veja aqui um esboço). Ainda assim, a própria pergunta 2 (não necessariamente para esse problema específico de peso máximo) permanece real: seria interessante direcionar o mesmo fator pelos dois algoritmos.
Respostas:
Acho que a resposta à pergunta 1 é afirmativa : não são matróides em que simples DP falhar mal! Ou seja, o DP simples pode ser muito pior que o Greedy ao tentar resolver exatamente um problema de otimização .
fonte