*[[Problem 101:http://projecteuler.net/problem=101]] 「与えられた数列の最初の&tex{k};項に合う最適多項式関数を調べ上げよ」 [#j6ed0aef]
*[[Problem 101:http://projecteuler.net/problem=101]] 「最適多項式」 [#j6ed0aef]

数列のk個の項を与えられたときに, 次の項を確実に求めることは不可能である. その数列に合うような多項式が無限個存在するからである.

例として, 立方数の数列を考えよう. これは生成関数 u&sub{n}; = n&sup{3}; で定義され, 1, 8, 27, 64, 125, 216, ...となる.

この数列の最初の2項のみが与えられているとしよう. "Simple is best"の法則にのっとり, 線形の関係があると仮定し, 3つ目の項が15であると予想する (差分が7). もし最初の3項のみが与えられていたとしても, 同じ原則により, 二次の関係があると仮定して次の項を予測する.

数列の最初のk項を生成できる最適な多項式のn項を OP(k, n) で表すことにする.
明らかに, n ≤ k について OP(k, n) は正しい. 最初の異なる項 (First Incorrect Term, FIT) は OP(k, k+1) であろう. これを bad OP (BOP) と呼ぶことにする.

原則より, 最初の項しか与えられていない場合には, 定数項とするのが理に適っているだろう; 即ち, n ≥ 2, OP(1, n) = u&sub{1};.

従って, 立方数の数列について以下のOPを得る.

|OP(1, n) = 1 | 1, &color(red){1};, 1, 1, ...|
|OP(2, n) = 7n−6 | 1, 8, &color(red){15};, ...|
|OP(3, n) = 6n&sup{2};−11n+6 | 1, 8, 27, &color(red){58};, ...|
|OP(4, n) = n&sup{3}; | 1, 8, 27, 64, 125, ...|

明らかに, k ≥ 4 のときにはBOPは存在しない.

BOPのFIT (上の例では赤で示されている) の和は, 1 + 15 + 58 = 74 である.

以下の10次多項式からなる生成関数を考える:
CENTER:u&sub{n}; = 1 − n + n&sup{2}; − n&sup{3}; + n&sup{4}; − n&sup{5}; + n&sup{6}; − n&sup{7}; + n&sup{8}; − n&sup{9}; + n&sup{10};

BOPのFITの総和を求めよ.

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS