応用情報技術者試験 合格教科書|2026年度(令和8年度)対応
第 2 章|科目 A 直近 10 年平均 3.8 問(最多 5 問)

基礎理論 ― 離散数学・応用数学・情報理論・通信理論

基数変換から確率・符号理論・オートマトンまで。計算問題の型を図で理解し、科目 A 冒頭の得点源にする

この章で学ぶこと

科目 A では直近 10 年(19 回)で 73 問、1 回平均 3.8 問(最多 5 問・最少 2 問)が問 1〜6 に集中して出題されています。計算問題は型が固定されており、直近 3 年は 21 問中 7 問が過去問と要旨・正解が一致する再出題でした。3 問確保が目標です。

基数と数値の表現・演算精度

コンピュータは 2 進数で数を扱いますが、人間が読み書きするのは 10 進数、メモリダンプやアドレスは 16 進数です。基数(何種類の数字を使うか)を切り替える計算は、本章のほぼ全ての計算問題の土台になります。位ごとに「基数の何乗」という重みが付いている(位取り記数法)と捉えれば、どの基数でも同じ手順で変換できます。

2³=8 2²=4 2¹=2 2⁰=1 2⁻¹=0.5 2⁻²=0.25 . 1 0 1 1 0 1 8 0 2 1 0 0.25 = 11.25(10 進) 8+2+1+0.25 同じ要領で 8 ビット 10110101 を区切ると 1 0 1 1 0 1 0 1 B(=11) 5 4 ビットずつ → 16 進数 B5 3 ビットずつ → 8 進数 265 (010 / 110 / 101 と区切る)
図 2-1 位取り記数法。小数点の右は 2−1、2−2 と重みが半分ずつになります。16 進・8 進への変換は計算ではなく「区切り直し」で済むので、2 進数を経由すると速く確実です。

計算の型: 基数変換

n 進 → 10 進: 各桁 × 基数位 の合計。10 進 → n 進: 整数部は「基数で割った余り」を下位桁から並べ、小数部は「基数を掛けた整数部」を上位桁から並べる。

例題: 10 進数 0.625 を 2 進数にせよ。

  1. 0.625 × 2 = 1.25 → 整数部 1(小数第 1 位)、残り 0.25
  2. 0.25 × 2 = 0.5 → 整数部 0、残り 0.5
  3. 0.5 × 2 = 1.0 → 整数部 1、残り 0 で終了
  4. 答え: 0.101(2)。0.1(10)のように 2 進で循環小数になる値は有限桁では正確に表せない(誤差の原因)
10 進2 進16 進10 進2 進16 進
000000810008
100011910019
200102101010A
300113111011B
401004121100C
501015131101D
601106141110E
701117151111F

桁数と対数 ― 「何ビット必要か」の型

n ビットで表せるパターンは 2n 通り、符号なし整数なら 0〜2n−1 です。逆に N 通りを区別するには log2N を切り上げたビット数が要ります。10 進 1 桁は約 3.32 ビット(log210 ≒ 3.32)に相当し、10 進 k 桁の整数は 2 進で約 3.32k 桁になります。また d 桁の 2 進数を 2 乗すると桁数は 2d または 2d−1 になる(最上位が 1 なので 2d−1 以上、2 乗で 22d−2 以上)という性質も、桁数問題の定番です。文字を使った符号にも同じ考え方が使えます。0〜7 の 8 種類の数字だけを使う 3 桁の番号を小さい順に並べると、番号「345」は 8 進数として 3×64+4×8+5=229 なので、「000」を 1 番目と数えれば 230 番目です。

計算の型: 必要ビット数

N 通りを区別する最小ビット数 = log2N の切り上げ(2n−1 < N ≦ 2n となる n)

例題: 社員番号を 1〜5,000 まで付けたい。何ビット必要か。

  1. 212 = 4,096 < 5,000 ≦ 8,192 = 213 を確認する
  2. 答え: 13 ビット。バイト単位なら 2 バイト(16 ビット)

負数の表現と固定小数点数

負数は 補数で表します。1 の補数は全ビットを反転したもの、2 の補数は 1 の補数に 1 を加えたもので、現在のコンピュータはほぼ 2 の補数を使います。理由は、減算を加算回路だけで実現でき(A − B = A +(B の 2 の補数)、桁あふれは捨てる)、0 の表現が 1 通りだからです。最上位ビットが符号(1 なら負)になります。

表現(n ビット)表現範囲8 ビットの例0 の表現
符号なし整数0 〜 2n−10 〜 2551 通り
1 の補数−(2n−1−1) 〜 2n−1−1−127 〜 1272 通り(00000000 と 11111111)
2 の補数−2n−1 〜 2n−1−1−128 〜 1271 通り
BCD(2 進化 10 進)10 進 1 桁を 4 ビットで表す0101 1001 = 59パック 10 進数は 1 バイトに 2 桁、末尾 4 ビットに符号

例として 8 ビットで −5 を表すと、5 = 00000101 → 反転 11111010(1 の補数)→ +1 で 11111011(2 の補数)です。固定小数点数は小数点の位置を決め打ちした整数表現で、業務計算の金額(誤差が許されない)や組込み機器で使われます。範囲が狭い代わりに演算が速く誤差が出にくいのが特徴です。

浮動小数点数 ― IEEE 754 の構造

浮動小数点数は数を「符号 × 仮数 × 基数指数」の形で表し、指数で小数点の位置を動かします。正規化は仮数の先頭を 0 以外にそろえる操作で、IEEE 754 では 1.xxx の形にして先頭の 1 を省略し(隠れビット)、有効桁を 1 ビット稼ぎます。指数は負の値も表せるようにバイアス(下駄)を足して格納します。

形式全長符号指数(バイアス)仮数10 進の有効桁
単精度(float)32 ビット18 ビット(127)23 ビット約 7 桁
倍精度(double)64 ビット111 ビット(1023)52 ビット約 15〜16 桁

仮数のビット数が有限なので、浮動小数点演算には必ず誤差が伴います。試験で問われるのは誤差の名前と発生条件の対応です。特に「桁落ち」と「情報落ち」は 10 年で 3 問出ており、定義の入替えが定番の誤答肢です(図 2-2)。

桁落ち(近い値どうしの減算) 情報落ち(大小差の大きい加算) 仮数 7 桁で計算する  1.234567 × 10⁰ -1.234501 × 10⁰ =0.000066 × 10⁰ 正規化 → 6.600000 × 10⁻⁵ 有効桁 7 桁 → 2 桁に減る 補われた 0 は本当の値ではない 仮数 7 桁で計算する  1.234567 × 10³ +1.000000 × 10⁻⁴ 桁合わせ 1234.567 + 0.0001 7 桁に丸め → 1.234567 × 10³ 加えた値が結果に反映されない 対策: 小さい値どうしを先に足す
図 2-2 桁落ちと情報落ち。桁落ちは「引き算で先頭の桁が消える」、情報落ちは「足し算で末尾の桁が消える」と覚えると、定義を入れ替えた誤答肢に引っかかりません。多数の項を加算するときは小さい項から順に足すと情報落ちを抑えられます。
誤差・現象発生条件対策の方向
桁落ちほぼ等しい 2 数の減算で有効桁数が減る式を変形して減算を避ける(有理化など)
情報落ち絶対値の差が大きい 2 数の加減算で小さい数が無視される小さい数から順に加算する、倍精度を使う
丸め誤差表現できる桁数を超えた部分を四捨五入・切捨て・切上げで処理する桁数を増やす、10 進演算(BCD)を使う
打切り誤差無限級数・反復計算を有限回で打ち切る反復回数を増やす、収束判定を厳しくする
オーバーフロー表現可能な最大値を超える(指数部があふれる)倍精度、例外処理
アンダーフロー表現可能な最小の正数より 0 に近くなる倍精度、非正規化数

シフト演算とビット演算 ― 乗除・剰余を置き換える

論理シフトは空いたビットに 0 を詰める操作で、符号なし整数向きです。算術シフトは符号ビットを動かさず、右シフトでは空きに符号ビットと同じ値を詰めるので、2 の補数の負数でも符号が保たれます。左に n ビットシフトすると 2n 倍、右に n ビットシフトすると 2n で割った商になります(正数では切捨て。負数の算術右シフトは負の無限大方向に丸められます)。x × 10 は x を 3 ビット左シフト(8 倍)と 1 ビット左シフト(2 倍)の和で計算でき、乗算器のない小さな CPU ではこの手法が使われます。

計算の型: AND マスクによる剰余(巡回カウンタ)

2k で割った余り = 下位 k ビットを取り出す = (2k−1) との AND。255 = 11111111(2)なので、n AND 255 は n mod 256 と同じ。

例題: 0〜1023 を巡回するカウンタで、n の次の値を求める式を書け。

  1. 1024 = 210 なので、下位 10 ビットのマスクは 1023 = 1111111111(2)
  2. 次の値 = (n + 1) AND 1023。n = 1023 なら 1024 AND 1023 = 0 に戻る
  3. 誤答肢の型: OR 1023(下位 10 ビットが全部 1 になり、常に 1023 以上になる)、AND 1024(1 ビットしか見ない)、(n AND 1023) + 1(1024 に到達して戻らない)

集合と論理演算 ― ド・モルガン・真理値表・カルノー図

集合と論理は同じ構造を別の記号で書いたものです。集合の和・積・補は論理の OR・AND・NOT に、ベン図の塗り分けは真理値表の行に対応します。論理演算は 10 年で 10 問(AI と並ぶ本章最多)で、問われ方は「等価な式を選ぶ」「真理値表から演算を特定する」「カルノー図で簡単化する」の 3 つです。

集合の演算とド・モルガンの法則

演算記法意味(ベン図)論理との対応
和集合A ∪ BA か B のどちらかに属する論理和 OR
積集合A ∩ BA と B の両方に属する論理積 AND
補集合Ā全体集合のうち A に属さない否定 NOT
差集合A − B = A ∩ B̄A に属し B に属さないA AND NOT B
部分集合A ⊆ BA の要素はすべて B の要素含意 A → B が常に真

