蜈蚣

百足之虫,死而不僵
posts - 19, comments - 427, trackbacks - 7, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2010年1月11日

摘要: 上一篇文章《人肉搜索、人肉语言及人肉程序设计》说到人肉计算的问题。前几日在圈子看到朋友在谈“云计算”,遂想是否有“人计算”这种概念。百度一下,果然发现Luis Von Ahn2005年提出的“人计算”(human computation),甚至早于“云计算”。只不过“云计算”、&...阅读全文

posted @ 2010-01-11 09:08 蜈蚣 阅读(2095) 评论(7) 编辑

2009年12月17日

       在《黑客帝国》中,当人类和机器的战争爆发后,人类的血肉之躯无法敌过钢筋铁骨的机器人,即使是使用核子武器也无法打败机器人。当人类万般无奈时,“黑色风暴计划”应运而生,人类在天空撒满黑色烟雾,阻挡太阳光,使机器人失去了能量来源,人类妄图以此为代价取得胜利。可机器人却发现,人类本身有强大的生物能,可以利用并转化为它们需求的能源。因此,人体成了能量来源,成了机器人的电池。可是,人类的生物电必须在人类还活着时才能持续供应,而且人类在有意识和无意识的状态下供出能源差别很大,所以,机器人经过反复的对人类大脑的研究后,创造了 THE MATRIX,让人们活在虚拟的梦世界里,成为机器们的电池。【引自百度知道http://zhidao.baidu.com/question/95898400.html?fr=qrl&cid=92&index=2

       不过,《黑客帝国》毕竟是科幻。这个思路,违反了能量转换理论。根据林得曼定律(十分之一定律):能量沿营养级移动时,逐级变小,后一营养级是前一营养级能量十分之一左右。从食草动物到食肉动物再到人类,几乎每一级都要消耗掉90%能力。人类处于营养金字塔最顶端,说它营养质量好还差不多(BTT,这里不是鼓励食用人肉,O(_)O~)。用来制造能源,肯定是极大浪费,甚至不如用碳能源。

       倒过来却很有趣,人类有最发达大脑。人类大脑具有独特的生物计算能力,一般计算机难以媲美,尤其是神经网络数以亿计并行计算,不确定性判断与处理(情感、道德)。把这些能力聚合起来,作为“机器世界”的超级计算机,可能更为经济。

       说到这里,前阵子有个很热的名词:“人肉搜索”。人肉搜索说的是通过大家的共同努力,发挥群体分布智慧效应,在“神奇的国度“搜索一些“神奇的内容”。

       “人肉搜索”其实是一种群体处理系统。群体系统是对群体生物行为能力的模仿,典型的有蚁群算法:各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种信息素,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果令开辟的道路比原来的其他道路更短,那么,渐渐,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。群体算法是一种求解组合最优化问题的通用启发式方法,该方法具有正反馈、分布式计算和富于建设性的贪婪启发式搜索的特点。

人类比蚂蚁聪明,人群的处理能力也更为强大(不详述,参见最近网络事件)。

现在做系统架构设计时,越来越强调提高用户体验。架构师经常被要求分析用户使用系统的行为模式,甚至进行数据挖掘,来达到这些目的。这种行为模式往往能被加以利用。如用户在使用办公系统时,为完成一项工作,其思维活动往往具有连续性,用户会先后看A文件和B文件。这两份文件,可能光从系统角度很难发现其关联,但人类思维能从某种微妙关系进行处理,这种关联甚至超过语义关联。

当然,这种行为模式分析也有缺陷,它是被动式分析,很可能用户永远不会再同一时间发现有文件A和文件B。换一种思路,是否可以设计一定的“陷阱”,让用户进行处理,实现所需信息?(这不就是一次程序设计么?设计程序,输入数据,用户处理,得出期望输出。)

 

       如上图,原本用户在使用系统。关系改变后,将用户抽象成整个系统的分布式个体处理单元。用户作为分布式的“人肉CPU”,系统作为核心处理器。可以预见,这种“人肉CPU”处理能力很强,如果设计出合理的“人肉程序”,那么建一个超级系统就不是问题。

       当然,“人肉程序”并不复杂,也不遥远。身边已经存在有很多简单“人肉程序”的例子:如博客和论坛有“有用、没用”和“支持、反对”按钮,用于判断文章价值。这只是“人肉程序”初级用法。再次讨论上文提到的“办公系统”,假设设计一定“人肉程序”,将文件A和文件B按照一定概率,随机出现在相邻地方。如有很多用户在处理A之后去处理B,那么就可推断出AB 可能有关联。

      

       个人意见是这种“人肉程序”应该设计很精妙,个体处理很简单,甚至不被用户察觉,用户不需要改变原有行为习惯,或仅仅是轻微改变。如上图,我们将一个目标分成若干个子目标,提供一定参数,使用户进行处理,并收集相应处理结果,同时形成反馈。就像蚁群算法一样,设计出简单个体处理,通过大量迭代过程,经过若干次反馈后得出期望结果。

       暂时还没想好用什么方式描述这种“人肉程序设计语言”。可以肯定的是,只要设计者能意识到用户的强大处理能力及用户的思维活动特征,就能设计出想要的程序。所以,尽管把你们的用户当成分布式超级“人肉CPU”,去实现“邪恶”的目的!

 

    

       注:最近刚申请一项关于人肉搜索的专利。这项技术基于搜索引擎叠加这种人肉程序。互联网现在每天有数亿次搜索,利用这些连续性搜索思维活动,设计较为合理的“人肉搜索程序”,产生大量知识(一种知识集技术),从而提高搜索质量。

除了搜索、办公之外,还没想到太多应用,有兴趣的筒子也可以交流一下。

posted @ 2009-12-17 12:21 蜈蚣 阅读(3249) 评论(19) 编辑

2009年2月28日

摘要: ETB全称为Enterprise Task Bus,即企业任务总线。它是传统中间件技术与XML、Web Services等技术结合的产物。ETB是一个很务实的企业信息集成方案。ETB采用大家耳熟能详的5W1H基本理念:When(何时)、Where(何处)、Who(何人)、What(何事)、Why(何故)、How(如何)。如下图,ETB原理非常简单,将企业内所有用户和计算事项集中起来,通过提供统一工...阅读全文

posted @ 2009-02-28 11:44 蜈蚣 阅读(976) 评论(0) 编辑

2009年1月18日

 

                              响一声电话的解决方案

自打小区里几只发情的小鸟因纵欲过度而牺牲之后,半夜里最窝火要数莫名奇妙的“响一声”电话。夜半鸡叫总让人有几分不爽,但除了关机却没有更好的办法。我也不愿用最恶毒心理来揣测别人。但对“响一声”电话泛滥,一次次大规模媒体轰炸式关注,移动营运商每次都能以近乎无辜澄清来收场。这几年下来,“响一声”电话不仅没有得到有效的制止,反而有愈发泛滥之势。这让人不得不怀疑最大收益者是移动通讯运营商自身。回顾历次移动通讯运营商表现,它们倒成了一个彻头彻尾的受害者。更可怕的是这些移动通讯运营商不断强调自己的国有背景,看着像是一个不断为人民某福利的无私者,却遭到一群小偷伤害。

稍加分析,我们就不难得出结论。移动通讯运营商不仅仅不是受害者,还是实实在在的帮凶,原因很简单:1,它提供作案工具(移动通讯网络)。2,它获得收益。或者我们换一个思路来考虑移动通讯运营商表现,就不难发现他们并没有解决问题的诚意。和中国所有既得利益集团一样,让他们吐出嘴里肥肉都很难。作为一个负责任的运营商,“响一声”电话问题似乎并不难解决。只要统计一下移动通讯数据库,就很容易将这些“作案号码”找出来。功能强悍的商业数据挖掘和所谓的分众统计,还是留着运营商继续捞黑钱。如果开放用户投诉补偿机制的话(很早就有人建议,用户投诉确认后,将“响一声”电话余额划给投诉方,促进扫黑行动市场化、职业化),响一声电话早就灭了。

“响一声”电话典型目的是拨号以后迅速挂断,让被叫方无法辨别是否有效呼叫,诱使对方回拨,从而实现低成本的广告效应(因为一般此方法会影响企业形象,正当经营使用此方法只会给企业抹黑,所以这种下作的手法,一般用于诈骗),如下对比图,它们具有非常明显特征:

正常通话过程

 

 

异常通话过程

