Elementos mínimos de um predicado monotônico sobre o conjunto de potências

12

Considere um predicado monotônico P sobre o conjunto de potências 2|n|(ordenado por inclusão). Por "monotônico", quero dizer: x,y2|n|tal que xy , se P(x) então P(y) . Eu estou procurando um algoritmo para encontrar todos os elementos mínimos de P , ou seja, a x2|n|tal que P(x)mas yx , ¬P(y) . Desde a largura de 2|n|é (nn/2) , pode haver exponencialmente muitos elementos mínimos e, portanto, o tempo de execução desse algoritmo pode ser exponencial em geral. No entanto, poderia existir um algoritmo para esta tarefa que seja polinomial no tamanho da saída?

[Contexto: Uma pergunta mais geral foi feita, mas não houve tentativa nas respostas para avaliar a complexidade do algoritmo no tamanho da saída. Se eu presumo que existe apenas um elemento mínimo, por exemplo, posso executar uma pesquisa binária após esta resposta e encontrá-la. No entanto, se eu quiser continuar encontrando elementos mais mínimos, preciso manter as informações atuais que tenho sobre P forma a torná-lo tratável para continuar a pesquisa sem perder tempo com o que já é conhecido. É possível fazer isso e encontrar todos os elementos mínimos em tempo polinomial no tamanho da saída?]

Idealmente, gostaria de entender se isso pode ser feito com DAGs gerais, mas já não sei como responder à pergunta por 2|n| .

a3nm
fonte
O conjunto de potências ordenado por inclusão é um DAG (com as várias partes de como vértices e uma aresta entre pares de partes incluídas uma na outra, mantendo apenas a redução transitiva deste gráfico para remover arestas redundantes implicadas pela transitividade). Parece natural fazer a mesma pergunta sobre DAGs arbitrários. 2|n|{1,...,n}
a3nm

Respostas:

14

Seu problema é conhecido na literatura de aprendizado como "aprendendo funções monótonas usando consultas de associação". Uma classe de funções monótonas para as quais é possível identificar todos os mintermos é conhecida como "polinomialmente aprendível usando consultas de associação".

Parece que a existência de um algoritmo de tempo polinomial ainda está aberta. Schmulevich et al. provar que "quase todas as funções booleanas monótonas são polinomialmente aprendidas usando consultas de associação". Se também exigem que o th mintermo ser gerado em tempo polinomial em e , em seguida, o problema é equivalente a dualização monótona, como mostrado por Bioch e Ibaraki . Aqui está uma pesquisa que aborda a dualização monótona.n ttnt

Yuval Filmus
fonte
Obrigado por esta resposta extremamente útil. Você conhece generalizações para DAGs arbitrários (isto é, mais do que os casos especiais na seção 5.2 de Eiter et al.)?
a3nm
Não, infelizmente não.
Yuval Filmus
OK, eu aceito esta resposta de qualquer maneira. Observações adicionais: (1) essa resposta é sobre a complexidade computacional, não sobre o número de avaliações de (consulte cstheory.stackexchange.com/a/14862/4795 para este último caso) e (2) a abertura exata A questão é "você pode aprender uma função booleana monótona no tempo polinomial em e seu número de mínimos e máximos", não há esperança de fazê-lo no tempo polinomial em número de máximos, porque pode haver um número linear de máximos mas um número exponencial de mínimos (ver seção 6.1, parágrafo 2, na pesquisa mencionada acima). n nPnn
a3nm
Consulte minha outra pergunta cstheory.stackexchange.com/q/16258/4795 para obter informações sobre a complexidade global da consulta de pior caso para DAGs arbitrários.
A3nm
dualização monotônica (CNF ← → DNF) e DAGs. parece muito com um teorema da complexidade booleana da função juknas book, sec 9.4. "critério de limites inferiores" thm 9.17
vzn