浩子最近刚调到一家公司担任了项目经理。项目伊始,事情千头万绪,老板又格外重视这个项目,就专门给浩子配备了一个刚毕业的大学生小王做助理,帮忙处理一些杂事。
第一天,浩子领着小王下了电梯,走到马路对面那栋写字楼一楼的星巴克,给小王要了一杯卡普奇诺,给自己点了一杯美式,并且专门交代收银员:“美式里加这么多冷牛奶”。边说边拿拇指和食指比划了一下。
小王很有心,记了下来。
从那以后,浩子时不时会让小王去楼下买杯咖啡上来 -- “小王,麻烦去帮我买杯美式”。浩子做销售出身,作风低调,从来没有颐指气使的口气;小王也乐得巴结一下领导,顺便去楼下兜一圈放放风。
这个,就是函数的作用。
浩子第一次带小王去买咖啡,等于把买咖啡的具体步骤封装起来在小王的脑海里,具体需要的时候只要调用就好了。
否则,每次想喝咖啡,都要跟告诉小王星巴克怎么走,该点什么咖啡,加多少牛奶,诸如此类。或者自己跑一趟。效率自然很低下。
项目忙的焦头烂额,这一天浩子胃有点不舒服。早上到了办公室,习惯性地交代小王,“小王,去帮我买杯美... 不了,还是帮我买杯红茶吧”。于是小王去楼下帮浩子买了杯热腾腾的红茶上来。
同样的行动过程,返回的结果却不同,是因为浩子交代小王的时候,把咖啡改为了红茶。
同样的指令(去...买...),但可以有不同的输入,这个,就叫做参数。
但需要注意的是,一般而言,这个参数有个有效值范围,比如浩子可以说“小王,去帮我买杯拿铁”或者“小王,去帮我买瓶矿泉水”,但如果浩子说“小王,去帮我买个西瓜”,估计小王就犯蒙了。
大多数时候,小王都能够完美地完成任务。除了偶尔 ....
“咦,小王,今天的咖啡怎么这么苦?”
“哎呀,我忘记让他加奶了.... 不好意思,我再去买一杯吧!”
“不用了...”
(小王的心理活动)“以后不能再熬夜看《那年花开》了,迷迷糊糊的”
人会犯错,那么,是不是机器就比人完成的要好呢?
我们假设浩子的助理换成了机器人瓦力。
瓦力永远都是精神奕奕,买咖啡从不犯错,直到有一天...
“瓦力,去下面帮我买杯咖啡,老样子。”
“......”
“瓦力?... 瓦力?...谢特,怎么又死机了。”
或者是....
“瓦力,咖啡呢?”
“对不起老板,星巴克临时关门了。”
“再往前走50米还有一家啊。”
“......”
“瓦力?... 瓦力?...谢特,怎么又死机了。”
如果是小王,就能够从浩子经常喝的咖啡,准确判断出浩子所说的“老样子”指的是什么,而且也能够通过学习,了解到附近还有第二家星巴克。
机器学习,就是让瓦力也具备这样的能力。
网友评论