第107章 三十二个证人(4 / 7)
状態是一段已经写下的比较器序列。
动作是往后追加一个比较器,比较两个位置,把小的甩前,大的甩后。
胜利条件,是这段序列让三十二个证人全部点头。
结构一模一样。
只是把几何换成了指令。
他写了一版搜索:从空网络出发,逐个追加比较器,每加一个就用零一原理剪枝,留下还有希望的分支,砍掉已经走死的。
搜索先跑长度八以內的全部候选。
mps没找到任何一个能让三十二个0-1证人全部点头的网络。
然后长度放到九。
第一组通过的网络出现了。
江临把结果和knuth里那行s(5)=9对上。
这才意味著:五个元素排序,九个比较器不只是能做到,而是最低限度。
教科书上写了几十年的那个数字,被他这套从一块砖上长出来的框架,从头独立搜了出来。
框架,迁移成功。
江临靠回椅背,看著屏幕上那九行乾净的比较器。
一瞬间,有种成了的轻飘飘然。
可这点轻飘只浮起了几秒,就被他自己一把按了下去。
重新调出陈启明那张流血的火焰图。
median7_fast、rank5_inline、top3_window……
陈启明早就说过,人工优化的红利,已经被那群长期泡在底层代码里的人压得很薄了。
意思是他团队现有的代码,比较器数量大概率早就是九,或者贴著九。
而他用高维数学和搜索算法搜出来的最少九个比较器,对陈启明而言,根本不是什么新东西。
江临盯著自己那九行结果,眉头慢慢拧紧。
他犯了一个新手才会犯的错。
下意识地去优化了那个最乾净最好定义也最容易写出適应度函数的组合目標——比较器的数量。
可陈启明要的,从来不是数学意义上的数量最少。
而是在他那几台具体的伺服器上,跑得最快。
数量最少和跑得最快在真实的物理世界里,根本不是一回事。
江临想起陈启明在报告厅留下的最后一句话。
他的搜索空间里,充满了正確的低效垃圾。 ↑返回顶部↑
动作是往后追加一个比较器,比较两个位置,把小的甩前,大的甩后。
胜利条件,是这段序列让三十二个证人全部点头。
结构一模一样。
只是把几何换成了指令。
他写了一版搜索:从空网络出发,逐个追加比较器,每加一个就用零一原理剪枝,留下还有希望的分支,砍掉已经走死的。
搜索先跑长度八以內的全部候选。
mps没找到任何一个能让三十二个0-1证人全部点头的网络。
然后长度放到九。
第一组通过的网络出现了。
江临把结果和knuth里那行s(5)=9对上。
这才意味著:五个元素排序,九个比较器不只是能做到,而是最低限度。
教科书上写了几十年的那个数字,被他这套从一块砖上长出来的框架,从头独立搜了出来。
框架,迁移成功。
江临靠回椅背,看著屏幕上那九行乾净的比较器。
一瞬间,有种成了的轻飘飘然。
可这点轻飘只浮起了几秒,就被他自己一把按了下去。
重新调出陈启明那张流血的火焰图。
median7_fast、rank5_inline、top3_window……
陈启明早就说过,人工优化的红利,已经被那群长期泡在底层代码里的人压得很薄了。
意思是他团队现有的代码,比较器数量大概率早就是九,或者贴著九。
而他用高维数学和搜索算法搜出来的最少九个比较器,对陈启明而言,根本不是什么新东西。
江临盯著自己那九行结果,眉头慢慢拧紧。
他犯了一个新手才会犯的错。
下意识地去优化了那个最乾净最好定义也最容易写出適应度函数的组合目標——比较器的数量。
可陈启明要的,从来不是数学意义上的数量最少。
而是在他那几台具体的伺服器上,跑得最快。
数量最少和跑得最快在真实的物理世界里,根本不是一回事。
江临想起陈启明在报告厅留下的最后一句话。
他的搜索空间里,充满了正確的低效垃圾。 ↑返回顶部↑