Skip to content

Posts tagged ‘程序’

9
Feb

如何辨别自己在现实还是虚拟世界

试着想象这样一个情景:在一个精妙设计的培养皿中,长着一个大脑,这个大脑并没有和其他肉体的器官相连,但是培养皿中的营养物质能够保证这个大脑仍然能完成它的生理功能。最关键的一点是,这个大脑的输入输出端并没有像普通的大脑那样接到了眼睛鼻子嘴什么的感受器官之上,而是靠一台超级计算机,精妙的控制着刺激神经元的电流。随着生物科学的发展,将来总会有一天弄清楚神经传递的电信号和我们平时的感觉之间的关系,因此,这台超级计算机完全有可能完全模拟了现实生活能给他的一切刺激。这样,培养皿中的大脑就也会以为自己接收到了视觉信号、听觉信号等等,现在的问题是:他有办法辨别自己是生活在现实中,还是生活在靠超级计算机给他输入信号的虚幻世界中吗?

这个问题就是著名的“缸中之脑”思想实验,是哲学界的一个著名难题。其思想最早可以追溯到传说中的唯心主义者笛卡尔,他在《哲学第一沉思集》中第一次提出了类似的思想,之后就有无数的哲学家思考过这个问题。著名科幻电影《黑客帝国》(The Matrix)系列,就是在这个思想实验的影响下创作而成的,把这样一个深奥的哲学问题推向了平民大众...

仔细想想自认为活在现实中的我们和这个缸中之脑的区别。我们伸出自己的手朝自己的脸打一巴掌,马上脸和手就会感觉到痛感,并且还能听到一声清脆的响声~。但是,我们的超级计算机拥有强大的计算能力,它通过你对控制手的那条神经发出的电信号,计算出来了你的手在任何一个时刻的位置,所以计算出来了你的手什么时候会碰到脸,在这一瞬间给你的脸和手发出一个表示痛感的信号,同时也发出一个pia的一声的听觉信号,至此,缸中之脑也感觉到了和我们同样地一个过程。事实上,这个问题的结论是:

你没有任何办法辨别自己是在现实中,还是只是个缸中之脑!(只要那台超级计算机给你的刺激是符合我们日常感受的。)

Read moreRead more

20
Mar

佛说…

/*本文为刘冰雁原创~~现有了专门的页面http://taskmobile1.appspot.com/ */

人问“程序有佛性么?”…………大师说“你没看到所有的NULL都是0么?”

程序员说“程序的改进什么时候是终点?”大师说“也许运行就是终点,也许死亡才是终点。就如现在是禅,千年之后也是禅……、”

大师说:“编译器是通人性的,你如果顺着他,他就顺着你,你如果逆着她胡来,他就给你造反。常常给他一些好的程序让他去编译,就如同经常给狗好的骨头。如果连好的骨头都吃不下,那你已经虐待他生病了,这就该让他休息,让他清心。”

佛说:“0个错不是全对,Compile Error 也不是失败”

佛说“你们不用讨论我存不存在,每当你编译运行时,那我就是存在的”

佛说“要平衡,如热二,如牛一…”

佛说“凝结,固化,升华…不变的是物质,损失的是负熵…”

人问佛当年的情事。佛说“我爱过,但没恋爱过”

佛说“我不需要别的祭祀,编译器是最好的祭坛…”

佛说“莫傲,一斑与全豹之间,有热二和混沌的巨壑”

佛说“莫去卧佛寺,卧佛即是我佛”

佛说“程序的美不在于执行,在于编写…因为执行,是禅的事情。”

Read moreRead more

11
Dec

解魔方的小程序

抱歉我好长时间不更新了 最近什么也没干 比较颓废..
近期我们计算概论课有个小课题,我们几个人写了一个3D的解魔方的程序,挂在这里供大家下载吧。这里的算法就是最基本的初级算法,主要供初学者跟着学用的。最优解我也想过一段时间,基本没有思路所以就没写。如果有什么改进建议请留言告诉我~~谢谢~~
下载链接(两个版本 速度稍有不同):

Setup(quick).exe

Setup(slow).exe

