什么是蛮力算法

neh*_*ris 42 algorithm

  1. 什么是蛮力算法?(除了只是方法)

  2. 当一个问题可以使用蛮力的方法,什么时候不?

  3. 当算法使用强力方法时,算法中有哪些特征?

Fez*_*vez 49

1和3:蛮力意味着您将广泛地通过所有可能的解决方案.例如,在国际象棋游戏中,如果你知道你可以在两个动作中获胜,那么蛮力将通过所有可能的动作组合,而不考虑任何事情.因此,仍然会考虑不能影响结果的后方小兵.

2:当你考虑一切时,问题很快就会失控.由于组合爆炸(太多情况需要考虑),国际象棋中的15次蛮力是不可能的.然而,考虑到"关于问题的知识"的更聪明的算法可以更进一步(提前20-30步)


编辑:澄清一下,蛮力是最简单(最愚蠢?)探索解决方案空间的方式.如果你有一个问题设置在一个可数的空间(国际象棋移动是可数的,密码是可数的,连续的东西是不可数的)蛮力将探索这个空间考虑所有解决方案相同.在国际象棋的例子中,你想要对抗你的对手.这是通过一系列可移动的动作完成的.蛮力将经历所有一系列动作,但不太可能.不太可能这个词很重要,因为这意味着如果你对你的问题有所了解(你知道什么是不可能的解决方案,比如牺牲你的女王),你可以做得比蛮力更好.