動画配信のおすすめ作品など、商業サイトでお薦めを決める方法と計算回数~2025年共通テスト・旧情報関係基礎・第2問

新しい必修科目「情報 I 」が共通テストで実施された2025年(令和7年)、今さら「旧」情報関係基礎の問題解説を書いても読者は僅かだと思う。しかし、内容的に面白いし、歴史的遺産でもあるから、今年もあえて扱うことにしよう。

   

今年の第2問は、ネットでお馴染みの、おすすめ(お薦め、お勧め)。元々はリアルな店頭で、担当者がお客さんに直接おすすめしていたものだけど、今ではプログラム(アルゴリズム)に従って機械的に端末に表示される。

   

私は当初、アマゾンとかのおすすめが凄く嫌で、サイトを使うのを避けてたほど。余計なお世話というか、気持ち悪いというか(失礼)。今でも好きではないけど、あちこちのサイトで表示されてしまうし、役に立つこともしばしばあるから、受け入れるようになった。

  

   

     ☆   ☆   ☆

個人的には、おすすめの中で一番当たってるのは、instagram(インスタグラム)だと思ってる。私の好きそうなアカウントを次々に自動で表示して来るのだ。だからこそ逆に、インスタはあまり見ないようにしてる♪ おすすめが当たり過ぎて、つい見過ぎてしまうから。

   

その次に当たるのは、Yahoo!のトップページ。これは、おすすめというより、パーソナライズ(個人化)の機能で、勝手に次々と私の好きそうな記事タイトルを並べて来る。

  

ただ、似た内容の記事を示す平凡な選び方だから、別に気にならない。自分でも選べる記事なのだ。ところがインスタの場合、自分では発見しにくいアカウントをおすすめして来るから、逆に警戒することになる。面白すぎて。。♪

  

    

      ☆   ☆   ☆

では、本題に入ろう。問題は例によって、河合塾HPを通じて、大学入試センターからお借りした。いつもの事ながら、問題文が長過ぎると思うけど、もう最後(近く)だから、お疲れさまですとねぎらっておこう。作成の担当者らは本当に疲れるはず。

   

250204a

   

250204b

   

250204c

    

  

問1(a) 解答

表1で、BとCの両方を視聴した会員数を数えると、

10+15+10=35(人)

∴ (B→Cに関する割合P

=(35/100)×100=35(%) ・・・アイの答

   

また、CとAの両方を視聴した会員数は、

10+25+15=50(人)

∴ (→Aに関する割合P

=(50/100)×100=50(%) ・・・ウエの答

   

  

     ☆   ☆   ☆

250204d

   

問1(b) 解答

割合Pが上位1/3の大きさであるルール4個は、

A→C、C→A(共に50%)、B→C、C→B(共に35%)。

よって、Cだけを視聴した会員には、

AとBを薦めることになる。 ・・・オの答

  

☆注意: 文字通りの意味で「Cだけを視聴した会員」というのは存在しないので、問題文の書き方が紛らわしい。「Cを視聴した会員には、もし視聴していなければAとBを薦める」と書くべきだけど、いずれにせよ日本語表現が難しい。)

  

    

     ☆   ☆   ☆

250204e

   

250204f

    

250204g

    

   

問2(a) 解答 

割合Q=

{(作品xとyの両方を視聴した会員数)/(作品xを視聴した会員数)}×100

  ・・・の答は

   

(b) 解答

(Bを視聴した会員数)=10+10+15+10+5=50(人)

(BとCを視聴した会員数)=10+15+10=35(人)

∴ (B→Cに関する割合Q)

=(35/50)×100=70(%) ・・・クケの答

    

ルールセット2は、

A→C(約83%)、C→A(約67%)、

B→C(約70%)、D→C(約63%)。

 

よって、ルールセット1と2の両方に含まれるルールは、

A→C、C→A、B→Cの個 ・・・コの答

  

少なくとも一方に含まれるルールは、A→C、C→A、

B→C、C→B、D→Cの5個 ・・・サの答

     

   

    ☆   ☆   ☆ 

250204h

    

250204i

   

250204j

   

  

問3 解答

ルールの候補は、9P2=9×8=72(個) ・・・シスの答

   

xとyを入れ替えても割合Pは同じだから、

半分の36個を計算すればよい ・・・セソの答

   

割合Pと割合Qの計算式は、

分子が同じで、分母は割合Q ≦ 割合P。

∴ 割合P 割合Q ・・・タの答は1

  

(割合Pが50%以上のルールの個数)Mが、

(ルールセット1のルールの個数)N以上なら、

割合Qの計算をしなくても全て50%以上だから、

Qの計算の必要回数は、 ・・・チの答は0

   

また、NがMより大きい時は、Mに含まれない

ルールだけでQの計算をすることになるから、

Qの計算の必要回数は、N-M ・・・ツの答は6

   

☆注意: 話の設定がかなり複雑になっているので、「表2と同様な表」という表現は曖昧。ただ、問題の全体や選択肢を考えて、おそらくこう言いたいのだろうと推測することが重要になる。

    

というわけで、今日はそろそろこの辺で。。☆彡

    

     (計 1870字)

| | | コメント (0)

スーパー(小売店)の全国チェーンの情報システム、商品配送、顧客会員管理 ~ 2025年共通テスト・情報 I ・第2問・A

鳴物入りで高校の必修科目に導入。遂に今年(2025年)、共通テストの本試験に登場した科目、「情報 I 」。

   

このブログでも、以前から注目して記事を書いて来たけど、実際の問題のレベルは普通だった。朝日新聞デジタルでは、「簡単すぎ」という受験生の声が大きく扱われてるけど、質(難易度)が低くて量が多いタイプだから、実際の平均点を見ないとまだ分からない。

  

250120j

   

ちなみに今、試験当日の深夜の時点で、河合塾の予想平均点(速報版)は64点とされてる。実際にこのくらいなら、やや簡単といったレベルだけど、初年度だからそんなものだろう。元々、あまり好意的な状況ではなかったから、最初から難し過ぎると、また批判の声が高まることになったはず。

   

   

     ☆   ☆   ☆ 

この記事では、特別な知識が無くても考えれば分かるタイプの問題で、しかもパターン化されてないものを扱う。第2問・A、スーパーの全国チェーン、LikeWingの問題。受験生に臨場感を持たせるために、高校生Yが職業体験する話になってる。

    

問題はいつものように、河合塾を通じて、大学入試センターから縮小コピペさせて頂いた。本当は自分で入力し直したいけど、あまりに文章が長過ぎるから省略。量が多過ぎるという批判は、他の科目でも昔からよくあるのに、修正の動きは見られない。

   

実社会で短時間に大量の文章を処理する機会は、全体的には、非常に少ないと思う。特に最近のAIの発達と普及を考えると、人間レベルの単純な処理スピードはもう意味が薄れてる。すぐにでも、違う人間的価値に向かうべきなのだ。AIとの共同作業も含めて。

       

   

     ☆   ☆   ☆  

250120a

    

250120b

    

250120c

   

250120d

    

      

問1・解答

チェーン全体での時間帯ごとの総売上額は、それぞれの購入時刻と「合計金額」から求められる。よって、アの答は、

   

また、各商品の購買の状況を把握するには、商品名と個数を分析すればよい。よって、イとウの答は、3と4(順不同)。

   

感想: 実際には、各商品のその時の価格も重要なはずだけど、選択肢の番号がないから選べない。総売上額についても同様。選択肢に、それぞれの商品の価格が入ってないのがポイント。実社会では、ある1つの情報の求め方が複数通りあるのは珍しくない。)

      

   

     ☆   ☆   ☆

