期待値の計算方法がわかる|かんたん計算問題

この連載では、基本情報技術者試験で、多くの受験者が苦手意識を持っている「計算問題」に的を絞って、計算方法を詳しく説明します。苦手克服のポイントは、身近な具体例で、計算方法のイメージをつかむことです。
丸暗記ではなく、感覚的に理解してください。そうすれば、様々な問題に応用できます。
今回のテーマは、「期待値」です。期待値の計算方法がわかったら、いくつか過去問題を解いてみましょう。
期待値とは何か?
期待値とは、「確率を考慮した平均値」のことです。この説明では、「何それ?」だと思いますので、身近な具体例を示しましょう。
以下の賞金の宝くじを 1 枚買ったら、当選金額の期待値は、いくらになるでしょう(これは、架空の宝くじです)。
1 等 | 5 億円 |
2 等 | 3000 万円 |
3 等 | 100 万円 |
4 等 | 3000 円 |
5 等 | 300 円 |
「それぞれが当たる確率がわからなければ計算できない!」と思うでしょう。それです! それが期待値です!
以下に、それぞれが当たる確率を示します。
1 等 | 5 億円 | 1 / 1000 万 |
2 等 | 3000 万円 | 1 / 100 万 |
3 等 | 100 万円 | 1 / 10 万 |
4 等 | 3000 円 | 1 / 100 |
5 等 | 300 円 | 1 / 10 |
それでは、どうやって期待値を計算しますか?
「それぞれの金額に確率を掛けて、その結果を集計すればよい!」だとわかりますね。もしも、わからなくても、とにかくやってみましょう。
「え~っ、面倒くさい!」と思っちゃダメですよ。計算しやすい値にしていますので、暗算でもできるはずです。
1 等 | 5 億円 | × 1 / 1000 万 | = 50 円 |
2 等 | 3000 万円 | × 1 / 100 万 | = 30 円 |
3 等 | 100 万円 | × 1 / 10 万 | = 10 円 |
4 等 | 3000 円 | × 1 / 100 | = 30 円 |
5 等 | 300 円 | × 1 / 10 | = 30 円 |
集計結果 | 150 円 |
それぞれの金額に確率を掛けて、その結果を集計すると、上記のように、150 円になりました。この宝くじが 1 枚 300 円だとしたら、半分は取られてしまう計算になります。
「ずいぶん儲かる商売だな!」と思われるかもしれませんが、宝くじの収益金は、公共事業に使われているので「 300 円の半部を寄付して夢を買っているのだ!」と考えてください。
いかがでしょう。
「 300 円の宝くじの期待値は、半分の 150 円であり、それは、それぞれの金額に確率を掛けて、その結果を集計することで求められる」 という具体例で期待値のイメージをつかめば、決して忘れないはずです。
期待値で実効アクセス時間を求める問題
それでは、期待値の計算方法がわかればできる問題を紹介しましょう。はじめは、メモリの実効アクセス時間を求める問題です。
A ~ D を,主記憶の実効アクセス時間が短い順に並べたものはどれか。
キャッシュメモリ | 主記憶 | |||
---|---|---|---|---|
有無 | アクセス時間 (ナノ秒) |
ヒット率 (%) |
アクセス時間 (ナノ秒) |
|
A | なし | – | – | 15 |
B | なし | – | – | 30 |
C | あり | 20 | 60 | 70 |
D | あり | 10 | 90 | 80 |
ア A, B, C, D
ウ C, D, A, B エ D, C, A, B
コンピュータのメモリが、高速なキャッシュメモリと、低速な主記憶(メインメモリ)から構成されている場合、両者を使ったアクセス時間の平均値を「実効アクセス時間」と呼びます。
実効アクセス時間は、
キャッシュメモリのアクセス時間 × キャッシュメモリをアクセスする確率 + 主記憶のアクセス時間 × 主記憶をアクセスする確率
という計算で求められます。これは、期待値の計算です。
キャッシュメモリをアクセスする確率は、運よく高速なメモリをアクセスする確率なので、「当たり」ということで「ヒット率」と呼びます。
主記憶のアクセスする確率は、100 % からヒット率を引いた値になります。
たとえば、キャッシュメモリのヒット率が 90 % なら、主記憶をアクセスする確率(キャッシュメモリにヒットしない確率)は、
100 % - 90 % = 10 %
です。
この問題では、A 、B 、C 、D という 4 つのシステムが示されているので、それぞれの実効アクセス時間を求めてみましょう。
A と B は、キャッシュメモリがないので、以下のように、主記憶のアクセス時間がそのまま実効アクセス時間になります。
- A の実効アクセス時間
- = 15 ナノ秒
- B の実効アクセス時間
- = 30 ナノ秒
C と D は、以下のように、期待値の計算で、実効アクセス時間を求めます。
- C の実効アクセス時間
- = 20 ナノ秒 × 60 % + 70 ナノ秒 × 40 %
- = 40 ナノ秒
- D の実効アクセス時間
- = 10 ナノ秒 × 90 % + 80 ナノ秒 × 10 %
- = 17 ナノ秒
実効アクセス時間の短い順に並べると「A、D、B、C」になります。したがって、選択肢イが正解です。
正解 イ
修正費用の期待値を求める問題
次は、アプリケーションプログラムの初年度の修正費用の期待値を求める、という問題です。
「初年度」であることに注意してください。そして、( 1 )~( 6 )に示された条件を、よ~く見てください。
条件に従うとき,アプリケーションプログラムの初年度の修正費用の期待値は,何万円か。
[条件]
- (1)
- プログラム規模: 2,000k ステップ
- (2)
- プログラムの潜在不良率: 0.04 件 / k ステップ
- (3)
- 潜在不良の年間発見率: 20 % / 年
- (4)
- 発見した不良の分類
- 影響度大の不良 : 20 % ,影響度小の不良: 80 %
- (5)
- 不良 1 件当たりの修正費用
- 影響度大の不良 :200 万円,影響度小の不良: 50 万円
- (6)
- 初年度は影響度大の不良だけを修正する
ア 640 イ 1,280
ウ 1,600 エ 6,400条件( 1 )に「プログラムの規模:2,000k ステップ」と示され、
条件( 2 )に「プログラムの潜在不良率:0.04 件/ k ステップ」と示されているので、
以下のように計算して、プログラム全体には、80 件の潜在不良があることがわかります。
- プログラム全体の潜在不良件数
- = 2,000k ステップ × 0.04 件/ k ステップ
- = 80 件
条件( 3 )に「潜在不良の年間発見率:20 % / 年」と示されているので、以下のように計算して、初年度は、80 件の 20 % の 16 件の不良が発見されることになります。
- 初年度に発見される不良件数
- = 80 件 × 20 %
- = 16 件
条件( 4 )に「影響度大の不良:20 %、影響度小の不良:80 %」と示されています。
したがって、初年度の不良件数は、以下のように計算して、影響度大の不良が 3.2 件で、影響度小の不良が 7.8 件です。
- 初年度の影響度大の不良件数
- = 16 件 × 20 %
- = 3.2 件
- 初年度の影響度小の不良件数
- = 16 件 × 80 %
- = 7.8 件
条件( 5 )に不良 1 件あたりの修正費用が「影響度大:200 万円、影響度小の不良:50 万円」と示され、
条件( 6 )に「初年度は影響度大の不良だけを修正する」と示されています。
したがって、初年度の修正費用の期待値は、影響度大の不良 1 件当たりの修正費用の 200 万円と、その発生件数の 3.2 件を掛けて、以下のように 640 万円になります。
- 初年度の修正費用の期待値
- = 200 万円 × 3.2 件
- = 640 万円
選択肢アが正解です。
正解 ア
クロック数の期待値で MIPS を求める問題
今度は、クロック数の期待値で MIPS を求める問題です。
MIPS(ミップス)は、Million Instructions Per Second の略であり、CPU が 1 秒間に実行できる命令数を百万単位で示したものです。
動作クロック周波数が 700 MHz の CPU で,命令実行に必要なクロック数及びその命令の出現率が表に示す値である場合,この CPU の性能は約何 MIPS か。
命令の種別 | 命令実行に必要な | クロック数出現率(%) |
---|---|---|
レジスタ間演算 | 4 | 30 |
メモリ・ | レジスタ間演算8 | 60 |
無条件分岐 | 10 | 10 |
ア 10 イ 50
ウ 70 エ 100この CPU には、700 MHz のクロック信号( 1 秒間に 700 × 100 万回のカチカチ信号)が与えられ、命令の種類によって、実行に必要なクロック数(カチカチ信号の数)が決まっています。
命令の種類は「レジスタ間演算」「メモリ・レジスタ間演算」「無条件分岐」の 3 種類であり、それぞれのクロック数と、出現率(プログラムの中で使われている確率)が示されています。
これらの値から、平均的な MIPS を求めるという問題です。
この問題を解くには、命令の出現率を考慮して、クロック数の平均値を求めます。これは、期待値の計算です。
4 クロックを要する「レジスタ間演算」の出現率が 30 %、
8 クロックを要する「メモリ・レジスタ間演算」の出現率が 60 %、
10 クロックを要する「無条件分岐」の出現率が 10 % なのですから、
クロック数の期待値は、以下の計算で求められ、 7 クロックになります。
- クロック数の期待値
- = 4 クロック × 30 % + 8 クロック × 60 % + 10 クロック × 10 %
- = 7 クロック
700 MHz のクロック信号が与えられているので、1 秒間に実行できる命令数を百万単位で示すと、以下のように 100 百万個になります。
- 1 秒間に実行できる命令数
- = 700 × 百万クロック ÷ 7 クロック
- = 100 百万個
100 百万個 / 秒は、100 MIPS と同じなので、選択肢エが正解です。
正解 エ
利益の期待値の最大値を求める問題
最後は、やや凝った内容になっています。売れる個数と売れ残る個数の期待値を求め、それらから利益の期待値を求める、という2段階の計算をします。難しそうに思えるかもしれませんが、やってみれば「そういうことか!」とわかるはずです。
商品の 1 日当たりの販売個数の予想確率が表のとおりであるとき, 1 個当たりの利益を 1,000 円とすると,利益の期待値が最大になる仕入個数は何個か。ここで,仕入れた日に売れ残った場合,1個当たり 300 円の廃棄ロスが出るものとする。
販売個数 | |||||
---|---|---|---|---|---|
4 | 5 | 6 | 7 | ||
仕入個数 | 4 | 100 % | – | – | – |
5 | 30 % | 70 % | – | – | |
6 | 30 % | 30 % | 40 % | – | |
7 | 30 % | 30 % | 30 % | 10 % |
ア 4 イ 5 ウ 6 エ 7
4 個仕入れた場合
- 売れる個数の期待値
- = 4 個 × 100 %
- = 4 個
- 売れ残る個数の期待値
- = 仕入個数 - 売れる個数の期待値
- = 4 - 4
- = 0 個
- 利益の期待値
- = 売れる個数の期待値 × 利益 - 売れ残る個数の期待値 × 損失
- = 4 個 × 1,000 円 - 0 個 × 300 円
- = 4,000円
5 個仕入れた場合
- 売れる個数の期待値
- = 4 個 × 30 % + 5 個 × 70 %
- = 4.7 個
- 売れ残る個数の期待値
- = 仕入個数 - 売れる個数の期待値
- = 5 - 4.7
- = 0.3 個
- 利益の期待値
- = 売れる個数の期待値 × 利益 - 売れ残る個数の期待値 × 損失
- = 4.7 個 × 1,000 円 - 0.3 個 × 300 円
- = 4,610 円
6 個仕入れた場合
- 売れる個数の期待値
- = 4 個 × 30 % + 5 個 × 30 % + 6 個 × 40 %
- = 5.1 個
- 売れ残る個数の期待値
- = 仕入個数 - 売れる個数の期待値
- = 6 - 5.1
- = 0.9 個
- 利益の期待値
- = 売れる個数の期待値 × 利益 - 売れ残る個数の期待値 × 損失
- = 5.1 個 × 1,000 円 - 0.9 個 × 300 円
- = 4,830 円
7 個仕入れた場合
- 売れる個数の期待値
- = 4 個 × 30 % + 5 個 × 30 % + 6 個 × 30 % + 7個 × 10 %
- = 5.2個
- 売れ残る個数の期待値
- = 仕入個数 - 売れる個数の期待値
- = 7 - 5.2
- = 1.8 個
- 利益の期待値
- = 売れる個数の期待値 × 利益 - 売れ残る個数の期待値 × 損失
- = 5.2 個 × 1,000 円 - 1.8 個 × 300 円
- = 4,660 円
以上のように計算して、利益の期待値は、
4 個仕入れた場合が 4,000 円、
5 個仕入れた場合が 4,610 円、
6 個仕入れた場合が 4,830 円、
7 個仕入れた場合が 4,660 円
です。
したがって、最大は 6 個仕入れた場合であり、選択肢ウが正解です。
正解 ウ
期待値の計算方法と問題の解き方を、ご理解いただけましたでしょうか。
基本情報技術者試験の午前試験では、同じ問題が何度も再利用されています。したがって、もしもできない問題があったら、他の類題を探すのではなく、その問題ができるようになるまで練習することが得策です。
何度か繰り返し練習しているうちに、計算に慣れてくるはずです。それでは、またお会いしましょう!
label 関連タグ
免除試験を受けた 86% の方が、 1 年間の午前免除資格を得ています。

