【发布时间】:2014-05-06 16:08:14
【问题描述】:
我正在尝试在 Python(或伪代码)中为给定的函数列表 [f1,...,fn] 找到一种编写高级函数的算法 - 不必停止 -并且给定的输入列表 [x1,...,xn] 仅打印一次 fi(xj)(表示所有函数和输入对)。
当然,实现这一点的天真的建议是:
for f in lst1:
for x in lst2:
f(x)
但问题是某些函数可能会在某些输入上永远循环。
我可以使用步进器(它有一个 step() 方法,每次调用该函数都会执行一个后续计算步骤)
我只需要一个想法或算法如何做到这一点。
【问题讨论】:
-
当然,您只想打印暂停的计算结果?
-
@delnan 是的,这是真的。
-
这不只是停机问题([en.wikipedia.org/wiki/Halting_problem)吗? ....已知没有解决方案...您如何检测它是否永远循环?
-
@JoranBeasley 你不需要。看我的回答。
-
@user2357112 你的意思是undecidable