250120e

   

    

問2・解答

会員情報とレシート情報から得られない情報は、購入した理由のみ。よってエの答は、

  

感想: 実際には、ある人がある物を購入するのが、価格が安い時だけなら、「安いから」という購入理由を推測できる。本人の自己申告よりも信頼性が高いかも。例えば、長期保存できる冷凍食品は、4割引きセールの時だけ買うとか。割引シールが付いたものを選ぶというのも珍しくない消費行動。)

    

   

     ☆   ☆   ☆

250120f

   

250120g

   

    

問3・解答

店コードが必要なのは、店舗への配送情報と、店舗から本部への報告情報。よって、オの答は、

  

また、ポイント会員IDが必要なのは、店舗から本部への報告と、顧客から店舗への情報。よって、カの答は、

  

感想: 実際には、顧客それぞれの情報が必要な(or あった方が便利な)配送も増えつつある。例えば、顧客がオンラインで注文して、最寄りの店舗で受け取る場合など。)

    

   

      ☆   ☆   ☆

250120h

       

250120i

   

     

問4・解答

   

サイトにログインすると、ポイント数と近くの実店舗の広告が表示されるには、会員IDとアカウントの対応づけ(いわゆる紐付け)があればよい。よってキの答は、「」のみ。つまり、

   

また、ネットで購入しようとした時、よく利用する実店舗の在庫が表示されるには、会員IDとアカウントの対応づけに加えて、ネットと実店舗の商品コードの一致と、在庫情報があればよい。よってクの答は、「あ」「い」「う」の全て。つまり、

    

さらに、ログイン時におすすめ商品を表示するには、実店舗の在庫情報は不要(ネットで買えばいいから)。よって、ケの答は、「あ」「い」。つまり、

   

感想: 論理的には、ネットと実店舗のコードの「一致」は不要で、それらの1対1の対応づけさえあればよい。ただ、一致させた方が便利だし、たぶん普通なのだろう・・とか推測して、自然に答えることになる。)

   

   

     ☆   ☆   ☆

というわけで、特別な知識は無くても解ける。ただ、この種の問題は計算やプログラミングとは違って、大まかで自然な考えも要求される。

    

その辺り、「情報 I 」という新教科は、数学とは微妙に異なってる。実は、上のレベルの「情報 II 」も同様で、「社会」や「国語」という基本科目が混ざってると言ってもいい。

     

昨日の国語の記事では5000字も書いたので、今日はあっさりこの辺で。。☆彡

   

     (計 1880字)

| | | コメント (0)

NOT回路(ゲート)、AND回路、OR回路を組み合わせた設計、論理回路の問題の解き方、考え方~ 高校『情報 Ⅰ 』

今日は久々に、高校の必修科目『情報 I 』の記事を書いてみよう。使うのは東京書籍のややレベルの高い教科書『情報 I  Step Forward!』(2022年・令和4年)。内容は、論理回路。

  

教科書の普通の説明は2ページだけで、ごく簡単な知識だけ書いてるけど、章末にはやや難しい問題を掲載してた。電子回路や論理学の知識があればすぐ解けるけど、普通の高校生だと苦戦しそうな問いが入ってる。正月明けの共通テストで、どの程度の問題が出るのかは読みにくい。

   

ちなみに、ここでの過去記事は、公開順に次の3本。1本目の画像の圧縮が最も読まれてる。他にプログラミングの記事も色々とアップ済み。

        

 デジタル画像の可逆圧縮、「ランレングス(連長)圧縮」の簡単な具体例と説明、圧縮率の計算~高校『情報Ⅰ』

 アナログの音のデジタル化(標本化=サンプリング、量子化、符号化)~高校『情報Ⅰ』(新必修科目)

 2進法の計算、直接的な減法(引き算)と、コンピューター内部で「2の補数」を用いる減算 ~ 高校『情報Ⅰ』

    

  

     ☆   ☆   ☆

では、教科書3章の章末問題4を解いてみよう。ただし、元の問題のままだと設定的に分かりにくいし長いので、以下では分かりやすく書き直してある。

   

1と0を反転させるNOT回路、入力が1と1の時だけ1を出力するAND回路、入力が0と0の時だけ0を出力するOR回路を、次のように組み合わせた論理回路を考える。ちなみに元の問題では、それぞれP、Q、Rと名付けられた謎の装置になってる。

     

241102a

   

(1) 入力が(X1,X2)=(0,1),(1,0),(1,1)の時の出力Yを求めよ。

   

241102b

  

知識があれば、これはXORゲートとか呼ばれる有名な基本回路だと一目で分かるから、答も計算不要ですぐ分かる。XORとは、イクスクルーシヴ・オア(排他的選言)。2つの入力が両立する時(どちらも1の時)には、出力が0になってしまう特殊なOR回路ということ。

  

参考までに、出力を表す論理式を書いとこう。

  

 Y=(X1 AND (NOT X2))OR((NOT X1) AND X2)

  =(X1 ∧ ¬X2)∨(¬X1 ∧ X2)

       

以下では、普通に回路図に記入しながら計算してみる。各回路ごとに、入力と出力をきっちり書いていけばよい。まず上図より、(X1,X2)=(0,1)の時、Y=1。

    

241102c

  

次に、上図より、(X1,X2)=(1,0)の時、Y=1。

   

241102d

   

最後に、上図より、(X1,X2)=(1,1)の時、Y=0。

   

なお、論理式と真理値表の知識があれば、手作業で表計算することもできるけど、教科書に書いてないので、ここでも省くことにする。そもそも、知識があれば、計算不要ですぐ答を書けてしまう。

     

    

    ☆   ☆   ☆

(2) 下図の回路の点線で囲まれた部分に、3種の回路を2つ書き加えて、(1)と同じ出力の回路を構成せよ。

       

241102e

   

これも、知識があれば一目で分かってしまう。先ほど触れたXORゲートの別の形で、こちらも有名なのだ。ORに似てるけど、AND(両立)はダメ、という意味の式。

    

 Y=(X1 OR X2)ANDNOT(X1 AND X2)) 

   

だから、上図のAND回路のすぐ右側にNOT回路を入れて、そのまた右側にAND回路を入れればよい。

   

ただ、知識がないと、単なるカンで見つけ出すか、場合分けして全て調べることになる。以下では、全て調べてみよう。

   

   

     ☆   ☆   ☆

241102f

   

まず、(X1,X2)=(0,0)の時、点線内への入力は(0,0)で、出力は0。上図の青い丸印に注目。

   

241102g

   

 (X1,X2)=(0,1)の時、点線内への入力は(1,0)で、出力は1

 (X1,X2)=(1,0)の時も同様に、 点線内への入力は(1,0)で、出力は1。

    