ド・モルガンの法則は「和の補集合は補集合の積、積の補集合は補集合の和」です。A ∪ B の補集合 = Ā ∩ B̄、A ∩ B の補集合 = Ā ∪ B̄ となり、論理式では ¬(A ∨ B) = ¬A ∧ ¬B、¬(A ∧ B) = ¬A ∨ ¬B です。試験ではこれと差集合の定義を組み合わせます。Ā ∩ B̄ は「A にも B にも属さない」なので、差集合で書けば Ā − B(A の外にあって B にも入らない)と同じ集合です。誤答肢には Ā ∪ B̄(A ∩ B の補集合)、A − B̄(= A ∩ B)のように 1 か所だけ記号を変えた式が並ぶので、要素の帰属を「A に入るか・B に入るか」の 4 領域で確かめるのが確実です。

命題論理と含意

命題は真(1)か偽(0)かが定まる文です。「A ならば B」(含意 A → B)は、A が真なのに B が偽のときだけ偽になり、前件 A が偽なら B に関係なく全体が真です。A → B は ¬A ∨ B と等価です。含意を扱う出題としては直近 10 年で令和 7 年春期・問 1 相当が唯一です(この等価則はトートロジー識別に使えます)。対偶 ¬B → ¬A は元の命題と真偽が一致しますが、逆 B → A や裏 ¬A → ¬B は一致しません。

論理演算と真理値表

ABAND(A·B)OR(A+B)XOR(A ⊕ B)NANDNORXNOR(等価)A → B
000001111
010111001
100111000
111100011

ある演算の相補演算とは、出力をすべて否定した演算です。表を縦に見ると、AND の相補は NAND、OR の相補は NOR、そして XOR の相補は XNOR(等価演算)です。「XOR の相補演算はどれか」に NAND や NOR を選ばせる肢が 2 回出ています。名前で判断せず、4 行すべてが反転しているかを確認してください。NAND だけ(あるいは NOR だけ)を組み合わせれば NOT・AND・OR がすべて作れるため、NAND は万能ゲートと呼ばれます。

排他的論理和 XOR は「2 入力が異なるとき 1」で、次の性質が計算問題の根拠になります。A ⊕ A = 0、A ⊕ 0 = A、A ⊕ 1 = ¬A、交換則・結合則が成り立ち、(A ⊕ B) ⊕ B = A なので同じ値を 2 回 XOR すると元に戻ります。パリティビットの計算、ストリーム暗号、RAID 5 のパリティ復元がこの性質で動いています。

法則論理積の形論理和の形
交換則A·B = B·AA+B = B+A
結合則(A·B)·C = A·(B·C)(A+B)+C = A+(B+C)
分配則A·(B+C) = A·B+A·CA+(B·C) = (A+B)·(A+C)
吸収則A·(A+B) = AA+A·B = A
ド・モルガン¬(A·B) = ¬A+¬B¬(A+B) = ¬A·¬B

結合則は AND・OR・XOR には成り立ちますが、NAND や NOR、含意には成り立ちません。「結合法則が成り立つ演算はどれか」という出題(平成 29 年春期)がこの点を突いています。

カルノー図で論理式を最小化する

カルノー図は真理値表を 2 次元に並べ替えたもので、隣り合うマス目は 1 変数だけが異なるように(00, 01, 11, 10 の順、グレイコード順)配置します。1 のマス目を 2n 個の長方形で囲むと、囲みの中で値が変わる変数を消去できます。左端と右端、上端と下端は隣接扱い(折返し)です。4 変数のカルノー図から等価な簡略化式を選ぶ問題が 2 回(令和 4 年秋・令和 7 年秋相当、同一問題)出ています。

AB\CD 00 01 11 10 00 01 11 10 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 ① 1 のマスを 2ⁿ 個(1・2・4・8)の長方形で囲む ② 囲みが大きいほど項の変数が減る(4 個→2 変数) ③ 囲みの中で値が変わらない変数だけを残す 囲み①(4 個): B=1, D=1 が共通 → B·D 囲み②(2 個): 左端と右端は隣接(折返し) A=0, B=0, D=0 が共通 → ¬A·¬B·¬D f = ¬A·¬B·¬D + B·D
図 2-3 4 変数カルノー図の囲み方。囲み①では C が 0 と 1 の両方をとるので C が消え、囲み②では C が消えて 3 変数の項になります。囲みは重なってもよく、すべての 1 をできるだけ大きく・少ない数の囲みで覆った式が最小です。
覚え方 囲みの大きさと残る変数の数は「16 個 → 0 変数(常に 1)、8 個 → 1 変数、4 個 → 2 変数、2 個 → 3 変数、1 個 → 4 変数」。囲みを 1 段大きくするごとに変数が 1 つ消えます。誤答肢は「囲みが小さすぎて項が多い式」か「否定の付け間違い」なので、囲みの個数と項数を突き合わせれば消せます。

論理回路 ― 加算器・多数決回路・フリップフロップ

回路論理式・動作用途
半加算器和 S = A ⊕ B、桁上げ C = A·B最下位桁の加算
全加算器S = A ⊕ B ⊕ Cin、Cout = A·B + Cin·(A ⊕ B)下位からの桁上げを含む加算。半加算器 2 個 + OR
多数決回路(3 入力)A·B + B·C + C·A(2 つ以上が 1 なら 1)多重系の故障判定、全加算器の桁上げと同形
フリップフロップ入力が無くなっても出力を保持する(1 ビット記憶)。RS・JK・D 型SRAM・レジスタ・カウンタ

論理回路の問題は真理値表を自分で書けば必ず解けます。3 入力なら 8 行、入力の組合せを 000 から 111 まで並べて 1 行ずつ確認するのが最速です。

確率と統計

確率・統計は 10 年で 7 問、計算と「考え方を選ぶ」問題が半々です。順列・組合せで場合の数を数え、加法・乗法定理で確率を組み立て、期待値で平均的な結果を見積もる、という流れを型にしておきます。直近 3 年はベイズの定理を「事後確率を求める場面はどれか」と問うなど、公式を使う場面の判断へ寄っています。

計算の型: 順列・組合せ

順列(順序を区別)nPr = n! ÷ (n−r)!(n! は階乗で n×(n−1)×…×2×1) 組合せ(順序を区別しない)nCr = n! ÷ (r!(n−r)!) 重複を許す並べ方 = nr

例題: 8 台のサーバから監視対象を 3 台選ぶ選び方は何通りか。

  1. 順序は問わないので組合せ。8C3 = 8×7×6 ÷ (3×2×1)
  2. = 336 ÷ 6 = 56 通り(順列なら 336 通り。「選ぶ」は組合せ、「並べる・割り当てる」は順列)
定理・用語式使う場面
加法定理P(A ∪ B) = P(A) + P(B) − P(A ∩ B)「A または B」。排反なら P(A)+P(B)
乗法定理P(A ∩ B) = P(A) × P(B|A)「A かつ B」(同時確率)
独立P(A ∩ B) = P(A) × P(B)互いに影響しない事象。複数装置が全部正常な確率など
条件付き確率P(B|A) = P(A ∩ B) ÷ P(A)「A が起きたとき B の確率」
余事象P(Ā) = 1 − P(A)「少なくとも 1 つ」は余事象で計算する
期待値E = Σ(値 × その確率)くじの平均賞金、平均処理時間

計算の型: ベイズの定理(結果から原因の確率を求める)

P(原因|結果) = P(結果|原因) × P(原因) ÷ P(結果)。分母は全原因についての Σ P(結果|原因i) × P(原因i)。

例題: 部品の 60% を工場 A、40% を工場 B が生産し、不良率は A が 2%、B が 5% である。抜き取った部品が不良品だったとき、それが工場 A 製である確率は。

  1. 不良品が出る確率(分母): 0.6 × 0.02 + 0.4 × 0.05 = 0.012 + 0.020 = 0.032
  2. A 製かつ不良品(分子): 0.6 × 0.02 = 0.012
  3. P(A|不良) = 0.012 ÷ 0.032 = 0.375。生産比率(事前確率 0.6)が、不良という結果を見て 0.375(事後確率)に更新された

「袋から取り出した玉の色から、どの袋を選んだかを推定する」「検査が陽性だったとき本当に病気である確率」のように、観測された結果から原因側の確率を更新する場面がベイズの定理の出番です。逆に「袋 A を選んだとき赤玉が出る確率」は単なる条件付き確率で、ベイズは不要です。

確率分布 ― 名前と場面を対応させる

分布型表す現象平均・分散
ベルヌーイ分布離散成功・失敗の 1 回試行p、p(1−p)
二項分布離散n 回の独立試行での成功回数(抜取検査の不良数)np、np(1−p)
ポアソン分布離散単位時間あたりの稀な事象の発生回数(到着数・故障数)λ、λ(平均=分散)
正規分布連続測定値・得点など多数の要因の和。左右対称の釣鐘型μ、σ2
指数分布連続ポアソン到着の到着間隔、故障までの時間1/λ、1/λ2
カイ二乗分布連続分散の推定、適合度・独立性の検定自由度で決まる
マルコフ過程—次の状態が現在の状態だけで決まる確率過程(状態遷移確率の行列で表す)—

連続型分布では特定の値をとる確率は 0 で、確率密度関数の面積が区間の確率になります。抜取検査で「不良率 10% のロットから 3 個抜き取り、全部良品なら合格」とすれば、合格確率は独立試行として 0.93 = 0.729 です。

μ−2σ μ−σ μ μ+σ μ+2σ 68.3%(μ±σ) 95.4%(μ±2σ) μ±3σ には 99.7% z=1.5 z=2.0 標準得点 z = (x − μ) ÷ σ 数学 μ50 σ20 80 点 → z = 1.5 国語 μ60 σ10 80 点 → z = 2.0 z が小さい科目ほど 80 点以上の人が多い
図 2-4 正規分布と標準得点。同じ 80 点でも、ばらつきの大きい数学(z=1.5)の方が国語(z=2.0)より平均からの距離が近く、80 点以上の右側の面積が広い、つまり該当者が多くなります。平均だけ・σ だけの比較は誤答肢の定番です。

