見出し画像

第2回 ChatGPTは、共通テストの「情報」が解けるのか? その前に問題がおかしくないかい?!?!?(え?w)

はてさて、前回の続きで、めげずに(?)共通テストの「情報」の問題をChatGPTに解かせてみましょう!! っていうか、なんか、いろいろ考えてたら、そもそも、問題そのものが、おかしいのではないか?と思えるところが!?!?!? うーん・・・。

あ、前回を読んでない人は、こちらを。

前回は、第1問の問2までやったので、問3から。

余談ですが、この「第1問」って分類、よくわからない。この後、第2問、第3問、第4問まであるのですが、なんの数字?? この中にさらに問があって、そこもバラバラだったりします。マジわからんです。

なんとなーーーく、邪推すると、ここで切り分けて、問題を作る先生に依頼してるのかなぁ・・・という、「出題側」の都合であって、受験する側には、なんの意味ももたない「情報」だと思います。

そもそも、説明がないんだから、「無駄な情報」。言い換えれば、思考を阻害するための情報であって、惑わせようとしてるのかぁ??とか思ったりwww

気を取り直して・・・w

第1問

問3

チェックデジットの問題ですね。

チェックデジットというのは、デジタル情報を伝えた後に、間違いがないかチェックするための補足情報。

これ、会話でも意識してると、伝達ミスが少なくなるので、便利なんですよ。

例えば、上司から部下に質問された場合をみてみましょう。

「明日の会合は、誰が来るんだっけ?」

「えっと・・・
 たかぎさん、かとうさん、ささきさん、みなさん、4名ですね。」

「3名じゃなくて、4名?」

「はい」

「確認だけど、たかぎ、かとう、ささきの3名じゃないの?」

「みなさんで、4名です。」

「私を入れて4名?」

「いえ、そうなると5名です。」

「よくわからないなぁ・・・。もう一度、参加者の名前だけ教えて」

「たかぎさん、かとうさん、ささきさん、みなさんです」

「あー! みなも参加するんだね!」


これ、最初に「4名」というチェックデータを言っていなかったら、上司は3名だと思ってしまいます。

このようなことを防ぐのがチェックデジット。

0と1のコンピュータの世界であっても、機器のトラブルや電圧の変動などの要因で、データが誤って伝えられることがあります。その場合に、チェックデジットをつけておくと、ある程度まで間違っているのか、正しいのか受け取っと側で確認できるのです。

一覧表とかで、行に番号を打ち込んだり、縦と横の数字の合計を入れるとかも、途中の項目や数値に間違いがないか(書き間違いや、後から書き換えなどがないか)を確認するためのものになっています。

さて、この問題では、非常にシンプルな2つの方法について書かれています。

まず、生成方法Aですが、めちゃくちゃシンプルな方法。単純に各桁を足し合わせて、10で割ったあまりを、さらに10から引く。

「22609」の場合

 2+2+6+0+9=19
 19÷10=1 あまり 9
 10ー9=1

で、1がチェックデジット。つまり、先の数字に加えて、「226091」になります。

では、生成方法Bだけを見てみましょう。

5桁のうち、奇数桁を3倍し、偶数桁はそのままの数値で合計を出します。

「22609」の場合を計算するので、

 2x3+2+6x3+0+9x3=53

この合計を10で割ったあまりを、10から引いた数値がチェックデジットになります。

 53÷10=5 あまり 3
 10ー3=7

で、「キ」は、7。

そこで、最初の5桁の数字にチェックデジットを加えて「226097」になります。この6桁を、例えばID番号として利用するのですね。

問題は、生成Aでは検出できない(つまりチェックデジットが変化しない)が、生成Bでは検出できることがある(つまりチェックデジットが変化する場合がある)となるのは、どういう場合なのかを考えます。

では、選択肢をみてみましょう。

チェックデジットは、合計数値の10で割った「あまり」をまた10から引くということになっていますが、確認する上では、「あまり」、つまりは、合計数値の一桁目だけ見ていればOKです。

それを踏まえて、それぞれの解答群を確認してみましょう。

0「奇数桁の数字を二つ間違える」は、奇数行の数字を2か所、違うものにしたら、どちらも合計の一桁目は変わってしまうので、両方で気が付きます。

なので、生成Aでも生成Bでも同じ結果になり、この0は回答ではないです。

次に、1「連続する二つの桁の数字をそれぞれ間違える」を考えてみます。

これは生成Aも生成Bも、同じようにチェックデジットが変化します。とうことで、この1も違う。

では、2「奇数行のうちの二つの桁の数字の順序を逆にする」を見てみましょう。

