慶應義塾大学 SFC 総合政策学部『情報』2019の解答解説です。問題 → 解答 → 端的な解説 → 深掘りの順に並べています。まず問題を確認し,答えを見て,短い解説で理解し,余力があれば深掘りタブを開いてください。
このページの内容
- 慶應義塾大学 総合政策学部 2019 情報Ⅰ(ア)
- 慶應義塾大学 総合政策学部 2019 情報Ⅰ(エ)
- 慶應義塾大学 総合政策学部 2019 情報Ⅰ(イ)
- 慶應義塾大学 総合政策学部 2019 情報Ⅰ(ウ)
- 慶應義塾大学 総合政策学部 2019 情報Ⅱ(ア)
- 慶應義塾大学 総合政策学部 2019 情報Ⅱ(エ)
- 慶應義塾大学 総合政策学部 2019 情報Ⅱ(ウ)
- 慶應義塾大学 総合政策学部 2019 情報Ⅲ(ア)加算の虫食い算
- 慶應義塾大学 総合政策学部 2019 情報Ⅲ(イ)
- 慶應義塾大学 総合政策学部 2019 情報Ⅲ(イ)前進消去
- 慶應義塾大学 総合政策学部 2019 情報Ⅳ(ア)
- 慶應義塾大学 総合政策学部 2019 情報Ⅳ(イ)
- 慶應義塾大学 総合政策学部 2019 情報Ⅳ(ウ)
- 慶應義塾大学 総合政策学部 2019 情報Ⅴ(ア)
- 慶應義塾大学 総合政策学部 2019 情報Ⅴ(イ)(ウ)
問1 慶應義塾大学 総合政策学部 2019 情報Ⅰ(ア)
1問題 — この設問で問われていること
知的財産法の分類を説明する文章に4組の空欄があり、選択肢から語を選ばせる。
空欄のうち1つは文中に3回登場する。技術に関する法として実用新案法と並べられ、その保護対象が「発明」であると明示され、さらに「考案」との高度さの違いが述べられる。同じ空欄が繰り返し現れる箇所は、最も情報量が多い。
選択肢には、知的財産と無関係な法律名(景品表示・情報公開・独占禁止・個人情報など)が多数混ぜられている。知的財産の枠内かどうかでまず大きく絞れる。
2解答
- 発明を保護する法 → 特許
- 工業製品のデザインを指す語 → 意匠
- 商品・役務の出所を示すマーク → 商標
- 四法の総称 → 産業財産権
知的財産権の全体像に位置づけると次のようになる。
| 区分 | 権利 | 発生 |
|---|---|---|
| 産業財産権 | 特許権・実用新案権・意匠権・商標権 | 出願して登録されて発生 |
| その他 | 著作権 | 創作した時点で自動的に発生 |
産業財産権が登録によって発生するのに対し、著作権は無方式で発生する。この違いが、両者を分ける最も本質的な線になる。
3解説(端的に)
保護対象が明示されている空欄から埋める。
「発明」を保護すると書かれている空欄は、それだけで特許に確定する。実用新案法と並べられ、かつ実用新案の「考案」より高度と説明されているので、他の候補はない。
次に説明文が具体例を挙げている空欄を処理する。乗用車やデジタルカメラのデザインという例は工業製品の外観を指すので意匠、商品や役務の出所を表示するマークという説明は商標に対応する。
最後に総称を答える空欄を埋める。4本の法律をまとめた呼称であり、「産業上利用される」という文脈と整合する語を選ぶ。著作権は産業上利用されない側の代表なので入らない。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
知的財産法は、産業上利用されるものと、そうでないものに大きく分かれる。
産業上利用される側は4本の法律からなり、これらをまとめた総称がある。4本それぞれの保護対象は次のとおり。
| 法律 | 保護対象 | 中身 |
|---|---|---|
| 特許法 | 発明 | 技術的アイデアのうち高度なもの |
| 実用新案法 | 考案 | 技術的アイデア(特許ほど高度でない) |
| 意匠法 | 意匠 | 工業製品のデザイン |
| 商標法 | 商標 | 商品・役務の出所を示すマーク |
発明と考案の違いは高度さの程度であって、種類の違いではない。どちらも技術的アイデアである点で共通し、だからこそ特許法と実用新案法は「技術に関するもの」としてひとまとめに語られる。
一方、意匠は見た目、商標は出所の表示であり、技術とは別の側面を守る。
この4本の総称が 産業財産権 である。かつては工業所有権と呼ばれていた。
検算 — 別の道すじで確かめる
語を当てはめ直すのではなく、4本の法律が過不足なく揃うかで確かめる。
産業財産権を構成するのは特許・実用新案・意匠・商標の4本である。本文には実用新案法が明示されており、残る3つの空欄に特許・意匠・商標が入ればちょうど4本が揃う。1つでも別の語を入れれば、4本のうちどれかが欠けることになる。
技術に関するものとそうでないものの分け方でも裏を取る。 本文は「これらのうち、◯◯法と実用新案法は、技術に関するものである」と述べている。特許を入れれば、技術に関する2本(特許・実用新案)と、技術以外の2本(意匠・商標)にきれいに分かれる。2対2の対応が成立する。
もし意匠を入れれば「意匠法と実用新案法が技術に関するもの」となるが、意匠はデザインであって技術ではない。同じ文の後半で工業製品のデザインと説明されているので、自己矛盾する。
総称についても確かめる。 選択肢には知的財産基本という語もあるが、これは知的財産全体の基本方針を定める法律であり、4本の総称ではない。著作権を含む上位概念になってしまい、「産業上利用される側の四法」という限定と合わない。
ここで効く一般則・学問的背景
産業財産権は特許・実用新案・意匠・商標の4本。 この4本セットを覚えておけば、3つが空欄でも残りから復元できる。
特許と実用新案の違いは高度さの程度。 どちらも技術的アイデアで、種類が違うわけではない。ここを「方法か物品か」と混同しないよう注意する。
保護対象が明示されている空欄から埋める。 「発明」「考案」「デザイン」「出所を示すマーク」といった語は、そのまま法律を特定する。
著作権は登録不要、産業財産権は登録必要。 この違いが両者を分ける本質である。
情報Ⅱでは、この枠組みがソフトウェアの権利処理へ展開する。プログラムは著作物として自動的に保護されるが、そこに実装された技術的アイデアは特許の対象になりうる。同じ成果物に複数の権利が重なるため、どの権利で何を守るかを意識的に選ぶ必要が出てくる。オープンソースのライセンスが著作権を根拠に利用条件を定めているのも、この重なりを理解していないと読み解けない。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第1章 情報社会の問題解決 に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問2 慶應義塾大学 総合政策学部 2019 情報Ⅰ(エ)
1問題 — この設問で問われていること
著作権法に関する5つの記述から、正しいものを1つ選ばせる。
誤りの4つは、それぞれ別の論点を突いている。権利の種類の見落とし、存在しない制度の援用、権利の及ぶ範囲の誤解、条文上の明記の見落としである。
正答は依拠性という侵害の成立要件に関わるもので、他の4つとは判断の軸が異なる。「似ていれば侵害」という素朴な理解では選べない。
2解答
「先に公表されていた楽曲の存在を知らずに、偶然に類似した楽曲を作ってアップロードすることは侵害にあたらない」という記述が正しい。
依拠性を欠くため、侵害は成立しない。これは著作権が表現の独占ではなく、模倣からの保護であることの現れである。同じ表現に独立してたどり着いた者を罰する制度ではない。
各記述の判定を整理する。
| 記述の論点 | 判定 | 理由 |
|---|---|---|
| 朗読は料金を取っても侵害でない | 誤り | 公衆に聞かせる朗読には口述権が及ぶ。料金を取れば非営利無償の例外にも当たらない |
| パロディは公正な利用だから侵害でない | 誤り | 日本法に包括的な公正利用の一般条項はない |
| 同一性保持権は美術に限られる | 誤り | あらゆる著作物に及ぶ。表記の改変も対象になりうる |
| 偶然の類似は侵害でない | 正しい | 依拠性を欠く |
| 建築は実用目的だから著作物でない | 誤り | 建築の著作物は条文に明記。図面に従った建築も複製にあたる |
3解説(端的に)
各記述がどの論点に触れているかを特定し、法の枠組みに照らす。
判断の観点を先に並べておく。
1. その利用行為に対応する支分権があるか(複製・上演・口述・翻案など)
2. 権利制限規定に当てはまるか(非営利無償か、引用の要件を満たすか)
3. その権利はどの範囲の著作物に及ぶか
4. 侵害の成立要件(類似性と依拠性)が揃うか
素朴な直感で「似ているから侵害」「批評だから適法」と判断すると、いずれも外す。制度の枠組みに当てはめることが必要になる。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
著作権侵害が成立するには、2つの要件が揃う必要がある。
類似性 — 既存の著作物の表現上の本質的な特徴が、そのまま感じ取れること。
依拠性 — 既存の著作物に依拠して作られたこと。すなわち、それを知ったうえで利用したこと。
この2つは両方必要である。 偶然に似てしまっただけで、元の作品を知らずに独立して創作したなら、依拠性を欠くので侵害にならない。逆に、依拠していても表現が似ていなければ侵害ではない。
アイデアは保護されず、表現だけが保護されるという原則とも関係する。同じ発想から出発すれば、独立に作っても似た表現に至ることはありうる。
もう2つ、混同しやすい論点を押さえる。
日本の著作権法には包括的な公正利用の規定がない。 個別の権利制限規定(引用、私的複製、教育目的の利用など)が列挙されているだけで、「公正な利用なら広く許される」という一般条項は置かれていない。批評目的の二次創作であっても、それだけで適法になるわけではない。
同一性保持権は、あらゆる著作物に及ぶ。 美術作品に限られない。著作者の意に反する改変は、表記の細部であっても侵害になりうる。
検算 — 別の道すじで確かめる
正答を選び直すのではなく、誤りとした4つそれぞれについて、破綻する一点を挙げる。
朗読について。 著作物を公衆に直接聞かせる行為には専用の支分権がある。料金を受け取る場合は、非営利かつ無償という例外の要件を満たさない。例外の要件を1つでも欠けば原則に戻るので、侵害となる。
パロディについて。 「公正な利用だから適法」という論法が成り立つには、そう定めた一般条項が必要である。日本の著作権法は個別列挙方式を取っており、その一般条項が存在しない。前提としている制度そのものが無いので、結論も導けない。
同一性保持権について。 もし美術の原作品に限られるなら、小説や論文の無断改変を著作者は争えないことになる。しかし同一性保持権は著作者の人格的利益を守る規定であり、対象を美術に限る根拠はない。保護の趣旨から範囲を絞る理由がない。
建築について。 実用目的だから著作物でないという論法を貫くと、実用品の多くが一律に保護外になる。実際には建築は著作物として条文に列挙されている。条文の明記に反する。
正答についても逆から確かめる。 もし依拠性が不要なら、既存の全作品を知らないまま創作した者が、たまたま似ていただけで侵害者になる。創作行為が事実上不可能になるので、制度としてそのような設計は取りえない。依拠性の要件は、この不合理を避けるために置かれている。
ここで効く一般則・学問的背景
著作権侵害の要件は類似性と依拠性の2つ。 両方が揃って初めて侵害になる。「似ているか」だけで判断しない。
日本法に包括的な公正利用の規定はない。 個別の権利制限規定に当てはまるかを確かめる。「公正だから」「批評だから」という理由だけでは適法にならない。
同一性保持権はあらゆる著作物に及ぶ。 美術に限られない。表記の細かな改変も対象になりうる。
建築は著作物。図面どおりに建てることは複製。 実用性があることは、著作物性を否定する理由にならない。
「例外規定の要件を1つでも欠けば原則に戻る」。 非営利・無償・無報酬といった要件は、すべて満たして初めて例外が働く。
情報Ⅱでは、この論点が生成AIと著作権の議論に直結する。生成物が既存作品に似ていた場合、依拠性をどう判断するかが焦点になる。学習データに含まれていたことをもって依拠したとみなすのか、それとも偶然の一致と扱うのか。人間の創作を前提に組み立てられた要件が、機械による生成にそのまま当てはまるのかが、いま問われている論点である。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第1章 情報社会の問題解決 に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問3 慶應義塾大学 総合政策学部 2019 情報Ⅰ(イ)
1問題 — この設問で問われていること
相関と因果の混同を論じた文章に3つの空欄がある。
1つ目は概念名を問う。2つ目は具体例に対する逆の因果の内容を選ばせる。3つ目は第三の要因の可能性を述べた文を選ばせる。
2つ目の選択肢には、元の主張をそのまま述べたもの、向きを逆にしたもの、条件を反対にしたものが並ぶ。「逆の因果」が何を意味するかを正確に理解していないと選べない構成になっている。
2解答
- 因果関係と混同されるもの → 相関関係
- 逆の因果関係の内容 → 価格が高い国ほど自由化改革に取り組んだ
- 疑うべき可能性 → 他の要因Vも影響している
3つの説明を整理する。
| 説明 | 内容 |
|---|---|
| 主張された因果 | 改革が価格上昇を引き起こした |
| 逆の因果 | 価格が高かったから改革に取り組んだ |
| 交絡 | 別の要因が改革と価格の両方に影響した |
逆の因果は現実的に十分ありうる。電力価格が高くて困っている国ほど、価格を下げようとして市場の自由化に踏み切るという筋道は自然である。この可能性が残る限り、観測された相関から「改革が価格を上げた」とは結論できない。
3つ目の選択肢では、Xが別の要因Vに影響しているという記述も用意されている。しかしこれはXからVへの矢印であり、XとYの関係を説明するものではない。求められているのは、VがXとYの両方に影響しているという交絡の構図である。
3解説(端的に)
1つ目は定義から即決する。 因果関係と対比され、混同されがちなものは相関関係である。
2つ目は矢印を反転させる。 元の主張が「改革 → 価格上昇」なので、逆は「価格 → 改革」の向きになる。ここで注意すべきは、観測された事実は「改革を行った国のほうが価格が高い」という点である。この事実を逆の因果で説明するなら、「もともと価格が高かった国が改革に取り組んだ」となる。
「価格が低い国ほど改革に取り組んだ」では、改革国のほうが価格が低いことになり、観測された事実と食い違う。向きを反転させるだけでなく、元の観測と整合するかまで確認する必要がある。
3つ目は交絡の記述を選ぶ。 「XがYに影響した」という結論に対する疑いなので、XでもYでもない別の要因が両方に効いている、という内容になる。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
2つの量が一緒に動くことを相関関係、一方が他方を引き起こすことを因果関係という。相関があっても因果があるとは限らない。
XとYに相関が観測されたとき、考えうる説明は少なくとも3通りある。
1. XがYを引き起こしている(主張されがちな解釈)
2. YがXを引き起こしている(逆の因果)
3. 第三の要因VがXとYの両方に影響している(交絡)
さらに、単なる偶然の一致という可能性もある。相関の観測だけでは、この4つを区別できない。
区別するには実験や統計的な手法が要る。観察データを眺めているだけでは、どれが正しいかは決まらない。
「逆の因果」を考えるコツは、結論の矢印を反対向きにして日本語として成立するかを試すことである。「改革をしたから価格が上がった」の逆は「価格が高かったから改革をした」になる。後者が現実的に起こりうるなら、逆の因果は排除できない。
検算 — 別の道すじで確かめる
選択肢を読み比べるのではなく、それぞれの説明が観測事実を再現できるかで確かめる。
観測された事実は「改革を行った国の価格のほうが、行っていない国より高い」である。
逆の因果として選んだ説明を当てはめる。 価格が高い国ほど改革に取り組んだのなら、改革国の集団はもともと価格が高い国の集まりになる。したがって改革国の価格が高いという観測が再現される。改革が価格に何の影響も与えていなくても、この観測は生じる。
排除した選択肢も試す。 「価格が低い国ほど改革に取り組んだ」なら、改革国の集団は価格が低い国の集まりになり、観測とは逆の結果になる。再現できないので誤り。
「改革により価格が上昇した」は元の主張そのものであり、逆の因果ではない。「改革により価格が低下した」は観測とも主張とも合わない。
交絡の側も確かめる。 例えば「経済発展の段階」という要因が、改革の実施しやすさと電力価格の水準の両方に影響しているとする。この場合、改革と価格の間に因果がなくても相関が生じる。Vが両方に矢印を伸ばしている構図でなければ、この説明は成立しない。XがVに影響しているだけでは、Yとの関係を説明できない。
ここで効く一般則・学問的背景
相関から因果は出ない。 相関が観測されたら、順方向の因果・逆方向の因果・交絡・偶然の4つを常に並べて考える。
逆の因果は「矢印を反転させ、観測と整合するか」で検査する。 反転させただけでは足りない。反転した説明が、実際に観測された事実を再現できるかまで確かめる。
交絡は「VがXとYの両方に影響」。 XがVに影響しているだけでは交絡ではない。矢印の出所がVであることが要件になる。
その説明で観測が再現できるかを試す。 どの説明が正しいかは決まらないが、観測を再現できない説明は排除できる。
情報Ⅱでは、この議論が因果推論として扱われる。ランダム化比較試験を行えば交絡を断ち切れるが、国単位の政策では実施できない。そこで、改革の直前直後を比べる手法や、改革の実施に影響するが価格には直接影響しない要因を利用する手法が使われる。観察データから因果に迫るための工夫が、そこから先の主題になる。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問4 慶應義塾大学 総合政策学部 2019 情報Ⅰ(ウ)
1問題 — この設問で問われていること
憲法21条の構造を説明する文章に5つの空欄があり、選択肢から語を選ばせる。
空欄は2語ずつの組で権利の名称を作る形になっている。1つ目と2つ目で一方の権利、3つ目と4つ目でもう一方の権利、5つ目でその保障根拠を答える。
同じ空欄が文中に繰り返し現れ、それぞれの権利の特徴が具体例つきで説明されるので、対応関係は読み取れる。選択肢には憲法上の別の概念や、紛らわしい語が混ぜられている。
2解答
- 広く一般への発信を守る権利 → 表現 + 自由
- 特定者間のやり取りを守る権利 → 通信 + 秘密
- 後者の保障根拠 → プライバシー
2つの権利を対比すると次のようになる。
| 表現の自由 | 通信の秘密 | |
|---|---|---|
| 条文の位置 | 1項・2項前段 | 2項後段 |
| 受け手 | 不特定多数 | 特定者 |
| 典型例 | 新聞・放送・演説 | 手紙・電話・メール |
| 保障の趣旨 | 思想の自由な流通 | プライバシーの保護 |
受け手が不特定か特定かという一線で、同じ条文の中が2つに分かれている。この区分を押さえれば、どちらの権利の話をしているかは迷わない。
3解説(端的に)
具体例が挙げられている箇所から決める。
「新聞や放送あるいは街頭での演説のように、広く一般に情報を発信する」と説明された権利は、表現の自由である。もう一方は「特定者間の情報のやり取り」と説明されており、通信に関する権利になる。
権利の名称は2語の組で完成する。前者は「表現」+「自由」、後者は「通信」+「秘密」となる。ここで組み合わせを取り違えないことが肝心で、「表現の秘密」「通信の自由」という語は憲法21条の用語ではない。
保障根拠は文脈から引く。 「他人に知られたくないような非公知の内容」を守るため、と述べられているので、私生活上の事柄をみだりに公開されない利益を指す語が入る。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
憲法21条は、情報の流れに関する基本権を2つに区分して保障している。
表現の自由(1項・2項前段)は、広く一般に向けて情報を発信することを守る。新聞・放送・街頭での演説がその典型で、不特定多数が受け手になる。関連して、公権力が事前に内容を審査することの禁止も定められている。
通信の秘密(2項後段)は、特定の相手とのやり取りを守る。手紙・電話・電子メールがこれにあたり、受け手が誰かがあらかじめ決まっている。
両者は「情報を発信・受領する」という点では共通するが、受け手が不特定多数か特定者かで分かれる。この一点が区分の基準になる。
保障の趣旨も異なる。表現の自由は、思想の自由な流通と民主的な意思形成を支えるために守られる。一方、通信の秘密が守られるのは、特定の相手とのやり取りには他人に知られたくない内容が含まれるからであり、その根拠はプライバシーの保護にあると考えられている。
検算 — 別の道すじで確かめる
語を当てはめ直すのではなく、入れ替えたら文が成立するかで確かめる。
「表現」と「通信」を逆にして読むと、「通信は、典型的には新聞や放送あるいは街頭での演説のように、広く一般に情報を発信することである」となる。通信は特定者間のやり取りを指す語なので、不特定多数への発信という説明と真っ向から矛盾する。
「自由」と「秘密」を逆にすると、「表現の秘密」「通信の自由」という語ができる。前者は憲法21条に存在しない概念であり、後者も条文の文言ではない。2語の組が定着した法律用語になっているかを確かめれば、組み合わせの誤りが分かる。
保障根拠も別経路で確かめる。 通信の秘密が守られなければ、誰と何を話したかが第三者に把握される。これは私生活の内容が本人の意思に反して知られる状態であり、プライバシーの侵害にあたる。通信の秘密が破られたときに何が失われるかを考えれば、その保護法益が特定できる。
選択肢には名誉という語もあるが、名誉は社会的評価に関する利益であり、非公知の内容を守るという説明とは対象が違う。「知られたくない」はプライバシー、「悪く言われたくない」は名誉という区別で切り分けられる。
ここで効く一般則・学問的背景
憲法21条は「不特定多数への発信」と「特定者間のやり取り」の2つを守る。 受け手が誰かで区分される。
権利の名称は2語の組で覚える。 「表現の自由」「通信の秘密」。組み合わせを崩した語は存在しない。
保障根拠が問われたら「それが破られたとき何が失われるか」を考える。 通信の秘密が破られれば私生活の内容が知られる。そこからプライバシーに到達できる。
プライバシーと名誉を区別する。 知られたくない事実の公開がプライバシー、社会的評価の低下が名誉毀損。守る対象が違う。
情報Ⅱでは、この区分がネットワーク上の情報流通をどう捉えるかという難問につながる。SNSの投稿は不特定多数に向けた発信なので表現の自由の領域だが、ダイレクトメッセージは特定者間のやり取りであり通信の秘密の領域になる。同じサービスの中に両方が混在するため、事業者がどこまで内容に関与してよいかの線引きが難しくなる。条文が想定した二分法が、技術の変化で揺らいでいるという構図である。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第1章 情報社会の問題解決 に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問5 慶應義塾大学 総合政策学部 2019 情報Ⅱ(ア)
1問題 — この設問で問われていること
2つの小問からなる。1つ目は16進法どうしの和を10進法で答えさせ、2つ目は2進法の数を2倍して8進法で答えさせる。
いずれも解答欄が3桁で桁ごとにマークする形式なので、答えが3桁になることが分かる。桁数が合わなければ計算を誤っている。
2つの小問は、それぞれ「10進法を経由すべき場合」と「経由してはいけない場合」を対比させる構成になっている。
2解答
1つ目:16進法の和を10進法で
一方は 、もう一方は となる。和は
2つ目:2進法の数を2倍して8進法で
2進法の数を2倍するので、下位に0を1つ足して9桁にする。これを下位から3桁ずつ区切ると3つの組に分かれ、それぞれを読み替える。
| 組(上位から) | 2進 | 8進 |
|---|---|---|
| 1組目 | 101 | 5 |
| 2組目 | 010 | 2 |
| 3組目 | 100 | 4 |
したがって 524 となる。
2つの小問の解き方の違いを整理しておく。
| 経路 | 理由 | |
|---|---|---|
| 16進 → 10進 | 重みを掛けて足す | 16と10に累乗の関係がない |
| 2進 → 8進 | 3桁ずつ区切る | の関係がある |
3解説(端的に)
1つ目は10進法に直してから足す。 16進法のまま繰り上がりを扱うより確実である。各桁に重みを掛けて和を取り、それから2つを足す。
2つ目は10進法を経由しない。 2進法のまま2倍し、その結果を3桁ずつ区切って8進法に読み替える。
- 2倍する → 下位に0を1つ付ける
- 8進法へ → 下位から3桁ずつ区切り、各組を0〜7の数字に直す
区切りは必ず下位から行う。上位から区切ると、最上位の組の桁数が足りずにずれる。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
基数の異なる表記どうしを行き来する操作は、10進法を経由する道と、2進法を経由する道の2通りがある。どちらを選ぶかで手間が大きく変わる。
16進法と10進法の間は、桁の重みを掛けて足す。16進法の各桁の重みは下位から1、16、256と続き、A〜Fはそれぞれ10〜15を表す。
2進法と8進法の間は、10進法を経由してはいけない。 なので、2進法の3桁が8進法の1桁にそのまま対応する。下位から3桁ずつ区切って読み替えるだけで済む。同じ理由で、 より2進法の4桁が16進法の1桁に対応する。
もう一つ、2進法で2倍する操作は左へ1桁ずらすだけである。10進法で10倍すると桁がずれるのと同じ理屈で、下位に0を1つ足せばよい。掛け算を筆算する必要はない。
検算 — 別の道すじで確かめる
1つ目は10進法から16進法へ戻す。 なので、16進法では6とB(11)を並べた表記になる。元の2数を16進法のまま足すと、下位桁は で16を超えるため繰り上がりが1、下位に残るのは11。上位桁は 。16進法のまま計算しても同じ表記に至るので、10進法への変換が正しかったと分かる。
2つ目は10進法を経由して確かめる。 元の2進法の数は10進法で170にあたる。2倍すると340。これを8進法に直すには8で割り続けて余りを下から並べる。、、 なので、余りを下から並べて524。3桁ずつ区切る方法と一致した。
この検算は、速い方法(区切り)と確実な方法(10進経由)を突き合わせる形になっている。区切る向きを上位からにしていれば、ここで食い違いが出る。
桁数の確認も行う。 どちらの答えも3桁で、解答欄の桁数と一致する。もし2桁や4桁になれば、その時点で誤りが確定する。
ここで効く一般則・学問的背景
、。だから2進法と8進法・16進法は、桁をまとめるだけで行き来できる。 10進法を経由すると遠回りになる。
区切りは必ず下位から。 上位から区切ると最上位の桁数が足りずにずれる。足りない分は上位に0を補う。
2進法で2倍は左へ1桁ずらすだけ。 掛け算の筆算は不要である。同様に、2で割るのは右へ1桁ずらす操作になる。
16進法のA〜Fは10〜15。 この対応がなければ変換できない。
答えを元の表記に戻して検算する。 変換の問題は、逆向きに戻せば必ず確かめられる。
情報Ⅱでは、この対応関係がメモリのアドレス表記として日常的に使われる。アドレスやビット列を2進法で書くと桁が多すぎて読めないため、4桁ずつまとめた16進法で表記するのが慣例になっている。人間が読むための表記と、機械が扱う表現を分けるという発想が、そこにある。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問6 慶應義塾大学 総合政策学部 2019 情報Ⅱ(エ)
1問題 — この設問で問われていること
長さが同じで文字種だけが異なる2つのパスワードについて、破るのにかかる時間の比を答えさせる。
解答欄は3桁で、桁ごとにマークする形式になっている。答えが3桁の整数になることが、この形式から読み取れる。
長さは両方とも同じなので、文字種の違いだけが効く構造である。
2解答
文字種の比を求める。
長さは8文字なので、時間の比は
したがって 256倍 の時間がかかる。
文字種を増やしたときの効果を並べておく。
| 使える文字 | 種類数 | 小文字のみとの比(8文字) |
|---|---|---|
| 小文字のみ | 26 | 1 |
| 大文字+小文字 | 52 | 256 |
| 大小文字+数字 | 62 | 約1000 |
| 大小文字+数字+記号 | 約95 | 約2万 |
文字種を2倍にしただけで、破るのに必要な時間は256倍になる。 桁が1つ増えるどころではない伸び方をする。
3解説(端的に)
比の形に整理してから計算する。 それぞれの組み合わせ総数を求めてから割ると、途中で桁数の大きい数を扱うことになり、計算が重く誤りやすい。
比の式に当てはめる。
文字種の比を先に約分すれば、底が小さくなって計算が一気に楽になる。
大文字と小文字を合わせると52種類、小文字だけなら26種類なので、比は ちょうど2 である。ここが約分できることに気づけば、あとは2の累乗を求めるだけになる。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
ブルートフォース攻撃は、可能なパスワードを片端から試して正解を探す手法である。総当たり攻撃ともいう。
かかる時間は、試すべき組み合わせの総数に比例する。使える文字の種類を 、パスワードの長さを とすると、組み合わせの総数は
になる。各桁が独立に 通りずつ選べるからである。
したがって、2つの条件を比べたときの所要時間の比は、組み合わせ数の比そのものになる。
長さが同じなら、文字種の比を長さ乗するという形にまとまる。この形にすると、大きな数を計算せずに済む。
押さえておくべき数値は、英小文字が26種類、大文字を加えると52種類ということである。
検算 — 別の道すじで確かめる
比の式を再計算するのではなく、総数を直接求めて割るという別経路で確かめる。
小文字だけの場合の組み合わせ総数は 、大文字を加えた場合は である。 なので、
が共通因数として現れるので、比を取れば が残る。約分の構造が式の上で明示され、先の計算と一致する。
2の累乗の値でも確かめる。 は256である。これは8ビットで表せる値の個数と同じ数で、よく知られた値でもある。1文字あたり2倍の選択肢が8文字分だから2の8乗という理解の仕方もでき、桁を取り違えにくい。
桁数の妥当性も見る。 解答欄が3桁なので、答えは100以上999以下でなければならない。256はこの範囲に収まる。もし長さを取り違えて や と計算すれば、桁数が合わずに気づける。解答欄の桁数が検算の材料になる。
極端な場合でも確認する。 もし長さが1文字なら比は2倍にすぎない。長さが伸びるほど比が急激に広がるという関係は、指数の性質と一致する。
ここで効く一般則・学問的背景
組み合わせ総数は(文字種)の(長さ)乗。 時間はこれに比例する。
比を取るときは、先に文字種の比を約分する。 大きな数を計算してから割ると重く、誤りやすい。約分してから累乗するのが定石である。
英小文字26、大小合わせて52、数字を加えて62。 この3つの数値は暗記事項である。
解答欄の桁数を検算に使う。 3桁指定なら答えは100〜999の範囲にある。
文字種を増やす効果は指数的。 種類を2倍にすると、8文字なら256倍になる。長さを1文字伸ばす効果(26倍)と比べて、どちらが効くかを議論できるようにしておきたい。
情報Ⅱでは、この計算がパスワード方針の設計につながる。総当たりに対する強さは組み合わせ数で測れるが、実際の攻撃は総当たりばかりではない。よく使われる単語を優先的に試す辞書攻撃に対しては、文字種を増やすより推測されにくい文字列にすることのほうが効く。さらに、漏洩した情報を使い回す攻撃には多要素認証で対抗する。計算量の議論だけでは守りきれないという視点が、そこで加わる。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第1章 情報社会の問題解決 に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問7 慶應義塾大学 総合政策学部 2019 情報Ⅱ(ウ)
1問題 — この設問で問われていること
二次元偶数パリティ付きのデータが表として与えられ、1ビットの誤りがあることが示されたうえで、誤りの位置を列と行で答えさせる。
表は8行8列のデータに、右端のパリティ列と最下段のパリティ行が付いた形になっている。したがって検査すべきは行が8本、列が8本である。
2解答
行を上から順に検査すると、8行のうち8行目だけが1の個数が奇数になる。
| 行 | 1の個数(データ+パリティ) | 判定 |
|---|---|---|
| 1〜7 | いずれも偶数 | 正常 |
| 8 | 奇数 | 異常 |
列を左から順に検査すると、8列のうち7列目だけが奇数になる。
| 列 | 1の個数(データ+パリティ) | 判定 |
|---|---|---|
| 1〜6, 8 | いずれも偶数 | 正常 |
| 7 | 奇数 | 異常 |
したがって誤りは、7列目の8行目のビットである。
このビットを反転させれば、7列目も8行目も1の個数が偶数に戻り、表全体が整合する。二次元パリティは1ビットの誤りを訂正できることが、この手続きから確認できる。
3解説(端的に)
行と列を機械的に全部検査し、パリティが合わない1本ずつを見つける。
偶数パリティなので、データビットとパリティビットを合わせた1の個数が偶数であれば正常、奇数であれば異常である。
作業を軽くする工夫がある。1の個数を数えるとき、0は飛ばす。行に0が多ければ数える対象は少ない。
手順を固定する。
1. 各行について、データ8個とパリティ1個の合計9個のうち1の個数を数える。奇数の行を探す
2. 各列について同様に数える。奇数の列を探す
3. 見つかった行と列の交点が誤りの位置
必ず両方が1本ずつ見つかるはずである。2本以上見つかれば、誤りが1ビットという前提と矛盾するので、数え間違いがある。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
パリティは、ビット列に1を1つ付け足して、1の個数を偶数(または奇数)にそろえる誤り検出の方式である。偶数パリティなら、データと検査ビットを合わせた1の個数が常に偶数になる。
受信側で1の個数を数え、偶数でなければ誤りがあると分かる。ただし一次元のパリティでは、誤りがあることは分かっても、どのビットかは特定できない。
そこで二次元パリティを使う。データを格子状に並べ、各行と各列の両方にパリティを付ける。
1ビットだけ誤りが生じた場合、
- そのビットを含む行のパリティが合わなくなる
- そのビットを含む列のパリティも合わなくなる
合わない行と合わない列の交点が、誤ったビットの位置である。位置が分かれば反転させて直せるので、検出だけでなく訂正までできる。
検算 — 別の道すじで確かめる
数え直すのではなく、訂正後に全体が整合するかで確かめる。
該当ビットを反転させると、8行目の1の個数が1つ変わって偶数になる。同時に7列目の1の個数も1つ変わって偶数になる。他の行と列は該当ビットを含まないので影響を受けない。 したがって表全体のパリティがすべて偶数となり、矛盾が解消する。
該当しない位置を反転させたらどうなるかも試す。たとえば8行目の別の列のビットを反転すると、8行目は偶数に戻るが、その列が新たに奇数になってしまう。一方を直すと他方が壊れるので、その位置は誤りではない。交点だけが、両方を同時に直せる唯一の位置である。
異常が1本ずつであることの確認も重要である。 行の異常が2本見つかれば、誤りは1ビットではありえない。実際には行も列も1本ずつなので、前提と整合する。数え間違いがあれば、この本数が合わなくなって気づける。
パリティ行とパリティ列自身の整合も見ておく。 表の右下隅は、パリティ行のパリティであり、同時にパリティ列のパリティでもある。両方向から計算して一致すれば、パリティの付け方自体に誤りがないことが確かめられる。
ここで効く一般則・学問的背景
一次元パリティは検出のみ、二次元パリティは1ビットの訂正までできる。 行と列の交点で位置が定まるからである。この差を押さえる。
異常な行と列は必ず1本ずつ。 2本以上見つかったら数え間違いか、誤りが1ビットではない。本数そのものが検算になる。
訂正後に全体が整合するかで検算する。 交点以外を反転させると、一方を直して他方を壊す。この非対称が交点の一意性を保証している。
0は数えず1だけ数える。 作業量が半分以下になる。
情報Ⅱでは、この先により強力な誤り訂正符号が来る。二次元パリティは1ビットの訂正はできるが、2ビットの誤りが同じ行や列に並ぶと検出すらできない場合がある。ハミング符号は少ない検査ビットで1ビット訂正を実現し、さらに強力な符号は複数ビットの訂正に対応する。どれだけの冗長さを加えれば、どこまでの誤りに対処できるかという設計の問いが、そこから始まる。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問8 慶應義塾大学 総合政策学部 2019 情報Ⅲ(ア)加算の虫食い算
1問題 — この設問で問われていること
2桁の数どうしの加算で、答えが3桁になり、その最下位の桁だけが1と与えられているという筆算が示される。
残りの桁はすべて空欄である。そのうえで、解が2つあることが本文で明示され、10進法に直したときの2つの数を答えさせる。
答えが3桁になるという事実自体が条件になっている点にも注意したい。2桁どうしの和が3桁になるには、最上位で繰り上がりが生じなければならない。
2解答
候補は2進法で10と11、すなわち10進法で2と3の2つである。組み合わせを全部調べる。
| 組み合わせ | 和(10進) | 和(2進) | 桁数 | 最下位 | 判定 |
|---|---|---|---|---|---|
| 2 と 2 | 4 | 100 | 3桁 | 0 | 不可 |
| 2 と 3 | 5 | 101 | 3桁 | 1 | 適合 |
| 3 と 3 | 6 | 110 | 3桁 | 0 | 不可 |
条件を満たすのは 2と3の組 だけである。
本文が「解は二つある」と述べているのは、足す順序を入れ替えた2通りを指す。したがって10進法で表記すると、小さいほうが 2、大きいほうが 3 となる。
3通りとも和が3桁になっているので、桁数の条件では絞れない。最下位が1という条件だけが効いている構造になっている。
3解説(端的に)
候補を全部書き出して、条件を満たすものを拾う。
2桁の2進数は最上位が1に固定されるので、候補は2つだけである。この2つから重複を許して2つ選ぶ組み合わせは3通りしかない。
各組み合わせについて和を求め、次の2つの条件で絞る。
1. 和が3桁になること
2. 和の最下位が1であること
2つ目の条件が決定打になる。2進法では、和の最下位は元の2数の最下位の和で決まる。片方が0で片方が1のときだけ、最下位が1になる。両方1なら繰り上がって0、両方0なら0である。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
虫食い算は、筆算の一部が空欄になっていて、条件を満たすように数字を埋めるパズルである。制限として、空欄には1つだけ数字が入り、最上位の桁には0が入らない。
2進法の虫食い算では、この制限が強力に効く。各桁に入りうる数字は0か1の2通りしかなく、しかも最上位は1に確定するからである。
2桁の2進数を考えると、最上位が1に固定されるので、取りうる値は次の2通りしかない。
| 2進法 | 10進法 |
|---|---|
| 10 | 2 |
| 11 | 3 |
候補が2つしかないということは、2つの数の組み合わせも高々3通り(同じ数どうしを含む)にとどまる。全部書き出して調べ尽くせる規模である。
10進法の虫食い算では各桁に10通りの候補があるため総当たりは現実的でないが、2進法なら網羅が最も確実な手段になる。
検算 — 別の道すじで確かめる
組み合わせを調べ直すのではなく、最下位の桁だけに注目するという別経路で確かめる。
2進法の加算では、最下位の桁の結果は元の2数の最下位どうしの和で決まる。
| 最下位の組 | 和 | 結果の最下位 |
|---|---|---|
| 0 と 0 | 0 | 0 |
| 0 と 1 | 1 | 1 |
| 1 と 1 | 10 | 0(繰り上がり) |
結果の最下位が1になるのは、片方が0で片方が1のときだけである。2桁の候補のうち、最下位が0なのは2進法の10、最下位が1なのは11である。したがって2数は10と11、すなわち2と3でなければならない。組み合わせを列挙しなくても、桁の性質だけで確定できた。
和を実際に筆算して確かめる。 10と11を足すと、最下位は 、次の桁は で繰り上がって0が残り上位へ1。結果は101となり、3桁で最下位が1という条件を満たす。与えられた形と一致する。
排除した組も確認する。 11と11を足せば110となり最下位が0、10と10なら100でやはり0である。どちらも与えられた形と食い違う。
ここで効く一般則・学問的背景
2進法の虫食い算は総当たりが最も確実。 各桁の候補が2通りしかないので、書き出せる規模に収まる。10進法の虫食い算とは戦い方が違う。
最上位に0は入らない。 この制限で候補が半分に減る。2桁なら2通り、3桁なら4通りである。
最下位の桁だけで決まることが多い。 加算では繰り上がりが上位へ伝わるが、最下位には繰り上がりが入ってこない。最下位から順に確定させるのが定石になる。
「解が二つある」は順序の入れ替えを指すことがある。 本質的に異なる解が2つあるのか、順序違いなのかを読み分ける。
情報Ⅱでは、この種のパズルが制約充足問題として一般化される。空欄に入る値の候補を列挙し、制約を満たすものを探す構造は、時間割の作成や配置問題と同じ枠組みで扱える。候補が少ないうちは総当たりで足りるが、規模が大きくなると制約の伝播で候補を減らしてから探索する手法が必要になる。本問で最下位から確定させたのは、まさにその伝播の最も単純な形である。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問9 慶應義塾大学 総合政策学部 2019 情報Ⅲ(イ)
1問題 — この設問で問われていること
三角形の形が与えられ、そこから解を求める式の空欄を埋めさせる。
空欄は3段構えになっている。最後の変数を求める式、下から2番目の変数を求める式、そして一般の 番目を表す式である。
具体例から一般形へ進む構成なので、最初の2つで規則を掴み、それを一般形に写す流れになっている。添字を正確に扱えるかが問われる。
2解答
最後の変数
分子が 、分母が である。
下から2番目の変数
分子の第1項が 、引く項の係数が 、分母が である。
一般形
分母にあたるのが 、括弧内の第1項が である。
添字の対応を表にまとめる。
| 位置 | 入る記号 | 規則 |
|---|---|---|
| 分母 | 行と列が一致する対角成分 | |
| 括弧内の第1項 | 同じ行の右辺 | |
| 和の中の係数 | 同じ行で、列が より後ろ |
3解説(端的に)
下の式から順に、未知数が1つになる形へ持ち込む。
最後の式には しか現れないので、右辺を の係数で割る。分子が右辺の定数、分母が対角成分になる。
下から2番目の式には と が現れる。 はすでに求まっているので、その項を右辺へ移して定数扱いにする。残った の係数で割る。
一般形では、 より後ろの変数すべてを移項することになる。移項する項は から までの和で表せる。
添字の対応を機械的に確認することが肝心である。分母は必ず対角成分、右辺の定数は同じ行の 、移項する係数は同じ行で列が後ろのものになる。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
個の未知数をもつ連立一次方程式を機械的に解く手順は、2段階に分かれる。
前進消去 — 式を足し引きして、下の式から順に変数を消していく。最終的に、 番目の式には 以降の変数だけが残る形になる。係数を並べると対角線の下側がすべて0になるので、三角形の形と呼ばれる。
後退代入 — 三角形の形から、下の式から順に変数を確定させていく。
後退代入が成立する理由は単純である。最後の式には未知数が1つしか残っていないので、割り算だけで解ける。次に下から2番目の式には未知数が2つあるが、そのうち1つはすでに求まっているので、代入すれば1つになる。これを上へ繰り返せば全部求まる。
一般の 番目については、すでに求まっている 以降を右辺へ移項してまとめ、 の係数で割ればよい。
対角成分 が0でないことが前提になる。0なら割れないので、行の入れ替えなどの例外処理が必要になる。
検算 — 別の道すじで確かめる
式を眺め直すのではなく、一般形に具体的な値を代入して、先の2式が再現されるかを確かめる。
一般形で とすると、和の範囲が から までとなり、項が1つもない空の和になる。空の和は0なので、
となり、最後の変数の式と一致する。
とすると、和の範囲は から までの1項だけになる。
こちらも下から2番目の式と一致する。一般形が特殊な場合を正しく含んでいることが確認できた。
次元の観点でも確かめる。 は係数と変数の積なので、 と同じ側に置ける量である。分母の で割れば になる。式の各項が同じ種類の量になっているので、記号の取り違えがない。
添字を入れ替えた場合を試す。 分母を としてしまうと、 が和の中でしか定義されていない添字なので式として成立しない。移項する係数を とすれば、行と列が逆になり三角形の形では0の領域を参照してしまう。どちらも破綻するので、対応が一意に決まる。
ここで効く一般則・学問的背景
後退代入は下から順に。 最後の式は未知数1つなので割り算だけで解ける。そこを起点に上へ遡る。
分母は必ず対角成分。 求めたい変数の係数がそこにある。ここを取り違えると全体が崩れる。
和の範囲は「自分より後ろ」。 すでに求まった変数だけを移項する。まだ求まっていない変数が和に入っていたら、その式は解けない。
一般形の検算は、端の値を代入して特殊形が再現されるかを見る。 空の和は0として扱う。この確認で添字のずれが検出できる。
対角成分が0でないことが前提。 0になる場合は行の入れ替えが必要で、それが例外処理にあたる。
情報Ⅱでは、この手順が数値計算の実際へつながる。理論上は必ず解けても、計算機では丸め誤差が蓄積する。対角成分が0でなくても極端に小さいと、割ったときに誤差が拡大する。そこで、各段階で絶対値が最大の行を選んで入れ替える工夫が使われる。理論的な正しさと、有限桁の計算における安定性は別問題という視点が、そこで加わる。
📘 この設問は情報Ⅱ「情報システムとプログラミング」の範囲です。『藤原進之介の ゼロから始める情報I』(KADOKAWA) には該当章はありませんが,第3章 コンピュータとプログラミング の内容がそのまま土台になります。先にそこを固めてから取り組んでください。
問10 慶應義塾大学 総合政策学部 2019 情報Ⅲ(イ)前進消去
1問題 — この設問で問われていること
1回の変形操作で係数と右辺がどう変わるかを表す2本の式があり、それぞれに空欄がある。
2本の式で共通して現れる空欄(乗数の分子と分母)と、式ごとに異なる空欄(引く相手の項)に分かれている。共通部分が乗数、異なる部分が「1番目の式のどこを持ってくるか」に対応する。
選択肢には、添字を入れ替えたもの(行と列が逆)や、添字をずらしたものが大量に並ぶ。どの添字が動いてどの添字が固定されるかを正確に押さえないと選べない。
2解答
- 乗数の分子 →
- 乗数の分母 →
- 係数の式で引く相手 →
- 右辺の式で引く相手 →
添字の動き方を整理する。
| 記号 | 行 | 列 | 役割 |
|---|---|---|---|
| (更新する行) | 1(消す変数) | 乗数の分子 | |
| 1(基準の行) | 1(消す変数) | 乗数の分母 | |
| 1(基準の行) | (更新する列) | 引く相手 | |
| 1(基準の行) | — | 引く相手(右辺) |
乗数には が現れない。 行ごとに一度決めれば、その行のすべての列で使い回せる。逆に、引く相手には が現れない。基準は常に1番目の式だからである。
この非対称が、選択肢を絞る決め手になる。
3解説(端的に)
「何倍して引くか」と「何を引くか」を分けて考える。
まず乗数を決める。消したいのは 番目の式の である。その係数は行が 、列が1なので 。基準となる1番目の式の の係数は行も列も1なので 。分子は消したい側、分母は基準側である。
次に引く相手を決める。 列目の係数を更新するのだから、1番目の式の同じ 列目を持ってくる。行は1に固定されるので になる。
右辺についても同様で、1番目の式の右辺 を持ってくる。
行の添字は1に固定、列の添字だけが で動く——この対応を掴めば機械的に決まる。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
連立一次方程式を三角形の形へ変える操作が前進消去である。狙いは、2番目以降の式から先頭の変数を消すことにある。
原理は中学で習う加減法と同じである。ある式から別の式の定数倍を引けば、特定の変数を消せる。
番目の式から を消すには、1番目の式を何倍して引けばよいかを決める。 番目の式の の係数が 、1番目の式のそれが なので、倍率は
になる。この倍率を乗数と呼ぶ。1番目の式全体をこの倍率で掛けてから引けば、 の係数がちょうど0になる。
引く操作はその行のすべての列に及ぶ。 列目の係数については1番目の式の 列目を、右辺については1番目の式の右辺を、それぞれ乗数倍して引く。
乗数は行ごとに1つであり、列を移っても変わらない。ここが理解の要になる。
検算 — 別の道すじで確かめる
式を眺め直すのではなく、目的の列で実際に0になるかを代入して確かめる。
を消すのが目的なので、 を代入する。
確かに0になる。 これが前進消去の目的そのものであり、乗数の分子と分母を取り違えていればこの打ち消しが起きない。
たとえば分子と分母を逆にして とすると、 での結果は
となり、一般には0にならない。目的を達成できないので誤りだと分かる。
行と列を入れ替えた候補も試す。 引く相手を とすると、 列目を更新するのに 行目の係数を使うことになり、行と列の役割が混線する。 が を超える範囲でも定義されている必要が生じ、式として成立しない。
右辺についても同じ検査ができる。 右辺は列を持たないので、引く相手は1番目の式の右辺しかありえない。 を引けば自分自身から自分を引くことになり、消去の意味をなさない。
変形後の形とも突き合わせる。 変形後の連立方程式では、2番目以降の式から の項が消えている。上の代入結果と一致する。
ここで効く一般則・学問的背景
乗数は「消したい係数 ÷ 基準の係数」。 分子が更新される行、分母が基準の行。この向きを間違えると打ち消しが起きない。
乗数は行ごとに一つ。列を移っても変わらない。 式の中に列の添字が現れないことが、その証拠になる。
引く相手は常に基準の行から取る。 行の添字は固定、列の添字だけが動く。
に消したい列の番号を代入して0になるか確かめる。 これが最も確実な検算である。目的が達成されているかを直接見ている。
分母が0だと成立しない。 基準の行の対角成分が0の場合は行を入れ替える必要があり、これが例外処理にあたる。
情報Ⅱでは、この手順の計算量が論点になる。1回の消去で行ごとに列の数だけ演算が必要で、それを行の数だけ繰り返し、さらに全体を変数の数だけ繰り返す。結果として に比例する計算量になり、変数が10倍になれば計算時間は1000倍になる。理論上解けることと、現実的な時間で解けることは別という認識が、大規模な数値計算では決定的になる。
📘 この設問は情報Ⅱ「情報システムとプログラミング」の範囲です。『藤原進之介の ゼロから始める情報I』(KADOKAWA) には該当章はありませんが,第3章 コンピュータとプログラミング の内容がそのまま土台になります。先にそこを固めてから取り組んでください。
問11 慶應義塾大学 総合政策学部 2019 情報Ⅳ(ア)
1問題 — この設問で問われていること
入力項目とその書式の制約が本文で細かく定められたうえで、8つの検査項目それぞれについて1件の入力だけで必ず実現できるかを答えさせる。
8項目は意図的に混ぜられている。単票内で完結するもの、照合が必要なもの、外部情報が必要なものが並び、さらに書式の指定の有無で結論が変わる対が仕込まれている。
2解答
8項目の判定は次のとおり。
| 検査項目 | 判定 | 理由 |
|---|---|---|
| 店名1と住所の対応の誤り | 0 | 正しい組を知らなければ判定できない |
| 店名1と電話番号の対応の誤り | 0 | 同上 |
| 店名1の入力忘れ | 1 | 空欄が許されていないので、空なら即検出 |
| 合計金額の入力ミス | 1 | 単価の合計と突き合わせれば単票内で完結 |
| 電話番号欄に時刻が入っている | 0 | 電話番号は桁数任意。4桁の数字も形式上は正当 |
| 購入日欄に時刻が入っている | 1 | 購入日は8桁固定、時刻は4桁。桁数で弾ける |
| 存在しない店名1 | 0 | 実在するかは外部情報が要る |
| 存在しない店名2 | 0 | 同上 |
電話番号欄と購入日欄の対比がこの設問の急所である。同じ「時刻が紛れ込む」という誤りでも、受け入れ側の書式が固定かどうかで結論が正反対になる。桁数を任意にしたことが、検査能力を自ら手放す結果になっている。
3解説(端的に)
各項目について「判定に何が要るか」を言語化してから決める。
判断の手順を固定する。
1. その誤りを見つけるのに、入力された1件の中の情報だけで足りるか
2. 足りるなら、書式の指定がその判定を可能にしているか
2が要点である。書式が固定されていれば桁数や形式で弾けるが、任意なら弾けない。同じ「別の値が入り込む」誤りでも、項目の書式によって検出できたりできなかったりする。
対応関係を先に整理しておくと速い。
| 項目 | 書式 | 空欄 |
|---|---|---|
| 店名1 | 文字列 | 不可 |
| 店名2・住所 | 文字列 | 可 |
| 電話番号 | 数字・桁数任意 | 不可 |
| 購入日 | 数字・8桁固定 | 不可 |
| 購入時刻 | 数字・4桁固定 | 不可 |
| 単価・合計金額 | 数字 | 不可 |
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
入力データの検査は、必要な情報がどこにあるかで3つに分かれる。
単票内で完結する検査 — 入力された1件のデータだけを見れば判定できる。
- 必須項目が空欄でないか
- 決められた桁数・文字種に合っているか
- 項目どうしの計算が合っているか(明細の合計と総額など)
過去の記録との照合が要る検査 — 蓄積されたデータと突き合わせて初めて判定できる。
- 同じ店名に対して以前と違う住所が入っていないか
外部の情報が要る検査 — 手元のデータをいくら見ても判定できない。
- その店が実在するか
この設問で問われているのは、1件の入力だけで必ず判定できるかである。したがって1つ目の型に当てはまるものだけが該当し、2つ目・3つ目は該当しない。
もう一点、書式の指定が検査の可否を左右する。桁数が固定されている項目なら、桁数違いの値が紛れ込んだときに検出できる。桁数が任意なら、どんな数字列も形式上は正当になり検出できない。
検算 — 別の道すじで確かめる
判定を読み返すのではなく、該当すると答えた項目について、判定手順を具体的に書き下せるかを確かめる。
店名1の入力忘れ。 入力欄が空文字列かどうかを見る。それだけで済む。手順が1行で書けるので、単票内で完結している。
合計金額の入力ミス。 明細に並んだ単価をすべて足し、入力された合計金額と比較する。一致しなければ誤り。必要な値はすべてその1件の中にある。
購入日欄への時刻の混入。 入力された文字数を数える。8でなければ誤り。時刻は4桁なので必ず引っかかる。
3つとも手順が具体的に書けた。一方、該当しないと答えた項目については、手順を書こうとすると外部の情報が必要になる。「正しい住所と比べる」「実在する店名の一覧と照合する」といった記述が必ず入り、単票内で閉じない。
電話番号欄の判定を試みる。 入力が4桁の数字だったとして、これが電話番号なのか時刻なのかを決める材料が1件の中にあるか。桁数の制約がないので形式では切れない。他の項目と比べても、電話番号として4桁がありえないとは言えない。手順が書けないので、検出できないと確定する。
もし電話番号にも桁数の指定があったらという仮定も置いてみる。たとえば10桁固定なら、4桁の入力は即座に弾ける。書式の指定が検査能力を生むという関係が、この対比で明確になる。
ここで効く一般則・学問的背景
検査は「単票内で完結」「過去との照合」「外部情報が必要」の3層に分ける。 問われているのがどの層かを最初に確認する。
必須項目の空欄チェックは、単票内で必ずできる。 最も安く確実な検査であり、真っ先に置くべきものである。
明細の合計と総額の突き合わせも単票内で完結する。 冗長に見える項目が、実は検査の材料になっている。
書式を固定すると検査能力が生まれ、任意にすると失われる。 桁数を決めておくだけで、別種の値の混入を弾ける。自由度と検査能力は引き換えの関係にある。
実在するかどうかは、手元のデータでは決して分からない。 外部の台帳と照合する仕組みが別途必要になる。
情報Ⅱでは、この整理が入力検証の設計として体系化される。安価な検査から順に当て、通ったものだけを高価な照合へ回す。単票内の検査は利用者の画面上で即座に返せるが、外部照合は通信を伴い遅い。どの検査をどこで行うかという設計判断が、使い勝手と処理負荷の両方を決める。本問はその判断材料そのものを問うている。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問12 慶應義塾大学 総合政策学部 2019 情報Ⅳ(イ)
1問題 — この設問で問われていること
10項目について、蓄積データだけで実現できるかを答えさせる。
前問と同じ文面の項目が並ぶのが特徴で、前問との差分がそのまま「データを蓄積した効果」を表す。一方、前問には無かった項目(一覧の作成)も加えられており、こちらはレコードの粒度に関わる。
冒頭の2項目には「正しい組が入力されたことがある場合」という条件が明示されている。この条件が付いているかどうかが、判定を分ける。
2解答
10項目の判定は次のとおり。
| 検査・操作 | 判定 | 理由 |
|---|---|---|
| 正しい組の記録があれば、店名と住所の対応の誤りを検出 | 1 | 過去の記録と突き合わせられる |
| 正しい組の記録があれば、店名と電話番号の対応の誤りを検出 | 1 | 同上 |
| 店名の入力忘れを検出 | 1 | 単票内で完結(前問と同じ) |
| 合計金額の入力ミスを検出 | 1 | 単価の合計と照合(前問と同じ) |
| 電話番号欄に時刻が入っているのを検出 | 0 | 桁数任意のまま。条件も付いていない |
| 購入日欄に時刻が入っているのを検出 | 1 | 桁数で判定(前問と同じ) |
| 存在しない店名1を検出 | 0 | 記録に無い=存在しない、ではない |
| 存在しない店名2を検出 | 0 | 同上 |
| 特定の1枚のレシートの情報を全て一覧 | 1 | 店名・住所・電話番号・購入日・購入時刻の組でまとまる |
| ある日に購入した品目を一覧 | 1 | 購入日で絞り込める |
冒頭2項目と、存在しない店名の項目の差が、この設問の見どころである。前者には「正しい組の記録がある場合」という条件が付いているので照合が成立する。後者には条件が無く、記録に無いだけでは判断できないので実現できない。
3解説(端的に)
前問との差分を意識しながら、項目ごとに「蓄積で解決するか」を判定する。
判定の軸は3つある。
1. 蓄積で解決するもの — 過去の正しい記録と突き合わせれば分かる
2. 蓄積しても解決しないもの — 記録に無いことが誤りを意味しない、あるいは形式上区別できない
3. もともと単票内で完結するもの — 蓄積の有無に関わらずできる
3つ目は前問で既に1と答えたものであり、蓄積があっても当然できる。前問で1だったものは、本問でも1になる。
新規の項目については、同一レシートのレコードを識別できるか、特定の項目で絞り込めるかを考える。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
前問が「1件の入力だけで何が判定できるか」を問うたのに対し、本問は蓄積されたデータ全体を使えば何ができるかを問う。使える情報が増えるので、できることも増える。
ただし増え方には限界がある。蓄積されているのは「過去に入力された内容」だけであり、それを超える知識は得られない。
- 過去に正しい組が記録されていれば、新しい入力との不一致は検出できる
- しかし、記録に無いことは「誤り」ではなく「初めて」かもしれない
この区別が本問の中心になる。データベースに無い店名が入力されたとき、それが誤入力なのか新しい店なのかは、データベースだけでは判断できない。
もう一つ、レコードの粒度を押さえる。この設計では、品目と単価の組ごとに1レコードが作られる。したがって1枚のレシートが複数のレコードに分かれる。同一レシートのレコードをどうやってまとめるかが、集計や一覧の可否を左右する。
検算 — 別の道すじで確かめる
判定を読み返すのではなく、実現できると答えた項目について、具体的な手続きを書けるかで確かめる。
対応の誤りの検出。 入力された店名と同じ値をもつ過去のレコードを探し、その住所と今回の入力を比べる。異なれば警告する。手続きが具体的に書ける。
特定のレシートの一覧。 店名・住所・電話番号・購入日・購入時刻がすべて一致するレコードを集める。それが1枚分の明細になる。ただしこの設計にはレシートを一意に識別する番号が無いため、同じ店で同じ分に複数のレシートが発行されれば区別できない。実用上は購入時刻まで一致する確率が低いので成立するが、設計上の弱点として意識しておくべきである。
ある日の品目の一覧。 購入日が一致するレコードを集め、品目の列を取り出す。単純な絞り込みで済む。
一方、実現できないと答えた項目については、手続きを書こうとすると必ず外部の情報が必要になる。「実在する店舗の一覧と照合する」という記述が入り、データベース内で閉じない。
電話番号欄の判定も再確認する。 冒頭2項目のように「正しい電話番号の記録がある場合」という条件が付いていれば照合できたが、条件は付いていない。条件の有無が結論を分けているので、問題文の文言を正確に読む必要がある。
前問との差分でも検算する。 前問で1だった3項目は本問でも1、前問で0だった5項目のうち2項目が条件付きで1に変わり、3項目は0のままである。蓄積によって何が解決し、何が解決しないかの切り分けが一貫している。
ここで効く一般則・学問的背景
蓄積データでできるのは「過去との照合」まで。 記録に無いことは、誤りとは限らない。この限界を超えるには外部の台帳が要る。
「正しい記録がある場合」という条件の有無を必ず確認する。 条件が付けば照合が成立し、付かなければ成立しない。同じ検査項目でも条件次第で結論が逆になる。
単票内で完結する検査は、蓄積の有無に関わらずできる。 前問との差分を取れば、蓄積の効果だけが浮かび上がる。
一意に識別する番号が無い設計は弱い。 属性の組み合わせで代用すると、偶然の一致で区別できなくなる可能性が残る。
情報Ⅱでは、この弱点が主キーの設計として正面から扱われる。レシートに通し番号を振り、明細を別テーブルに分けて番号で結べば、識別の曖昧さも、店名や住所が明細の数だけ重複する無駄も同時に解消する。本問の設計は、正規化されていない状態がどんな不都合を生むかを体感させる教材になっている。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問13 慶應義塾大学 総合政策学部 2019 情報Ⅳ(ウ)
1問題 — この設問で問われていること
3つの処理について、操作の順序を答えさせる。処理ごとに必要な手数が異なり、2手・4手・3手となっている。
手数がヒントになる。 必要な結合の回数と、選択・射影の有無から手数が決まるので、手数から逆に構成を推測できる。
選択肢には、似ているが対象の表が違うものが多数並ぶ。とくに結合では、どちらの表を起点にするか、どの項目でつなぐかの組み合わせが複数用意されている。
2解答
(a) 特定のレシートの品目と単価
品目も単価も品目の表だけにある。レシートIDもその表に含まれているので、結合は不要である。
1. 品目の表から、該当するレシートIDの行を選択する
2. 一時テーブルから、品目と単価を射影する
(b) 特定の店名の店舗で購入したものの店名と品目・単価
店名は店舗の表、品目と単価は品目の表にある。直接つながっていないので、レシートの表を経由して2回結合する。
1. 品目の表とレシートの表を、レシートIDで結合する
2. 一時テーブルと店舗の表を、店舗IDで結合する
3. 店名の条件で選択する
4. 店名1・店名2・品目・単価を射影する
選択を3手目に置くのが要点である。店名の列は2手目の結合で初めて揃うので、それより前には選択できない。
(c) 特定の日に買い物があった店舗の店名
購入日はレシートの表、店名は店舗の表にある。隣り合っているので結合は1回で足りる。
1. レシートの表と店舗の表を、店舗IDで結合する
2. 購入日の条件で選択する
3. 店名1を射影する
3つの処理を比べると、必要な結合の回数が0回・2回・1回と異なり、それが手数の違いを生んでいる。
3解説(端的に)
欲しい項目がどの表にあるかを確認し、必要な結合の回数を数える。
処理ごとに次の手順で組み立てる。
1. 最終的に欲しい列を挙げ、それぞれどの表にあるかを確認する
2. 1つの表で足りるなら結合は不要。複数にまたがるなら鎖をたどる回数が結合の回数になる
3. 絞り込む条件がどの表の項目かを確認し、その項目が揃った時点で選択する
4. 最後に射影する
手数と照合する。 組み立てた操作の数が指定された手数と一致しなければ、どこかで構成を誤っている。
「一時テーブル」を起点にできるのは2手目以降である。1手目では実在する表を指定しなければならない。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
正規化された設計では、情報が複数の表に分かれて格納される。欲しい項目が別々の表にある場合、共通する項目でつなぎ直す必要がある。
本問の3つの表は、鎖のようにつながっている。
店舗の表と品目の表は直接つながっていない。 両者の項目を同時に得たければ、間のレシートの表を経由しなければならない。
操作は3種類ある。
| 操作 | 働き | 表の変化 |
|---|---|---|
| 選択 | 条件に合う行を取り出す | 行が減る |
| 射影 | 指定した列だけ取り出す | 列が減る |
| 結合 | 共通項目で2つの表をつなぐ | 列が増える |
結果は毎回「一時テーブル」に上書きされるので、前の操作の結果を次が受け取る形で連なる。
順序には制約がある。射影は最後に行う。途中で列を削ると、後で必要になる項目まで失われるからである。選択の条件に使う列も、その時点で存在していなければならない。
検算 — 別の道すじで確かめる
操作列を追い直すのではなく、各段階で必要な列が揃っているかを確かめる。
(b)の3手目を検査する。 選択の条件に使う店名の列は、店舗の表にしかない。1手目の結合では品目の表とレシートの表しかつながっていないので、この時点では店名がない。2手目で店舗の表をつないで初めて条件に使える。 したがって選択を1手目や2手目に置くことはできない。
(c)の順序も同様に確かめる。 購入日で先に絞りたくなるが、条件に使える表を指定する操作を1手目に置くと、その後の結合で店名をつなぐ必要が残り、3手に収まらない。結合を先に済ませてから選択すれば、3手で完結する。
射影の位置も検査する。 もし(b)で射影を早めに行うと、店名の列を残しても店舗IDが消えてしまい、以降の結合ができなくなる。射影は必ず最後という原則が、ここで具体的に効いている。
手数との照合。 (a)は選択1回と射影1回で2手、(b)は結合2回・選択1回・射影1回で4手、(c)は結合1回・選択1回・射影1回で3手。すべて指定された手数と一致する。 手数が合わない構成は、その時点で誤りだと判定できる。
鎖の構造でも確かめる。 店舗の表と品目の表の間には、必ずレシートの表が挟まる。両者の項目を同時に使う処理では、結合が2回必要になる。(b)だけが4手なのはこのためである。
ここで効く一般則・学問的背景
欲しい列がどの表にあるかを最初に確認する。 1つの表で足りれば結合は不要である。
直接つながっていない表は、間の表を経由する。 鎖をたどる回数が結合の回数になる。
選択の条件に使う列は、その時点で揃っていなければならない。 結合の前には選択できない項目がある。
射影は最後。 途中で列を削ると、後で必要な項目が失われる。
手数が指定されていたら、それが検算になる。 組み立てた操作の数と一致するかを必ず確認する。
1手目には実在する表を、2手目以降は一時テーブルを指定する。 存在しない表は起点にできない。
情報Ⅱでは、この順序が問い合わせの最適化として扱われる。理論上は選択と結合の順序を入れ替えても結果は同じだが、先に絞り込んでから結合するほうが中間結果が小さくなり、処理が軽くなる。本問では条件に使う列が結合後にしか現れないため先に絞れないが、可能な場合は選択を前倒しするのが定石になる。同じ結果を得る道筋が複数あり、その中で効率の良いものを選ぶという視点が、そこから始まる。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。この設問でつまずいたら,まず該当章を読み直してください。
問14 慶應義塾大学 総合政策学部 2019 情報Ⅴ(ア)
1問題 — この設問で問われていること
探索の手続きが疑似コードで示され、6箇所が空欄になっている。
初期化が2箇所、繰り返しの対象が2箇所、集合の更新が1箇所、終了条件が1箇所である。
選択肢には、 と 、 と 、 と のように、添字や変数を1つ替えただけのものが多数並ぶ。どの段階でどの変数が何を指しているかを正確に追う必要がある。
2解答
| 空欄 | 答え | 理由 |
|---|---|---|
| の初期値 | 0手で到達できるのは出発点のみ | |
| の初期値 | 空集合 | 毎回空にしてから溜める |
| 展開する対象 | 1つ前の段階の各状態から広げる | |
| 各要素から取る集合 | 展開元 の隣接集合 | |
| 新しい状態の追加 | その回の集合に加える | |
| 到達不可能の判定 | 空集合 | 新しい状態が1つも現れなかった |
処理の流れを追うと次のようになる。
1. 出発点だけを0手の集合に入れる
2. 手数を1増やし、その回の集合を空にする
3. 前の回の各状態から1手動かし、未出現ならその回の集合に加える
4. 途中で目標に一致したら、その時点の手数を出して終了
5. その回の集合が空なら、到達不可能として終了
6. 2へ戻る
に加えるのと に加えるのが同時である点も押さえたい。 は「これまでに現れた全部」、 は「今回の段階のもの」で、役割が違う。
3解説(端的に)
各変数が「いつの」「何を」表すかを確認してから埋める。
- は0手で到達できる状態、すなわち出発点だけ
- は各回の始めに空にしてから溜めていく
- 展開の元になるのは1つ前の段階の集合
- 各要素から1手で行ける先を調べるので、その要素の隣接集合を取る
- 新しく見つかった状態はその回の集合に追加する
- 何も追加されなければ空のまま残る
変数の役割を取り違えないことが最大の注意点である。 は展開する元、 は展開して得られた先。隣接集合を取る対象は であって ではない。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
最小の手数を求めたいとき、近いものから順に調べる探索が使われる。手数を1手ずつ増やしながら、その手数で到達できる状態をすべて洗い出していく方式である。
記号を整理する。
| 記号 | 意味 |
|---|---|
| 出発点の状態 | |
| 目標の状態 | |
| 状態 から1手で到達できる状態の集合 | |
| ちょうど 手で到達できる状態の集合 | |
| これまでに現れた状態をすべて集めた集合 |
は、 の各要素から1手ずつ動かして得られる。したがって
という形で作られる。
すでに現れた状態を除くのが要点である。除かなければ、同じ状態を何度も調べて処理が終わらない。しかも、より少ない手数で到達済みの状態を再び数えることになり、最小性が崩れる。
を見つけた瞬間の が答えになる。近い順に調べているので、最初に見つかった時点が最小である。
が空になったら、それ以上新しい状態が現れないことを意味する。目標に届かないまま打ち止めなので、到達不可能と判定できる。
検算 — 別の道すじで確かめる
手続きを追い直すのではなく、除外の仕組みを外したらどうなるかで確かめる。
すでに現れた状態を除かない場合。 出発点から1手動かした状態を、次の段階で戻すことができる。すると出発点が2手目の集合に入り、さらに3手目でまた1手先が入る。同じ状態が無限に現れ、処理が終わらない。 除外が不可欠であることが分かる。
より少ない手数で到達済みの状態を再び入れた場合。 その状態を経由する経路が、実際より長い手数で数えられる。目標がその先にあれば、求まる手数が最小でなくなる。 近い順に調べる意味が失われる。
最小性も確かめる。 目標が見つかるのは、それを含む集合が作られた回である。 回目の集合には 手で到達できる状態しか入らず、しかも 手以下で到達できるものは除外されている。したがって最初に見つかった時点の が最小の手数になる。
終了条件も検査する。 ある回の集合が空になったということは、前の回のどの状態から1手動かしても、すべて既出だったということである。これ以上新しい状態は現れないので、目標が未発見なら永遠に見つからない。 到達不可能と判定してよい。
変数の取り違えも試す。 隣接集合を とすると、 は展開して得られた先なので、その先の先を調べることになる。1回の繰り返しで2手進んでしまい、手数の数え方が壊れる。
ここで効く一般則・学問的背景
最小の手数を求めるなら、近い順に調べる。 手数を1つずつ増やして層ごとに洗い出せば、最初に見つかった時点が最小になる。
すでに現れた状態を必ず記録して除く。 除かなければ無限に巡回し、最小性も崩れる。
「今回の層」と「これまで全部」は別の集合。 役割を混同すると、層の切れ目が消えて手数が数えられなくなる。
層が空になったら打ち止め。 新しい状態が現れなければ、それ以上探しても無駄である。
展開元と展開先を区別する。 隣接集合を取る対象は展開元。ここを取り違えると1回で2手進む。
情報Ⅱでは、この探索が状態空間の広がりという問題に直面する。3×3のパズルでも配置は数十万通りあり、層を進むごとに調べる数が急激に増える。そこで、目標にどれだけ近いかの見積もりを使って有望な方向を優先する手法が導入される。すべてを均等に調べるか、見込みのある方向に絞るかという選択が、実用的な探索の設計では中心的な論点になる。
📘 この設問は情報Ⅱ「情報システムとプログラミング」の範囲です。『藤原進之介の ゼロから始める情報I』(KADOKAWA) には該当章はありませんが,第3章 コンピュータとプログラミング の内容がそのまま土台になります。先にそこを固めてから取り組んでください。
問15 慶應義塾大学 総合政策学部 2019 情報Ⅴ(イ)(ウ)
1問題 — この設問で問われていること
2つの問いに分かれている。記録の集合が何を表すかを答える問いと、その記録を使わないように変更したら何が起きるかを答える問いである。
後者は、目標に到達できる場合と到達できない場合を分けて問う。この分け方自体が答えの手がかりになっており、両者で結果が違うことを示唆している。
選択肢には「時間がかかる」「値がずれる」「判定が逆になる」「終わらない」といった、異なる種類の不具合が並ぶ。どの種類の不具合が起きるかを見極める必要がある。
2解答
記録の集合が表すもの
すでに現れた(探索の対象になったことがある)状態の集合 である。
新しい状態が見つかるたびに追加され、消されることはない。したがって「まだ現れていないもの」の集合ではないし、「2回以上現れたもの」でもない。最小手数の経路に限らず、探索の過程で触れたすべての状態が入る。
記録を使わないように変更した場合
| 場合 | 起きること |
|---|---|
| 目標に到達できる | 正しい結果が得られるが、元より時間がかかる場合がある |
| 目標に到達できない | 無限に繰り返し、手続きが終了しない場合がある |
到達できる場合に答えが正しいままなのは、層の意味が保たれるからである。層 には 手で到達できる状態しか入らない。目標が最小 手を要するなら、 より小さい層には現れようがない。最初に見つかる層は のままである。
ただし層には、より少ない手数で到達済みの状態も重複して入る。調べる量が膨らむので、時間だけが余計にかかる。
到達できない場合に止まらないのは、打ち止めの条件が成立しなくなるためである。層が空になるのは「新しい状態が1つも現れなかった」ときだが、記録を使わなければ既出のものも入るので、層は常に空でない。判定に到達しないまま繰り返し続ける。
3解説(端的に)
記録の集合の中身は、更新される場面から特定する。 新しい状態が見つかったときに追加されるので、一度でも現れた状態が溜まっていく。まだ現れていないものの集合でも、最小手数の経路上の状態だけでもない。
変更後の挙動は、2つの場合に分けて追う。
到達できる場合。 層に重複が入るので調べる量は増える。しかし、目標が現れる層は変わらない。答えは正しいが、余計に時間がかかる。
到達できない場合。 層が空になる条件が満たされなくなる。どの状態からも動かせる以上、次の層には必ず何かが入る。打ち止めの判定に永遠に届かない。
「値がずれる」「判定が逆になる」といった選択肢は、層の深さと目標の出現タイミングの関係を考えれば排除できる。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
層ごとに探索する手続きには、2種類の集合が登場する。役割がまったく違うので区別が要る。
| 集合 | 中身 | 更新のされ方 |
|---|---|---|
| 層の集合 | その手数ちょうどで到達できる状態 | 毎回空にして作り直す |
| 記録の集合 | これまでに一度でも現れた状態 | 消さずに溜め続ける |
記録の集合が果たす役割は2つある。
同じ状態を二度調べない。 すでに現れた状態を層に入れないので、探索が無駄に膨らまない。
終了を保証する。 新しい状態が現れなくなれば層が空になり、打ち止めだと判定できる。
この2つ目が決定的である。記録を取らなければ、層が空になることがない。 どの状態からも1手は動かせるので、次の層には必ず何かが入り続ける。すると打ち止めの判定に到達せず、手続きが止まらない。
一方、到達できる場合の正しさは記録がなくても保たれる。層 には 手で到達できる状態しか入らないので、目標が最小手数より早い層に現れることはない。最初に見つかる層は変わらない。
検算 — 別の道すじで確かめる
判定を読み返すのではなく、それぞれの不具合が起きうるかを個別に検査する。
「答えが小さくなる」可能性を試す。 目標が最小 手を要するなら、 未満の手数では物理的に到達できない。層 は 手で到達できる状態の集合なので、 の層に目標が入ることはない。小さい値が出ることはありえない。
「答えが大きくなる」可能性も試す。 層 には 手で到達できる状態がすべて入る。記録を使わなくても、目標はこの層に必ず現れる。見落として次の層に持ち越されることはない。
「到達不可能と誤判定される」可能性。 誤判定が起きるには層が空になる必要があるが、記録を使わない変更では層が空にならない。この不具合は起きえない。
「数値が出るべきでないのに出る」可能性。 到達できない目標が層に現れることはない。手続きは止まらないだけで、誤った数値を出すことはない。
こうして4種類の不具合を個別に排除すると、残るのは「時間がかかる」と「終わらない」の2つになる。前者が到達できる場合、後者が到達できない場合に対応する。
前問との整合も確認する。 前問では記録を使う手続きが最小手数を与えることを確かめた。本問はその記録を外した場合を問うており、最小性は保たれるが停止性が失われるという結論になる。正しさと停止性は別の性質であり、片方だけが壊れることがある。
ここで効く一般則・学問的背景
記録の集合は「これまでに現れた全部」。 層の集合と混同しない。片方は溜め続け、もう片方は毎回作り直す。
探索の正しさと停止性は別の性質。 答えが正しくても止まらないことがあり、その逆もある。両方を別々に確かめる。
層の意味が保たれるなら、最小性は崩れない。 重複が入っても、その層に到達できない状態が紛れ込むわけではない。
止まらない原因は、終了条件が成立しなくなること。 条件の成立可能性を検査すれば、無限に続くかどうかが判定できる。
不具合の種類を一つずつ排除する。 「小さくなる」「大きくなる」「判定が逆」「終わらない」を個別に検討すれば、残るものが答えになる。
情報Ⅱでは、この区別がアルゴリズムの評価として体系化される。正しい答えを返すか、必ず停止するか、どれだけの時間と記憶を使うか——これらは独立した評価軸である。記録を持つことは記憶量を増やす代償を伴うが、その代わりに停止性と効率を得ている。何を差し出して何を得るかという交換の構造が、設計判断の中身になる。
📘 この設問は情報Ⅱ「情報システムとプログラミング」の範囲です。『藤原進之介の ゼロから始める情報I』(KADOKAWA) には該当章はありませんが,第3章 コンピュータとプログラミング の内容がそのまま土台になります。先にそこを固めてから取り組んでください。
慶應義塾大学の他の日程・年度
他大学の「情報」過去問 解答解説
- 日本大学 文理学部 公開問題 2025全3問
- 北海道情報大学 一般選抜 サンプル問題 2025全14問
- 東北学院大学 一般選抜 サンプル問題 2025全12問
- 武蔵野大学 全学部統一選抜 2026全12問
- 武蔵野大学 一般選抜A日程(2/4) 2026全13問
- 武蔵野大学 一般選抜A日程(2/6) 2026全14問
- 京都産業大学 公募推薦入試 2026全12問
- 京都産業大学 一般選抜入試(前期日程) 2026全25問
- 京都産業大学 情報入試模擬試験 2024全7問
- 明治大学 情報コミュニケーション学部 情報総合問題 2020全7問
情報ラボの学習コンテンツ
- 2025年度 共通テスト「情報Ⅰ」本試験 全問解説全18問・問題文つき
- 2026年度 共通テスト「情報Ⅰ」本試験 全問解説全18問・問題文つき
- 令和7年度 共通テスト「情報Ⅰ」試作問題 全問解説全19問・問題文つき
- 2025年度 共通テスト「情報Ⅰ」追試験 全問解説全19問・問題文つき
- 2026年度 共通テスト「情報Ⅰ」追試験 全問解説全24問・問題文つき
- 令和7年度 共通テスト「情報」サンプル問題 全問解説全11問・問題文つき
- 共通テスト「情報Ⅰ」オリジナル予想問題全10問・問題文つき
- 大学入試「情報」過去問プリント 一覧12大学・全149問
- 情報Ⅰ 最強120講義単元別の体系学習
- 情報Ⅰ・情報関係基礎の過去問PDF一覧共通テスト・私大
- 情報ラボとは(情報Ⅰ・Ⅱ専門オンライン個別指導)
- 情報ラボの料金とご利用の流れ
- 社会人向け「情報Ⅰ」講座50分×12コマ
この解説は、オンライン数学専門塾数強塾の情報科目専門塾「情報ラボ」が制作しています。監修は藤原進之介(株式会社数強塾 代表取締役/『藤原進之介の ゼロから始める情報I』KADOKAWA 著者)。共通テスト「情報Ⅰ」で得点するための解き方を、方針・解答・独立した検算・一般則の順で示しています。