计算机程序的“行为学”(二)——行为的因素和比较

再次强调一下:

1、这篇文章不是讨论软件工程学的,也不是传统算法,而是人工智能的一个分支。

2、这篇文章的倾向性非常严重,但是我不想招十字军,我只是想整理一下自己的思路,以作为后面的实验的基础。

3、这篇文章的一些观点和传统算法是背道而驰的,如果你没法接受,就请忽略这篇文章吧。

最后要说的是:请大家有选择地接受文章中的观点。谢谢!


正文开始:


行为分析通常来说是介于哲学和心理学之间的范畴,正如优秀的侦探可以通过排查各种因素来了解罪犯的行为特征及其背后的动机,这里要素分析是很有效的方法。构成行为的要素很多,如直接诱因(或者动机)、环境、背后的思维模式、行为的直接后果及其对个体带来的影响,等等……接下来我们会就一些关键因素做逐一探索,以理解计算机程序和人类行为的异同。

行为的时效性和进化

我要提的第一个因素是行为的时效性,我们很快就会看到为什么要先讨论这点。通常来说,人类的行为可以分为长期行为和短期行为,举个例子:一个小孩用石头砸了邻居的窗,然后当然被他老爹揍了,于是这淘气鬼第一时间很“争气”地哭鼻子了,并且私下里扬言要把邻居的窗全砸了,但是其实很可能第二天他就会记住吃过的苦头,并且不会再犯了。可以认为短期行为通常源于所谓“第一反应”或者感性认识,而长期行为则源于理性思考。

如果我们更深入地探索人类大脑的工作方式,则我们可以把它比喻为一系列相连或重叠的复杂回路,信息以生物电的形式在回路中持续流动但是不会产生所谓“指令”,即个体行为的激发因素;实际上“指令”产生的一个必要条件是某个局部回路达到峰值,并且通常是神经元之间达到一种“共振”状态(有一本书详细地讨论了这一工作过程,但是我忘记名字了,直到的同学可以补充一下)。如果排除脊椎反应(即所谓“条件反射”)的作用,则短期行为和长期行为可以看成不同时期在不同范围的回路中产生的峰值。当然这个说法并不完整,也不科学:首先大脑发布的“指令”显然是低级指令,如肌肉反应,激素分泌等,并不能完全解释高等思维的过程;其次大脑皮层的特殊抑制功能起着一种微妙的调节作用,实际上大部分的回路峰值会被主动忽略(冲动是魔鬼……),并且一些反应之间也存在互相抑制的情况——我们以后还会谈论到这种抑制,针对不同的主体。

现在我们来看计算机程序:实际的情况是,大量的计算机程序并没有被设计拥有可预测的长期行为。注意这里的“可预测”,我们很快就会谈到它,“可预测”和“可计算”有关系但不完全一样,我们接下来还会花大量篇幅讨论它们;我们已经知道可计算性是一个从计算机传奇时代(就是那个纂刻着冯*诺伊曼,阿兰*图灵等名字的时代)就开始讨论的问题,也是传统算法的基础。

看到这里,也许你会问:“垃圾收集”和“记日志”是长期行为吗?答案是:“垃圾收集”是,而“记日志”不是。要正确回答这个问题,我们需要再次观察长期行为的特征,它是通过进行更大范围的和时效性更长的信息的分析来得到更加“理性”的结果(至少在个体看来是更加理性的)。由此可见,虽然两者都是一个健壮的计算机程序可能会长期执行的操作,但是“垃圾收集”符合这个特征,而“记日志”不符合。

让我们来看前一节的例子,有趣的是,孩子们的每次推理所涉及的有效信息量都在增加——所谓有效信息即可以参与推理或计算的信息,玩过侦探游戏的人都知道,有一些原始信息在推理的初步是看起来没有任何作用的。在知识表达中有一种经典的Kripke图说明了这种知识的传递过程和每个个体所拥有的有

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
在安全网上逛的时候,突然发现一篇很好的文章!详细阐述了当前流行的api hook技术,rootkit技术和主动防御技术,涉及到深入的操作系统知识,需要一定的功底才能看懂,真的很不错,可以说是一篇难得的教程!现摘选如下: 一. 黑匣子的原理 对于一般用户而言,一个程序从开始运行直到结束,这期间内都做过什么,并不是我们需要关心的事情,他们只要听到播放器里的音乐、看到电影画面、和远方的朋友用通讯工具聊天就可以了,有谁会去关心从用户点击播放器程序图标到音乐响起的时间里,这个程序具体做了什么事情呢?然而,如果面对的程序是恶意软件之流,用户就不得不关心一下它到底对自己的计算机造成什么影响了。 程序在运行期间所进行的操作被称为“程序行为”(Action),一般泛指程序进行的相对表现较明显的操作,例如创建读写文件、访问注册表、连接网络等,而在这些操作之外做的程序内部运算、判断、逻辑等操作并不是我们需要关心的,除非是对它进行复杂的分析如逆向工程。对程序行为进行监视记录的过程就是“跟踪”(Tracing),如果要进一步深入,则要使用调试器(Debugger)环境进行汇编级的指令分析,这就是“调试”(Debugging),也可视为更全面的跟踪,因为调试过程可观察到整个程序里的运算和每一步过程。 也许很多用户会觉得,这些复杂技术距离我们很远,甚至会想像为需要复杂设备和程序才能完成,其实,这些技术的应用范围,一直就在我们身边。如果你正在使用一款防毒产品,那么你系统里执行的程序就已经处于被记录行为的状态了;如果你使用HIPS产品,就会更强烈的感受到程序运行被监视着;如果你正在使用调试器,那就不用我说了吧…… 在Windows系统里,至少有三种技术可以实现程序行为的记录,甚至控制程序的某些行为,分别是“虚拟机”(VM)、“API钩子”(API Hooking)和“API跟踪”(API Tracing)。 应用广泛的虚拟机技术 经常提到的虚拟机技术有两种,一种是普遍应用上的虚拟机技术,它是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,此类虚拟机的概念比较广泛,可以是一种使用软件模拟一个完整的计算机硬件环境技术如VMWare,也可以是介于硬件和编译程序之间的交互介质,如Java虚拟机等;另一种则是反病毒产品中使用的“通用解密器”技术,为了检测一些复杂或者代码加密的病毒,杀毒引擎必须让它运行起来以便自我暴露危险程序行为,但是如果病毒真的在用户计算机里运行了,就违背反病毒产品的初衷了,因此反病毒产品也采取了一种虚拟环境检测方法,这就是虚拟机技术,但是这个技术并非是为病毒提供一套计算机仿真系统,这样就太庞大复杂和消耗资源了,这种虚拟机是指杀毒引擎模拟出一个仿真CPU,这个“CPU”具备和真正CPU等同的指令分析功能,杀毒引擎将待检测的程序代码读入“CPU”中逐条指令循环执行,直到出现特定情况才结束工作,在这个过程中探知程序是否具备病毒行为特征或者暴露出病毒特征码。这就是杀毒引擎的“虚拟机技术”,它的目的就是让程序文件在没有实际运行的情况下得到运行后的结果。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值