組み込みエンジニアの現場力養成演習ドリル(17)
「岡山県」「福岡県」「福島県」を漢字1字でどう表す? ―― 都道府県名を1文字にコード化せよ(その2)(3/4 ページ)
第2問の解答
各有向グラフで、リンク(矢印)の数(都道府県名)が、ノード(丸)の数(構成する漢字)より少ないか、同じである場合。
この条件は、すぐに発見できたと思います。これも、グラフ化して単純化したご利益です。どう1文字化するかは別にして、リンクの数がノードの数以下なら、1文字化は可能です。図2を見ると、どのグラフも、「リンクの数≦ノードの数」なので、現在の47都道府県名は、1文字化が可能です。
図3は、福岡県と岡山県の関係を示します。ここに、新たに、「福山県」が増えたのが図4です。「福山県」が増えても、「リンクの数=ノードの数」なので、1文字化は可能です。
図5では、新たに、「福山県」と「山岡県」が増え、図6では、「福山県」と「岡福県」が増えています。この場合、「リンクの数>ノードの数」なので、1文字化できません(設計上、拡張性として、この場合の1文字化も考える必要があります。この件は後述)。
「1文字化のアルゴリズム」と「分かりやすさ」
以上から、現在の47都道府県名を1文字化できることが論理的に分かりました。
図2のグラフで、「1文字化の最難関」は、構成要素の漢字全部が他と重なっている「福島」「福岡」「岡山」「長崎」「宮崎」「宮城」「愛知」の7県の1文字化ですね。有向グラフを使うと、都道府県名の1文字化アルゴリズムは以下のように簡単になります。
- 有向グラフから、1本のリンク(都道府県)を任意に選ぶ。その両端のノードのうち、片方を選び、それを該当都道府県の「1文字コード」とする。
- 上記で選んだノードとリンクに色を付ける。
- 有向グラフから、色が付いていないリンクを1本任意に選ぶ。その両端のノードで、かつ、色が付いていないものをどちらか1つ選び、その都道府県の「1文字コード」とする。
- すべてのリンクに色が付くまで、上記の「3. →2. 」のサイクルを繰り返す。
競輪の出走表では、「福」は福岡、「岡」は岡山、「山」は山口、「島」は福島、「根」は島根、「愛」は愛知、「野」は長野、「長」は長崎にしています。人気文字の1つ、「宮」はなんと、未使用です。宮崎は「崎」(長崎は「長」、長野は「野」)、宮城は「城」(茨城は「茨」)と略します。苦労の跡が見えますね。
競輪愛好家には、「崎」が宮崎で、「長」が長崎と自動的に分かるそうですが、一般人には「学習」しないと判別できません。直感では分かりません。純粋培養の大阪人の私には、大阪は「大」より「阪」の方が略記として馴染みがあります(阪神タイガースの「阪」なので)。ちなみに「大」は大分だと思ってしまいます。
「1文字化」と「分かりやすい」は別物です。ユーザーインタフェースでは、「分かりやすさ」を考慮しなければなりません。「分かりやすい1文字化」は、次の第3問で考えます。
ちょっと休憩:自動車のナンバー・プレートでの「1文字化」
「都道府県名の1文字化」で苦労したのは競輪だけではありません。次の問題に進む前に、ここで少し休憩し、他の分野での「1文字化」を見ましょう。
今の自動車のナンバープレートには、東京なら、「品川」「練馬」「足立」などの登録地の地名が入っています。このナンバープレートの地名には、「柏」のように1文字や、「尾張小牧」のように4文字もあります。
昔は、この地名表示が1文字の漢字でした。北海道では、今は、「札幌」「函館」「旭川」とフルネームで表示していますが、昔は、「札」「函」「旭」でした。北海道のように、7つも登録事務所があるのは例外で、たいていは1県に1つでした。ナンバープレートの場合、「漢字1文字表示」の原則は、「先頭の漢字を使う」で、「宮」は宮城、「大」は大阪、「長」は長野、「愛」は愛知、「山」は山口、「福」は福岡でした。そして、先頭の漢字がバッティングする「宮崎」「大分」「長崎」「愛媛」「山形」「山梨」「福井」「福島」のナンバープレートですが、「そのままの地名」でした。すなわち、宮崎県は「宮崎」、大分県は「大分」だったそうです*3)。
ナンバープレートの1文字化では、「基本は1文字だが、漢字がバッティングする場合は2文字とする」という柔軟なものでした。1文字に固執しないこの方式は、拡張性があります。なんとなく、出現頻度の多い文字を短いビット列に変換してデータを圧縮する「ハフマン符号」の雰囲気がありますね。
*3)「ナンバープレート」と「地名」でキーワード検索した結果、wikipediaの「日本のナンバープレート一覧」にヒットしました。そこに、登録地の旧表示として、「札幌」は「札」、「函館」は「函」と載っていたのですが、「宮崎」「大分」「長崎」「愛媛」「山形」「山梨」「福井」「福島」の7県については空白でした。「地名表示なしか?」と思いましたが、一応、7県の各運輸支局に電話で確認しました。「昔の地名表示がなんだったか?」は、所轄の官庁でも簡単に分からず(地名を表示し始めたのが1950年代の話なので、古い資料を探さねばならないため)、「調査してお知らせいたします」とのことで、わざわざお調べいただきました。運輸支局の皆さま、大変お世話になりました。ありがとうございました。ちなみに、「大」を大分ではなく大阪が取得し、「宮」を宮崎ではなく宮城が取り、「山」は山梨、山形ではなく山口へ行き、「福」が福島や福井ではなく福岡が獲得したのは、同じ漢字で始まる都道府県の中で、自動車の登録台数が最も多かったためとのことです。
第3問【制限時間:1時間】
都道府県名の1文字化において、「都道府県名に含む漢字で1文字化する」という競輪方式以外に、1文字化する方法を2つ以上、考えよ。ただし、都道府県名が連想しやすい1文字にすることを考慮せよ(解答では、5つ挙げた)。
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をフォロー