RIGHT:[[:t/リンク]] [[:t/柔らかいUI]]

曖昧リンクはリンクを先に作るときに効果的。
リンク先のページ名を不意に変えてしまっても有効だから。

異字体にも対応するとか。
いとゐとかも。

→「曖昧リンク」はリンク先が存在しなかったり一意でないBracketNameのリンク先とする。実装では[[曖昧さ回避ページ]](メタページ)へのリンクにする。

*** 打ち間違い(スペルミス)にも対応する方法 [#n84ce34f]
AC法を使うなら、転置インデックス上のポインターを増やせばいい。
- ポインターを進めたとき、それ以外の(外れた)ノードにも仮のポインターを設ける。外れた場合の行き先はスタートノードなので、それ以外のノードとはひとつ先のノード全て。仮のポインターは生存期間が次の文字までの短いもの。これで1文字の打ち間違いを許容。
- ポインターを進めたとき、その先のノードにも仮のポインターを設けると、1文字脱字があっても適合するようになる。
- ポインターを進めたとき、元あったノードにも仮のポインターを設けると、余計な文字が1文字あっても適合するようになる。
- 仮のポインターを広い範囲にばらまけば、2文字以上の打ち間違いにも対応できる。
-- 外れたポインターをスタートノードに返す前に、ひとつ先のノードだけでなく、さらに先のノード(つまり2ホップ先)全てにも仮のポインターを設けると、2文字の打ち間違いにも適合するようになる。
-- 先のノードだけでなく、さらにひとつ先のノード全てにもポインターを設けると、2文字以上の脱字が続いても適合する。
-- 元のノードだけでなく、もう一つ前…つまり''元の元の''ノードにもポインターを設けると、2文字余計な文字が続いても適合する。

ポインターの性質…
- 仮のポインターは進むと本物のポインターになる。進めなくてもスタートノードに戻れる。
- 仮のポインターの生存期間はスタートノードに戻るまででもいい。元から進めなければスタートに戻るものなので、同じアルゴリズムになる。
- 複数のポインターが同時にスタートノードに止まったとき、ひとつを残して他は消える。重複していても無駄なので消す。
ポインターはスタートからの経路を記録しているので、スタート以外で鉢合わせても重複とは見なせない。

正規表現を使うなら、パターン内の1文字ごとに「?」と「.?.?」を追加。「.?」の数が間違えていい文字数。