一進法 (いっしんほう)とは数 の表現方法の1つで、1 を底とする非標準的な記数法である。その名に反し、N 進法 で N を 1 にしたものとは異なるが、後述のように両者に関係はある。単進法と呼ばれることもある
[ 1] 。
この記法で書かれた数値を一進数(または単進数)と呼ぶ。
概要
一進法とは、任意の記号 を N 回繰り返すことで数 N を表すもので、自然数 を表現するもっとも単純な記数法である。例えば記号として 1 を利用した場合、十進法の 1, 2, 3, 4, 5, 6 は一進法で以下のようになる:
1, 11, 111, 1111, 11111, 111111
一進法には 0 を表す記号がなく、0 は空文字列 (何も書かない)によって表す。しかし、何も書かないと読者に判らなくなるので、便宜上はεで空文字列を表すこともある。
N 進数との関係
N 進数 表記
a
n
− − -->
1
… … -->
a
0
{\displaystyle a_{n-1}\ldots a_{0}}
は自然数
∑ ∑ -->
i
=
0
n
− − -->
1
a
i
N
i
{\displaystyle \sum _{i=0}^{n-1}a_{i}N^{i}}
を表している。ここで、形式的に
N
=
1
,
a
n
− − -->
1
=
⋯ ⋯ -->
=
a
0
=
1
{\displaystyle N=1,\;a_{n-1}=\cdots =a_{0}=1}
とすると、表記
1
⋯ ⋯ -->
1
{\displaystyle 1\cdots 1}
(1 を N 個並べたもの)
が
∑ ∑ -->
i
=
0
n
− − -->
1
1
⋅ ⋅ -->
1
i
=
n
{\displaystyle \sum _{i=0}^{n-1}1\cdot 1^{i}=n}
を表すことになり、一進数表記と一致する。これが「一進数」と呼ばれる由縁である。
具体的な用例
例えば、記号として縦棒である | (タリーマーク、tally mark )を使うと、6 は |||||| 、9 は ||||||||| 、十進法の12 は |||||||||||| として表現される。この記数法を画線法 という。指 を折って数える方法も一進法であるといえる。一進法は、スポーツ の試合で得点を数えるなど進行中の結果を集計するのに便利である。これは書き足していくだけの漸増的な記数法で、中間結果を消したり、捨てたりする必要がないからである。漢数字 の 一・二・三 や、ローマ数字 の I・II・III なども一進法的な由来であろうことが想像される。
5つ区切りのタリーマーク
| を使うのは、欧米 では最も一般的な方法である。単位 となるマーク は、読みやすいように奇数 (三 つか五 つ)ごとのグループに統められることが多い。偶数 では、四 つか六 つごとのグループに統められる場合もある。これは、十進法 など様々なN進法で「100,000,000」として表現される大きな数を読みやすくするために、スペース や区切り記号(コンマ など)を使うのに似ている。グループの中の最初、第三(三つ区切りの場合)、第五(五つ区切りの場合)のマークは、容易に識別できるように、他のマークに対して斜めに書かれたり、横線を入れたりすることがある。
5で区切る場合には、5を表すマークは five-bar gate とも呼ばれ、「縦線4つに横線1つを入れる」方法で表現する。3で区切る場合には、3は「H 」の横線を両脇に出張らせる方法で表現する。偶数も同じで、4で区切る場合には「♯」や「口」、6で区切る場合には「縦線4つに横線2つを入れる」や「⊠」(口の中に×) などの方法で表現する。
奇数(三つか五つ)区切りの場合には、グループを二つ統めて円で囲んだり(3 ×2 =6 、5×2=10 )、四つ統めて円で囲んだり(3×4 =12 、5×4 =20 )することもある。同様に、四つ区切りの場合には、三つか五つで統めて円で囲んだり(4×3=12、4×5=20)、六つ区切りの場合には六の冪数で統めて円で囲んだりする(62 =36 、63 =216 )こともある。
正の字
日本 や中国 では五画の漢字 である正 を書いて数える方法があるが、これも5つごとのグループで統める一進法である。
アルゼンチンなどで使われる画線法
アルゼンチン やブラジル では、 Truco (en ) というゲーム を遊ぶときなどに一進法が広く用いられる。
「H」が四つに達したら新しい記号を出す(十二進法 )、「正」が四つに達したら新しい記号を出す(二十進法 )といった標準的なN進法 と比較して、大きな数の計算 には一進法は不便なので使われない。また、固定的な文書で使われることもほとんどない。
計算理論などにおける一進法
一進法には、計算理論において計算量 を「人工的に」減らすため、などといった応用がある。例として、自然数の素因数分解 問題は入力が二進法で与えられる場合には、入力長 n の多項式時間 では実行不可能だと考えられている(素因数分解仮定)。しかし、入力が一進法で与えられるならば、入力長の多項式時間で実行するのは容易である(エラトステネスの篩 で十分)。二進法での入力長 n は入力の数 N の対数 log N に比例するが、一進法での入力長は入力の数 N それ自身に比例するからである。
他にもコンピュータ科学 などには多くの応用がある。たとえば、チューリングマシン の初歩的な例題などでは、テープ上に数字を並べてそれを位取り記数法 で扱うのは相当に煩雑であるが、一進法であれば「右に進んでいって1があれば0に書き換えて、今度は左に進む」といったような手順で簡単に扱うことができる。
出典
^ 和田健之介「システムの進化と創造性」『現代思想』第22巻第6号、青土社、1994年5月、192-207頁、NDLJP :6055574 。
関連項目
ウィキメディア・コモンズには、
一進法 に関連するカテゴリがあります。
外部リンク