Skip to main content
QUICK REVIEW

[論文レビュー] Finding the Minimal DFA of Very Large Finite State Automata with an Application to Token Passing Networks

Vlad Slavici, Daniel Kunkle|arXiv (Cornell University)|Mar 29, 2011
semigroups and automata theory参考文献 37被引用数 8
ひとこと要約

本稿では、大規模な非決定性有限オートマトン(NFA)から最小の決定性有限オートマトン(DFA)を計算するためのスケーラブルで並列処理可能なディスクベースのアルゴリズムを提示する。この手法により、中間的なDFAが最大19億状態に達するNFAの処理が可能になる。本手法は、一般のコンピュータのクラスタを用いて部分集合構築と前方リファインメント最小化を実行し、19億状態のDFAを最小の77万4172状態のDFAに削減した。さらに、この手法を用いて、有限バッファを持つトークンパスネットワークにおけるスタックソート可能順列に関する予想の検証に応用した。

ABSTRACT

Finite state automata (FSA) are ubiquitous in computer science. Two of the most important algorithms for FSA processing are the conversion of a non-deterministic finite automaton (NFA) to a deterministic finite automaton (DFA), and then the production of the unique minimal DFA for the original NFA. We exhibit a parallel disk-based algorithm that uses a cluster of 29 commodity computers to produce an intermediate DFA with almost two billion states and then continues by producing the corresponding unique minimal DFA with less than 800,000 states. The largest previous such computation in the literature was carried out on a 512-processor CM-5 supercomputer in 1996. That computation produced an intermediate DFA with 525,000 states and an unreported number of states for the corresponding minimal DFA. The work is used to provide strong experimental evidence satisfying a conjecture on a series of token passing networks. The conjecture concerns stack sortable permutations for a finite stack and a 3-buffer. The origins of this problem lie in the work on restricted permutations begun by Knuth and Tarjan in the late 1960s. The parallel disk-based computation is also compared with both a single-threaded and multi-threaded RAM-based implementation using a 16-core 128 GB large shared memory computer.

研究の動機と目的

  • 一般のコンピュータの主記憶領域の制限を超えて、非常に大きな有限状態オートマトンの最小DFA計算におけるメモリボトルネックを克服すること。
  • 一般のハードウェアにおける主記憶領域の限界を超えて、部分集合構築およびDFA最小化プロセスをスケーリングすること。
  • 有限バッファを備えたトークンパスネットワークにおけるスタックソート可能順列の解析という理論的計算科学の困難な問題に本手法を適用すること。
  • 3バッファおよび有限スタックモデルにおけるスタックソート可能順列の構造に関する予想を支持する実験的証拠を提供すること。
  • 大規模オートマトンにおけるディスクベース並列処理、マルチスレッド主記憶領域ベース、シングルスレッド処理の各アプローチの性能を比較すること。

提案手法

  • 大規模なNFAsを決定化するために、ディスクベースの並列処理による部分集合構築アルゴリズムの実装を用い、中間的なDFA状態を主記憶領域の制限を避けるためにディスク上に部分集合として保存する。
  • 前方リファインメントアルゴリズムをディスクベースの並列処理に適応させ、得られた大規模なDFAsを効率的に最小化する。
  • 各部分集合表現が最大20個のNFA状態を含む場合に約80バイトを要するように、明示的な重複検出をディスク上に保存した表現を用いた幅優先探索戦略を採用する。
  • 29台の一般コンピュータのクラスタを用いて計算を分散処理し、データをノード間で分割し、I/Oは共有ストレージエリアネットワーク(SAN)を介して管理する。
  • 比較のため、16コア、128GBの共有主記憶領域を持つマシン上にマルチスレッド実装を構築し、主記憶領域内でのスレッドレベル並列処理を活用する。
  • 本手法は、スタック深さが9から12に増加するトークンパスネットワークの族を、NFAsとしてモデル化して評価した。

実験結果

リサーチクエスチョン

  • RQ1従来のRAMベースのシステムのメモリ制限を超えて、ディスクベースの並列アルゴリズムが部分集合構築およびDFA最小化をスケーリングできるか?
  • RQ2大規模オートマトンにおいて、ディスクベース並列処理の性能はマルチスレッド主記憶領域ベース実装と比べてどうか?
  • RQ3スタック深さが増加するトークンパスネットワークの族における最小DFAのサイズは何か?また、スタックソート可能順列に関する予想を支持するか?
  • RQ410億状態を超えるDFAに適用した場合、前方リファインメントアルゴリズムは効率的かつスケーラブルに保たれるか?
  • RQ5大規模オートマトン計算から得られる実験的証拠は、有限バッファネットワークにおけるスタックソート可能順列の構造に関する一般予想を支持できるか?

主な発見

  • ディスクベース並列アルゴリズムは、スタック深さ12における503万5742状態のNFAから、1日12時間の計算時間とピーク1,136GBのディスク容量を要して、中間DFAを1,899,715,733状態として構築した。
  • 得られた最小DFAは77万4172状態にまで削減され、2,400倍を超える削減が達成された。この最小化処理は、ディスクベースの前方リファインメントを用いて1日8時間で実行された。
  • 部分集合構築フェーズは、100Mb/sのファストイーサーネットワークにおけるネットワークI/Oボトルネックのため、サイズに比例してスケーリングが著しく悪化したが、ディスク使用効率は良好であった。
  • マルチスレッド主記憶領域ベース実装は、スレッド数が8コアまでほぼ線形にスケーリングしたが、8から16スレッドに拡大する段階で、最小化処理中のロック競合により非線形なスケーリングを示した。
  • 最大の問題インスタンス(スタック深さ12)は、16コア、128GBの共有主記憶領域マシンでメモリ不足により処理できず、ディスクベースのスケーリングの必要性が裏付けられた。
  • 実験結果は、3バッファおよび有限スタックモデルにおけるスタックソート可能順列の構造に関する予想を強く支持する証拠を提供しており、一連のトークンパスネットワーク全体に一般化可能なパターンが存在する可能性を示唆している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。