摘要:
在算法的形式化定义中,Q可能是无限集合,f可能是很复杂的操作,不满足本章提到的效率要求。因此作者提出了更具效率的形式化定义。其基本思想是将一个状态映射为一个字符串,如何映射应该是难点,但作者没有在这里详细描述。状态映射为字符串之后,f变为字符串操作,具有效率,但我觉得Q仍可能是无限集合。 除了Q,I,Ω,f之外,这里又引入了几个符号: A: 有限集合,包含状态字符串可能用到的字母。通常将是输入中的每个元素和每个运算过程中产生的中间元素映射为一个字母。 $A^*$: 使用A中字母表达的状态的集合,注意这里没有使用$A^*$作为Q。 $\sigma$: 使用字符串表达的状态,是$... 阅读全文
摘要:
算法的基本功能是将输入转化为输出。通常,这种转化不是一步就可以完成的,那样太简单,体现不出算法的价值。一个算法要分为诸多步骤来实现,这些步骤将输入转化为中间状态,并不断推进中间状态,使其达到最终状态,即输出。了解这些中间状态是理解形式化定义的关键。 算法定义为四元组(Q,I,Ω,f)。 Q: 所有状态的集合。这是静态的集合,定义了算法的处理域。 I: 输入状态的集合,即算法的初始状态。I是Q中的子集。 Ω: 输出状态的集合,即算法的最终状态。Ω也是Q中的子集。 f: 状态间的迁移规则。f将Q中的状态连接起来,使输入状态可以通过一条路径达到输出状态。 达到输出状态后,状态就不应再... 阅读全文