一般常識で解ける マネジメント と ストラテジ の計算方法|かんたん計算問題
update
ITエンジニアも知っておくべき 財務会計 の計算方法|かんたん計算問題
update
略語でわかる MIPS の計算方法|かんたん計算問題
update
ビットパターンの計算問題|かんたん計算問題
update
構造と仕組みを知ればできる 磁気ディスク装置 の計算方法|かんたん計算問題
update
音声サンプリングの計算方法がわかる|かんたん計算問題
update
通信ネットワークの計算方法がわかる|かんたん計算問題
update
工数の計算方法がわかる|かんたん計算問題
update
稼働率の計算方法がわかる|かんたん計算問題
update
期待値の計算方法がわかる|かんたん計算問題
update
『プログラムはなぜ動くのか』(日経BP)が大ベストセラー
IT技術を楽しく・分かりやすく教える“自称ソフトウェア芸人”
大手電気メーカーでPCの製造、ソフトハウスでプログラマを経験。独立後、現在はアプリケーションの開発と販売に従事。その傍ら、書籍・雑誌の執筆、またセミナー講師として活躍。軽快な口調で、知識0ベースのITエンジニアや一般書店フェアなどの一般的なPCユーザの講習ではダントツの評価。
お客様の満足を何よりも大切にし、わかりやすい、のせるのが上手い自称ソフトウェア芸人。
主な著作物
- 「プログラムはなぜ動くのか」(日経BP)
- 「コンピュータはなぜ動くのか」(日経BP)
- 「出るとこだけ! 基本情報技術者」 (翔泳社)
- 「ベテランが丁寧に教えてくれる ハードウェアの知識と実務」(翔泳社)
- 「ifとelseの思考術」(ソフトバンククリエイティブ) など多数