計算の型: 標準得点(z 値)で科目を比べる

z = (得点 − 平均) ÷ 標準偏差。z は「平均から標準偏差いくつ分離れているか」。

例題: 受験者数が同じ 3 科目で、80 点以上の人が最も多い科目はどれか。国語 μ60・σ10、数学 μ50・σ20、英語 μ68・σ4。

  1. 国語 z = (80−60)÷10 = 2.0、数学 z = (80−50)÷20 = 1.5、英語 z = (80−68)÷4 = 3.0
  2. z が最小の数学が、80 点以上の割合(右側の面積)が最大。平均が最も高い英語ではない

統計の基本用語

分類用語意味・ポイント
代表値平均値合計 ÷ 個数。外れ値に引かれやすい
中央値(メジアン)大きさ順に並べた中央の値。外れ値に強い
最頻値(モード)最も多く現れる値
ばらつき分散偏差(値 − 平均)の 2 乗の平均
標準偏差 σ分散の平方根。元の値と同じ単位
歪度・尖度分布の左右の偏り・裾の重さ(正規分布との違い)
可視化度数分布表・ヒストグラム区間ごとの個数。分布の形を見る
箱ひげ図最小・第 1 四分位・中央値・第 3 四分位・最大の 5 数要約
散布図2 変量の関係。相関の有無を見る
関係相関係数−1〜+1。絶対値が大きいほど直線的な関係が強い。2 変量の関係の強さを調べる手法が相関分析。相関があっても因果とは限らない(擬似相関: 第 3 の変数が両方に影響)
回帰分析説明変数から目的変数を予測する式(回帰直線 y = ax + b)。単回帰・重回帰、確率を予測するロジスティック回帰
主成分分析分散が最大になる軸を順に取り、多数の変数を少数の合成変数へ縮約する。次元削減に使う
因子分析観測された変数の背後にある共通の潜在因子を推定する。縮約でも目的が主成分分析と異なる
尺度できる演算例
名義尺度等しいか否か(度数)血液型、部署コード
順序尺度大小・順位(中央値)満足度 5 段階、ランク
間隔尺度差(平均・標準偏差)。0 は便宜的摂氏温度、西暦
比例尺度比(倍率)。絶対的な 0 がある金額、処理時間、重さ

推定と仮説検定

標本から母集団の値を 1 点で見積もるのが点推定、範囲で見積もるのが区間推定(95% 信頼区間など)です。観測データが得られる確からしさ(尤度)を最大にするパラメータを選ぶ方法が最尤推定です。

仮説検定では、否定したい主張を帰無仮説(例: 新旧システムの平均応答時間に差はない)、示したい主張を対立仮説に置き、帰無仮説が正しいとしたときに観測結果以上に極端なことが起きる確率(p 値)が有意水準(5% や 1%)より小さければ帰無仮説を棄却します。

帰無仮説が真(実際は差がない)帰無仮説が偽(実際は差がある)
棄却する(差があると判断)第 1 種の誤り(α、偽陽性・あわて者)正しい判断(確率 = 検出力 1−β)
棄却しない正しい判断第 2 種の誤り(β、偽陰性・ぼんやり者)

有意水準 α は第 1 種の誤りを許容する確率そのものです。α を小さくすると β は大きくなる(トレードオフ)ので、両方を下げるには標本数を増やします。検定の種類は、平均の差なら t 検定(母分散未知)・z 検定(母分散既知または大標本)、分類データの分布や独立性ならカイ二乗検定、3 群以上の平均差なら分散分析と対応させておけば十分です。

数値計算・数値解析・グラフ理論

この節の小分類(数値計算・数値解析・グラフ理論・最適化)は 10 年で計 7 問と薄めですが、二分法の反復回数(令和 7 年春期)やニュートン法(令和 3 年秋期)のように、考え方を知っていれば 1 分で解ける問題が混ざります。用語の対応表を押さえ、二分法だけは計算の型にしておきます。

線形代数と数列

スカラは 1 つの数、ベクトルは数の並び、行列は数の 2 次元配置、テンソルはそれを多次元に一般化したもの(ディープラーニングの入出力データ)です。行列の積は「左の行 × 右の列」の内積で、一般に AB ≠ BA です。連立一次方程式 Ax = b は、係数行列に行の基本変形を繰り返して単位行列にする掃出し法(ガウスの消去法)で解けます。

用語定義使われる場面
単位行列 I対角成分が 1、他が 0。AI = IA = A数の 1 に相当
逆行列 A−1AA−1 = I。行列式が 0 なら存在しない連立方程式の解 x = A−1b
転置行列 AT行と列を入れ替える対称行列は AT = A(無向グラフの隣接行列)
固有値・固有ベクトルAv = λv を満たす λ と v(方向が変わらないベクトル)主成分分析、ページランク
等差数列・等比数列an = a + (n−1)d、an = arn−1減価償却、複利計算
フィボナッチ数列Fn = Fn−1 + Fn−2(1, 1, 2, 3, 5, 8, …)再帰の例題、漸化式の読み取り
対数loga(xy) = logax + logay、logaxn = n logax桁数の見積り、計算量 O(log n)
三角関数sin・cos・tan。角度と辺の比を対応させ、波を sin・cos の合成で表す信号処理(波形の分解)、座標の回転・変換
二項展開の近似x が十分小さいとき (1+x)n ≒ 1 + nx誤差の伝播、利率の概算

数値解析 ― 近似解の求め方と誤差

方程式を式変形で解けないとき、コンピュータは反復計算で近似解に近づけます。近似解と真の値の差が絶対誤差、それを真の値で割ったものが相対誤差です。反復を有限回で止めることによる誤差が打切り誤差、各ステップの丸めが積み重なるのが丸め誤差で、両者は反復回数を増やすと逆方向に動きます。

計算の型: 二分法の反復回数

f(a) と f(b) の符号が異なる区間 [a, b] の中点で符号を調べ、解を含む側に区間を半分に狭める。1 回で幅が 1/2 になるので、幅 L を ε 以下にする回数 n は 2n ≧ L ÷ ε を満たす最小の n。

例題: 幅 500 の区間に解が 1 つある。二分法で幅を 1 以下に絞るには最低何回反復するか。

  1. L ÷ ε = 500 ÷ 1 = 500
  2. 28 = 256 < 500 ≦ 512 = 29
  3. 答え: 9 回。必ず収束するが速度は 1 回 1 ビット分と遅い
手法考え方特徴
二分法符号が変わる区間を半分ずつ狭める確実に収束、遅い
ニュートン法xn+1 = xn − f(xn) ÷ f′(xn)。接線と x 軸の交点を次の近似値にする収束が速い(2 次収束)。初期値が悪いと発散、微分が必要。√2 は f(x)=x2−2 で x0=1.5 → 1.4167 → 1.41422
補間法既知の点の間を多項式でつないで値を推定ラグランジュ補間・スプライン
オイラー法微分方程式を刻み幅 h で 1 歩ずつ進める刻み幅が大きいと誤差が大きい
数値積分台形則・シンプソン法(区間を放物線で近似)で面積を足し合わせるシンプソン法の方が精度が高い
モンテカルロ法乱数を大量に発生させて確率的に近似(円周率、待ち行列のシミュレーション)試行回数を増やすと精度が上がる
数式処理数値でなく記号のまま因数分解・微分・積分を行う数式処理システム(丸め誤差が出ない)

グラフ理論と最適化問題

グラフは頂点(ノード)と辺(エッジ)の集まりで、ネットワーク構成・工程・状態遷移など「つながり」を表す共通言語です。辺に向きがあれば有向グラフ、なければ無向グラフで、頂点 i と j が辺で結ばれていれば 1 を置く隣接行列で表現できます(無向なら対称行列)。木は閉路を持たない連結グラフで、n 頂点なら辺は必ず n−1 本です。「辺の数が頂点の数より 1 少なく、かつ連結」なら木、閉路が 1 つでもあれば木ではありません。

用語定義
完全グラフすべての頂点の組が辺で結ばれている。n 頂点で辺は n(n−1)/2 本
重み付きグラフ辺に距離・コストが付く。最短経路問題(ダイクストラ法は第 3 章)
閉路グラフすべての頂点が 1 つの輪になっている
正則グラフすべての頂点の次数(つながる辺の数)が等しい
経路・連結頂点から頂点へ辺をたどれること。どの 2 頂点間にも経路があれば連結

最適化問題は制約条件の下で目的関数を最大・最小にする問題です。変数が連続なら連続最適化(線形計画法: 目的関数と制約がすべて 1 次式で、最適解は実行可能領域の頂点にある)、選択肢が離散なら組合せ最適化(ナップサック問題、巡回セールスマン問題)に分かれます。部分問題の解を表に記録して再利用する動的計画法は組合せ最適化の基本技法で、PERT(Program Evaluation and Review Technique)のクリティカルパス計算(前進計算・後退計算)や最短経路のアルゴリズムも動的計画法の一種です。巡回セールスマン問題は都市数が増えると解の候補が爆発的に増え、多項式時間の解法が知られていません(後述の NP 困難)。

待ち行列理論 ― M/M/1 モデル

待ち行列理論は、窓口に客がランダムに到着してサービスを受けるシステムの待ち時間を確率的に見積もる理論です。ATM・コールセンター・Web サーバの応答時間・通信回線の伝送待ちに共通して使え、M/M/1 モデルは 10 年で 8 問と本章の最頻出テーマです。公式は 1 本、出題の数値パターンは 3 つしかありません。

出題実績 M/M/1 待ち行列は直近 10 年(19 回)で 8 回出題。計算 7・読解 1 で、閾値型(平成 30 年秋期・令和 7 年秋期)、倍率型(令和 4 年春期・令和 6 年秋期)、統合型(令和 3 年秋期・令和 6 年春期)はいずれも同じ問題の再出題です。

モデルの記法と用語

