擅长:python、mysql、java
<p>一些评论:</p>
<p>在检查是否位于树中某个分支的末尾后,不需要重新检查S是否为终端:</p>
<pre><code># if S is not terminal: switch player & compute successors
##if not move_was_winning_move(S, p): THIS LINE IS NOT NECESSARY
rs, cs = np.where(S==0)
</code></pre>
<p>另外,在我看来,由于您的<code>move_was_winning_move</code>和<code>move_still_possible</code>函数在每次迭代中至少被调用一次,它们可能对运行时有很大贡献,但您没有向我们展示这些代码,因此我们无法帮助您优化它。在</p>
<p>您真正需要做的是查看<a href="https://docs.python.org/2/library/profile.html" rel="nofollow">^{<cd3>} module</a>并找出代码中的瓶颈是什么。在</p>