观《源代码》(电影)有感

    今天晚上看了《源代码》,惊叹于编剧的想象力,同时怀疑其是否程序员出身。也许是出于职业敏感性,在源代码中感受到了一种程序的魅力。先简单说明一下剧情:

    首先男主是一个战后仅剩大脑存活的军人,军中的 一位精通大脑记忆研究的博士把男主用于某个项目的试验。电影中提到一种理论,光照后会留下短暂的残影,同样人死后,他的脑电波的最后8分钟会以某种形态存留,并且自成一个仅仅8分钟的平行世界,称之为“源代码”。而那个博士能够提取这8分钟的记忆,并且能够把其它人的意志灌注到这8分钟当中取代记忆主人。神奇之处在于,被注入的意识可以在源代码中任意改变情节,只不过8分钟后,一切数据都将消失。于是为了找到某个火车爆炸案的罪犯,男主被不断的输入到事故中死亡的一个人的那8分钟“源代码”,然后在其中获取线索,并且最终找到罪犯。

    影片最后的峰回路转就不说了。在前面的介绍中,不知道身为程序员的你们有没有某种似曾相识的感觉?我这个人平时喜欢胡思乱想,所以当我看到这个情节的时候,就产生了这样一种想法:这里面的源代码其实不就是一个函数么,而男主就是输入参数,然后我们可以不断的去调用这个函数。不同之处在于,函数的参数往往是静态固定的数据,并且不具有智能和自主性。而男主具备独立思维,可以在源代码中产生不同的行为。所以如果我们对同一个函数输入同一个参数去调用,产生的结果是相同的。接着又引发了另一个思考,那么到底能不能模拟男主的这种动态执行的函数呢?

    我想到有两个地方需要改进:第一,其实每一次进入源代码,虽然说男主都是一个人,但是其拥有的信息却是不同的,所以从面向对象的角度来说,如果我们调用一个函数,把一个对象当做参数传递进去,那么在函数内部我们自然可以根据对象所包含属性的不同来进行不同的行为处理。第二,男主进入源代码后,会面对不同的状况,每一种状况都是固定存在的,即源代码环境是不变的,但是男主作为人,对于这些状况具有思考和判断能力,可以进行不同的处理。而程序同样可以具备这样的能力,即让我们输入的参数对象,具有接受能力,行为能力,说白了就是给他一些方法。函数的代码是固定的,有哪些变量,有哪些数据都是固定的,就像源代码中的环境是不变的一样。然后我们输入的对象可以接收这些函数中的数据,并且进行判断处理。

 

所以如果我们编写出一个足够复杂的对象,传入到某个设计精妙的函数中,那么是不是其执行就将接近智能化呢?

 

在人工智能领域,这应该是很普通的问题,我没有学过人工智能,只是个小小程序员,看了个电影引发出的对函数,面向对象和人工智能的思考。兴之所至,随笔而谈……

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值