怎么画一个 有限状态机

有限状态机对于证明某些问题是可计算的(或不可计算的)是必要的。
由于我目前正在学习有关它们的一些知识,我希望能够自动绘制这些有限自动机。我将使用 graphviz

Nondeterministic finite-state machine ¶

在这里插入图片描述该图像是从 gv 文件创建的。我将其另存为 fsm.gv:

digraph finite_state_machine {
    rankdir=LR;
    size="8,5"

    node [shape = doublecircle]; S;
    node [shape = point ]; qi

    node [shape = circle];
    qi -> S;
    S  -> q1 [ label = "a" ];
    S  -> S  [ label = "a" ];
    q1 -> S  [ label = "a" ];
    q1 -> q2 [ label = "b" ];
    q2 -> q1 [ label = "b" ];
    q2 -> q2 [ label = "b" ];
}

要创建图形(或非确定性有限状态机的图片),您必须在 Ubuntu Linux 中输入以下命令:

dot -Tpng fsm.gv -o myFiniteStateMachine.png

Deterministic finite-state machine ¶

在这里插入图片描述

digraph finite_state_machine {
    rankdir=LR;
    size="8,5"

    node [shape = doublecircle, label="{f}", fontsize=12] f;
    node [shape = doublecircle, label="{q2, f}", fontsize=10] q2f;

    node [shape = circle, label="S", fontsize=14] S;
    node [shape = circle, label="{q1}", fontsize=12] q1;
    node [shape = circle, label="{q2}", fontsize=12] q2;

    node [shape = point ]; qi
    qi -> S;

    S   -> q1  [ label = "a" ];
    S   -> q2f [ label = "b" ];
    S   -> q2  [ label = "c" ];

    q1  -> q2  [ label = "b" ];

    q2f -> f   [ label = "b" ];
    q2f -> q2  [ label = "c" ];

    q2  -> f   [ label = "b" ];
    q2  -> q2  [ label = "c" ];
}

Installation

sudo apt-get install graphviz

Oder mit apturl installieren, Link: apt://graphviz

Further Reading

DOT Node Shape reference

相关推荐

  1. Unity有限状态

    2024-02-23 08:58:02       43 阅读
  2. Unity实现一个简单的状态Demo

    2024-02-23 08:58:02       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 08:58:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 08:58:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 08:58:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 08:58:02       20 阅读

热门阅读

  1. LeetCode //C - 901. Online Stock Span

    2024-02-23 08:58:02       32 阅读
  2. haproxy集成国密ssl功能

    2024-02-23 08:58:02       34 阅读
  3. vivado RAM Inference

    2024-02-23 08:58:02       27 阅读
  4. nifi连接Sql server数据库报错TLS问题

    2024-02-23 08:58:02       37 阅读