38.1
(a)
あるn1, n2, C1, C2が存在して、全てのn≥ n1に対し|f1(n)-g1(n)| ≤ C1|h(n)|、
全てのn≥ n2に対し|f2(n)-g2(n)|≤C2|h(n)|であるから、全てのn≥max(n1, n2)に対し、
| f1(n) +f2(n)-g1(n)-g2(n)|≤|f1(n)-g1(n)|+|f2(n)-g2(n)|≤(C1+C2)|h(n)|
となるので、f1(n) +f2(n)=g1(n)+g2(n)+O(h(n))
(b)
(a)と同様にして、全てのn≥max(n1, n2)に対し、
| af1(n) +bf2(n)-ag1(n)-bg2(n)|≤(aC1+bC2)|h(n)|だから、
af1(n) +bf2(n)=ag1(n)+bg2(n)+O(h(n))
(c)
あるn0, Cが存在して、全てのn≥ n0に対し|f(n)-g(n)| ≤ C|h(n)|。
両辺に|k(n)|をかけて、|k(n)f(n)-k(n)g(n)| ≤ C|k(n)h(n)|なので、
k(n)f(n)=k(n)g(n)+O(k(n)h(n))。
38.2
あるn1, n2, C1, C2>0が存在して、全てのn≥ n1に対し|f1(n)-g1(n)| ≤ C1|h1(n)|、
全てのn≥ n2に対し|f2(n)-g2(n)|≤C2|h2(n)|であるから、全てのn≥max(n1, n2)に対し、
| f1(n) +f2(n)-g1(n)-g2(n)|≤|f1(n)-g1(n)|+|f2(n)-g2(n)|
≤C1|h1(n)|+C2|h2(n)|≤max(C1, C2)(|h1(n)|+|h2(n)|)≤2max(C1, C2)max(|h1(n)|,|h2(n)|)
これよりf1(n) +f2(n)=g1(n)+g2(n)+O(max(|h1(n)|,|h2(n)|))。
O(max(|h1(n)|,|h2(n)|))の中の絶対値は、外しちゃったらおかしいので多分誤植かな。
38.3
(a) n≥1に対し|f(n)|=3/2+37/[2(2n-1)]≤20なのでO(1)。
(b) n≥1に対し|f(n)|=3n/2+3/4+37/[4(2n-1)]≤ 3n/2+37/2≤20nなのでO(n)。
(c) n≥1に対し|f(n)|=|(3+17/n)/(2n-1/n)| ≤20/nなのでO(1/n)。
(d) n≥1に対し|f(n)|=|cos n|≤1なのでO(1)。
(e) |x|≤1/2に対し|sin x|≥|x|-(|x|3+|x|5+|x|7+...)=|x|-|x|2/(1-|x|2) ≥|x|-4/3より、
n≥2に対し|f(n)|=|sin(1/n)|-1 ≤|1/n-(1/(3!n3)-1/(5!n5)+...)|-1≤|1/n-1/n3(1-1/n2+1/n4)|-1
=|1/n-1/(n+n3)|-1=n|1+1/n2|≤2nなのでO(n)。
(f) (e)より|f(n)|=|n sin(1/n)|-1≤2なのでO(1)。
38.4
∫n≤x≤ n+1 √(x-1) dx=2n2/3/3 [1-(1-1/n)3/2]
ここで(1-x)3/2=1-3x/2+3[(1/2!)(x/2)2+(1/3!)(x/2)3+(3/4!)(x/2)4+(3·5/4!)(x/2)5+...]>1-3x/2
より2n3/2/3 [1-(1-1/n)3/2]< n1/2 (1)
また、q(n)=∫n≤x≤ n+1 √x dx-√n=2/3 [(n+1)3/2-n3/2]-n1/2 (2)
とおくと、q(1)≈0.22>0, q(n)→0 (n→∞), dq/dn=(n+1)1/2-(2n+1)/2n1/2<0
だから、n≥1に対しq(n)>0 (3)。
(1)(2)(3)により∫n≤x≤ n+1 √(x-1) dx<n1/2<∫n≤x≤ n+1 √x dx。
この式の1からnまでの総和をとると∫0≤x≤ n√x dx<√1+√2+...+√n<∫1≤x≤ n+1 √x dxで、
∫0≤x≤ n√x dxを辺々引けば0<√1+√2+...+√n-∫0≤x≤ n√x dx=√1+√2+...+√n-2n3/2/3
<2/3 [(n+1)3/2-1]-2n3/2/3<(2/3)[ (n+1)3/2-n3/2] (4)
Cを定数としてp(n)=2/3 [(n+1)3/2-n3/2]-Cn1/2とすれば、
十分大きなC(例えばC>2)と、十分大きな全てのnに対しp(n)<0となるので、
(4)は、0<√1+√2+...+√n-2n3/2/3<Cn1/2
となる。したがって、√1+√2+...+√n=(2/3)n3/2+O(n1/2)。
38.5
(a)
n≥2に対しq(n)=1/n-∫n≤x≤ n+1 1/x dx=1/n-log(1+1/n) (1)
とおくと、q(2)≈0.41>0, q(n)→0 (n→∞), dq/dn=1/[n(n+1)]-1/n2<0
だから、n≥2に対しq(n)>0 (2)。
また、∫n≤x≤ n+1 1/(x-1) dx=-log(1-1/n)=1/n+1/2n2+1/3n3+...>1/n (3)。
(1)(2)(3)によりn≥2に対し∫n≤x≤ n+1 1/x dx<1/n<∫n≤x≤ n+1 1/(x-1) dx。
この式の2からnまでの総和をとると、log[(n+1)/2]<1/2+1/3...+1/n<log nで、
Hn=1+1/2+1/3...+1/nとおくと、
辺々に1を足し、Hn=1+1/2+1/3...+1/nとおくとlog[(n+1)e/2]< Hn <log ne
log[(n+1)e/2] を辺々引けば
0< Hn - log[(n+1)e/2]<log2-log(1+1/n)<log2 (n≥2) (4)となる。
さらに、0<Hn - log[(n+1)e/2]= Hn-log n-log(1+1/n)-log e/2<Hn-log nだから、
(4)に辺々log(1+1/n)+log e/2を足して(0<) log(1+1/n)+log e/2<Hn -log n
<log 2+ log(1+1/n)+log e/2=1+log(1+1/n) ≤1+log3/2となるので、
Hn = log n+O(1)。
(b)
...
38.6
(a)
ボブは一度推測して外れた数はその後選択しないものとすれば、
最悪の場合、n-2回目までの推測はすべて外れ、n-1回目でアリスの選んだ数が確定する
(n-1回目が外れたら、それまで一度も選択しなかった数がアリスの選んだ数)。
したがってG(n)=n-1<nなのでG(n)=O(n)。
(b)
G(n)=O(√n)とすると、十分大きい全てのnに対し定数Cが存在してG(n)=C√n となる。
一方G(n)=O(n)なので、十分大きい全てのnに対し定数Dが存在して
G(n)=Dn=(D/C) √n ·C√n なので、十分大きい全てのnと全ての定数Cに対し
G(n)> C√nとなり矛盾。
(c)
h(n)はnと同等か高位の無限大である。
(d)
大小の情報があれば、二分探索アルゴリズムを用いることができる。
二分探索では2G(n)>nとなる最小のG(n)が最大の推測回数だから、
G(n)=O(log2 n)。
38.7
(a)
√n以下の約数を調べれば十分であるから、約数を見つけるステップ数は√n
に比例するのでF(n)=O(√n)。
(b)
√nまでの素数の数は定理13.1(素数定理)により√n /log√n=2√n/log n程度なので、
F(n)=O(√n/log n)。
(c)
x=log nとおくと、
与式=lim x→∞ exp[c√(x log x)-x/2]= lim x→∞ exp[-x/2 (1-2c√(log x/x)]=0
√nの代わりにnεに変えても同様。
(d)
x=log nとおくと、x→∞で
c'[x(log x)2]1/3-c[x(log x)]1/2
=-c[x(log x)]1/2[1-(c'/c)(log x/x)1/6] →-∞
だから、lim n→∞ M(n)/L(n)=0。
0 件のコメント :
コメントを投稿