啥是算法?看完这个就懂了

鹿角    2020-10-26 11:57:55    算法  通解 

“你一定想不到,生活中你的一举一动一呼一吸都是算法。”

——非常解读

在这个数据智能时代,到处都充斥着“算法”,手机里几乎所有的APP们都在利用“算法”来窥探我们的喜好。

如果说5G、区块链、物联网、AI等等是现代化生活的空气,那么算法就是其中的氧气,是前提,也是核心。

但是,“算法”究竟是什么?

这个问题很可能会让理科生犯难,如何用通俗易懂的语言向自己的文科生女友解释呢?

算法超越了数学的范畴

因为有个“算”,许多人脑子里出现的是一排排的公式,或者一行行的代码。但实际上算法超越了数学的范畴,它需要逻辑来产生一定的结果。

解答数学题的过程的确叫算法,但如何做麻婆豆腐?从家去学校怎么走最快?如何快速找到对象?这些也都是算法在生活中的映像,而且光有计算是不够的。

准确来说,算法是用来解决具体问题的完整又准确的策略。

首先要有一个目的,一个问题,而为了解决这个问题,达到这个目的所设计的一系列步骤就叫做算法。所以,可以说生活中的一呼一吸都是算法,因为在生活中你时时刻刻都在解决问题。

如果你仍然觉得以上解释有点笼统,那我们就来说说千千万万的算法都有哪些共同点:

首先算法的指令必须要精准,具有明确的定义,也就是说总得有个目的亦或问题。

此外,一方面算法的步骤执行次数是有限的,另一方面,执行时间也必须有限且合理。

算法还具备一定的输入和输出的特征:

所谓输入:不告诉我运算对象的初始情况,我咋给你匹配对象?所谓输出:不告诉你明确的结果输出你不得跟我急?并且,算法的每个步骤都必须可执行,行不通还要它干嘛?

算法和模型、程序有啥不可告人的关系?

算法很容易和模型、程序混为一谈,他们有相同点,也有不同点。

我们可以把模型理解为描述问题,而算法则是用来解决具体问题。

如果说,模型是“如何做菜”这个问题,那么既可以用来描述“如何做酸菜鱼”也可以用来描述“如何做麻婆豆腐”。

而算法是描述“如何做麻婆豆腐”的具体菜谱,包括如何处理食材、准备调汁、翻炒调味等等一系列针对具体问题的步骤。

算法和程序又有什么区别呢?

通俗来说,算法是某一个具体问题的解决思路,算法语言相对随意一些,而程序是一组计算机能识别和执行的指令,表达出来是规范的、机械的。

算法和程序密切相关,每一个程序都伴随着算法,在计算机编程中,算法是程序的灵魂所在,它的优劣直接决定了程序的好坏。

算法对我们生活的影响

尽管算法在计算机出现之前就已经有了,但应用的效率较低,当计算机、5G、区块链、物联网等出现,给了算法更加广阔的应用空间以及难以想象的应用效率。于是商家常常利用算法来讨好或者算计消费者,这又是怎么回事呢?

以头条公开的推荐算法为例,简单地说,就是将环境、人、和内容匹配。就像牵红线一样,是个月老。月老如何能精准地给用户牵到心仪的红线?那就需要get到用户的需求,以及找到符合用户需求的内容。

首先是计算机给文本内容贴标签,每获得一个文本内容,都会通过一套算法,迅速分析这个内容的主要特征,包括:质量等级、主题词、兴趣标签、行业等等。要将内容匹配给人,那么就需要去给人贴标签,从而总结出兴趣特征、性别特征、年龄特征。

当文本内容的标签和人的标签相吻合的时候,头条就默认双方是天造地和的一对儿,于是就会牵出红线,将内容推送给个人。所以,你和朋友打开头条,所获得的内容一定是不一样的。

这样的区别对待很难说是好事儿还是坏事儿,你可以很方便地找到自己想看的内容,但同样地,商家也可以很方便地窥探你的隐私,拿捏你的心理。

再者,推荐算法有其局限性,会形成信息茧,让人们在获取信息上受到限制。

而算法运用在电商平台,则会让你在剁手中欲罢不能,许多电商平台还会运用算法进行大数据杀熟,将利益最大化。

现在,你了解算法了吗?

算法就是解决一个问题的方法和步骤,当我们思考的时候常常会不自觉地陷入算法之中。算法优秀,解决问题就会又快又好,算法不太行,就会多出许多不必要的步骤

算法本身是美妙的,但当商家滥用算法的时候,就变成了一把双刃剑,我们一方面被算法宠爱着,一方面又被算法囚禁和算计着。

- end -





相关文章
要发表评论,您必须先登录。

暂无评论