Chapter 2

p. 41, lines 1014 in the proof of Corollary 2.14
The proof is basically correct, but has some important typos.
It should read as given in the following
pdf file.
Note that the stationary distribution is a LEFT eigenvector, and the
indices appearing in the sum are p_{j,i}, rather than
p_{i,j}.
Thanks to Bill Thies, 13 Nov 2000.

p. 41, bottom
If n is odd, then the state (n+1)/2 has period 1, rather than 2.
All other states 1 <= i <=n differeent than (n+1)/2 have period 2.
Thanks to Bill Thies, 13 Nov 2000.

p. 43, line 7
In the definition of Z, the exponent in the exponential function
e should be E(i)/T (the minus sign is missing.)
Thanks to Bill Thies, 13 Nov 2000.

p. 44
Condition 2 on neighborhoods should read "i in N_j <> j in
N_i" instead of "i in N_j <> j in N_j".
Thanks to Mark Nadel, Oct 2000 and to Bill Thies, 13 Nov 2000.

p. 44
In step 10 of Algorithm 2.1 the exponent of e should be
" (E(j)E(i))/T "; i.e. the minus sign before E(j) in the text
should appear outside the parentheses.
Thanks to Bill Thies, 13 Nov 2000.

p. 46
In step 8 of Algorithm 2.2 the exponent of e should be
" (E(j)E(i))/T "; i.e. the minus sign before E(j) in the text
should appear outside the parentheses.
Thanks to Bill Thies, 13 Nov 2000.

p. 47
The right hand side of the statement of Theorem 2.21, what is
"pi_0(i)?" should that be "P_0(i)?" instead.
Thanks to Bill Thies, 13 Nov 2000.

p. 69
In the second paragraph from bottom, should read
"Clearly H(W) = 1" instead of
"Clearly H(W) = 2".
Also, on next line, should read "H(U) = 1 = H(V)".
Thanks to Bill Thies, 13 Nov 2000.

p. 71, Algorithm 2.11
Should read as follows:
void segment( int i, int j, double s) {
max=0
splitPoint=undefined
for k=1 to j1{
U = w_1 ... w_k
V = w_[k+1] ... w_j
if statSig(U,V) > max then {
max = statSig(U,V)
splitPoint = k
}
if max > s then {
k = splitPoint
segment(i,k,s)
output k
segment(k+1,j,s)
}
}
Chapter 3

p. 89, middle
"S = s1 ... sn" should be "S = s1 ... sr".
Thanks to Bill Thies, 13 Nov 2000.

p. 93, Example 3.10
In the traceback matrix, the entry for a_2 (=T)
and b_2 (=A) should be changed from a left arrow to a diagonal arrow.
Thanks to Bill Thies, 13 Nov 2000.

p. 94
In the secondtolast line, letting * denote the diamond, then there's a
stray "a" at the start of "a(a*, b*) alignment of (a,b)". It should
just read "(a*, b*) alignment of (a,b)".
Thanks to Bill Thies, 13 Nov 2000.

p. 114
In the first sentence: "formulization" should be "formalization"
Thanks to Bill Thies, 14 Nov 2000.
Chapter 4

p. 139
In the first equation, it should read
"pi M^t", where pi is a
row vector, instead of "M^t pi", where pi is a column vector.
Thanks to Bill Thies, 14 Nov 2000.

p. 156, Figure 4.10
The label "u" is missing from the lefthand edge
from the root.
Thanks to Bill Thies, 14 Nov 2000.

p. 168
In the for loop on j (bottom 3rd of page), the subscripts of L
and N should be j instead of i. That is, it should be "if L_j
\subseteq...", etc. Additionally, one should split that edge
with minimum edge weight, NOT just those edges to leaves with
minimum edge weight. Click
here
for correct pseudocode of Algorithm 4.4.