ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

決定性有限オートマトン

索引 決定性有限オートマトン

決定性有限オートマトン(けっていせいゆうげんオートマトン、Deterministic Finite Automaton)または決定性有限状態機械(けっていせいゆうげんじょうたいきかい、Deterministic Finite State Machine)は、状態と入力によって次に遷移すべき状態が一意に定まる有限オートマトンである。DFA と略記される。 DFAは入力文字列を受け付ける。各入力文字について、遷移関数にしたがって新たな状態に遷移する。最後に入力文字を受け付けたとき、受理状態であれば入力文字列は受理された、そうでなければ入力文字列は拒否されたと判断される。 非決定性有限オートマトンは、決定性有限オートマトンと同じように正規集合を認識でき、必ず決定性オートマトンに変換できる。.

19 関係: モデルベーステストレプリケーショントライ木プッシュダウン・オートマトンアルファベット (計算機科学)オートマトンコンピュータ略語一覧BitapアルゴリズムCoco/R状態遷移図線形時相論理DFA非決定性有限オートマトン計算可能性理論SableCCSpamAssassin正規言語決定的アルゴリズム有限オートマトン

モデルベーステスト

モデルベーステスト(Model-besed testing)とは、テストケースの一部または全部を評価対象システムの(通常、機能的側面を)モデル化したものから導出して行うソフトウェアテストの手法である。モデルはテスト対象のシステムの実現すべき動作を表現した抽象的なものである。そのようなモデルから導出されるテストケースはモデルと同程度に抽象化された機能テストであり、直接実行することはできない。そのため、抽象的なテストケースを実行可能なテストケースに変換する必要がある。 モデルからテストを導出する方法はいくつも存在する。ソフトウェアテストは実験的でヒューリスティックスに基づいているため、最善の方法というものは存在しない。一般に全てのテストに関連する設計上の決定をまとめ、パッケージ化する。これを「テスト要求仕様; test requirements」、「テスト目的; test purpose」、場合によっては「ユースケース」と呼ぶ。このパッケージにはテストの中心となるべき部分のモデルに関する情報が含まれ、テスト終了条件が記述される。 モデルベーステストではテストスイートはソースコードからではなくモデルから抽出されるため、一種のブラックボックステストを構成するのが一般的である。見方によってはこれは完全とはいえない。モデルベーステストとソースコードレベルのテストの網羅率測定を組み合わせ、機能的モデルを初期段階のソースコードに基づいて構築するなどのテスト改善方法が考えられる。 複雑なソフトウェアシステムのモデルベーステストは発展途上の分野である。.

新しい!!: 決定性有限オートマトンとモデルベーステスト · 続きを見る »

レプリケーション

レプリケーション()とは、ソフトウェアやハードウェアの冗長なリソース間で一貫性を保ちながら情報を共有する処理を意味し、信頼性やフォールトトレラント性やアクセス容易性を強化する。同じデータを複数の記憶装置に格納することを「データレプリケーション」、同じ計算タスクを何度も実行することを「計算レプリケーション」という。計算タスクの場合、異なる機器上で実行すれば「空間的レプリケーション」となり、同じ機器上で繰り返し実行すれば「時間的レプリケーション」となる。Replication は本来は「複製」の意。 複製された実体へのアクセスは、一般に複製されていない単一の実体へのアクセスと同じである。外部のユーザーから見てレプリケーションは透過的でなければならない。また、障害発生時の複製物へのフェイルオーバーは、可能な限り隠蔽される。 データやサービスのレプリケーションは、一般に動的レプリケーションと静的レプリケーションに分けられる。動的レプリケーションでは、同じ要求を全複製で処理する。静的レプリケーションでは、1つの要求は1つの複製で処理され、それによる状態変化を他の複製に転送する。ある時点で1つのマスター複製が選ばれ、全要求を処理する場合、これを「プライマリ/バックアップ」型(マスタースレーブ型)といい、高可用クラスターでよく使われる。一方、任意の複製が要求を処理して状態を分配する場合、これを「複数プライマリ」型(データベースではマルチマスターレプリケーション)と呼ぶ。複数プライマリ型では、何らかの分散並行性制御が必須であり、分散ロックマネージャなどが使われる。 負荷分散は、異なる計算タスクを複数マシンに分配するのであって、計算レプリケーションとは異なる。ただし、負荷分散ではデータを複数マシンで共有する必要があるため、データレプリケーションを内部で行っている。 バックアップは、長期に渡ってコピーを保持し続けるため、レプリケーションとは異なる。レプリケーションでは、データは頻繁に更新される。.

新しい!!: 決定性有限オートマトンとレプリケーション · 続きを見る »

トライ木

