我们为什么叫「递归

“递归” (recursion) 是一种在程序设计语言中被广泛使用的算法。它有两大特点,一是调用自己,二是化繁为简。我们当中那些优秀的技术人又何尝不是如此?他们以身作则,用实际行动影响身边的人,规范了流程、提高了效能,使整个团队从中得益。这就是我们「递归」栏目的初心,记录平凡腾讯技术人的不平凡。

他是严谨与狂放的结合体,能在感性与理性的思维模式中切换自如。在工作中,他是沉迷数学研究的搜索算法工程师;在舞台上,他是善于为观众带来惊喜的数学魔术师。程序员与魔术师的双重身份会碰撞出怎样的火花?让我们一起来走进他的故事。

田汸泽寰,腾讯搜索算法工程师,主攻NLP,擅长统计算法,数学建模。从计量经济学、生物序列分析,到来鹅厂做自然语言处理,他一点一点求索着用代码写下的真理。业余研究魔术16年,是资深的数学魔术爱好者。其极客般的理工思维使得他的魔术风格独树一帜,逻辑严密,富有美感。
数学启蒙的童年
应该是在我很小就在课堂上被老师发现有那么一点点天赋,会像法布尔研究昆虫一样趴在地上研究一下午的公式之类的,沉浸其中。然后慢慢开始自学,参加辅导班,这是我童年觉得最快乐的时光,而数理逻辑也几乎撑起了我整个思维体系。
接触魔术的契机
大概比数学晚一点,小学毕业前在外公家的电视上看到《魔星高照》节目里刘谦徒手点亮了一个电灯泡,当时突然觉得:哇,怎么可能有这样的事情!从此就开始爱上了魔术,而且一定要钻研到底是怎么做到的。

感性与理性思维的平衡与启发

人类天然有理性和感性两种思维。大概在我前二十年,我会以一种数学模型的眼光去看待所有事物,后来在慢慢和人接触中,感受到了还有感性部分的存在。它可能不像理性那样严谨,但是它的一些辩证的逻辑,会让你能够很舒服的去承受和解决一个问题。

数学与魔术的爱好对工作的帮助

首先数学就不用多说了,因为我每天的工作就是数学建模,然后分析目前的数据条件,以及它中间出现的一些Gap,我们通过不断的简化和假设去弥补,再一点点改进和迭代。

近景魔术最核心的秘密其实就是错误引导。能够做到这一点的前提就是要分析观众的认知规律,他会看哪里、会注意哪里。一个产品也需要对用户的认知规律有清楚的认识——你需要把最少的选择和最需要的东西,清晰的呈现给用户就好了。让观众的认知负担很轻,他就会愿意去使用。

选择做技术的初衷

其实我做很多事情的初衷最开始都像孩子一样是觉得好玩。比如做技术我就觉得很酷,甚至还能让我有创造奇迹的感觉,感受这种极限的不可能,这也是我骨子里面的一种极客思维吧。

并没有说是人工智能时代就去追随,只是时代运气比较好,自己想做的东西恰好就是这个时代所需要的。当然很多人去追求名和利也无可厚非,但是我好像并不是这个样子,如果说研究数学需要坐冷板凳,我可能也会去坐

对我影响最深的话

我是麦迪的球迷,当时也看到35秒13分的镜头,这段镜头我可能看过不下1000次了。中间当麦迪一个个进球的时候,解说主持人说了这样的一句话:“YES! Tracy McGrady got 13 points within 35 seconds”。

这个“YES” 长长的语调是非常震撼我的。这感觉就是突然一下能够把所有的烦闷、所有的打压能够全部散发出来的感觉。有时候我也会经常念“Yes,thank you! Yes!” 去激励自己。
看完了程序员魔术师田汸泽寰的精彩故事,你有什么想对他说的,快快留言告诉我吧!我们将选出三位幸运读者,送出精美小礼物一份。

导演:陈银华
嘉宾:田汸泽寰
制片:barnettsun, xingjiaxie, liihuang
后期指导:paulinesong, kylinlu
特别鸣谢:腾讯AI平台部

「递归」第2集 | 变得了魔术,解得了高数,这届鹅厂程序员有点酷相关推荐

  1. 「递归」第6集 | 是鹅厂技术青年的模样

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  2. 「递归」第5集 | 从网瘾少年到极客大神:没有什么是一段代码解决不了的

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  3. 「递归」第4集 | 退役黑客带你走进白帽子的江湖

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  4. 「递归」第7集 | 腾讯开源联盟出征!

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  5. 「递归」第9集 | 我在腾讯做研究

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  6. 「递归」第8集 | 当敲代码的手开始写歌,玩跨界的程序员有多野?

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  7. 「递归」第10集 | 一款“摔”出来的产品

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  8. 「递归」第3集 | 向善的信念,让技术自带光芒

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  9. 当一个美术生开始在腾讯撸代码… |「递归」第1集

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

最新文章

  1. css3动画简介以及动画库animate.css的使用
  2. 通过Spark listener实现Direct模式读取Kafaka数据
  3. 记录如何防止跨站点脚本攻击之抄写
  4. Centos 7源码编译搭建Nginx
  5. 在ASP.NET中对于SESSION的简略说明
  6. 05-Java通过Executors提供四种线程池
  7. coredump gdb 调试_CRASH安装和调试
  8. OpenCV-获取图像中直线上的数据
  9. 如何用Github删除repository
  10. Python入门之类与面向对象(一)
  11. htm5l,第一个script代码练习
  12. linux调度器(十)——调度器/proc信息解读
  13. ORACLE Primavera P6 / Unifier 19.12 免费虚拟机
  14. 在计算机领域中 媒体是,在计算机中,媒体是指什么
  15. 重构:改善既有代码的设计 阅读笔记
  16. 字符串的常见方法总结
  17. 谱聚类算法入门教程(三)—— 求f^TLf的最小值
  18. 【发布】哔哩哔哩bilibili替换旧版播放(稍后再看)
  19. 企业微信没有50名员工如何扩容?如何突破企业微信50000客户数的限制?企业微信如何扩容10万客户?
  20. [心得]互联网公司招聘要求中的技术整理

热门文章

  1. 软引用、弱引用、 java
  2. ParallaxView
  3. java基础----Java Collections Framework
  4. flash和html5
  5. ▲为什么要用css Sprite技术?
  6. 博客园能有这种背景就很强大了!
  7. CodeForces - 510E Fox And Dinner(最大流+奇偶建边+路径打印)
  8. Linux进程详细信息查看
  9. Transformer论文解读
  10. 7.OD-字符串参考