「AP過去問 令和7年度春期 午前 問11」の版間の差分
(→回答・解説) |
(→回答・解説) |
||
462行目: | 462行目: | ||
$$ | $$ | ||
</div> | </div> | ||
<script></freescript> | <script></freescript> | ||
<freescript></script> | <freescript></script> |
2025年4月24日 (木) 15:25時点における版
AP過去問 令和7年度春期 午前 問10前の問題へ
AP過去問 令和7年度春期 午前 問12次の問題へ
問11(問題文)
マルチプロセッサによる並列処理で得られる高速化率(単一プロセッサのときと比べた倍率)Eを、次の式によって評価する。r=0.9のアプリケーションの高速化率がr=0.3のものの3倍となるのはプロセッサが何台のときか。
\require{enclose} E = \frac{1}{1 - r + \frac{r}{n}}
ここで、
n: プロセッサの台数(1≦n)
r: 対象とする処理のうち、並列化が可能な部分の割合(0 ≦ r ≦ 1)
とし、並列化に伴うオーバーヘッドは考慮しないものとする。
ア 3
イ 4
ウ 5
エ 6
回答・解説
まずは、アの選択肢の場合の計算をしてみましょう。r=0.3の場合の3倍がどのような値か調べて、r=0.9のときの値と一致するかを調べる作業です。
E = \frac{1}{1 - 0.3 + \frac{0.3}{3}} \times 3
E = \frac{1}{1 - 0.3 + 0.1} \times 3
E = \frac{1}{1 - 0.2} \times 3
E = \frac{1}{0.8} \times 3
E = \frac{10}{8} \times 3
E = 1.25 \times 3
E = 3.75
E = \frac{1}{1 - 0.9 + \frac{0.9}{3}}
E = \frac{1}{1 - 0.9 + 0.3}
E = \frac{1}{1 - 0.6}
E = \frac{1}{0.4}
E = \frac{10}{4}
E = 2.5
一致しませんね。
イ
E = \frac{1}{1 - 0.3 + \frac{0.3}{4}} \times 3
E = \frac{1}{1 - 0.3 + 0.075} \times 3
E = \frac{1}{1 - 0.225} \times 3
E = \frac{1}{0.775} \times 3
E = \frac{1000}{775} \times 3
E = 1.290... \times 3
E = 3.87...
E = \frac{1}{1 - 0.9 + \frac{0.9}{4}}
E = \frac{1}{1 - 0.9 + 0.225}
E = \frac{1}{1 - 0.675}
E = \frac{1}{-0.325}
E = \frac{1000}{325}
E = 3.077
一致しませんね。
ウ
E = \frac{1}{1 - 0.3 + \frac{0.3}{5}} \times 3
E = \frac{1}{1 - 0.3 + 0.06} \times 3
E = \frac{1}{1 - 0.24} \times 3
E = \frac{1}{0.76} \times 3
E = 1.316... \times 3
E = 1.290... \times 3
E = 3.948...
E = \frac{1}{1 - 0.9 + \frac{0.9}{5}}
E = \frac{1}{1 - 0.9 + 0.18}
E = \frac{1}{1 - 0.72}
E = \frac{1}{0.28}
E = \frac{100}{28}
E = 3.571...
一致しませんね。
したがって
エ
が答えです。
気持ち悪いので、最後も計算しておきましょう。エは
E = \frac{1}{1 - 0.3 + \frac{0.3}{6}} \times 3
E = \frac{1}{1 - 0.3 + 0.05} \times 3
E = \frac{1}{1 - 0.25} \times 3
E = \frac{1}{0.75} \times 3
E = 1.333... \times 3
E = 4
E = \frac{1}{1 - 0.9 + \frac{0.9}{6}}
E = \frac{1}{1 - 0.9 + 0.15}
E = \frac{1}{1 - 0.75}
E = \frac{1}{0.25}
E = \frac{100}{25}
E = 4
一致しました。という地道な方法と方程式を使ってnを求める方法もあります。
E_1 = \frac{1}{1 - 0.9 + \frac{0.9}{n}}
E_2 = \frac{1}{1 - 0.3 + \frac{0.3}{n}}
ここで、 r=0.9 のアプリケーションの高速化率が、 r=0.3 のものの3倍になる条件を求めます。
つまり、次の等式を満たすnを求めます。
E_1 = 3 × E_2
これらの関係から、次の式が得られます。
\frac{1}{0.1 + \frac{0.9}{n}} = 3 \times \frac{1}{0.7 + \frac{0.3}{n}}
両辺の逆数をとって整理します。両辺が同じ符号になることが前提なら、めったなことではやっていけないことですが、やっていい操作です。A * 1/A = 1 = B * 1/Bです。方程式のその瞬間で両辺の符号がどういう関係かわかっているパターンは少ないです。特別なパターンです。
0.1 + \frac{0.9}{n} = \frac{1}{3} \times ({0.7 + \frac{0.3}{n})
分数を払って計算を進めると、
3 \times (0.1 + \frac{0.9}{n}) = 0.7 + \frac{0.3}{n}
0.3 + \frac{2.7}{n} = 0.7 + \frac{0.3}{n}
両辺から0.3/nを引き、両辺を整理すると、
0.3 + \frac{2.4}{n} = 0.7
\frac{2.4}{n} = 0.4
2.4 = 0.4n
n = \frac{2.4}{0.4}
n = \frac{24}{4}
n = 6
という計算になります。この方程式の操作では、ふだんあまりやらない逆数を取り払う操作が難しい操作になりますので、地道に当てはめて計算するほうが楽な人もいたと思います。あまりやってはいけない操作なんて、忘れてしまっている人の方が多いと思います。
AP過去問 令和7年度春期 午前 問10前の問題へ
AP過去問 令和7年度春期 午前 問12次の問題へ