Skip to content

Commit df06530

Browse files
author
Hamid Gasmi
committed
#182 is completed
1 parent 54bcea0 commit df06530

File tree

11 files changed

+90
-0
lines changed

11 files changed

+90
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import sys
2+
3+
def outcome_probability(x, sigma, pi, states, emission):
4+
if len(pi) == 0:
5+
return 0.0
6+
7+
probability = 1
8+
for p in range(len(pi)):
9+
probability *= emission[ pi[p] ][ x[p] ]
10+
11+
return probability
12+
13+
if __name__ == "__main__":
14+
x = sys.stdin.readline().strip()
15+
sys.stdin.readline() # delimiter
16+
17+
sigma = sys.stdin.readline().strip().split()
18+
sys.stdin.readline() # delimiter
19+
20+
pi = sys.stdin.readline().strip()
21+
sys.stdin.readline() # delimiter
22+
23+
states = sys.stdin.readline().strip().split()
24+
sys.stdin.readline() # delimiter
25+
26+
chars = sys.stdin.readline().strip().split()
27+
emission = [sys.stdin.readline().strip().split() for _ in range(len(states))]
28+
emission = {line[0]:dict(zip(chars, map(float,line[1:]))) for line in emission}
29+
30+
print(outcome_probability(x,sigma,pi,states,emission))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.001106941474
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
zzzyx
2+
--------
3+
x y z
4+
--------
5+
BAAAA
6+
--------
7+
A B
8+
--------
9+
x y z
10+
A 0.176 0.596 0.228
11+
B 0.225 0.572 0.203
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
x
2+
--------
3+
x
4+
--------
5+
A
6+
--------
7+
A B
8+
--------
9+
x
10+
A 1
11+
B 1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
xx
2+
--------
3+
x y
4+
--------
5+
AB
6+
--------
7+
A B
8+
--------
9+
x y
10+
A 0.6 0.4
11+
B 0.3 0.7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
xy
2+
--------
3+
x y
4+
--------
5+
AA
6+
--------
7+
A B
8+
--------
9+
x y
10+
A 0.6 0.4
11+
B 0.3 0.7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9.70e-15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
xxxxxyxyyx
2+
--------
3+
x y
4+
--------
5+
AABBABABBA
6+
--------
7+
A B
8+
--------
9+
x y
10+
A 0.01 0.99
11+
B 0.01 0.99

0 commit comments

Comments
 (0)