単元一覧 › 大学数学 アルゴリズムと計算量

アルゴリズムと計算量の問題

難易度 4大学院入試の標準レベル証明問題大学数学 アルゴリズムと計算量

有限集合 をアルファベットとし、 の元を並べた有限列を文字列という。文字列 の部分列とは、添字 を選んで得られる文字列 ( のときは空列)のことである。

長さ の文字列 と長さ の文字列 ( は 0 以上の整数)に対し、
- を、 と の共通部分列の長さの最大値(最長共通部分列の長さ)、
- を、「文字列の任意の位置にある 1 文字を削除する」操作と「文字列の任意の位置に の 1 文字を挿入する」操作だけを繰り返して を に変換するときの、操作回数の最小値

と定める(置換の操作は許さない)。このとき

が成り立つことを証明せよ。

この問題で使うもの

この問題を解けるようになるまで(3 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 動的計画法の基本(硬貨の最小枚数)
  2. 最長共通部分列
  3. 編集距離

ヒント

行き詰まったら、上から順に 1 つずつ開いてください。

ヒント 1

と の 2 つの不等式に分けて示しましょう。前者は具体的な変換手順を作り、後者は最適な変換から共通部分列を取り出します。

ヒント 2

最適な変換の削除回数を 、挿入回数を とすると、 と が成り立ちます。また、一度も削除されなかった の文字は、順序を保ったまま に残ります。

ヒント 3

は、最長共通部分列 を経由して「 から 文字を削除して にし、 に 文字を挿入して にする」ことで示せます。逆向きでは、 の文字にラベルを付けて変換の各段階を追跡しましょう。

採点の観点と模範解答

自分で証明を書いてから、採点の観点で見比べてください。

採点の観点を見る
  • 最長共通部分列 を経由し、 回の削除と 回の挿入で を に変換できることを示して を導いている(3 点)

  • 最適な変換の削除回数 と挿入回数 について , を立て、 を で表している(2 点)

  • 削除されずに残った の文字が順序と文字を保って に現れることを、操作ごとの帰納法などで正確に示している(3 点)

  • 残った文字が長さ 以上の共通部分列をなすことから を導き、両不等式から等式を結論している(2 点)

結果を記録する(このブラウザにだけ保存されます):
模範解答を読む

, と書く。 と を別々に示す。なお、 の文字をすべて削除してから の文字をすべて挿入すれば 回で変換できるので、 は有限の 0 以上の整数として定まる。

(1) の証明. 長さ の共通部分列 を 1 つとる。 は の部分列なので、添字 で と書ける。 から、これらの添字以外の 文字を 1 文字ずつ削除すると、残る文字は順序を保つので が得られる。また は の部分列なので、添字 で と書ける。 のうち 以外の位置にある 文字を、 における位置に合わせて に左から順に 1 文字ずつ挿入すると が得られる( 文字目を挿入する時点で、それより左にある の文字はすべてそろっているので、挿入位置が決まる)。合計 回の操作で を に変換できたので、 である。

(2) の証明. 回の操作からなる最適な変換

を 1 つとり、そのうち削除の回数を 、挿入の回数を とする。 であり、各削除で長さが 1 減り、各挿入で 1 増えるので である。この 2 式から

を得る。

次に、 の各文字 に「元の位置 」というラベルを付け、挿入された文字にはラベルを付けないことにして、各 をラベル付きの文字の列とみなす。次の性質 (P) を についての帰納法で示す。

(P) に含まれるラベル付きの文字は、左から読むとラベルが真に増加する順に並び、ラベル の文字は に等しい。さらに、その個数は 以上である。

では なので、ラベルは の順に並び、個数は で (P) が成り立つ。 で (P) が成り立つとする。 が挿入で得られる場合、ラベルなしの文字が 1 つ加わるだけで、ラベル付きの文字の並びと個数は変わらない。削除で得られる場合、1 文字が取り除かれるだけなので、残るラベル付きの文字の相対的な順序は変わらず、その個数は高々 1 減る。いずれの場合も、文字そのものは書き換わらない。よって でも (P) が成り立つ。

(P) を に適用すると、 の中にラベル付きの文字が 個あり、それらのラベルを左から 、 における位置を とすると、 が成り立つ。したがって は と の共通部分列であり、 である。 を代入して

すなわち を得る。

結論. (1), (2) より が成り立つ。

(補足:この等式により、挿入・削除のみの編集距離は、最長共通部分列の長さを求める動的計画法 , によって 時間で計算できる。)

この問題の確認

AI が作成した問題です。公開前に次の確認を行いました。確認の方法について

間違いを報告する

この問題の誤り・分かりにくい点・難易度や学年のずれを知らせる
どこについての報告ですか

報告の内容と問題の番号を保存します。名前やメールアドレスは保存しません。

関連する問題