阿龙的自留地

兼济天下则达 独善其身则穷

遗传算法和busy-beaver


问题描述:设计一个只有五个状态(外加一个终止状态)和两个字符集的图灵机,要求能够停机,并且状态转移后要求向左走或向右走,使图灵机走的步数尽可能的多。在这里看到busy beaver问题,看到博主用遗传算法,于是也想自己动手写程序,生成一个图灵机,因为之前没有学过遗传算法,于是上网找了一下资料,找到一篇介绍遗传算法的很好例子,遗传算法:内存中的进化 .写的挺久的,因为老是出现错误。

  • 第一步是生成合法的初始解,因为生成的规则会进入死循环,所以我设定超过5000步的都丢弃,这里我只生成了500个初始解。
  • 第二步是执行杂交和变异,这里引进500个外来物种进行繁殖。随机选取上一代中的一个规则与外来物种中的一个规则杂交,变异。杂交是交换两个规则的转移函数,变异是对其中一个转移函数进行改变或者添加一个转移函数。之后排序,选取最优的500个为下一代。

跑了三个多小时,得到一些结果,361,1004步。用Python写还是挺好的,就是程序运行的慢了一点。遗传算法很有意思,简单的规则,经过不断演化,能解决问题。

上一次说被Python的缩进弄的头痛,现在终于知道原因了。原来只要将Tab设置为4个空格宽度,并且将Tab改为空格就可以了。之前说要写一个博客系统放在SAE上,现在想想还是放弃了,因为意义不大,现在这个博客挺好的,界面很清爽。

学习Python


最近一段时间,不知道要做什么了,但总不能闲着,于是学习Python。之前也接触过Python,但真正用Python写程序,还是最近的事。

以前一直想写一个小工具,用来统计自己写过的C/C++程序的行数,但是一想到要自己去看VC++的目录操作,就放弃了。最近学了Python之后,很容易的就写了一个,只有十行左右。源程序放在这里源程序行数统计工具,此前还写了一个人人网日志下载工具,输入人人网用户名和密码就可以使用。使用正则表达式去提取链接,因为人人网的页面变动后,程序现在不能用了。

现在尝试用Tornado写一个个人博客系统,然后放到SAE中去,现在还在写,以及有雏形了。感觉写Python还是很舒服的,但是缩进问题有时挺麻烦的,因为习惯了用Tab键缩进,而很多人的程序都是用四个空格,看来还是自己的习惯不好,得改。

发现Python真是一门不错的语言,写起来方便,不会令自己纠结于细节,调试很方便,因为有错误跟踪,不像以前写C程序时,一个指针问题就要调很久。

获得机器学习结业证书


之前学习了网络公开课机器学习,很意外的,获得了证书。需要说的是老师Andrew Ag非常好,讲课认真,清晰。课后习题和编程练习的难度很适合像我这样的初学者。以后每年都要在这里选几门课,活到老,学到老。 现在机器学习又开课了,有兴趣的同学可以去听听。

当了一回胃扩张


《跑步圣经》上说,年轻时在伦敦学习的甘地,每天跑16~20公里路程之后,找一个便宜的餐馆吃饭。而现在的我,每隔两天跑8~10公里,也找一家便宜的餐馆吃饭。本来想去穗石的桂林米粉吃炒菜的,但是跑完步,洗完澡,已经8:00了,估计穗石没饭吃了,所以去贝岗新天地。

之前就听师兄和舍友说过,新天地的酸菜鱼很实惠,量足够多,味道也很好,而且便宜。于是今天就吃酸菜鱼了,之前凤妮说乡聚的酸菜鱼最好吃,于是就冲着乡聚去了。小份的酸菜鱼20元,问了一下分量,看看我自己能不能吃完,老板说这得看人,小份的就那个小盆子那么大,目测了一下,估计吃得完。于是要了小份的酸菜鱼,20元;一碗米饭,1元;一瓶矿泉水,2元;一共23元,不算贵。

