回答

✨ ベストアンサー ✨

改めて。参考になれば幸いです。

マスク

丁寧に解説してくださり、有難うございます😊

マスク

個数ー1をしたものが(7や3など)111や011になるのは何故なんですか?

dio

コンピュータの世界は1と0しか扱えないんです。要するに単純に言い換えると2進数の世界です。
ところが、人間は10進数でものを考えていますから、7,3という数字はコンピュータの世界には無いので、2進数で表現しているんです。

また、別の角度からのアプローチですと、今回の圧縮の問題は、非常に現実的な問題で、-1をしているのは2個連続の表現をそのまま2としてしまうと、連続している個数に無駄が生じます。
なぜなら2,3,4...という数を、そのまま使うと、情報量が増えてしまうからです。そのための工夫が-1なんです。

また、さらにA,Bの切り替えも3ビットごとに交互に入れ替わるのはルール上明らかなのでその斜線で引いてあるようにこれも情報量を節約する工夫です。

こういうのを一般的に圧縮アルゴリズムといいます。

今回の問題は、少し問題の作者が都合の良いように作っている感があるのですが、実際の画像の圧縮技術はこれとほぼ似た部分があります。
画像のデータは背景が黒だとすると、
一行目に0が100万個並びます。
それをいちいち、00000....000と表現するよりも、0とその0の個数で表現する方が圧倒的に圧縮効率が良いんです。

これで、回答になっていますかねぇ。
また分からないところがあれば、是非質問して下さい。情報のノート作ってみようかなと思う今日このごろです。

マスク

なるほど、0と1以外の数字は二進数で表すんですね!
また、問題のルールになっている-1や3ビットずつ入れ替わるのも無駄を少なくするためにしている工夫だったのだと知ることができました!
丁寧でわかりやすい解説ありがとうございました😊

この回答にコメントする

回答

簡単に言うと1ビットは情報の中で最小の単位を表していて、1と0のどちらかの情報を持ちます。
1111と4つある場合は、1の情報が4つあるので、4ビットになります。

例えばパソコンを買うときに32ビットとか64ビットのパソコンを買うと思いますが、これは、32ビットPCの場合、11100111...1111と32桁の0または1の値を扱えるコンピュータとなります。
これは、2の32条(厳密には誤差あり)の値(情報量)を扱う計算ができますよ。という意味です。

ちと説明が下手で申し訳ないです。

dio

スミマセン。問題文無視してました。
下に解説というか、途中の計算式まで
載せました。失礼しました。

この回答にコメントする
疑問は解決しましたか?