可能重复:
在构建有效的穷举搜索算法方面需要帮助
想象一下,您必须通过在键盘上输入正确的 4 位密码来打开一扇上锁的门。每次按键后,锁都会评估输入的最后 4 位数字的顺序,即通过输入123456
您已经评估了 3 个代码1234
:2345
和3456
。
10^4
评估所有不同组合的最短按键序列是什么?- 是否有一种方法可以轻松地穿越整个空间以供人类遵循?
我不时思考这个问题,因为我的一个朋友不得不蛮力这样锁,冬天不必在户外过夜。
我微弱的尝试将我的头缠绕在它周围
使用长度L=4
数字的代码和大小数字的“字母表”,D=10
最佳序列的长度不能短于D^L + L - 1
. 在比[L,D] = [4,10]
我更小的模拟中,通过半随机搜索空间获得了最佳结果。但是,我不知道是否存在任意[L,D]
对的解决方案,并且如果我不得不使用它,我将无法记住该解决方案。
迄今为止的经验教训
当计划在另一个城镇的朋友家过夜时,如果那个人要出去参加聚会并且听不到她的手机,请确保不要在凌晨 1 点到达。