等到酸菜鱼好了,我就知道今天要胃扩张了。虽说是小份的,但是满满一盆,即使是平时食量大的我,也不禁一惊,如果两个人吃就好了。先尝了一下汤,酸度刚好,很合我口味,尝了一下鱼片,够新鲜。鱼骨很细,所以要慢慢吃,不然卡住喉咙就惨了。慢慢吃也挺好的,有助消化。吃到一半时,我就饱了,但是从小养成的习惯,不浪费,所以只好继续吃,至多当一次胃扩张。眼看着鱼片一片一片的吃到肚子里,一份酸菜鱼就这样被我吃完了。虽然此前没有吃过酸菜鱼,但以我的体会,吃酸菜鱼是不吃酸菜的吧。

说到小时候养成的习惯,让我想起小时候和弟弟一起吃稀饭的情景。那时我们俩也真是有趣,吃到肚子都撑住了还是继续吃,最后竟然反刍了。也正是因为这样的习惯,后来吃饭一直不浪费,即使吃饱了,也会把剩下的吃完,所以能吃多少,就买多少。像今天晚上吃这么多,也只是偶尔才行,不然胃会受不了的。从小受中耳炎所困,很少吃鱼,今天也算是吃的最多的一次了,如果被老妈知道了,要被骂了。真正的胃扩张,还要数《世界尽头与冷酷仙境》中的图书馆女孩,那么能吃。

记一个变态的反贼


前几天在小明的鼓动下,玩起了三国杀。一直没有玩三国杀,是因为我喜欢规则简单,无须太多记忆的东西,而三国杀必须要记很多武将的属性,所以一直没有尝试。但想到玩玩也无所谓,毕竟是桌面游戏,有空时大家坐在一起玩玩也是不错的选择,于是玩起了三国杀。

很快,升到5级后,对基本玩法已经非常熟悉了,就不在局限于无属性玩法了,到标准场试试。标准场的出牌时间很短,很多时候都来不及出牌。当了几次反贼,忠臣,内奸,主公,对角色的任务也熟悉了,不久就有了这局的经历。在前一局中,我的角色是反贼,作为主公的上一家,果断表反后,遭到上一家忠臣孙尚香的屠杀,孙尚香的技能相当强,很快我就死了。

而在这一局中,我又是反贼,又是主公的上一家,我选的是周瑜。这次又有孙尚香在场。这次不再表反了,而对孙尚香展开攻击,即使不知道她的身份,五谷丰登拿到一张杀后,杀向孙尚香,而且周瑜的英姿技能有些强大,可以多拿一张牌,也就有更多的选择。很快孙尚香就阵亡了,身份竟是反贼。这时候只好继续装忠臣了,再次用一张五谷丰登,忠臣身份确定无疑。这之后我成了内奸和忠臣攻击的目标了,内奸肯定认定我是忠臣了,而真正的忠臣在那里偷笑。刚烈哥夏侯惇对我的攻击最猛烈,我也豪不客气的给与还击。杀他之后我又舍不得丢牌,竟害得我也掉血了。在内奸和忠臣的攻击下,很快就无血了,还好主公出手相救,之后夏侯惇被主公杀死,身份内奸。

这之后主公肯定是认为我是忠臣了,真正的忠臣则成了攻击的目标,我使用了反间技能,不巧杀被拿走了,之前的战斗中损失惨重,被忠臣一张决斗和杀之后,我无血了,还好主公再次相救,最后忠臣死了。剩下我这个反贼和主公搏斗,但主公孙权的制衡技能确实强大,几个回合之后我就招架不住了。不愧是生子当如孙仲谋。

这局很有趣,反贼装忠臣,装的太像了,玩到最后都取代了内奸的身份了。因为刚开始玩三国杀,所以有点不合常规,纪念一下。

 

2012扬州马拉松纪实


4月29日,参加了江苏扬州鉴真国际半程马拉松比赛,很高兴,跑完了全程,一直懒得记下,现在写下来。

29日上午8:00就开始比赛了,从汽车东站出发,终点是扬州美术馆。6:00就起床了,刷完牙,洗完脸,刚哥(张鹏)就来找我了。带上护膝,穿上跑步衫,跑步鞋,就下去了。刚哥帮忙买了早餐,坐他的电动车去汽车东站,路上看到很多参赛者正赶往起点,公交车站都挤满了等车的人,还好有刚哥在,搭着他的电动车,很舒服。在车上吃好了早餐。