M/M/1 はケンドール記法で「到着分布/サービス時間分布/窓口数」を表し、M はマルコフ性(厳密には無記憶性)を意味します。到着がポアソン分布(到着間隔は指数分布)、サービス時間も指数分布、窓口が 1 つ、待ち行列の長さに制限がなく先着順(FIFO:First In First Out)でサービスする、が前提です。「先着順」という前提を変える運用(優先順位付け)はモデルの前提に反する、という読解問題(平成 28 年春期)も出ています。

記号名称意味・関係
λ平均到着率単位時間あたりの到着数。平均到着間隔 = 1/λ
μ平均サービス率単位時間あたりに処理できる数。平均サービス時間 Ts = 1/μ
ρ利用率(トラフィック密度)ρ = λ/μ = λ × Ts。窓口が忙しい時間の割合。ρ < 1 でないと行列が無限に伸びる
Tw平均待ち時間行列に並んでからサービス開始まで。Tw = ρ/(1−ρ) × Ts
Tq平均応答時間(滞留時間)Tq = Tw + Ts = Ts/(1−ρ)
Lq / L平均待ち行列長 / 平均系内人数Lq = ρ2/(1−ρ)、L = ρ/(1−ρ)(リトルの公式 L = λ × Tq)
Tw ÷ Ts(待ち時間はサービス時間の何倍か) 利用率 ρ 0 0.25 0.5 0.75 1.0 1 2 3 4 5 ρ=0.25 → 0.33 ρ=0.40 → 0.67 ρ=0.5 → 1.0(待ち時間 = サービス時間) 0.33 → 0.67 は 2.0 倍 ρ=0.8 → 4.0 倍
図 2-5 ρ/(1−ρ) の曲線。ρ が 1 に近づくと待ち時間は急激に増えます。利用率が半分(0.5)を超えると「待ち時間がサービス時間を超える」ことが、閾値型の問題の正解 ρ ≧ 0.5 の根拠です。

計算の型: M/M/1 の平均待ち時間(出題 3 型)

Tw = ρ/(1−ρ) × Ts (ρ = λ × Ts)

例題(基本): 1 時間に平均 6 件の問合せが来て、1 件の処理に平均 6 分かかる窓口の平均待ち時間と平均応答時間は。

  1. ρ = λ × Ts = 6 件/時 × 0.1 時間 = 0.6(単位を時間にそろえる)
  2. Tw = 0.6/(1−0.6) × 6 分 = 1.5 × 6 = 9 分
  3. Tq = Tw + Ts = 9 + 6 = 15 分(= 6/(1−0.6))

① 閾値型「待ち時間がサービス時間の k 倍以上になる利用率」→ ρ/(1−ρ) ≧ k を解く。k=1 なら ρ ≧ 0.5、k=3 なら ρ ≧ 0.75。

② 倍率型「利用率が 0.25 から 0.40 に上がると待ち時間は何倍か」→ (0.4/0.6) ÷ (0.25/0.75) = 0.667 ÷ 0.333 = 2.0 倍。ρ の比 1.6 倍ではない。

③ 統合型「同じ性能の窓口 2 か所(各 ρ)を 1 か所に統合し、到着率が 2 倍になった」→ ρ′ = 2ρ なので Tw′ = 2ρ/(1−2ρ) × Ts。ρ のまま計算する肢が誤答。

応答時間 Tq = Ts/(1−ρ) と待ち時間 Tw = ρ × Ts/(1−ρ) は ρ 倍の違いです。問題文が「待ち時間」なのか「応答時間(処理を含む)」なのかを最初に確認してください。待ち行列モデルで扱いにくい複雑なシステムは、乱数で到着とサービスを再現するシミュレーション(モンテカルロ法)で評価します。

情報理論と符号理論 ― 情報量・ハフマン符号・標本化

情報理論は「情報の量」を確率で測る理論です。めったに起きない事象ほど、それが起きたと知らされたときの驚きは大きい ― この直感を式にしたのが情報量で、生起確率 p の事象が起きたと知ったときの情報量は log2(1/p) ビットです。p = 1/2 なら 1 ビット、p = 1/8 なら 3 ビットになります。情報源全体の平均情報量がエントロピー H = Σ pi log2(1/pi) で、これがその情報源を符号化するのに必要な平均ビット数の下限(=一意復号可能な符号、代表的には接頭語符号を前提として、これ以上は圧縮できない限界)を与えます。

符号化の目的呼び方代表例
効率を上げる(短くする)情報源符号化(データ圧縮)ハフマン符号、ランレングス符号
信頼性を上げる(誤りに強くする)通信路符号化(誤り検出・訂正)パリティ、CRC、ハミング符号
安全性を上げる(第三者に読ませない)暗号化共通鍵暗号、公開鍵暗号(第 12 章)

情報源符号化はデータを短くし、通信路符号化は逆に冗長なビットを足します。目的が正反対なので、「圧縮したのに誤り訂正もできる」といった肢は疑ってかかります。

ハフマン符号 ― 出現確率で符号長を変える

出題実績 ハフマン符号は直近 10 年(19 回)で 5 回出題され、M/M/1 に次ぐ頻出テーマです。符号表を選ばせる型(平成 28 年春期・令和 2 年 10 月期)、平均符号長を計算させる型(平成 29 年秋期・平成 30 年春期)、定義を選ばせる型(平成 30 年秋期)の 3 通りが出ています。

ハフマン符号は、出現確率の高い文字に短い符号、低い文字に長い符号を割り当てる可変長符号です。作り方は「確率が最小の 2 つを選んで 1 つにまとめる」を繰り返すだけで、できあがった木の枝に 0 と 1 を振れば符号表になります(図 2-6)。

A 0.45 B 0.25 C 0.20 D 0.10 ① 出現確率の小さい 2 つを結合する 0.30 0 1 ② C 0.20 + D 0.10 → 0.30 0.55 0 1 ③ B 0.25 + 0.30 → 0.55 1.00 0 1 ④ A 0.45 + 0.55 → 1.00 左枝が 0、右枝が 1 → 0 → 10 → 110 → 111 平均符号長 0.45×1 + 0.25×2 + 0.20×3 + 0.10×3 = 1.85 ビット 固定長 2 ビットの 0.925 倍
図 2-6 ハフマン木の構築。最小の 2 つを結合するたびに木が 1 段伸び、確率が小さい文字ほど根から遠く(=符号が長く)なります。どの符号も他の符号の先頭に現れない(接頭語条件)ので、区切り記号なしで一意に復号できます。

計算の型: 平均符号長

平均符号長 = Σ(その文字の出現確率 × その文字の符号長)。固定長符号との比を問われたら、固定長は log2(文字種数)を切り上げたビット数。

例題: 図 2-6 の符号表で、平均符号長は固定長符号の何倍になるか。

  1. ハフマン: 0.45×1 + 0.25×2 + 0.20×3 + 0.10×3 = 0.45 + 0.50 + 0.60 + 0.30 = 1.85 ビット
  2. 固定長: 4 文字なので log24 = 2 ビット
  3. 答え: 1.85 ÷ 2 = 0.925 倍(7.5% 短縮)。確率の偏りが大きいほど圧縮率は上がる
ここがひっかけ 符号表を選ぶ問題の誤答肢は、①接頭語条件違反(0 と 01 が同時にある。0 を読んだ時点で確定できず一意に復号できない)、②確率と符号長の逆転(最頻出の文字に最長の符号)、③固定長表(そもそも圧縮していない)の 3 通りです。まず「ある符号が別の符号の先頭になっていないか」を目で確認してください。

連続する同じ値をまとめるランレングス符号(AAAAABBB を A5B3 とする)は、白と黒が続く FAX 画像のように同じ値が連続するデータで効きます。逆にランダムなデータでは符号が伸びることもあります。可逆圧縮(ZIP、PNG、ハフマン、ランレングス)と非可逆圧縮(JPEG、MP3)の区別も押さえます。

アナログとデジタル ― 標本化・量子化・符号化

音声や温度のような連続量(アナログ)をコンピュータで扱うには、標本化(時間を一定間隔で区切って値を読む)→量子化(読んだ値を決められた段階に丸める)→符号化(段階の番号を 2 進数で表す)の 3 段階で数値化します。

この一連の処理が A/D 変換であり、パルスの符号として送る方式が PCM(Pulse Code Modulation:パルス符号変調)です(図 2-7)。

7 6 5 4 3 2 1 0 100 110 111 110 100 010 001 010 3 ビット × 8 標本 = 24 ビット ① 標本化(サンプリング) 一定周期で波形の高さを読む ② 量子化 8 段階(3 ビット)に丸める ③ 符号化 各段階を 2 進数で表す 標本化定理 最高周波数の 2 倍以上で 標本化すれば元に戻せる 電話 4 kHz → 8 kHz 標本化
図 2-7 PCM の 3 段階。丸めによって生じる元の波形とのずれが量子化誤差で、段階(ビット数)を増やすほど小さくなります。標本化周期が粗すぎると元と違う波形に復元される現象がエイリアシングです。標本化定理が成り立つには信号が帯域制限されていることが前提で、理論上は最高周波数の 2 倍を厳密に上回る必要がありますが、IPA の出題では 2 倍以上(≧)として扱われます。

計算の型: A/D 変換後のデータ量

データ量(ビット) = 標本化周波数(Hz) × 量子化ビット数 × チャネル数 × 秒数。バイトにするには 8 で割る。

例題: 標本化周波数 40 kHz、量子化 16 ビット、モノラルで 1 秒間の音声を記録すると何 k バイトか。

  1. 40k × 16 × 1 × 1 = 640k ビット
  2. 640k ÷ 8 = 80k バイト
  3. ステレオ(2 チャネル)なら 160k バイト。ビットのまま答える 640k と、ステレオの倍率忘れが定番の誤答肢

文字コード

