抽象机器,也称为自动机,是理论计算机科学的一个元素。抽象机器类似于数学中的函数。它根据指定的规则接收输入并产生输出。抽象机器与更实际的机器不同,因为它们被认为可以完美地运行并且独立于硬件。它们根据特征细分为不同类型,例如它们如何执行操作以及可以接收什么类型的输入。
在对抽象机器进行分类时,最简单的区别之一是允许它们执行的操作数量在任何给定点。如果一台抽象机器总是只有一种方式运行,那么它就被称为确定性的。如果机器在其至少一种可能状态下存在多种可能性,则它是不确定的。 "下推"自动机是一种能够操纵其输入堆栈的自动机,而不是简单地对它们进行一一响应。n 它们出现的顺序。<图>
Wolfram MathWorld给出了两个著名的抽象机器的例子。其中一个例子是康威的生命游戏,它是一种确定性的抽象机器,因为只有一种配置可以从任何其他配置中产生。该游戏使用网格,其中每个盒子或单元格都可以具有"活着"或"死亡"状态。整个网格的状态是根据先前的状态确定的。如果一个活细胞恰好接触到另外两个或三个活细胞,它就会继续存活。如果它有一个、两个或三个以上的邻居(最多可能八个),它就会死亡。一个只有三个邻居的死细胞会复活;否则,它将保持死亡状态。
另一个例子,图灵机,是最基础的机器之一计算机科学中的集成电路和基本抽象机器。图灵机在无限大小的磁带(一串符号)上执行操作。它包含用于更改符号和更改其正在操作的符号的指令。一个简单的图灵机可能只有"将符号转换为 1,然后向右移动"的指令。这台机器只会输出一串 1。这个简单的图灵机是确定性的,但也可以构造非确定性图灵机,它可以在给定相同输入的情况下执行多种不同的操作。
这些抽象机器可以用于许多目的。它们可以是有趣的理论玩具,但它们也可以作为真实计算机系统的模型。抽象机器是计算机科学作为一门学科的核心。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!