高分求hohosex 求小 出-由 华的 种-子 67...

[韩国][动作/犯罪/惊悚][走到尽头][BD-mkv/2.67GB][中文简繁][韩14高分动作犯罪] - 动漫下载|BT|动画|漫画|片源|游戏 - 旋风动漫
热门搜索:&&&&&&&&&&&&&&↑&↓&&&&&
当前位置: & [韩国][动作/犯罪/惊悚][走到尽头][BD-mkv/2.67GB][中文简繁][韩14高分动作犯罪] -
[韩国][动作/犯罪/惊悚][走到尽头][BD-mkv/2.67GB][中文简繁][韩14高分动作犯罪]
资源介绍 |
豆瓣网7.7分高分力作,不可错过!
电影海报:
译  名 走到尽头/黑仔刑警(港)/非常警探(台)/走向坟墓/走到底
片  名 A Hard Day
年  代 2014
国  家 韩国
类  别 动作/犯罪/惊悚
语  言 韩语
字  幕 中文简繁
评  分 7.2/10 from 862 users
链  接 
文件格式 x264 + 5.1 AC3 @ mkv
视频尺寸 1280 x 720
文件大小 2.67 GB
片  长 111 Min
导  演 金成勋 Seong-hun Kim
主  演 李善均 Seon-gyun Lee ....高建洙
     赵震雄 Jin-ung Jo ....朴昌民
     郑万植 Man-shik Jeong
     申东美 Dong-Mi Shin
     申正根 Jeong-geun Sin
影片简介:
  因为一瞬间的小失误引发一场事故并置自己于绝境的警察高建洙(李善均饰)为了隐瞒事件真相,与突然出现在他面前、知晓一切的神秘人物朴昌民(赵镇雄饰)之间展开了一场惊险刺激的智勇博弈。
  道貌岸然的水源警局警官高建洙(李善均 饰)正处在人生的危急关头,他的母亲不久前刚刚去世,警局方面因为和同事涉嫌受贿而被检察官调查,回家奔丧的路上速度过快又不慎撞死了人。高左右奔突,疲于奔命,最后以瞒天过海的方式逃过一劫。好不容易渡过危机的高和同事受命追查一个通缉犯,结果却发现对方正是自己撞到的人。雪上加霜的是,偏偏有人目击了车祸过程,并且匿名举报。之后不久,神秘之人(赵镇雄 饰)打来电话,直接道出高建洙撞到通缉犯的隐情。
  对方拥有和高警官同样体面的身份,而他反复纠缠这个惊弓之鸟背后又有怎样不可告人的目的?