符号系特徴1 文字のバイト数
ASCII英数字・記号の基本。7 ビット(128 種類)1
JIS コードエスケープシーケンスで漢字と英数字を切り替える。電子メールで使われた可変
シフト JISASCII と共存させるため漢字コードをずらした。Windows 系で普及1〜2
EUC(拡張 UNIX コード)UNIX 系で使われた日本語符号系1〜3
Unicode / UCS世界中の文字に共通の番号(符号位置)を与える規格符号化方式による
UTF-8Unicode の符号化方式。ASCII と互換で英数字は 1 バイト、日本語は 3 バイトが基本1〜4(可変長)

UTF-8 は先頭バイトのビットパターンで「この文字が何バイトか」が分かる自己同期的な設計になっており、ASCII 文字はそのまま 1 バイトで表せます。この互換性が Web での事実上の標準になった理由です。

形式言語・オートマトン・計算量

この節のテーマは、中分類「基礎理論」としては直近 10 年で BNF が 1 回(平成 29 年春期)出たのみの薄い領域です。ただし逆ポーランド記法・計算量はアルゴリズム分野(第 3 章)、構文解析はソフトウェア分野(第 6 章)で問われるので、用語と読み方だけは確実にしておきます。

述語論理と推論

命題論理が「真か偽かが決まった文」を扱うのに対し、述語論理は「x は社員である」のように変数を含む文(述語)と、「すべての」「ある」といった量化子を扱います。関係データベースの問合せは、述語を満たす行を集める操作として述語論理で説明できます。

推論には、一般的な規則から個別の結論を導く演繹推論(規則が正しければ結論も必ず正しい)と、個別の観察から一般規則を導く帰納推論(結論は確からしいだけで、反例で覆る)があります。機械学習はデータから規則を導くので帰納推論に当たります。

形式言語と BNF

形式言語は、記号の並び(文字列)のうちどれが「正しい文」かを文法で厳密に定義した言語です。プログラム言語の構文定義には BNF(Backus-Naur Form)がよく使われ、非終端記号を ::= の左辺に、選択肢を | で区切って書きます。再帰的な定義で「任意の長さ」を表せるのが要点です。

<数字>   ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<整数>   ::= <数字> | <整数><数字>
<符号付> ::= <整数> | + <整数> | - <整数>

この定義では、<整数> が自分自身を左に含むので 1 桁でも 100 桁でも表せます。BNF の問題は「この文法で生成できない文字列はどれか」という形が定番で、定義を 1 文字ずつ当てはめて確かめれば解けます。同じ内容を図で表したものが構文図式です。文法の種類では、規則の左辺が非終端記号 1 個だけの文脈自由文法がプログラム言語の構文に使われます。文字列のパターンを簡潔に表す正規表現は、文脈自由文法より表現力が低い代わりに有限オートマトンで判定できます。

逆ポーランド記法と構文木

演算子を被演算子の後ろに置く記法が逆ポーランド記法(後置記法)で、括弧なしで演算順序を一意に表せます。式 (A + B) × (C − D) は AB+CD-* となり、左から読んでスタックに積む・演算子が来たら 2 つ取り出して計算する、という単純な手順で評価できます。構文木でいえば、通常の中置記法は木を左・根・右の順(中間順)に、逆ポーランドは左・右・根の順(後行順)にたどった結果です。

オートマトンと計算のモデル

有限オートマトンは、有限個の状態と、入力記号ごとの遷移だけを持つ最も単純な計算モデルです。入力を最後まで読んだときの状態が受理状態なら、その文字列を受理します。試験では状態遷移表を与えて「受理される文字列はどれか」を問う形で出るので、初期状態から 1 文字ずつ指でたどるのが確実です。同じ内容を、状態を丸・遷移を矢印で描いた図が状態遷移図です。

現在の状態意味入力が 0入力が 1
S0(初期状態)直前が 0 でないS1S0
S1直前が 0S1S2
S2(受理状態)末尾が 01S1S0

この表は「末尾が 01 である 2 進文字列」を受理します。1101 なら S0 →(1)S0 →(1)S0 →(0)S1 →(1)S2 で受理、010 なら S0 → S1 → S2 → S1 で終わるので受理されません。プッシュダウンオートマトンは有限オートマトンにスタックを足したもので、括弧の対応のような「数を覚える」処理ができ、文脈自由文法に対応します。さらに無限のテープを持つチューリング機械は、現在のコンピュータで計算できるものすべてを表現できる理論モデルです。

計算量と正当性

アルゴリズムの効率は、入力サイズ n に対する処理量の増え方(オーダー記号 O)で表します。実行時間の増え方が時間計算量、必要な記憶領域が領域計算量です。

オーダー意味例
O(1)入力サイズに依存しないハッシュ表の探索、配列の添字アクセス
O(log n)1 回で候補が定数分の 1 になる2 分探索、二分法、平衡木の探索
O(n)全件を 1 回走査線形探索、最大値の探索
O(n log n)分割統治クイックソート(平均)、マージソート
O(n2)二重ループバブルソート、選択ソート
O(2n)組合せの全探索部分集合の列挙、ナップサック問題の全探索
O(n!)全順列の列挙素朴な巡回セールスマン問題(全都市の並べ方を試す)

多項式時間(n の何乗かで抑えられる)で解ける問題の集まりが P 問題、答えが与えられればそれが正しいかを多項式時間で検証できる問題の集まりが NP 問題です。NP の中で最も難しい一群が NP 完全問題で、そのどれか 1 つでも多項式時間で解ければ NP のすべてが解けます。P = NP かどうかは未解決です。NP 完全問題と同等以上に難しい問題(NP に属するとは限らない)は NP 困難と呼ばれ、巡回セールスマン問題の最適化版がその例です。

プログラムが仕様どおりかを数学的に議論するのが正当性理論で、「停止すれば正しい結果を返す」ことが部分正当性、「必ず停止し、かつ正しい結果を返す」ことが全正当性です。任意のプログラムが停止するかどうかを判定する一般的なアルゴリズムは存在しない(停止問題は決定不能)ことが証明されており、テストが必要な理論的な根拠になっています。

コンパイラ理論とプログラム言語論

工程やること関係する理論
字句解析文字の並びを単語(トークン)に切る正規表現・有限オートマトン
構文解析トークンの並びから構文木を作るBNF・文脈自由文法
意味解析型の整合性や未定義変数を検査する意味論
最適化不要な計算の削除、ループの改善中間言語(中間コード)
コード生成目的プログラム(機械語)を出力する命令セット

プログラム言語は、処理の手順を書く手続型言語、値の変換を関数の合成で書く関数型言語、事実と規則を宣言して処理系に推論させる論理型言語、データと操作をまとめるオブジェクト指向言語に大別されます。詳しくは第 6 章で扱います。

AI と機械学習 ― 学習の種類・過学習・評価指標

出題実績 AI は直近 10 年(19 回)で 10 問と、論理演算と並ぶ最厚のテーマです。内訳はディープラーニングの定義 4 問、過学習 2 問、ROC 曲線 2 問、交差検証 1 問(令和 6 年秋期)、教師なし学習 1 問(令和元年秋期)。しかも直近 3 年の 6 回で 5 問が集中しており、聞き方も「定義を選ぶ」から「解消法を選ぶ」「指標の意味を答える」へ深まっています。本章で最も投資対効果が高い節です。

AI は「人間が知識を書き下してルールで解く」段階から、「データから規則を学習する」段階へ移りました。前者の代表がエキスパートシステムで、専門家の知識を if-then 形式で蓄えた知識ベースと、それを組み合わせて結論を出す推論エンジンからなります(知識工学の成果)。

後者が機械学習で、どのようなデータからどれだけ学べるかを扱う理論的な枠組みが学習理論、未知のデータに対しても正しく働く能力が汎化性能です。問題の種類では、与えられた事実から答えを絞り込む解析型問題(診断・分類)と、部品を組み合わせて解を作る合成型問題(設計・計画)に分けられます。

機械学習の 3 分類

種類与えるデータ目的代表的な手法
教師あり学習入力と正解ラベルの組回帰(数値の予測)・分類(クラスの予測)線形回帰、ロジスティック回帰、決定木、ランダムフォレスト、SVM(サポートベクトルマシン)
教師なし学習入力のみ(正解なし)データの構造を見つけるクラスタリング(k-means 法)、次元削減(主成分分析)
強化学習行動に対する報酬報酬の合計を最大にする方策を学ぶQ 学習、価値反復法、方策勾配法
半教師あり学習少量のラベル付き + 大量のラベルなしラベル付けのコストを下げる—

「顧客をあらかじめ決めた区分に振り分ける」のは教師あり学習の分類、「顧客を似た者どうしにまとめ、区分そのものを見つける」のは教師なし学習のクラスタリングです。正解ラベルの有無で見分けます。主成分分析は、多数の変数を情報の損失が小さくなるように少数の合成変数へまとめる次元削減の手法で、令和 5 年秋期に出題されています。

データの分け方と過学習

手元のデータは訓練データ(パラメータを学習する)・検証データ(ハイパーパラメータの調整とモデル選択)・テストデータ(最終的な性能測定。一度だけ使う)に分けます。

人が指定する設定値(学習率、木の深さ、正則化の強さなど)がハイパーパラメータで、候補を総当たりするグリッドサーチや無作為に試すランダムサーチで調整します。

データを 1 回だけ分割して評価する方法がホールドアウト検証、データを k 個に分けて「1 個を検証・残りを訓練」を k 回繰り返し平均する方法が交差検証(k 分割交差検証)です。交差検証はデータが少ないときに評価のばらつきを抑えられます。

最適な複雑さ 検証誤差 訓練誤差 誤差 未学習(バイアス大) 過学習(バリアンス大) モデルの複雑さ・学習回数
図 2-8 過学習と未学習。訓練誤差だけを見ていると「精度が上がり続けている」と誤認します。検証誤差が上向きに転じた点から先が過学習で、そこで学習を止める(早期打切り)か、正則化・データ拡張・ドロップアウトで複雑さを抑えます。
状態訓練データでの精度未知データでの精度対策
過学習(オーバーフィッティング)高い低い訓練データを加工して量を増やす(データ拡張)、正則化、ドロップアウト、早期打切り、モデルを単純にする
未学習(アンダーフィッティング)低い低いモデルを複雑にする、特徴量を増やす、学習を長くする

訓練データでの誤差が訓練誤差、未知のデータでの誤差が汎化誤差で、両者の差が大きいほど過学習が進んでいます。モデルが単純すぎて系統的にずれることをバイアス、複雑すぎて訓練データのゆらぎに振り回されることをバリアンスと呼び、片方を下げるともう片方が上がる関係(バイアスとバリアンスのトレードオフ)にあります。複数のモデルの予測を組み合わせて安定させるアンサンブル学習(ランダムフォレストはその一種)も汎化性能を上げる定番です。入力の小さな変化や想定外の入力で性能が落ちにくい性質は AI のロバスト性と呼ばれます。

混同行列と評価指標

分類モデルの性能は、予測と実際を突き合わせた 2 行 2 列の混同行列から導きます。どの指標も「分母が何か」を押さえれば区別でき、令和 7 年秋期の偽陽性率のように定義そのものが問われます(図 2-9)。

予測 陽性 予測 陰性 実際 陽性 実際 陰性 TP 80 FN 20 FP 30 TN 270 真陽性率(再現率)= TP ÷ (TP+FN) = 0.80 偽陽性率 = FP ÷ (FP+TN) = 0.10 適合率 = TP ÷ (TP+FP) = 0.73 正解率 = (TP+TN) ÷ 400 = 0.875 真陽性率 TPR 偽陽性率 FPR 0 1 1 ランダム FPR 0.10, TPR 0.80
図 2-9 混同行列と ROC 曲線。判定のしきい値を下げると陽性と判定する数が増え、真陽性率も偽陽性率も上がります。しきい値を動かしたときの (偽陽性率, 真陽性率) の軌跡が ROC 曲線で、左上に張り出すほど(曲線の下の面積 AUC が 1 に近いほど)性能が高くなります。対角線はでたらめに判定した場合です。
指標定義(分母に注目)言い換え
正解率(Accuracy)(TP+TN) ÷ 全件全体のうち当たった割合
適合率(Precision)TP ÷ (TP+FP)陽性と予測したもののうち本当に陽性の割合
再現率(Recall)= 真陽性率TP ÷ (TP+FN)実際に陽性のもののうち拾えた割合
偽陽性率(FPR)FP ÷ (FP+TN)実際は陰性のものを誤って陽性と予測した割合
F 値適合率と再現率の調和平均2 つのバランスを 1 つの数にまとめた値
ROC 曲線 / AUC横軸 FPR、縦軸 TPR の軌跡 / その下の面積AUC = 0.5 でランダム、1.0 で完全
PR 曲線横軸 再現率、縦軸 適合率陽性が極端に少ないデータで ROC より実態を映す
覚え方 適合率は「予測を分母」、再現率と偽陽性率は「実際を分母」。再現率と偽陽性率は分母が違う行(再現率は実際陽性の行、偽陽性率は実際陰性の行)なので、混同行列を 2 行 2 列で書いて行ごとに割ると取り違えません。

ディープラーニングと生成 AI

ニューラルネットワークは、入力を重み付きで足し合わせて活性化関数に通す素子(ニューロン)を層状につないだモデルです。層を深く重ねたものがディープラーニング(深層学習)で、出題では一貫して「多層の素子と信号線で構成し、パラメータを調整することで解を出力する」「脳の神経回路のように多層の処理を重ねて複雑な判断をする」という説明が正解になっています。誤答肢にはエキスパートシステム・遺伝的アルゴリズム・クラスタリングの説明が並びます。

用語内容
多層パーセプトロン入力層・中間(隠れ)層・出力層からなる基本形
バックプロパゲーション(誤差逆伝播法)出力の誤差を出力側から入力側へ伝えて重みを更新する学習法
勾配消失問題層を深くすると入力側へ伝わる勾配が 0 に近づき学習が進まなくなる。ReLU 関数などで緩和
活性化関数ReLU、tanh、出力を確率にするソフトマックス関数
ドロップアウト学習のたびに一部の素子を無効化し、過学習を防ぐ
事前学習・ファインチューニング・転移学習大規模データで学習済みのモデルを、少量のデータで目的の課題に適応させる
バッチ / ミニバッチ / オンライン学習重みを更新する単位(全データ / 小分け / 1 件ずつ)
CNN(畳み込みニューラルネットワーク)画像の局所的な特徴を畳み込みで抽出する。画像認識の標準
RNN(リカレントニューラルネットワーク)/ LSTM(Long Short Term Memory)時系列や文章のように順序のあるデータを扱う。LSTM は長い依存関係を保持
オートエンコーダ / GAN(敵対的生成ネットワーク)/ 拡散モデル生成モデル。GAN は生成器と識別器を競わせる
深層強化学習強化学習の価値関数や方策をディープラーニングで表現する。囲碁・ロボット制御
Transformer / 自己注意機構系列内のどの要素に注目するかを重みで学習する。LLM の基盤
基盤モデル / 大規模言語モデル(LLM)大量データで自己教師あり学習した汎用モデル。プロンプトで多様な課題に適応する。指示文の与え方を工夫して性能を引き出す技術がプロンプトエンジニアリング
ゼロショット / フューショット学習例を与えずに / 少数の例だけで課題を解かせる
インストラクションチューニング指示と応答の組で追加学習し、指示どおりに応答する性質を高める
アラインメント / RLHF人間の意図や価値観に沿った出力へ調整する。人間のフィードバックによる強化学習
モデル圧縮(蒸留・量子化・プルーニング)精度を保ちながらモデルを小さく・速くする

通信理論 ― 伝送・変調・誤り検出/訂正・計測制御

通信理論のうち中分類「基礎理論」で実際に出るのは誤り検出・訂正(直近 10 年で 6 問)にほぼ集中しています。伝送路・変復調・多重化・同期方式はネットワーク分野(第 10 章)で問われるため、ここでは用語表で対応関係を押さえます。

分類方式内容
伝送路単方向一方向にだけ送る
半二重双方向だが同時には送れない(交互)
全二重双方向に同時に送れる
変復調AM(振幅変調)信号に応じて搬送波の振幅を変える
FM(周波数変調)搬送波の周波数を変える
PM(位相変調)搬送波の位相を変える
QAM(直交振幅変調)振幅と位相を組み合わせ、1 回の変調で複数ビットを送る
PCM(パルス符号変調)/PWM(パルス幅変調)標本化・量子化した値をパルスの符号/パルスの幅で表す
多重化FDM(周波数分割多重)周波数帯を分けて同時に使う
TDM(時分割多重)時間を細かく区切って交代で使う
CDM(符号分割多重)利用者ごとに異なる符号で拡散して重ねる
WDM(波長分割多重)光の波長を分けて 1 本の光ファイバに多重する
信号同期ビット同期受信側のクロックを送られてくるビットの並びに合わせる、同期の最小単位
調歩同期(スタート・ストップビット)1 文字ごとに開始・終了ビットを付ける。低速・単純
キャラクター同期(SYN 同期)SYN 符号を並べて文字の切れ目をそろえる
フラグ同期(フレーム同期)フレームの前後に特定のビットパターン(フラグ)を置く

アナログ伝送路にデジタルデータを乗せる装置がモデム(変調と復調を行う)です。暗号化(公開鍵・秘密鍵・PKI・SSL/TLS)も広い意味では符号理論に含まれますが、内容は第 12 章で扱います。

パリティチェックと 2 次元パリティ

最も単純な誤り検出がパリティチェックです。データ中の 1 の個数が偶数になるように 1 ビット付加するのが偶数パリティ、奇数にするのが奇数パリティで、1 ビットの誤りは検出できますが、2 ビット同時に反転すると見逃します(検出だけで訂正はできない)。合計値を送って照合するチェックサムも検出だけです。

データを 2 次元に並べ、行と列の両方にパリティを付けたものが 2 次元パリティ(水平垂直パリティ)です。1 ビット誤りがあると行と列の 1 つずつが不一致になり、その交点が誤りビットの位置なので、検出だけでなく訂正まで可能になります。

1 列2 列3 列4 列行パリティ
1 行10111
2 行01000 不一致
3 行11000
4 行00110
列パリティ001 不一致01

偶数パリティでは、データと付加したパリティを合わせた 1 の個数が偶数にならない行・列が不一致です。2 行目はデータの 1 が 1 個(奇数)なのに行パリティが 0、3 列目はデータの 1 が 2 個(偶数)なのに列パリティが 1 で、どちらも合計が奇数になり不一致です。不一致の行と列が 1 つずつなので、その交点である2 行 3 列のビットを反転すれば訂正完了です。「2 次元パリティは何ビットまで訂正できるか」に「2 ビット」や「検出のみ」を選ばせる誤答肢が定番なので、1 ビットの誤りを訂正できる(2 ビットの誤りは検出できても位置を特定できない)と覚えます。

ハミング符号 ― 検査式から誤り位置を求める

出題実績 ハミング符号は直近 10 年(19 回)で 3 回(平成 30 年春期・令和 4 年春期・令和 6 年春期)出題され、いずれも「7 ビットの符号語に 1 ビット誤りがある。訂正後の符号語はどれか」という同じ形です。平成 30 年春期と令和 4 年春期は同一問題の再出題でした。手順を固定化すれば確実に得点できます。

ハミング符号は、複数の検査ビットが受け持つ位置を重ねてずらすことで、どのビットが誤ったかを検査結果の組合せから特定できるようにした符号です。7 ビット符号語 x1〜x7 に対して 3 本の検査式を与える形が定番で、3 本の結果を並べた 2 進数がそのまま誤り位置を示します(図 2-10)。

