7.3. Время и память вычисления 213
=
3
2
2
2n−3
3
2
− 3 · 2
−n/2
=
=
9
8
2
2n−2
1 − 2
−n/2+1
.
Таким образом, мы получили приближенное равенство:
X
S
(τ)=n
bτx − τyc ≈
9
8
2
2n−2
1 − 2
−n/2+1
.
Теперь найдем общее количество начальных состояний длины n. Най-
дем количество z таких, что
S
(z) = i. Имеем
[log
2
z] + 1 = i, 2
i−1
≤ log
2
z ≤ 2
i
− 1.
Общее количество z, следовательно, равно 2
i−1
. Если
S
(x) = i,
S
(y) =
n − i, то количество таких состояний есть
2
i−1
· 2
n−i−1
= 2
n−2
.
Поэтому общее количество состояний длины n есть (n − 1) 2
n−2
. При-
бавим еще случаи, когда x = 0 или y = 0, получим: (n + 1) 2
n−2
. Отсюда
мы можем получить приближенную оценку для среднего времени:
Tm
cp
Π
≈ 8 + 9
9
8
2
2n−2
1 − 2
−n/2+1
(n + 1) 2
n−2
=
= 8 + 9
9
8 (n + 1)
2
n
1 − 2
−n/2+1
=
= 8 +
81
8 (n + 1)
2
n
− 2
n/2+1
.
Посмотрим, насколько точная оценка получилась. Пусть, например,
n = 4. Имеется 2 числа длины 1: 0 и 1, 2 числа длины 2: 2 и 3, и 4 числа
длины 3: 4, 5, 6 и 7. Всего состояний τ таких, чтобы
S
(τx)+
S
(τy) = 4,
следовательно, им еется:
N = 2 · 4 + 2 · 2 + 4 · 2 = 20.
Найдем теперь сумму
X
S
(τ)=4
bτx − τyc = 4 + 5 + 6 + 7 + 3 + 4 + 5 + 6 + 1 = 41.