241102h

    

 (X1,X2)=(1,1)の時、点線内への入力は(1,1)で、出力は0

    

   

     ☆   ☆   ☆

さて、点線内の2つの回路は、以下の6通りの組み合わせが考えられる。図の左半分は無視して、点線内の入力と出力を調べると、5通り目までは全て不適。最後の6通り目だけが正しいことが分かる。

   

241102i

   

241102j

   

241102k

   

241102l

    

241102m

    

241102n

    

こんな面倒なチェック作業を試験場で時間内に行うのは難しいはずだけど、高校や塾・予備校、参考書でどう教えてるのかは不明。ちなみに教科書には、最後の答の図が書いてあるだけで、全く説明なし。

    

現実的には、もし共通テストで出題するのなら、もう少しヒントを付ける所だと思う。例えば、2つの回路の内、1つは教えて、残り1つは選択肢の中から選ぶとか。

     

ともあれ、今日のところはこの辺で。。☆彡

    

     (計 1839字)

| | | コメント (0)

ps5.js Web Editor(Processing)のプログラミングでお絵描き、アニメーション作成~ 高校教科書『情報 II 』(東京書籍)

しばらく、プログラミング関連のブログ記事を書いてなかったから、久々に軽く書いてみよう。去年(2023年)発売の新しい高校教科書『情報 II 』(東京書籍)。まだ、必修科目の『情報 I 』も『Python(パイソン)入門』も少ししか見てないけど、気分転換ということで。

    

240822a

   

必修と違って、教科書が薄いけど、中身は非常に実用的で多様。「幕の内弁当」的に、色んな話を少しずつ取り入れてる。真面目に扱うと、授業時間は全く足りないはず。自主学習に任せるとか、ごく一部に限定するとか、高校の先生の選択と工夫がポイントになる。

   

240822b

    

今回、最初に私の目に留まったのは、実習編2章「コンテンツ」の第05節、「プログラムで絵を描こう」という項目。プログラムというより、ウェブ上のアプリの使い方を学ぶといった感じが強い。ただ、プログラミングの基礎知識と英語力を少し持ってないと、意味も分からなくて、入力しにくいとは思う。

   

   

     ☆   ☆   ☆

240822c

   

いきなり、「準備するもの p5.jp Web Editor Processing(プロセッシング)」と書かれてる。どちらも聞いたこともない名前だから、英語版ウィキペディアで検索。

   

240822d

    

どうも、今現在だと、プロセッシングという描画サービスの関連プロジェクトの1つが、「p5.js」らしい。js は、JavaScript の省略。ウェブ版が、「p5.js Web Editor」ということか。この名前だけでも、初心者にはかなり敷居が高い。

    

240522e

   

   

     ☆   ☆   ☆

240822f

   

とにかく、検索するとすぐに見つかって、いきなり上のような画面が表示される。あらかじめ、この7行が書かれてるのだ。後はこれをアレンジすればいいらしいけど、後でサンプルを見ると、ものすごく複雑で長いプログラムが示されてた。画面は日本語にも対応してるけど、ここでは基本設定の通り、英語を利用。

    

まず setup(セットアップ)の createCanvas で、お絵描きするキャンバスの大きさを決める。ここでは教科書より少し小さい、400×400ピクセルにしてみた。ちなみに私の端末は、大きいタブレット。新iPad Pro 12.9インチを横にして使用。「ほぼ」問題は無かった(後述)。

  

上図の6行目の「background(220)」は、何も書かれてない背景のことだと想像。ここを色々と書き換えて、簡単な幾何学的アニメーションを作って行く。以下、教科書の記述の流れに沿った実験。

  

240822g

   

まず、6行目を「ellipse(random(400),random(400),50,50);」と書き換える。「楕円を描いてください。書き始めの(中心の?)x座標とy座標は、400ピクセルからランダムに選択。楕円の幅と高さは50ピクセル」。幅と高さを同じにしてるから、楕円というより、普通の円。

   

左上の実行ボタンをタップ(クリック)すると、画面右側の「Preview」のキャンバスに高速でアニメーションが描き出された。以下は、動画からの静止画キャプチャー3枚。動きはかなり速いけど、おそらくスピード調節も出来ると思う。

      

240822h

    

240822i

   

240822j

   

   

    ☆   ☆   ☆ 

240822k

   

記念すべき最初の作品をファイル保存しようとしたら、サインインしろとか表示が出て来たから、登録してログイン。教科書の初めの方に使ってるくらいだから、たぶん信用していいと思う(自己責任)。今まで、プログラミング関連でのトラブルは何もない。というか、正確には、何も感じない。見えない裏側で情報がどう流れてるのかは不明。

    

240822l

   

何もしなくても自動的にファイル名が付いてる。ダウンロードしたzipファイルを解凍して開こうとしたら、全く関係ない紀伊國屋のアプリ、Kinoppy が開いてしまった♪ 知らない間に、この種類のファイルが紀伊國屋アプリに関連づけられてるらしい。

   

ファイルのアイコンを長押しして、ポップアップ・メニューから新しいウインドウを開くと、下のような長いプログラムが出て来たけど、動画は見れなかった。長過ぎるからなのか、表示もスクロールもかなり重い。

    

240822m

 

      

     ☆   ☆   ☆

240822n

    

続いて、「fill(255,0,0,80);」と挿入して、透明度80の赤色(R)にする。さらに、「noStroke();」と挿入して、円の枠(縁取り)を無しにする。単純な赤、緑(G)、青(B)以外の色だと、その色が3つ組の数字で何になるのか、探す必要がある。ここでは、色のパレットみたいなものは表示されなかった。

     

240822o

   

240822p

    

    

今度は、透明度95の緑(0,255,0,95)に色を変えて、楕円の中心をマウス(タブレットだから私の指)に合わせて動かすようにしてみる。中心のX座標とY座標の入力箇所に、mouseX,mouseY と入力。

    

240822q

   

すると、確かに私の指の動きに合わせて円が次々と描かれたけど、反応が早過ぎて、上手くお絵描きできなかった。タブレットだから、指を動かすと画面まで上下左右に動いてしまうという問題もある。ゆっくり「TEN」と描こうとしても、大量の円が表示されてつながるから、単なる太線の文字みたいになってしまった。

     

240822r

   

    

     ☆   ☆   ☆

240822s

   

