本文へスキップ
株式会社オープンナレッジ
株式会社オープンナレッジ Open Knowledge Inc.
国際物流×グラフ理論×会計自動化 読了目安:約3分 監修:加藤 明生(技術士[情報工学]一次 / 認定ITコーディネータ / 登録情報処理安全確保支援士)

世界中の全商品をたった「6桁の数字」で分類するHSコードと、15パズル(グラフ理論)で動く自動倉庫ロボットの数理とは?

1. 基本と全体像

この記事の要点と4つの章のご案内

身近なたとえ話と「3つの国際物流・数理ファクト」に関するイメージ写真
身近なたとえ話と「3つの国際物流・数理ファクト」
構造図解:HSコード6桁の構造と、15パズル型ロボット倉庫の最短探索に関するイメージ写真
構造図解:HSコード6桁の構造と、15パズル型ロボット倉庫の最短探索
世界中の全商品をたった「6桁の数字」で分類するHSコードと、15パズル(グラフ理論)で動く自動倉庫ロボットの数理とは? の各章におけるテーマと要点一覧表
章構成 主なテーマ 要点と確認ポイント
1. 基本と全体像 身近なたとえ話と「3つの国際物流・数理ファクト」 世界中の商品を6桁で仕分ける「HSコード」と、15パズルの数学(グラフ理論)で動く「倉庫の省スペース整理術」を味方につければ、小さな会社でも最小の人員で世界中に商品を届けられます。
2. 現場での進め方と対策 構造図解:HSコード6桁の構造と、15パズル型ロボット倉庫の最短探索 【身近なたとえ話:世界共通の「図書館の棚番号」と「満車駐車場の15パズル」】
3. 関連する制度とルール 実践のポイント:世界をつなぐ6桁の言語と、倉庫を動かすパズルの数学 言葉の違う200カ国へ荷物を送るとき、商品名を日本語や英語で書くだけでは税関で混乱が起きます。そこで「世界中の図書館で同じ6桁の棚番号(HSコード)を使う知恵」が生まれました。さらに倉庫の中では、広い通路を空ける代わりに「満車に近い駐車場で、たった1台分の空きマスを使って奥の車をスッと出す15パズル(A*最短経路探索)」の数学を使うことで、狭い倉庫でも従来の3倍以上の荷物を出し入れできるようになっています。
4. 詳しい技術仕様としくみ 理解を深める確認クイズと関連コラム HS条約(商品の名称及び分類についての統一システム)により、世界200以上の国・地域で取引される貿易品の98%以上が、共通の6桁番号(類2桁・項4桁・号6桁、約5,000以上の品目群)によって一意に分類されています。
第1章〜第4章では、実務チェックリスト・公的制度基準・詳しい技術仕様を確認できます。
この記事の要点 対象:物流・卸売・製造業・越境ECに関心のある皆様

世界中の商品を6桁で仕分ける「HSコード」と、15パズルの数学(グラフ理論)で動く「倉庫の省スペース整理術」を味方につければ、小さな会社でも最小の人員で世界中に商品を届けられます。

身近なたとえ話と「3つの国際物流・数理ファクト」

【身近なたとえ話:世界共通の「図書館の棚番号」と「満車駐車場の15パズル」】

言葉の違う200カ国へ荷物を送るとき、商品名を日本語や英語で書くだけでは税関で混乱が起きます。そこで「世界中の図書館で同じ6桁の棚番号(HSコード)を使う知恵」が生まれました。さらに倉庫の中では、広い通路を空ける代わりに「満車に近い駐車場で、たった1台分の空きマスを使って奥の車をスッと出す15パズル(A*最短経路探索)」の数学を使うことで、狭い倉庫でも従来の3倍以上の荷物を出し入れできるようになっています。

FACT 01 / 世界税関機構(WCO)統計

200カ国・貿易品98%を結ぶ6桁

HS条約(商品の名称及び分類についての統一システム)により、世界200以上の国・地域で取引される貿易品の98%以上が、共通の6桁番号(類2桁・項4桁・号6桁、約5,000以上の品目群)によって一意に分類されています。

FACT 02 / グラフ理論と経路計画

