检测确定性程序(即状态机)是否处于等效于解决停机问题的无限循环中?
我想出了一个解决方案,但我不确定为什么它不应该工作:
- 让程序运行
- 当您认为它处于无限循环中时,请定期对其内存进行快照
- 如果您检测到相同的快照,则程序处于无限循环中
- 只要您没有两次获得相同的快照,它要么(1)不在无限循环中,要么(2)您需要更快地拍摄快照(也许每次内存访问一次?)
我假设这不起作用……但是为什么呢?
这似乎是检测程序是否处于无限循环中的一种完全合理的方法(例如,特别是如果您存储哈希而不是内存本身,尽管这不会 100% 准确)......它有什么问题,如果有的话?