Parking Function、 駐車関数、木
Parking Function
台の車(
) が順番に駐車場に入ってくる。駐車スペースは
個 (
) ある。
1番目の車から順番に駐車する。 番目の車は駐車スペース
に停めようとする (
)。このとき、空いていない場合は
、それでも空いていない場合は
と次々に隣に停めようとする。
駐車スペース も空いていない場合は駐車することができず、(ほかの場所が空いていたとしても)失敗する。どこかに駐車した場合、次の車が入ってくる。
数列 について、
台すべての車が駐車できる場合、数列
を Parking Function と呼ぶ。
問題
長さ の Parking Function は何通りあるか求めよ。
例 
3通り。
答え
Parking Function の個数を とすると、
。
上記の問題の代わりに駐車スペースが円形に並んだような問題を考える。
駐車スペース を追加して考える。このとき Parking Function とは限らない数列は
を満たす
通りが考えられる。
車は駐車スペース にも停めようとする。さらに、駐車スペース
が空いていない場合は駐車スペース
に戻って停めようとし、空いていない場合は
と同様に停めようとする場合を考える。
この場合であれば全ての車が駐車することができ、最後には駐車スペースが一箇所だけ空いている。
の数列に対して最後に空く駐車スペースは
が均等に現れ、それぞれ
通り。そして「最後に
が空いている」ことと「
は Parking Function」は同値である。
よって元の問題の答えは 。

ケイリーの公式 (Cayley's formula)
頂点のラベル付き木構造の数は
であり (ケイリーの公式)、Parking Function と一致する。なので1対1で対応させるようなアルゴリズムの1つを書く。
終わりに
次の2つの内、1つでも満たすような数列も Parking Function である。
- 任意の非負整数を加算することを任意の回数行うことで、
の置換を得ることができる
- ソートし得られた数列
について、任意の
において
が成り立つ
以下は全て 通りある。
- 長さ
の Parking Function の数
頂点のラベル付き木の数
頂点の辺ラベル付き根付き木の数
頂点のラベル付き根付き森の数
辺ラベル付き根付き木はアルゴリズムで0を根とすれば得られる。
根付き森はアルゴリズムで得られた木の頂点 0 を取り除くことで得られる。
そのほかの については A000272 - OEIS。
参考文献
- Richard P. Stanley, A Survey of Parking Functions (slide:http://www-math.mit.edu/~rstan/transparencies/parking3.pdf)
- Philippe Chassaing, Jean-François Marckert, Parking functions, empirical processes, and the width of rooted labeled trees