Markov chains and the number of occurrences of a word in a sequence (4.5–4.9, 11.1,2,4,6)
- Prof. Tesler
Math 283 Fall 2018
- Prof. Tesler
Markov Chains Math 283 / Fall 2018 1 / 44
Markov chains and the number of occurrences of a word in a sequence - - PowerPoint PPT Presentation
Markov chains and the number of occurrences of a word in a sequence (4.54.9, 11.1,2,4,6) Prof. Tesler Math 283 Fall 2018 Prof. Tesler Markov Chains Math 283 / Fall 2018 1 / 44 Locating overlapping occurrences of a word Consider a
Markov Chains Math 283 / Fall 2018 1 / 44
Markov Chains Math 283 / Fall 2018 2 / 44
A,C,T G G C,T G GA A A,C,T GAG G C,T G GAGA A A,C,T G
x
Markov Chains Math 283 / Fall 2018 3 / 44
A,C,T G G C,T G GA A A,C,T GAG G C,T G GAGA A A,C,T G
Markov Chains Math 283 / Fall 2018 4 / 44
A,C,T G G C,T G GA A A,C,T GAG G C,T G GAGA A A,C,T G
A,C,T G G C,T G GA A A,C,T GAG G C,T G GAGA A A,C,T G
Markov Chains Math 283 / Fall 2018 5 / 44
A,C,T G G C G GA A GT
T
A,C,T GAG G C G GAGA A
T
GTG
A,C,T
G GTGA
A,C,T
G C
G T
A
A,C,T
G
G
Markov Chains Math 283 / Fall 2018 6 / 44
1
2
Markov Chains Math 283 / Fall 2018 7 / 44
Markov Chains Math 283 / Fall 2018 8 / 44
pA+pC+pT G pG pC+pT pG GA pA pA+pC+pT GAG pG pC+pT pG GAGA pA pA+pC+pT pG
pA+pC+pT G pG pC+pT pG GA pA pA+pC+pT GAG pG pC+pT pG GAGA pA pA+pC+pT pG
Markov Chains Math 283 / Fall 2018 9 / 44
Markov Chains Math 283 / Fall 2018 10 / 44
Markov Chains Math 283 / Fall 2018 11 / 44
1
2
3
4
5
Markov Chains Math 283 / Fall 2018 12 / 44
Markov Chains Math 283 / Fall 2018 13 / 44
Markov Chains Math 283 / Fall 2018 14 / 44
Markov Chains Math 283 / Fall 2018 15 / 44
Markov Chains Math 283 / Fall 2018 16 / 44
Markov Chains Math 283 / Fall 2018 17 / 44
>> P1 = [ [ 3/4, 1/4, 0, 0, 0 ]; % [ 2/4, 1/4, 1/4, 0, 0 ]; % G [ 3/4, 0, 0, 1/4, 0 ]; % GA [ 2/4, 1/4, 0, 0, 1/4 ]; % GAG [ 3/4, 0, 0, 1/4, 0 ]; % GAGA ] P1 = 0.7500 0.2500 0.5000 0.2500 0.2500 0.7500 0.2500 0.5000 0.2500 0.2500 0.7500 0.2500 >> P1 * P1 % or P1^2 ans = 0.6875 0.2500 0.0625 0.6875 0.1875 0.0625 0.0625 0.6875 0.2500 0.0625 0.6875 0.1875 0.0625 0.0625 0.6875 0.2500 0.0625
> P1 = rbind( + c(3/4,1/4, 0, 0, 0), # + c(2/4,1/4,1/4, 0, 0), # G + c(3/4, 0, 0,1/4, 0), # GA + c(2/4,1/4, 0, 0,1/4), # GAG + c(3/4, 0, 0,1/4, 0) # GAGA + ) > P1 [,1] [,2] [,3] [,4] [,5] [1,] 0.75 0.25 0.00 0.00 0.00 [2,] 0.50 0.25 0.25 0.00 0.00 [3,] 0.75 0.00 0.00 0.25 0.00 [4,] 0.50 0.25 0.00 0.00 0.25 [5,] 0.75 0.00 0.00 0.25 0.00 > P1 %*% P1 [,1] [,2] [,3] [,4] [,5] [1,] 0.6875 0.2500 0.0625 0.0000 0.0000 [2,] 0.6875 0.1875 0.0625 0.0625 0.0000 [3,] 0.6875 0.2500 0.0000 0.0000 0.0625 [4,] 0.6875 0.1875 0.0625 0.0625 0.0000 [5,] 0.6875 0.2500 0.0000 0.0000 0.0625 Note: R doesn’t have a built-in matrix power function. The > and + symbols above are prompts, not something you enter.
Markov Chains Math 283 / Fall 2018 18 / 44
Markov Chains Math 283 / Fall 2018 19 / 44
pA+pC+pT G pG pC+pT pG GA pA pA+pC+pT GAG pG pC+pT pG GAGA pA pA+pC+pT pG
4ϕ1 + 1 2ϕ2 + 3 4ϕ3 + 1 2ϕ4 + 3 4ϕ5
4ϕ1 + 1 4ϕ2 + 0ϕ3 + 1 4ϕ4 + 0ϕ5
4ϕ2 + 0ϕ3 + 0ϕ4 + 0ϕ5
4ϕ3 + 0ϕ4 + 1 4ϕ5
4ϕ4 + 0ϕ5
Markov Chains Math 283 / Fall 2018 20 / 44
>> eye(5) # identity 1 1 1 1 1 >> P1’ - eye(5) # transpose minus identity
0.5000 0.7500 0.5000 0.7500 0.2500 -0.7500 0.2500 0.2500 -1.0000 0.2500 -1.0000 0.2500 0.2500 -1.0000 >> [P1’ - eye(5) ; 1 1 1 1 1]
0.5000 0.7500 0.5000 0.7500 0.2500 -0.7500 0.2500 0.2500 -1.0000 0.2500 -1.0000 0.2500 0.2500 -1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 >> sstate=[P1’-eye(5); 1 1 1 1 1] \ [0 0 0 0 0 1]’ sstate = 0.6875 0.2344 0.0586 0.0156 0.0039
> diag(1,5) % identity [,1] [,2] [,3] [,4] [,5] [1,] 1 [2,] 1 [3,] 1 [4,] 1 [5,] 1 > t(P1) - diag(1,5) % transpose minus identity [,1] [,2] [,3] [,4] [,5] [1,] -0.25 0.50 0.75 0.50 0.75 [2,] 0.25 -0.75 0.00 0.25 0.00 [3,] 0.00 0.25 -1.00 0.00 0.00 [4,] 0.00 0.00 0.25 -1.00 0.25 [5,] 0.00 0.00 0.00 0.25 -1.00 > rbind(t(P1) - diag(1,5), c(1,1,1,1,1)) [,1] [,2] [,3] [,4] [,5] [1,] -0.25 0.50 0.75 0.50 0.75 [2,] 0.25 -0.75 0.00 0.25 0.00 [3,] 0.00 0.25 -1.00 0.00 0.00 [4,] 0.00 0.00 0.25 -1.00 0.25 [5,] 0.00 0.00 0.00 0.25 -1.00 [6,] 1.00 1.00 1.00 1.00 1.00 > sstate = qr.solve(rbind(t(P1) - diag(1,5), + c(1,1,1,1,1)),c(0,0,0,0,0,1)) > sstate [1] 0.68750000 0.23437500 0.05859375 0.01562500 [5] 0.00390625
Markov Chains Math 283 / Fall 2018 21 / 44
Markov Chains Math 283 / Fall 2018 22 / 44
Markov Chains Math 283 / Fall 2018 23 / 44
Markov Chains Math 283 / Fall 2018 24 / 44
Markov Chains Math 283 / Fall 2018 25 / 44
Markov Chains Math 283 / Fall 2018 26 / 44
pA+pC+pT G pG pC+pT pG GA pA pA+pC+pT GAG pG pC+pT pG GAGA pA pA+pC+pT pG
Markov Chains Math 283 / Fall 2018 27 / 44
Markov Chains Math 283 / Fall 2018 28 / 44
pA+pC+pT G pG pC+pT pG GA pA pA+pC+pT GAG pG pC+pT pG GAGA pA pA+pC+pT pG
3 4 1 4 0 0 0 1 2 1 4 1 4 0 0 3 4 0 0 1 4 0 1 2 1 4 0 0 1 4 3 4 0 0 1 4 0
3 4 15 88 45 704 1 88 3 704 11 15 1 4 1 60
15 16 1 16
Markov Chains Math 283 / Fall 2018 29 / 44
Markov Chains Math 283 / Fall 2018 30 / 44
pA+pC+pT G pG pC+pT pG GA pA pA+pC+pT GAG pG pC+pT pG GAGA pA pA+pC+pT pG
Markov Chains Math 283 / Fall 2018 31 / 44
Markov Chains Math 283 / Fall 2018 32 / 44
Markov Chains Math 283 / Fall 2018 33 / 44
4(E(N1) + 1) + 1 4(E(N2) + 1)
4E(N1) + 1 4E(N2)
2(E(N1) + 1) + 1 4(E(N2) + 1) + 1 4(E(N3) + 1) = 1 + 1 2E(N1) + 1 4E(N2) + 1 4E(N3)
4(E(N1) + 1) + 1 4(E(N4) + 1)
4E(N1) + 1 4E(N4)
4 + 1 2(E(N1) + 1) + 1 4(E(N2) + 1)
2E(N1) + 1 4E(N2)
4(E(N1) + 1) + 1 4(E(N4) + 1)
4E(N1) + 1 4E(N4)
Markov Chains Math 283 / Fall 2018 34 / 44
Markov Chains Math 283 / Fall 2018 35 / 44
3 2
2
Markov Chains Math 283 / Fall 2018 36 / 44
Markov Chains Math 283 / Fall 2018 37 / 44
Markov Chains Math 283 / Fall 2018 38 / 44
» P1 = [ [ 3/4, 1/4, 0, 0, 0 ]; % [ 2/4, 1/4, 1/4, 0, 0 ]; % G [ 3/4, 0, 0, 1/4, 0 ]; % GA [ 2/4, 1/4, 0, 0, 1/4 ]; % GAG [ 3/4, 0, 0, 1/4, 0 ]; % GAGA ] P1 = 0.7500 0.2500 0.5000 0.2500 0.2500 0.7500 0.2500 0.5000 0.2500 0.2500 0.7500 0.2500 » [V1,J1] = jordan(P1) V1 =
0.0117 0.0430 0.1339 0.4066 -0.0430
0.0430 0.1793 0.5884 -0.0430 0.0117 0.0430 0.3839 1.4066 -0.0430
0.0430 0.1793 1.5884 -0.0430 J1 = 1 1 1 1 » V1i = inv(V1) V1i = 52.3636 -64.0000 11.6364
16.0000 13.0909 -16.0000 2.9091
4.0000 4.0000
1.0000
» V1 * J1 * V1i ans = 0.7500 0.2500
0.0000 0.5000 0.2500 0.2500
0.0000 0.7500
0.2500
0.5000 0.2500 0.0000
0.2500 0.7500
0.2500
Markov Chains Math 283 / Fall 2018 39 / 44
» J1 J1 = 1 1 1 1 » J1ˆ2 ans = 1 1 1 » J1ˆ3 ans = 1 1 » J1ˆ4 ans = 1 » J1ˆ5 ans = 1
Markov Chains Math 283 / Fall 2018 40 / 44
pA+pC+pT G pG pC+pT pG GA pA pA+pC+pT GAG pG pC+pT pG GAGA pA pA+pC+pT pG
» [V2,J2] = jordan(P2) V2 =
0.1176 + 0.0294i 0.1176 - 0.0294i 0.1875 1.3011
0.4830
0.1176 - 0.4706i 0.1176 + 0.4706i 0.1875 1.3011
0.1176 + 0.0294i 0.1176 - 0.0294i
0.4830
0.1176 + 0.0294i 0.1176 - 0.0294i J2 = 1.0000 1.0000 0 + 0.2500i 0 - 0.2500i » V2i = inv(V2) V2i = 3.2727
4.0000
0.0000 1.0000
0 + 1.0000i 1.0000 0 - 1.0000i
0 - 1.0000i 1.0000 0 + 1.0000i
Markov Chains Math 283 / Fall 2018 41 / 44
» V2i(3,:) / sum(V2i(3,:)) ans = 0.6875 0.2353 0.0588 0.0147 0.0037
Markov Chains Math 283 / Fall 2018 42 / 44
Markov Chains Math 283 / Fall 2018 43 / 44
» S3 = V2(:,3) * V2i(3,:) S3 = 0.6875 0.2353 0.0588 0.0147 0.0037 0.6875 0.2353 0.0588 0.0147 0.0037 0.6875 0.2353 0.0588 0.0147 0.0037 0.6875 0.2353 0.0588 0.0147 0.0037 0.6875 0.2353 0.0588 0.0147 0.0037 » S4 = V2(:,4) * V2i(4,:) S4 =
0.1176 + 0.0294i 0.0294 - 0.1176i 0.3824 - 0.0294i
0.0294 + 0.3824i
0.4706 + 0.1176i 0.1176 - 0.4706i
0.1176 + 0.0294i 0.0294 - 0.1176i
0.1176 + 0.0294i 0.0294 - 0.1176i » S5 = V2(:,5) * V2i(5,:) S5 =
0.1176 - 0.0294i 0.0294 + 0.1176i 0.3824 + 0.0294i
0.0294 - 0.3824i
0.4706 - 0.1176i 0.1176 + 0.4706i
0.1176 - 0.0294i 0.0294 + 0.1176i
0.1176 - 0.0294i 0.0294 + 0.1176i
Markov Chains Math 283 / Fall 2018 44 / 44