272015.6

PHP非阻塞模式

222015.6

找工作的一些心得

终于可以安静的写一下这段时间的一些经历。上个星期去深圳找工作,非常幸运,已经获得了几个offer,薪资水平都在自己的预期范围内,甚至有公司给出了相对比较高的薪资,让我有些心动,但是,找工作对于刚毕业的我来说,不能光看薪资水平,而更要看潜力,所以应该写一下我的一些想法,梳理一下我未来的一些发展。

刚毕业,虽然可能某些方面的能力都已经具备了,但是实际上在面对社会型多用户多功能高并发等方面的开发中,自己还是白纸一张,还要学很多,刚参加工作,也不太可能被作为主力来用,而更多的可能是作为副手,完成一些思路明确的开发工作,为主力分担工作量。因此,我更倾向于潜力比较大的公司,特别是既有极客风格,又在业务领域有美好前景的公司,在这样的公司,自己可以一步一步看到一个明晰的发展方向。另外,有一家公司虽然给了不错的薪资,公司规模也挺大,但是我回来一想,觉得这家公司的业务已经比较成熟了,从它线上的产品来看,也基本比较完备了,在面试时,我也尝试问了一下主考官公司未来的业务扩展,从他的回答中我大概知道,未来公司也没有业务上的大举扩展,所以说如果我进了这家公司,主要要是作为现有平台的一个“螺丝钉”,对已有平台进行修复和升级,对一些小功能进行扩展,而无法经历一个产品从雏形到上线的种种过程,也就无法在这种过程中成长。所以,最终我还是希望进到另外一家前景较好,业务平台相对来说还不是太成熟的公司。

我自己的开发能力基本上还是处在“便利贴”的层次,也就是哪里拿来都可以用,也可以完成任务,但是无法做到大神般的完美,用一个词来概括,就是“半吊子”。所以,我也逐渐明确自己需要在哪些方面进行提升扩展,也是我未来在工作及业余时,必须自己学习和提升的方面:一,Linux平台下的惯用操作和优化;二,PHP的底层原理;三,MySQL的底层原理;四,PHP算法及思维扩展。在面试的时候,很多题目我只能是一知半解,这主要原因是我在平时的开发中,以实现功能为目的,而没有从底层原理出发去剖析一些更深的知识,如果再去深入学习,相信未来必定会有一个大的突破,也会慢慢从“打下手”的角色逐渐进入“主力”的行列。

23:11:56 已有0条回复
132015.6

人工智能“Y-N”简易记忆进化模型

什么是“人工智能”呢?说的坦白些,就是机器可以自我思考和判断,在无人类判断的情况下,可以做出正确的选择。由于人类大脑的容错空间大,同时又能区分细小的差别,所以机器很难模拟。但是最近的研究表明,机器和所有自然界生物一样,也存在进化现象,而且其进化速度比自然生物更快。所以,实际上,我们开发人工智能,从某种意义上讲,不能靠人类,而是要依靠机器本身的进化。本文就来探讨一个简单的记忆进化模型。

记忆的重要性和选择意义

一个纯然无知的人,他的所有活动,依靠的就是本能,而本能,就是人类大脑中从父辈基因里遗传的种群记忆。一个原始无知的人,不会语言和工具,不懂人际交往,不理解自然界的一切运转规律,他所面临的,仅仅是如何生存,为了更好的生存,必须开始学习,而学习的过程,实际上就是将“Yes or No”的结果存储在大脑里,以备下次在遇到同样的情况时,进行调用。

“Yes or No”是人类最大的选择,它的意义决定了人类和其他动物的区别。自然界任何生物都有自己的选择,连非生物也有自己的选择,但是人类之所以区别于其他,就是人类的这些选择被完整的记忆和传承,并形成了社会记忆,选择的内容也超过自然,一旦脱离了非自然的选择,人类的大脑就开始迅速膨胀,直到可以存储这些选择结果。

进化,等于记忆存量

人的潜意识,是人类大脑的常驻内存。一个人要具备思考的能力,一定要突破这个层面,智商和情商直接决定了他在这个社会中的层次。但是,人类并非生来就是如此的。在人类漫长的进化过程中,必须有那么一刻,突然明白,应该将选择的结果记下来,以确保未来我能够在遇到相同情况的时候获得最好的结果。存储在人类大脑中的这种行为和结果越来越大,IO越来越快,促使人类脑部的新陈代谢极速加快,几十万年的过程中,人脑的容量翻指数的上升,在这个过程中,“Yes or No”的存储量达到了一个瓶颈,当人脑无法完成存储之后,语言和文字出现,记录人类信息的载体出现,信息传播出现,最终形成了社会记忆,也就是磁盘阵列。

接下来,我们来假设机器人的记忆进化。当一个没有视觉、听觉、触觉的机器人诞生时,并不知道这个世界的存在,它所完成的一切工作,都是按照指令来进行。直到在它身上装了一个特殊的存储器,用以记录它所遇到的每一个情况的选择结果。在一个黑箱中,我们给予这个机器人一个“十”字型迷宫,并且只在北方放置一个充电器。

在起始状态下,机器人没有任何感觉,也没有任何记忆,因此会在原地乱动。这个时期,机器人会遇到很多困难,会不停的摔倒,甚至死机。但每一个情况都被它记忆下来,也就是说,当它以“弓”形行动时,会摔倒,这个结果会被记录下来,但它并不相信是因为“弓”形令它摔倒,直到这种情况发生了100次,在我们的记忆存储器中设定到了100次即可作为一种结论,这个时候,它就会确认,“弓”形会摔倒,所以它再也不会尝试“弓”形的行动方式。之后它会尝试其他形状是行动方式,如果这种方式会摔倒,就把它记录下来,再次尝试,如果连续10次都摔倒,就认定这种方式是不可行的。当然,如果某种方式是可行的,那么就再一次执行,如果永远能够执行下去,说明找到了合理的通道。于是,机器人学会了走路。通过这个阶段,机器人学会了肢体语言和触觉。我们仅仅赋予了它一个记忆存储器和100次的上限,其他任何事情都没做过。

这个时候,记忆存储器已经存满了,机器人无法再将新的学到的东西存储下来,所以它只能碰运气找到充电器,否则,只能等待断电。

我们给它换了一块更大的记忆存储器,让它开始自己寻找充电器。后来会发生什么?它已经学会走路,所以会在迷宫中乱走,直到它往北方走了100次,都找到了充电器,于是确认了充电器就再北方。但是,如果我们不换这块记忆存储器,即使它再找到1000次,仍然无法确认这一事实,因为存储器中无法记录每一次是如何选择而找到的电源。

人类之所以伟大,是有一天,突然开始自我反思,反问自己从哪里来,到哪里去。直到有一天,机器人开始反思自己时,就可能在N次尝试之后确认,需要给自己换一块更大的记忆存储器,调整确认次数,到那个时候,就再也不需要人类。

记忆存储数据表设计

关系型数据库的好处是一一对应关系,可以实现快速查找;非关系型数据库的好处是,不用考虑数据类型,存取速度快。因此,在设计时,应该进行结合。

表1 事件记录表

字段 类型 描述
ID
event index Mango key 记录传感器信息

 表2 处理结果表

字段 类型 描述
ID
result index Mango key

 表3 “Yes or No”选择结果对应关系表

字段 类型 描述
ID
Event_id
choice bool
Result_id

 表4 确信事件选择结果对应关系表

字段 类型 描述
ID
Event_id
choice
Result_id

记忆存储逻辑流程图

在记忆存储过程中,其实并不需要特别多特别复杂的流程。下图虽然是为机器人记忆存储设计,实际上和人类的行为选择是很相似的。

jiyicunchubiao

是或者否其实是一个比较抽象的概念,它的前提是,需要你以“是否要执行某操作?”这样的选择疑问句为基础的,所以当某事件发生时,需要首先将事件响应转换为选择疑问句的形式提供给机器进行选择。如何转换疑问句呢?我们不能从语义上去转换,而要从事件变量去选择,将所有的变量进行排列组合,得到所有结果,选择其中一个进行保存即可。

10:59:20 已有0条回复
052015.6

整理完这一切,重新上路

2010年,我大二,开始努力自学Web开发的东西。那个时候走了很多弯路,什么都学,电脑上装的软件就像一个全能工具箱。直到大三,才真正步入正轨,开始用编程赚钱,虽然不多,但养得活自己,从那时起,就没在向家里要过什么钱。或许,我这么久,真正学到的,就是依靠自己。

人不走弯路,就不知道这个世界上有一种东西叫智慧。一旦一个人开始做自己,而不是看别人怎么好,羡慕别人的外在或内在,这时,才真正有了自己的个性。每个人可以选择的有很多,如何选择,有的时候仅仅是为了让别人认为自己很牛逼,而有的时候,才真正是想做自己想做的认为有意义的事情,而后者的次数,往往少于前者。我在开始编程之后,就很少像以前一样,疯狂的参加社会活动,基本上就是宅。当我们疯狂了很久之后,开始不疯狂了,不是我们又失去了自由,而是我们找到了自己疯狂之外的价值。

三年的研究生涯,如果一定要说一些学习上的进步,那就是在写毕业论文这段时间,深入的去思考了我档案学理论根源,而其他大部分时间,我都在做跟学习毫无关系的事,虽然学校也没有要求我们不要做这些事。做学问对我来说,更简单,特别我还是年轻的时候,除了几十年的积累,我哪一点都比那些带着老花镜的落伍学者强,但是,这种东西实在太无聊了,不是我真正想要的。

未来两三年,整个社会形势会发生巨大的变化,只有不断调整自己,适应新环境,才有可能在这个操蛋的时代有立足之地,但是这又何其容易?如果以三年或四年为一个循环,我三年四年后,不知道是什么状况,但是,这又有什么可畏惧的呢?只要人还活着,总会有希望。收拾好,上路吧!

20:45:05 已有0条回复