① 受信した符号語 1100010(1 ビット誤りが混入) x1 x2 x3 x4 x5 x6 x7 1 1 0 0 0 1 0 c1: x1⊕x3⊕x5⊕x7 = 1 c2: x2⊕x3⊕x6⊕x7 = 0 c4: x4⊕x5⊕x6⊕x7 = 1 ② 3 本の検査式に代入する(結果が 0 でなければ誤りを含む) ③ c4 c2 c1 を並べて 2 進数と読む = 101 = 5 → 左から 5 番目のビット x5 が誤りと分かる ④ x5 を反転して 1100110 に訂正する 1 1 0 0 1 1 0 訂正後の符号語
図 2-10 ハミング符号による 1 ビット誤りの訂正。3 本の検査式の結果を c4・c2・c1 の順(重みの大きい順)に並べるのが要点で、すべて 0 なら誤りなし、0 以外ならその 2 進数が誤りビットの位置です。訂正後の符号語で 3 本を計算し直すと全部 0 になることを確かめると安全です。

計算の型: ハミング符号の訂正

受信した符号語を問題文の検査式に代入 → 結果を並べて 2 進数として読む → その位置のビットを反転する。

  1. 受信 1100010 を代入: c1 = 1⊕0⊕0⊕0 = 1、c2 = 1⊕0⊕1⊕0 = 0、c4 = 0⊕0⊕1⊕0 = 1
  2. c4 c2 c1 = 101(2 進)= 5
  3. 5 番目のビット x5 を 0 から 1 に反転 → 1100110
  4. 検算: 訂正後は c1 = c2 = c4 = 0。誤答肢は反転位置を 1 つずらした符号語、未訂正のまま、2 か所反転

CRC(巡回冗長検査)は、送信データを 1 つの多項式とみなし、あらかじめ決めた生成多項式で割った余りを検査符号として付加する方式です。受信側は同じ生成多項式で割り、余りが 0 なら誤りなしと判断します。連続した複数ビットの誤り(バースト誤り)に強く、通信やストレージで広く使われます。訂正はできず検出専用である点が、ハミング符号や 2 次元パリティとの違いです。主記憶で使われる ECC(Error Correcting Code:誤り訂正符号) はハミング符号系の訂正機能付き符号で、1 ビット訂正・2 ビット検出(SECDED)が代表的な実装です(ECC には方式差があり、すべてがこの仕様とは限りません)。

方式できること付加する情報
パリティチェック1 ビット誤りの検出1 ビット
チェックサム誤りの検出合計値
CRCバースト誤りを含む検出生成多項式で割った余り
2 次元パリティ1 ビット誤りの訂正行と列のパリティ
ハミング符号・ECC1 ビット訂正・2 ビット検出複数の検査ビット

計測・制御の基礎

制御対象の状態をセンサーで読み取り(A/D 変換)、コンピュータが判断し、アクチュエーターを通じて機械的な動作に変える(D/A 変換)のが計測・制御の基本構造です。結果を測って入力に戻す制御がフィードバック制御(クローズドループ)、外乱をあらかじめ見込んで先回りする制御がフィードフォワード制御で、結果を測らずに指令だけ出すのがオープンループです。応答の速さ(応答特性)と振動しないこと(制御安定性)はトレードオフになります。

分類用語内容
信号処理DFT / FFT波形を周波数成分に分解する離散フーリエ変換と、その高速アルゴリズム。系にインパルスを入力したときの出力がインパルス応答で、系の特性を表す
フィルターローパス(低域通過)・ハイパス・バンドパス。標本値の演算で実現するものがデジタルフィルター。雑音の除去、画像処理フィルター
サンプリング定理最高周波数の 2 倍以上で標本化すれば元の波形に戻せる
制御PWM 制御パルスの幅(オンの時間の割合)で平均電力を変え、モーターの回転数や LED の明るさを制御する
リアルタイム OS決められた時間内に必ず処理を終えることを保証する OS(第 5 章)
MPU アーキテクチャ制御用マイクロプロセッサの構成。組込み機器の処理性能と消費電力を決める(第 7 章)
センサー光・画像系光学センサー、イメージセンサー、赤外線センサー、X 線センサー、レーザーセンサー
距離・測位系ToF(Time of Flight)センサー、LiDAR、ミリ波レーダー、超音波センサーなどの距離センサー、GPS・基地局測位・無線 LAN アクセスポイント測位・RTK 測位
運動・環境系加速度・ジャイロ・地磁気センサーと慣性計測装置(IMU)、位置センサー・速度センサー、温度(サーミスタ)・湿度・圧力・大気圧センサー、ひずみゲージ、ホール素子、ウェアラブル生体センサー
アクチュエーターモーター・シリンダブラシレス DC モーター、DC サーボモーター、ステッピングモーター、ソレノイド、油圧・空気圧シリンダ

ToF センサーは、光を照射してから反射光が戻るまでの時間から距離を測る方式で、平成 31 年春期に出題されています。名前から動作原理を答えられるようにしておけば十分です。

ひっかけポイント

ここがひっかけ 1: 待ち時間と応答時間 M/M/1 の平均待ち時間は Tw = ρ/(1−ρ) × Ts、平均応答時間は Tq = Ts/(1−ρ) で、両者は ρ 倍の違いがあります。問題文が「待ち時間」なのか「応答時間(処理時間を含む)」なのかを最初に丸で囲んでから式を選んでください。「利用率が 2 倍になれば待ち時間も 2 倍」という比例の直感も誤りで、ρ = 0.25 → 0.40 では待ち時間は 2.00 倍、ρ = 0.3 → 0.6 では 3.5 倍と、1 に近づくほど加速度的に伸びます。
ここがひっかけ 2: 桁落ちと情報落ち 定義を入れ替えた肢が繰り返し出ています。桁落ちは「ほぼ等しい値どうしの減算」で有効桁数が減る現象、情報落ちは「絶対値の差が大きい値の加減算」で小さい値が無視される現象です。引き算か足し算か、近い値か離れた値かの 2 点で切り分けます。丸め誤差(表現できない桁の処理)と打切り誤差(反復計算の途中打ち切り)も混ぜられるので、4 つセットで覚えます。
ここがひっかけ 3: 相補演算は NAND ではない 「相補演算」は出力をすべて否定した演算という意味です。AND の相補は NAND、OR の相補は NOR、そして排他的論理和 XOR の相補は等価演算 XNOR です。名前の響きで NAND や NOR を選ばせる肢が 2 回出題されています。迷ったら真理値表を 4 行書き、出力列が完全に反転しているかを確認してください。
ここがひっかけ 4: 単位の換算漏れ A/D 変換のデータ量では、①ビットとバイト(8 で割ったか)、②モノラルとステレオ(チャネル数を掛けたか)、③時間の単位(ミリ秒か秒か)の 3 か所が必ず誤答肢になっています。基数変換でも「1 K = 1,000 か 1,024 か」で選択肢が分かれます。式を立てたら単位を声に出して確認する習慣を付けてください。
ここがひっかけ 5: 集合と機械学習の「どちらの側から見た割合か」 補集合の問題では、ド・モルガンの法則の適用先を取り違えさせます(Ā ∩ B̄ は「A ∪ B の補集合」であって「A ∩ B の補集合」ではありません)。機械学習でも同じ構図で、再現率は「実際に陽性の行」を分母、適合率は「陽性と予測した列」を分母、偽陽性率は「実際に陰性の行」を分母にします。どちらの側から数えているかを図に書き込んでから割り算してください。

理解度チェック(科目 A 形式)

Q1. M/M/1 の待ち行列モデルにおいて、窓口の利用率が 30% から 60% に上がったとき、平均待ち時間は何倍になるか。
  1. 1.75
  2. 2.0
  3. 3.5
  4. 7.0

正解: ウ 平均待ち時間は ρ/(1−ρ) × Ts に比例します。0.6/(1−0.6) = 1.5、0.3/(1−0.3) = 0.4286 なので 1.5 ÷ 0.4286 = 3.5 倍です。ア は平均応答時間 Ts/(1−ρ) の比(2.5 ÷ 1.4286)、イ は利用率そのものの比、エ は平均待ち行列長 ρ2/(1−ρ) の比で、いずれも問われている待ち時間ではありません。

Q2. 4 種類の文字 A、B、C、D の出現確率がそれぞれ 0.5、0.3、0.15、0.05 である。ハフマン符号として適切な(一意に復号でき、平均符号長が最小になる)割当てはどれか。
  1. A:0 B:1 C:10 D:11
  2. A:0 B:10 C:110 D:111
  3. A:111 B:110 C:10 D:0
  4. A:00 B:01 C:10 D:11

正解: イ 確率の小さい C と D を結合(0.20)、次に B と結合(0.50)、最後に A と結合してハフマン木を作ると、この符号表になります。平均符号長は 0.5×1 + 0.3×2 + 0.15×3 + 0.05×3 = 1.7 ビットです。ア は B の符号「1」が C の「10」と D の「11」の先頭に現れており、1 を読んだ時点で B・C・D のどれかを確定できず一意に復号できません(接頭語条件違反)。ウ は最も多く出現する A に最長の符号を与えており平均符号長が伸びます。エ は固定長 2 ビットで、そもそも圧縮になっていません。

Q3. ディープラーニングの説明として、最も適切なものはどれか。
  1. 専門家の知識を if-then 形式の規則として蓄え、推論エンジンが規則を連鎖させて結論を導く。
  2. 解の候補を遺伝子に見立て、交叉と突然変異と選択を世代交代で繰り返して最適解に近づける。
  3. 正解ラベルを与えずにデータ間の距離を測り、似たもの同士をまとめて集団に分ける。
  4. 多層に接続した素子と信号線からなるモデルのパラメータを、データを用いて調整することで解を出力する。

正解: エ ディープラーニングは、ニューラルネットワークの層を深く重ねたモデルの重み(パラメータ)を、誤差逆伝播法などでデータから調整する手法です。ア はエキスパートシステム、イ は遺伝的アルゴリズム、ウ は教師なし学習のクラスタリングの説明で、いずれも典型的な誤答肢です。

Q4. 7 ビットの符号語 x1 x2 x3 x4 x5 x6 x7 は、x1⊕x3⊕x5⊕x7、x2⊕x3⊕x6⊕x7、x4⊕x5⊕x6⊕x7 がいずれも 0 になるように作られている(⊕ は排他的論理和)。0110101 を受信したとき、1 ビットの誤りを訂正した符号語はどれか。
  1. 0100101
  2. 0110101
  3. 0111101
  4. 1110101

