Tidak, Anda tidak dapat mengalahkan kueri . Saya akan menjelaskan bagaimana memformalkan sketsa bukti exfret tentang ini, dengan cara yang bekerja untuk algoritma adaptif. Ini semua diantisipasi dalam jawaban exfret; Saya hanya mengisi beberapa detail.Θ(n−−√)
Pertimbangkan algoritme apa pun (yang mungkin adaptif) yang mengeluarkan urutan kueri, di mana setiap kueri "mengambil tepi ke- dari daftar kedekatan vertex " atau "menguji apakah simpul terhubung oleh tepi". Kita dapat mengasumsikan bahwa tidak ada kueri yang diulang, karena algoritma apa pun yang mengulangi kueri dapat diubah menjadi kueri yang tidak pernah mengulangi kueri apa pun. Demikian pula, kita dapat mengasumsikan bahwa algoritma tidak pernah melakukan permintaan konektivitas pada setiap pasangan simpul yang sudah dikenal untuk dihubungkan dengan sebuah sisi (yaitu, menguji saat sebelumnya dikembalikan oleh pengambilan query pada , atau adalah sebelumnya dikembalikan oleh kueri pengambilan diivv,wv,wwvvw, atau sebelumnya kami menguji konektivitas ).w,v
Biarkan menunjukkan peristiwa bahwa, selama kueri pertama , tidak ada simpul dikembalikan oleh lebih dari satu permintaan-kuambil, dan tidak ada permintaan-ku mengembalikan sebuah simpul yang sebelumnya queried, dan bahwa tidak ada konektivitas-tes-permintaan kembali "terhubung ". Kami akan membuktikan bahwa jika . Oleh karena itu, tidak ada algoritma yang membuat kueri dapat memiliki probabilitas konstan untuk menemukan 4 siklus.EkkwPr[Eq]=1−o(1)q=o(n−−√)o(n−−√)
Bagaimana kita membuktikan ini? Mari menghitung . Ada dua kasus: kueri adalah kueri pengambilan, atau kueri uji konektivitas:Pr[Ek|Ek−1]k
Jika kueri th adalah kueri pengambilan pada vertex , ada simpul yang disebutkan di antara kueri pertama , dan jika kueri th mengembalikan salah satu dari itu maka kita akan memiliki , jika tidak kita akan memiliki . Sekarang respons terhadap permintaan didistribusikan secara seragam pada set dari simpul, di mana berisi semua simpul yang belum dikembalikan oleh pengambilan kueri sebelumnya pada , sehingga respons terhadap permintaan ke- didistribusikan secara seragam pada satu set ukuran setidaknyakv2(k−1)k−1k¬EkEkkSSvkn−k+1. Peluang untuk memukul setidaknya satu di antaranya adalah , jadi dalam kasus ini, .≤2(k−1)/(n−k+1)Pr[Ek|Ek−1]≥1−2(k−1)/(n−k+1)
Jika kueri adalah kueri uji konektivitas, maka .kPr[Ek|Ek−1]≥1−1/n−−√
Dalam kedua kasus, jika kita milikiq=o(n−−√)
Pr[Ek|Ek−1]≥1−2(k−1)(n−k+1).
Sekarang,
Pr[Eq]=∏k=1qPr[Ek|Eq−1].
Jika , makak≤q≤n−−√
Pr[Ek|Ek−1]≥1−2qn−q,
begitu
Pr[Eq]≥(1−2qn−q)q.
Sisi kanan kira-kira . Ketika , ini adalah .exp{−2q2/(n−q)}q=o(n−−√)1−o(1)
Kesimpulannya: ketika . Oleh karena itu, Anda memerlukan untuk memiliki probabilitas konstan untuk menemukan siklus apa pun (apalagi siklus 4).Pr[Eq]=1−o(1)q=o(n−−√)Ω(n−−√)