&影片入围了第67届戛纳电影节的&导演双周&单元。
&&温柔好男人&李善均首部反派大作,爆冷塑造了一个隐匿自己罪行的阴暗男人。
&导演金成勋此前凭借喜剧片《缺乏爱情对两个男人的影响》起家,此次新作风格陡转,令人非常期待。他本人亦表示:&希望自己的每部作品都让人意想不到。&
&影片首映当天累计观众数7万9700人次,紧跟大片《X战警》,前途一片大好。
&李善均对自己在片中的搭档赵镇雄赞不绝口,并成为了非常谈得来的朋友,儿后者更将前者视为学习的榜样,希望也能像李前辈那样驾驭更多类型的角色。
&为了诠释好片中的角色,李善均做了大量准备工作,包括严格的体能训练,已完成片中所有的动作戏份。
&影片请来曾参与《最终武器:弓》的摄像导演金太成执镜,在讲究拍摄角度的同时,更放大了两位男主角的细节动作,实现了暴力美学的各项要领。
&曾任影片《快递惊魂》动作指导的崔东宪为本片设计了紧张刺激的动作戏码,特别是一些在洗手间、公寓内等封闭在小空间内的动作情节安排的尤为精彩,大有令人窒息之感。
影片截图:
文件信息 |
资源包含文件
&梦幻天堂·龙网().720p.走到尽头.黑仔刑警.非常警探/本片简介,海报,截图等,双击进入查看.url&(142Bytes)&梦幻天堂·龙网().720p.走到尽头.黑仔刑警.非常警探/梦幻天堂·龙网().720p.走到尽头.黑仔刑警.非常警探.mkv&(2.7GB)&梦幻天堂·龙网().720p.走到尽头.黑仔刑警.非常警探/梦幻天堂·龙网最新超多爆爽资源下载列表.rtf&(2.7KB)&梦幻天堂·龙网().720p.走到尽头.黑仔刑警.非常警探/特紧急:龙网更换域名,新网址.rtf&(2.2KB)&梦幻天堂·龙网().720p.走到尽头.黑仔刑警.非常警探/航子精品制作原创专区()质量保证.url&(125Bytes)&梦幻天堂·龙网().720p.走到尽头.黑仔刑警.非常警探/龙网BT组官网()梦幻天堂·龙网.url&(110Bytes)
网友评论 |
旋风BT在手,天下我有!来自子话题:
不只暗黑三,許多遊戲中的「隨機」要素都是「偽隨機」。而很諷刺的,採用「偽隨機」的理由往往是為了製造更「隨機」的感覺給玩家。&br&&br&試想,如果一個珍貴道具,掉寶率只有千分之一,那麼玩家會期待我打一千個怪物應該要掉一個吧,再不然我打兩千個怪物應該也總該掉給我一個珍寶了吧?&br&&br&上面是一般玩家的直覺。然而我們考慮真實情況:&ol&&li&連續掉兩件珍寶的機率是百萬分之一(0.001^2)。但如果這遊戲的玩家夠多(例如暗黑三第一天就賣了三百五十萬套),出現連拿兩件珍寶的玩家並非不可能,但是看在其他人的眼裡,可能就會覺得有作弊不公之嫌。&/li&&li&打了一千個怪物仍沒有掉任何一件珍寶的機率是多少?答案是 0.^1000);而打兩千個怪物仍沒有珍寶的機率是 0.^2000)。換個方式說,&b&有三分之一的人打了一千個怪仍沒拿到珍寶,就算各打了兩千個怪,仍有超過十分之一的玩家是毫無所獲的。&/b&雖然這是真實存在的機率情況,但對玩家而言,卻會覺得是開發商作弊,而不會認為這是正常的隨機。&/li&&/ol&所以遊戲設計中,許多時候的隨機都不是真的亂數隨機,而是用各種方式做出看起來隨機的樣子。比較常用的一個方式就是&b&洗牌&/b& (Shuffle),把所有可能發生的情況放在一個陣列中,對陣列的內容作亂數排序。&br&&br&以前面千分之一掉寶率的假設為例,可以設想有個陣列有 1~1000 的數字,亂數排序後,每次玩家打怪我就從數列中抽出一個數字,若數字等於 1 時我就給玩家珍寶,當 1000 個數字都取完後,就對這個陣列重新洗牌,重新抽牌。這樣的作法可以確保玩家平均每 1000 次打怪中可以得到一次珍寶,從而避免機率的極端狀況,對玩家而言,看起來比較像是&b&直覺意義上的隨機&/b&,雖然事實並不是。
不只暗黑三,許多遊戲中的「隨機」要素都是「偽隨機」。而很諷刺的,採用「偽隨機」的理由往往是為了製造更「隨機」的感覺給玩家。試想,如果一個珍貴道具,掉寶率只有千分之一,那麼玩家會期待我打一千個怪物應該要掉一個吧,再不然我打兩千個怪物應該也總…
来自子话题:
反对 @信13480的说法。有趣的是这位大大在说别的大V屏蔽他的时候,同时也把我屏蔽了。&br&&br&信大大说的&br&&blockquote&尤其是在今天高科技的背景下,印章一般都是电脑刻制,不但伪造起来十分容易,而且肉眼鉴别起来特别困难,至少比识别假签名要难。&br&&/blockquote&不好意思其实普通的防伪印章就可以做到伪造起来很困难的。&br&先说个容易懂的,仿伪纹。 &br&&a data-hash=&1c3369bbd58b14ed815011effaf0895c& href=&/people/1c3369bbd58b14ed815011effaf0895c& class=&member_mention& data-editable=&true& data-title=&@李嫑嫑& data-tip=&p$b$1c3369bbd58b14ed815011effaf0895c&&@李嫑嫑&/a& 说的在印章上刻暗记的方法,现代科技早就有升级版本了,那就是防伪纹。&br&如图:&br&&img src=&/b19a884dd9e361eea44d6c_b.jpg& data-rawwidth=&213& data-rawheight=&213& class=&content_image& width=&213&&&br&在章最外边一个红圈,上面有细细的纹理就是防伪纹,这些防伪纹是随机产生的。由于伪造细纹西需要很高的精度,很难用普通的激光去伪造。即使有可能伪造成功,在目前的情况下也需要很大的金钱成本和时间成本。&br&所以信大大说的&br&&blockquote&从社会常识出发,什么级别的章需要划,是国务-院,是国安-局,还是村委会?如何划,划多少,谁来划?划了如何向上级与下一任交代?是一年划一次,还是换一届领导划一次?那十年下来印章岂不是千疮百孔、不可辨认了?&br&也许在使用中会有划痕等磨损,但新的公章(非私章)自己划两刀,个人认为不太现实,因为想要鉴别真假有很多办法。&/blockquote&在实体章上画痕迹早就有方法了,而且价格也不贵,200-300元就可以刻一个有防伪纹的章。&br&&br&现在印章还融入和指纹技术,直接把个人的指纹融入&br&&img src=&/815d818a87ef63cf2a6c339e_b.jpg& data-rawwidth=&942& data-rawheight=&663& class=&origin_image zh-lightbox-thumb& width=&942& data-original=&/815d818a87ef63cf2a6c339e_r.jpg&&&br&注意五角星内的指纹纹理,依然是普通激光刻章不能简单复刻,而肉眼容易分辨的(起码和指纹一样)。&br&&br&当然信大大还可以说,淘宝上还有超高科技的刻章店,什么随机防伪纹,指纹纹都能仿造。大不了我ps一个了。&br&&br&那么下面还有一个技术,那就是防伪油墨。如下图&br&&br&&img src=&/e970f71dfab07511fa8bac3e13c4a13c_b.jpg& data-rawwidth=&650& data-rawheight=&632& class=&origin_image zh-lightbox-thumb& width=&650& data-original=&/e970f71dfab07511fa8bac3e13c4a13c_r.jpg&& 右侧是有防伪印油的公章,在没有荧光等的情况下,两者都看不到暗款,但是有了荧光灯,假章就显出原型了。这类技术要逆向也很困难,主要是暗款要和油墨配合在一起,可不是简单地从章逆向画出个同样的图像就行了。至于ps画个印章就没有什么用了。这样的印章也不贵,也是百元左右&br&&br&关于印章防伪还有很多技术,就不一一列举了,比如&b&智码技术&/b&并不是肉眼所能看到的,正因为是肉眼看不出来,所以很多人都因为没有做防伪处理。一些人以为把印章的形刻好了就行了,结果一过机器就查出是假章。&br&&br&章上面的科学多着呢,即使没有防伪技术,章的鉴定方法也很成熟。
反对 @信13480的说法。有趣的是这位大大在说别的大V屏蔽他的时候,同时也把我屏蔽了。信大大说的尤其是在今天高科技的背景下,印章一般都是电脑刻制,不但伪造起来十分容易,而且肉眼鉴别起来特别困难,至少比识别假签名要难。不好意思其实普通的防伪印章就…
来自子话题:
就说二叉树。我大二学数据结构,大作业的一部分是自己实现一个平衡二叉树,没有任何问题。要是那个时候别人来问我各种细节,毫无压力。&br&&br&然后我现在研二,自那次大作业以后再也没有实现过平衡二叉树。需要使用各种索引的时候都是无论是自己实现还是直接调用库,都不是平衡二叉树。然后现在要是来问我关于平衡二叉树的各种细节,当然我还记得左旋右旋左右旋右左旋,但你要我把所有的指针赋值都准确回答出来,我一定办不到。包括其他很多经典算法,思想我都有印象,细节我只能抱歉。&br&&br&这类知识性的东西不经过长时间多次反复是不会形成长期记忆的。所以才会有临时查的情况产生。而且就算形成了长期记忆,这跟骑自行车这种技能还不一样。只要时间够长,总会忘掉的。&br&&br&我觉得面试者反对的不是问算法,而是单纯地考察这些跟他工作无关的知识。换句话说你就算不问算法,而是问一个写前端的Sql查询怎么优化或者问一个挖数据的怎么做编译器,人家一样会受不了。因为他需要花时间去特地准备。而这准备又跟他的工作无关(面试之前的工作)。&br&&br&如果面试官问的算法与面试者的工作相关,他却答不上来,确实可以判断他之前的工作有问题,进而他的能力也许有问题。如果无关,这就成了单纯的应试。我们都知道应试教育在人们心目中是什么样的存在。讨厌什么的就可以理解了吧。&br&&br&现阶段,面试者也许认为算法是基础,人人都该懂,所以才问算法。万一过两年,面试者认为体系结构是基础,人人都该懂,这个题目就会改成问体系结构的了。那么计算机科学或者工作所需的编程实践里到底什么是基础?什么人人都该懂?我也不知道,反正我不觉得算法是。&br&&br&当然,面试也和应试教育一样。问的问题也许并不好,但是足够公平就行。现阶段也没有别的更好的问题可以问。毕竟不能指望面试官先了解应试者的背景再有针对性地提问。再加上现在大家争着找工作的市场情况。所以作为应试者,还是安心准备为上。再说,不管有用没用,知识多了总没有坏处。&br&&br&&b&注:本答案只表达了对面试问算法的部分反对,并未提出任何面试提问的建议方案。&/b&
就说二叉树。我大二学数据结构,大作业的一部分是自己实现一个平衡二叉树,没有任何问题。要是那个时候别人来问我各种细节,毫无压力。然后我现在研二,自那次大作业以后再也没有实现过平衡二叉树。需要使用各种索引的时候都是无论是自己实现还是直接调用库…
来自子话题:
一个比较简单的方法,用随机数填充一个位图,下面是一个填充黑白图像的例子。&br&这个是用C#的System.Random类生成的随机数填充的位图&img src=&/db267b11e69ef_b.jpg& class=&content_image&&&br&这个是用php的rand函数生成的随机数填充的位图&br&&img src=&/95f1cc74d02cdd22905aba_b.jpg& class=&content_image&&&br&哪个比较差一目了然。
一个比较简单的方法,用随机数填充一个位图,下面是一个填充黑白图像的例子。这个是用C#的System.Random类生成的随机数填充的位图这个是用php的rand函数生成的随机数填充的位图哪个比较差一目了然。
来自子话题:
既然是哪些,那我就多说几个。&br&&br&首先是&b&KMP&/b&和与之相关的&b&AC自动机&/b&(Aho-Corasick automaton,刚接触以为是自动AC机),其思想和效率真的很惊艳。&br&&br&然后是&b&快速傅里叶变换(FFT),&/b&可以以&img src=&/equation?tex=nlog_%7B2%7Dn+& alt=&nlog_{2}n & eeimg=&1&&的复杂度计算n次多项式乘法。&br&&br&其次是&b&扩展欧几里得算法&/b&,数论题最常用算法了,求乘法逆元、解一次不定方程超级好用,而且代码很短很好记。&br&&br&再次是&b&快速幂取模&/b&算法,理解之后代码很好写,而且效率很高。k阶矩阵的n次方复杂度仅为&img src=&/equation?tex=k%5E%7B3%7Dlog_%7B2%7Dn++& alt=&k^{3}log_{2}n
& eeimg=&1&&(不用&b&strassen法&/b&加速的情况)。&br&&br&最后再推荐一个好用但不完全严谨的算法:&b&Miller-Rabin素数测试算法&/b&。非常快而且错误率很低啊!&br&&br&&b&自适应辛普森公式&/b&,对三点辛普森公式递归调用的积分算法,代码不到20行,解决所有一维定积分问题。&br&&br&&b&旋转卡壳算法&/b&可以在O(N)时间内求多边形直径。&br&-----------------------------------------------------------------------------上边是正经回答,下边是抖机灵&br&&br&快速排序算法也是非常好用的,#include&stdlib.h&然后调库是比赛中所有要排序的地方的处理方法,快速排序算法让我惊艳的地方是我去省图书馆看见两个志愿者需要把还回来的一堆书按顺序入架,&b&管理员大妈给他们教的时候说:“你先在这堆书里拉出一本来,把比它号小的扔到一边,比它大的扔到另一边,然后剩下两堆继续这样整,这样排的快!&/b&”这是我见识过最惊艳的算法使用,没有之一!
既然是哪些,那我就多说几个。首先是KMP和与之相关的AC自动机(Aho-Corasick automaton,刚接触以为是自动AC机),其思想和效率真的很惊艳。然后是快速傅里叶变换(FFT),可以以nlog_{2}n 的复杂度计算n次多项式乘法。其次是扩展欧几里得算法,数论题最常…
来自子话题:
一点建议:&br&1. 请使用学校邮箱。非要使用QQ邮箱勉强也可以接受,abc这种格式真的不太合适,注册一个名.姓@xx.yy 的邮箱吧。&br&2. 地址:Computer science and technology, XX Univ.
贵系难道不是个Department么?&br&3. 不用LaTeX其实也可以。但是……间距不要那么大...
咱没写过论文还没读过论文么?随便搜一个你这个领域的不错的会议的最近的best paper award,照他的格式写。LaTeX最好一有空就学。&br&4. 地址要对齐的话就居中。名字要写中文的话也控制好左括号和右括号之间的空。我以前觉得这些是细节,不重要,内容才重要。后来才明白有很多细节决定了别人是否愿意把这篇论文继续读下去。&br&5. 看了一眼参考文献。引的着实少了点。但是完全无视前人研究直接自个儿就是巨人的人也是存在的。但引两篇的话格式请保持一致。书也要标出版日期。作品名不要使用引号,请使用斜体。这是规矩…… &br&6. Introduction,最后介绍一下后文的内容,这挺好的。建议写Section 2 讲了XXX, Sec 3讲了XXX。 现在这格式在我看来有点费纸。。好像是填充字数的感觉。以及看到这儿我真心认为很多人都会直接扔掉这篇论文了。&br&我一开始认为算法和实验最重要,后来学到了Introduction其实才是整篇论文里最重要的部分。直接决定了别人会不会继续读下去。至少要把自己做了什么简单说一下吧……?&br&关于这个,我觉得我老板讲的故事可以借鉴一下:&a href=&/question//answer/& class=&internal&&硕士论文你有哪些经验与收获?&/a&&br&&br&7. Conclusion那一段,Firstly,Secondly,Thirdly可以用(1) (2) (3)或者(a)(b)(c)代替么。&br&8. 第二章的定义。Q0, Q1,... Qn.. 用脚标很难嘛..
SpecialNFA的定义非常不清楚。&br&9. Qi x Σ → Q(i+1)
乘号请别用字母x。&br&10. &br&&blockquote&This special NFAs is not as power as the original NFAs [2]. But, the language of this special &br&NFAs is very special, because the length of language can be limited. So, it is can be used to store
&/blockquote&所以这个special NFAs 不是您自己定义的? 那请标注谁谁谁定义了一个Special NFAs。前面看着像你自己定义的,后面忽然来了一句引用。很莫名。&br&11. V的定义很模糊。这些定义请先用公式精确描述,底下再补充文字解释比较好。&br&&br&综上,对不起算法我没读懂。只谈谈感受。整篇文章感觉并不是很专业。感觉想吸引领域牛人来读完是一件很难的事情。建议先撤下这篇,修改一下,至少把格式改的专业一些。如果可以,建议把证明写的再详尽一些,让我这种一知半解的笨蛋外行也能看个大概明白。&br&&br&ps,
&a data-hash=&31eee331a0042f8bcf43& href=&/people/31eee331a0042f8bcf43& class=&member_mention& data-editable=&true& data-title=&@余天升& data-tip=&p$b$31eee331a0042f8bcf43&&@余天升&/a& 提到的那篇论文&a href=&http://arxiv.org/ftp/arxiv/papers/76.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&arxiv.org/ftp/arxiv/pap&/span&&span class=&invisible&&ers/76.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&,我也打开看了一下。那篇也不能称之为格式完整正确好嘛。逗死我了。。reference里竟然用.etc。etc是用来形容东西的,et al才是用来形容人的好吧。而且也一样用引号。&br&要说英语不好咱100%理解,我自己犯的语法错误也多了去了。可是我拖回去看了眼作者名单,XXX etc.. 这是在作者里表示A、等等么。 那个等等里的人(或者东西?)真可怜。&br&另外,底下脚注里给的link还是.&a href=&& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& ……
&br&&br&然后我发现了一件很有意思的事情:&br&这两篇文章的前两自然段,一个字儿都不差。是的定义相同我可以理解。问题介绍及引用都一个字儿不差。包括引用里的引号。 &br&以及Introduction最后:The following part of this paper includes 4 sections.
&br&The following part of this paper includes 3 sections. &br&然后都分别(1)(2)(3)了。 我不说话只呵呵。&br&是的,这些都不涉及到关键算法。但Introduction里一共有8行,5行都和另一篇论文一模一样,这有点不太合适啊。您这篇2014,他那篇2013,无论如何哪怕是巧合,先上传的也占理儿。&br&(最简单的懒人方法就是采用「改写」一句话的方式。好歹词的前后顺序变变啊)&br&&br&没有人天生就会写论文,不要沮丧,大家都是一点点慢慢学。多少人发表的第一篇论文在几年后看来甚至是如同人生污点一般的存在恨不得抹掉。 如果你想投身于学术圈,请严谨地对待自己的每一篇论文。
一点建议:1. 请使用学校邮箱。非要使用QQ邮箱勉强也可以接受,abc这种格式真的不太合适,注册一个名.姓@xx.yy 的邮箱吧。2. 地址:Computer science and technology, XX Univ. 贵系难道不是个Department么?3. 不用LaTeX其实也可以。但是……间距…
来自子话题:
从push价值来看,买正版是不是应该?是。&br&从人类历史来看,出现黑市是不是常见情况?是。特别是市场不健全的情况下,哪国都会有,没有任何人比别人高尚。&br&&br&从正还是玩破解的事情吵这么多年,其实也就是这样两个道理。你们自己怎么选,是你们自己的事情。当然,在做选择的时候,还有很多其他的原因会影响最终的决定。在全世界大多数的地方,玩正版不光是法律和道义的要求,从任何国家老百姓都最关注的实用主义的角度来说,玩正版意味着方便省事,并能享受到各种增值服务。&br&&br&但在神奇的土地上,这一点不见得成立。甚至于对于很多普通人来说,他们不像知乎国里生活的那些人,他们外语水平不好,不会翻墙,甚至还有很多人不懂得网购的门道,更不会拥有几国护照或者签证能随时说走就走,这些人他们不去网上下载免安装汉化版,他们怎么玩?&br&&br&这里头,有道义上的问题。但绝大多数人根本就没有想这个道义上的问题。道义上的问题,应该是管理屁民的那个机构通过其政策去引导屁民的。但是那个机构在干什么呢?在考虑是不是要把从外面接进来的蒸汽小管也掐掉。&br&&br&所以你们看到,最高的良知不一定等同于眼前的选择。说白了叫做人在屋檐下,谁能不低头。&br&&br&所谓“不给你也不能偷”这个说法,是人们对于一个理想秩序的追求。游戏这种没有了也能活的东西,你当然可以这么说。但你看看历史上,若是连吃的东西都没有的时候,大概也就没人还能坚持这句话了吧。&br&&br&当然也不是没有。也有人能。日后他们的姓名前会加上一个Saint,被安置在一些宏伟的建筑里。外面挂上一个牌子:此图镇楼。&br&&br&但我们还是应该存着一些高尚的信仰。如果你有那个财力,有那个门道,就还是买正版吧。不说问心无愧,起码实在的便利你是能享受到的,也不用烦这次是不是又要重新刷系统之类的了。&br&&br&PS:我觉得这个题目完全就是拿来秀阵营的。以后认准了谁是守序谁是混乱,谁是善良谁是邪恶,打炮也有准头了。&br&&br&至于我本人,我的阵营是会变的,所以你们不要猜。&br&&br&就像这样:&br&&img src=&/be3bc8d703bfe84decaf_b.jpg& data-rawwidth=&440& data-rawheight=&579& class=&origin_image zh-lightbox-thumb& width=&440& data-original=&/be3bc8d703bfe84decaf_r.jpg&&
从push价值来看,买正版是不是应该?是。从人类历史来看,出现黑市是不是常见情况?是。特别是市场不健全的情况下,哪国都会有,没有任何人比别人高尚。从正还是玩破解的事情吵这么多年,其实也就是这样两个道理。你们自己怎么选,是你们自己的事情。当然,…
来自子话题:
本来应该是另一个“不便回答”的问题。但有人盛情邀请,所以稍微说一下。豆瓣电台的私人电台会综合用户在豆瓣上的各种音乐行为做算法推荐。当然考虑最多的是电台本身的“红心”, “垃圾”, “跳过”这些数据。&br&&br&至于算法本身,在任何领域里,超出基本的普通推荐算法之后,就没有“亢龙有悔”一招打遍天下的东西。可以说全是细节。这个是不断积累、观察、学习、创造的过程,而且每天在持续变化。做推荐是在一条没有终结的马路上一边攒车一边开车,教科书、论文里的东西都是基本的零件,中间碰到各种奇奇怪怪的算法都可能被捡起来装到车上。Swiss army knife, yes.
Silver bullet, no.
本来应该是另一个“不便回答”的问题。但有人盛情邀请,所以稍微说一下。豆瓣电台的私人电台会综合用户在豆瓣上的各种音乐行为做算法推荐。当然考虑最多的是电台本身的“红心”, “垃圾”, “跳过”这些数据。至于算法本身,在任何领域里,超出基本的普通…
来自子话题:
恰好就是前两天,公司技术分享会,有同事还专门做了推荐算法的分享,然后我发现,嗯,小伙子比我强!在这里share一下。&br&1、推荐算法的构成&br&一套标准的推荐算法,需要四个组成部分&br&第一:数据源,行为基础数据的筛选;通常,推荐算法来源于用户行为的采集,简单说就是行为数据越丰富,样本覆盖率越全面,结果越准确;如果采样有偏差,那么结果就会有偏差。&br&&br&举例1:游戏推荐算法,我们之前限于采样技术水平和处理能力,用的是登陆用户玩过的游戏历史,那么推荐结果就会偏重于需要登陆的游戏。而随着技术提升用全部用户玩过的游戏历史,就更全面了。&br&举例2:在搜索引擎中,对关键词做推荐,有两种方案,一种是基于广告主的竞价记录;另一种是基于网民的搜索行为;前一种专业性更强,噪音小;后一种覆盖面广,噪音大,各有利弊,根据业务诉求选择。&br&&br&推荐算法,通常来源于用户的行为记录,比如关键词推荐用用户搜索历史,电商推荐用用户购物历史,游戏推荐用玩家玩游戏的历史,然后基于算法给出相关度,再排序展示 ;但这不绝对,也有并非基于用户行为记录的推荐原理,比如基于用户身份特征或其他地区、网络环境等特征,限于篇幅和常见的业务诉求,这里就不展开说明了。&br&&br&行为基础数据必要时要做一些去除噪音的工作,比如你通过日志分析玩家游戏历史,或用户购物历史,至少知道把各搜索引擎和工具的抓取痕迹过滤出去,否则结果是很难看的。&br&&br&第二:算法,也就是用什么样的计算方法来处理数据源,得到目标的相关性。&br&算法很多种,网上可以搜到很多,就算搜不到,或者搜到了看不懂,自己编也不难的(我就编过,效果自以为还不错,但是的确不如人家专业的算法效果好,所以适合练手,不适合出去吹牛)&br&不同算法差异还是蛮大的,需要理解一下业务诉求和目标特征来选择。这个我真心不是高手,我们同事讲的算法我都没能理解,就不多说了。微博上的“张栋_机器学习&和&梁斌penny&都是算法高手,大家可以多关心他们的微博。&br&&br&第三:参数!&br&绝对不要认为用到了好的算法就可以了!算法往往会基于一些参数来调优,这些参数哪里来?很不好意思的告诉你,大部分是拍脑袋出来的。但是你拍脑袋出来后,要知道去分析结果,去看哪里对,哪里错,哪里可以改,好的算法可以自动调优,机器学习,不断自动调整参数达到最优,但是通常可能需要你不断手工去看,去看badcase,想想是什么参数因素导致的,改一下是否变好?是否引入新的bad case?&br&&br&第四:校验!&br&校验一种是人工做盲测,A算法,B算法的结果混淆,选案例集,看哪个效果好;或A参数、B参数混淆,同理测试。通过盲测选择认为更合理的算法、更适宜的参数.&br&另一种是线上的数据追踪,不要认为推荐算法上线就结束了,比如之前是手工推荐,或随机推荐,你换为算法推荐后,推荐的目标点击率如何?转化率如何?用户平均访问深度如何?与之前手工或随机推荐的结果比照一下,或比起旧算法来比照,看是否有提升?是否有明显提升,不断总结归纳,才会逐步精准。&br&&br&以上是个人认为,做好推荐算法的步骤&br&下面说一下常见问题&br&1、以为有了算法就ok了,不对参数优化,不做后续的校验和数据跟踪,效果不好就说算法有问题,这种基本属于工作态度的问题了。 &br&2、对样本数据的筛选有问题,或缺乏必要的噪音筛查,导致结果噪音多。比如你有个推广位天天摆着,导致用户点击多,然后导致后台行为数据里它和谁的关联都高,然后不管用户到哪里都推荐这个玩意,这就是没有足够筛查。&br&3、热度影响&br&我说一下最简单的推荐算法&br&同时选择了A和B的人数作为A与B的关联度。&br&这个实现最简单,也最容易理解,但是很容易受热度影响&br&比如A、B、C是三本书,同时选择A和B的有100人,同时选择A和C的只有50个人,那么,你如果这样计算关联度,显然是A和B关联度高;但是我给你额外的数据,B这本书非常热门,一共有10万人选择,C这本书有点冷门,只有500人选择,现在你再看,还认为A和B的关联度比A和C高么?&br&我曾经注意过某个热门图书电商网站,推荐的关联书籍一水的热门书籍,就是这个问题。&br&再比如&br&某个文艺青年同时选择了2本书,另一个采购员同时选择了200本书,那么前面两本书之间的关联度,和后面的200本书之间的关联度,一样么?&br&这些是非常简单但是又非常容易出现的,关联误区。&br&4、过于求全&br&现在也遇到一些朋友,一提到推荐算法或者推荐系统,就说我这个要考虑,那个要考虑,不管是行为记录,还是用户特征,以至于各种节日效应,等等等等,想通过一个推荐系统完全搞定,目标很大,所以动作就极慢,构思洋洋洒洒做了很多,实现起来无从下手,或者难以寸进;我觉得,还是量力而行,从最容易下手的地方开始,先做到比没有强,然后根据不断地数据校验跟踪,逐渐加入其他考虑因素,步步前进,而不要一上来就定一个宏伟的庞大的目标;此外要考虑实现成本和开发周期,对于大部分技术实力没有百度,腾讯,淘宝那么强的公司而言,先把简单的东西搞好,已经足够有效了,然后在运营数据的基础上逐次推进,会越来越好;有些公司是被自己宏大的目标搞的焦头烂额,最后说,哎,没牛人搞不定啊。嗯,反正他们的目标,我显著是搞不定的。&br&&br&就这些,希望有所帮助
恰好就是前两天,公司技术分享会,有同事还专门做了推荐算法的分享,然后我发现,嗯,小伙子比我强!在这里share一下。1、推荐算法的构成一套标准的推荐算法,需要四个组成部分第一:数据源,行为基础数据的筛选;通常,推荐算法来源于用户行为的采集,简单…
来自子话题:
&b&QQ&/b&&b&圈子:从哪里来,到哪里去&/b&&b&&/b&&br&&br&&b&摆脱顿巴数的魔咒&/b&&b&&/b&&br&&br&社交是人类的一个最基本的需求。但是,自然给我们人类的大脑,只能让我们维系150-200个左右的好友。超出这个范围,就会有好友慢慢地被淡忘。很多社会群体的平均大小是150,这个数也被称为顿巴数(Dunbar Number)[1]。例如,公元前6000年左右,中东地区新石器时代村落的人数大约在120-150人之间。在罗马共和国时期,罗马军队的一个基本作战单位的人数大约为130。20世纪50年代以来,社会学家了解到,150-200人之间的公司可以基于人际关系运作,一旦超过,就需要各类等级制度和管理结构[2]。&br&&br&在近代以前,绝大部分人生活在150-200人之间的固定圈子里。圈子里的人之间有着良好的人际关系,而与圈子外的人很少有联系。因此,他们仅仅用大脑就可以管理整个圈子中的社交关系。当然,在这150个人中也有亲疏不同。其中最亲密的,大概包括3-5人,组成一个很小的核心圈。其次是稍大一些的圈子,大约30-50人[2]。再次就是整个圈子。
&br&&img src=&/b103f69ceafb9407490abee_b.jpg& class=&content_image&&&br&但是,现代社会的流动性改变了这一切。我们随着成长,从一个地方迁移到另一个地方,从一个圈子迁移到另一个圈子。对于大多数人而言,我们在一个地方出生和长大,去一个新的地方求学,认识新的朋友。毕业后,我们再去一个新的地方工作,认识新的同事……在每一个阶段,我们都会有好友,也会有密友。但是随着迁移,旧的好友慢慢地被淡忘。Dunbar等人指出,每年我们会遗忘大约15%的好友,而旧时的密友也会从我们社交圈的中心,慢慢地退到圈子的边缘,甚至最终消失[1]。&br&&br&&img src=&/4ca7d681f7b8dcb4dbac_b.jpg& class=&content_image&&&br&遗忘旧朋友并不是唯一的问题。当我们到一个新的地方,需要结识新的朋友,融入新的环境,这一过程又变得有些吃力。尽管我们有各种各样的技术手段,但是,面对面的沟通和交流仍然是结识朋友的主要手段。据研究统计,我们每天40%的时间,只用来和5个人打交道。而这5个人,往往还是我们的密友[1]。在现在这样一个快节奏的时代,面对面交流,对于快速地结交好友而言,效率显然有些低下。&br&&br&我们期望“结识新朋友,不忘老朋友”。可事实上,我们正处在一种“难交新朋友,忘却老朋友”的尴尬处境中。现在社交网络类的网站和软件,正在努力地帮我们改变这种尴尬的处境。通过社交网络,我们可以添加相当多的好友,数百个甚至数千个。这似乎解决了我们的问题,但这只是表面现象:实际上,我们还是管不过来。在一个成熟的社交网络中,用户的平均好友数仅为120-130。当好友数超过150-200,有些好友几乎就认不出来[1]。这昭示了一个可笑的,但是却不得不让人接受的事实:社交网络的确进化到了21世纪,可是我们大脑,并不比几千年前有多大的改观。看起来,顿巴数就像个魔咒。尽管我们做了很多努力,仍然摆脱不了。&br&&br&可是,为什么我们不直接把我们的生活圈子(包括过去的、当前的、正在进入的)直接地在社交网络中列出来呢?那样的话,我们就可以很好地管理和识别我们多年来积攒的好友,有些也许已经淡忘,但是当把他们放回到他们所在的圈子中时,那些忘却的姓名将再度清晰;我们也可以利用圈子中人脉的力量,去寻找失散多年的好友;我们也可以跟旧时的玩伴分享现在的故事,他们也一定很渴望知道我们的近况;当我们进入一个新的环境,只需要加几个QQ好友,圈子就能为我们展示更多的潜在好友,帮助我们快速地融入新的环境……是啊,为什么不呢?&br&&br&QQ圈子,就这么诞生了。&br&&br&&br&&b&理念到实现的距离&/b&&b&&/b&&br&&br&理念到实现的距离,是一个合适的技术方案。QQ圈子的计算思想很简单:第一步,找到可能的圈友;第二步,分圈。&br&&br&寻找可能的圈友,相对来说比较简单。众所周知,QQ使用的账号是QQ号码。正是QQ号码,天然地成为了寻找好友的障碍——因为我们并不知道他们的QQ号码是多少。但是,我们相信,如果他们有QQ号码,总会有人知道。而这些人,就藏在我们的好友列表中。换句话说,那些失散多年的好友,很有可能就藏在我们的好友的好友(下文称为潜在好友)中。经过长期的数据分析和评估,我们最后做了个简单而又有效的设定,那就是把我们的圈友限定在好友和与我们关系紧密的潜在好友中。基于这个圈友列表,我们又设计了一套严谨的清洗、筛选和过滤算法。设计这些清洗、筛选和过滤算法的目的,一是为了保护隐私,二是为了提高推送的准确度。&br&&br&分圈是最关键,也是最难的步骤。在真实的社交网络中,同一个圈子的人彼此熟识,而不同圈子的人之间,却鲜有交情。映射到QQ的账号体系中,这就等价于,同一个圈子的人互相加为好友,而不同圈子的人则彼此为“陌生人”。这一从现实生活中得来的经验,是我们整个分圈算法的基本假设。&br&&br&其实,基于这一假设的分圈算法并不罕见。学术界对与社交网络的分圈算法早有研究,其中较为流行的是Newman等人提出的分圈算法[3, 4]。我们在初期也尝试了Newman等人的方法,却发现这个算法比较消耗计算能力,而分出来的效果,远远达不到我们的要求。我们还尝试了文献中的另外一些方法,如Raghavan 等人[5]的一种随机扩散算法等。Raghavan 等人的算法大幅度地减少了运算量,可惜分出来的效果,仍然达不到我们的要求。我们想要展示的圈子,要更好一些,更准确一些。&br&&br&最后我们决定自己开发一套算法。经过长时间的尝试和实验,我们设计了一种“找朋友”算法。如同已有的社交网络分圈算法,“找朋友”算法只使用了QQ号码之间是否为好友这一最简单而直接的数据。这一算法的计算相对简单,效果却优于我们尝试过的所有方法。在算法里,每个圈子都在通过“找朋友”让自己变得更好。这里“好”的标准,也就是让圈子内的好友联系尽可能地紧密,而与圈子外的好友则尽可能地没有联系。&br&&img src=&/48ecdf8c9da3f703e3afd_b.jpg& class=&content_image&&&br&能让大家更好地识别圈子和圈友,我们还设计了特别的算法,尝试为圈子和圈友提供参考名称。在算法设计的过程中,我们花了相当多的时间和精力去保护隐私。例如,在一个圈子里,只有大部分圈子成员对某一个圈子成员都使用严格相同的备注名,这个备注名才会被聚合出来。而且这个备注名也仅仅只展现给这个圈子中的核心成员。所有的名称也都经过了非常严格和全面的脏词、敏感词等的过滤。此外,我们还基于小世界网络的理论[6, 7]精心设计了圈友的排序。我们还做了智能备注这样的功能,如果你愿意,可以快速地将圈子上的备注名复制到QQ的好友列表中……&br&&br&&br&&b&新的开始&/b&&b&&/b&&br&&br&我们所做的一切,都是为了帮助我们有限的大脑来应对现在多变的社交环境。QQ圈子将会是一个智能的平台。这个平台可以辅助我们做很多琐碎的,有时也很困难的事情:譬如分组,备注,寻找好友。这个平台可以集成好友的通信方式,也能集成好友的消息动态,省去我们到处检索和浏览的精力。这个平台可以帮助我们维系现有关系,重拾失散的好友,也能帮助我们探索更多好友,拓展我们的社交网络。这个平台能帮助我们盘活我们的社会资本,为我们的生活带来更多的精彩!&br&&br&QQ圈子,将是一个崭新的开始!&br&&br&&br&&b&参考文献:&/b&&br&1.
Dunbar, R., &i&You’ve Got to Have (150) Friends.&/i& The New York Times, The Opinion Pages, 2010.&br&2.
Dunbar, R., &i&How Many Friends Does One Person Need?: Dunbar's Number and Other Evolutionary Quirks&/i&. 2010: Harvard Univ Pr.&br&3.
Newman, M.E.J., &i&Modularity and community structure in networks.&/i& Proceedings of the National Academy of Sciences, 2006. &b&103&/b&(23): p. 8577.&br&4.
Newman, M.E.J. and M. Girvan, &i&Finding and evaluating community structure in networks.&/i& Physical review E, 2004. &b&69&/b&(2): p. 026113.&br&5.
Raghavan, U.N., R. Albert, and S. Kumara, &i&Near linear time algorithm to detect community structures in large-scale networks.&/i& Physical review E, 2007. &b&76&/b&(3): p. 036106.&br&6.
Adamic, L., &i&The small world web.&/i& Research and Advanced Technology for Digital Libraries, 1999: p. 852-852.&br&7.
Collins, J.J. and C.C. Chow, It’s a small world. Nature, 84): p. 409-410.
QQ圈子:从哪里来,到哪里去摆脱顿巴数的魔咒社交是人类的一个最基本的需求。但是,自然给我们人类的大脑,只能让我们维系150-200个左右的好友。超出这个范围,就会有好友慢慢地被淡忘。很多社会群体的平均大小是150,这个数也被称为顿巴数(Dunbar Number…
来自子话题:
近月研究过 Grisu,就在这里简单说两句。&br&&br&Grisu 是把浮点数转换为字符串的算法。在Chrome里执行这段Javascript实际上就调用了Grisu。&br&&br&&div class=&highlight&&&pre&&code class=&language-js&&&span class=&nb&&document&/span&&span class=&p&&.&/span&&span class=&nx&&write&/span&&span class=&p&&(&/span&&span class=&mi&&1&/span&&span class=&o&&/&/span&&span class=&mi&&3&/span&&span class=&p&&);&/span& &span class=&c1&&// 0.3333&/span&
&/code&&/pre&&/div&&br&这个问题看似简单,实际上是很复杂的事情。&br&&br&在1980年之前,许多C语言标准库中的 printf() 都会产生「不正确」的结果。Coonen在那时候做了相关的博士研究[1],但并没有受到广泛的知悉和应用。1990年Steele等人发表了名为Dragon4的算法[2],通过使用大数运算来确保精确的转换。而这个算法应用在大部分C程序语言库的 printf(),以及其他用 printf() 来实现这功能的语言之中。&br&&br&这样就20年过去,虽然中间有一些小改进[3][4],但基本的思路仍然是这样。到了2010年,Loitsch发表了Grisu算法[5],而V8也实现了这个算法。&br&&br&该篇文章阐述了3个算法,分别是原始的Grisu,及其改进版Grisu2和Grisu3。Grisu算法比Dragon4等算法优越的地方就是一个字──快。以下简单介绍一下它们的特点。&br&&br&首先,什么是「正确」的转换?其定义是,一个浮点数转换成的十进位字符串之后,该字符串可以完美的转换回去原来的浮点数,如果用C语言来描述的话:&br&&br&&div class=&highlight&&&pre&&code class=&language-c&&&span class=&c1&&// 除+/-inf及NaN外的浮点数都应该传回true。&/span&
&span class=&n&&bool&/span& &span class=&nf&&Verify&/span&&span class=&p&&(&/span&&span class=&kt&&double&/span& &span class=&n&&d&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&n&&assert&/span&&span class=&p&&(&/span&&span class=&o&&!&/span&&span class=&n&&isnan&/span&&span class=&p&&(&/span&&span class=&n&&d&/span&&span class=&p&&)&/span& &span class=&o&&&&&/span& &span class=&o&&!&/span&&span class=&n&&isinf&/span&&span class=&p&&(&/span&&span class=&n&&d&/span&&span class=&p&&));&/span&
&span class=&kt&&char&/span& &span class=&n&&buffer&/span&&span class=&p&&[&/span&&span class=&mi&&32&/span&&span class=&p&&];&/span& &span class=&c1&&// 足够大么?&/span&
&span class=&n&&dtoa&/span&&span class=&p&&(&/span&&span class=&n&&buffer&/span&&span class=&p&&,&/span& &span class=&n&&d&/span&&span class=&p&&);&/span& &span class=&c1&&// 双精度浮点数转换至字符串,是double-to-ascii,不是dota&/span&
&span class=&kt&&char&/span&&span class=&o&&*&/span& &span class=&n&&end&/span&&span class=&p&&;&/span&
&span class=&kt&&double&/span& &span class=&n&&d2&/span& &span class=&o&&=&/span& &span class=&n&&strtod&/span&&span class=&p&&(&/span&&span class=&n&&buffer&/span&&span class=&p&&,&/span& &span class=&o&&&&/span&&span class=&n&&end&/span&&span class=&p&&);&/span& &span class=&c1&&// 字符串转换至双精度浮点数&/span&
&span class=&k&&return&/span& &span class=&o&&*&/span&&span class=&n&&end&/span& &span class=&o&&==&/span& &span class=&sc&&'\0'&/span& &span class=&o&&&&&/span& &span class=&n&&d&/span& &span class=&o&&==&/span& &span class=&n&&d2&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&br&如前所述,Dragon4使用大数运算,还涉及动态内存分配(你知道printf()里可能会做malloc()么?)。而Grisu则不需要,只需要用到64位整数运算便可以实现转换!所以那篇文章题目就以&... with integers&作结尾。&br&&br&Grisu 的算法非常简单,但它有一个缺点,就是其结果并不像是给人看的。如文中的例子,Grisu 把 0.3 的打印成 99998e-17。这是「正确的」转换结果,它可以通过 Verify() 验证。&br&&br&虽然该算法非常快,但一般人大概不会接受这样的结果。作者也因此研发出改进版本Grisu2,在使用64位整数实现 double 的转换时,可以利用额外的 64 - 53 = 11 位去缩减转换的结果(53为double的尾数位数)。Grisu2可以把&99.9%的浮点数转换成最短的「正确」字符串,其馀&0.1%的浮点数仍然是「正确」的,但不是最短的答案。&br&&br&也许一般人就见好就收了,不竟已证明算法的正确性,只是有那么&0.1%情况未达至最完美的结果。不过该作者还是继续研究出 Grisu3。Grisu3并不能解决那一小撮麻烦制造者,但它能在计算期间侦查到哪些 double 在这算法中未能得出最优的结果。既然办事快捷的小部门搞不定,就可以把它交给Dragon4或其他较慢的算法。&br&&br&V8 里实现了 Grisu3 以及大整数的算法(我不肯定是Dragon4还是其他),后来Google也把它分离成为一个独立的C++程序库 &a href=&/p/double-conversion/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&/p/double-conversion/&i class=&icon-external&&&/i&&/a& 。&br&&br&为了优化 RapidJSON (&a href=&/miloyip/rapidjson& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&miloyip/rapidjson 路 GitHub&i class=&icon-external&&&/i&&/a&) 的浮点数转换,也由于 RapidJSON 是仅需头文件的JSON库,我就按 Loitsch 的实现编写了一个 Grisu2 的头文件库,可以在 &a href=&/miloyip/dtoa-benchmark& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&miloyip/dtoa-benchmark · GitHub&i class=&icon-external&&&/i&&/a& 取得,那里还比较了多个 dtoa() 实现的性能。因为 Grisu3 需要另一个更庞大的大数实现,而暂时 RapidJSON 不需要最优结果,所以就仅实现了一个性能更好及更简短的 Grisu2。&br&&br&加入了 Grisu2 之后,RapidJSON 的 JSON 字符串化(stringify)性能远超其他 JSON 库。没想到读到最后是广告吧。&br&&br&[1] Coonen, Jerome T. &an Implementation Guide to a Proposed Standard for Floating-Point Arithmetic.& &i&Computer&/i& 13.1 (1980): 68-79.&br&[2] Steele Jr, Guy L., and Jon L. White. &How to print floating-point numbers accurately.& &i&ACM SIGPLAN Notices&/i&. Vol. 25. No. 6. ACM, 1990. &a href=&/files/p372-steele.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/files/&/span&&span class=&invisible&&p372-steele.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&[3] Gay, David M. &Correctly rounded binary-decimal and decimal-binary conversions.& &i&Numerical Analysis Manuscript&/i& 90-10 (1990). &a href=&/REFS/rounding.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/REFS/rounding.&/span&&span class=&invisible&&pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&[4] Burger, Robert G., and R. Kent Dybvig. &Printing floating-point numbers quickly and accurately.& &i&ACM SIGPLAN Notices&/i&. Vol. 31. No. 5. ACM, 1996. &a href=&http://www.cs.indiana.edu/~dyb/pubs/FP-Printing-PLDI96.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cs.indiana.edu/~dyb/pub&/span&&span class=&invisible&&s/FP-Printing-PLDI96.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&[5] Loitsch, Florian. &Printing floating-point numbers quickly and accurately with integers.& &i&ACM Sigplan Notices&/i& 45.6 (2010): 233-243. &a href=&http://www.cs.tufts.edu/~nr/cs257/archive/florian-loitsch/printf.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cs.tufts.edu/~nr/cs257/&/span&&span class=&invisible&&archive/florian-loitsch/printf.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&-------------------&br&补充答案:其实正确的dtoa()实现只需要char buffer[26](包括'\0')。&br&再补个图:测试不同算法/实现下的性能(VC2013 64-bit),fpconv、grisu2、milo 都是 Grisu2 的实现,doubleconv 是V8 的 Grisu3 实现。milo 对 sprintf 的加速比约是 9x。&br&&img src=&/109b52be2ffb877afb4706_b.jpg& data-rawwidth=&900& data-rawheight=&338& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&/109b52be2ffb877afb4706_r.jpg&&
近月研究过 Grisu,就在这里简单说两句。Grisu 是把浮点数转换为字符串的算法。在Chrome里执行这段Javascript实际上就调用了Grisu。document.write(1/3); // 0.3333
这个问题看似简单,实际上是很复杂的事情。在1980年之前,许多C语言标准库中…
来自子话题:
看了所有的答案,真心觉得很悲哀。&br&有几个答案是认真回答题主问题的?都是摆出一份教训小孩的姿态,不是嘲笑就是戏谑。什么“楼主拿了图灵奖要请吃饭”,“诺贝尔数学奖是你的”,且不说论文本身,就算人家拿了图灵奖,凭什么要请你吃饭?你给过人家帮助和指示了么?&br&我看题主是刚注册的账号,看样子刚来知乎,第一次问问题就碰到这种场面,真心觉得现在的知乎里面的年轻人太浮躁,都太看不起别人。&br&大三的学生往往刚刚接触科研,没有发过论文,对论文格式排版不是很清楚,有这种疑问很正常。&br&&br&针对你的问题:&b&我大三,学计算机,写了一篇paper,并上传到arxiv上面,但是为什么老师说先把paper在arxiv上删掉?&/b&&br&&br&你对论文大体的结构还是了解的,最起码知道有Abstract, Keywords ,References……&br&你需要注意一下的是论文的排版和格式,现在国际上主流的论文一般都采用LaTeX投稿,具体关于为什么大家都用LaTeX而不是Word,题主可以看这里&a href=&/question/& class=&internal&&LaTeX 相对于 Word 有什么优势?&/a&&br&你在题目中最后提到“还有只是老师,不是导师,不负责教我写论文”,我不清楚他对你论文有没有指导,如果你受过他的指导,那么你应该也把他的名字写进你的论文,我看你传到arxiv上的并没有,还有论文发表之前应该和老师沟通一下,以后你要投到期刊的话更是如此。&br&&br&因为我不是研究算法的,所以不好对内容进行评判,我尽我所知所能回答了这些。&br&&br&希望你继续努力。
看了所有的答案,真心觉得很悲哀。有几个答案是认真回答题主问题的?都是摆出一份教训小孩的姿态,不是嘲笑就是戏谑。什么“楼主拿了图灵奖要请吃饭”,“诺贝尔数学奖是你的”,且不说论文本身,就算人家拿了图灵奖,凭什么要请你吃饭?你给过人家帮助和指…
来自子话题:
设置两个指针,p1,p2, 开始p1,p2均位于链接的头部。&br&p1 每次步进两步,&br&p2 每次步进一步&br&当p1到达链表的末尾时,p2所在的位置就是链表的中间元素
设置两个指针,p1,p2, 开始p1,p2均位于链接的头部。p1 每次步进两步,p2 每次步进一步当p1到达链表的末尾时,p2所在的位置就是链表的中间元素
来自子话题:
如果你想看递归的效果, 请点 &a href=&/question/& class=&internal&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/question/2050&/span&&span class=&invisible&&7130&/span&&span class=&ellipsis&&&/span&&/a&&br&如果你想看递归的解释, 请点 &a href=&http://zh.wikipedia.org/zh/%E9%80%92%E5%BD%92& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&zh.wikipedia.org/zh/%E9&/span&&span class=&invisible&&%80%92%E5%BD%92&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&否则我默认你已经懂递归的意思了
如果你想看递归的效果, 请点 如果你想看递归的解释, 请点 否则我默认你已经懂递归的意思了
来自子话题:
谢&a data-hash=&ed1bfc56a72a7a237a33eb0ca490b598& href=&/people/ed1bfc56a72a7a237a33eb0ca490b598& class=&member_mention& data-editable=&true& data-title=&@David Chang& data-tip=&p$b$ed1bfc56a72a7a237a33eb0ca490b598&&@David Chang&/a& 邀请,前两天我看到这一篇新闻的时候,觉得这位小编真不容易,面对各种跟天书一样的专业概念,不仅要写新闻还要翻译英文材料,还很多翻译错误,我估计他写完了以后也不知道自己在写什么。&br&&br&今年九月底的时候,在某t打头的微博网站上,看到一个朋友提及一篇题为《&a href=&.cn/i//.shtml& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&美国安局曾向国际通用加密技术植入后门&i class=&icon-external&&&/i&&/a&》的新闻,文中提到当时斯诺等泄漏的文件显示NSA(美国国家安全局)曾经向某加密算法植入后门。文中并未提及是什么算法,他问我是不是指的是SSL。然后我查询了当时的一些新闻,发现这个算法指的是&a href=&http://en.wikipedia.org/wiki/Dual_EC_DRBG& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Dual_EC_DRBG&i class=&icon-external&&&/i&&/a&。&br&&br&Dual_EC_DRBG是一种&b&伪随机数生成算法&/b&,利用的是双椭圆曲线,用于生成随机密钥。该算法中使用了一个常数Q,但是标准中并未提及选择这个常数的原因,因此,Dual_EC_DRBG和DES一样,因为常数来源不明而被怀疑有问题。不过DES尽管几十年来大家都怀疑有后门,但是从来没有人找出来后门是什么。&br&&br&Dual_EC_DRBG就比较不幸了,2007年8月,两名微软的研究人员Dan Shumow和&a href=&http://en.wikipedia.org/wiki/Niels_Ferguson& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Niels Ferguson&i class=&icon-external&&&/i&&/a&就发现,Dual_EC_DRBG算法&u&可以被植入后门&/u&[1]。他们提到,如果算法中使用的常数经过特殊选择,并且用来选择这些常数所使用的数据被算法设计者保存下来,那么该算法设计者在知道该算法生成随机序列的前32个字节的情况下,可以预知未来所有生成的“随机”序列。同时这两名研究人员也指出,该算法只是存在植入后门的可能,因为不知道算法的设计者是否知悉该缺陷,也不知道该算法的设计者是如何生成常数Q的,所以也无法确定他们是否能够知道那些后门数据,该结论&b&不能认定&/b&NIST有意在该算法中植入后门。文章中提到解决该问题的方法是自行重新生成常数Q。&br&&br&到了2013年9月,斯诺登曝光出文件之后,似乎基本可以确定NSA设计了一个带有缺陷的随机数生成算法并通过NIST确立为国家标准。12月份,路透社披露,NSA通过买通RSA公司,将Dual_EC_DRBG作为Bsafe中的首选随机数生成算法。&br&&br&按照&a href=&/security/rsa-bsafe.htmBsafe& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&RSA公司对BSAFE的介绍&i class=&icon-external&&&/i&&/a&,BSAFE是RSA公司开发的一个面向开发者的软件工具。开发者可以将BSAFE嵌入到程序中,使得他们开发的程序获得一些安全特性的支持,包括加解密、证书颁发、SSL等。在存储、通信过程中使用加解密算法时,使用有缺陷的伪随机数生成算法所生成的加解密密钥,有可能被攻击者预测到,从而使得保护的秘密泄漏。&br&&br&RSA算法是由麻省理工学院的三位知名的犹太裔密码学专家Ron Rivest、Adi Shamir和Leonard Adleman于1977年首次发表,是一种集密钥交换和数字签名功能于一身的公共密钥密码算法(Public-key cryptography,文中错译为“公众密钥密码算法”)。三人于1982年成立RSA Security公司,开展密码算法、数字签名等业务。2006年,RSA公司被EMC公司以21亿美元的价格收购。&br&&br&RSA算法虽然是RSA公司研制的,但是数学原理简单清晰,并经过长时间的学术界和工业界的研究和考验,是可信赖的公钥加密算法,并且没有植入后门。文中配图所提到的SecurID,也是RSA公司的产品,国内不少银行外观类似的动态口令设备是RSA公司的产品。但是由于不知道这类设备使用的动态口令生成算法是否是Dual_EC_DRBG,所以无法确定是否存在动态口令被预测的情况。另外值得一提的是,大约是2011年RSA出过一次SecurID的种子泄漏的事故,但是不知道那次事故泄漏的数据能够预测多少SecurID的动态口令。&br&&br&新浪的那篇新闻中,小编混淆了RSA公司、RSA算法和RSA公司的密码产品。那位所谓的匿名安全砖家也是混淆视听,&b&RSA算法是安全可靠并且值得信赖的&/b&;而RSA公司的其他安全产品,如果使用了Dual_EC_DRBG算法生成随机密钥,那么将有严重的安全隐患,没有使用该算法的产品安全性不好直接通过此次事件认定,需要对算法细节做更多的评估。&br&&br&Ron Rivest是知名的密码学家,图灵奖得主。除了RSA算法之外,他发明的RC系列(RC2、RC4、RC5、RC6)和MD系列(MD2、MD3、MD4、MD5、MD6),也都是RSA公司的产品,都非常有知名度,并且在业内广泛使用,也都没有怀疑存在后门。&br&&br&结合学术界流传已久的关于DES存在后门的“阴谋论”,有如下结论:除了一些知名的密码学的大牛,普通人和工程人员很难知道和验证一个密码学算法(包括加解密算法、摘要算法、随机数生成算法)是否存在后门和缺陷,我们应当&b&避免使用实现中使用的参数来路不明的算法和最新推出性能和效果尚不明确的算法&/b&,优先使用久经考验、广泛接受并被学术界认可的算法&br&&br&[1] Dan Shumow, Niels Ferguson. On the Possibility of a Back Door in the NIST SP800-90 Dual Ec Prng. &a href=&http://rump2007.cr.yp.to/15-shumow.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&rump2007.cr.yp.to/15-sh&/span&&span class=&invisible&&umow.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
谢 邀请,前两天我看到这一篇新闻的时候,觉得这位小编真不容易,面对各种跟天书一样的专业概念,不仅要写新闻还要翻译英文材料,还很多翻译错误,我估计他写完了以后也不知道自己在写什么。今年九月底的时候,在某t打头的微博网站上,看到一个…
来自子话题:
是不是笑話不好說,畢竟每個人笑點不同。但個性化閱讀是假話。&br&&br&先說字面意思:個性化閱讀是跟個性最無關的閱讀。越有個性的人,越是主動型讀者,也就越不需要程序算法來幫他推薦該讀什麼。(英文原文 personalized reading 翻譯成「個人化的閱讀」更準確。)甚至,被機器猜中閱讀口味,對於有個性的人來說,有時是一件不爽的事。(「怎麼這麼容易就被妳猜中了!?」)&br&&br&個性化閱讀,講究的是根據讀者的行爲習慣和過往的閱讀經歷來爲他「定製」內容。這並非新事物。日本漫畫雜誌連載時根據讀者的反饋決定哪部漫畫會被停掉,即爲一例。&br&&br&互聯網的信徒認爲,用戶做什麼比說什麼更真實地反應了他的意圖。但從目的上講,互聯網產品根據用戶的實際行爲來進行自我調整,與傳統媒體根據用戶用紙筆寫下的意見來進行自我調整,並無二致:都是爲了讓用戶能更多地看到他感興趣的內容,更少看到他不感興趣的內容。&br&&br&但「興趣」並非靜態的死物。興趣的擴充是保持一個人精神活力的前提。我們說互聯網是革命性的,恰恰就因爲它降低了擴充興趣和視野的成本。革命,是讓本來沒有機會獲得某種東西的人獲得這種機會。互聯網給了我們這個機會。&br&&br&但互聯網的革命已經結束,如今是收割果實的時代,是個性被共性擠壓的時代。「社交」的火爆很能說明問題。社交的需求源於人的孤獨,目的是尋找共性,而非凸顯個性。&br&&br&共性是內容可以被定製的前提。爲世界上每一個連網的人單獨定製內容是不可能的,因爲根本就沒有那麼多種獨一無二的內容。甲感興趣的內容,一定也會有別人感興趣。個性化閱讀旨在定義「對某一類內容感興趣的羣體」,並爲他們製造 Eli Pariser 所說的「The Filter Bubble」,一個乾淨無菌的氣泡,將所有被定義爲「我不會感興趣的」內容隔離開來。&br&&br&當然,被個性化閱讀產品整合的所有媒體本身也都是一個個 Filter Bubble。儘管手法不同,但雜誌主編也像互聯網產品的運營者一樣,研究用戶(讀者)的特點,收集他們的反饋,據此改善產品。《男人裝》的長期讀者知道自己能從新一期《男人裝》上讀到什麼,他的期待會被滿足,更重要的是:他知道自己的期待會被滿足。&br&&br&恰恰是這種篤定的安全感,讓他產生了衝破 Filter Bubble 的慾望。當我們說「現在的雜誌沒東西看了,還不如上網看」時,表達的難道不正是衝破氣泡的意願嗎?&br&&br&而現在,個性化閱讀產品要製造新的氣泡,並稱之爲「個性化閱讀」。我不知道題主所謂的笑話是不是這個意思。&br&&br&接下來最核心的問題是:同一批廣告主,能養活多少層的內容聚合產品?(以後會不會有聚合 Flipboard 和 Zite 的產品出現?)對此我沒有觀點。
是不是笑話不好說,畢竟每個人笑點不同。但個性化閱讀是假話。先說字面意思:個性化閱讀是跟個性最無關的閱讀。越有個性的人,越是主動型讀者,也就越不需要程序算法來幫他推薦該讀什麼。(英文原文 personalized reading 翻譯成「個人化的閱讀」更準確。)…
来自子话题:
如果高考要考大概沒問題。
如果高考要考大概沒問題。
来自子话题:
四个月前刚好为了穷举密码写过一个验证码识别模块,先挖个坑,随便写一些,我也会尽量写得浅显易懂一些,过几天有时间再慢慢填。&br&题主一共提了4个问题,我的答案都是根据这4个问题回答的,想了解更多可以看其他答案。&br&&img src=&/ac4a2dded7d04e62309a3a_b.jpg& data-rawwidth=&614& data-rawheight=&107& class=&origin_image zh-lightbox-thumb& width=&614& data-original=&/ac4a2dded7d04e62309a3a_r.jpg&&&br&&blockquote&&ul&&li&&b&&u&机器自动识别验证码的原理是怎么样的?&/u&&/b&&br&&/li&&/ul&&/blockquote&我自己写验证码识别模块的时候是这样的,当然不一定大家都这样写,肯定有更好的算法,我要识别的那个验证码是比较简单地那种,所以这样写就够了。&br&&br&我用Windows的画图工具画了这个张图,用来举个例子:&br&&img src=&/70b8dff124a7fa71a552e_b.jpg& data-rawwidth=&360& data-rawheight=&160& class=&content_image& width=&360&&这是一张分辨率为19*7的图片&br&&br&&ul&&li&1、&b&&u&遍历所有像素点&/u&&/b&(像PHP就是先getimagesize,获取i和j,然后用imagecolorat进行两重循环,就可以得到所有像素点的RGB值数据),&b&&i&&u&然后二值化&/u&&/i&&/b&【比如判断RGB值小于#FFFFFF的(即非白色)时候标记为1,大于等于#FFFFFF(即白色)的标记为0,存进二维数组】,&b&&u&最后得到一个19*7的二维数组;&/u&&/b&&br&&/li&&li&2、&b&&u&删除干扰的点、线&/u&&/b&(干扰像素的特点是不连续,占用的像素点少,可以很容易地设计算法容易过滤,如果干扰像素采用了和验证码正文明显不同的颜色,则可以在第一步二值化中直接去掉。这个例子里没有干扰点、干扰线)&/li&&li&3、&b&&u&把数组里连续的字符切割成一个个独立的字符&/u&&/b&(像下面这个,最右边一列都是0,就可以判断是图像边缘,然后切开,最后可以得到三个类似这样的6*6二维数组。实际切开的话,最右边一列是没有整列都是0的情况的,这里是我特地加上的。)&b&&u&如果字符有旋转的,还得根据边缘把它再给摆直&/u&&/b&&br&&/li&&/ul&&blockquote&0 &b&&i&&u&1 1 &/u&&/i&&/b&&u&&i&&b&1 1 &/b&&/i&&/u&0 0&br&&b&&i&&u&1 1 &/u&&/i&&/b&0 0 &b&&i&&u&1 1 &/u&&/i&&/b&0&br&0 0 0 0 &b&&i&&u&1 1 &/u&&/i&&/b&0&br&0 0 0 &b&&i&&u&1 1 1 &/u&&/i&&/b&0&br&0 0 0 &b&&i&&u&1 1 &/u&&/i&&/b&0 0&br&0 0 &i&&u&&b&1 1 &/b&&/u&&/i&0 0 0&br&0 &b&&i&&u&1 1 &/u&&/i&&/b&0 0 0 0&br&&b&&i&&u&1 1 1 1 1 1 &/u&&/i&&/b&0&/blockquote&&br&&ul&&li&4、然后直接循环&b&&i&匹配已有的&/i&&/b&所有的同字体的&b&&i&&u&数据&/u&&/i&&/b&(同样是二值化数据,这些数据是哪里来的呢?一般是先作完前面3步,然后把那些二值化数据一个个全部复制下来,多刷新十几次获取样本,运气好的话[A-Z],[0-9]就都有了),达到一定的&b&&i&&u&相似度(不要求完全匹配)&/u&&/i&&/b&,就认定这个验证码的其中这个字符是2。&br&&/li&&/ul&&img src=&/c4e154b9b_b.jpg& data-rawwidth=&1365& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&1365& data-original=&/c4e154b9b_r.jpg&&&br&就像这样的数据,开了自动换行,应该比较好认了,摘掉眼镜快速滑动页面也可以比较清楚地看清这些数据的内容。&br&&img src=&/f61fdcad7de19b8d4b8af1c8fd6d7e55_b.jpg& data-rawwidth=&508& data-rawheight=&728& class=&origin_image zh-lightbox-thumb& width=&508& data-original=&/f61fdcad7de19b8d4b8af1c8fd6d7e55_r.jpg&&&br&另外还有一种&b&&u&人肉分布式验证码识别”技术“&/u&&/b&,专门开发一个客户端软件给没事干的大学生打码赚些小钱。服务端获取到验证码后分发给在线的客户端,客户端人肉识别,返回结果。如果在线人数足够多,任务下达后几乎都是秒回的,效率也是不错的,进程等待验证码从人肉识别机上返回的时间就挂起,不怎么占用CPU时间。现在业界人肉打码机大概是这个价。&br&&img src=&/3_b.jpg& data-rawwidth=&695& data-rawheight=&597& class=&origin_image zh-lightbox-thumb& width=&695& data-original=&/3_r.jpg&&&br&&blockquote&&ul&&li&&b&&u&识别不同验证码也分难度等级吗?&/u&&/b&&br&&/li&&/ul&&/blockquote&&b&&i&&u&根据上面的识别原理&/u&&/i&&/b&,可以确定识别难度肯定分等级。从步骤1和2看,噪点多、干扰线条多、背景颜色紊乱的肯定难识别,因为会在二值化那里遇到困难,最容易识别的肯定是噪点少、干扰线条少、背景颜色统一的验证码。&br&不过验证码要达到人可以识别的程度,肯定主体部分(验证码)的RGB值还是有一定的规律的,也就是可以通过一定的判断来二值化。像主体部分,一般颜色要比背景深,根据不同的情况设计算法是可以区分背景和正体的。&br&&blockquote&&ul&&li&&b&&u&什么样的验证码识别起来简单?&/u&&/b&&br&&/li&&/ul&&/blockquote&&img src=&/15ef463bb09f8adb055f01b_b.jpg& data-rawwidth=&348& data-rawheight=&96& class=&content_image& width=&348&&&br&&blockquote&这个是弱验证码的典型,2006年那时候我刚开始做网站开发时,当时最热门的那几个论坛程序就在用这种验证码,现在那几个论坛停更了好多,所以还有不少网站现在还在用这种验证码。&br&&h1&★★☆☆☆☆☆☆☆☆&/h1&&/blockquote&&br&&img src=&/bef5cddb95ed2c0c26bf4_b.jpg& data-rawwidth=&292& data-rawheight=&102& class=&content_image& width=&292&&&blockquote&这个也是弱验证码的典型,比上面那个好不了多少,虽然背景加入了大量干扰点,但是颜色偏淡,可以在二值化中直接设置一个阈值直接干掉,正确的做法应该是加入和验证码本体颜色一致的干扰线和干扰点,理论上说数量越多越好。&br&&h1&★★★☆☆☆☆☆☆☆&/h1&&/blockquote&&img src=&/67a1d8e8ab0eccbb3911_b.jpg& data-rawwidth=&290& data-rawheight=&135& class=&content_image& width=&290&&&blockquote&这个又比上面那个好一些了,干扰点和验证码正文颜色都非常随意,遗憾的都是非常分散的点,很容易被识别出来并过滤掉。如果换成若干条和正文颜色相同、并且与正文交叉的细线会好一些。&br&&h1&★★★★☆☆☆☆☆☆&/h1&&/blockquote&&br&&b&&blockquote&&ul&&li&&b&&u&什么样的验证码识别起来难?&/u&&/b&&br&&/li&&/ul&&/blockquote&&/b&&img src=&/d424cebe4_b.jpg& data-rawwidth=&298& data-rawheight=&185& class=&content_image& width=&298&&&blockquote&难以识别的验证码1:大量背景、线、点干扰,而且字体有一定程度的旋转,&b&&i&&u&连人眼都难以识别&/u&&/i&&/b&的验证码(影响第1、2步的识别),线的干扰在这里起作用比较明显。&h1&★★★★★★☆☆☆☆&/h1&&/blockquote&&br&最难以识别是每个字符都粘连在一起的,这些会在第3步(切割字符)和第4步匹配已有数据(每次的字体扭曲程度都是不同的,难以匹配)时遇到困难。&br&&img src=&/5ba0d6db2_b.jpg& data-rawwidth=&277& data-rawheight=&325& class=&content_image& width=&277&&&blockquote&难以识别的验证码2:没有干扰点、背景也很干净、也没有干扰线,就靠&b&&i&&u&不规则每次都不同的字体&/u&&/i&&/b&和&b&字符粘连&/b&,就可以让写验证码识别的人头疼好久。(影响第3、4步的识别)&br&&h1&★★★★★★★★☆☆&/h1&&/blockquote&&br&&br&另外英文还是比较Naive的,中文识别难度不知道要比英文高到哪里去,以百度贴吧为例:&br&&img src=&/eeb8faa992d9c2adbc5d1_b.jpg& data-rawwidth=&368& data-rawheight=&386& class=&content_image& width=&368&&&br&&blockquote&难以识别的验证码3:&br&1、干扰线&br&2、加粗不加粗混用&br&3、采用了中文常用字。中文常用字大概有5000个,笔画繁复,形似字多,比起26个字母不知道高到那里去!&br&4、不同的字体混用,比如楷体、宋体、幼圆混用&br&5、形近字:”缴“和”激“、”寿“和”寺“等等&br&6、拼音,又是一大杀器&br&7、扭曲字体(”营“字有比较明显的扭曲)&br&8、需要准确识别13位汉字,增加了失败概率&br&(全面影响所有识别步骤)&br&汉字粘连后识别度不如英语高,所以一般汉字验证码都不粘连。&br&&h1&★★★★★★★★★☆&/h1&&/blockquote&&img src=&/aeb2dbcf76b_b.jpg& data-rawwidth=&580& data-rawheight=&547& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/aeb2dbcf76b_r.jpg&&&img src=&/7bb2cda17b45a_b.jpg& data-rawwidth=&313& data-rawheight=&85& class=&content_image& width=&313&&&img src=&/fde0d147dfa60fd932c26a58_b.jpg& data-rawwidth=&333& data-rawheight=&87& class=&content_image& width=&333&&&img src=&/2cfdafddfede9a5d4f89_b.jpg& data-rawwidth=&298& data-rawheight=&78& class=&content_image& width=&298&&&h1&&blockquote&如果把旋转和粘连程度调得非常高的话,机器识别错误率就会很高了(甚至连人的识别错误率都会很高)。好在现代网页大都配备了Ajax验证码检测的判断,因此可以通过网站预留的接口多次尝试判断来获取验证码,1次失败,就试上20次,总有1次能成功的。&br&★★★★★★★★★★&/blockquote&&img src=&/159ad8f84a5c3bf7040dac_b.jpg& data-rawwidth=&490& data-rawheight=&120& class=&origin_image zh-lightbox-thumb& width=&490& data-original=&/159ad8f84a5c3bf7040dac_r.jpg&&因此像这种网站应该做的改变就是通过该Ajax判断接口查询验证码是否正确,如果错误,则清除session中的验证码数据,重新获取验证码。(验证码在登陆页是必须存在的,防止暴力破解弱口令,如果是生日类的8位数字密码,要暴力破解出来实在是太容易了)&/h1&
四个月前刚好为了穷举密码写过一个验证码识别模块,先挖个坑,随便写一些,我也会尽量写得浅显易懂一些,过几天有时间再慢慢填。题主一共提了4个问题,我的答案都是根据这4个问题回答的,想了解更多可以看其他答案。机器自动识别验证码的原理是怎么样的?我…
来自子话题:
多谈一些立场,少谈一些道德。&br&3dm讲得基本正确。&br&正版盗版这个问题不仅是合不合法的问题,更多的和大环境有关。比如我如果生活在台湾,生活在英国,我肯定是一个正版玩家,因为购买的成本很低,而玩盗版可能要付出的成本则非常高。我做出这样的选择,是出于利益计算的结果。反过来,一个美国小朋友要是来到中国,肯定也会不亦乐乎刷机破解玩盗版,这叫入乡随俗。&br&一切都是利益选择的驱动,然后衍生出情怀和道德。&br&什么是道德?勒庞在《乌合之众》里有一句名言——数量,即是正义。&br&在美国人看来自杀袭击是不道德的,在圣战组织看来,这是最高道德的体现。道德在很多情况下,是一个非常狭义的文化概念。&br&在美国,盗版是不道德的,而在中国,打击盗版在很多人看来就是不道德的。&br&别反驳我,打击快播也是。&br&从这个意义上说——&br&&b&道德本身就是不道德的&/b&。&br&所以我不想谈什么合法不合法,道德不道德。&br&这背后其实是消费习惯和文化传统的问题。&br&我作为一个中国人,我从小免费看了这么多电影,玩了这么多游戏,我很幸福。虽然我这几年开始走主机路线,开始买正版,但我觉得我没有任何资格站在道德制高点上对其他人指手画脚。&br&因为道德,实在是一个很自私很low的概念。&br&———————————分割线————————————&br&以下纯粹是回应评论,和盗版已经无关,不妨跳过。&br&这个答案一出,有一两位朋友不是很认同,大致的意思是“你用盗版可以,但你不应该这么理直气壮。“&br&作为一个并非善良的人,在我理解,这句话反过来说就是:我虽然也用盗版,但是我心存愧疚,我依然是一个有良知的人。&br&所以,这个问题的矛盾冲突,已经从”该不该用盗版‘变成了“该不该理直气壮地用盗版”。&br&我虽然在开篇说,多谈一些立场,少谈一些道德。但若是有朋友愿意和我专门讨论道德,我还是很高兴的。&br&我并不想分析这种观点的对错,而是想分析一下这种观点形成背后的逻辑。&br&其实这种道德悖论,孟子在很多年以前就已经讨论过,那便是“君子远庖厨”这一典故的由来。&br&你吃小动物可以,但是如果专门跑到厨房里去看小动物的肢解的过程,就太残忍,太不优雅了。&br&就这个层面而言,我就是这个坏人咯,不仅吃了小动物,看了小动物的肢解过程,还很高兴地拍了视频发微博,引起了其他人的不快。&br&但是这个问题在很多人眼中是不可避免的,难道我没去过屠宰场,我就不知道猪被切割成培根的原理吗?&br&这种情况下,一般有两种解决方法:&br&第一种是逃避,或者像奥威尔在《1984》中所说的那样——双重思维。这是一种非常东方的思维模式,在中国尤其风行——作为学生,一方面指责读书无用,一方面又努力背书考高分。作为公务员,一方面哀叹体制的臃肿丑陋,一方面又在体制内讨生活。作为玩家,一方面愧疚与盗版的不道德,一方面照样免费玩游戏看电影……一种同样是在喝酒,但是众人皆醉我独醒的道德安慰。&br&然而这种远庖厨的君子,反过来,在我这种不乏恶意之人眼中,就是伪善,就是李兰昆德拉所说的刻奇,就是布尔乔亚式的自我感动,就是儒教士大夫道德体系的自我催眠。&br&而第二种方法则跳出道德的文字游戏,纯粹从立场发出发,用理性主义来解释这个霍布斯丛林法则下的社会。&br&当然你也可以说这种人缺乏道德感,没有羞耻之心,自私,冷漠,目无法纪,无所敬畏,反社会人格。&br&两种模式都是对于这个社会的妥协,每个人选择不同,没有绝对的人,也没有静态的人,大部分人都在这两者之间的某个点上摇摆。&br&至于我,只是纯粹挣脱了“要做一个好人”的心理枷锁罢了。
多谈一些立场,少谈一些道德。3dm讲得基本正确。正版盗版这个问题不仅是合不合法的问题,更多的和大环境有关。比如我如果生活在台湾,生活在英国,我肯定是一个正版玩家,因为购买的成本很低,而玩盗版可能要付出的成本则非常高。我做出这样的选择,是出于…
来自子话题:
先说题意:判断一个序列里是不是每一项都是3的倍数。&br&&br&然后说一下题目难以读懂的原因:&b&修辞太多&/b&。&br&&br&出题人显然英语方面的造诣不低,题目中&b&有大量仿词(nonce word)和背景知识(background knowledge)&/b&,如果不了解确实比较难读懂。&br&&br&但这其实不影响做题——做题只需要抓住Qinghuai number定义那几句话即可。&br&&br&在阅读以下内容前,建议题主先看一下百度词条:&a href=&/view/313810.htm?fr=aladdin& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&仿词&i class=&icon-external&&&/i&&/a&。&br&&br&&br&然后我大概翻译一下题目内容(以忠实表达原文为第一要义,为照顾原文语序,有些句子我翻译的不是特别通顺,不过读起来应该能理解):&br&&br&Shamatisan【&b&锤子手机Smartisan的仿词。Smartisan本来是smart + artisan的合成词,取“聪明”和“工匠精神”之意。这里出题人有意嘲讽,用杀马特Shamate + artisan合成一个新词,同时与原词读音相近,不可谓不妙】&/b&是中国一家小有名气的智能手机制造商,他们希望制造出的手机能够与Abble【&b&把p翻成b,谐音仿&/b&&b&Apple】&/b&和Dami【&b&即大米,反义仿小米Xiaomi。这里把苹果和小米并列,也黑了一把小米学苹果】&/b&相竞争——在消费者的心、智、钱包等各个方面。他们有一句著名的广告词:Shamatisan是用Qinghuai——一种英文无法表达的概念——打造的【&b&Qinghuai即“情怀”。出题人没有把它翻译成英文,一方面是英文中不太好找准确的对应词汇,另一方面也故意用这种笨拙的表达来营造一种搞笑的气氛】&/b&。他们最新的手机&img src=&/equation?tex=%5Ctext%7BT%7D%5E%7B-1%7D& alt=&\text{T}^{-1}& eeimg=&1&&【&b&其实指的就是锤子的T1手机】&/b&刚刚开始预定,准确地说【&b&precious应该是出题人的笔误。to be precise是一个短语,表示“确切地说”。前面已经提到了最近lately,后半句话要更具体地解释到底有多近】&/b&,是在这个月刚开始的时候。但是那些在Aripapapa【&b&Alibaba的谐音仿,不过Ari啪啪啪真的好么= =|||】&/b&的在线商城Skyat【&b&其实就是天猫,天Sky + 猫cat的合成词】&/b&上关注这一过程的人们发现了一件有趣的事情,最终导致了官方的正式道歉。&br&&br&那些总是关注“Dami手机会在多少阿秒【&b&这里显然是夸张,出题人故意用这个极小的时间单位来渲染抢购Dami手机的火爆场面】&/b&内销售一空”的人(他们在这个故事里扮演了侦探的角色)发现了一件有关Shamatisan &img src=&/equation?tex=%5Ctext%7BT%7D%5E%7B-1%7D& alt=&\text{T}^{-1}& eeimg=&1&&手机预订数量的不同寻常的事情——预订数总是3的倍数!这个迷案背后到底有什么内在逻辑呢?进一步研究网站的源代码可以发现,预订数被乘了3。在这个发现之后,人们开始调侃3是情怀因子,在Shamatisan内部广泛使用,并开始把能被3整除的数叫做情怀数字。人们还定义了情怀序列:如果一个序列每一项都是情怀数字,那么它被叫做情怀序列。进一步地,人们发现Skyat上有一个特征叫买买买光环,使得所有的预定数都被乘了一个因子(可以等于1)&b&【这里黑了一下天猫把预订数*3去掉以后还有一个*1,必然是有一套系统来对预订数作假】&/b&。流言“任意实数都可以被表示为一个Aripapapa因子(也称作Ari因子)”也流传开来&b&【这一句是笑话某一次天猫上的预订数甚至出现过65922.5&/b&&b&】&/b&。&br&&br&后来,一位Aripapapa的官方发言人说这是一次意外,并发布了官方的道歉声明。这件事被说成是一个程序员做了“一个非常不科学的决定”。作为相应结果,名叫Beiguoxia&b&【汉语拼音:背锅侠】&/b&的主程被开除了。&br&&br&(后面的句子没什么难度,也没有什么梗,就不翻译了。只翻译一下Hints的第二段)&br&&br&对第二组数据,第一个数是Shamatisan的标志&b&【这句是说锤子T1卖3000块】&/b&,第二个是Aripapapa的核心价值&b&【阿里的996:早9点到晚9点,每周工作6天】&/b&,因此我们说,这个数列是用情怀打造的。&br&&br&&br&&br&最后还是要叮嘱一下:好好学英语啊~&br&&br&=============&br&感谢
&a data-hash=&243be093e05c4ebc19621& href=&/people/243be093e05c4ebc19621& class=&member_mention& data-editable=&true& data-title=&@李悟& data-tip=&p$b$243be093e05c4ebc19621&&@李悟&/a&补充Buy Buy Buy Ring是“买买买光环”。
先说题意:判断一个序列里是不是每一项都是3的倍数。然后说一下题目难以读懂的原因:修辞太多。出题人显然英语方面的造诣不低,题目中有大量仿词(nonce word)和背景知识(background knowledge),如果不了解确实比较难读懂。但这其实不影响做题——做题…}

我要回帖

更多关于 水果忍者最高分 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信