正解: ア 3 本の式に代入すると c1 = 0⊕1⊕1⊕1 = 1、c2 = 1⊕1⊕0⊕1 = 1、c4 = 0⊕1⊕0⊕1 = 0 です。c4 c2 c1 = 011(2 進)= 3 なので 3 ビット目 x3 が誤りで、これを反転した 0100101 が正解です。イ は受信したままで未訂正、ウ は 4 ビット目、エ は 1 ビット目という誤った位置を反転しています。

Q5. 二値分類モデルの評価指標のうち、偽陽性率(false positive rate)の説明として適切なものはどれか。
  1. 実際に陽性であるデータのうち、陽性と予測できたものの割合
  2. 陽性と予測したデータのうち、実際に陽性であったものの割合
  3. 実際は陰性であるデータのうち、誤って陽性と予測したものの割合
  4. すべてのデータのうち、予測と実際が一致したものの割合

正解: ウ 偽陽性率は FP ÷ (FP+TN) で、分母は「実際に陰性」の行です。ROC 曲線の横軸に使われます。ア は再現率(真陽性率)、イ は適合率、エ は正解率の説明で、混同行列のどの行・どの列を分母にするかが違います。

Q6. 4 変数 A、B、C、D の論理関数をカルノー図で簡単化するとき、隣接する 8 個の 1 を 1 つの長方形で囲んで得られる積項に含まれる変数の個数は幾つか。
  1. 1
  2. 2
  3. 3
  4. 4

正解: ア 囲みを 2 倍にするたびに、その囲みの中で値が変化する変数が 1 つずつ消えます。4 変数では 1 個の囲みが 4 変数、2 個で 3 変数、4 個で 2 変数、8 個で 1 変数、16 個ならすべて消えて恒真になります。イ は 4 個、ウ は 2 個、エ は 1 個の囲みに対応する値です。

Q7. 機械学習において過学習を抑える対策として、適切なものはどれか。
  1. モデルの層数とパラメータ数を増やして表現力を高める。
  2. 訓練データに回転や雑音付加などの加工を施し、実質的な件数を増やす。
  3. 検証データを訓練データに加えて、学習に使うデータをすべて使い切る。
  4. 訓練誤差が下がり続けている間は学習の反復回数を増やし続ける。

正解: イ 訓練データを加工して量を増やすデータ拡張は、モデルが個々の事例を丸暗記することを防ぎ、汎化性能を高めます。ア はモデルを複雑にする操作で過学習を悪化させます。ウ は検証データが訓練に混ざり、汎化性能を正しく測れなくなります。エ は検証誤差が上向きに転じた後も学習を続けることになり、まさに過学習を招きます。

Q8. 16 ビットのデータを 4 行 4 列に並べ、各行と各列に偶数パリティビットを付加して送信した。この方式で実現できることはどれか。
  1. 1 ビットの誤りを検出できるが、訂正はできない。
  2. 2 ビットの誤りを訂正できる。
  3. 誤りの検出も訂正もできない。
  4. 1 ビットの誤りを訂正できる。

正解: エ 1 ビットが反転すると、その行のパリティと列のパリティが 1 つずつ不一致になり、交点として誤りビットの位置が一意に決まるので反転して訂正できます。ア は 1 次元の単純なパリティチェックの説明です。イ は誤りで、2 ビット誤りは不一致の組合せが複数考えられ位置を特定できません。ウ は行・列いずれのパリティも付いている以上、成り立ちません。

Q9. 4 科目の得点がいずれも正規分布に従い、受験者数も同じであるとき、80 点以上の受験者の割合が最も大きい科目はどれか。国語は平均 60・標準偏差 10、英語は平均 70・標準偏差 5、数学は平均 50・標準偏差 20、理科は平均 65・標準偏差 8 である。
  1. 国語
  2. 英語
  3. 数学
  4. 理科

正解: ウ 標準得点 z = (80 − 平均) ÷ 標準偏差 は、国語 2.0、英語 2.0、数学 1.5、理科 1.875 です。z が小さいほど分布の右側の面積が広く、80 点以上の割合が大きくなるので数学が正解です。ア と イ は z が最大で最も少数、エ も数学より大きい z です。平均が最も高い英語を選ばせるのが定番の誤答パターンです。

Q10. 0 から 511 までの値を巡回するカウンタがある。現在値 n の次の値を求める式として適切なものはどれか。ここで AND と OR はビットごとの論理積・論理和とする。
  1. (n + 1) AND 511
  2. (n + 1) OR 511
  3. (n AND 511) + 1
  4. (n + 1) AND 512

正解: ア 511 は 2 進数で 111111111 なので、511 との AND は下位 9 ビットの取り出し、すなわち 512 で割った余りと同じです。n = 511 のとき 512 AND 511 = 0 に戻ります。イ は OR なので下位 9 ビットがすべて 1 になり、n + 1 が 512 未満なら必ず 511 になってカウンタになりません。ウ は n = 511 のとき 512 となり範囲を超えます。エ の 512 は 2 進数で 1000000000 であり、下位 9 ビットが捨てられてしまいます。

Q11. 全体集合を U、その部分集合を A、B とし、A の補集合を Ā、B の補集合を B̄ と表す。Ā ∩ B̄ と常に等しい集合はどれか。
  1. Ā ∪ B̄
  2. Ā − B
  3. A − B̄
  4. B − A

正解: イ 差集合の定義 X − Y = X ∩ Ȳ を使うと Ā − B = Ā ∩ B̄ となり一致します。ア はド・モルガンの法則より A ∩ B の補集合で、A ∪ B の補集合である Ā ∩ B̄ とは別物です。ウ は A ∩ B、エ は B ∩ Ā であり、いずれも A にも B にも属さない要素の集合にはなりません。

Q12. 排他的論理和の相補演算(すべての入力の組合せに対して出力を反転させた演算)はどれか。
  1. 論理和(OR)
  2. 否定論理積(NAND)
  3. 否定論理和(NOR)
  4. 等価演算(XNOR)

正解: エ XOR の出力は入力 00、01、10、11 に対して 0、1、1、0 です。すべて反転すると 1、0、0、1 となり、2 入力が等しいときに 1 になる等価演算 XNOR に一致します。ア は 0、1、1、1、イ は 1、1、1、0、ウ は 1、0、0、0 であり、いずれも 4 行すべてが反転した形にはなっていません。

Q13. 標本化周波数 16 kHz、量子化ビット数 8 ビット、ステレオ(2 チャネル)で 5 秒間の音声を記録したときのデータ量は、およそ何 k バイトか。
  1. 80
  2. 160
  3. 640
  4. 1,280

正解: イ 16k × 8 ビット × 2 チャネル × 5 秒 = 1,280k ビットで、8 で割って 160k バイトです。ア はチャネル数を掛け忘れた値、ウ はチャネル数を掛け忘れ、さらにビットのままバイトへ換算していない値、エ はビットのままバイトに換算していない値です。ビットとバイト、モノラルとステレオの 2 点が定番のひっかけです。

まとめ

本章の得点源は、公式が 1 本しかない計算問題と、定義の入替えで作られる用語問題です。次の表の左から順に、式を見た瞬間に数値を当てはめられる状態を目指してください。

テーマ覚える式・数字典型的な誤答肢
基数と桁数N 通りには log2N を切り上げたビット数。n ビットで 2n 通り0 始まりと 1 始まりの ±1、位の重みの誤り
2 の補数全ビット反転 + 1。n ビットの範囲は −2n−1 〜 2n−1−11 の補数の範囲(0 が 2 通り)と混同
演算精度桁落ち=近い値の減算、情報落ち=大小差の大きい加減算2 つの定義の入替え、丸め誤差・打切り誤差の混入
ビット演算2k の剰余 = (2k−1) との ANDOR、AND 2k、AND の後に +1
集合・論理ド・モルガン、X − Y = X ∩ Ȳ、XOR の相補 = XNOR補集合の適用先の取り違え、NAND・NOR
カルノー図囲み 2n 個で n 変数が消える。端は折返しで隣接囲みが小さく項が多い式、否定の付け間違い
確率・正規分布z = (x − μ) ÷ σ。z が小さい群ほど基準点以上が多い平均だけ・標準偏差だけの比較
ベイズの定理P(原因|結果) = P(結果|原因)×P(原因) ÷ P(結果)条件付き確率と事後確率の混同
M/M/1Tw = ρ/(1−ρ) × Ts。ρ = 0.5 で Tw = Ts。統合で到着率 2 倍なら 2ρ/(1−2ρ)応答時間 Ts/(1−ρ) との取り違え、ρ の単純比
ハフマン符号平均符号長 = Σ(確率 × 符号長)。接頭語条件を満たす接頭語条件違反、確率と符号長の逆転、固定長
標本化・量子化データ量 = 標本化周波数 × 量子化ビット数 × チャネル数 × 秒数 ÷ 8(バイト)バイト換算漏れ、ステレオの倍率忘れ
誤り検出・訂正パリティ・CRC = 検出のみ。2 次元パリティ・ハミング = 1 ビット訂正2 ビット訂正可、CRC で訂正できる
機械学習の評価再現率 = TP/(TP+FN)、適合率 = TP/(TP+FP)、偽陽性率 = FP/(FP+TN)分母の行と列の取り違え、過学習と未学習の入替え

直近 10 年(19 回)の科目 A では中分類「基礎理論」から 73 問、1 回平均 3.8 問が問 1〜6 に出題されており、直近 3 年の 21 問のうち 7 問は要旨・正解が過去問と一致する再出題でした。M/M/1・ハフマン符号・ハミング符号・カルノー図は同じ問題が数年おきに戻ってくるので、本章の「計算の型」を手で一度ずつ解いておけば、試験本番では読むだけで答えが出ます。

次章では、本章の計算量やグラフの考え方を土台に、探索・整列・木構造といった具体的なアルゴリズムと擬似言語の読み方を扱います。科目 B の必須問題(アルゴリズムとプログラミング)に直結する章です。