还没到7:00就到汽车东站了,之后刚哥就回去了,我去起跑点。比赛说明上说,要检录的,于是去找检录点,可惜没找到,人太多了。于是只好做一下准备活动,第一次参加比赛有点紧张,尿频来着。起点提供的移动卫生间太少了,上厕所的人又那么多,很多人只好在马路边小解,我是做不出来,于是找卫生间去了。在路上看到很多人别的号码布,看别针的方式就知道是参加过比赛的,于是改正了自己别号码布的方式。

快到比赛时,大家都挤在起点处,我看到周围很多中学生参赛者,一脸稚气未脱的样子(脸上长着青春痘),问了一下才知道是学校集体报名的。她们也是第一次参加马拉松比赛,而我也是。

8:05时,比赛终于开始了,迷你马拉松,10公里,半程马拉松,浩浩荡荡6万多人出发了,排在最前面的马拉松专业运动员,之后就是我们这些业余爱好者。刚开始根本没办法跑开,跑到五分钟后,渐渐的拉开距离。跑着跑着,感觉第一个5公里怎么这么长呢?还好我戴着手表,看了一下时间,才跑了20分钟,肯定没到,终于在出发30分钟后,到达了5公里饮水处。其实我不渴,但跟着大部队,喝了点水,之后就不对了,肚子有点疼,只好慢慢跑了。跑了十分钟后,肚子就不疼了,速度也就加快了一点,之前余朝林说过长跑最重要的是要稳定,不能一会快,一会慢,我的体会正是如此。一路上,扬州人民在热情的欢呼,加油!运动员!加油!很快就到了10公里饮水处,看了一下时间,58分,比第一个5公里快了一点,好现象。喝了一点水后,继续前行。很快就跑到了平山堂这里,这里风景读好,跑起来相当惬意,一路上可谓春风得意,一个老奶奶还夸我道:这小伙子跑的轻松。甚是高兴,在路上超过了一个中国警察,开心,很快就到了15公里处,此时已经跑了1:28分,此时我还开心了一会,莫非今天要两小时以内跑完?可惜没那么简单,到了17公里处,膝盖已经有些酸痛了,速度也只好慢下来,看到前面一个家伙抽筋了,我都有些担心自己会像他那样,但一想到也就一个大学城内环的时间就结束了,总能撑过去的。越到终点,加油声越多,可惜体力不济,只好慢吞吞的跑过去了。乔治西恩在《跑步圣经》上说,最后四百米是他最得意的时候,这是他可以一口气冲刺,超过对手。我也试试看,但很快放弃了,最后一百米感觉极为漫长,没有冲刺,匀速运动的跑过了终点。跑完后,得到了一块纪念奖章和一条浴巾。

之后就是换芯片(参赛计时用的芯片,28号那天,也就是领参赛衣服那天,交了100元押金换的)押金了,人太多了,窗口太少,组委会安排不当,正好下午来取。下午骑自行车过来,还好没抽筋。

这次参加半程马拉松,是一年前计划好的,虽然一度由于寒暑假而中断训练,但总的来说,还是达到了预期的结果,所以很高兴。两年来也就做成了两件事,一件是跑完半程马拉松,一件是建立了这个博客。

到扬州只待了三天,由于有事,急着赶回学校了,不能和张光华同学见面了,遗憾。在这三天里,感谢周莉,刚哥,姜锋的款待。周莉同学请的火锅,让我见识到什么是优质服务;刚哥的电动车很不错,要不是他,坐公交车将很痛苦;感谢姜锋同学提供住宿;感谢郭永盛的自行车;感谢一起打牌的尹海兰;感谢热情好客的扬州人民。如果可以,明年见。

实习面试悲剧


今天辞去了电信的实习,暑假实习也就告一段落了,之后安心待实验室去,写个小结。

3月14日第一次面试,腾讯广州研发中心,面试官谢尚成。这次面试很惨,给了三十分钟,写一个链表操作都写错了,代码能力弱爆了,之后面试官就问简历上的,先问了我关于HTML的一些知识,如DOM树操作,结果我竟然忘了,还有关于正则表达式的,也都忘了,这次是最失败的一次面试了,准备极为不充分,还好面试官比较和善,没哟咄咄逼人的感觉。

