Nie, nie możesz pokonać zapytań . Wyjaśnię, jak sformalizować szkic dowodowy tego exfret , w sposób, który działa w przypadku algorytmów adaptacyjnych. Wszystko to przewiduje odpowiedź exfret; Właśnie uzupełniam niektóre szczegóły.Θ(n−−√)
Rozważ dowolny (ewentualnie adaptacyjny) algorytm, który wydaje sekwencję zapytań, przy czym każde zapytanie albo „pobiera krawędź listy sąsiadujących wierzchołków ”, albo „sprawdza, czy wierzchołki są połączone krawędzią”. Możemy założyć, że żadne zapytanie nie jest powtarzane, ponieważ każdy algorytm, który je powtarza, może zostać przekształcony w taki, który nigdy nie powtarza żadnego zapytania. Podobnie możemy założyć, że algorytm nigdy nie wykonuje zapytania o połączenie na żadnej parze wierzchołków, o których wiadomo, że są połączone przez krawędź (a mianowicie, testowanie gdy zostało wcześniej zwrócone przez zapytanie pobierania na , lub było poprzednio zwrócone przez zapytanie pobierania wivv,wv,wwvvwlub testowaliśmy wcześniej łączność ).w,v
Niech oznacza zdarzenie, że podczas pierwszych zapytań żaden wierzchołek jest zwracany przez więcej niż jedno zapytanie pobierania, a żadne zapytanie pobierania nie zwraca wierzchołka, który był poprzednio zapytany, i że żadne zapytanie testu połączenia nie zwraca „połączony” „. Udowodnimy, że jeśli . Wynika z tego, że żaden algorytm, który powoduje zapytania może mieć stałego prawdopodobieństwa znalezienia 4 cykli.EkkwPr[Eq]=1−o(1)q=o(n−−√)o(n−−√)
Jak to udowodnimy? Obliczmy . Istnieją dwa przypadki: albo th zapytania to sprowadzić zapytanie, czy jest to zapytanie łączność test:Pr[Ek|Ek−1]k
Jeśli th zapytania to sprowadzić zapytanie na wierzchołek , istnieją wierzchołki wymienione wśród pierwszych zapytaniami, a jeśli th kwerenda zwraca jeden z tych, wtedy mamy , inaczej będziemy mieli . Teraz odpowiedź na te zapytanie jest równomiernie rozłożona na zestawie wierzchołków, gdzie zawiera wszystkie wierzchołki, które nie zostały zwrócone przez poprzednie zapytania pobierania na , więc odpowiedź na te zapytanie jest równomiernie rozłożona na zestawie o wielkości co najmniejkv2(k−1)k−1k¬EkEkkSSvkn−k+1. Prawdopodobieństwo trafienia co najmniej jednego z nich to , więc w tym przypadku .≤2(k−1)/(n−k+1)Pr[Ek|Ek−1]≥1−2(k−1)/(n−k+1)
Jeśli p zapytanie jest zapytanie testu łączność, to .kPr[Ek|Ek−1]≥1−1/n−−√
W obu przypadkach, jeśli mamyq=o(n−−√)
Pr[Ek|Ek−1]≥1−2(k−1)(n−k+1).
Teraz,
Pr[Eq]=∏k=1qPr[Ek|Eq−1].
Jeśli , tok≤q≤n−−√
Pr[Ek|Ek−1]≥1−2qn−q,
więc
Pr[Eq]≥(1−2qn−q)q.
Prawa strona to w przybliżeniu . Gdy , jest to .exp{−2q2/(n−q)}q=o(n−−√)1−o(1)
Podsumowując: gdy . Wynika z tego, że potrzebujesz aby mieć stałe prawdopodobieństwo znalezienia dowolnego cyklu (nie mówiąc już o 4 cyklach).Pr[Eq]=1−o(1)q=o(n−−√)Ω(n−−√)