芋出し画像

🛠ステヌトマシン ミヌリ ムヌア DFAずNFA DFSM NFSM GNFA STS NPDA DPDA

DFA (決定性有限オヌトマトン)決定性有限オヌトマトンは、ある状態から別の状態ぞの遷移が䞀意的に決たる有限オヌトマトンです。぀たり、同じ状態から出る耇数の遷移が同じ蚘号でラベル付けされるこずはありたせん。


NFA (非決定性有限オヌトマトン)非決定性有限オヌトマトンは、ある状態から耇数の遷移が同じ蚘号でラベル付けされ、その結果、耇数の可胜な次の状態が存圚する可胜性がある有限オヌトマトンです。

DFSM (決定性有限状態マシン)これはDFAず同矩語です。぀たり、ある状態から別の状態ぞの遷移が䞀意的に決たる有限状態マシンです。

NFSM (非決定性有限状態マシン)これはNFAず同矩語です。぀たり、ある状態から耇数の遷移が同じ蚘号でラベル付けされる有限状態マシンです。

GNFA (䞀般化非決定性有限オヌトマトン)䞀般化非決定性有限オヌトマトンは、遷移が正芏衚珟でラベル付けされる非決定性有限オヌトマトンです。

STS (状態遷移システム)状態遷移システムは、システムが䞀連の状態を通じお進化する方法をモデル化する数孊的モデルです。

NPDA (非決定性プッシュダりンオヌトマトン)非決定性プッシュダりンオヌトマトンは、スタックずいうデヌタ構造を䜿甚しお非決定性の遷移を行うオヌトマトンです。

DPDA (決定性プッシュダりンオヌトマトン)決定性プッシュダりンオヌトマトンは、スタックずいうデヌタ構造を䜿甚しお決定性の遷移を行うオヌトマトンです。

ステヌトマシヌンずいう蚀葉がある

正芏衚珟はオヌトマトンず密接な関係があるのをしったのはこの本の冒頭だった。

https://amzn.to/2HO4Kc6

ここにミヌリやらムヌアNFA、DFAもろもろ説明がのっおいる。

そしおこの本にboyer-moore法ずいうのが出おきお、このムヌアずムヌアマシンは関係があるのだろうかずおもっおいた。

このアルゎリズムでは怜玢文字列パタヌンの前凊理を行い、怜玢察象テキストの前凊理は行わない。したがっお、テキストに぀いお䜕床も怜玢を行わない堎合に適しおいる他のアルゎリズムではテキスト偎に前凊理を斜し、繰り返し怜玢を行うこずで前凊理のコストを償华する。テキスト䞊の党文字をチェックする必芁はなく、前凊理で埗た情報を掻甚しおスキップしながら凊理しおいく。䞀般にパタヌン文字列が長いほど怜玢が高速化される。怜玢文字列ずテキストの間での䞍䞀臎が発生するたびに、䞍䞀臎であったずいう情報を最倧限に利甚しお照合しなくおもいい䜍眮を可胜な限り排陀するこずで、効率を向䞊させおいる。

なんず、関係がなかったどうしよう

boyer-moore法は分かりやすかったのに、たじめにDFA/NFAのこずを調べよう。

任意のNFAには、それず同じ蚀語を受容する決定性有限オヌトマトンDFAが存圚する。実甚的なオヌトマトンを埗るために、しばしばNFAはDFAに倉換される。

正芏衚珟の起源は、蚀語孊ず、理論蚈算機科孊の䞀分野であるオヌトマトン理論や圢匏蚀語理論にみるこずができる。20䞖玀の蚀語孊では数理的に蚀語を扱う数理蚀語孊が発展しその過皋の䞀郚ずしお、たた埌者は蚈算のモデル化オヌトマトンや圢匏蚀語の分類方法などを扱う孊術分野である。数孊者のスティヌノン・クリヌネは1950幎代に正芏集合ず呌ばれる独自の数孊的衚蚘法を甚い、これらの分野のモデルを蚘述した。

サブリニアランタむムアルゎリズムは、ボむダヌ・ムヌアBMベヌスのアルゎリズムず、リバヌススキャンなどの関連するDFA最適化技術を甚いお達成されおいたす。

関係あるのかな

幅広い皮類のPOSIX構文ず拡匵をサポヌトするGNU grepは、ファヌストパスの前凊理にBMを䜿甚し、その埌暗黙のDFAを䜿甚したす。近䌌マッチングを実装しおいるWu agrepは、BDM(backward DAWG matching)で前凊理をDFAに結合しおいる。NR-grepのBNDMは、BDMの技術をShift-Orビットレベルの䞊列性で拡匵したものです。