1, 拨号后,等待时间短。只有迅速挂断,才符合响一声电话的低价营销原则,如果经常被愣头青接到,那么其成本就会高于收益。

2, 短时间内多次拨号。(高级一点拨号器可能会经常换号)

3, 主叫未接通率非常高。

4, 被叫接通率高于主叫接通率。

5, 应答内容和应答时间非常一致。(这个稍微复杂些,也可能被破解)

6, 回拨后可较容易辨别是否具有欺骗性质。(如自动应答内容,或交谈内容)

这些特征处理起来表面上很复杂。但如果去中关村或者徐家汇,随便找个披头散发,身上带着腐臭味的年轻人,都能写出这条计算机数据库查询语句(SQL),让这些所谓的奸商无所遁形。

可能有人担心,移动通讯运营商狡辩说这么操作会误杀用户。其实这只是移动通讯运营商巧妙托词。误杀的问题并没有那么严重,只要统计出问题用户,还是有很偷巧的解决方法:

 

 

1, 被判定为“问题用户”,被叫时,移动营运商可以插入一段提示音。比如:“此号码可能为问题号码,通话时请谨慎。”此操作既可以保护用户,也不影响移动A钱。

2, 当这些问题用户拨号时,等待提示音改成警告提示音。比如:“您的号码被判定为XX号码,请与xxx确认”。并进行强制收费,未接通或拨号时间小于3秒一律按照x分钟通话费进行收费。

3, 当一个计费周期(一个月),多次正常主叫通话后,可以解除黑名单。

如果移动通讯运营商拿出诚意,甚至不需要自己进行统计就能列出这些黑名单。光靠网友和受害者投诉的强大力量就能很快封杀这些号码。

当然,移动通讯运营商如果死赖着不动手,继续装无辜。我们也不是非要无限期忍受这种骚扰。这时候最需要体现成熟公民和社会组织机构自愿组成的社会。通过社会互助,通过建立一个民间性质的手机黑名单信息共享计划,不损害手机用户利益的同时,实现对骚扰电话的遏止。如下图流程:

1, 对手机用户电话簿亲友号码和正常号码不影响,按正常接听。

2, 未知号码呼入,使用延迟保护处理,等待3秒后再提醒,只响一声则不提醒用户(防打扰)。接通后,通话正常则加入正常号码中,如异常或者试图欺骗及广告则加入黑名单。

3, 黑名单号码呼入,使用快速接通,对“响一声”号码进行反制。5秒后再提醒用户接听,避免出现误判或恶意报复(将他人正常号码加入黑名单),多次列为正常号码后可以解除黑名单。

4, 作为手机单机软件使用。通过识别呼叫规律,帮助手机用户建立友好名单。阻止非正常呼叫。用户可以自行决定是否分享黑名单号码(仅限于未知号码不提交亲友号码及正常号码),如果用户参与分享计划,可下载黑名单列表。通过wap网络分享数据,数据量非常少(每天几K足矣)。

5,通过分享,对列入黑名单号码进行公众报复性反制,同时具有自动解锁机制,对误判或遭恶意陷害用户影响较少,能自动恢复,必要时也可以提供恢复机制。

利用这个黑名单信息分享计划。按中国约15%的智能手机占有率和25%的山寨机(MTK平台可以参与此计划)占有率算,理想状况下,只要有百分之十的手机用户参与就可很快阻退“响一声”电话的嚣张气焰。只要工信部不以非法运营来打压这种社会自净行为。成立民间组织进行运作,通过品牌经营甚至可以获利。

posted @ 2009-01-18 15:54 蜈蚣 阅读(353) 评论(2) 编辑

