Dado um gráfico , onde . O que é um algoritmo rápido para gerar o conjunto de todas as listas de vizinhança 2-hop de todos os nós em .
Ingenuamente, você pode fazer isso em . Com o poder das matrizes, você pode fazer isso com usando o algoritmo Strassen. Você pode fazer melhor que isso usando outro algoritmo de multiplicação de matrizes. Algum método melhor? Algum algoritmo de Las Vegas?
Respostas:
A questão realmente depende de qual é a definição precisa de um 2-hop. Se por um salto de 2 segundos você quer dizer o conjunto a resposta atual é não, você não pode fazê-lo mais rapidamente que que é a constante usual associada à complexidade de executar o produto da matriz.
Por quê? Para cada vértice verifique se é adjacente ao vértice emSe for esse o caso, você encontrou um triângulo no seu gráfico. Além disso, o gráfico é livre de triângulo se você não encontrar um vértice com essa propriedade.v v h p ( v ) . v
O algoritmo atualmente mais conhecido para testar se um gráfico está livre de triângulos possui complexidade de tempoO (nω) .
fonte