3月27日,深圳腾讯电话面试。这次面试主要问一些简单的问题,但还是答错了,如TCP三次握手,堆和栈的区别,内排序中平均性能最好的。

3月29日,华南某电商,也就是余晟所在的公司。因为在邮件中跟他说这学期要找实习,想多长点面试经验,之后收到回信,欢迎去面试,于是就去了。令我吃惊的是,余晟来面我,太激动了,余晟果然是做技术的,只问技术问题,看解决问题的能力。知道我不怎么会,也没为难我。这次能见到他真是太意外了,也是这次面试后,我才决定不要做算法题了,做点实际的东西。

4月12日,深圳腾讯一面。面试官也很和善,刚上来叫我自我介绍,现在想来自我介绍太差了。之后做一道二叉树的题目,可惜我还是没做出来,纸上写代码能力弱了,之后问我C++基础题,也做错了,问我正则表达式,估计也做错了;之后面试官叫我评价一下自己,我说道,以技术立身,乐观向上,喜欢共享,不无聊,虽然现在实力还不够,未来就不好说了。之后问了一下面试官的名字,得知他叫赵原。

4月23日,微软北京。经过之前的教训,加强了面试题的训练,将二叉树,链表,字符串等相关面试题做了一遍,所以信心大增。微软的面试过程非常愉快,面试官会一步一步的引导你,即使你不懂,他会给你提示,一面时C++基础太差了,卡在虚函数那里了。最后判断一个数是素数这题,想出了一个不错的方法,自我感觉良好。二面时的面试官是个女的,叫张迎,声音很甜。问我愿不愿意做测试,我说可以。依然是微软面试官的风格,慢慢引导。先教我测试的基本知识,只好举了个生活中的例子,测试电灯泡,应该从哪些方面入手,等我对测试有个基本概念之后,开始进入正题。先叫我写一个字符串处理的题目,不断进行优化,修改条件,在写算法,很惊讶的是她的算法水平明显在我之上。之后叫我写测试用例,刚开始有点乱,后来按照测试分类写了一些用例。之后就问我有什么问题要问的。这时问了她的名字,谈了一下微软面试的优点。这次面试感觉很好,没有想到微软的面试官是这么和蔼。可惜还是没有收到三面通知,虽然收到英才网发来的三面通知,但其实是英才网发错了。

5月11日,网易邮箱测试笔试。给我的体会是测试和开发差别很大,选择题基本不会,问答题也做的乱糟糟的,只有一题SMTP协议的做的是最好的,很可惜的是将阿拉伯数字表示的金额转化为中国古代的表示法这题没做好。在准备的过程中,发现了一篇文章软件测试修炼之道,童战写的。

这学期的实习面试就到此为止了。我的体会是,简历一定要写好,因为面试很多时候都是针对简历来问问题的,简历上的东西一定要弄懂。还有就是面试题还是得做做,虽然有些无聊。这里是我写的一些二叉树的一些算法题,可以看看。

5月4日时,开始到电信研究院实习,因为去扬州之前答应过老师,如果没有拿到微软的实习,就去电信。当时真是自信,所以才答应他的。到电信一个多月,给我的经历是,一定要让自己有水平才行,否则生活的压力会使自己过的很悲惨。鉴于此,不再去电信实习了,还是好好的呆在学校学点东西。

羽毛球赛团体冠军


华南理工大学研究生南校区羽毛球比赛团体冠军,这次冠军来之不易,所以纪念一下。

妈妈不止一次说爱你


空无一人的沙滩上偶尔看到一篇给妈妈的漫画,非常喜欢,转帖过来。感谢zcool上“月娘小榭”的创作。

终有一天走进樱雨下


之所以知道松隆子,是当时上日语课时,韩凌燕老师说《碧绿色的小兔子》这首歌不错,可以听听,好像是松隆子唱的。课后,上网找了之后才知道《碧绿色的小兔子》是酒井法子唱的,而松隆子的《days》和《梦のしずく》很不错,于是就下了这两首歌。虽然现在的日语水平还不足以听懂这两首歌,但可以听出松隆子的声音很不错,而且很有感情。

《days》松たか子(松隆子)

道を歩いていたら

二つに分かれていて

迷って立ち止ま ここで