空き15%で効率3〜4倍の自動倉庫

グリッド型高密度自動倉庫では、空きスペースがわずか10〜15%であっても、グラフ理論の「A*(エースター)最短経路探索」と「多エージェント経路計画(MAPF)」によりロボット同士が衝突せず協調動作し、ピッキング効率が3〜4倍に向上します。

FACT 03 / DDP越境EC × freee会計

関税計算から記帳まで一貫連携

注文時に関税・消費税を自動計算して決済する「DDP(関税込み持込渡し)」と、クラウドERP「freee会計」へのAPI自動仕訳連携を組み合わせることで、中小メーカーの海外直販にかかる事務工数と通関トラブルを劇的に圧縮できます。

構造図解:HSコード6桁の構造と、15パズル型ロボット倉庫の最短探索

01 世界共通6桁「HSコード」のツリー構造(例:緑茶) 09 第09類(2桁) 02 項(4桁: 0902) 10 号(6桁: 0902.10) ・09(類):コーヒー、茶、マテ及び香辛料 ・0902(項):茶(香味を付けてあるかないかを問わない) ・0902.10(世界共通6桁):緑茶(発酵していないもの・3kg以下) ※7桁目以降は各国が国内統計・税率用に自由に追加(日本は9桁) 02 15パズル(A*アルゴリズム)高密度自動倉庫 棚 A1 棚 A2 目標荷 棚 B1 空きマス 移動中↓ 棚 C1 棚 C2 空きマス 【グラフ理論の計算式】 f(n) = g(n) + h(n) ・g(n):ここまでの移動歩数 ・h(n):出口までの推定最短歩数 通路をなくし85%以上を荷物で 埋めても、最小手数で奥の箱を 出荷口へ運び出します。
物流・貿易の課題 従来の現場(ベテラン頼み・手作業) 数理・AI・freee連携による改善後
倉庫の棚配置とピッキング 通路スペースが半分を占め、人が毎日1万歩以上歩く 出荷頻度(ABC分析)と最短経路計算で移動距離を60%削減
海外発送時のHSコード特定 分厚い関税率表を手でめくり、記載ミスで現地税関で保留 原材料と用途からAIが6桁コードを候補提示しインボイス自動生成
関税・送料・外貨の経理処理 為替レートを電卓で計算し、月末に会計ソフトへ手打ち DDP決済データとfreee会計を自動連携し、転記時間をゼロへ

実践のポイント:世界をつなぐ6桁の言語と、倉庫を動かすパズルの数学

1. この世のすべてのモノを6桁で表す「HSコード」という人類の知恵

世界中に存在する何千万種類もの商品——朝のコーヒー豆から、スマートフォンの半導体、医療用の精密機器、そして大阪・高槻の特産品に至るまで——を、たった6桁の数字で分類する辞書があります。それが世界税関機構(WCO)が管理する「HSコード(Harmonized System Code)」です。

HSコードの美しいところは、左から順番に「大きな分類」から「詳しい分類」へと木構造(ツリー)になっている点です。最初の2桁が「類(Chapter:全97類)」、4桁が「項(Heading)」、そして6桁目が「号(Subheading)」を表します。たとえば「第09類(コーヒー・茶・香辛料)」→「0902(茶)」→「0902.10(発酵していない緑茶・3kg以下)」という具合です。この6桁は世界200以上の国と地域で構造的に共通しているため、言葉が通じなくても、6桁の数字さえ伝えれば世界中の税関と正確に会話ができるのです。

2. なぜ自動倉庫は「15パズル」の数学で荷物をぎっしり詰められるのか?

次に、商品が保管される倉庫の科学を見てみましょう。従来の倉庫では、フォークリフトや人が通るための「通路」に床面積の40〜50%を割く必要がありました。「通路をなくして、箱を隙間なく詰められたら2倍入るのに…」という夢を実現したのが、格子状のフレームの上をロボットが走り回るグリッド型自動倉庫(AutoStoreやパズル型立体駐車場など)です。

ここで主役となるのが、情報工学の「グラフ理論(A*アルゴリズム)」です。15パズルで1箇所の空きマスを使って数字を揃えるように、AIは「現在の荷物の並び」を1つの状態(ノード)として捉え、f(n) = g(n)[これまでの移動手数] + h(n)[ゴールまでの最短推定手数]という数式をミリ秒単位で計算します。さらに、よく売れる商品を自然と上の段・手前のマスへ浮かび上がらせる学習を行うため、小さな町工場の部品庫や地域の物流拠点でも、驚くほど少ないスペースと歩数で出荷作業が完結します。

3. 中小企業の海外直販(DDP)と「freee会計」をつなぐ一貫連携の仕組み

かつて海外のお客様に商品を届ける際、一番のトラブル原因は「荷物が現地の空港に着いたあと、受取人に突然の関税支払いが求められて受取拒否される(DDU方式)」ことでした。現在は、注文画面でHSコードから現地の関税・消費税を事前に自動計算し、送料込みで一括決済する「DDP(Delivered Duty Paid:関税込み持込渡し)」が主流になりつつあります。

オープンナレッジでは、この物流・通関データとクラウド会計ソフト「freee会計」を自動でつなぐ設計を得意としています。注文が入ればAIがインボイス(通関書類)の下書きを作り、出荷が完了すれば外貨レートと送料・関税立替分が自動で会計帳簿へ記帳されるため、社長や事務スタッフの方が夜遅くまで伝票を打ち直す必要はもうありません。

今日から在庫管理や発送業務に活かせる「3つの物流・数理チェックリスト」

クリックして自社の現場を振り返ってみましょう(小さな倉庫や事務所でも今日から応用できます)。

理解を深める確認クイズと関連コラム

【ミニクイズ】世界200カ国以上の税関で共通して使われている「HSコード」は、世界共通の部分が「何桁」で決められているでしょうか?

選択肢 A:3桁(郵便番号の上3桁と同じ) クリックして判定 →

惜しいです!3桁だと世界中の何万種類もの商品を分類しきれないため、もう3桁多い数字が使われています。ぜひ選択肢Bを開いてみてください。

選択肢 B:6桁(類2桁 + 項2桁 + 号2桁の合計6桁) クリックして判定 →

大正解です! 世界中のどの国へ輸出・輸入するときも、最初の「6桁」は世界共通のルールになっています(7桁目以降は各国が国内の細かい税率区分として追加しています)。

選択肢 C:100桁(商品の特徴をすべて数字で並べる) クリックして判定 →

100桁もあると人間が入力するときに間違えてしまいますね。たった「6桁」のツリー構造であらゆる商品を整理できるのがHSコードの美しさです!

明日誰かに話したくなる「関連コラム・豆知識」

「ドローンやスマホは、昔のHSコード辞書に載っていなかった!どうやって分類した?」
HSコードは5年に1度、時代に合わせて大改訂されます。たとえば「空飛ぶカメラ付きドローン」が登場した当初は、「ヘリコプター(航空機)」「デジタルカメラ」「動くおもちゃ」のどれに分類するかで世界中の税関が議論になりました。2022年の改訂でついに「無人航空機(8806項)」という専用の棚番号が新設され、世界中のドローン貿易がスムーズになりました。

関連資料・解説記事

手順 01:関連する読みもの・自己診断ツール

伝票・メール自動化の削減時間を試算

毎日の送り状転記や受注メール処理を「プロンプト不要の自律AI」に任せた場合、月何時間・何万円のゆとりが生まれるか3秒で試算できます。

知識の自己診断ツールハブを見る →
手順 02:小規模シリーズ&業務自動化

「帳票・バックオフィス自動化構成」&freee連携

FAXやPDFの注文書・納品書を自動で読み取り、出荷データとfreee会計へ自動連携。厚労省75%助成金でのDX人材育成研修も承ります。

自律AI・業務自動化を見る →
手順 03:不要な機器提案の排除の個別相談

物流・受発注DX オンライン相談

「送り状の転記をなくしたい」「海外販売や在庫管理を楽にしたい」など、認定ITコーディネータの代表CTOへ気軽にご相談ください。

ご相談窓口へ(電話・Web) →
技術仕様・実装解説(WCO HS-CODE TAXONOMY & MAPF GRAPH THEORY) 4. 詳しい技術仕様としくみ
技術アーキテクチャと実装仕様

