next up previous contents
次へ: 下位パターンの削除 上へ: 削減方法 戻る: パーサによる照合   目次

照合結果を用いた包含関係の判定

パーサの照合結果を用いて,パターン間の包含関係の判定を行う. 本研究では,パターン中の記号を展開している為,展開後のパターンの照合結果を総合して判定する必要がある. その為,次の手順でパターン$A$とパターン$B$の間の関係 $A \supseteq B$ の有無を判定する.

  1. パーサの照合結果から,$n$個に展開された入力パターン( $B_{1} \cdots B_{n}$)とパターン$A$との照合結果( $B_{result_1} \cdots B_{result_n}$)を取り出す.
  2. 次の式より,パターンBがどれくらいAに含まれるかの割合( $Coverage_{A \supseteq B}$)を計算する.


    $\displaystyle Imply_{A \supseteq B_i} \left( i \right)$ $\textstyle =$ $\displaystyle \left\{ \begin{array}{rl}
1 & \mbox{( 照合結果 $B_{result_i}$\ に...
... & \mbox{( 照合結果 $B_{result_i}$\ にパターン$A$がない ) }
\end{array} \right.$ (1)
    $\displaystyle Coverage_{A \supseteq B}$ $\textstyle =$ $\displaystyle \frac{1}{n} \sum^{n}_{i=1} Imply_{A \supseteq B_i}( i )$ (2)

  3. $Coverage_{A \supseteq B}$ が1.0のとき,$A \supseteq B$とする.
    また, $ 0 \textless Coverage_{A \supseteq B} \textless 1.0 $ のときは,展開後の一部は含まれるが,全体では包含関係に無いと言える.



Keichiro Katayama 平成17年5月20日