在http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf中,Fred声称“软件系统的状态等级比计算机多”,这使得它们更难设计和测试(芯片已经很难测试了!)
这对我来说是违反直觉的:任何运行中的软件系统都可以映射到一台处于某种状态的计算机,而且似乎一台计算机可能处于一种不代表正在运行的软件系统的状态。因此,计算机应该比软件系统具有更多的潜在状态。
布鲁克斯是否想知道我错过了什么特殊的意义?或者一台计算机的潜在状态真的比它能够运行的软件系统要少吗?
发布于 2016-10-23 07:16:52
让我们先想想图灵机器。
图灵机由一个包含符号的无界磁带、一个头部和一个小控制单元组成,它是一个有限状态自动机,控制机器如何读取、移动和修改磁带上的符号。
事实:存在通用图灵机,即从磁带中读取另一台图灵机器的描述并在给定输入上执行它的机器。换句话说:即使在控制单元中只有有限的状态,这些机器也可以模拟其他所有可能的图灵机。
读取图灵机的描述就像读取存储在内存中的软件程序一样。
从这个意义上说,,如果把硬件的状态数算作控制单元中的状态数,如果软件是图灵机写在磁带上的描述,那么是的,有限的硬件可以模拟无限的软件,但是软件肯定包含比模拟它更多状态的图灵机。
但是,如果您认为计算的整个状态,即包括磁带的状态,那么您是正确的:在这个意义上,每个模拟都对应于特定的可能状态,并且有许多状态是无效的,或者是不可到达的。
同样,现代计算机由一组硬件组成,这些硬件实现了这个控制单元,然后是内存,这是我们的磁带。如果您不将内存状态视为硬件状态的一部分,则同样如此:有限计算机,只要有足够的内存,就可以在每个可能的输入上执行所有可能的程序,但其控制部分仅为有限的。
这是说我不会太当真或太认真.问题很简单:软件系统的状态数增长非常快。
https://stackoverflow.com/questions/40200289
复制相似问题