0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ヘックス数とスターナンバー(六芒星数)

Posted at

こんにちは|こんばんは。カエルのアイコンで活動しております @kyamaz :frog: です。

はじめに

本稿のタイトルにあるヘックスですが、ヘキサ(Hexa)がギリシャ語で「6」を表し、ヘキサゴン(hexagon)は英語やギリシャ語で「六角形」を表すのと同様に、ヘックス数は「6」にちなんだ名前です。ヘックスといえば、六角形が並んだ菱形状の盤を使って、2人で対戦するボードゲームだったりもします1

ヘックス数

ヘックス数は「中心つき六角数」の別称です。単なる六角数とは別になり「中心つき(centered)」というのが必要です。次のせきゅーんさんのエントリにあるとおり、一般項 $H_n = 3n^2−3n+1$ で表されます。

Haskellでのプログラムも気が抜けるほど簡単ではありますが、以下に記します。(オンライン整数列大辞典ではA003215にリストがあります。)

ヘックス数を出力する
ghci> hn = [3*n*(n-1)+1 | n<-[1..]]
ghci> take 60 hn
[1,7,19,37,61,91,127,169,217,271,
331,397,469,547,631,721,817,919,1027,1141,
1261,1387,1519,1657,1801,1951,2107,2269,2437,2611,
2791,2977,3169,3367,3571,3781,3997,4219,4447,4681,
4921,5167,5419,5677,5941,6211,6487,6769,7057,7351,
7651,7957,8269,8587,8911,9241,9577,9919,10267,10621]

六芒星数

六芒星数とは、六芒星状に点を並べた時の点の総数を表します。英語ではスターナンバー(star number)といい、数式では $6n(n - 1) + 1$ で表されます。
一般項はヘックス数に一辺が$n-1$の三角形を6つ付ける形になることから、$S_n = H_n + 6 \times \frac{1}{2} n(n-1) $ から得られます。

こちらも、簡単なHaskellプログラムを以下に記します。(オンライン整数列大辞典ではA003154にリストがあります。)

六芒星数を出力する
ghci> sn = [6*n*(n-1)+1 | n<-[1..]]
ghci> take 50 sn
[1,13,37,73,121,181,253,337,433,541,
661,793,937,1093,1261,1441,1633,1837,2053,2281,
2521,2773,3037,3313,3601,3901,4213,4537,4873,5221,
5581,5953,6337,6733,7141,7561,7993,8437,8893,9361,
9841,10333,10837,11353,11881,12421,12973,13537,14113,14701]

六角数

ヘックス数は”中心つき”という要請がありましたが、六角数はヘックス数と同様に各辺に$n$個の六角形を考えて、その2辺を共有して残りの4辺を新たに$n+1$個にする点の増やし方をするときの数列をいいます。Wikipediaの六角数 に点の増やし方が説明されております。参考にしてみてください。
この六角数の一般項は、$h_n = n(2n-1)$ です。漸化式は $h_{n+1} = h_n + 4n + 1$ です。漸化式が示している意味は、4で割ると1余る整数を1から小さい順に加えた数ということと同義となります。

上の2つと同様に、簡単ですがHaskellで出力してみましょう。(オンライン整数列大辞典ではA000384にリストがあります。)

六角数を出力する
ghci> xn = [n*(2*n-1) | n<-[1..]]
ghci> take 50 xn
[1,6,15,28,45,66,91,120,153,190,
231,276,325,378,435,496,561,630,703,780,
861,946,1035,1128,1225,1326,1431,1540,1653,1770,
1891,2016,2145,2278,2415,2556,2701,2850,3003,3160,
3321,3486,3655,3828,4005,4186,4371,4560,4753,4950]

中心つき多角数と多角数

本稿では、中心つき六角数(ヘックス数)と六角数について一般項を記載しましたが、三角数、四角数、五角数、・・・が同じく定義でき、その一般項を天下り的に紹介します。

中心つき多角数の一般項

$1$ 番目の中心つき $k$ 角数を $1$ とするとき、$n$ 番目の中心つき $k$ 角数 $C_{k,n}$ は以下の式で表されます。

$\displaystyle C_{k,n}={\dfrac {kn(n-1)}{2}}+1$

多角数の一般項

$0$ 番目の多角数は全て形式的に $0$ とみなし、$n$ 番目の $k$ 角数 $P_{k,n}$ は以下の式で表されます。

$\displaystyle P_{k,n}= {\dfrac {(k-2)n^2 - (k-4)n}{2}}$

中心つき多角数の一般項 c(k,n) と多角数の一般項 p(k,n)
ghci> c k n = (k*n*(n-1) + 2) `div` 2
ghci> p k n = ((k-2)*n - (k-4)*n `div` 2

試しに、上記のヘックス数と六角数で検算してみると以下のとおり。

k=6 のときの検算
ghci> take 10 $ (c 6) <$> [1..]
[1,7,19,37,61,91,127,169,217,271]
ghci> take 10 $ (p 6) <$> [1..]
[1,6,15,28,45,66,91,120,153,190]

おわりに

本稿は六角形をもとにしたタイトルをつけましたが、五角数などを別にして闇雲にエントリを稼ぐつもりはなく、多角形についても紹介しました。なお、丸善出版より『五角形と五芒星』という書籍が出版されており、「5」にゆかりのある内容はこちらも参考にしてみてください。

ご一読いただきまして有り難うございます。
(●)(●) Happy Hacking!
/"" __""\

  1. ボードゲーム『ヘックス』ゲーム理論で有名でナッシュ均衡にも名を残すナッシュのエピソードもWikipediaには紹介されています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?