Não, você não pode superar as consultas . Vou explicar como formalizar o esboço de prova do exfret , de uma maneira que funcione para algoritmos adaptativos. Tudo isso é esperado na resposta do exfret; Estou apenas preenchendo alguns detalhes.Θ(n−−√)
Considere qualquer algoritmo (possivelmente adaptativo) que as questões de uma sequência de consultas, onde cada consulta ou é "buscar o th borda do vértice 's lista de adjacência" ou 'testar se vértices são conectados por uma aresta'. Podemos assumir que nenhuma consulta é repetida, pois qualquer algoritmo que repete uma consulta pode ser transformado em um que nunca repita nenhuma consulta. Da mesma forma, podemos supor que o algoritmo nunca faz uma consulta de conectividade em qualquer par de vértices que já são conhecidas para ser conectado por uma aresta (ou seja, testando , quando anteriormente foi retornado por uma busca consulta em ou era retornado anteriormente por uma consulta de busca emivv,wv,wwvvwou testamos anteriormente a conectividade de ).w,v
Deixe denotar o evento que, durante as primeiras consultas, nenhum vértice é retornado por mais de uma consulta de busca e nenhuma consulta de busca retorna um vértice que foi consultado anteriormente e que nenhuma consulta de teste de conectividade retorna "conectado " Vamos provar que se . Conclui-se que nenhum algoritmo que faz consultas pode ter uma probabilidade constante de encontrar um ciclo de 4.EkkwPr[Eq]=1−o(1)q=o(n−−√)o(n−−√)
Como provamos isso? Vamos calcular . Há dois casos: ou o th consulta é uma busca consulta, ou é uma consulta de conectividade de teste:Pr[Ek|Ek−1]k
Se a é uma consulta de busca no vértice , existem vértices mencionados entre as primeiras consultas , e se a a consulta retorna uma dessas, teremos , caso contrário teremos . Agora, a resposta à ésima consulta é distribuída uniformemente em um conjunto de vértices, em que contém todos os vértices que não foram retornados pelas consultas de busca anteriores em , portanto, a resposta à ésima consulta é distribuída uniformemente em um conjunto de tamanho pelo menoskv2(k−1)k−1k¬EkEkkSSvkn−k+1. A probabilidade de atingir pelo menos um deles é , portanto, neste caso, .≤2(k−1)/(n−k+1)Pr[Ek|Ek−1]≥1−2(k−1)/(n−k+1)
Se o th consulta é uma consulta conectividade de teste, então .kPr[Ek|Ek−1]≥1−1/n−−√
Nos dois casos, se tivermosq=o(n−−√)
Pr[Ek|Ek−1]≥1−2(k−1)(n−k+1).
Agora,
Pr[Eq]=∏k=1qPr[Ek|Eq−1].
Se , entãok≤q≤n−−√
Pr[Ek|Ek−1]≥1−2qn−q,
tão
Pr[Eq]≥(1−2qn−q)q.
O lado direito é aproximadamente . Quando , isso é .exp{−2q2/(n−q)}q=o(n−−√)1−o(1)
Em conclusão: quando . Daqui resulta que você precisa para ter probabilidade constante de encontrar qualquer ciclo (sem falar em um ciclo de 4).Pr[Eq]=1−o(1)q=o(n−−√)Ω(n−−√)