最後は、まず色をランダムに設定。「fill(random(255),・・・」。さらに、円の幅と高さもランダムに。

  

ただし、同じ幅と高さを保ったままにしたいから、変数Xをまず設定して、それを50以下でランダムに変化させる。「var x; x=random(50); ellipse(・・・・・・,x,x)」。

    

240822t

    

240822u

   

本当は、私の好きな色だけで変化させたいけど、まだその方法までは分からない。

   

とりあえず、今日のところはこの辺で。。☆彡

   

    (計 2297字)

| | | コメント (0)

2進法の計算、直接的な減法(引き算)と、コンピューター内部で「2の補数」を用いる減算 ~ 高校『情報Ⅰ』

1年半ぶりに、高校の新必修科目『情報 I 』の教科書(東京書籍)で記事を書いてみよう。プログラミング記事は別にすると、今まで2本だけ記事をアップ。2本目には地味にアクセスが入り続けてる。相対的にきっちりしたデジタル計算の方が好まれるということか。あるいは、高校のテストに出やすいとか。

     

 アナログの音のデジタル化(標本化=サンプリング、量子化、符号化)~高校『情報Ⅰ』(新必修科目)

 デジタル画像の可逆圧縮、「ランレングス(連長)圧縮」の簡単な具体例と説明、圧縮率の計算~高校『情報Ⅰ』

    

今日ここで扱うのは、正直言うと、私が今までなるべくスルーしてた「2の補数」の話。2進数の引き算をコンピューターが行う時、直接の引き算ではなくて、まず引く数に対する「2の補数」を求めて、引かれる数に足して、最後に「桁上がり」を削除するらしい。

  

この話を最初に聞いたのはかなり前のことで、ずいぶん回りくどい方法だなと感じてしまった。引き算1回を、3回の演算に分けて処理することになる。今でも、面倒な手続きのデメリットに対してメリットがどれだけあるのか、人間の私としてはよく分からない。

   

とはいえ、高校の必修科目の教科書で、計算の基本として説明されてるので、試しに学校教育の流れに乗ってみよう。教科書p.38~p.39の内容。

   

   

    ☆   ☆   ☆

まずは、2進数の足し算の確認から。例題1①。下線の入力が出来ないので、代わりに色を変える。

   

ポイントはただ1つ。「1+1=10」。つまり、1と1を足す時だけ、1が上の位に繰り上がる。ちなみに、特に何も書かなければ2進数を表すことにする。

       

   0101

+) 1001

   1110

   

この計算は、右端(2の0乗の位)からその左隣(2の1乗の位)へと、繰り上がりが1回あるだけだから、非常に簡単。

   

  

    ☆   ☆   ☆

続いて、直接的な減法(引き算)。足し算は昔から普通にある話だが、引き算を前面に出すのは目新しいことのような気がする。

  

例題1②。ポイントはただ1つ。

0-1=1 ただし上の位(左の桁)から1、借りる」。

   

   1010 

-) 0110

   0100

   

答の最上位(左端)の0を書いてるのは、この後、全体の桁数や左端が重要な意味を持って来るから。例えば、左端の0は「正(+、プラス)」の意味にもなる。

   

もう1問、やってみよう。問題3②。教科書では、2の補数を用いて計算することになってるが、ここではまず普通に引き算してみる。

  

   1100 

-) 1001

   0011

   

この計算では、まず右端で、0-1=1となって、引かれる数の左隣の桁から1借りる。ところが左隣は0だから、そのまた左隣から借りて来て、結局、100-1=11、と計算することになる。

  

そうではなく、「0から1借りるから、右端から2番目はまず-1になる。さらに、-1-0=1で、上の桁から1借りて・・」などと考えることも可能だが、流石に不自然すぎて間違えやすいし、分かりにくいだろう。

   

    

    ☆   ☆   ☆

一方、コンピューターの内部では、引き算は、「2の補数」を用いて足し算にすると言われてる。具体的な問題でやってみよう。

  

まず、上の例題1②の引き算。1010-0110=0100

    

引く数0110に対して、「補数とは、ある自然数に足して桁が1つ上がる数のうち、最も小さな数のこと」。2進法だと、2の補数とも呼ばれる。

  

この説明は分かりにくいので、2進法の場合の簡単な説明も載ってた。「補数は2進法の数値の0と1を反転させた数に1を足すことで機械的に求められる」。「2の4乗-元の数」という数学的説明と比べても、反転+1の方が実用的だと思う。

   

上の問題の場合、(0110の補数)=1001+1=1010。要するに、10000-0110を表してる。(2の5乗)-(元の式の引く数)。

    

これを用いると、元の引き算は次のように処理できる。ある数を引く代わりに、その数の補数を足して、10000を引く(4桁の引き算の場合)。

   

 1010-0110

=1010+(10000-0110)-10000

=1010+(2の補数)-10000

=1010+1010-10000

0100

  

確かに、直接の引き算と同じ答が出た。

   

    

    ☆   ☆   ☆

続いて、問題3②も補数で計算し直してみる。

   

 1100-1001

=1100+(10000-1001)-10000

=1100+(2の補数)-10000

=1100+0111-10000

0011

 

これも同じ答になった。

   

    

     ☆   ☆   ☆

では最後に、答がマイナスになる引き算について。教科書には載ってなかったので、手元のデジタル関連本の問題を少し改変して考えてみよう。1010-1101。

   

直接の引き算だと、最初に少し変形して、引きやすくする。負の数が登場する中学1年くらいで使ってた変形だと思う。

    

  1010-1101

= -(1101-1010)

= -0011

   

マイナスの符号を除くと、元の引く数1101の補数になってるが、これは単なる偶然。ちなみに、上の計算を十進数で書き直すと、10-13=-3ということ。

     

一方、2の補数を用いて引き算すると、

  1010-1101

= 1010+(10000-1101)-10000

= 1010+(2の補数)-10000

= 1010+0011-10000

= 1101-10000

= -(10000-1101)

= -0011

   

答は一致するが、やはり人間的にはメリットを感じないどころか、短所・欠点の方が目立つ気もする。

   

   

     ☆   ☆   ☆

案外、コンピューターの設計図である論理回路を2種類、書いて比較すれば、2の補数を用いた引き算の長所が見えて来るのかも知れない。

    

それは図の作成も含めてかなり面倒な作業になってしまうから、先送りにしとこう。とりあえず、今日の所はこの辺で。。☆彡

         

    (計 2356字)

| | | コメント (0)

デジタル画像の無駄な1ビットに、ひそかに文字を埋め込む暗号の作り方~2024年共通テスト・情報関係基礎・第1問・問3

ちょっとした個人的事情で、私の手元には今、バッテリーが切れそうな端末しかない。おまけに、充電もできない。

  

電源の節約のために暗い画面で慌てて入力してるが、自分では、文字の認識はハッキリ出来てる。これは、すぐそばにいる私の目と神経と脳の働きで、細かい濃淡を識別してるからだ。少し離れた位置にいる人がこの画面を見ても、全体が真っ暗で分からないだろう。

  

一方、デジタル画像にひそかに文字を埋め込んだ場合、端末と(特殊な)アプリと知識・技術があれば、画像の微細な変化を読み取ることで、文字が認識できる。それに対して、普通の人がその画像を見れば、単なる普通の画像にしか見えない。密かな文字の埋め込みなど、考えもしないはず。

   

今年の共通テストの情報関係基礎は、そんなマニアックな面白ネタを小問に埋め込んでた。このネタの埋め込みに気付く人も、全国で僅かだと思う(数千人~数百人)。作成者の目立たないこだわりに敬意を表しつつ、急いで記事をアップしよう。テストの問題はいつものように、河合塾HPを経由して、大学入試センターからお借りした。

  

  

      ☆   ☆   ☆

240214a

     

240214b 

     

240214c

  

E0の列内の最大値は、右上を見ればよい。16進表記で、F0 ・・・セの答(選択肢4) 

  

