パターンマッチング

出典: フリー百科事典『ウィキペディア(Wikipedia)』

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

パターンマッチング (Pattern matching、パターン照合) とは、データを検索する場合に、特定のパターンが出現するかどうか、またどこに出現するかを特定する手法のことである。

文字列のパターンマッチングには、固定されたパターンの検索ではKMP法BM法など各種の文字列探索アルゴリズムがある。また正規表現を利用する手法も多数提案されている。

画像や動画に対するパターンマッチングの研究も行われている。だが、パターンマッチングはあらかじめ人が打っておかなくてはいけないため人工知能とは別で機械が自分で考えているわけではない(そもそも「考える」ということを形式的に定義することは不可能なので、この段落の後半の「だが、」以降は、単にどこかの誰かの考える「人工知能」という語に関する主観の表明に過ぎず、意味があることを何も述べてはいない)。

いくつかの高水準プログラミング言語には、多分岐の一種で、場合分けと同時に構成要素の取り出しのできる言語機能があり、パターンマッチと呼ばれている。Haskellでの例を示す。

listSumCase lst =
  case lst of
    []       -> 0
    (x : xs) -> x + listSumCase xs

listSumPtn []       = 0
listSumPtn (x : xs) = x + listSumPtn xs

なお、この例の listSumCase は expression style、listSumPtn は declaration style である[1]

[編集]

  1. ^ https://wiki.haskell.org/Declaration_vs._expression_style

関連項目[編集]