切手問題

提供: testwiki
ナビゲーションに移動 検索に移動

切手問題とは、ある枚数の切手で作れない最小の金額(郵便料金)を求める数学の問題である[1]。封筒の面積の制約上、貼ることのできる切手の枚数が限られているとする。このとき、数種類の額面の切手を組み合わせて構成できない最小の郵便料金を問うものである。

例えば、封筒には3枚の切手しか貼ることができないとする。使用可能な切手の額面が1円、2円、5円、15円の場合、12円までの金額は3枚までの切手で構成できる(例えば、4=2+2、8=5+2+1、11=5+5+1)。しかし、13円を構成するには少なくとも4枚の切手が必要となるため、13が解となる。

数学的な定義

数学的には、問題は次のように定式化される。

整数 m と正の整数の集合 V が与えられたとき、k ≤ m なる k 個の要素の和 v1 + v2 + ··· + vk で表せない最小の整数 z を求めよ。

特殊な場合

n 種類、2枚の切手での解

n種類を適切に選ぶと、2枚の切手での解は最大で

2, 4, 8, 12, 16, 20, 26, 32, 40, 46, 54, 64, 72, 80, 92, 104, 116, 128, 140, 152, 164, 180, 196, 212,... (テンプレート:OEIS)

となる。

例えば、順に

{1}→1,1+1{1,3}→1,1+1,3,3+1{1,3,4}→1,1+1,3,4,4+1,3+3,4+3,4+4{1,3,5,6}→1,1+1,3,3+1,5,6,6+1,5+3,6+3,5+5,6+5,6+6

となる。

2 種類、h 枚の切手での解

2 種類を適切に選ぶと、h枚の切手での解は最大で

2, 4, 7, 10, 14, 18, 23, 28, 34, 40, 47, 54, 62, 70, 79, 88, 98, 108, 119, 130, 142, 154, 167, 180,... (テンプレート:OEIS)

となる。

例えば、順に

{1,2}→1,2{1,3}→1,1+1,3,3+1{1,3}→1,1+1,3,3+1,3+1+1,3+3,3+3+1{1,4}→1,1+1,1+1+1,4,4+1,4+1+1,4+1+1+1,4+4,4+4+1,4+4+1+1

となり、一般に{1,⌊(h+4)/2⌋}の切手を用意することで最大化でき、その解は

⌊14(h2+6h+1)⌋

と表せる[2]。

3 種類、h 枚の切手での解

3種類を適切に選ぶと、 h 枚の切手での解は最大で

3, 8, 15, 26, 35, 52, 69, 89, 112, 146, 172, 212, 259, 302, 354, 418, 476, 548, 633, 714, 805, 902, 1012, 1127, 1254, 1382,... (テンプレート:OEIS)

となる。

n ≥ 20 のとき

β=⌊4h+49⌋+2,γ=⌊29h⌋+2

とおくと

a1=1,a2=2β−γ+1,a3=γa2−β

が h 枚の切手での最大の解を与え、その最大の解は

(h+4−β−γ)a3+(γ−2)a2+(β−2)a1=481h3+23h2+Ah+B,

ここで A, B は

(A,B)={(229,0)(n≡0(mod9)),(6827,6281)(n≡1(mod9)),(7127,−2681)(n≡2(mod9)),(239,0)(n≡3(mod9)),(689,−15481)(n≡4(mod9)),(6827,4681)(n≡5(mod9)),(239,−1)(n≡6(mod9)),(7127,−181)(n≡7(mod9)),(6827,−17081)(n≡8(mod9))

となる [3][4][5]。


計算複雑性

この問題は、 総当たりまたはバックトラッキングで |V|m の定数倍時間で解くことができる。ここで |V| は使用できる切手の額面の種類の数とする。したがって、封筒の容量 m が定数である場合、多項式時間で解ける問題である。容量 m が任意の場合、問題はNP困難である[1]。

関連項目

参考文献

テンプレート:Reflist

外部リンク