轻易的以自己或他人的知识和经验来断定一件事可能或者不可能,是容易犯错的,要以客观为准。
一件事情能或者不能,都要找到客观原因,如果不能找到客观原因,如果最后找到的原因是人的知识面不够,那就不要对这个事情下结论。这就是我们追求的科学精神。我们遵循2大基本原则:
1。任何事物都有原因,找不到原因是因为我们认识不够。
2。任何复杂的问题都有一个“复杂度”,这个复杂度不会因为方法不同而减少。
在这两大基本原则下,我们不会危惧任何复杂的问题,要做的就是学习,思考,再复杂的问题如果不能证明不可行,那总有几个解决办法。由两大原则,我们可以推导出第3条出来。
3。复杂的问题的解决,要将问题分解到最基本的问题,再将基本问题转换方式,放到执行效率最高的部件上。
这里,可以打个比方,我们要计算FFT,计算方法是知道的,复杂度也是明确的,对于这个问题,有很多个解决办法,可以编个软件程序来计算,靠提供CPU频率和用汇编来提高FFT的速度。按照我们的方法,先把FFT的基本问题和复杂度弄明白,基本问题是乘法和加法,乘法又可以转化为加法,最终可以全部转发为加法,加法的基本问题又是什么呢?异或,所以FFT计算最终可以转化为有限的异或操作,异或是基本逻辑,不再分解,那么一个FFT计算最终可分解为有限次的异或,这就是这个问题的复杂度,不管你用任何方式来解决问题,你的解决办法最终换算出来的异或数不会比这个复杂度小。我们再来解决这个问题,把有限次个异或操作进行逻辑变换,组合,找到目前技术处理这些问题的效率最高的部件来做,就可以了。变换,组合的种类非常多,目前的器件也非常多,这些组合是有限的,所以一定存在一种最优的解决办法来解决这个问题,这种解决办法就在等着我们去发现。所以你看做FFT有很多种不同的方式,各种方式都有优缺点。对于更复杂的问题,本来找到一个解决办法就不错了,要找到一个优化的解决办法就更难了,这种可能性是存在的,只是认识水平达不到而不能解决,但是不能否认在某个地方某个人确实想到了解决办法。今天我想到了一个解决办法,我不能否认另外某个地方的某个人在某个时间也想到了。所以我相信有好的东西因为某种原因而不能应用。 |