changeset 29:e18d8b4b3644

grep
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Sat, 06 Feb 2016 18:41:49 +0900
parents 9e817870489c
children 2ed354dadc69
files c4.tex master_paper.pdf
diffstat 2 files changed, 17 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/c4.tex	Sat Feb 06 17:07:04 2016 +0900
+++ b/c4.tex	Sat Feb 06 18:41:49 2016 +0900
@@ -49,6 +49,7 @@
 
 この問題の解決方法として、分割されたファイルの一つ目が文字列で終わり、二つ目のファイルの先頭が文字列で始まった場合はそれぞれの単語数の合計数から 1 引くことにより整合性を取ることができる。
 
+\newpage
 \section{Boyer-Moore String Search}
 
 読み込んだテキストファイルに対してある特定の文字列検索を行う例題として、Boyer-Moore String Search が挙げられる。
@@ -102,7 +103,6 @@
 \label{fig:bmsearchinclude}
 \end{figure}
 
-\newpage
 
 図\ref{fig:bmsearchinclude} は不一致が起こったときの text の文字が pattern に含まれ、その不一致文字が pattern に複数含まれている場合である。
 
@@ -127,7 +127,7 @@
 \end{itemize}
 
 text 分割時に、分割部分で pattern が含まれる場合が存在する。
-その場合は、本来の読み込み部分の text の長さ $L$ に加えて、pattern の長さ $s$ から 1 引いた数だけ多く読みこむように設計することで、この問題を解決することができる。
+その場合は、本来の読み込み部分の text の長さ $L$ に加えて、pattern の長さ $s$ から 1 引いた数だけ多く読みこむように設計することで、正しく結果を算出することができる。
 (図\ref{fig:iodivsuc})
 
 \begin{figure}[htbp]
@@ -138,8 +138,6 @@
 \label{fig:iodivsuc}
 \end{figure}
 
-\newpage
-
 力任せ法と Boyer-Moore String Search を比較してみた。以下に実験環境と結果を示す。(表\ref{table:search})
 
 \begin{itemize}
@@ -168,10 +166,24 @@
 \end{tiny}
 
 Boyer-Moore String Search によって 44\% 改善した。
+
 \section{正規表現}
+(正規表現の簡単な概要をここに)
+
+本研究で実装した正規表現マッチャのアルゴリズムは、
+
+\begin{enumerate}
+\item 与えられた正規表現を構文解析し、正規表現木に変換する。
+\item 正規表現木から非決定性オートマトン(以下、NFA)か決定性オートマトン(以下、DFA)に変換する。
+\item NFA に変換された場合、Subset Construction による NFA から DFA への変換をおこなう。
+\item DFA から状態遷移リストを生成する。
+\item 状態遷移のリストを元に文字列検索を行ない結果を返す。
+\end{enumerate}
+
 \subsection{正規表現木の生成}
-\subsection{正規表現木から NFA の生成}
+\subsection{正規表現木から DFA・NFA の生成}
 \subsection{Subset Construction による NFA から DFA の変換}
+\subsection{DFA から状態遷移リストの生成}
 
 \begin{figure}[htpb]
   \begin{center}
Binary file master_paper.pdf has changed