算法的迷惑

人应该算是智力高等的虫子了,有些问题还是一个办法:没办法。比如一个排序算法,当你确定了以后,针对不同数据集其时空占用肯定不一样,正如同针对同一数据集不同排序算法其时空占用不一样,是一个道理。不过,变的一个是数据集,一个是算法罢了,自然是容易明白的。

但是人就是不容易服气,偏想弄个唯一出来。其实初中时候老师就叫我们,发散思维,一题多解。这时候也就有些明白另辟溪径的原来,本就存了那些路通着罗马的,你不过充当了一回发现者而已。而作为发现者有着一个主要目的,选路,还是最短的或者说最合适的。这个过程,变的是路,不变的是择路的方法。还有一个,打工挣钱。路自然是迷茫的,但是工钱的要价在内心却还是有个标准的。然后就通过不断地跳,达到目的才静的下来。这也算一个排序过程,变的是工种,不变是要价。也许你会说,其实要价也存有变的。这里其实还是存有一个不变的,劳动的相对价值。你的技能时间精力总是相对有限的,所以你的市场估值自然也是相对有限的。这和你的期望之间有一个妥协过程。最终是市场选择你,而非你选择市场。

不变的就叫决定量。我们唯一要做的,不是试图去改变决定量,而是依着它来改变我们的办法,使之能更懒汉些就好。但是,在最合适和通用之间,有时就只能没办法了。比如,小高斯对1+2+3+...+100的办法,目前被人们认为是这个数列累加的最简办法了,但是,对于任何数列的累加他的办法却显然无法说是能够通用的。那么如何找到或者存不存在适应所有数列累加的简便办法呢?在试过更多可能后,最后可能得出的结论,却只能是一个一般的概率选择结果,而无法做非此即彼的简单结论。所以,对于确定的数据集,最有效率的办法是必然存在的,当然不一定是通用的。但有一点是明确的,不变量决定着解决问题的基本思路。所以我们也许应该变一变说法,叫做“技术适应世界”,而不是改变世界。

我们总是希望办法能够是最简的同时又是通用的,但这种想望显然是相矛盾的,对于这种没办法,人也有些办法,比如西方人说概率,东方人讲骑墙,道的意思大致都是一回事的。许多简单确定的东西放在一起却变出一个复杂而不确定的结果出来,的确是有些怪。那么概率有没有用?答案是肯定的,因为概率概念是建立在整体概念上,当思维将之视为一个更大系统中的一个基本单位时,它的一个总的作用结果(历史)依然能够通过线性描述得到确定结论。

至此可以得出一个结论,确定的数据集或者算法,存在着一个最简的算法或者最适当的数据集,应该分析归纳种种不同的对象,找出所谓“规律”--也就是一些大致不变的因素,从而得出相应的限于自己能力的办法来。

抄一回毛语录:

--具体问题具体分析;

--没有调查没有发言权;

--办法就藏在问题中;

--一把钥匙一把锁。

算法的迷惑

时间: 2024-12-05 20:22:27

算法的迷惑的相关文章

js算法集合(一) 水仙花数 及拓展(自幂数的判断)

js算法集合(一) ★ 最近有些朋友跟我说对js中的一些算法感到很迷惑,知道这个算法到底是怎么回事,但是就是不会用代码把它写出来,这里我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,希望能对大家有所帮助. 1.验证一个数是否为水仙花数 ①要写水仙花数的算法,我们首先来了解一下什么是水仙花数,水仙花数是指一个 3位正整数 ,它的每个位上的数字的 3次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153): ②了解了什么是水仙花数我们就开始分析该怎么下手.通过定义来看

贪心算法

一,贪心算法的设计思想 ? 从问题的某一个初始解出发逐步逼近给定的目标,每一步都作一个不可回溯的决策,尽可能地求得最好的解.当达到某算法中的某一步不需要再继续前进时,算法停止. 二,贪心算法的基本性质 1)贪心选择性质 所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到.这是贪心算法可行的第一个基本要素,也是贪心法与动态规划法的主要区别. 2) 最优子结构性质 该问题解的整体最优性依赖于其局部子问题解的最优性.这种性质是可以采用贪心算法解决问题的关键特征.例如

机器学习系列(9)_机器学习算法一览(附Python和R代码)

本文资源翻译@酒酒Angie:伊利诺伊大学香槟分校统计学同学,大四在读,即将开始计算机的研究生学习.希望认识更多喜欢大数据和机器学习的朋友,互相交流学习. 内容校正调整:寒小阳 && 龙心尘 时间:2016年4月 出处:http://blog.csdn.net/han_xiaoyang/article/details/51191386 http://blog.csdn.net/longxinchen_ml/article/details/51192086 声明:版权所有,转载请联系作者并注

一天一道算法题---6.26---二分查找

感谢微信平台---一天一道算法题----每天多一点进步-- 好累啊  现在在用win7自带的输入法 打起来真麻烦 快点把这2天的搞完就重装了 还是直接来源于----〉 待字闺中 分析 给定一个数组A,其中有一个位置被称为Magic Index,含义是:如果i是Magic Index,则A[i] = i.假设A中的元素递增有序.且不重复,请给出方法,找到这个Magic Index.更进一步,当A中允许有重复的元素,该怎么办呢? 没有重复元素的情况 一些同学在遇到这个题目的时候,往往会觉得比较简单.

A*算法详解 BZOJ 1085骑士精神

转载1:A*算法入门 http://www.cppblog.com/mythit/archive/2009/04/19/80492.aspx 在看下面这篇文章之前,先介绍几个理论知识,有助于理解A*算法. 启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标.这样可以省略大量无畏的搜索路径,提到了效率.在启发式搜索中,对位置的估价是十分重要的.采用了不同的估价可以有不同的效果. 估价函数:从当前节点移动到目标节点的预估费用:这个估计

mahout之旅---分布式推荐算法ALS-MR

Mahout分布式推荐系统--基于矩阵分解的协同过滤系统 1.实例环境 Mahout版本:mahout-0.9: Hadoop版本:hadoop-1.2.1: Jdk版本:java1.7.0_13 分布式系统:centos: 集群规模:master .slavex.slavey.slavez 2.实例脚本 目前技术博文对mahout0.9版本的简介的也是不忍直视.这里系列博客对mahout0.9版本自带的基于矩阵分解的协同过滤系统算法的讲解.一个首先不管怎么样,先把程序跑起来,mahout自带了

经典算法之动态规划

动态规划让我纠结了好一阵子,背包问题让我觉得不知道怎么入手,到处搜索都是一条条的公式,晦涩难懂.偶然间发现了一个博客写的动态规划解释非常的好,虽然还没完全随心所用,但是总算是入门了,下列内容为转载,附上原地址:http://www.cnblogs.com/sdjl/articles/1274312.html 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动

LeetCode算法编程(两题)

今天看到酷壳推荐的国外编程LeetCode算法编程网站,上面目前有154道算法题,感觉很有意思,平常工作也比较忙,现在很少有时间来锻炼算法相关的东西,有空的时候静下心来,温习下基础,活跃下自已的思路,也是有必要的.先做了几道,后面会陆续补充其它的题目. 1.题目-PlusOne Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored s

A* Pathfinding for Beginners A*算法路径搜索入门

原始链接地址: http://www.gamedev.net/page/resources/_/technical/artificial-intelligence/a-pathfinding-for-beginners-r2003 Updated July 18, 2005 This article has been translated into Albanian, Chinese, French, German, Portuguese, Russian, and Spanish. Other