Chapter 5 Exercises

Exercises
5.2-4 Given a permutation A, What is the expected number of indices i such that A[i] = i?
The answer is amazingly a constant, 1.
Lemma 5.1 The probablity of the permutation that no number is correctly placed D(n) = 1-1/1!+1/2!+...+(-1)^n/n!
Let B[i] stands for the condition that permutation A satifies A[i] = i
Thus D(n) = Pr{~B[1] and ~B[2] ... and ~B[n]}
= 1 - C(1,n)*(n-1)! + C(2,n)*(n-2)! + ... + (-1)^n*C(n,n)*0!
= 1-1/1!+...+(-1)^n/n!
Then, let C[i] stands for the condition that permutation A has exactly i correctly-placed number
According to the lemma, Pr{C[i]} = C(i,n)*(D(n-i)*(n-i)!)/n! = D(n-i)/i!
Thus, E[x] = sigma(i=0~n,i*Pr{C[i]})
= sigma(i=0~n,i*D(n-i)/i!)
= sigma(i=1~n,D(n-i)/(i-1)!)
= sigma(i=1~n,sigma(j=0~n-i,(-1)^j/j!) / (i-1)!)
= sigma(i+j<=n,i>0,(-1)^j /(i-1)!/j!)
= sigma(i+j<=n-1,(-1)^j / i! / j!)
if i+j = 0, sigma((-1)^j/i!/j!) = 1
if i+j > 0, sigma((-1)^j/i!/j!) = 1/(i+j)! * sigma((-1)^j*C(j,i+j)) = 0
Thus E[x] = 1

5.3-3
PERMUTE-WITH-ALL(A)
1 n <- length[A]
2 for i <- 1 to n
3 do swap A[i] <-> A[RANDOM(1,n)]
Does this code produce a uniform random permutation? Why or why not?
Not necessary.
First of all, this algorithm produces n^n posibilities, but there are only n! permutations. If the permutation distribution is uniform, n! | n^n
If n >= 3, then (n-1,n) = 1 and n-1 > 1, thus n-1 can't divide n
Thus for n >= 3, n! can't divide n^n
For n = 2, it can be concluded that both permutation 1,2 and 2,1 have the probability of 50%. Thus the algorithm is correct for n = 2
To conclude, the answer is no for all n >= 3

5.3-4
PERMUTE-BY-CYCLIC(A)
1 n <- length[A]
2 offset <- RANDOM(1,n)
3 for i <- 1 to n
4 do dest <- i + offset
5 if dest > n
6 then dest <- dest - n
7 B[dest] <- A[i]
8 return B
Show that each element A[i] has a 1/n probability of winding up in any particular position B. Then show that B is not uniformly random.
The former statement is obvious because offset is uniformly randomly chosen.
The latter statement is also obvious because A[i] and A[j] may collapse in the same dest.

5.4-7
Show that in n flips of a fair coin, the probability is less than 1/n that no streak longer than lgn-2lglgn consecutive heads occurs.
In the proof in section 5.4.3, treat floor((lgn)/2) as a function f(n), replace the function with floor(lgn - 2lglgn).
Then the probability required is at most (1-2^-f(n))^(n/f(n))
= (1 - (lgn)^2 / n)^(n/lgn)
<= e^( -(lgn)^2 / n * n / lgn) (1+x<=e^x)
= e^(-lgn) = 1/n

转载于:https://www.cnblogs.com/FancyMouse/articles/1034195.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值