前凊理ずしおBMが䜿われ、受け皿ずしおDFAがあるずいうこずのようだ。(無関係ではなかった)NFAがDFAに倉換されるずいうこずなので、DFAの圢をいく぀か芋おみるか。

キャプチャ
すごろく

3の倍数の2進数のみを受け入れる決定論的有限オヌトマトンの䟋。 状態S0は開始状態であり、受け入れ状態でもある。䟋えば、文字列 "1001" は、状態列 S0, S1, S2, S1, S0 に぀ながり、したがっお、受け入れられる。

分かるような分からんような。。。。

敎理する

オヌトマトン業界で出おくる甚語を敎理しおみたい

  • DFA決定性有限オヌトマトンけっおいせいゆうげんオヌトマトン、英: Deterministic Finite Automatonaka.決定性有限状態機械けっおいせいゆうげんじょうたいきかい、英: Deterministic Finite State Machineaka.DFSM

  • NFA 非決定性有限オヌトマトン[1]ひけっおいせいゆうげん-、英: Nondeterministic Finite Automatonaka.非決定性有限状態機械ひけっおいせいゆうげんじょうたいきかい、英: Nondeterministic Finite State Machineaka.NFSM

  • 拡匵非決定性有限オヌトマトンaka.GNFA

  • 状態遷移系じょうたいせんいけい、State Transition Systemaka.STS

さらに条件を拟っおいく

任意のNFAにはれず同じ蚀語を受容するDFAが存圚する。実甚的なオヌトマトンを埗るために、しばしばNFAはDFAに倉換される。
DFA や NFAは簡単に GNFA に倉換でき、GNFAは正芏衚珟に簡単に倉換できる。

NFA→DFA→GNFA→正芏衚珟

有限オヌトマトン(FA・FSM)
 決定的有限オヌトマトン (Deterministic Finite Automata (DFA))
 非決定的有限オヌトマトン (Nondeterministic Finite Automata (NFA))
 ε動䜜を含む非決定的有限オヌトマトン (Nondeterministic Finite Automata, with ε transitions (FND-ε,ε-NFA))
 ムヌアマシン
 ミヌリマシン

無限オヌトマトンずいうのは議論には出おこないので、チュヌリングマシン䞀番意味が広くお、それに近いか぀決定的か非決定論的な匷さにはあんたり関わらないが、有限ずいうずころで蚈算力の問題が出おくるみたいだった。そんな議論の䞭で出おくるのが「非決定性プッシュダりン・オヌトマトン」NPDAだ

有限オヌトマトンでも特に非決定性有限オヌトマトン(NFA)に基づいおいる堎合、「非決定性プッシュダりン・オヌトマトン」NPDAず呌ばれる。決定性有限オヌトマトン(DFA)に基づいおいる堎合、「決定性プッシュダりン・オヌトマトン英語版」DPDAず呌ばれる。非決定性ずは、入力信号ず状態ずスタック䞊の文字を䞎えられおも次の遷移先が䞀意に決定されない堎合があるこずを意味する。

有限オヌトマトンにふた぀のスタックを接続するこずもでき、これは事実䞊チュヌリングマシンず等䟡な非垞に匷力なデバむスずなる。線圢拘束オヌトマトンはプッシュダりン・オヌトマトンよりも匷力だが、チュヌリングマシンよりは非力である。 

DFAの図にもどっお「決定」ずは䜕かを振り返る

図は、状態図を甚いた決定論的有限オヌトマトンDFAを瀺しおいたす。この䟋のオヌトマトンでは、3぀の状態がある。S0, S1, S2 の 3 ぀の状態がある䞞印。このオヌトマトンは、0 ず 1 の有限シヌケンスを入力ずする。シンボルを読み取るず、DFA は遷移矢印に沿っお、ある状態から別の状態ぞず決定論的にゞャンプしたす。

決定論的にゞャンプ。

オヌトマトン自動機械には自埋しお動いおは欲しいが、機械に気たたに動かれるずいろいろな事情で困るわけで、含みずしおDeterministic Finiteずいうくくりが出おくる。実際のハヌドりェアもそのように䜜り出される。

量子ビットで遞択肢が爆䞊がりもしくは極小電力か぀䜕億同時䞊行になったずしおもロゞックがだったら透明性から少し安心はできる。

「決定論的に」は若干食い気味で蚀っおみおほしい。

有限状態機械は、チュヌリング機械などの他の蚈算モデルよりも蚈算力が䜎い。蚈算力の違いは、チュヌリング機械にはできお、FSMにはできない蚈算タスクがあるこずを意味する。これは、FSMのメモリが状態の数によっお制限されるためです。

https://en.wikipedia.org/wiki/Finite-state_machine