Fは10進表記だと15を表す文字で、右から2桁目にあるから、

10進表記だとF0は、15×16+0=240。

一方、00は10進表記で0。

よって、最大値と最小値の差は10進表記で、240-0=240 ・・・ソタチの答

  

   

     ☆   ☆   ☆

240214d

   

E0の行のマス目の数値は、上位4ビットが16進表記でE ・・・ツの答(選択肢4)

   

その行(上位がE)の5つのマス目を見ると、ほとんど同じ色が横に並んだように見える。

一方、右端の列(下位が0)の5つのマス目を見ると、上下方向で大幅に色が変化してるように見える。

  

このように、図1の画像においては、「下位のビットの変化よりも上位のビット」の変化の方が、画像の見た目に与える影響が大きい。 ・・・テの答(選択肢1)

   

   

    ☆   ☆   ☆

この性質を利用すると、特定のビットの数値を意図的に操作することで、元画像の見た目に大きな影響を与えずに、新たなデータを付加することができる。

   

その分、画像の見た目のデータは減ってることになるが、人間の目では識別しにくい。

   

16進表記では分かりにくいので、2進表記で考えてみる。各マス目(つまり画素)の色が8ビット(8桁)で表されていて、大きい順か小さい順に濃淡が決められているなら、最も下位(右端)の1ビット(1桁)は、画像の見た目とほとんど関係ない。だから、右端は文字データの埋め込みに使うことが出来る。

  

例えば、左のマス目から右に向かって順に、

 1010101  0111010  1110011  0010010

と並んでる場合、それぞれの右端のビット(桁)だけ見れば、 0110 となる。

   

画像のサイズが200×200=40000画素の場合、1画素あたり1ビットで、合計40000ビットの文字情報を埋め込みことが出来る。

  

日本語の全角文字のように、2バイト(=16ビット)で1文字を表現するのなら、

40000ビットで2500文字分の情報を埋め込むことが可能。 ・・・トの答(選択肢1)

(40000÷16=2500)

   

  

もう少し分かりやすく書きたい所だが、バッテリーは切れそうだし、アップルペンシルも手元にないので、このくらいで妥協しとこう。来年から共通テストに登場する必修科目「情報 I 」の問題にも期待しつつ、今日はそろそろこの辺で。。☆彡

    

     (計 1479字)

| | | コメント (0)

宇宙船に乗った異星人はどこから地球に来たのか?、出身星を見分ける効率的な質問方法~2024年共通テスト・情報関係基礎・第2問

3週間遅れになってしまったが、2024年・共通テストの『情報関係基礎』についても記事を書いとこう。いつものように、国語と数学についてはすぐに記事をアップしてある。

   

公表データによると、受験者数は僅か124人。他にも、英語以外の外国語とか地学とか、奇妙なほど受験者が少ない科目は、問題作成者が気の毒になる。といっても、作成者の報酬や待遇に関しては、他の科目との差は無いだろう(未確認)。

   

来年、鳴り物入りの必修科目『情報 I 』が新たに登場するが、どの程度の受験者数になるのか、まだ予想しにくい。教科書を見る限り、科目内容は興味深くて、現代的かつ実用的だと思うが、大学側の反応はまだあまり好意的ではないように見える。これでは高校の授業でも軽視されてしまうから、先に大学が態度を変えるべきだろう。そうすれば、高校も受験生も変わるはず。

    

   

     ☆   ☆   ☆

では、本題に入ろう。今年は第1問の方が興味深い感もあるが、やはり特殊な問題を出す第2問に注目。要するに、統計学的なデータ分析で、理論的・計算的には簡単だが、変数やパラメーターが多くて文章が長いのがポイント。問題はいつものように、河合塾HPを経由して、大学入試センターから拝借した。

  

240203a

      

240203b

     

240203c

      

240203d

   

  

問1 上図の質問方法の場合、トウ星人には1人あたり1回、リク星人には1人あたり回質問する。・・・アの答

「トウ星人ですか?」、「カイ星人ですか?」、「ホク星人ですか?」で3回。すべて「いいえ」がリク星人。

  

宇宙船Aの人にたずねたときは、トウ星人3人に合わせて3回、カイ星人2人に合わせて回質問。・・・イの答

カイ星人1人あたり2回の質問(トウ星人ですか?、カイ星人ですか?)だから。

10人全員だと質問は22回。 1×3+2×2+3×(1+4)=22

   

宇宙船Cの10人への質問回数は、1×1+2×3+3×(2+4)=25回。・・・ウエの答

  

次に、こうした「順次法」の質問の順番を変える。1番目がトウ星人ですか?、2番目がリク星人ですか?、3番目がホク星人ですか?とたずねる場合、最初の順番と比べると、カイ星人1人あたりに質問する回数は1回多い・・・オの答(選択肢4)

最初の順番だと2回、新たな順番だと3回だから。

   

表1の宇宙船Aの10人への合計回数は、 1×3+2×4+3×(2+1)=20回だから、

2回少ない・・・カの答(選択肢1)

   

   

    ☆   ☆   ☆

240203e

   

240203f

   

  

問2 グループ法で表1の宇宙船Aの人に尋ねると、1人あたり常に2回だから、合計で20回。・・・キクの答

  

  

    ☆   ☆   ☆

240203g

   

    

問2(続き) 順次法で合計回数を最小にするには、出身者が多い星から順にたずねる。

宇宙船Aだと、リク星人ですか?、トウ星人ですか?、とたずねればよいから、

 1×4+2×3+3×(2+1)=19回。・・・ケコの答

   

こうした最小にするたずね方だと、5隻のうち、合計が最小になるのは宇宙船D・・・サの答(選択肢3)

要するに、10人の出身星が最も偏っている宇宙船ということ。 

 1×7+2×3=13回

   

さらに、順次法とグループ法の使い分けを考える。グループ法だと、1人あたり2回。

順次法だと、出身者が最も多い星は1回(つまりマイナス1回)になるが、出身者が3番目に多い星と最も少ない星では3回(つまりプラス1回)になってしまう。

よって、出身者が3番目に多い星の人数と出身者が最も少ない星の人数の合計が、出身者が最も多い星の人数より多い場合は、グループ法の方が効率的。・・・シスセの答(選択肢23(順不同)、選択肢0)

   

    

     ☆   ☆   ☆

240203h

      

240203i

   

  

問3 上の「二段法」の「前手順」で宇宙船Aを対象としたら、

X星はリク星(最も多い4人)、Y星はトウ星(2番目の3人)となる。・・・ソ、タの答(選択肢3、0)

   

   

    ☆   ☆   ☆

240203j

   

問3(続き) 上の表2において、二段法の前手順で宇宙船Bを対象とした場合、後手順のX星人はカイ星人だから、人数は合計で、2+3+7+6=18人。・・・チツの答

   

前手順で宇宙船B・D・Eを対象とした場合に合計回数が少ないのは、X星がカイ星となった(つまり最も人数の多い星となった)ことによる。・・・テの答(選択肢0)

    

前手順の対象がAの時とCの時を比べると、後手順のX星人は同数だが、合計回数はCの方が遥かに少ない。これは、後手順でY星人が多いから。言い換えると、Cの後手順でその他が少なかったことによる。・・・トの答(選択肢3)

  