あなたの元へ行くの

今のすべて选ぶの

こんなにちっぽけな私

あなたの梦に ついて行けるの

不安な気持ちはごまかせない

动けない

道を歩いていたら

二つに分かれていて

迷って立ち止ま 私

描いた未来 违うのならば

最后のキスして

この部屋を出て行くの?

fall in love with you 爱しい人

この胸で眠って

悲しみも 喜びも 全ての理由になる

爱してる 一度だけ この言叶今云おう

あなたの梦が叶うその日

侧にいたい

fall in love with you

哀しいくらい どうかもう眠って

こわれそうな 二人の日々に

今は键をかけて

明日もしも 一人で居ても

このすべて 思い出にしても

忘れなよね 私 いつも

ここにいるよ

朝もやに けむる この街

静かに 消えてくように

走在路中的时候 道路一分为二

迷惑地站立著 在这里

是回到你身边? 还是选择现在的所有?

这样渺小的我

在你的梦中 可以跟随著你吗?

不安的心情不能隐瞒 令人不能动弹

走在路中的时候 道路一分为二

迷惑地站立著 是我

描画出的未来 若然有所不同

会否在最后的吻之后 离这房间而去呢?

fall in love with you 亲爱的人 在这胸怀里睡吧

无论悲伤 无论快乐 都成为全部的理由

「我爱你」 只要再一次 现在就说出这句话吧

你的梦想实现的那一天 很想伴在你身旁

fall in love with you 到了哀伤的程度 请再次沉睡吧

似是破灭了的二人的时光 现在就将它们锁起来吧

就算是明天要一人独处 就算这全部都变成记忆

我也不会忘记呢 我永远会在这里啊

被晨雾遮盖的这个城市

似是静静地消失了

《梦のしずく》即《梦的点滴》

愛よりも恋よりもはやく

あなたに出会ったいたずらが

私のすべてを変えてゆく

恋におちてゆく

出逢いは簡単 今どうして切ない

別れ繰り返し 人は愛を求める

幾つもの夜に 溢れる涙重ねて

背中合わせの二人 離れる 寄り添う

この星に漂い続ける あなたと私がめぐり逢う

指先に愛を感じたら 心ほどけてゆく

大きな波のように 深い海みたいに

吹き抜ける風のように あなたを包みたい

愛される度に 私になってゆくの

凍りついた心 抱きしめ溶かして

二度と会わないと決めた時

この胸は痛むのでしょうか

手のひらで愛を見つめたら

もっと自由になれる

伝えたいもっと 限りない想いを

もう何もかも 失ってもいい

この恋がすべて この瞬間何かが

生まれたら きっと それは

紅い花びら舞い落ちてく 青い葉の雨のしずく達

あなたを愛した夢のあかし 朝日に消えてゆく

愛よりも恋よりもはやく

あなたに出会ったいたずらが

私のすべてを変えてゆく 二人おちてゆく

伝えたいもっと 限りない想いを

もう何もかも 失ってもいい

この恋がすべて この時何かが

生まれたら それは

伝えたいもっと 限りない想いを

もう何もかも 失ってもいい

この恋がすべて この時何かが

生まれたら きっと

与你相识的命运捉弄

比爱情更快地

改变了我的一切

坠入情网…

相识容易 但为何现在如此难过?

分分离离下 人们追逐爱情

多少夜晚 多少次泪眼盈眶

情感疏离的两人是分开? 还是在一起?

漂荡在这星球上 你我相遇

当指尖感觉到爱的存在 封闭的心就此打开

像巨浪 像深海

似阵风 想要紧紧拥抱你

在被爱中 我渐渐有了自已

紧紧地拥抱融化了冰冻的心

决定不再见时 心中是否会隐隐作痛

在掌心凝视爱情 可以变的更自由

想要传达无限的思念 失去什么都无所谓

这份爱是我的一切 在这瞬间

如果出现了什么 那一定是…

红红的花瓣 翩翩的飘落

绿叶上的雨滴

曾爱过你的梦的证明

朝阳上消失殆尽

与你相识的命运捉弄

比爱情更快地

改变了我的一切

坠入情网…

想要传达无限的思念

失去什么都无所谓

这份爱是我的一切 在这瞬间

那是…