このアルゴリズムが予想される時間と高い確率。O(nm)
最初のアルゴリズムを検討するように改変に選択され、{ 2 、3 、。。、分(C 、N )}に代えて、ランダムに{ 1 、2 、。。。、min (c 、n )}。k{2,3,..,min(c,n)}{1,2,...,min(c,n)}
補題1. この変更されたアルゴリズムでは、アルゴリズムのランダムな選択に関係なく、時間は常に。O(nm)
証明。 入力およびB [ 1 .. m ]を修正し、アルゴリズムのランダムな選択を任意に修正します。partition()への(再帰的な)呼び出しごとに、2つの引数はそれぞれ2つのサブ配列に対応します。サブ配列A [ i 1。。I 2 ]のA及びサブアレイ
B [ J 1。。J 2 ]のB。長方形でそのような呼び出しを識別します
[ i 1 1A[1..n]B [ 1 .. m ]A [ i1。。私2]あB [ j1。。j2]B。したがって、最上位の呼び出しは
[ 0 、n ] × [ 0 、m ]であり、各再帰呼び出しはこの n × mの長方形内のサブ長方形に対応します。これらの長方形はツリーを形成し、1つの呼び出しに対応する長方形は、その呼び出しによって直接行われた呼び出しに対応する長方形を子として持っています。各親長方形はその子長方形で分割され、 k × kを形成します[ 私1− 1 、i2] × [ j1− 1 、j2][ 0 、n ] × [ 0 、m ]n × mk × kが少なくとも2の(不均一な四角形の)グリッド。もちろん、各四角形の角には整数座標しかありません。k
アルゴリズムの実行時間は、これらのすべての長方形の外周の長方形の合計の定数倍に制限されます。(これは、各呼び出し内の時間がO(n + m)であり、対応する四角形の境界がです。)2 (n + m )
上記の長方形のセットでは、周囲の長さの合計は最大で。真であれば、これは補題を証明します。12 nメートル
ので、主張を証明するために、最初にその観察、任意の親矩形の、親の周囲は子供たちのほとんど2/3回総周囲長です。(親の周長は2 (n + m )です。子の周長の合計は(1 + k )(n + m )であり、k > = 2K ≥ 22 (n + m )(1 + k )(n + m )k > = 2です。)
すべての矩形の合計perimiterが最大であることを標準充電引数で、次のだけの回perimiter 葉の長方形を。(観察があることを意味P Nは ≤ (2 / 3 )P T、P Nは非リーフ矩形の総周囲長であり、P Tは全矩形の全周長である。これが意味するPを(1 + 2 / 3 + (2 / 3 )2+ … )= 3PN≤ (2 / 3 )PTPNPTリーフ矩形の総周囲長です)。、及び P T - P NPT≤ 3 (PT− PN)PT− PN
次に、葉の長方形が元の長方形を分割していることを確認します。葉の最大可能周長は、葉が整数の端点を持つ単位正方形に対応する場合に得られます。この場合、葉の総周長はn × m。このように、周囲の合計が最大である 3 ⋅4んメートル、つまり最大 123 ⋅ 4んメートル12 nメートル。
これは補題1を証明します。
結果: 元のアルゴリズムは予想される時間。O (nm )
証明。パーティションが選択した場合、長方形を複製するだけです。以来、N > 1、確率K = 1が最も1/2です。したがって、各長方形が複製されると予想される回数は最大で1回です(各長方形のコピーの予想される回数は最大で2回です)。したがって、元のアルゴリズムの場合、すべての長方形の境界線の予想合計は、修正されたアルゴリズムの最大2倍、つまり最大24 nk = 1n > 1k = 1。そのアルゴリズムの分析と同様に、実行時間はこの合計に比例し、 O (n24nm。QEDO(nm)
当然です。 上限も高い確率で保持されます(とmの両方が無限大になる傾向があると仮定)。nm
証明スケッチ。各矩形の複製の数を除いてすべてのランダムな選択を固定時間はに比例し、
ここで、Rは生成された長方形のセット、X rはrが複製された回数(つまり、その長方形に対してk = 1のときの回数)、| r | rの周長
∑r∈R(1+Xr)|r|
RXrrk=1|r|r。
変数は、独立しており、それぞれ| r | はO (n + m )= o (n m )なので、標準のチャーノフの境界により、合計が期待値の2倍を超える確率はo (1 )です。(より具体的には、Y r = (1 + X r)| r | / 2 (n +{Xr:r∈R}|r|O(n+m)=o(nm)o(1)、次に Y rの合計にChernoffを適用します。)QEDYr=(1+Xr)| r |/2(n+m)Yr
余談として:アルゴリズムが選択した場合ランダムにまで分(N 、M )の代わりに分(C 、N )、次に行うO (M N )(代わりに、各コールで作業Oを(M + N )) 、合計時間は予想でまだO (m n )です。kmin(n,m)分(c,n)O(mn)O(m + n )O(m n )
証明。最初に、合計時間はすべての長方形の面積の合計に比例することに注意してください。この和は、整数座標上に、合計に等しいこと矩形の数、(I 、jは)で発生する。これはO (N M )、期待に任意に与えられたので、期待して(I 、J )元の長方形ではO (1 )の長方形で発生します。 (私、j )(私、j )O(n m )(私、j )O (1 )
これを確認するには、仮定矩形に含まれるR、そして上のパーティションへの呼び出しを検討Rを。ましょうQ (R )= 分(N R、M R)。してみましょうrは「(含む子である長方形で(I 、J )の)R。確率で少なくとも1 / 3は、kは少なくともように選択される(2 / 3(私、j )rrq(r)= min (nr、mr)r』(私、j )r1 / 3k。その上に条件付け、 E [ Q (R ')] ≤ 3 / 2、したがって一定の確率と Q (rは')そのような場合、最も1にあり、その後、 rは'(子を持たない)の葉です。これから、(i 、j )が含まれる長方形の予想数は O (1 )になります。QED(2 / 3 )Q(r )E[ q(r』)] ≤ 3 / 2q(r』)r』(私、j )O (1 )
(範囲が高い確率で成立するかどうかは興味深い質問です。確かにそうだと思います。確かにO (n m log (n m ))はwhpを保有します)O(n m )O (n m ログ(n m ))