ISBNコードのしくみ

数学雑学数論数学雑学

本の背表紙にある13ケタの数字はISBNコードと呼ばれ、本屋やネット上で本を検索する際に役立っています。その13ケタの中に施されている数学的な工夫について紹介します。
①ISBNコードの概要
②ISBNコードの数学的工夫
③ISBNコード判定プログラム
④ISBNコード13ケタ目算出のプログラム



目次
  • 1. ①ISBNコードの概要
  • 2. ②ISBNコードの数学的工夫
  • 3. ③ISBNコード判定プログラム
  • 4. ④ISBNコード13ケタ目算出のプログラム

①ISBNコードの概要

ISBNコードとは、出版された書籍の1冊1冊に付いている13ケタの識別番号のことで、1書名ごとに1つ割り当てられています。このコードの中には、出版された国、出版社の情報が入っていて、本屋等の検索機で見つけたい本を識別することができます。(2007年より前に出版された本は10ケタのISBNコードとなっている。→ISBN-10について

ISBNコードのほとんどは書籍の背表紙にあります。例として、Fukusuke愛読書の『浜村渚の計算ノート』の背表紙を見てみると・・・


赤矢印のところに書かれているのがISBNコードです。

この

978-4-06-276981-5

という13ケタを使って、ISBNコードの見方を解説します。

(1)1ケタ目から3ケタ目(例なら"978″)
最初の3ケタの数字は、接頭数字といい、"978″か"979″しかありません。
日本も含め、ほとんどの国で出版される書籍には"978″がついています。

(2)4ケタ目(例なら"4″)
4ケタ目の数字は、国記号といい、"4″は「日本」で出版された書籍であることを表します。
日本の記号は1ケタですが、国によっては国記号で2ケタ、3ケタ使うところもあります

(3)5ケタ目から6ケタ目(例なら"06″)
国記号の次に来る数字は、出版社記号といい、"06″なら「講談社」の出版物であることを表します。
出版社によっては、5ケタくらいまで使うところもあります。

(4)7ケタ目から12ケタ目(例なら"276981″)
ここで、ついに書名記号となります。同じ出版社の書籍でもここだけは数字が違ってきます。
この数字により、『浜村渚の計算ノート』1巻であると識別されます。
国記号や出版記号で使ってきたケタ数がずれてきましたが、書名記号を12ケタ目まで使うことは全ISBNコード共通です。

(5)13ケタ目(例なら"5″)
最後の1ケタはチェック数字(チェックデジット)と呼ばれ、この数字だけは本の情報とは関係なく、12ケタ目までの数字によって、ユニークに決まります。(「ユニーク」は数学用語で「唯一」という意味) このチェック数字によって、ISBNコードの入力ミスを防ぐことができます。

このチェック数字は、どのようにして決まるのか?これを次の章で解説していきます。


②ISBNコードの数学的工夫

先ほど詳しく紹介したISBNコードの13ケタ目のチェック数字(チェックデジット)。この数字はどのような計算方法で、ユニークに決まるのかを説明します。

チェック数字の決め方

\begin{equation}
a_{1}a_{2}a_{3}a_{4}a_{5}a_{6}a_{7}a_{8}a_{9}a_{10}a_{11}a_{12}C
\end{equation}
チェック数字 \(~C \)は次の式を満たすように定まる。

\begin{multline}
(a_{1}+a_{3}+a_{5}+a_{7}+a_{9}+a_{11})\\
+3(a_{2}+a_{4}+a_{6}+a_{8}+a_{10}+a_{12})+C \equiv 0 (mod10)
\end{multline}


\begin{multline}
(a_{1}+a_{3}+a_{5}+a_{7}+a_{9}+a_{11})\\
+3(a_{2}+a_{4}+a_{6}+a_{8}+a_{10}+a_{12})  \\
+C \equiv 0 (mod10)
\end{multline}

つまり、偶数ケタの数字を全て3倍したものに奇数ケタの数字を全て足し、10でわりきれるようにチェック数字を選び加算するという方法で決められています。

この規則のおかげで、数字を入れ間違えたり、数字の順番を間違たりした場合、10で割り切れなくなるため、瞬時にエラーが出てきて、入力ミスに気づくことができます。

先ほど例で挙げたISBNコードについて見てみましょう。

ISBNコード

978-4-06-276981-5

のチェック数字を確かめてみる。
先ほどの式に数をあてはめていくと、

\begin{multline}
(9+8+0+2+6+8)\\
+3(7+4+6+7+9+1)+C \equiv 0 (mod10)
\end{multline}


\begin{multline}
(9+8+0+2+6+8)\\
+3(7+4+6+7+9+1) \\
+C \equiv 0 (mod10)
\end{multline}

\begin{align}
33 + 3 \times 34 + C &\equiv 0 (mod10) \\
\\
135+C &\equiv 0 (mod10) \\
\\
C&=5
\end{align}
よって、確かにチェック数字は5となっている。

もう1つ例を見ておきましょう。

このページの参考文献である『数字の国のミステリー』という本の背表紙です。↓

上側のバーコードの数字がISBNコードでした。ちなみに5,6ケタ目の"10″は「新潮社」を表します。
このISBNコードを先ほどの式にあてはめていくと、

\begin{multline}
(9+8+1+2+8+2)\\
+3(7+4+0+1+4+3)+C \equiv 0 (mod10)
\end{multline}


\begin{multline}
(9+8+1+2+8+2)\\
+3(7+4+0+1+4+3) \\
+C \equiv 0 (mod10)
\end{multline}

\begin{align}
30 + 3 \times 19 + C &\equiv 0 (mod10) \\
\\
87+C &\equiv 0 (mod10) \\
\\
C&=3
\end{align}
よって、チェック数字は3となり、写真と合致している。

ということで、チェック数字は数式で求めることができます。


③ISBNコード判定プログラム

プログラミングの勉強に作ってみました。
(2007年より前の10ケタのISBNコードの判定はこちら→ISBN-10の判定

<手順>
(1)テキストボックスに13ケタの数字を入れる。(ハイフンは不要)
(2)「ISBNコードですか?」ボタンを押す。




実用的では無いことは承知の上です・・・。


④ISBNコード13ケタ目算出のプログラム

こちらは、12ケタ目まで入力すると、13ケタ目(チェック数字)が算出されるプログラムです。
(2007年より前のISBN-10の10ケタ目算出はこちら→ISBN-10の10ケタ目算出

<手順>
(1)テキストボックスに12ケタの数字を入れる。(ハイフンは不要)
(2)「チェック数字を調べる」ボタンを押す。






ちょっとしたマジックができるかも!?


今回は、日常的に使われている数学ということで、ISBNコードの話でした。本の裏にある数列にこのような意味があり、数学も使われているなんて・・・。本屋に行きたくなりますね。

   
 
 


☆参考文献等
・マーカス・デュ・ソートイ(2016)『数字の国のミステリー』,pp.318-321,冨永星訳,新潮社.
・「日本図書コード管理センター」,< http://www.isbn-center.jp/index.html> 2016年3月8日アクセス

☆写真としての引用
・青柳碧人(2011)『浜村渚の計算ノート』,講談社文庫.

数学雑学数論数学雑学

Posted by Fuku