2008年1月8日

   调试AT指令首先要支持串口操作, .net1.x没有支持串口.不过网站上有奉献精神的同志很多,借来用用就ok了,其实就是api调用.
        [DllImport("kernel32.dll")]
        private static extern int CreateFile();      //打开串口
        [DllImport("kernel32.dll")]
        private static extern bool ReadFile();    //读串口
        [DllImport("kernel32.dll")]
        private static extern bool WriteFile();    //写串口
   包装包装就成一个.net串口操作类。当然,如果环境假设为.net 2.x以上可以用System.IO.Ports.SerialPort.功能差不多,除了read,就是write.
    首先要弄明白的是端口,在设备管理器,打开modem看,里面会告诉你用哪个端口,格式:COMX(X= 1,2,3,4.....)。
    接下来就是几个概念了。一个是波特率,也就是最大通信速率,就低不就高。一般modem是56k,所以填57600不错。(这个在设备管理器里也有)
    数据位 一般是8 。奇偶校验位 0    停止位 1。当然也有特殊情况,遇到的概率跟中彩票差不多。实在没招,找个串口监视工具,在命令行里输入 "dialer",可以打开window 内置的拨号程序,拨一遍就知道了.
   串口搞定,动modem就有戏.先试一下是否连通.(注意这里,at指令是以0d结束,不是字符,是16进制字节,输入时直接敲回车就可以,下同.)
   输入:  AT
   如果连接正确modem会
   返回:  OK
   接下来是拨电话,wirte 一组字符串,加入你要拨的号码,假如是10000号,那就发
   输入: ATDT10000
   modem会去拨10000,电话就给你接通了.拨不上去,modem会返回 "NO DIALTONE" 或 "BUSY",读取返回值,检测到这两个东东,毙掉它重来.
   拿一条分机和它串在一起,等modem接通了,提示我一下,拿起电话机,就可以和对方通话了.
   当然,一条电话和一个人没什么竞争力,但多条线就不同了.开几条线程去拨,看谁还能比我快.

   好了,现在告诉你这咚咚干什么用了:
   1 ,可以用来进非常6加1或者"XX不寂寞",我就不信还有人的手比这个还快还有耐心。逮着机会可以狠狠BT李XX
   2 ,年关了,抢条线定火车票.如果你那个地方订票系统比较好,或者票多人傻,可以飘过........
   3 ,可以用来抢通小MM,前提是小MM太~~多人追了(别做违法的事情,否则我可不管的)
   不扯了,详细的AT指令集合及多线程拨号见附件.
       
      

posted @ 2008-01-08 19:08 蜈蚣 阅读(5564) 评论(21) 编辑

2007年9月6日

摘要: 春节的时候突发其想,花了28小时制造了个编译器和虚拟机前段时间给搞了个调试工具,并制造了一个web应用.最近乱七八糟的事情暴多,但又不想让它就这么挂掉,找个社区开一下,说不定别人还用的着........阅读全文

posted @ 2007-09-06 10:36 蜈蚣 阅读(320) 评论(4) 编辑

2007年7月21日

摘要: 基于模板的ajax的客户端组件阅读全文

posted @ 2007-07-21 02:37 蜈蚣 阅读(2542) 评论(5) 编辑

2007年6月24日

摘要: 前天,一个师兄贴出《暗算》电视剧中女主角的近照,勾起我重看《暗算》的欲望,《暗算》中我最喜欢的角色是黄依依,她是一个才智过人,但有不拘泥于世俗,敢爱敢恨的人,用她的话说,她是一个为爱而活着的人。应该说是整部电视剧中塑造的最为真实的人。 不过最有感触的当属安在天,与其说安在天是第一男主角,不如说他是第一配角。在他所出现的前两部里,他既不是听风者,他也不是看风者。但从某种意义上说,他是一个极其优秀的领...阅读全文

posted @ 2007-06-24 21:39 蜈蚣 阅读(232) 评论(1) 编辑

2007年5月30日

摘要: 上次做个项目,有个客户说ArcIMS为什么不把数据缓存一下,相同的请求如果地图没变,直接在缓存里读出来就行了。每次都跑呀跑的。。。。
我很无奈的回答他:人每次操作时候位置很难相同的,如果这样做的话,服务器就需要无穷的资源。
后来想想,其实不对。虽然操作是随意的,但我们可用在这个基础上作规则化,只要不影响用户体验就可用了。阅读全文

posted @ 2007-05-30 11:51 蜈蚣 阅读(1094) 评论(1) 编辑

2007年5月21日

摘要: 用ArcIMS的html View做过项目的人都有个相当痛苦的经历。整天在一顿javascript 和ArcXml上转啊转,里面的结构一是一般的乱,东西也不是一般的多。如果新手拿着esri公司的参考文档看半天能找出个东南西北,头脑算是比较清醒的。阅读全文

posted @ 2007-05-21 17:02 蜈蚣 阅读(1428) 评论(7) 编辑