国際統一商品分類(HSコード6桁)の階層木分類器と15パズル偶置換群 A_15・マルチエージェント経路計画(CBS)の数理

本稿では、貿易実務と自動倉庫ロボティクスを支える2つの離散数学モデルとして、(1) 世界税関機構(WCO)のHS条約に基づく21部・97類・約5,300サブヘディングの階層木と関税率表解釈通則(GRI 1〜6)の決定木推論、および (2) 高密度グリッド型自動倉庫(AutoStore / AGV群)における商品の出し入れを15パズル(置換群 S_16 の偶置換部分群 A_15)および Conflict-Based Search(CBS)によるマルチエージェント経路計画(MAPF)として定式化するアルゴリズムを解説する。

Customs Taxonomy
WCO HS 2022/2027 (6-Digit + NACCS)
Algebraic Invariant
Alternating Group A_15 Parity
Pathfinding Heuristic
Manhattan + Linear Conflict A*
Multi-Robot Solver
Conflict-Based Search (CBS)
1. 設計仕様・数理モデル(Formal Architecture, Protocol Internals & Mathematical Formulation)

1. 【HSコード(Harmonized System)の6桁階層木と解釈通則 GRI 1〜6 の形式論理】 国際貿易されるすべての物理的商品は、世界税関機構(WCO)が定める6桁のHSコード(上2桁=類 Chapter、中2桁=項 Heading、下2桁=号 Subheading、さらに日本国内では統計品目番号3桁+NACCS用1桁を加えた計10桁)へ一意に写像される。商品の分類は単なるキーワード検索ではなく、「関税率表の解釈に関する通則(GRI 1〜6)」という厳格な優先順位付き公理系に従う。特に複合製品(例:カメラ付きドローンやスマートウォッチ)では、GRI 3(b)「重要な特性(Essential Character)を与える構成要素」の判定、あるいは GRI 3(c)「等しく分類可能な項のうち数字上の配列において最後となる項」という決定論的タイブレーク規則が適用される。

2. 【15パズルの可解性不変量:転倒数パリティと交代群 A_15】 高密度自動倉庫において、空白セル(エンプティ・ビン)を1マスだけ確保して多数のコンテナをパズルのようにスライド移動させる問題は、古典的な 4x4 15パズルの一般化である。タイル配置の転倒数(Inversion Count: i < j かつ p_i > p_j となるペア数)を N_inv、空白マスの行番号(下からの距離)を r_blank とするとき、任意の合法移動に対して I = (N_inv + r_blank) mod 2 は不変量(Invariant)となる。すなわち、状態空間全 16! = 20,922,789,888,000 通りのうち、初期状態から到達可能な配置はちょうど半分の偶置換群 |A_15| * 16 = 16! / 2 = 10,461,394,944,000 通りに厳密に制限される。

3. 【マンハッタン距離+線形競合(Linear Conflict)ヒューリスティックと CBS】 単一パズルの最短手数探索(IDA*)では、各タイルの現在位置 (x_i, y_i) と目標位置 (x_i^*, y_i^*) のマンハッタン距離和 h_M = sum |x_i - x_i^*| + |y_i - y_i^*| に加え、同一行・同一列内で目標順序が逆転しているタイル対ごとに +2 手を加算する Linear Conflict ヒューリスティックが許容的(Admissible: h(n) <= h*(n))かつ一貫的(Consistent)である。さらに複数のAGVロボットが同時稼働する倉庫では、個別A*探索の上位に「頂点競合((v, t) の衝突)」と「辺競合(すれ違い衝突)」を解消する制約木(Constraint Tree)を置く Conflict-Based Search(CBS)によって、大域最適(Sum-of-Costs 最小)な無衝突軌道をリアルタイムに算出する。