トライ木(trie)やプレフィックス木(prefix tree)とは、順序付き木の一種。あるノードの配下の全ノードは、自身に対応する文字列に共通するプレフィックス(接頭部)があり、ルート(根)には空の文字列が対応している。値は一般に全ノードに対応して存在するわけではなく、末端ノードや一部の中間ノードだけがキーに対応した値を格納している。2分探索木と異なり、各ノードに個々のキーが格納されるのではなく、木構造上のノードの位置とキーが対応している。 キーが文字列である連想配列の実装構造としても使われる。右図の例では、ノードを表す丸の中にキーが書かれ、連想される値がその下に書かれている。値が書かれていないノードはキー文字列の途中までにしか対応していない。各英単語には整数の値が対応している。 トライ木は一種の決定性有限オートマトンと見ることもできるが、エッジ(枝)に対応する記号(文字)はその順序が暗黙のうちに決定される(辞書順など)。 キーは必ずしもノードに格納される必要はない。右図はトライ木の概念を示したもので実装は一般に異なる。 トライ木のキーは必ずしも文字列である必要はない。トライ木のアルゴリズムを文字列以外の任意のデータ構造に適用することは容易である。 trie という名称は "retrieval"(探索、検索)が語源であるため、"tree" と同じ発音を用いる(リトゥリーヴァル)。しかし、ツリー構造との混同を避けるために「トライ」という読み方を奨励する人もいる。日本語では、「トライ木」という呼び方がほぼ定着している。.

新しい!!: 決定性有限オートマトンとトライ木 · 続きを見る »

プッシュダウン・オートマトン

プッシュダウン・オートマトン(Pushdown Automaton)は、オートマトンの一種であり、文脈自由言語を認識する抽象機械である。 ある意味では、プッシュダウン・オートマトンは有限オートマトンと無限の容量のスタックを組み合せたシステムである。.

新しい!!: 決定性有限オートマトンとプッシュダウン・オートマトン · 続きを見る »

アルファベット (計算機科学)

形式言語とオートマトンの理論において、アルファベット (英: alphabet) または字母とは、文字や数字などといったような「記号」の有限の集合のこと。有限の文字列は、アルファベットからなる文字の有限の並びである。特に、からなるアルファベットはバイナリアルファベットと呼ばれる。また、二進列 (binary string)は、バイナリアルファベットの並びである。また、うまく処理することで、無限の文字の並びも考えることが可能である。 アルファベットΣが与えられたとき、Σ*はアルファベットΣからなる有限の文字列全てを意味する。ここでの*はクリーネ閉包を意味する演算子である。また、\Sigma^\infty (or occasionally, \Sigma^\N or \Sigma^\omega)は、アルファベットΣからなる無限の文字列全てを意味する。 例えばバイナリアルファベットからはのような文字列が生成できる(εは空文字列を意味する)。.

新しい!!: 決定性有限オートマトンとアルファベット (計算機科学) · 続きを見る »

オートマトン

ートマトン (単数形: automaton, 複数形: オートマタ(automata )) とは、自動人形などとも呼ばれる「オートマタ」と同じ語であるが、計算理論において、計算モデルに関して有限オートマトンなどの総称として使われる。また特に「オートマトン理論」と呼ばれる分野では、計算機械のうち計算可能性の点でチューリングマシンよりも制限されているものを特に指して言うこともある。.

新しい!!: 決定性有限オートマトンとオートマトン · 続きを見る »

コンピュータ略語一覧

ンピュータ略語一覧(コンピュータりゃくごいちらん)は、コンピュータの略語を一覧にしたものである。.

新しい!!: 決定性有限オートマトンとコンピュータ略語一覧 · 続きを見る »

Bitapアルゴリズム

Bitapアルゴリズム(Bitap algorithm)とは、ビット演算の並列性を利用した文字列探索アルゴリズムである。Baeza–Yates–Gonnetアルゴリズムや、Shift-andアルゴリズム・Shift-orアルゴリズムとも呼ばれる(andとorがあるのは、ブール代数の双対性にもとづくバリエーションである)。レーベンシュタイン距離などの編集距離に基づく「似た」文字列を見つけ出すに利用できることが、他の文字列探索アルゴリズムにない特徴である。以下、Shift-and型を前提に説明する。 このアルゴリズムの基本的な考え方は1964年にBálint Dömölkiによって紹介された。1977年にR.

新しい!!: 決定性有限オートマトンとBitapアルゴリズム · 続きを見る »

Coco/R

Coco/R は、対象となる言語の属性付き文法を入力とし、その言語の字句解析器と構文解析器を生成するパーサジェネレータである。字句解析部は一種の決定性有限状態機械として機能する。構文解析部には再帰下降構文解析によるLL法を使う。LL(1)での衝突の解決には、複数シンボルの先読みを行うか、意味論的チェックを行う。そのため、任意の k の LL(k) の文法クラスに対応可能である。 Coco/R にはいくつかの言語での実装がある。リンツ大学のリリースした最新版では、C#版とJava版がある。生成される構文解析器がそれらの言語で書かれている。 Coco/R は修正を加えた GNU General Public License でライセンスされ、配布されている。.

新しい!!: 決定性有限オートマトンとCoco/R · 続きを見る »

状態遷移図

態遷移図(じょうたいせんいず、State Transition Diagram)は、有限オートマトンなどの状態機械について、その各状態を頂点とし、状態から状態への各遷移を辺としたグラフ構造に注目して、グラフィカルに表現した図である。他の表現手法として状態遷移表などがある。 状態遷移図にはいくつかの異なる形式のものがある。対象の性質や用途などによって使い分けることもある。.

