Estamos trabalhando em um artigo que apresenta alguns algoritmos para encontrar triângulos e motivos de rede (subgráficos de tamanho constante, também conhecidos como gráficos) em uma configuração distribuída. Caracterizamos a troca entre o número de triângulos no gráfico e a carga de comunicação necessária. Estou procurando referências para o trabalho realizado sobre essa questão no modelo centralizado.
O problema é que quase tudo o que encontrei neste tópico que tinha um sabor teórico estava dentro da estrutura dos testes de propriedade . Para ilustrar a diferença - considere o caso de um gráfico com vértices, composto por triângulos todos compartilhando a aresta . Do ponto de vista do teste de propriedades, esse gráfico está muito próximo de ser livre de triângulo (removendo essa aresta crítica), enquanto possui um número linear de triângulos, o que é muito para nossos padrões.n - 2 ( 1 , 2 )
Todas as referências serão apreciadas.
Edit: Estou interessado principalmente em algoritmos que podem determinar se o gráfico contém triângulos rapidamente. Para algoritmos de listagem de triângulo (ou outro subgráfico), o tempo de execução é naturalmente limitado a partir de baixo pelo número de triângulos no gráfico, pois o algoritmo precisa listar todos eles, tornando essas instâncias mais difíceis em certo sentido. Do ponto de vista de um problema de decisão ("sem triângulo ou não"), ter muitos triângulos realmente facilita o problema, pois é possível encontrá-lo facilmente.
Respostas:
Para várias referências ao problema de teste para a existência de um triângulo (exatamente, não na estrutura de teste de propriedades), consulte Gráfico sem triângulo na Wikipedia. Em particular, Alon, Yuster e Zwick (ESA'94) fornecem um algoritmo O (m ^ {1.41}), e isso também pode ser feito em tempo de multiplicação de matriz rápida, melhor para gráficos densos.
Se você concorda com algo na configuração dos algoritmos de gráfico dinâmico, também tenho um para contar os triângulos:
O índice h de um gráfico e sua aplicação às estatísticas de subgráficos dinâmicos, D. Eppstein e ES Spiro, arXiv: 0904.3741 e WADS 2009.
Em nosso artigo, citamos Chiba e Nishizeki (SICOMP 1985) e Itai e Rodeh (SICOMP 1978) pelos fatos básicos do algoritmo estático que um gráfico com m arestas pode ter no máximo O (m ^ {3/2}) triângulos no na pior das hipóteses e que possam ser listados nessa quantidade de tempo.
fonte
Se você quiser ver o porquê, considere a seguinte família de gráficos:
fonte
Não entendo exatamente sua pergunta em termos de seu objetivo final. No entanto, você pode considerar a versão FPT do problema de empacotamento em triângulo, se isso ajudar de alguma forma no seu problema. Em particular, você pode considerar o EDTP (Edge Disjoint Triangle Packing) ou o VDTP (Triangle Disjoint Triangle Packing) e fazer o kernel da instância do gráfico para O (k) ou O (k ^ 2), respectivamente, em termos de número de vértices. Você também pode fazer o kernel do número de triângulos [O (k ^ 3)]. Após o kernelization, seria mais fácil analisar os triângulos na instância do gráfico.
fonte