「AP過去問 令和7年度春期 午前 問11」の版間の差分
(ページの作成:「AP過去問 令和7年度春期 午前 問題に戻る AP過去問 令和7年度春期 午前 問10前の問題へ AP過去問 令和7年度春期 午前 問12次の問題へ =='''問11(問題文)'''== ア イ ウ エ =='''回答・解説'''== AP過去問 令和7年度春期 午前 問10前の問題へ AP過去問 令和7年度春期 午前 問12次の問題…」) |
(→回答・解説) |
||
(同じ利用者による、間の18版が非表示) | |||
1行目: | 1行目: | ||
<freescript></script><script type="text/x-mathjax-config"> | |||
MathJax.Ajax.config.path["Contrib"]="https://wiki.yo-net.jp/mathjax/"; | |||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function (){ | |||
MathJax.Hub.Insert( | |||
MathJax.InputJax.TeX.Definitions.macros,{ | |||
cancel: ["Extension","cancel"], | |||
bcancel: ["Extension","cancel"], | |||
xcancel: ["Extension","cancel"], | |||
cancelto: ["Extension","cancel"] | |||
} | |||
); | |||
}); | |||
MathJax.Hub.Config({ | |||
tex2jax:{ | |||
displayMath: [['′,′'],['\\[', '\\]']], //displayスタイル数式に利用する記号の指定 | |||
inlineMath: [['\\@', '\\@'],['\\(', '\\)']],//inlineスタイル数式に利用する記号の指定 | |||
//ここは使う人が自由に設定する部分です。 | |||
processEscapes: true | |||
}, | |||
TeX:{ | |||
// equationNumbers:{autoNumber: "AMS"}, | |||
extensions: ["[Contrib]/physics/physics.js","[Contrib]/siunitx/siunitx.js", "color.js", "cancel.js"] | |||
}, | |||
"HTML-CSS": { | |||
availableFonts: [], | |||
preferredFont: null, | |||
webFont: "Neo-Euler" | |||
}, | |||
}); | |||
</script> | |||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS_HTML-full"></script> | |||
<script></freescript> | |||
<freescript></script> | |||
<style> | |||
.table-container { | |||
display: inline-block; | |||
text-align: left; | |||
margin: 20px; | |||
} | |||
.table-header { | |||
display: flex; | |||
justify-content: space-between; | |||
margin-bottom: 5px; | |||
} | |||
</style> | |||
<style> | |||
div.imadake-left mjx-container[jax="CHTML"][display="true"]{text-align: left;} | |||
.imadake-left .MathJax_Display { | |||
text-align: left !important; | |||
font-size: 0.9rem; | |||
} | |||
</style> | |||
<script></freescript> | |||
[[AP過去問 令和7年度春期 午前#問題|AP過去問 令和7年度春期 午前 問題]]に戻る | [[AP過去問 令和7年度春期 午前#問題|AP過去問 令和7年度春期 午前 問題]]に戻る | ||
8行目: | 62行目: | ||
=='''問11(問題文)'''== | =='''問11(問題文)'''== | ||
マルチプロセッサによる並列処理で得られる高速化率(単一プロセッサのときと比べた倍率)Eを、次の式によって評価する。r=0.9のアプリケーションの高速化率がr=0.3のものの3倍となるのはプロセッサが何台のときか。 | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
\require{enclose} | |||
E = \frac{1}{1 - r + \frac{r}{n}} | |||
$$ | |||
</div> | |||
<script></freescript> | |||
ここで、 | |||
n: プロセッサの台数(1≦n) | |||
r: 対象とする処理のうち、並列化が可能な部分の割合(0 ≦ r ≦ 1) | |||
とし、並列化に伴うオーバーヘッドは考慮しないものとする。 | |||
ア 3 | |||
イ 4 | |||
ウ 5 | |||
エ 6 | |||
=='''回答・解説'''== | =='''回答・解説'''== | ||
まずは、アの選択肢の場合の計算をしてみましょう。r=0.3の場合の3倍がどのような値か調べて、r=0.9のときの値と一致するかを調べる作業です。 | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
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 | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
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 | |||
$$ | |||
</div> | |||
<script></freescript> | |||
一致しませんね。 | |||
イ | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
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... | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
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 | |||
$$ | |||
</div> | |||
<script></freescript> | |||
一致しませんね。 | |||
ウ | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
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... | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
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... | |||
$$ | |||
</div> | |||
<script></freescript> | |||
一致しませんね。 | |||
したがって | |||
<span style = "background:linear-gradient(transparent 75%, #7fbfff 75%); font-weight:bold; "> | |||
エ</span> | |||
が答えです。 | |||
気持ち悪いので、最後も計算しておきましょう。エは | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
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 | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
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 | |||
$$ | |||
</div> | |||
<script></freescript> | |||
一致しました。という地道な方法と方程式を使ってnを求める方法もあります。 | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
E_1 = \frac{1}{1 - 0.9 + \frac{0.9}{n}} | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
E_2 = \frac{1}{1 - 0.3 + \frac{0.3}{n}} | |||
$$ | |||
</div> | |||
<script></freescript> | |||
ここで、<span style="font-size: 0.9rem;">r=0.9</span>のアプリケーションの高速化率が、<span style="font-size: 0.9rem;">r=0.3</span>のものの3倍になる条件を求めます。 | |||
つまり、次の等式を満たすnを求めます。 | |||
<span style="font-size: 0.9rem;">E1=3×E2</span> | |||
これらの関係から、次の式が得られます。 | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
\frac{1}{0.1 + \frac{0.9}{n}} = 3 \times \frac{1}{0.7 + \frac{0.3}{n}} | |||
$$ | |||
</div> | |||
<script></freescript> | |||
両辺の逆数をとって整理します。両辺が同じ符号になることが前提なら、めったなことではやっていけないことですが、やっていい操作です。A * 1/A = 1 = B * 1/Bです。方程式のその瞬間で両辺の符号がどういう関係かわかっているパターンは少ないです。特別なパターンです。 | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
0.1 + \frac{0.9}{n} = \frac{1}{3} \times (0.7 + \frac{0.3}{n}) | |||
$$ | |||
</div> | |||
<script></freescript> | |||
分数を払って計算を進めると、 | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
3 \times (0.1 + \frac{0.9}{n}) = 0.7 + \frac{0.3}{n} | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
0.3 + \frac{2.7}{n} = 0.7 + \frac{0.3}{n} | |||
$$ | |||
</div> | |||
<script></freescript> | |||
両辺から0.3/nを引き、両辺を整理すると、 | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
0.3 + \frac{2.4}{n} = 0.7 | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
\frac{2.4}{n} = 0.4 | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
2.4 = 0.4n | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
n = \frac{2.4}{0.4} | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
n = \frac{24}{4} | |||
$$ | |||
</div> | |||
<script></freescript> | |||
<freescript></script> | |||
<div class="imadake-left" align="left"> | |||
$$ | |||
n = 6 | |||
$$ | |||
</div> | |||
<script></freescript> | |||
という計算になります。この方程式の操作では、ふだんあまりやらない逆数を取り払う操作が難しい操作になりますので、地道に当てはめて計算するほうが楽な人もいたと思います。あまりやってはいけない操作なんて、忘れてしまっている人の方が多いと思います。 | |||
2025年4月24日 (木) 15:26時点における最新版
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次の問題へ