Rastgele bir grafikte kısa bir döngü bulmak ne kadar sürer?


9

Let rasgele bir grafik olarak kenarları. Çok yüksek olasılıkla, birçok döngüsü vardır. Amacımız, bu döngüden herhangi birini olabildiğince çabuk çıkarmaktır .GG(n,n1/2)n3/2G44

Biz erişebilir düşünürsek bitişiklik liste şeklinde, içinde sabit bir olasılık ile başarılı olabilir , aşağıdaki gibi bir süre: herhangi bir düğüm çekme ve rastgele üreten başlar başlayarak -paths ; bir son noktayı paylaşan iki ayrı yol bulduğumuzda, işimiz biter. olası uç nokta vardır ve doğum günü paradoksu hakkında keşfettikten sonra sürekli bir olasılıkla başaracağız .GO(n)v2v2nn

Daha iyisini yapabilir miyiz? Özellikle, sabit olasılıkla başarılı bir sabit zamanlı algoritma mümkün mü?


Bana öyle geliyor ki bu grafik, standart terminolojiyi kullanıyorsanız, istediğiniz özelliğe sahip olmak çok az kenarları bir gibidir ile numuneG(n,p)p=(n/C(n,2))=O(n3/2)
kodlu

Teşekkürler, (düzenlendi) demek istediğim konusunda haklısın . Bu grafikler olacaktır C_4 s her zaman iki düğüm payı \ ge 2 düğüm çifti başına sabit bir olasılık ile olur komşuları. p=n1/2C42
GMB

Buradaki terminolojiyi kullanıyorum ( en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model ), burada her kenar ile bağımsız olarak dahil edilmiştir - kenarları . pp(n2)
GMB

Yanıtlar:


6

Hayır, sorgularını yenemezsiniz . Uyarlayıcı algoritmalar için çalışan exfret'in bunun kanıt taslağını nasıl resmileştireceğimizi açıklayacağım . Bütün bunlar exfret'in cevabında bekleniyor; Sadece bazı detayları dolduruyorum.Θ(n)

Sorunlar her sorgu ya da bir sorgu, bir dizi "getirme herhangi bir (muhtemelen uyarlamalı) algoritması dikkate alın tepe th kenar ya da 'tepe noktaları olup bir test sitesindeki bitişiklik listesi' , bir kenar ile bağlanır". Bir sorguyu tekrarlayan herhangi bir algoritma, hiçbir sorguyu tekrarlamayan bir algoritmaya dönüştürülebileceğinden hiçbir sorgunun tekrarlanmadığını varsayabiliriz. Benzer şekilde, algoritma önce bir kenar (bağlı olduğu bilinen herhangi bir köşe çift bir bağlantı sorgu yapmaz varsayabiliriz yani, test zaman , daha önce tarafından döndürülen bir sorgu getirme , ya da idi önceden getirme sorgusu tarafından döndürüldüivv,wv,wwvvwveya daha önce ) 'nin bağlantısını test ettik .w,v

, ilk sorguları sırasında, köşe birden fazla getirme sorgusu tarafından döndürülmediği ve getirme sorgusunun daha önce sorgulanan bir tepe noktasını döndürmediği ve bağlantı-test sorgusunun döndürülmediği göstermesine izin verin ". ise olduğunu kanıtlayacağız . Sonuç olarak, sorguları yapan hiçbir algoritmanın sürekli bir 4 döngü bulma olasılığı olamaz.EkkwPr[Eq]=1o(1)q=o(n)o(n)

Bunu nasıl kanıtlarız? 'ı hesaplayalım . İki durum vardır: Sorgusu bir getirme sorgusudur veya bir bağlantı testi sorgusudur:Pr[Ek|Ek1]k

  1. Eğer inci sorgu isimli bir köşe sorgu getirme bulunmaktadır ilk arasında sözü edilen köşekv2(k1)k1 sorgular ve eğer inci sorgu döndürür onlardan biri o zaman olacak aksi halde, olacak . Şimdi yanıt inci sorgusu is eşit bir dizi dağıtılan köşe ait üzerinde önceden getirme sorgular tarafından teslim edilmemiş olan tüm köşe içeriyor cevaben böylece inci sorgu düzgün bir sette dağıtılan isimli en az büyüklüğündek¬EkEkkSSvknk+1. Bunlardan en az birine çarpma olasılığı , bu durumda .2(k1)/(nk+1)Pr[Ek|Ek1]12(k1)/(nk+1)

  2. Eğer inci sorgu isimli bir bağlantı test sorgu, daha sonra .kPr[Ek|Ek1]11/n

Her iki durumda da, Elimizdekiq=o(n)

Pr[Ek|Ek1]12(k1)(nk+1).

Şimdi,

Pr[Eq]=k=1qPr[Ek|Eq1].

Eğer , daha sonrakqn

Pr[Ek|Ek1]12qnq,

yani

Pr[Eq](12qnq)q.

Sağ taraf yaklaşık . Zaman , bu .exp{2q2/(nq)}q=o(n)1o(1)

Sonuç olarak: olduğunda . Herhangi bir döngü bulma olasılığına sahip olmak için ihtiyaç duyulur 4 döngü olsun).Pr[Eq]=1o(1)q=o(n)Ω(n)


"Eğer kth sorgusu bir bağlantı testi sorgusuysa, ." Düşünüyorum ? (Öyle olsa bile, sonuç yine de elbette geçmektedir.)Pr[Ek|Ek1]11/n11/n
usul

@usul, ayy, evet, teşekkürler! Sabit.
DW

5

En sadece sorgulayabilir varsayalım (ı kriteri olduğu varsayılarak am) veya iki verilen noktalar bitişik olup, belirli bir vertex en bitişiklik listesinin inci kenarı. Bu durumda, bir döngü bulmak için sorguları gerekir. Bunun nedeni , ilk türdeki tüm sorgularımızın farklı köşeler döndürmesi ve ikinci türdeki tüm sorgularımızın iki köşenin birbirine bağlı olmaması nedeniyle şansı olmasıdır.in1o(1)

Bir yerde yanılıyorsam veya sorunu yanlış anlarsam lütfen beni düzeltin.


1
Bu kanıt taslağı bana sadece uyumsuz algoritmalar (örn. Önceden düzeltilmiş sorgular) için çalışıyormuş gibi geliyor.
usul

@usul Neden böyle oldu? Neyse biz karar ağacının sadece bir dalını kullanıyoruz zaten.
exfret

Belki de açıklığa kavuşturmalıyım. Sorgularımıza reçete edildiği gibi cevaplar alırsak, sabit olasılıkla 4 döngü üretemeyeceğimiz açık olmalıdır. Ancak, derinlik herhangi bir karar ağacı bir var biz böyle bir şube aşağı gönderilir şans. o(n)1o(1)
16'da exfret

Teşekkürler! Ben (biraz keyfi olarak) diğer etli versiyonu kabul ettim ama anlaşılmış gibi görünüyor. Cevabı takdir et.
GMB

1
@GMB Sanırım doğru kararı verdiniz; diğeri çok daha kaliteli bir cevaptır ve ilk önce başkaları tarafından görülmeyi hak eder.
exfret
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.