新しい!!: 決定性有限オートマトンと状態遷移図 · 続きを見る »

線形時相論理

線形時相論理(せんけいじそうろんり、Linear Temporal Logic、LTL)とは、時間に関する様相を持つ様相時相論理である。LTLでは、ある条件が最終的に真となるとか、別の事実が真になるまでその条件は真であるとかいった将来の出来事について論理式で表すことができる。.

新しい!!: 決定性有限オートマトンと線形時相論理 · 続きを見る »

DFA

DFA.

新しい!!: 決定性有限オートマトンとDFA · 続きを見る »

非決定性有限オートマトン

非決定性有限オートマトン()または非決定性有限状態機械()は、有限オートマトンの一種であり、ある状態と入力があったとき、次の遷移先が一意に決定しないことがあるものである。NFAと略記される。.

新しい!!: 決定性有限オートマトンと非決定性有限オートマトン · 続きを見る »

計算可能性理論

計算可能性理論(けいさんかのうせいりろん、computability theory)では、チューリングマシンなどの計算模型でいかなる計算問題が解けるか、またより抽象的に、計算可能な問題のクラスがいかなる構造をもっているかを調べる、計算理論や数学の一分野である。 計算可能性は計算複雑性の特殊なものともいえるが、ふつう複雑性理論といえば計算可能関数のうち計算資源を制限して解ける問題を対象とするのに対し、計算可能性理論は、計算可能関数またはより大きな問題クラスを主に扱う。.

新しい!!: 決定性有限オートマトンと計算可能性理論 · 続きを見る »

SableCC

SableCC は、Javaで書かれたオープンソースのパーサジェネレータである。GNU Lesser General Public License でライセンスされている。 SableCC は以下の機能を有する。.

新しい!!: 決定性有限オートマトンとSableCC · 続きを見る »

SpamAssassin

SpamAssassin(スパムアサシン)は、コンテンツマッチング規則に基づいたスパムフィルタリングのプログラムであり、Apache License 2.0 でリリースされている。現在はApacheソフトウェア財団のプロジェクトとして実施されている。 SpamAssassinは様々なスパム検出技法を使っており、例えばDNSベースの技法、チェックサムベースの技法、ベイジアンフィルタ、外部プログラム、ブラックリスト、オンラインのデータベースなどを利用する。 このプログラムはメールサーバに組み込んで、そのサイトに到達した全メールを自動的にフィルタリングするのに使うことができる。また、電子メールクライアントに組み込んで、個々のユーザーが自身のメールボックス上で動作させることもできる。SpamAssassin は柔軟な設定が可能で、システム全体のフィルターとして使う場合でも、ユーザー単位の設定が可能である。 SpamAssassinは Linux New Media Award 2006 でLinuxベースのアンチスパムソリューション部門賞を受賞した。.

新しい!!: 決定性有限オートマトンとSpamAssassin · 続きを見る »

正規言語

正規言語(せいきげんご)または正則言語(せいそくげんご)は、以下に示す性質(いずれも等価)を満たす形式言語である。.

新しい!!: 決定性有限オートマトンと正規言語 · 続きを見る »

決定的アルゴリズム

決定的アルゴリズム(けっていてきアルゴリズム、deterministic algorithm)は、計算機科学におけるアルゴリズムの種類であり、その動作が予測可能なものをいう。入力を与えられたとき、決定的アルゴリズムは常に同じ経路で計算を行い、常に同じ結果を返す。決定的アルゴリズムは最も研究の進んでいるアルゴリズムであり、その多くは実際のコンピュータで効率的に実行できる実用性を備えている。決定性アルゴリズムと言うことも多い。 決定的アルゴリズムは、同じ入力に対しては常に(ひとつの)同じ結果を返すという点で、関数の一種とみなせる。アルゴリズムはその結果の計算の具体的な手順を与えるものである。.

新しい!!: 決定性有限オートマトンと決定的アルゴリズム · 続きを見る »

有限オートマトン

有限オートマトン(finite automaton)または有限状態機械(finite state machine, FSM)とは、有限個の状態と遷移と動作の組み合わせからなる数学的に抽象化された「ふるまいのモデル」である。デジタル回路やプログラムの設計で使われることがあり、ある一連の状態をとったときどのように論理が流れるかを調べることができる。有限個の「状態」のうち1つの状態をとる。ある時点では1つの状態しかとらず、それをその時点の「現在状態」と呼ぶ。何らかのイベントや条件によってある状態から別の状態へと移行し、それを「遷移」と呼ぶ。それぞれの現在状態から遷移しうる状態と、遷移のきっかけとなる条件を列挙することで定義される。 有限オートマトンは様々な問題に応用でき、半導体設計の自動化、通信プロトコル設計、構文解析などの工学面での応用がある。生物学や人工知能研究では状態機械(群)を使って神経系をモデル化し、言語学では自然言語の文法をモデル化したりする。.

新しい!!: 決定性有限オートマトンと有限オートマトン · 続きを見る »

ここにリダイレクトされます:

非輪状決定性有限オートマトン

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »