seraphyの日記

日記というよりは過去を振り返るときのための単なる備忘録

本日はヴィルト先生のアルゴリズム本を読む。

正規表現、正規言語を習得中。ある程度マッチングが進んだあとでマッチングに失敗したことが確定した場合、効率よくトラックバックするにはどうしたらよいのか。「.*」ではじまるマッチングをかける場合、1回失敗したあとに2桁目に移動するのは無意味である。2回目以降は、かならず失敗することは明白である。それ以外のケースでは効率の良いトラックバックはあるのか。現実的には、「.*」のような極端なパターンを例外として随時1文字づつシフトさせるのが良いのか。探索アルゴリズムでそんなものがあったような気がしてヴィルト先生の本を読むが、ステートマシンに応用できそうなものはなさそう。