15. xk+n := xk+m (xk
u
| xk+1
l
)A k = 0, 1, . . .
A =
✓
0 Iw 1
aw 1 (aw 2, . . . , a0)
◆
w
=
0
B
B
B
B
B
B
B
B
B
@
0 1 · · · 0
...
0
...
...
...
...
0 0 · · · 1
aw 1 aw 2 · · · a0
1
C
C
C
C
C
C
C
C
C
A
1 m < n
0 r w 1
xA =
(
shiftright(x)
shiftright(x) + a
xi = (xi(w 1), xi(w 2), · · · , xi(0)) xi(j) 2 {0, 1}
16. y := x ((x >> u)&d)
y := y ((y << s)&b)
y := y ((y << t)&c)
z := y (y >> l)
x
17. y := x ((x >> u)&d)
y := y ((y << s)&b)
y := y ((y << t)&c)
z := y (y >> l)
(w, n, m, r) = (32, 624, 397, 31)
a = 9908B0DF16
(u, d) = (11, FFFFFFFF16)
(s, b) = (7, 9D2C568016)
(t, c) = (15, EFC6000016)
l = 18
xk+n := xk+m (xk
u
| xk+1
l
)A k = 0, 1, . . .
A =
✓
0 Iw 1
aw 1 (aw 2, . . . , a0)
◆
w = 32, n = 624, m = 397, r = 3
nw r = 19937
2nw r
1
219937
1
w = 32, n = 624, m = 397, r = 31
18. y := x ((x >> u)&d)
y := y ((y << s)&b)
y := y ((y << t)&c)
z := y (y >> l)
(w, n, m, r) = (32, 624, 397, 31)
a = 9908B0DF16
(u, d) = (11, FFFFFFFF16)
(s, b) = (7, 9D2C568016)
(t, c) = (15, EFC6000016)
l = 18
xk+n := xk+m (xk
u
| xk+1
l
)A k = 0, 1, . . .
A =
✓
0 Iw 1
aw 1 (aw 2, . . . , a0)
◆
w = 32, n = 624, m = 397, r = 3
nw r = 19937
2nw r
1
219937
1
w = 32, n = 624, m = 397, r = 31
19.
20.
21.
22. x = 1 x = 0
f(x; p) =
8
<
:
p if x = 1,
1 p if x = 0.
f(x; p) = px
(1 p)1 x
, x = {0, 1}
x
p
p
1 p
58. data
{
int<lower=2>
K;
#
num
topics
int<lower=2>
V;
#
num
words
int<lower=1>
M;
#
num
docs
int<lower=1>
N;
#
total
word
instances
int<lower=1,upper=V>
W[N];
#
word
n
int<lower=1>
Freq[N];
#
frequency
of
word
n
int<lower=1,upper=N>
Offset[M,2];
#
range
of
word
index
per
doc
vector<lower=0>[K]
Alpha;
#
topic
prior
vector<lower=0>[V]
Beta;
#
word
prior
}
parameters
{
simplex[K]
theta[M];
#
topic
dist
for
doc
m
simplex[V]
phi[K];
#
word
dist
for
topic
k
}
model
{
#
prior
for
(m
in
1:M)
theta[m]
~
dirichlet(Alpha);
for
(k
in
1:K)
phi[k]
~
dirichlet(Beta);
#
likelihood
for
(m
in
1:M)
{
for
(n
in
Offset[m,1]:Offset[m,2])
{
real
gamma[K];
for
(k
in
1:K)
gamma[k]
<-‐
log(theta[m,k])
+
log(phi[k,W[n]]);
increment_log_prob(Freq[n]
*
log_sum_exp(gamma));
}
}
}