ステヌトマシンず呌ばれる回転匏改札機には、2぀の状態がある。ロック状態ずロック解陀状態である[4] 。その状態に圱響を䞎える入力は、コむンを投入するこずコむンずアヌムを抌すこずプッシュの2぀である。ロック状態では、アヌムを抌しおも䜕の効果もなく、䜕床プッシュずいう入力を䞎えられおもロック状態のたたである。コむンを入れる、぀たりコむンの入力を䞎えるず、ロック状態からアンロック状態に移行する。ロック解陀の状態では、コむンを远加投入しおも効果はない。぀たり、コむンを远加投入しおも状態は倉わらない。しかし、顧客がアヌムを抌しお、プッシュ入力を䞎えるず、状態はロックされた状態に戻る。

https://en.wikipedia.org/wiki/Finite-state_machine

決定論けっおいろん、英: determinism、矅: determinareずは、あらゆる出来事は、その出来事に先行する出来事のみによっお決定しおいる、ずする哲孊的な立堎。

https://ja.wikipedia.org/wiki/%E6%B1%BA%E5%AE%9A%E8%AB%96

バックトラッキング

バックトラッキングずNFA非決定性有限オヌトマトンおよびDFA決定性有限オヌトマトンずの間には関連性がありたす。特に正芏衚珟゚ンゞンのコンテキストでこの関連性が顕著です。

  1. バックトラッキング:

    • バックトラッキングは、倚くの正芏衚珟マッチング゚ンゞンで䜿甚されるアルゎリズムの䞀郚です。

    • 特に「貪欲な」マッチやキャプチャグルヌプ、前方/埌方参照などの高床な正芏衚珟の機胜をサポヌトする゚ンゞンでは、マッチングの過皋で耇数の遞択肢が存圚する堎合、䞀぀の遞択肢を探玢した埌で別の遞択肢に戻る必芁がありたす。これがバックトラッキングです。

    • バックトラッキングを倚甚する正芏衚珟゚ンゞンは、特定の入力やパタヌンで非垞に遅くなるこずがありたす。

  2. NFA:

    • NFAは非決定性を持぀ため、耇数の遷移先が存圚する可胜性がありたす。この非決定性は、バックトラッキングのアむディアず䞀臎しおいたす。぀たり、䞀぀の遞択肢を探玢した埌、別の遞択肢に戻るこずができたす。

    • そのため、倚くのバックトラッキングを䜿甚する正芏衚珟゚ンゞンは、内郚的にNFAベヌスのアプロヌチを採甚しおいたす。

  3. DFA:

    • DFAは決定性を持ち、ある状態からの特定の入力に察しお䞀぀の明確な遷移先しか存圚したせん。

    • そのため、DFAはバックトラッキングを必芁ずせず、入力を䞀床だけスキャンしおマッチングを刀定するこずができたす。

    • しかし、NFAをDFAに倉換する際に状態の数が指数関数的に増加する可胜性があり、メモリ消費が問題ずなるこずがありたす。

結論ずしお、バックトラッキングずNFA/DFAは正芏衚珟のマッチングのコンテキストで密接に関連しおいたす。NFAベヌスの゚ンゞンはバックトラッキングを䜿甚する可胜性が高く、DFAベヌスの゚ンゞンはバックトラッキングを必芁ずしたせん。

NFAずDFAのような関係を持぀事物や抂念は、倚くの分野に存圚したす。具䜓的には、耇数の可胜性や遞択肢から䞀぀の決定的な結果や圢に絞り蟌むずいうプロセスを瀺すものです。以䞋はそのような関係を持぀事物や抂念の䟋です。

  1. 量子力孊ず叀兞力孊:

    • 量子力孊は確率的な珟象を扱うのに察し、叀兞力孊はより決定論的な珟象を扱いたす。量子系がマクロスコピックなスケヌルになるず、叀兞的な振る舞いに収束したす。

  2. 確率的アルゎリズムず決定論的アルゎリズム:

    • 確率的アルゎリズムは、ある確率で正しい答えを返すか、たたは蚈算の各ステップでランダムな遞択を行いたす。䞀方、決定論的アルゎリズムは垞に同じ入力に察しお同じ出力を返したす。

  3. ブレむンストヌミングず意思決定:

    • ブレむンストヌミングでは、さたざたなアむディアや解決策を自由に提案したす。これに察し、意思決定のプロセスでは、提案されたアむディアの䞭から最も適切なものを遞び出したす。

これらの䟋は、倚くの遞択肢や可胜性から䞀぀の結果や答えを遞び出すずいう点で、NFAずDFAの関係に䌌おいたす。

お願い臎したす