情報Ⅰ 最強120講義

アルゴリズムの選択と計算量|情報Ⅰ 最強120講義 第116講

数強塾グループの一流講師陣 一流のライブ授業×最高品質の映像授業×サボれないコーチング

こんにちは、数強塾代表の藤原進之介です。この記事は参考書『藤原進之介の最強120講義』の第116講「アルゴリズムの選択と計算量」のWeb版です。第6部(情報Ⅱへの橋)に入る講で、共通テストでの重要度はC——情報Ⅱは共通テストの出題科目ではないからです。

第57講(計算量の考え方)で、伸び方で測るという考え方を通しました。この講はその続きです。情報Ⅰの計算量は「どちらが速いか」の比較でしたが、情報Ⅱの計算量は「できるかできないか」の境界になります。 国の教材を全部数え、実際にプログラムを走らせて確かめた結果を書きます。

1. この講の問い

情報Ⅰの計算量は「どちらが速いか」を比べる道具だった。情報Ⅱでは、計算量は何になるのか。

2. 結論

この講の結論

情報Ⅱでは、計算量は速さの比較ではなく「できるかできないか」の境界になります。素直に全ての組合せを調べる方法は現実的な時間に収まらないので、工夫のほうに名前が付く(アプリオリアルゴリズム)。そして情報Ⅱでは、アルゴリズムは書くものから選ぶものに変わります。国の教材で「アルゴリズム」という語が置かれている場所が、プログラミングの章からデータ分析の章へ丸ごと引っ越しているのです。
ただし「効率」という語だけは逆方向に動きます。情報Ⅱの「効率」は実行の効率ではなく開発の効率。ここを取り違えると全部ずれます。

3. なぜそうなるのか

3-1. まず、語がどこにあるかを数えました

私は学習指導要領解説 情報編と、情報Ⅰ・情報Ⅱの教員研修用教材を全部テキスト化して数えました(調べた範囲は第6章に明記します)。出てきた表がこれです。

解説
情報Ⅰ節
解説
情報Ⅱ節
解説
専門教科
情報Ⅰ
教材
情報Ⅱ
教材
アルゴリズム 23 0 30 60 22(第3章後半18・第4章0
計算量 0 0 0 0 3(全て第3章後半)
線形探索 0 0 0 22 0
二分探索 0 0 0 22 0
流れ図 0 1 0 20 0
フローチャート 1 0 3 7 0
アクティビティ図 1 0 0 1 10(全て第4章)
ムーアの法則 0 0 0 0 3
性能テスト 0 0 0 0 6(全て第4章)
非機能 0 0 0 0 8(全て第4章)

この表は、ひとつの事実をはっきり示しています。

数えて分かったこと

情報Ⅱの「情報システムとプログラミング」の章に、「アルゴリズム」という語が1度も出てきません。

情報Ⅰの教材では、第3章「コンピュータとプログラミング」だけで「アルゴリズム」が49回、線形探索と二分探索が22回ずつ、流れ図が20回出ます。ところが情報Ⅱでは、プログラミングの章(第4章)の「アルゴリズム」は0。「アルゴリ」と短く切って検索しても0なので、PDFの語の分断でもありません。「手順」という別の語で書き換えられているのかとも疑いましたが、第4章の「手順」5件はバッチ処理の処理手順・モジュール分割の手順・テスト手順で、アルゴリズムの意味ではありませんでした。

代わりに、情報Ⅱ教材の「アルゴリズム」22件のうち18件が第3章後半、つまりデータサイエンスの章に集まっています。

3-2. だから「書く」から「選ぶ」に変わる

なぜ引っ越したのか。第3章後半の学習16(クラスタリングによる分類)の【研修の目的】に、はっきり書かれています。

教師なし学習によるクラスタリングやアソシエーション分析による結果を評価し,必要に応じてアルゴリズムを選択するなどの分析方法の改善について理解し,アルゴリズムの評価や改善について考えさせる授業ができるようになる。文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第3章 後半 学習16(令和2年)

選択する。評価する。改善する。 「作る」ではありません。
情報Ⅰでは、線形探索と二分探索を自分で書き、比較回数を数えました。情報Ⅱでは、既にあるアルゴリズムの中から場面に合うものを選び、選んだ結果を評価します。だから第4章から「アルゴリズム」が消え、第3章後半に集まるのです。

ここで大事なのは、「選ぶ」という発想そのものは情報Ⅰの側に既にあるということです。学習指導要領解説 情報編、共通教科の情報Ⅰ(3)イ(イ)にこうあります。

コンピュータを効率よく活用するために,アルゴリズムを表現する方法を選択し正しく表現する力,アルゴリズムの効率を考える力,プログラムを作成する力…その際,処理の効率や分かりやすさなどの観点で適切にアルゴリズムを選択する力,表現するプログラムに応じて適切なプログラミング言語を選択する力…を養う文部科学省「高等学校学習指導要領(平成30年告示)解説 情報編」平成30年7月

同じア(イ)には「アルゴリズムによって処理の結果や効率に違いが出ること」ともあります。つまり国は、情報Ⅰの段階で既に「効率を考えて選べ」と書いている。情報Ⅱで新しく足されるのは選ぶという行為ではなく、選ばないと終わらない規模のデータのほうです。

3-3. 情報Ⅱの計算量は「できるかできないか」の境界になる

情報Ⅱ教材で「計算量」が出るのは3か所だけ。そのうち中心はここです。第3章後半、学習16のアソシエーション分析。

実際には商品は膨大な種類があるため,全ての組み合わせを考えることは計算量が多くなり,計算時間も現実的な時間で収まらなくなる。そこで,一定の基準以上の支持度や確信度の場合だけ計算するなどの工夫が必要である。このような工夫により計算量を減らす方法をアプリオリアルゴリズムという。同 第3章 後半 学習16「3 アソシエーション分析」

情報Ⅰの計算量は「線形探索より二分探索が速い」という比較でした。ここでの計算量は比較ではありません。「終わるか、終わらないか」です。

そして注目してほしいのは、この文が手法の名前を導入する文になっていることです。アプリオリアルゴリズムは、新しい発見をするための道具ではありません。全部調べたら終わらないから作られた、逃げ道に付いた名前です。情報Ⅱでは、計算量が手法の存在理由そのものになっている。これが情報Ⅰとの最大の違いです。

3-4. 「速い機械を買う」では解決しない理由が、教材の中にある

「終わらないなら、速いコンピュータを使えばいい」と考えたくなります。この反論に、情報Ⅱ教材は自分の第1章で先に答えています

これ以後,40年以上にわたり「半導体素子に集積されるトランジスタ数は,18カ月から24カ月で倍増する」という「ムーアの法則」の裏付けとなったといわれている。このことは,言い換えると,半導体の性能は,おおよそ2年後には倍になり同 第1章 学習1「1 コンピュータの処理能力の向上」

計算機の性能も指数関数で伸びます。ですが、全ての組合せを調べる仕事量も指数関数です。ここで簡単な計算をしてみましょう。

商品を10種類増やすと、組合せの数は 210 = 1,024倍になります。ムーアの法則が2年で2倍なら、1,024倍の性能を得るには 10回の倍増=約20年(18か月なら約15年)かかります。

ここが芯です

商品を10種類増やすだけで、ムーアの法則15〜20年分が消えます。

しかも同じ教材は、その先も書いています。

2000年代後半になると,半導体の微細化が限界に近づいていることや,消費電力の関係で周波数を上げることが難しくなっているといわれ始めた。そのため,従来の方法ではなく,1チップに複数のコアを集積し,並列動作させることによって性能を向上させる方法がとられたり,また,量子コンピュータなど,従来とは動作原理の異なる技術によって性能を向上させたりする研究も進められている。同 第1章 学習1

さらに同じ第1章には「コンピュータの演算速度は指数関数的に向上していくと見られている」と書きつつ、「学習1でも触れた『ムーアの法則』が今後もその通りに続いていくかどうかは議論が分かれているようであるが」という留保まで置かれています。

つまり、待っても来ないかもしれない。残るのはアルゴリズムを選ぶことだけ。 この講のタイトルが「アルゴリズムの選択と計算量」である理由はここにあります。

3-5. 「冬の時代」を正確に読む——理論の敗北ではないが、計算資源だけの話でもない

情報Ⅱ教材には「冬の時代」が6件あります。私はこの6件を1件ずつ読みました。そして、原因が2種類に分かれていることが分かりました。

第3章後半(学習17・1件)は、ニューラルネットワークの話です。

ニューラルネットワークは,膨大な計算量とその計算時間が大量であること,隠れ層の重み付けを決めるアルゴリズムの難しさから長らく非現実的とされた(冬の時代)同 第3章 後半 学習17

原型が発表されたのは1943年。理論のほうが半世紀先にありました。そして教材はこう続けます。「その後,計算処理を分散して実行できるGPUの登場と,コンピュータの計算処理速度の向上により重み付けの調整が人の手から離れ…(自律学習)が可能となった」。

同じ考え方が、計算機が速くなっただけで実用になった。 理論と資源の関係を、これほど短く示した文はなかなかありません。

ところが第1章(5件)の「冬の時代」は、まったく別の理由で説明されています。人工知能の第一次・第二次ブームの話です。「チェスのようなルールのある限定したもの以外では条件を付けることが難しく,冬の時代を迎えることになった」「『常識』や『抽象的な表現』を体系付けたり学習させたりすることが非常に難しく,やはり冬の時代を迎えることになった」。こちらは計算量の話ではありません。知識をどう表すかという壁です。

よくある誤解

「AIの冬の時代は計算資源が足りなかったせいだ」と一括りにするのは、この教材の記述に照らすと言いすぎです。正確には、ニューラルネットワークの冬は計算量とアルゴリズムの両方が原因で、AI全体の冬は知識表現が原因。教材自身が2種類を書き分けています。

3-6. 「効率」という語の罠

ここが最大の落とし穴です。情報Ⅱの資料で「効率」という語を見たら、まず実行速度ではないと疑ったほうがいい

学習指導要領解説の情報Ⅱ節(共通教科)に「効率」は4件あります。私は4件とも中身を見ました。全数がこれです。

  • 「情報システムをいくつかの機能単位に分割して制作し統合するなど、開発の効率や運用の利便性などに配慮して設計する」(2件)
  • 「どのような関数を利用すれば効率的な開発ができるか判断する力」
  • 効率的な経営のために必要なPOSシステム」

実行速度の意味は0件。

情報Ⅱ教員研修用教材の第4章にも「効率」は15件あります。これも15件とも見ました。開発の効率化、モジュール再利用による開発の効率化、言語を選べば効率よく目的を達成する、テストを効率的に、チームの作業効率、効率的に開発を進める工夫、在庫管理及び店舗管理の効率化、効率よく営業できる利便性——やはり実行速度の意味は0件でした。

では、情報Ⅱで実行の速さはどこへ行ったのか。別の語に引っ越しました。

  • データ分析の側では「計算量」(第3章後半3件)
  • 情報システムの側では「非機能」(第4章8件)と「性能テスト」(第4章6件)

第4章はこう書きます。「非機能テストと呼ばれるテストでは、プログラムの機能ではなく処理速度や反応速度など、ユーザーが操作する際に不満がないレベルのものであるかをテストしていく」。情報Ⅰでは机の上で数えていた回数が、情報Ⅱでは満たすべき要件になり、試験して確かめる対象になるのです。

同じ語が別の意味を持つ

「効率」は、情報Ⅰでは実行の効率、情報Ⅱでは開発の効率を指します。 これは私の解釈ではなく、両方を全数確認した結果です。

3-7. なぜ情報Ⅱは df.sort_values() の1行で済ませるのか

情報Ⅰ教員研修用教材の第3章は、整列を自分で書かせます。比較回数も数えさせます。ところが情報Ⅱ教員研修用教材の第3章前半 学習12 は、都道府県の人口増減率を並べ替えるところを、こう済ませます。

df.sort_values('増減率', ascending=False) によりデータをソートする。ascending=False とすることで、降順でソートすることができる同 第3章 前半 学習12

中身は一切書きません。 どんな整列アルゴリズムが動いているかも書きません。情報Ⅱ教材で「線形探索」「二分探索」が0件、「流れ図」「フローチャート」が0件になるのはこのためです。

これは手抜きではありません。道具として使う段階に来ているからです。データ分析の主題は「どう並べ替えるか」ではなく「並べ替えて何を見るか」。毎回ソートを自作していたら分析は進みません。

ただし

中身を知らないと、遅いときに手が出ません。 ライブラリの1行は、速い日は何も問題を起こしません。問題が起きるのはデータが100倍になった日です。そのとき「なぜ遅いのか」「どこを変えれば速くなるのか」を考えられるのは、n2 と n log n の違いを知っている人だけです。

そして面白いことに、国はその穴を別の場所で埋めています。

文部科学省が公開している高等学校「情報Ⅰ」オンライン学習会 第7回(令和5年1月27日実施、講師:大阪電気通信大学 教授・副学長 兼宗進)の配付資料に、「大量のデータを扱うアルゴリズム(整列)」というスライドがあります。そこにはこう書かれています。

データが増えると計算量(計算時間)が爆発的に増える
整列は n2 になると実用的でない
n2(緑線)バブル/選択/挿入など / n log n(黄線)クイック/マージなど
実際の式は「an2+bn+c」のようになるが、緑線の増加は n2 が大きく影響するため、a,b,c,n は無視して O(n2) のように考える文部科学省 高等学校「情報Ⅰ」オンライン学習会【第7回】配付資料(令和5年1月27日)

O記法です。 第57講で私は「O記法は高校の一次資料には無い」と書きましたが、これは正確には学習指導要領解説と教員研修用教材の範囲での話でした。文部科学省が同じサイトに置いている研修資料には、O(n2) がはっきり書かれています。訂正します。

しかもこの資料はほぼ全ページが画像で、テキスト抽出では9MBのPDFから6KBしか取れません。全文検索では見つかりません。私は該当ページを画像として開いて目で確認しました。「一次資料に0件」という主張が、いかに壊れやすいかの実例です。この本の空白リストには、この限界を必ず注記します。

4. 手で確かめる

4-1. まず教材の8枚のレシートを自分で計算し直す

情報Ⅱ教員研修用教材 学習16 は、8枚のレシートでマーケットバスケット分析を説明します。

レシート 買ったもの
1 コーヒー、パン、弁当
2 コーヒー、パン、弁当
3 コーヒー、パン
4 コーヒー、弁当
5 お茶、弁当、パン
6 お茶、弁当
7 紅茶、弁当
8 紅茶、パン、弁当

指標は3つ。支持度は全レシート8枚のうち何枚に入っていたか。確信度は X を買った人のうち Y も買った割合。リフト値は確信度を Y の支持度で割った値です。

数えるだけで確かめられます。コーヒーは4枚(1・2・3・4)、パンは5枚(1・2・3・5・8)、弁当は7枚、お茶と紅茶は2枚ずつ。

  • supp(コーヒーとパン) = 3/8 = 0.375(1・2・3)
  • conf(コーヒー→パン) = 3/4 = 0.75
  • lift(コーヒー→パン) = 0.75 ÷ (5/8) = 6/5 = 1.2
  • lift(コーヒー→弁当) = 0.75 ÷ (7/8) = 6/7 ≒ 0.857

教材の数値と一致します。リフト値が1より大きいと「一緒に買われやすい」、1を下回ると「推奨する根拠になりにくい」。

4-2. 教材の解答例に1か所ずれがあります

演習4は「パンを買った人に薦めるものを検討しましょう」です。私は先に自分で計算しました。

X supp(パンとX) conf(パン→X) supp(X) lift(パン→X)
コーヒー 3/8 = 0.375 3/5 = 0.6 4/8 = 0.5 6/5 = 1.2
弁当 4/8 = 0.5 4/5 = 0.8 7/8 = 0.875 32/35 ≒ 0.914
お茶 1/8 = 0.125 1/5 = 0.2 2/8 = 0.25 4/5 = 0.8
紅茶 1/8 = 0.125 1/5 = 0.2 2/8 = 0.25 4/5 = 0.8

そのうえで文部科学省が公開している演習解答(第3章 学習16 演習4)を見たところ、弁当の行の supp(パンと弁当) が 3/8=0.375 と書かれていました。パンと弁当が両方入っているレシートは 1・2・5・8 の4枚なので、正しくは 4/8 = 0.5 です。

これは表の中だけで矛盾が証明できます。確信度は supp(パンと弁当) ÷ supp(パン) ですから、もし 3/8 なら (3/8)÷(5/8) = 3/5 = 0.6 になるはずです。ところが同じ行の確信度は 4/5 = 0.8 と書かれている。同じ行の2つの数が両立しません。 おそらく1つ上のコーヒーの行からの転記ミスでしょう。

責める話ではありません。指標を3つ手で計算するだけで、国の資料の誤記に自力で気づけるという話です。結論(薦めるのはリフト値の高いコーヒー)は変わりません。

4-3. 組合せの数を並べる

商品が n 種類あるとき、空でない組合せ(アイテム集合)の数は 2n − 1。X→Y の形のルールの数は 3n − 2n+1 + 1 です。

n 組合せ(2n−1) ルール(3n−2n+1+1)
10 1,023 57,002
20 1,048,575 3,484,687,250
30 1,073,741,823 205,888,984,611,002
40 1,099,511,627,775 12,157,663,260,033,673,250
50 1,125,899,906,842,623 717,897,985,440,052,775,085,002

上の例は商品が5種類だったので、組合せは 25 − 1 = 31 通りしかありません。手で全部書けます。商品が30種類になると10億通り。50種類で1,000兆通り。 教材が言う「実際には商品は膨大な種類がある」は、この列のことです。

(式は n = 3, 4, 5, 10 で実際に全列挙して照合しました。たとえば n=10 なら列挙1,023/式1,023、ルールは列挙57,002/式57,002 で一致します。)

4-4. 全探索を本当に走らせてみる

数字を眺めるだけでは足りません。実際に走らせました。レシート300枚を固定の乱数種で作り、全ての空でないアイテム集合の支持度を数えるプログラムを、n を変えて回します。

def brute(n, T):
    checked = 0
    for s in range(1, 1 << n):        # 空でない全ての組合せ
        checked += 1
        c = 0
        for t in T:                   # 全レシートを見る
            if t & s == s:
                c += 1
    return checked

実行結果(2026年8月3日、当方の Python 3、レシート300枚)。

n=10  調べた集合 1,023            0.012 秒
n=12  調べた集合 4,095            0.039 秒   n+2 で 3.42倍
n=14  調べた集合 16,383           0.146 秒   n+2 で 3.71倍
n=16  調べた集合 65,535           0.604 秒   n+2 で 4.14倍
n=18  調べた集合 262,143          2.583 秒   n+2 で 4.28倍
n=20  調べた集合 1,048,575       10.205 秒   n+2 で 3.95倍

n が2増えるたびに、きれいに約4倍(=22倍)。 これが指数の顔です。n=20 の 10.205 秒を基準に、+10 ごとに 1,024倍として外挿するとこうなります。

10.2秒n=202.9時間n=30×1,024124日n=40×1,024347年n=50×1,02435.6万年n=60×1,024ムーアの法則(約2年で2倍)で 1,024倍 の性能を得るには 約20年→ 商品を10種類増やすだけで、その20年分が消える商品の種類 n と、全ての組合せを調べ切るのにかかる時間(n=20 の実測 10.2秒 からの外挿)

図2 商品を10種類増やすたびに1,024倍。ムーアの法則の15〜20年分が一度に消える
n 全探索にかかる時間(外挿)
30 約 10,450 秒 = 約2.9時間
40 約 10,701,131 秒 = 約124日
50 約 109億秒 = 約347年
60 約 11兆秒 = 約35万6千年

商品60種類。コンビニの棚1本分にも足りません。それで35万年です。教材の「計算時間も現実的な時間で収まらなくなる」は、比喩ではありません。

4-5. 枝刈りを実装して、探索数を数える

アプリオリの発想はひとことで言えます。

アプリオリの発想

頻出でない集合を含む集合は、絶対に頻出でない。

コーヒーが100枚中3枚にしか出ないなら、「コーヒーとパン」は3枚以下、「コーヒーとパンと弁当」はもっと少ない。だから、コーヒーが落ちた時点で、コーヒーを含む組合せは全部まとめて捨ててよい。 数える必要すらありません。

{A}{B}{C}{D}{A,B}{A,C}{A,D}{B,C}{B,D}{C,D}{A,B,C}{A,B,D}{A,C,D}{B,C,D}{A,B,C,D}サイズ1サイズ2サイズ3サイズ4支持度を数える頻出でなかった数えずに捨てる{A,B} を1回調べただけで、{A,B} を含む3つがまとめて消える

図1 商品4種類の組合せ15通り。{A,B} が頻出でないと分かった1回の判定で、上の3つが数えずに消える

これを実装して、同じデータで比べました。最小支持度は5%(300枚中15枚以上)。

n=10  全探索 1,023        集合 0.010 秒  →  アプリオリ 108 集合 0.0015 秒(9分の1)
n=15  全探索 32,767       集合 0.320 秒  →  アプリオリ 145 集合 0.0019 秒(226分の1)
n=20  全探索 1,048,575    集合 10.407 秒  →  アプリオリ 229 集合 0.0030 秒(4,579分の1)

n=20 で、104万個を調べていたのが229個になりました。約4,579分の1。 そして最も大事な検算がこれです。

頻出集合 54 個(サイズ別 20 / 29 / 5)  答えの一致: 完全一致

枝刈りをしても、見つかる頻出集合は全探索と1つも違いません。 減ったのは仕事量だけで、答えは減っていない。これがアルゴリズムの工夫というものの正体です。

しかも n が大きいほど効きます。全探索は 2n で伸びるのに、アプリオリが調べた数は 108 → 145 → 229 とほとんど増えていません。指数を、データの中身に応じた小さな数に取り替えているのです。

図1でいえば、{A,B} の1回の判定で {A,B,C}・{A,B,D}・{A,B,C,D} の3つが消えました。商品が n 種類あるとき {A,B} を含む集合は 2n−2 個あるので、n=20 なら 262,144個が一度に落ちます。これが「4,579分の1」の中身です。

5. 共通テストではこう出る(重要度 C)

この講は共通テストへの接続がありません。 情報Ⅱは共通テストの出題科目ではないからです。

大学入試センターが公表している「令和9年度大学入学者選抜に係る大学入学共通テスト 出題教科・科目の出題方法等」を見ると、教科「情報」の出題科目は 『情報Ⅰ』の1つだけで、60分・100点です。同じ資料の備考には「『 』は大学入学共通テストにおける出題科目を表し、「 」は高等学校学習指導要領上設定されている科目を表す」とあり、『情報Ⅱ』という出題科目は存在しません(2026年8月時点)。

では、ここまでの話は受験に無関係かというと、そうではありません。第55講(探索)第56講(整列)第57講(計算量)が伸びる先がここだからです。情報Ⅰの共通テストで問われるのは「線形探索と二分探索のどちらが有利か」「処理回数をどう減らすか」という比較です。その比較の基準(伸び方で見る、最悪で見る、前処理のコストも足す)は第57講で扱いました。本講が足すのは、その基準が最後にどこへ行き着くかという見通しです。比較の話が、いつか「そもそも終わるのか」という話に変わる。その入口を知っている受験生は、目の前の「処理回数を減らす」設問の意味が違って見えます。

6. 情報Ⅱではこうなる

この講そのものが情報Ⅱの話なので、ここには調べた範囲の宣言と、情報Ⅰ→情報Ⅱの対応をまとめます。

6-1. 調べた範囲(「0件」の意味を限定するために明記します)

  • 高等学校学習指導要領解説 情報編(平成30年7月)。第1部=共通教科(第1章総説/第2章第1節 情報Ⅰ/第2節 情報Ⅱ/第3章)と第2部=主として専門学科で開設される教科「情報」を分けて計数
  • 情報Ⅰ教員研修用教材(令和2年)巻頭+第1〜4章の全分冊
  • 情報Ⅱ教員研修用教材(令和2年6月・7月)序章・第1章・第2章・第3章前半・第3章後半・第4章・第5章の全7分冊(第3章が前半・後半の2分冊であることに注意)
  • 情報Ⅱ教員研修用教材 第3章 演習解答(別PDF)
  • 文部科学省 高等学校「情報Ⅰ」オンライン学習会 第7回 配付資料

いずれも Unicode正規化のうえ空白と改行を全て除去してから計数し、ヒットは1件ずつ前後を目で読んで用法を確認しました。それでも「0件」は「テキスト抽出できた範囲で0件」でしかありません。 3-7で書いたとおり、O記法は画像PDFの中に実在しました。

6-2. 素朴に数えると間違える語(本講で新たに2つ見つけました)

  • 「NP」:情報Ⅱ教材 第3章後半に2件ヒットしますが、2件とも「INPUT」の一部。NP問題は0件です
  • 「多項式」:解説の共通教科側に1件、情報Ⅱ教材 第3章前半に2件ありますが、全て回帰の近似曲線・二次多項式モデル。多項式時間の意味は0件です

6-3. 情報Ⅰと情報Ⅱの対応

論点 情報Ⅰ 情報Ⅱ
アルゴリズムの扱い 書く(線形探索22件・二分探索22件・流れ図20件) 選ぶ(学習16「必要に応じてアルゴリズムを選択する」。第4章に「アルゴリズム」0件)
計算量の役割 速さの比較(比較回数を数える) できるかできないかの境界(「現実的な時間で収まらない」)
表現の道具 流れ図・フローチャート アクティビティ図(第4章10件)
「効率」の意味 実行の効率(解説 情報Ⅰ節19件) 開発の効率(解説 情報Ⅱ節4件・教材第4章15件が全数)
実行の速さの居場所 「効率」「処理時間」 計算量」(第3章後半)と「非機能」「性能テスト」(第4章)
整列 自分で書いて比較回数を数える df.sort_values()1行
大量データへの答え 良いアルゴリズムを選ぶ アプリオリ(枝刈り)/NoSQLGPU(学習17)

6-4. 第57講の記述を2か所訂正します

本書は自分の誤りを消さずに訂正する方針なので、はっきり書いておきます。

  • 「O記法は高校の一次資料には無い」 → 正しくは「学習指導要領解説と教員研修用教材には無い」。文部科学省が公開している研修資料(オンライン学習会 第7回)には O(n2) が明記されています
  • 「共通教科(情報Ⅰ・Ⅱ)には無い『アルゴリズムの効率化』が専門教科の側に書かれている」 → 「アルゴリズムの効率」「効率的なアルゴリズム」が専門教科側にあるのは正しいのですが、「アルゴリズムの効率を考える力」「適切にアルゴリズムを選択する力」は情報Ⅰ(共通教科)の解説に明記されています。共通教科に効率の観点が無いわけではありません

まとめ

  • 情報Ⅱ教材の第4章(プログラミングの章)に「アルゴリズム」が0件。22件のうち18件がデータサイエンスの章に移っている。アルゴリズムは書くものから選ぶものになった
  • 情報Ⅰの計算量は「どちらが速いか」。情報Ⅱの計算量は「終わるか終わらないか」。だから工夫のほうに名前が付く(アプリオリアルゴリズム)
  • 商品を10種類増やすと組合せは1,024倍。ムーアの法則15〜20年分が一度に消える。 しかも教材自身が微細化の限界と「議論が分かれている」と書いている
  • 実測:n が2増えるごとに全探索は約4倍。n=60 の全探索は外挿で約35万年。アプリオリの枝刈りで n=20 は 4,579分の1、しかも答えは全探索と完全一致
  • 「冬の時代」の原因は1つではない。ニューラルネットワークは計算量とアルゴリズム、AI全体は知識表現。教材は書き分けている
  • 情報Ⅱの「効率」は開発の効率。解説 情報Ⅱ節4件・教材第4章15件を全数確認して実行速度の意味は0件だった。実行の速さは「計算量」「非機能」「性能テスト」へ引っ越した
  • df.sort_values() の1行は道具として正しい。ただし中身を知らないと、遅くなった日に手が出ない

出典(すべて2026年8月3日に取得)

  • 文部科学省「高等学校学習指導要領(平成30年告示)解説 情報編」平成30年7月
  • 文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」序章・第1〜5章(第3章は前半・後半の2分冊。令和2年6月・7月)/同 第3章 演習解答https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/mext_00742.html
  • 文部科学省「高等学校情報科『情報Ⅰ』教員研修用教材」巻頭・第1〜4章(令和2年)
  • 文部科学省 高等学校「情報Ⅰ」オンライン学習会【第7回】アルゴリズムの比較から効率的なアルゴリズムの理解の仕方(令和5年1月27日実施、講師:大阪電気通信大学 教授・副学長 兼宗進)https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/mext_02128.html
  • 大学入試センター「令和9年度大学入学者選抜に係る大学入学共通テスト 出題教科・科目の出題方法等」(令和7年6月6日公表)https://www.dnc.ac.jp/kyotsu/shiken_jouhou/r9/

この講は『藤原進之介の最強120講義』の第6部(情報Ⅱへの橋)に入ります。第6部の入口は第109講(情報Ⅱの全体像)、データ分析の手順は第110講(データサイエンスのワークフロー)です。全120講の一覧は情報Ⅰ 最強120講義のハブページにまとめてあります。

執筆:藤原進之介(数強塾グループ代表)

オンライン数学専門塾「数強塾」代表。累計3,500名以上の中高一貫校生を指導。東進ハイスクール・東進衛星予備校・代々木ゼミナールなど出講実績あり。情報Ⅰの参考書を複数執筆しており、KADOKAWA『ゼロから始める情報I』、Gakken『きめる!共通テスト 情報Ⅰ』などがあります。本記事は参考書『藤原進之介の最強120講義』第116講のWeb版です。

藤原進之介のプロフィールを見る

「情報Ⅰ、独学でいけるのか不安」という方へ

数強塾では数学と情報Ⅰの両方に対応したオンライン個別指導を行っています。学習相談は無料、体験授業は3,000円(税込)でお受けしています。

体験授業のご案内つまずき診断(無料・約2分)

情報Ⅰ・情報Ⅱの勉強で詰まっていませんか

この記事を書いているのは、情報Ⅰ専門のオンライン個別指導「情報ラボ」(数強塾グループ)です。講義も過去問も無料で公開しているので、まず全部使ってみてください。

情報Ⅰについて相談する(無料)体験授業(3,000円)

お問い合わせの際は、内容欄に「情報Ⅰ希望」とご記入ください。担当者が直接お返事します。

数強塾オンラインのご案内

体験授業に申し込む入塾受け入れ状況(残席)数学つまずき診断(無料)体験授業の事前案内保護者の方へ高1・高2の方へ医学部志望の方へ保護者様からの声料金・指導システム指導事例・合格実績大学受験 合格実績(集計ルール開示)数強塾グループの理念学校別の数学対策数学の勉強法(記事一覧)数強塾プレミアム(映像授業)獣医学部専門コース鉄緑会・SAPIX等との併用サポート過去問解説・数学問題集情報Ⅰ・情報Ⅱ専門「情報ラボ」情報の過去問アーカイブ(無料PDF)解法テクニック事典(公式・裏ワザ)入試数学の定石(解き方の型・全27章)2026年 夏期講習会2026年 冬期講習会代表・藤原進之介について