2. パラメータ・構成仕様(WCO HS-Code Structure & Automated Warehouse Graph-Theoretic Complexity)
Mathematical / Domain LayerFormal StructureInvariant / MetricOperational Guarantee
WCO HS Code (Digits 1-6)21 Sections -> 97 Chapters -> ~5,300 SubheadingsGRI 1 -> 2(a,b) -> 3(a,b,c) -> 4 -> 5 -> 6世界200以上の国・地域で同一の6桁分類コードが通用
Japan Tariff Schedule (Digits 7-10)6-Digit HS + 3-Digit Statistical + 1-Digit NACCSEPA/FTA 原産地規則(CTC: 関税分類変更基準・VA基準)通関申告時の関税率・消費税・他法令(食品衛生法等)自動判定
15-Puzzle Grid TopologySymmetric Group S_16 / Alternating Subgroup A_15Parity Invariant: (N_inv + delta_row) mod 2 == 0不可能な配置のO(n^2)事前排除とIDA*による最短手数保証
Multi-Agent Warehouse (MAPF)Space-Time Graph G_T = (V x {0..T}, E_T)Conflict-Based Search (Vertex & Edge Constraints)デッドロック・衝突ゼロでの高密度ビンピッキング
3. 実装コード・設定仕様(Executable Specification Code (crates/ok-logistics-core/src/fifteen_puzzle_invariant.rs)) Rust Edition 2024 (#![forbid(unsafe_code)])
#![forbid(unsafe_code)]

/// Verifies whether a 4x4 15-puzzle board configuration (0 = blank tile) is mathematically
/// solvable to the standard goal state `[1, 2, ..., 15, 0]` via Alternating Group A_15 parity.
#[inline]
pub fn is_solvable_15_puzzle(board: &[u8; 16]) -> bool {
    let mut inversions: u32 = 0;
    let mut blank_row_from_bottom: u32 = 1;

    for i in 0..16 {
        let tile_i = board[i];
        if tile_i == 0 {
            blank_row_from_bottom = 4 - (i as u32 / 4);
            continue;
        }
        for j in (i + 1)..16 {
            let tile_j = board[j];
            if tile_j != 0 && tile_i > tile_j {
                inversions += 1;
            }
        }
    }
    // For an even-width grid (W=4), solvable to goal iff (inversions + blank_row_from_bottom) is odd
    (inversions + blank_row_from_bottom) % 2 == 1
}

/// Computes the admissible Manhattan Distance + Linear Conflict heuristic for IDA* search.
#[inline]
pub fn manhattan_plus_linear_conflict(board: &[u8; 16]) -> u32 {
    let mut dist: u32 = 0;
    for (idx, &tile) in board.iter().enumerate() {
        if tile == 0 {
            continue;
        }
        let target_idx = (tile - 1) as usize;
        let (r, c) = (idx / 4, idx % 4);
        let (tr, tc) = (target_idx / 4, target_idx % 4);
        dist += r.abs_diff(tr) as u32 + c.abs_diff(tc) as u32;
    }
    // Add +2 moves for each row-wise linear conflict
    for row in 0..4 {
        for c1 in 0..4 {
            let t1 = board[row * 4 + c1];
            if t1 == 0 || ((t1 - 1) as usize / 4) != row {
                continue;
            }
            for c2 in (c1 + 1)..4 {
                let t2 = board[row * 4 + c2];
                if t2 != 0 && ((t2 - 1) as usize / 4) == row && t1 > t2 {
                    dist += 2;
                }
            }
        }
    }
    dist
}
4. 詳しい技術仕様としくみ(システム設計・数理モデル・実装例)

動的CMS/PHPランタイム攻撃面(CVE-2024-4577等)の解剖とAstro+Rust静的分離設計

プロトコル仕様・数理モデル・Rust 2024 実装コードの詳細は、専門技術モノグラフにて公開しています。

技術モノグラフを読む →
ご質問・公的制度の活用に関するお問い合わせ窓口

掲載資料に関するご質問・公的制度活用のご案内

本ページの図解や解説内容に関するご質問、経済産業省「SCS評価制度」やIPA「SECURITY ACTION・サイバーセキュリティお助け隊サービス」等の公的制度の確認方法について、落ち着いた参考窓口としてご案内しております。売り込みや営業連絡は一切行いませんので、社内勉強会やご家庭での確認資料としてご自由にご活用ください。

図解・ビジュアルの拡大表示

図表内のテキストもそのまま選択・検索可能です(ベクターSVG描画) 枠外クリックまたは ESC キーで閉じます