(Update:经检测,在Windows 7\Windows vista\Windows XP SP1 SP2下均可顺利运行,但是Windows XP SP3下会产生诡异的我们暂时无法解决的错误...这是个悲剧...)

下面是readme文件:
/************************************************/
made by 刘冰雁 范翔 吴昊天 北京大学物理学院
/************************************************/
用我们的软件可以用来还原你手上的一个魔方。
双击shabby cube.exe,在空白处右击开始。
选择create a new cube,可以产生一个空白的魔方,用户可以通过右击选择颜色的办法把手头上的一个魔方输入到我们的程序中。
选择create randomly,可以让程序随机的产生一个魔方。
在输入了一个魔方之后,单击左键可以让他开始按照我们的算法旋转。之后的任何一个时刻,你都可以通过单击左键让过程暂停/继续。
在输入了魔方之后的任何一个时刻,都可以按住中键不放晃动鼠标来转动观看角度。
缩放窗口可以调节速度。(这个功能可能在某些系统上不行...)
如果您输入了一个魔方之后魔方爆炸了,那说明您的魔方是错误的不可解的,请您检查一下您是否输入时点错了,或者直接把魔方拆掉在重新装起来...

21
Oct

拈游戏

所谓拈游戏的规则是这样的:(在看了沙发的评论之后我才知道其标准名字应该是Nim游戏...)

桌面上有三行硬币,每一行中分别有a1、a2、a3个硬币,其中a1、a2、a3是可以任意指定的正整数。两个人轮流拿走硬币,每一次只能从某一行中拿走任意多个硬币,谁拿走最后一枚硬币谁就赢了。

比如说a1=1,a2=2,a3=3的情况吧,这时如果轮到我拿了,我可以从第三行拿走2枚硬币,或者可以把第三行的三枚硬币全都拿走,等等;但是我不能同时从第一行和第三行里各拿走1枚硬币。这个简单的情况,可以枚举所有可能性得出结论:先拿的必输。

当a1、a2、a3是任意给定的,在什么情况下先拿的必输呢?必胜策略是怎样的呢?这是一个相当有意思的问题,答案可绝不是显而易见一目了然的。而当我当年看到这个策略长什么模样之后,完全的叹服了。今天我就先不写必胜策略了,大家可以先自己想想,如果下周或者什么时候有时间了再来写。前一阵子我为了熟悉C++自己写了一个拈游戏的人机对弈程序,大家可以点击下面的链接下载。其中包含了必胜策略,所以只要你一步走错就一定会输。

拈游戏.rar

其实拈游戏不仅仅局限于三行硬币,其实最初的问题是N行的,而且神奇的是其必胜策略对于任何N都是一样的。其实这个拈游戏是我上小学的时候奥数老师跟我玩的游戏,最近才发现这个经典的有意思的游戏还有好多人没有玩过,故写此文...

1
May

量子计算机探幽

量子计算机是一个令人神往的东西,虽然目前还没有实际制成量子计算机,但是他却成了我一直翘首以待的产品。量子计算机可以算是不同于我们现在的普通计算机的下一代计算机,它可以解决许多传统计算机没法有效解决的问题。

量子计算的概念,最早是由费恩曼提出的,从那以后计算机科学家们已经在这个领域里有了不小的进展。量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。量子计算机的基本特征之一,就是它使用的信息单元不是比特,而是量子比特(qubit)。量子比特可以是电子那样的粒子。可以让自旋向上代表1,自旋向下代表0。与传统计算机不同的是,电子可以处于自旋向上和向下的叠加态,即1和0的叠加态。处于叠加态的少量粒子可以携带大量信息。假如我们可以控制仅仅1000个量子比特,那我们也可以用之表示出从1到2^1000的所有数字,并且可以同时对所有数字进行操作,也就是所谓的并行计算。虽然当我们最终读取量子状态时,只能从2^1000个状态中随机的读取其中的一个,而其他的状态都会消失,但是我们可以通过对粒子进行巧妙的处理,用量子计算机求解一些普通计算机没法有效求解的问题,例如对大数分解质因数。用现有的计算机需要花10亿年才能算出来的题,可能用量子计算机花不到一年的就能成功解决。 Read moreRead more