📜  各种自动机的应用

📅  最后修改于: 2021-09-27 06:17:27             🧑  作者: Mango

自动机是一种机器,它可以接受输入字母表上的语言 L 的字符串\sum .
到目前为止,我们已经熟悉了自动机的类型。现在,让我们讨论 Automata 的表达能力并进一步了解它的应用。

各种自动机的表现力
任何机器的表达能力都可以根据该特定类型机器接受的语言类别或语言集来确定。这是机器表达能力的递增序列:

FA < DPDA < PDA < LBA < TM

正如我们所观察到的,FA 不如任何其他机器强大。需要注意的是,DFA 和 NFA 的幂是相同的,因为每个 NFA 都可以转换为 DFA,每个 DFA 都可以转换为 NFA。
图灵机即 TM 比任何其他机器都更强大。

(i) 有限自动机 (FA) 等价:

Finite Automata 
≡ PDA with finite Stack 
≡ TM with finite tape 
≡ TM with unidirectional tape 
≡ TM with read only tape 

(ii) 下推自动机 (PDA) 等价物:

PDA ≡ Finite Automata with Stack 

(iii) 图灵机 (TM) 等价:

Turing Machine 
≡ PDA with additional Stack 
≡ FA with 2 Stacks 

这些自动机的应用如下:

1. 有限自动机 (FA) –

  • 用于设计编译器的词法分析。
  • 用于使用正则表达式识别模式。
  • 用于使用 Mealy 和 Moore 机器设计组合和时序电路。
  • 在文本编辑器中使用。
  • 用于执行拼写检查。

2. 下推自动机 (PDA) –

  • 用于设计编译器的解析阶段(语法分析)。
  • 用于堆栈应用程序的实现。
  • 用于计算算术表达式。
  • 用于解决河内塔问题。

3. 线性有界自动机 (LBA) –

  • 用于遗传编程的实现。
  • 用于构建语法分析树以进行编译器的语义分析。

4. 图灵机 (TM) –

  • 用于解决任何递归可枚举问题。
  • 用于理解复杂性理论。
  • 用于神经网络的实现。
  • 用于实施机器人应用程序。
  • 用于人工智能的实施。