こんにちは、数強塾代表の藤原進之介です。この記事は参考書『藤原進之介の最強120講義』の第46講「誤り検出(パリティ・チェックディジット)」のWeb版です。共通テスト「情報Ⅰ」での重要度はA、情報Ⅱでの接続先は(3)情報とデータサイエンスと(4)情報システムとプログラミングです。
この講は第32講「デジタルとアナログ」の続きであり、同時に第43講「論理演算」の応用でもあります。パリティの正体はXORそのものだからです。
1. この講の問い
デジタルは誤差が積み上がらないはずなのに、なぜ「誤りを見つける仕組み」がわざわざ必要なのか。
2. 結論
誤りは「直す」前に「気づく」必要があります。パリティは1の個数の偶奇という1ビットだけを添えて、奇数個の反転を必ず検出し、偶数個の反転を必ず見逃します。検出できても訂正できないのは、どのビットが化けたかという位置の情報を持っていないからです。チェックディジットの重みは乱数ではなく、人間がやりがちな誤りを狙って設計されています。そして完全な検出は原理的に不可能で、どこまで守るかは常に設計判断です。
3. なぜそうなるのか
3-1. まず制度の事実。国の一次資料に一行も無い
先に制度の話をします。ここを知らないと、参考書ごとに扱いがバラバラな理由が分からないまま迷子になるからです。2026年8月3日に、次の資料をPDFからテキスト化して全文検索しました。
- 高等学校学習指導要領(平成30年告示)解説 情報編(共通教科・専門教科の両方を含む1本のPDF)
- 情報Ⅰ教員研修用教材 全6分冊(前付と第1章から第4章)
- 情報Ⅱ教員研修用教材 全7分冊(序章・第1章・第2章・第3章前半・第3章後半・第4章・第5章)
- IPA 基本情報技術者試験シラバス Ver.9.2 と ITパスポート試験シラバス Ver.6.5
| 語 | 解説 情報編 | 情報Ⅰ教材 | 情報Ⅱ教材 | ITパスポート | 基本情報 |
|---|---|---|---|---|---|
| パリティ/パリティビット | 0 | 0 | 0 | 0 | 5 |
| 誤り検出 | 0 | 0 | 0 | 0 | 3 |
| 誤り訂正 | 0 | 0 | 0 | 0 | あり |
| チェックディジット | 0 | 0 | 0 | 0 | 0 |
| ハミング/チェックサム | 0 | 0 | 0 | 0 | 各1 |
PDFの抽出では表のセルで語が分断されることがあるので、「パリ」「ディジ」「デジッ」「検査」「奇偶」といった短い断片でも数え直しましたが、通信の誤りの意味では0件のままでした。
ここで大事なのは、件数だけを見ないことです。 「誤り」という語だけなら解説に5件、情報Ⅰ教材に7件あります。しかし1件ずつ中身を見ると、解説の5件はプログラムのバグが3件と「人による誤り」(人的セキュリティ)が2件で、通信路の誤りは0件。情報Ⅰ教材の7件も統計的仮説検定の「第1種の過誤」「第2種の過誤」が4件などで占められ、通信の誤りは第2章の1件だけです。同じ語でも意味が違うので、数えるだけでは丸ごと読み違えます。
そして「チェックディジット」は5つの資料すべてで0件です。IPAの基本情報シラバスにすら語がありません(「JANコード、QRコード、ITFコード、ISBNコード」とコード名が並ぶだけです)。それなのに、後で見るとおり令和7年度の共通テスト本試験で出題されています。第40講で扱った基数変換と同じで、「解説に無いのに出る」項目の典型です。
3-2. その「第2章の1件」が、第32講の続きになっている
情報Ⅰ教員研修用教材 第2章(デジタル化)に、次の一文があります。
ノイズ等の影響があっても,生じた誤差が一定量以内であれば元のデータを復元することができる。このため,ノイズによって波形そのものが歪んでしまうアナログに比べ劣化しにくい。さらに,送信するデータそのものに誤りを訂正することが可能な仕掛けを組み込むことにより正確な通信が可能になる。
文部科学省「高等学校情報科『情報Ⅰ』教員研修用教材」第2章 コミュニケーションと情報デザイン(令和2年)
前半は第32講で扱った「しきい値で判定するから誤差が積み上がらない」の根拠そのものです。問題は後半で、「仕掛けを組み込む」とだけ書いて、その仕掛けの中身は一行も書かれていません。 この講は、その空欄を埋めるためにあります。
論理は明快です。しきい値判定で誤差が積み上がらないというのは、小さいずれが復元されるという意味であって、大きいずれが起きないという意味ではありません。 ノイズがしきい値を越えれば、0はきれいに1になります。デジタルの誤りは「少しずれる」ではなく「別の値に化ける」形で現れる。しかも化けた先も正当な0か1なので、見た目には何も起きていません。だから気づくための仕組みを、こちらから足しておく必要があるのです。
3-3. パリティはXORそのもの
偶数パリティとは、送るビット列に1ビット足して、全体の1の個数を偶数にそろえることです。
- 1011001 は1の個数が4(すでに偶数)→ パリティビットは0 → 送るのは 10110010
- 1011000 は1の個数が3(奇数)→ パリティビットは1 → 送るのは 10110001
このパリティビットの正体は、全ビットのXOR(排他的論理和)です。XORは「1の個数が奇数なら1」を返す演算ですから、定義がそのまま一致します。第43講で扱ったXORが、名前を変えてここに出てきているだけです。
ついでに言うと、「排他的論理和」「XOR」という語も国の一次資料には0件です。第44講で見たとおり、情報Ⅰ教員研修用教材は半加算器の演習で回路を組ませ、その出力Fが結果としてXORになる、という形でしか登場させません。第45講の加算器も同じ構造です。XORは、加算の1桁目でもあり、誤り検出の道具でもある——同じ演算が2つの顔を持っている、と覚えておくと両方まとめて頭に入ります。
3-4. なぜ1ビットは検出でき、2ビットは見逃すのか
原理は一行で言えます。1ビット反転するたびに、1の個数の偶奇が1回入れ替わる。
- 0が1に化ければ、1の個数が1増える → 偶奇が変わる
- 1が0に化ければ、1の個数が1減る → 偶奇が変わる
どちらでも必ず変わります。だから、こうなります。
- 奇数個反転 → 偶奇が奇数回ひっくり返る → 元と違う偶奇になる → 必ず検出できる
- 偶数個反転 → 偶奇が偶数回ひっくり返る → 元の偶奇に戻る → 1件も検出できない
ここが本講でいちばん大事なところです。「2ビット誤りが検出できない」は例外でも欠陥でもありません。「1ビット誤りを検出できる」ことの裏返しで、同じ原理から両方が出てきます。 検出できる範囲は、後から決めた仕様ではなく、仕組みそのものから決まっているのです。
8ビット(データ7+パリティ1)について、全部の場合を数え上げた結果が次の表です。
| 反転したビット数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| 場合の数 | 1 | 8 | 28 | 56 | 70 | 56 | 28 | 8 | 1 |
| 検出できた数 | — | 8 | 0 | 56 | 0 | 56 | 0 | 8 | 0 |
きれいに交互になります。4ビットデータ+パリティの全16語でも同じ規則が成り立つことを確認しました。
3-5. なぜ検出はできても訂正はできないのか
パリティが持っている情報は「1の個数の偶奇」というたった1ビットです。ところが8ビットのうちどこが化けたかを言うには、8通りを区別できる情報(3ビット分)が必要です。1ビットしか持っていないのですから、位置を言えるはずがありません。
これは工夫が足りないという話ではなく、情報量の話です。訂正したければ、位置を特定できるだけの情報を余分に持たせるしかない。訂正は検出より高くつく——この関係が、次の水平垂直パリティではっきり見えます。
3-6. 水平垂直パリティ。交点で位置が分かる
ビットを表に並べて、行と列の両方にパリティを付けます。すると、合わない行と合わない列が1本ずつ出て、その交点が誤ったマスだと分かります。
これが「訂正には位置を特定する情報が要る」の具体形です。行パリティ4個と列パリティ4個、合わせて8ビット余分に払ったから、16マスのうちどれかを言い当てられるようになった、という取引です。
ただし万能ではありません。16マスすべてについて全数検証した結果がこちらです。
| 誤りビット数 | 場合の数 | 検出できた | 位置を1点に絞れた | そのうち本当に正しい位置 |
|---|---|---|---|---|
| 1 | 16 | 16 | 16 | 16 |
| 2 | 120 | 120 | 0 | — |
| 3 | 560 | 560 | 144 | 0 |
| 4 | 1820 | 1784 | 0 | — |
読みどころが2つあります。
- 4ビット誤りのうち36通りが完全に見逃されます。 36は「4行から2行選ぶ6通り」×「4列から2列選ぶ6通り」で、つまり長方形の4隅を同時に反転させた場合です。行も列も2個ずつ変わるので、すべてのパリティが元どおりになってしまいます。
- 3ビット誤りでは144通りが「1点に絞れて」しまいますが、その144通りは全部、誤っていない場所を指します。 そこを訂正すれば、正しかったマスを壊すことになります。位置が特定できたように見えることと、本当に特定できていることは別です。
3-7. チェックディジットは「人間の誤りの種類」を狙って設計されている
数字の並び(会員番号・書籍番号・商品コード)の末尾に付ける検査用の1桁がチェックディジットです。ここで大事なのは、重みが乱数的に決められているのではなく、想定する誤りの種類から逆算されていることです。
人間が数字を写すときにやる代表的な誤りは2つあります。
- 1桁を打ち間違える(4 を 7 にしてしまう)
- 隣り合う2桁を入れ替える(49 を 94 にしてしまう)
ISBN-13 の計算方法は、日本図書コード管理センターの手引きに次のように書かれています。
「チェック数字」は、読み取ったコード情報が正確かどうかを検算するための数字です。
a = 978 から始まる ISBN の奇数の桁の数字の合計 × 1/b = 978 から始まる ISBN の偶数の桁の数字の合計 × 3/a + b の合計数字の下一桁の数字を 10 から引いた数字(補数)がチェック数字
*但し、a+bで算出した数字の下一桁が 0 の場合は、チェック数字を 0 とする。
日本図書コード管理センター(一般社団法人日本出版インフラセンター)「ISBN 利用の手引き 2025」第3章 p.20
なぜ 1 と 3 を交互に掛けるのでしょうか。単純に全部足すだけのやり方と比べると、答えが出ます。
| 生成のしかた | 1桁の打ち間違い | 隣り合う2桁の入れ替え |
|---|---|---|
| 単純に全部足す | 全部検出できる | 1通りも検出できない |
| 重み 1・3 を交互に掛ける | 全部検出できる | 差が5の組以外は検出できる |
単純な合計では、隣どうしを入れ替えても足し算の結果が変わりません。だから入れ替えは絶対に見つかりません。ところが重みを 1・3 と交互にすると、入れ替えたときに合計が「2×(2つの数字の差)」だけ変わります。これが10の倍数になるのは差が0か5のときだけなので、差が5の組(0と5、1と6、2と7、3と8、4と9)以外はすべて検出できるようになります。
チェックディジットの重みは、「どんな誤りを捕まえたいか」を先に決めて、そこから逆算して選ばれています。 重み 1・3 は、打ち間違いのためではなく入れ替えを捕まえるために付いているのです。乱数的に作られた検査ではなく、人間の癖を想定した設計だと分かれば、丸暗記する対象ではなくなります。
3-8. 検出できない誤りは必ず残る
ここまでの話は、そのまま限界の話でもあります。
- パリティは偶数個の反転を必ず見逃す
- 水平垂直パリティは長方形の4隅を見逃す(4ビット誤り1820通り中36通り)
- ISBN-13 は、差が5の隣接2桁の入れ替えを見逃す(10個から2個選ぶ45組のうち5組、11.1%)
「完全に検出する」ことはできません。 検査に使うビットや桁を増やせば検出できる誤りは増えますが、その分だけ送るデータが増え、遅くなり、コストが上がります。第69講で扱ったヘッダのオーバーヘッドと同じ構図で、第73講の通信速度にそのまま跳ね返ります。だから設計者は必ずどこかで線を引きます。
これは第14講で扱った情報セキュリティの3要素とまったく同じ構造です。教材が「3要素を最大限に確保しなければならないのかというと、そうではない。導入コストや運用コストなどとのトレードオフも考慮しながら」と書いていたのと同じで、誤り検出も「どこまで守るか」という設計判断であって、正解が1つ決まっている話ではありません。この線引きの存在に気づけるかどうかが、この講のいちばんの収穫です。
4. 手で確かめる
4-1. 偶数パリティで3ケースを判定する
データ 1011001(1の個数4=偶数)にパリティビット 0 を付けて、10110010 を送ります。
| ケース | 受信したビット列 | 1の個数 | 偶奇 | 判定 |
|---|---|---|---|---|
| ① 誤りなし | 10110010 | 4 | 偶数 | 異常なし(正しい) |
| ② 1ビット誤り(3ビット目) | 10010010 | 3 | 奇数 | 誤りあり(検出成功) |
| ③ 2ビット誤り(3・6ビット目) | 10010110 | 4 | 偶数 | 異常なし ← 見逃し |
③をよく見てください。データは確実に壊れているのに、検査は「問題ありません」と答えます。 しかも受け取った側には、それが正しいデータなのか壊れたデータなのか区別する手段が一切ありません。実装のバグではなく、偶数個の反転では偶奇が元に戻るという原理どおりの結果です。
4-2. ISBN-13 を実際に計算する
日本図書コード管理センター自身の ISBN、978-4-949999-16-? で検算してみます。13桁のうち左から12桁が 9 7 8 4 9 4 9 9 9 9 1 6 で、13桁目がチェック数字です。
- a = 9+8+9+9+9+1 = 45(奇数桁)→ 45×1 = 45
- b = 7+4+4+9+9+6 = 39(偶数桁)→ 39×3 = 117
- a+b = 45+117 = 162
- 下1桁は2なので、10 − 2 = 8
チェックディジットは 8。手引きの掲載値と一致します(ISBN 978-4-949999-16-8)。
面白いのはこの先です。この13桁について、隣り合う2桁を入れ替えて別の並びになるのは9通りありますが、そのうち4通りは検出できません。4と9が隣り合う箇所が3か所、1と6が隣り合う箇所が1か所あり、いずれも差が5だからです。規格の総本山が手引きの例に挙げている番号ですら、見逃す組み合わせを含んでいる。 「検出できない誤りが必ず残る」というのは、抽象論ではなく目の前の数字の話なのです。
4-3. Python で全数を確かめる
ここまでの主張は全部、実際に実行して確認しました。手元で再現できます。
from itertools import combinations
# 偶数パリティ:1の個数を偶数にそろえる(=全ビットのXOR)
data = [1,0,1,1,0,0,1]
sent = data + [sum(data) % 2] # -> 1011001 + 0
def check(w): # 検査:1の個数が偶数なら「異常なし」
return sum(w) % 2 == 0
for k in range(0, 9): # k ビット反転させて全数調べる
tot = det = 0
for pos in combinations(range(8), k):
w = sent[:]
for i in pos:
w[i] ^= 1 # ^= 1 が「反転」=XOR
tot += 1
if not check(w):
det += 1
print(k, "ビット反転:", tot, "通り中", det, "通り検出")
実行結果です。
0 ビット反転: 1 通り中 0 通り検出
1 ビット反転: 8 通り中 8 通り検出
2 ビット反転: 28 通り中 0 通り検出
3 ビット反転: 56 通り中 56 通り検出
4 ビット反転: 70 通り中 0 通り検出
5 ビット反転: 56 通り中 56 通り検出
6 ビット反転: 28 通り中 0 通り検出
7 ビット反転: 8 通り中 8 通り検出
8 ビット反転: 1 通り中 0 通り検出
次に ISBN-13 です。1桁の打ち間違いと隣接2桁の入れ替えを、全部の場合について調べます。
def isbn_cd(d12): # 手引きの計算式そのまま
a = sum(d12[i] for i in range(0, 12, 2)) # 奇数桁(1,3,5,...)
b = sum(d12[i] for i in range(1, 12, 2)) # 偶数桁(2,4,6,...)
return (10 - (a * 1 + b * 3) % 10) % 10
full = [9,7,8,4,9,4,9,9,9,9,1,6]
cd = isbn_cd(full)
print("チェックディジット =", cd) # -> 8(手引きの掲載値と一致)
full = full + [cd]
def valid(d13):
return isbn_cd(d13[:12]) == d13[12]
miss = 0 # (1) 1桁の打ち間違い
for pos in range(13):
for v in range(10):
if v == full[pos]:
continue
w = full[:]; w[pos] = v
if valid(w):
miss += 1
print("1桁の打ち間違い 117 通り中 見逃し:", miss)
miss = [] # (2) 隣り合う2桁の入れ替え
for i in range(12):
if full[i] == full[i+1]:
continue
w = full[:]; w[i], w[i+1] = w[i+1], w[i]
if valid(w):
miss.append((i + 1, full[i], full[i+1]))
print("隣接入れ替え 9 通り中 見逃し:", len(miss), miss)
チェックディジット = 8
1桁の打ち間違い 117 通り中 見逃し: 0
隣接入れ替え 9 通り中 見逃し: 4 [(4, 4, 9), (5, 9, 4), (6, 4, 9), (11, 1, 6)]
見逃した4通りは、いずれも 4と9(差5)または 1と6(差5)の入れ替えです。数字の組を総当たりすると、見逃すのは (0,5) (1,6) (2,7) (3,8) (4,9) の5組だけで、45組中の11.1%だと確かめられます。
5. 共通テストではこう出る
重要度A。 第1問の小問集合の常連です。まず、この分野が試験でどう位置づけられているかを一次資料で確認しておきます。
試作問題『情報Ⅰ』第1問 問2(2022年11月9日公表・配点6点・領域は(4)情報通信ネットワークとデータの活用)について、大学入試センターの「概要」はこう説明しています。
問2 情報通信ネットワークで利用されている通信データの誤り訂正の仕組みについて、問題文から読み取った内容を踏まえて考察できるかを問う。また、基数変換の理解を基に、具体的な誤り訂正を考察できるかを問う。
独立行政法人大学入試センター「令和7年度大学入学共通テスト 試作問題『情報』の概要」令和4年11月9日公表
誤り訂正と基数変換がセットで出るという設計が、公表資料に明記されています。第40講の基数変換が不安な方は先にそちらを固めてください。
そして令和7年度本試験の第1問 問3。センターの問題評価・分析委員会報告書(自己評価)はこう書いています。
問3がチェックディジットについて生成方法による誤り検出とその仕組みについて理解しているかを問う問題
問3についても書籍のISBNの事例を基にチェックディジットについて考えさせる思考力を測る良問であったという評価を頂いた(高校評価)
問3のクは約6割であり、いずれの誤答選択肢も一定数選択された識別力のある問題であった
独立行政法人大学入試センター「令和7年度大学入学共通テスト 問題評価・分析委員会報告書(本試験)」より
同じ報告書によると、この年の『情報Ⅰ』本試験の受験者数は279,718人、平均点は69.26点、標準偏差は16.09でした。第1問全体の平均は約6割半ばです。なお令和8年度本試験の第1問は、主記憶と補助記憶/情報セキュリティ/2進法と16進法/スマートフォンのUI/エラーメールという構成で、誤り検出は出ていません。毎年出るわけではありませんが、出るときは第1問に置かれます。
出る型は3つ
- パリティビットを求める型。 与えられたビット列に偶数(または奇数)パリティを付ける。1の個数を数えるだけで、落としてはいけません。
- 誤りが検出できるかを判定する型。 ここが差のつくところです。「何ビットの誤りまで検出できるか」「訂正はできるか」を問われます。「検出はできるが訂正はできない」を即答できるかが分かれ目。
- チェックディジットの計算型。 生成規則は問題文で与えられるので暗記は不要です。ただし「その規則では検出できない誤りの例を挙げよ」という形になると一気に難しくなります。令和7年度の出題も、2種類の生成方法を定義したうえで比較させる形でした。本講の3-7でやった「単純な合計 vs 重み付き」の比較が、そのまま解法になります。
引っかけ4つ
- 「パリティで誤りを訂正できる」——できません。位置の情報がありません。
- 「パリティを付ければ誤りが起きなくなる」——起きます。検出するだけです。
- 「偶数パリティのほうが奇数パリティより優れている」——検出能力は同じです。どちらにそろえるかの約束の違いだけ。
- 暗記した ISBN の重みを勝手に当てはめる。 生成規則は問題文に書いてあります。試験で問われているのは規則を覚えているかどうかではなく、与えられた規則で何が検出できて何ができないかを考えられるかです。
6. 情報Ⅱではこうなる
6-1. 誤りへの備えが「非機能要件」という名前で工程になる
情報Ⅱ教員研修用教材 第4章 学習24 で、誤りや障害への備えが開発工程のテスト項目として登場します。「非機能」という語の出現数は 解説0/情報Ⅰ教材0/情報Ⅱ教材8(すべて第4章)。情報Ⅱに入った瞬間に生えてくる語です。
システム開発の非機能テストでは、要求仕様で決められている場合には、性能や、ユーザーが操作をしてから結果が表示されるまでの処理時間や、負荷が高まったときでも正常に動作するかなど非機能要件と呼ばれる観点でのテストも行う。
図表6に、無停電電源装置(UPS)を用意することで、停電などでシステムが停止することを防ぐ工夫の例を示す。また、ネットワーク構成を二重化しているとき(図表7)なども、障害で通信に異常が発生した際、自動的にバックアップ回線に切り替わって通信を継続する仕組みが機能するかどうか、稼働前にテストしなければならない。
ハードウェアやソフトウェア、そして災害などに起因する停電等の障害から復旧してシステムの稼働を再開できるかといったシステム回復テストなども本番稼働させる前にテストしておかなければならない。
文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第4章 情報システムとプログラミング 学習24(令和2年)
さらに演習2は「これまで作成してきたシステムまたはプログラムで、動作中に強制終了などが起きてしまった場合、どのようなデータがバックアップされていれば、業務が再開できるかを考えましょう」と学習者に投げます。誤りへの備えを設計することが、生徒自身の作業になるわけです。
ここで見落としてはいけないのが語の乗り換えです。「冗長」という語は情報Ⅱ教材の全文で0件。 冗長化と呼ばずに「二重化」「UPS」「回復テスト」と書かれています。第14講で「可用性の中身(UPS・回線二重化・システム回復テスト)が学習24に在るのに『可用性』の語は一度も使われない」と書きましたが、まったく同じ場所で同じことが起きています。国の教材では、概念が消えるのではなく名前が変わる。 語で検索して0件だったからといって「無い」と決めつけると、必ず読み違えます。
6-2. 「誤りの検出」が、決定的な検査から統計的な判断に変わる
情報Ⅱ教員研修用教材 第3章前半 学習12 に「欠損値と異常値の取扱い」という節があります。語の出現数は 欠損値=解説2/情報Ⅰ教材0/情報Ⅱ教材17、異常値=0/0/4。これも情報Ⅱ側に偏っています。
欠損値は、計測機器の故障などにより値が記録されなかったり、アンケートでの無回答などの理由で値が得られなかったりして、値が欠落していることを示すものである。
データの中には、多くのデータからかけ離れた値である外れ値がある。外れ値の中でも原因を特定できるものを異常値という。
外れ値は、四分位範囲などの統計量を用いたり、データ間の距離を用いたり、学習16のクラスタリングを用いたりして検出することができる。
文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第3章 情報とデータサイエンス 前半 学習12(令和2年)
情報Ⅰと情報Ⅱの違いは、ここにはっきり出ます。
| 情報Ⅰ(パリティ・チェックディジット) | 情報Ⅱ(欠損値・異常値) | |
|---|---|---|
| 誤りの正体 | ビットが化けた | 値が欠けている/他と大きく離れている |
| 判定のしかた | 偶奇が合うか合わないか(0か1か) | 他と比べてどれだけ離れているか(程度) |
| 検出の道具 | パリティ・重み付き和 | 四分位範囲・距離・クラスタリング |
| 検出したら | 再送を求める(機械が決める) | 捨てるか残すかを人が判断する |
| 見逃しの代償 | 通信データが壊れる | 間違った分析結果を出す |
そして教材はこう書き添えます。「外れ値が有益なデータの可能性も(ある)」。ここが決定的です。パリティなら「合わない=誤り」で話が終わります。ところが外れ値は、測定ミスかもしれないし、本物の発見かもしれない。だから情報Ⅱでは、検出したあとに「これは異常値か、それとも本物か」という判断が必ず挟まります。
面白いことに、「検出はできても、それだけでは直せない」というパリティの構造が、統計の言葉でそのまま再登場しています。 情報Ⅰのパリティが位置の情報を持たないから訂正できないのと同じように、情報Ⅱの外れ値検出は原因の情報を持たないから捨ててよいか決められない。どちらも「気づくこと」と「直すこと」は別の作業だという、同じ教訓です。
もうひとつ。情報Ⅱ教材の「検出」17件は、1件も通信の誤り検出ではありません(物体検出=YOLO が15件、結合テストでの欠陥の早期検出が2件)。同じ「検出」という語でも中身が完全に入れ替わります。語数調査をするときに用法を見ずに数えると、こういうところで足をすくわれます。
6-3. データが壊れる原因が、ノイズから「他人が書いたコード」に変わる
情報Ⅱ教員研修用教材 第4章 学習22(モジュールの分割と設計)が「整合性」を使う唯一の箇所に、こう書かれています。
モジュール内部の変数(データ)が他のモジュールから直接読み書きできてしまうため、モジュールを正しく作ったとしても他のモジュールの不具合などでデータの整合性が壊れてしまう可能性がある。
文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第4章 学習22(令和2年)
情報Ⅰでデータを壊すのは通信路のノイズでした。情報Ⅱでデータを壊すのは自分たちが書いたプログラムの構造です。だから対策も、パリティを付けることではなくモジュールの独立性を高めることになります。第54講のトレースとデバッグで扱った「誤りを見つける方法」が、ここでは「そもそも壊れにくく作る設計」に進みます。
6-4. 情報Ⅰのうちにやっておくこと
「検出できる範囲」と「検出できない範囲」を、自分の手で全部書き出す経験を積んでおいてください。2ビット誤りが見逃されることを、言葉で聞くのではなく実際に表を作って確かめる。この経験がある人は、情報Ⅱで「この外れ値検出は何を見つけられて、何を見逃すのか」と自然に問えるようになります。
逆に「パリティ=誤り検出」と単語で覚えた人は、検出手法を万能の道具だと思い込んだままデータ分析に進みます。そして情報Ⅱでは、その思い込みが「間違った結論を自信を持って発表する」という形で表面化します。 検出できないものがあると知っている人だけが、結果を疑うことができるのです。
まとめ
- 誤りは「直す」前に「気づく」必要がある。デジタルの誤りは「少しずれる」ではなく「別の値に化ける」形で現れ、見た目には何も起きていない。
- 偶数パリティ=全ビットのXOR=1の個数の偶奇。1ビット反転するごとに偶奇が1回入れ替わるので、奇数個の反転は必ず検出、偶数個の反転は必ず見逃す。これは同じ原理の表と裏。
- 検出できても訂正できないのは、どのビットが化けたかという位置の情報を持っていないから。水平垂直パリティは行と列の交点で位置を特定できるが、3ビット誤りでは間違った場所を指し、長方形の4隅は完全に見逃す。
- チェックディジットの重み 1・3 は、「隣接2桁の入れ替え」を捕まえるために付いている。単純合計では入れ替えを1通りも検出できない。誤りの種類を想定して設計されている。
- 検出できない誤りは必ず残る。 どこまで守るかは設計判断であり、第14講のセキュリティ3要素と同じ構造。
- 情報Ⅱでは、誤りへの備えが非機能要件・非機能テストとして工程化され(UPS・回線二重化・システム回復テスト)、誤りの検出は欠損値・異常値の統計的な判定に変わる。「気づくこと」と「直すこと」が別だという構造だけが同じまま残る。
出典(すべて2026年8月3日に取得)
- 文部科学省「高等学校学習指導要領(平成30年告示)解説 情報編」平成30年7月
- 文部科学省「高等学校情報科『情報Ⅰ』教員研修用教材」第2章・第3章・第4章(令和2年)
- 文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第3章前半・第4章(令和2年)
- 独立行政法人大学入試センター「令和7年度大学入学共通テスト 試作問題『情報』の概要」令和4年11月9日公表
- 独立行政法人大学入試センター「令和7年度大学入学共通テスト 問題評価・分析委員会報告書(本試験)」および「令和8年度」同報告書
- 情報処理推進機構(IPA)「基本情報技術者試験(レベル2)シラバス Ver.9.2」「ITパスポート試験シラバス Ver.6.5」
- 日本図書コード管理センター(一般社団法人日本出版インフラセンター)「ISBN 利用の手引き 2025」第3章 p.20
語の出現数はいずれも、上記のPDFをテキスト化して2026年8月3日に機械的に数え、ヒットした箇所を1件ずつ目視して用法を確認したものです。制度に関する記述は2026年8月時点の情報です。この講を含む全120講の一覧は『藤原進之介の最強120講義』のハブページにまとめています。
執筆:藤原進之介(数強塾グループ代表)
オンライン数学専門塾「数強塾」代表。累計3,500名以上の中高一貫校生を指導。東進ハイスクール・東進衛星予備校・代々木ゼミナールなど出講実績あり。情報Ⅰの参考書を複数執筆しており、KADOKAWA『ゼロから始める情報I』、Gakken『きめる!共通テスト 情報Ⅰ』などがあります。本記事は参考書『藤原進之介の最強120講義』第46講のWeb版です。
「情報Ⅰ、独学でいけるのか不安」という方へ
数強塾では数学と情報Ⅰの両方に対応したオンライン個別指導を行っています。学習相談は無料、体験授業は3,000円(税込)でお受けしています。
