組み込みエンジニアの現場力養成ドリル(15)
世界で最も難しい2進数パズル ~2進数の世界に住むことの不思議~(3/3 ページ)
終わりに
ソフトウェア開発技術者は、「2進法の世界」に住んでいます。2進数は不思議な世界で、日常生活で使っている10進数とは大きく異なります。2進数特有の性質をうまく使うと、ソフトウェア開発の現場で、効率の良いデータの設計や、画期的なアルゴリズムを考えることが可能になります。今回のコラムで、2進数の不思議を体験し、2進数の新しい使い方を知っていただければうれしく思います。
【上級バージョンの解答】1箱のチョコレートバーの最少本数は何本か?
この問題ですが、512本より少ない本数による組み合わせは幾つも(50前後)あります。例えば、1箱に174本あれば、各箱から1本、2本、4本、8本、84本、103本、122本、146本、160本、174本を取り出して計量し、重量不足の箱を全て特定できます。そして、最少本数ですが、正解は「157本」です。各箱から5本、10本、20本、40本、75本、106本、138本、144本、150本、157本の組み合わせで取り出せば、重量不足のチョコレートバーの箱を特定できます。
「最少本数は157本」というパズルの解答は、実際のアルゴリズムとして使えるでしょうか?(使うべきでしょうか?) 筆者の個人的な答えは「絶対に使っちゃダメ」です。「チョコレートバー」や「チェス盤」の問題は、解答を知らない人でも、解説を読むと、プログラマーなら誰しも、「なるほど」と一瞬で理解できます。
一方、「157本」の問題では、瞬時に「なるほど」とは納得できません。「157本」は、いろいろな組み合わせを試行錯誤的に探索し、時間と労力をかけて苦労の末に発見したマニアックな解答です。157本による複雑怪奇な組み合わせよりも、2の累乗の本数を取り出して計量する方が、誰もが理解しやすく、シンプルかつエレガントで、検証も簡単です。こちらの方がアルゴリズムとして、圧倒的に優れていると思います。例えば、「保守」として、チョコレートの箱の数を10箱から11箱に拡張する場合、2進数によるアルゴリズムならば、1箱のチョコレートの数を10ダース(1200本)に増やし、11箱目から1024本を取り出すようにすればOKで、3分で変更が完了します。一方、「157本方式」ならば、11個の数字の和が一通りに決まる組み合わせを試行錯誤して探さねばなりません。
少々無駄があっても、少しぐらい効率が悪くても、ソースコードの行数が多くなっても、“理解容易性”を最優先させましょう! これが「他人にも分かりやすいプログラム」「保守しやすいソフトウェア」「バグが作り込みにくい設計」の第一歩だと思います。 (次回に続く)
◎「組み込みソフトウェア品質」関連記事 ~事例、ツール、ソリューション、課題~ など
» ソフトウェア品質は規則やテストではなく「ヒト」が作る
» ソフトウェア品質向上のキモは「行動」にあり
» 間違いだらけの組み込み系品質管理、面倒な品質管理を楽しむコツ
» PMBOK準拠の組み込みソフト品質管理プラットフォーム
» 上流工程の品質活動でソフトウェアの品質は向上するのか
Copyright © ITmedia, Inc. All Rights Reserved.
組み込みエンジニアの現場力養成ドリル
このコラムでは、組み込みエンジニアが日々の開発で実際に遭遇する「小さなトラブルを」取り上げ、演習形式で解説します。
この記事の著者
新着ホワイトペーパー PR
-
製品資料
[株式会社 Green AI] AIで脱炭素計画を最適化、初年度からエネルギーコストとCO2を削減する方法 -
市場調査・トレンド
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の普及戦略が公表 政府が目指すコスト・導入量のロードマップを解説 -
市場調査・トレンド
[スマートジャパン編集部] 導入が加速する再エネ・系統向け蓄電システム コスト・収益性の現状分析 -
技術文書・技術解説
[スマートジャパン編集部] いまさら聞けない「ペロブスカイト太陽電池」の基礎知識と政策動向 -
技術文書・技術解説
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の開発動向、日本の投資戦略やコスト目標の見通しは?
関連記事
こんなメディアも見られています
TechFactoryに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
特集
- マテリアルズ・インフォマティクスの動向調査
- 研究・開発職のデジタル活用調査
- 設計・解析業務におけるAI活用
- 3Dプリンタ利用動向調査
- CAD利用動向調査
- つながる工場の現状と課題
- 製造業におけるAI開発および活用の実態
- 設計・製造現場における品質管理
ホワイトペーパーランキング PR
-
1
EE Times Japan×EDN Japan 統合電子版:フィジカルAIが生み出す新たな「設計思想」――電子版2026年8月号
-
2
半導体装置メーカー 業績まとめ【2027年3月期第1四半期】
-
3
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part4)
-
4
一時は時価総額トヨタ超え キオクシア2026年度の動向
-
5
微細配線間の絶縁劣化をどう捉える? 先端パッケージ評価の最前線
-
6
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part1)
-
7
EE Times Japan×EDN Japan 統合電子版:2026年上半期の半導体業界を振り返る――電子版2026年7月号
-
8
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part3)
-
9
CADツールの見直しは本当に必要? 切り替えの理由と効果を7つの質問で検証
-
10
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part2)
TechFactory SNS
インフォメーション
注目情報をチェック
TechFactoryをフォロー