これは、どちらも変化がありません。つまり、生成Aでも生成Bでも変化はわかりません。ということで、これも違います。

最後の3「連続する二つの桁の数字の順序を逆にする」はどうでしょうか?
というか、最後の一つなので、これしかないのですがwww

このように、生成Aでは、単純な足し算なので、変化しないのですが、生成Bだと、違ってきます。つまり、「生成Aでは検出できないけれど、生成Bでは検出できる場合がある」に該当します! ということで、3が正解になります。

では、ここで、ChatGPTの答えを見てみましょう。

この問題を解説しながら解いていきます。

問題の整理

チェックディジットの生成方法:
生成方法A:
利用者IDの各桁を合計し、10で割った余り RRR を求め、10から RRR を引いた値がチェックディジットになる。
生成方法B:
奇数桁 (N5,N3,N1N_5, N_3, N_1N5​,N3​,N1​) の値をそれぞれ3倍する。
偶数桁 (N4,N2N_4, N_2N4​,N2​) の値をそのまま合計する。
これらの値を合計し、10で割った余り RRR を求め、10から RRR を引いた値がチェックディジットになる。

例:利用者IDが「22609」の場合、生成方法Aでは「1」、生成方法Bでは「」となる。

また、空欄「ク」では入力ミス(2桁の入れ替え)に関する検出可能性が問われています。

(1) 空欄「キ」の解答
利用者ID「22609」で生成方法Bの計算
奇数桁 (N5,N3,N1N_5, N_3, N_1N5​,N3​,N1​) = 2,6,92, 6, 92,6,9
→ 2×3+6×3+9×3=6+18+27=512 \times 3 + 6 \times 3 + 9 \times 3 = 6 + 18 + 27 = 512×3+6×3+9×3=6+18+27=51
偶数桁 (N4,N2N_4, N_2N4​,N2​) = 2,02, 02,0
→ 2+0=22 + 0 = 22+0=2
合計 = 51+2=5351 + 2 = 5351+2=53
10で割った余り RRR = 53mod  10=353 \mod 10 = 353mod10=3
チェックディジット CCC = 10−3=710 - 3 = 710−3=7

「キ」= 7

(2) 空欄「ク」の解答
入力ミスの種類と検出可能性
「生成方法Aでは検出できないが、生成方法Bでは検出できる場合」が問われています。
生成方法Bでは奇数桁と偶数桁を別々に扱い、奇数桁は3倍するため、特定のエラーが検出可能です。

選択肢を確認すると:選択肢3:「連続する2つの桁の順序を逆にする」 が該当します。

例:IDが「12345」で「34」を「43」にする場合、奇数桁と偶数桁の重みづけが異なるため、生成方法Bでは検出可能となります。

答えキ:7
ク:3

ということで、ChatGPTも正しく回答しました!

ちょっと待て! 本当にそうか?

最初の私の解説ですが、疑って読んでみてくださいねw
実は、かなり怪しいことを回答していますwww
というか、「受験生であれば、こう考えるべき」という説明になっていることを見抜けているでしょうか?

実際のプログラムの設計仕様書として考えると、ダメな問題になっていることに気が付いてください。下記の文章には、曖昧な部分があって、正しい回答が出せないように思うのですよね・・・・

プログラムを設計する上では、曖昧なところがあると、読み手の解釈によって条件が変わってしまい、それが大きなトラブルになります。

私が気になっているのは・・・

「連続する二つの桁の数字をそれぞれ間違える」は、「連続する二つの桁の数字の順序を逆にする」を内包している、つまり、「間違える」の中に「順序を逆にする」は含まれるんじゃないの??って思ってしまったのですね。

もう少し具体的にみていきましょう。

連続する二つの桁の数字をそれぞれ間違えるってことは、下記のように、▲や■になるということです。

単に「間違う」としか記載されていないので、最初の数字以外であれば、どんな数字でもOKなはずです。

なので、たまたま、下記のようになっても、「間違った」ことになります。

あれ? ちょっと、待ってください! これって、「連続する二つの桁の数字の順序を逆にする」と同じですよね?

ということは、1でも3でも正しいってことになりませんかね??

どちらを選んでも正しい?????

ところが、ですよ!!

これは、大問題だ! 誰も何も言わないなんて、おかしいだろ! 試験問題が間違っている、出題がおかしい!!(怒)

って、なりかけたのですが、そこは、さすがの共通テストです。最初の文言に、こう書いてありました・・・・

むむむむむ・・・・・ こっ、これが「情報」の真髄なのかぁ・・・www

P.S.
まだまだ「情報」の問題はあるのに、ぜんぜん、進まねーwwww

いいなと思ったら応援しよう!