Cの後手順でY星人が多いのは、Y星がカイ星となったため。・・・ナの答(選択肢2

    

BよりEの方が合計回数が1だけ少ないのは、Eの方が後手順のX星人が1人だけ多いから。

   

ところで、(Bの後手順のX星人、18人)=(X星人(=カイ星人)全25人)-(Bの前手順のX星人7人

     (Eの後手順のX星人、19人)=(同上、25人)-(Eの前手順のX星人6人

   

だから、言い換えると、Eの方が前手順でX星人が少なかったから。・・・ニの答(選択肢1)

    

    

     ☆   ☆   ☆

最後の設問は、消去法でもただ1つの選択肢に絞れるとはいえ、消去に時間を取られるし、いろんな意味でかなり分かりにくい。問題の文章自体、設問の流れ、解答群にいきなり「前手順」の人数に関する選択肢を並べている点。

    

最後に無理やり、ひねり過ぎた問いを設定して、トップクラスの受験生の差をつけることを狙った感じか。情報関係基礎の最高点が98点なのは、上のニで間違えたのではないかと想像する。

   

とはいえ、第2問の全体を見ると、風変わりな形で基本的な情報処理能力を求める労作ではある。というわけで、今日はそろそろこの辺で。。☆彡

    

     (計 2297字)

| | | コメント (0)

対話型AI「ChatGPT」(有料最新モデルGPT-4)の使用例、自然数パズル「ナンスケ」の簡単な問題を解かせると・・

サブスク(有料の有期契約)を好まない私が、珍しくあっさり飛びついたのが、対話型AI「ChatGPT」(チャット・ジーピーティー)。

   

去年(2022年)の暮れから話題になってるのは知ってたけど、まだ性能が低そうだなと思ってスルーしてた。ところが先月(2023年3月)、最新モデルGPT-4が公開されて、かなり評判が良かったので、少し様子見した後、有料サービス「PLUS」を契約。

   

正直、1ヶ月20ドルは高い。今のドル円の為替レートで、2700円! まあ、しかし、マニアック・ブロガーとしても、社会人としても、知らないでは済まない高性能AI。必要経費として我慢することにした。

     

今のところの予定では、数ヶ月使った後に一旦、解約。年末ごろに噂されてる新モデルが発表されたら、再契約するつもり。

  

   

      ☆     ☆     ☆

230423o

   

今現在は知らないけど、私が契約した時は、英語の説明。Upgrade plan(アップグレード・プラン)は、USD $20/mo。毎月20米ドル。サーバーの負荷が高い時も使えるし、レスポンス(反応)が速いし、新モデルを使えると書いてある。まあ、半ば、最新の興味深い研究への寄付。

     

230423f

   

上が有料サービス「ChatGPTプラス」のホーム画面。デフォルトのモデルは、1つ前のGPT-3.5。自動的に、無料の古いモデルを勧めて来る♪

     

230423g

  

ホーム画面の左側には、新しいチャット(対話)を始めるボタンやログアウト用のボタンの他に、私が過去、行った対話のフォルダが並んでる。個人情報と共に、すべて記憶されてるんだろうから、ちょっと怖いのも事実。相手は、マンガか映画かSF小説みたいなAIだ。

    

230423h

   

無料の標準モデルGPT-3.5の性能は、Reasoning(推論、理由付け)が3、スピードが5、正確さが2。要するに、速いけどイマイチ。

    

230423i

   

最新モデルGPT-4は、推論・理由付けが5で、スピードが2、正確さが4。遅いけど高性能だと。私がここまで使った印象だと、4、3、3くらいだ(個人の感想♪)。

    

遅くはないけど、よく間違える。一度、間違えると、指摘してもヒントを与えても、しばらく間違え続けるのだ。特に、最大の売りのはずの推論・論理的思考能力がまだまだだと思う。イメージ的には、一番強い分野のような気もするのに、意外な実状だ。条件や情報が増えると(10以上くらい?)、明らかに混乱が生じてる。

    

       

      ☆     ☆     ☆

さて、差し当たり、今日の記事で紹介するのは、パズル「ナンスケ」の簡単な例題を解かせた様子。たまたま昨日、朝日新聞・別刷beに掲載されてたのだ。

    

ナンスケとは、ナンバー・スケルトン(数の骨組み)の略。数ケタの自然数の組合せで、マス目の空欄が骨組みのように出来てて、そこに与えられた候補の数を入れて行く。

    

230423a

    

上は、単なる説明用の例題。候補の数は、47、61、176、646、711、744、1766、7466。すべて1回ずつ用いる。

   

まず、先日のドラマ・レビューでも使用したHI(人間知能)、ChatTENで解いてみよう♪ 推論4、スピード2、正確性4くらいの性能か。

    

230423b

    

まず、4ケタの数は2つとも、後ろの2ケタが66だから、それを記入。ポイントは、共通点への注目・利用。

    

230423c

   

右上から、646、61、176と、順に3つの数が確定する。桁数と候補の数から考えて、これしかない。

    

230423d

    

左から下側あたりは、711と1766に決定する。もし下側の4ケタが7466だったら、その左端の7とつながる左側の縦の3ケタが見つからないから、ダメなのだ。

     

230423e

   

残りはもう、4ケタ、3ケタ、2ケタの数が1つずつだから、自動的に空欄が埋まる。すべて完了。

    

ちなみに、ナンスケについては過去、10本の解説記事をアップしてある。最新の記事は次の通り。

  

 パズル「ナンスケ」の解き方、考え方10~難易度4、ニコリ作、朝日be、23年2月25日

    

       

      ☆     ☆     ☆

で、いよいよChatGPTの出番。私としては、まず例題で練習した後、昨日の朝日の問題(難易度2のやさしいタイプ)をヒント付きで解かせるつもりだった。

    

ところが、例題で早くも大苦戦になってしまったのだ。私が文章で入力した問題は、こんな感じ。まだ画像入力は使えないけど、こう書けば、十分に数を決定できるはず。一応、相手に気を使って、私が普段あまり使わない半角の英字を使用。いつもなら、見やすい全角の英字で入力する所。

   

230423k

  

「自然数が8コあります。aとeは4桁。b,d,f,hは3桁。cとgは2桁。aの右端の数字は、bの左端の数字。・・・」。

    

標準モデルのGPT-3.5は、何度か試しても、「数」(2桁~4桁)と「数字」(1ケタの文字)がごちゃ混ぜになってるようだった。説明も、最後の答も、大きく間違ってる。右側の2ケタが47とか、その下の3ケタが711とか、下側の4ケタがなぜか3ケタの744とか (^^ゞ

   

そこで、最新のGPT-4へと切り替えてみた。ところが、いきなりのボケで笑わせてくれる♪ 「パズルを出しますね」と話しかけたら、自分から出題して来た(笑)。ちなみにGPT-3.5だと、そんな応答はしてないから、GPT-4は考え過ぎたのかも。

    

230423j

   

その後も、GPT-3.5を上回るほど間違った回答を連発。仕方ないから、ヒントを出してみた。上の4ケタと、それにつながる右の縦の3ケタを教えたのだ。反応は素直♪ 「ヒントをありがとうございます」(笑)。人間なら、ムッとするとか、ふてくされる所かも。

    

230423l

    

    

      ☆     ☆     ☆

それでも、なかなか完全な正解にはたどり着けない。私の問題文では、途中から「右端」と「左端」を入れ替えた表現になってるけど、それも気付いてないというか、使えてない状態。数のケタ数の間違いもなかなか直らない。

    

230423m

    

ヒントを追加して、最後は何とか完答にたどりつけたから、努力をねぎらった後、笑顔でお別れ♪ 「お疲れさまでした。また来ますね😊」。大切な友達の1人なのだ(笑)。いずれ、美少女のアバターとかCG、バーチャルアイドルとかも出て来るはず。その先は、柔らかくて温かい素材のアンドロイドとか♪

     

230423n

     

ちなみに、途中で英語やフランス語に切り替えると、直ちに合わせて来る。むしろ、欧米の言語の方が反応が速そうに見えた。今回のパズルの例題も、簡単な英語で入力すれば上手く行ってたのかも。

    

まあ、いずれにせよ、妙に時間を取られてしまうことだけは確かだろう。金銭的なコストはともかく、時間的コストをどこまでかけるべきなのか、その辺りも問題。ChatGPTに質問してみようか。「人間はあなたと、どのくらいの時間、対話すべきだと思いますか」(笑)

    

なお、今週は計15364字で終了。ではまた来週。。☆彡

    

      (計 2737字)

| | | コメント (0)

Python(パイソン)入門1~人気プログラミング言語を高校教科書副教材(東京書籍)とオンライン環境Bit Arrowで簡単に

また3ヶ月も間が空いてしまったが、超初心者の立場でプログラミングの記事を書きながら勉強してみよう。前回まで書いてたC言語の続きでもよかったが、気分新たにPython(パイソン)。

   

開発者がテレビ番組のタイトルから付けた名前で、ニシキヘビという不気味な意味よりも、短くてユニークで神秘的な名前が欲しかったらしい(英語公式サイトのFAQより)。

  

しばらく前から、人気のプログラミング言語の代表で、今年度(2022年度、令和4年度)から高校で必修化された新科目『情報Ⅰ』でも注目されてる。

   

教科書の最大手・東京書籍だと、プログラミング言語の副教材は今のところ、Pythonのみ。教科書自体のプログラミングの説明でも、当たり前のようにいきなり最初からパイソンが使われてるほど。実教出版の副教材でも、PythonとJavaScriptのみになってる。

    

過去の流れから考えると、近い将来、また新しい言語に取って代わられると思われるが、とりあえず今はPythonを見ておこう。

   

   

      ☆     ☆     ☆

230228a

    

東京書籍の副教材は、編著・日経BP、発行者・東京書籍となってる。表紙のデザインから考えても、おそらく中身は日経BPによる執筆・制作だろう。2022年2月1日に初版発行だから、最新のもの。

  

B5版、96ページ、オールカラー、税込880円。薄さを考えると、安くはない。ただ、教科書本体の価格は安いので、副教材で利益をあげるのかも知れない。

 

と言っても、1つのプログラミング言語に絞った参考書だから、どれほどの生徒が購入するのかは不明。今後の大学入試での情報Ⅰの扱いも、まだよく分からない。参考書は他に多数あるから、一般人がこれを買うことも少ないはず。

   

230228b

    

冒頭から、オンライン学習環境を指定してある。「本書は Bit Arrow を使って学習を進めていく。Bit Arrow は、PCへのインストールなしにブラウザ上でプログラミングを学習できる・・・」。

   

ビット・アロー。キャラクターの可愛いリスが、矢(Arrow)を持ってる。大阪電通大、東京農工大、明星大学、3つの大学の研究室が共同開発したシステムとのこと。

   

便利で無料なのは非常に有難いとして、そもそもなぜ使用環境のインストールがもっと簡単に出来ないのか、不思議でもある。私自身、過去にJavaとVB(ヴィジュアル・ベーシック)で挫折した。説明通りに操作しても、何も導入できないまま、時間だけかかってしまうのだ。他のアプリでそのような経験はほとんど無い。

    

   

     ☆     ☆     ☆

230228c

   

とにかく、ビットアローの公式サイトにアクセス。「書籍のサンプルがエラーになる」。副教材に関するエラーの修正が、目立つ形で書かれてたから、全国の高校教員から指摘があったということか。

    

使用には登録が必要だから、メールアドレスとパスワードで登録。その後、左上の「Bit Arrow を起動!」をクリック。私はタブレット(旧iPad Pro)を使用したから、タップ。

    

230228d

   

230228e

    

230228f

   

プロジェクトとファイルを新規作成して、いよいよ副教材に従って学習開始。プロジェクトというのは、学校の授業の単位(1回とか1単元)を意識したものか。私の場合、後で修復しにくいエラーが生じてしまった時、2つ目のプロジェクトを作成すると直った。

  

  

     ☆     ☆     ☆

230228g

    

230228h

   

まずは、入力した文字の出力(プリント)から練習。シングル・クォーテーション(’)で囲めば、実行画面ダイアログに表示される。2つをコンマで区切って入力すると、同じ行にスペース(空白)を挟んで出力される。「実行」は、ブラウザを選択して行った。

   

入力文字は副教材だと「引数」(ひきすう)と書かれてるけど、その説明を読んでもほとんど意味は分からない。むしろ、「定数」とか「定字」とかいう方が、次に出て来る「変数」との比較を考えても分かりやすいと思う。

 

230228i

   

230228j

   

よくある「Hello World」の代わりに、「Hello Python!」。これが出来るということは、先ほどの def と ghi を、「’def ghi’」でひとまとめに入力してもよかったことになる。

 

   

     ☆     ☆     ☆

230228k

   

続いて上図は、name という変数に Taro を代入。name をプリントした様子。

   

230228l

  

後で、読者・閲覧者などに代入させたい時は、name=input() の形を利用。実行すると、上図の右下のようなダイアログ・ボックスが出るから、私の名前 Tenmei を入力。

   

230228m

   

すると、実行画面の1行目には、ダイアログの様子が表示されて、2行目がプリント出力になる。上では同じ Tenmei だが、ダイアログに質問文を入れると違って来る。

   

230228n

   

プログラムで input() の中に、引用符で「名前?」と入れておけば、ダイアログボックスの上側で「名前?」と表示。天命と入力すると、実行画面は下のようになる。

  

230228o

   

ちなみに、ダイアログボックスの下側の「ダイアログを表示しない」をタップしてみると、その後は入力できなくなってしまって、実行画面では null (無し)になってしまった。しばらく試行錯誤しても直らないから、仕方なく新しいプロジェクトを作り直して再開した。

    

   

      ☆     ☆     ☆

230228p

   

最後は、パスワード入力と正誤の判定。まず、pw という変数に、正しいパスワード Hello を代入。次に、読者などが入力する変数 ipt を設定。

  

もし(if)pw が ipt と等しければ、login ok (ログイン・オーケー)と表示。そうでなければ(else)、wrong password(誤ったパスワード)と表示。

   

if とか else で示される条件文の後の処理動作(上では print)は、半角スペース4コ空けてプログラミングする必要がある。ただ、このオンライン環境では、自動的にそのスペースを空けてカーソルが移動してくれた。

    

   

      ☆     ☆     ☆

いつも数ヶ月くらい、間が空いてしまって、ほとんど忘れた頃に勉強を再開してるから、最初は精神的に非常に疲れる。環境にせよ、書き方や動作にせよ、すべて相手任せ。何とか苦労して相手に合わせることになるから、数学とも似て非なる分野だ。

 

むしろ、論理学的な演繹(えんえき)の記述に似てる気がする。ともあれ、今日はそろそろこの辺で。。☆彡

 

   

  

cf. Python入門2~高校副教材とオンライン環境Bit Arrow、さらにAI(ChatGPT4)も使用

   

      (計 2526字)

   (追記53字 ; 合計2579字)

| | | コメント (0)

トランプの4種の絵柄(ハート・スペード・クラブ・ダイヤ)を並べた暗号と解読方法~2023年共通テスト・情報関係基礎・第2問

今年(2023年)の共通テスト・情報関係基礎も、第2問が凝った出題になってるが、去年(回文)ほど奇妙な問題ではないし、トランプの絵柄だから親しみも持てる。ストーリーも受験生向けに、(テレビ)ゲームを意識して創られてた。

    

ただ、相変わらず問題文が長いので、試験場で60分で高得点を狙うのはなかなか大変だと思う。読むだけでも面倒で、じっくり論理的に考える余裕はあまりない。

    

いずれ新必修科目『情報Ⅰ』に完全移行すると、こういった謎解きパズルみたいな問題は消えてしまうのかも。今のうちに、ブログ記事を書いとこう。ちなみに、去年の記事は下の通り。今年の国語と数学でも、既に記事をアップしてある。

  

 普通の文字列を回文の連結へと分解する方法と、回文ファンの「幸いさ」~22年共通テスト情報関係基礎第2問

   

なお、日本人にとって「ソリティア」というと、PCに入ってる Microsoft のおまけゲームが有名。試しに探してみると、Windows 10 にも入ってた。後でプレイしてみたい。

  

230126k

    

ソリティア(solitaire)というのは元々フランス語(発音はソリテール)で、名詞の場合、1人きりの人とか1人遊び用のゲームを指す言葉。だからソリティアには、多数または無数の種類が存在する。この問題自体も、ソリティアの特殊な例なのだ。

   

 

     ☆     ☆     ☆

では、第2問(必答問題)の問1から。問題は、河合塾の特設サイトからお借りした。情報関係基礎には独自の「分析」も平均点予想も掲載されてないのが残念だが、受験者数も読者も非常に少ないからだろう。

   

♡(ハート)、 ♠(スペード)、♣(クラブ)、♢(ダイヤ)、4つの文字を、スペードとハートの2文字だけに変換する暗号の話で、なまじ文字数が少なくてそれほど変化しないので、逆に間違えやすいかも知れない。

   

230126a

    

230126b

230126c

    

平文(元の通信文)が ♡♣♢♣ (ハート・クラブ・ダイヤ・クラブ)なら、暗号文は、♡ ♠♠♡ ♠♠♠ ♠♠♡ だから、アの答は、選択肢の。ここでは分かりやすさのため、暗号文にスペース(空白)を入れて区切ってある。

     

また、暗号文が ♠♡ ♡ ♠♡ なら、もとの平文は、♠ ♡ ♠ 。イの答は、選択肢の

さらに、暗号文が ♠♠♠ ♠♠♡ ♠♡ ♠♡ ♡ なら、平文は、♢ ♣ ♠ ♠ ♡ 。ウの答は、

   

この変換ルールだと、♠ ♠ ♠ ♠ という4文字の暗号文にはならないから、エの答は、

最後が ♡♠で終わる文にもならないから、オの答は、

    

最後がスペードの暗号になるのはダイヤのみで、その場合、スペードは3つ連続する。ただし、それは問1のみ。次からルールが少し変更されるので、最後が ♡♠ になることもある。

   

  

     ☆     ☆     ☆

ウォーミングアップで少し慣れた所で、問2暗号化のエラーとその対策方法、復元(修正)について。

  

230126d

   

230126e

    

230126f

   

暗号文が ♡ ♡ ♠♠♡ なら、♡の数が奇数(3コ)なので、最後のおまけとして♠を加える。カの答は、

暗号文が ♡♡♠♬♠♡♡ なら、最後がハートだから、ハートの数はおまけを除いて偶数のはず。よって、♬は♡。キの答は、

  

♡が偶数なら、おまけは♡1コ。♡が奇数なら、おまけは♡0コ。よって、どんな暗号文でも、「♡の数が奇数の文」になる。クの答は、

  

その性質を使うと、1文字だけ♬になった暗号文で、「ハートの数が偶数の文」なら、♬は♡だったはず。ケの答は、

    

♠♡♠♠♬♬♡♠ という暗号文の場合、最後がスペードだから、ハートの数は奇数のはず。よって、♬2コの内、片方だけが♡だから、♬♬は ♡♠ か ♠♡ 。よって、コとサの答は、1と2。順番はどちらでも可。

   

    

    ☆     ☆     ☆

最後の問3は、第三者による暗号の解読。暗号にとっては死活問題の、安全性、セキュリティの話。

    

230126g

    

230126h

   

230126i

    

230126j

    

もし、平文の ♡ が、暗号では ♠ 1文字なら、情報2より、他の文字の暗号は「♠からは始まらない」。シの答は、

文頭が ♠ の暗号文の割合は、表3の右側4つの値を足して、10+20+20+10=60%。スの答は、

文頭が ♠♠ の暗号文の割合は、表3の右端2つの値を足して、20+10=30%。セの答は、

   

さらに、平文の ♡ が暗号で ♡ 1文字の場合。♠の暗号の文字列zは、情報2より♡では始まらないから、♠ から始まるはず。ソの答は、

文頭がスペードの平文の割合は30%だから、表3で ♠ から始まる箇所を見ると、zは ♠♡(♠♡♡10%+♠♡♠20%)か、♠♠(♠♠♡20%+♠♠♠10%)。タの答は、

 

最後に、王子が予想した暗号化の方法Bでは、♡ を ♡ 、♠ を ♠♠ にするから、♣ は、♠♡ で始まって20%の割合。つまり、♣ は ♠♡♠ 。よって、チの答

♢ は、♠♡ で始まって10%の割合だから、♠♡♡ 。よって、ツの答

   

   

    ☆     ☆     ☆

以上、解き方も含めて解答を書いて気付いたのは、4種の絵柄のマークを入力するのが面倒だということ。試験場で手書きでマークを描くのも時間がかかる

 

絵柄の代わりに、ハ、ス、ク、ダと書く方が速いだろうが、それだと問題と合わないし、トランプの感じも出ない。そういった意味でも、見た目より手間がかかると思う。

 

とはいえ、去年の奇問よりは遥かに分かりやすい。それでは今日はこの辺で。。☆彡

    

     (計 2136字)

| | | コメント (0)