Metoda, którą opisujesz dla uogólnień. Używamy tego, że wszystkie permutacje są równie prawdopodobne, nawet przy tendencyjnej matrycy (ponieważ rzuty są niezależne). Dlatego możemy kontynuować walcowanie, dopóki nie zobaczymy takiej permutacji, jak ostatnie rzutów i wyrzucamy ostatni rzut.[ 1 .. N ] NN.= 2[ 1 .. N]N.
Ogólna analiza jest trudna; jasne jest jednak, że oczekiwana liczba rolek rośnie szybko w ponieważ prawdopodobieństwo zaobserwowania permutacji na danym etapie jest niewielkie (i nie jest niezależne od kroków przed i po, a zatem trudne). To jest większy niż do stałej , jednak, więc procedura kończy się prawie na pewno (czyli z prawdopodobieństwem ).0 N 1N.0N.1
Dla ustalonego możemy zbudować łańcuch Markowa na zbiorze wektorów Parikha, które sumują się do , podsumowując wyniki ostatnich rzutów i określamy oczekiwaną liczbę kroków do osiągnięcia po raz pierwszy . Jest to wystarczające, ponieważ wszystkie permutacje dzielące wektor Parikha są jednakowo prawdopodobne; łańcuchy i obliczenia są w ten sposób prostsze.≤ N N ( 1 , … , 1 )N.≤ NN.(1,…,1)
Załóżmy, że znajdują się w stanie z . Wtedy prawdopodobieństwo uzyskania elementu (tj. Następny rzut to ) jest zawsze podawane przez∑ n i = 1 v i ≤ N i iv=(v1,…,vN)∑ni=1vi≤Nii
Pr[gain i]=pi .
Z drugiej strony, możliwość usunięcia elementu z historii dajei
Prv[drop i]=viN
za każdym razem (i przeciwnym razie) właśnie dlatego, że wszystkie permutacje z wektorem Parikha są jednakowo prawdopodobne. Te prawdopodobieństwa są niezależne (ponieważ rzuty są niezależne), więc możemy obliczyć prawdopodobieństwa przejścia w następujący sposób:0 v∑ni=1vi=N0v
Pr[v→(v1,…,vj+1,…,vN)]={Pr[gain j]0,∑v<N, else,Pr[v→(v1,…,vi-1,…vj+ 1 ,…,vN)]= {0Prv[ upuść i]⋅Pr[ zyskaj j ], ∑ v<N∨vja= 0 ∨vjot= N, else andPr[v→v]={0∑vi≠0Prv[drop i]⋅Pr[gain i],∑v<N, else;
wszystkie inne prawdopodobieństwa przejścia są równe zero. Pojedynczym stanem pochłaniającym jest , wektor wszystkich permutacji .[ 1 .. N ](1,…,1)[1..N]
Dla powstały łańcuch Markowa¹ wynosiN=2
[ źródło ]
z oczekiwaną liczbą kroków do wchłonięcia
Esteps=2p0p1⋅2+∑i≥3(pi−10p1+pi−11p0)⋅i=1−p0+p20p0−p20,
używając dla uproszczenia, że . Jeśli teraz, zgodnie z sugestią, dla niektórych , top 0 = 1p1=1−p0ϵ∈[0,1p0=12±ϵϵ∈[0,12)
Esteps=3+4ϵ21−4ϵ2 .
Dla i rozkładów jednorodnych (najlepszy przypadek) wykonałem obliczenia za pomocą komputerowej algebry²; ponieważ przestrzeń stanu eksploduje szybko, trudno jest oszacować większe wartości. Wyniki (zaokrąglone w górę) toN≤6
Wykresy pokazują w funkcji ; po lewej regularny, a po prawej wykres logarytmiczny.N.EstepsN
Wzrost wydaje się być wykładniczy, ale wartości są zbyt małe, aby dać dobre szacunki.
Jeśli chodzi o stabilność względem zakłóceń , możemy spojrzeć na sytuację dla : N = 3piN=3
Wykres pokazuje jako funkcję i ; naturalnie .p 0 p 1 p 2 = 1 - p 0 - p 1Estepsp0p1p2=1−p0−p1
Zakładając podobne obrazy dla większego (jądro ulega awarii przy obliczaniu wyników symbolicznych nawet dla ), oczekiwana liczba kroków wydaje się być dość stabilna dla wszystkich oprócz najbardziej ekstremalnych wyborów (prawie cała masa lub żadna masa przy niektórych ).N = 4 p iNN=4pi
Dla porównania, symulowanie monety niezależnej od (np. Poprzez równomierne przypisanie wyników do i ), użycie jej do symulacji uczciwej monety i wreszcie wykonanie próbkowania z odrzuceniem bitowym wymaga co najwyżej0 1ϵ01
2⌈logN⌉⋅3+4ϵ21−4ϵ2
kostki rzucają się w oczekiwaniu - prawdopodobnie powinieneś się z tym trzymać.
- Ponieważ łańcuch absorbuje w krawędzie zaznaczone na szaro nigdy nie są przesuwane i nie wpływają na obliczenia. Zawieram je wyłącznie w celach kompletności i celów ilustracyjnych.(11)
- Implementacja w Mathematica 10 ( Notatnik , Bare Source ); przepraszam, to wiem z tego rodzaju problemów.