Skip to content

n0-t0/finite_automaton_simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

outline

コマンドライン引数で有限オートマトンの条件を書いたjsonへのパスを渡して実行し、 文の候補となる語の羅列を入力後、条件で表されるオートマトンで表現される文であるかを判定します。

usage

条件は、

  1. 状態を表す集合
  2. 開始状態
  3. 受理状態を表す集合
  4. アルファベット(語)
  5. 遷移規則

から成り、遷移規則は全ての状態の要素とアルファベットの要素に対して次の状態の要素が過不足無く定義されているものとします。

例えば、rule.jsonでは4つのノードを持ち、開始ノードと受理ノードが同じで、0と1の組み合わせからなるある文字列の集合を判定します。 遷移は状態をQ、アルファベットをAとして、(Q, A)->Qの形式を{Q->A->Q}の形式で以下のように記載します。

{
    "state":["A", "B", "C", "D"],
    "start_state":"A",
    "set_of_accept_states":["A"],
    "alphabet":["0", "1"],
    "transition_function":{
        "A":{
            "1":"B",
            "0":"D"
        },
        "B":{
            "1":"A",
            "0":"C"
        },
        "C":{
            "1":"D",
            "0":"B"
        },
        "D":{
            "1":"C",
            "0":"A"
        }
    }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages