いずれかの操作のこととしましょう。→「すがた」となり、「すうがく」から「すがた」へは編集2回で行けることになります。(編集1回では行けません)このように、必要な「編集」の最低回数のことを編集距離と言います。「編集」で許す操作は、挿入または削除または置換としましたが、置換を許さないなど、他にもバリエーションがあります。このように「編集」の定義はいろいろありますが、挿入または削除または置換という「編集」による編集距離を、特にレーベンシュタイン距離と言います。distanceレーベンシュタイン距離の求め方レーベンシュタイン距離は、動的計画法という手法を用いて求めることができます。具体的なアルゴリズムを、「すうがく」と「すがた」の例で説明します。1.まず、表を準備します。・各マスに、対応する2つの部分文字列のレーベンシュタイン距離を入れていくのが目標です。Aには「すうが」と「すが」のレーベンシュタイン距離が入り、Bには、「すうがく」と空文字のレーベンシュタイン距離が入ります。2.一行目と一列目を埋めていきます。一行目と一列目が埋まります。3.残ったマスを、上から、左から順々に埋めていきます。各マスには、以下の3つの中で一番小さい数字を入れます。4.全て埋めたら、一番右下のマスが求める編集距離です。「すうがく」と「すがた」のレーベンシュタイン距離は2です。アルゴリズムがなぜ正しいか上記の手順3で、なぜレーベンシュタイン距離を順々に求められるのかを大雑把に説明します。最短の編集回数で編集するにはどうすればよいでしょうか?以下の3つの方法が考えられます。置換は不要)それぞれが、手順3の各値に対応しています。※厳密には、上記の3つの方法のいずれかで、必ず最短が実現できることを説明する必要があります。どこに由来するかで場合分けすれば確認できます。新たに登場した場合、方法1で実現できます。なった場合、方法2で実現できます。なった場合、方法3で実現できます。