2019年4月28日
摘要: 相互递归就是多个函数互相定义,最常见的就是两个函数,比如f和g,f的定义中用到g,而g的定义中用到f。 相互递归一样有无限递归的可能,最简单的: f:x->g(x) g:x->f(x) 给个最简单的没有无限递归的例子,判断一个正整数是不是偶数或者是不是奇数,用C++来描述如下: 以上效率虽然不高(甚 阅读全文
posted @ 2019-04-28 23:06 窗户 阅读(887) 评论(0) 推荐(1) 编辑
  2019年4月20日
摘要: tensorflow是一个很流行的计算框架,目前主要用来做深度学习。但实际上,tensorflow不仅仅可以做深度学习,理论上说任何算法都可以用tensorflow来描述,就在于它做了计算流图这样的抽象,而tensorflow这个名字实际上很自然流。其实提到计算流图,这样的抽象并不是tensorfl 阅读全文
posted @ 2019-04-20 16:59 窗户 阅读(913) 评论(0) 推荐(1) 编辑
  2019年3月31日
摘要: 随着深度学习的发展,图像、声音的识别几乎都是它的天下。但深度学习需要很大的空间来存储参数,而且推理的时间与所使用的硬件关系很大,于是对于成本是有很大的要求的,对于很多项目未必值得这么做。 虽说现在是AI时代,但是对于图像处理,那些传统的图像处理技术依然有很大的用处。 场景 以下这样的场景可能用于一些 阅读全文
posted @ 2019-03-31 14:37 窗户 阅读(330) 评论(0) 推荐(0) 编辑
  2019年2月11日
摘要: 这个题目有点攻击性的意思,看的人不大舒服。最开始的时候,我题目在《反对孩子学人工智能》、《坚决反对孩子学人工智能》之间犹豫。后来一想,是否攻击性过强,于是妥协一下,准备把题目拟为《孩子是否学人工智能须斟酌》。最后还是觉得,如此不鲜明的题目不是我的风格,索性把话都说出来,于是拟了这么个标题。我曾经多次 阅读全文
posted @ 2019-02-11 14:05 窗户 阅读(1677) 评论(2) 推荐(5) 编辑
  2019年1月3日
摘要: 数学中有一个重要概念,就是抽象。由数学开始发展的计算机科学,自然也离不开抽象。计算机语言、编程范式都为抽象提供了工具,函数、回调、泛型、算子、类…… 以下从两个问题开始,描述了一大类抽象。 问题 这一篇文章我们先引入两个问题。 狼、羊、白菜问题: 一个农夫带着一匹狼、一只羊、一筐白菜这三样东西,需要 阅读全文
posted @ 2019-01-03 17:09 窗户 阅读(1882) 评论(1) 推荐(0) 编辑
  2018年12月18日
摘要: 我这里以炒菜为例来给出各种编程范式的示例。 过程式编程 生活的经验告诉我们以下的物理现实,事情是按照时间的顺序一个步骤接一个步骤的发展。编程里有一个范式就模拟了这样的经验,就是过程式编程。 如果现在有一些刚从超市买回来的菜,要吃进肚子,按照过程式编程,可以如下表示: 洗(菜) 切(菜) 炒(菜) 吃 阅读全文
posted @ 2018-12-18 16:12 窗户 阅读(1440) 评论(3) 推荐(3) 编辑
  2018年11月20日
摘要: 1970年,英国数学家Conway发明了生命游戏。抛开元胞自动机的复杂概念,我们只是去感受一下二维的生命游戏,这其实是元胞自动机的一个特例。 生命游戏 我们先考虑有限的情况,对于mXn的方格,每个方格都会有一个状态,该状态有两个可能值:有生命、无生命。 阅读全文
posted @ 2018-11-20 13:27 窗户 阅读(1570) 评论(2) 推荐(3) 编辑
  2018年11月13日
摘要: 1.文字、动画介绍汉诺塔 2.汉诺塔递归的实现 3.各种编程范式对于汉诺塔递归的实现 4.给出效率更高的递归以及各种编程范式的实现 5.给出现实中汉诺塔游戏的策略 6.文章最后给出了一些思考题 阅读全文
posted @ 2018-11-13 11:34 窗户 阅读(4242) 评论(1) 推荐(0) 编辑
  2018年10月29日
摘要: 写博客也有一年多了,随着时间的推移,短短的一年多,我写博客的目的、方法也在不断的变化中。 本来,写博客这个动作本应该提前至少十年,可是却一拖再拖,也一直没有去写。一年半之前,因为一些变化,突然觉得自己确实应该写一点,目的也很简单,就是单纯的觉得别人都在写,我还是写点什么吧,似乎这样才像一个搞信息技术 阅读全文
posted @ 2018-10-29 00:35 窗户 阅读(1062) 评论(2) 推荐(3) 编辑
  2018年10月25日
摘要: 北师大版九年级上册第74页有如下这题: 怕图片看不清楚,我抄一遍如下: 将36个球放入标有 1,2,...,12 这 12个号码的 12 个盒子中,然后掷两枚质地均匀的骰子,掷得的点数之和是几,就从几号盒子中摸出一个球。为了尽快将球模完,你觉得应该怎样放球? 这道题目可谓用意深远啊,试分析如下。 可 阅读全文
posted @ 2018-10-25 19:06 窗户 阅读(1300) 评论(2) 推荐(1) 编辑
  2018年10月17日
摘要: 上一章讲了用1~n的排序来表示n皇后的解,然后通过枚举1~n所有的排列、判定谓词过滤所有排列得到最终的所有解。 在此基础上,这一章我们思考是否存在更好的解法,从而深化这个问题。 效率问题 为了测试效率,在代码末尾加上 (queen (read)) 表示解决的皇后个数由输入的结果决定。 还是先把Sch 阅读全文
posted @ 2018-10-17 10:02 窗户 阅读(587) 评论(2) 推荐(0) 编辑
  2018年10月14日
摘要: 看到有人写八皇后,那我就也写写这个吧。 八皇后问题 这个问题大家应该都不陌生,很多计算机教程都以八皇后为例题。 上面是一个国际象棋棋盘,总共8X8个格子。 皇后是国际象棋里杀力最强的子,它可以吃掉同一条横线、竖线上其他棋子,也可以吃掉所在的两条斜线上的其他棋子(当然在角上只有一条斜线)。 能否在棋盘 阅读全文
posted @ 2018-10-14 23:08 窗户 阅读(1061) 评论(0) 推荐(1) 编辑
  2018年10月6日
摘要: 看过我其他一些文章的人,可能想象不出我会写一篇关于斐波那契数列的文章。因为可能会感觉1,1,2,3…这样一个数列能讲出什么高深的名堂?嗯,本篇文章的确是关于斐氏数列,但我的目的还是为了说一些应该有95%以上程序员不明白的东西。如果能够跟着我弄明白文中分析的手法,其好处是不言而喻的。请听我细细道来。 阅读全文
posted @ 2018-10-06 11:37 窗户 阅读(7381) 评论(6) 推荐(1) 编辑
  2018年9月28日
摘要: 从很小我们 就知道,自然数有无限多个。 小朋友都对巨大的数有一种天然的憧憬,以至于很多人都会想过这么一个问题,我们可以表示出多大的数? 小的时候,我就幻想着,我拿着一支笔,然后不断的写9,然后所写的这个数就可以非常非常大了。长大一点才知道,这个根本不算什么,随便一个乘方就把它秒杀了。 以下我们来看看 阅读全文
posted @ 2018-09-28 15:55 窗户 阅读(5148) 评论(7) 推荐(1) 编辑
  2018年9月21日
摘要: 前一章,我们知道了使用素域的多项式环的商环构造任意的有限域的方法。这一章里,我们就用程序实现任意有限域里的运算。 我在这里还是同第一章一样,选择用Scheme来描述。 数据表示 首先,我们需要的一个参数就是域的特征,记为 p 根据上章分析,我们还需要一个不可分多项式,称为生成多项式,记为 poly 阅读全文
posted @ 2018-09-21 17:47 窗户 阅读(3368) 评论(0) 推荐(0) 编辑