一个暑假都很忙,很久没有写blog了。虽然现在也已经是凌晨2点,不过我打算还是利用睡前的时间把这篇blog写完。
其实要更新的内容很多,而且一更新肯定不止1、2篇文章了。所以这篇就当时目录性质的吧...
一个假期很匆忙的就结束了,其实对我来说人生的假期恐怕已经没有了,所以也没有什么还留念的。围绕着整个假期主要发生了下面些事
写完后说的话:这篇文章很长,挑感兴趣的看吧
1.在张丽清老师的仿脑计算与机器智能研究中心实验室中实习
主要的工作是实现ColorConceptualization的网站,同时我自己提出了一个智能着色的东西。
这部分具体会在后面的帖子中详细的介绍。
对于智能着色我给出一个效果图片,应该就能理解:
图片:智能着色的效果图1
当然,利用Photoshop做出这样的效果也不难,不过要实现上面这个效果,利用智能着色只需要用鼠标点一下你想改变颜色的物体然后选种颜色即可。很容易操作。
图片:智能着色的效果图2
当然有机会去亲自体验下,假期中我实现了一个演示网站,网址是:http://bcmi.sjtu.edu.cn/clrconcept/
由于在教育网,公网用户速度可能比较慢,需要Flash9以上的播放器。
对于具体的算法,我不想在此多说了,目前缺陷是不能对灰度部分的物体,比如上图摩托车的黑色部分着色。测试的时候可以先下载我推荐的效果比较好的图片:
注意图片不要太大了(别超过2000x2000),我也不希望有恶意攻击的事件出现。
操作见下图:先选中自己想变换的色彩,然后点StartColoring,此时鼠标移到图上会高亮显示能够着色的物体,点击即可:
图片:智能着色网站显示1
虽然Flash AS3效率提升了不少,但是处理实时分割算法还是有点慢,如果大家觉得这个东西好玩,今后有空了可以考虑做单机版。
2.在被万恶的学校安排的密码学实验室中实习(见之前的文章)
虽然起初有点不情愿,但是后来发现还是蛮喜欢这方面东西的,当然不是说搞研究。
在密码学实验室的实习任务是实现在素域中大整数的模加、模乘和模幂运算。同时要实现素性验证。
对于模加、模乘和模幂,写出公式绝对是简单的不能再简单:
C = A + B (mod m)
C = A * B (mod m)
C = A^N (mod m)
不过问题在于,对于其中每个数,可能都是1024位的超长整数,比如一个1321421423124214325131413124124123412这样的数。对于目前计算机来说,一个DWORD最多也就能表示2^32-1个数。因此,需要针对任意长度大数的运算。这个的定义叫做“多精度整数”。Knuth的书有很明确的算法定义。但是要实现就是另外一码事。需要在关键运算处写汇编。
同时,对于素域的模幂和模乘运算,有个叫作Montgomery的老兄想到了一堆优化算法,因此实现起来更是恶心。
我后来参考了MIRCAL这个开源库写了自己的运算库。支持大整数四则运算,上述的模运算和素性检测以及大素数产生。由于是参照了MIRCAL库,同时对里面的汇编代码作了优化,所以很奇妙的我的库在四则运算上均快于MIRCAL。不过模运算就慢了,因为偷了懒,Montgomery老兄的算法有些没使用。
总的说来还是令我满意的,前后实现其实只用了3天,后来又花了几天写了素性检验和Benchmark程序。这个实习的好处是我马上要发新的文章公布这个库的代码和一些小东西了,呵呵,具体今后会写专门文章。
3.准备GRE作文
之前说过了,第一次觉得可能考不好,就cancel分数了,所以现在时间很紧了
上面就是这个假期大致做过的事情,上面介绍的东西我今后会写具体的文章。作为对blog和网站的填充吧。
下面就说说这段时间的一些想法:
可以说今年是我自信心不断受打击的一年,也是比较辛苦的一年,相比之前安逸的生活,今年应该能算作比较消沉的。有人说哲学家的人生都很悲惨,为什么呢,因为正是逆境促使他们思考自己的人生、他人的人生乃至这个世界。
虽然现在觉得我过得不如意,但是理性告诉我我那些困难简直算不上什么,不过同样我也思索了不少问题。当然其中不少至今还没有答案。
首先一个问题是为什么我今年突然会觉得不如意,可能一部分原因是今年是我必须面对现实的一年,相比之前可以对未来随意幻想,今年我必须决定今后要走的路了。而现实和我理想的差距就是造成落差的原因之一。
我是一个十分理想化的人,同时使一个很自卑的人。正是因为自卑,所以对外企图极力掩饰,具体的行动就是做事情尽可能追求完美,乃至任何事都希望能做好。当然我也受到这种状态的益处,但是终究我不是天才,那些做的不好的事就令我万分自卑。考GRE便是一个例子。
现在看来已经很了解自己的脾气了,我想目前能在计算机某些方面有一点小小的成就可能就是我追求完美的结果,虽然这些还far from prefect. 不过这样的性格另我活得很累,同时理想的落空造成的心理落差令我万分恐惧。虽然理性的思考让我觉得自己的行为十分无聊。
我学过弗洛伊德的理论,我完全知道这样是因为年幼的一些事情造成的,恐怕要改变也能困难,不过也只有去改变了。
最近在思索的另一问题是今后自己走的路。回想我以前做得事,可以说是比较“工程化”。但是如今我已决定将来要走学术的道路,所以之前做的事我该如何定位?完全的放弃?我还应该承认那是我的特长吗? 这个问题看来很可笑,不过一些具体问题上的确难以把握,比如这个blog今后的定位,是完全的学术化还是继续放一些技术方面的文章,当然我今后可能不研究了呢?我有个不好的习惯就是做事情比较杂。从Flash、平面设计、图像编程到软件逆向工程到硬件制作,都作出过一些小成就,但是后来都没有继续走下去。当然一方面原因是我觉得那些不适我今后该走的路,只是作为兴趣来研究罢了。但是的确要找一条路深入了,今后走学术道路可能可以让我在一个领域真正的“深入”吧。
现在得出的结论是今后就算完全从事理论化的研究,我曾经的爱好不会放弃。看不到自己的特长,完全从0开始进入新的领域已经给我不小自信打击。
现在是凌晨3点,想着今后还要走的路还很长,有时想想我也该知足了,其实做平庸的人是最幸福的。但目前与世无争我还是做不到,所以要拼搏。
明天早上醒来把一些技术上的文章补上