oyd的专栏

草木竹石皆可为剑

2009年07月02日

原创 习武经历(二)


第二次去,算是拜师了。师父给布置了几个练习让回家每天练习:冲拳训练(包括空拳、墙靶),一摊三伏,胫骨及桡骨硬度训练,其他人还没来,顺便又教了我一招夺刀术。不过夺刀还是很危险的,反应跟不上还是不要去碰的好。

这次来的人比上次少,一个练内家拳的中年汉子,一个是师父的另一弟子,和我年纪差不多,不过身材比我高多了。

我和师父说好以后是隔一周去一次,所以这次练习的内容明显有点多,感觉短时间内消化不了。

接上次对马冲拳的练习,这次着重练习消打合一,就是我方格挡住对方冲拳的同时,另一手冲拳,随即对方格挡开。在单项练习了邋手冲拳,伏手冲拳,拍手冲拳,摊手冲拳后,又教了一个混合的练习,藉由一方喂招,喂招的一方不招不架,只是左一拳右一拳向我方攻来,而我方轮换使用上述单项练习中的任一种进行消打。每挡完一拳后还原为起手式,等待下一拳的到来。

这个练习对我现在来说有点困难了,有种左右互搏的感觉,经常左手一摊的同时,右手应该出拳的却也跟着变掌了。即使是慢慢的练习,我用不了几下就乱套了。
阅读全文>

发表于 @ 2009年07月02日 10:36:00|评论(loading...)|编辑|举报|收藏

2009年07月01日

转载 从Wolff定律看中国人的体质和运动人才年轻化




   Wolff定律告诉我们外形随外界应力的改变而改变,Pauwel在进一步的研究中提出了应力改变的极限性,骨生长随应力的改变界于µ0~µ1 小于µ0的应力则骨吸收停止,大于µ1的应力将发生骨的损害。但至今仍无人提出人类年龄成长过程中µ值的成长规律及成长曲线,停留在经验性的发现和对中国童星及体育运动员较西方年轻化的疑惑中,所以我用数学的模式进行无理由的假设发现了骨科很多研究难题与之有关,同时看到西方骨科理论技术在中国人种的医学实践中的辨证应用正确性。如清创时间、择期手术时间、手术时间、术后功能锻炼开始时间、假体置换后下地时间要求相对宽泛,术后骨质疏松的发生率低和关节肌肉锻炼对康复科的依赖性相对较小,骨折愈合时间较短而不愈合率相对较低,骨质疏松的改变对锻炼程度、运动力量需求程度较小,骨质疏松研究将可能产生误区。中国运动员的选择有其明显的定向和数学规律可遵循,打破单纯经验积累性说法。中国人才走向国际市场也须遵循此规律。
    首先应该明确Pauwel研究适合拓展到动物界骨成长的规律(这里不排除该规律可应用到植物成长对气压的规律研究),对于人类阅读全文>

发表于 @ 2009年07月01日 10:19:00|评论(loading...)|编辑|举报|收藏

2009年06月22日

原创 第一次习武的经历


从小就做武侠迷,用了近20年,终于圆梦了。很好玩,但是没有想象中轻松。

这天,一个练太极的,一个散打的,一个泰拳的,我以及另一个初学者,再加上老师,共六人。

(仅仅备忘,所以记流水账了)
6点多就醒来,7点不到出门,披星戴月,快9点时候,我是第一个到的,和老师聊了聊,先教我站一个桩,说是比传统站法要稳一些。我先按传统姿态站,他横向轻轻一推我就倒了,再按他的站法,前后左右都推了一下,是稳当一些了。

然后又去聊天,等来了另一个初学者,老师让我们先打一个60斤的沙袋做热身。

以前还没打过沙袋,沙袋中段有一个皮结构的外层,另外沙子都沉到最下层去了,所以打时不容易伤手。

早上来的匆忙,穿一双凉鞋就来了,一起脚,踢疼了脚趾头,又不好意思声张,赶紧请教踢的时候用脚的哪个部位。然后老师给我们演示了泰拳、散打、跆拳道的不同踢法,然后又示范了一下他自创的踢法,我觉得站他旁边有一种危险感,那一脚要是招呼到我身上,估计得拦腰折断——夸张了点,进医院是一定的。
阅读全文>

发表于 @ 2009年06月22日 16:47:00|评论(loading...)|编辑|举报|收藏

2009年01月10日

原创 围棋AI之路(五)自然选择过程

上次一个网友建议我用遗传算法,不过当时我没有找到合适的遗传因子,其实根本原因是我那时候正在手工测试程序的棋力,我自己和程序下,发现问题,然后看看怎么改进。这个过程中其实带有太强的主观色彩了,直到一周前我正式摒弃了UCG的想法,我才终于决定用自然选择的方式来测试程序的棋力。阅读全文>

发表于 @ 2009年01月10日 23:41:00|评论(loading...)|编辑|举报|收藏

2008年12月29日

原创 围棋AI之路(四):来自UCG的改进

介绍使用UCG后的改进阅读全文>

发表于 @ 2008年12月29日 14:07:00|评论(loading...)|编辑|举报|收藏

2008年12月27日

原创 围棋AI之路(三)UCT,进来之后才发现是地狱

照例还是先公布代码 http://download.csdn.net/source/913373以及编译好的可执行程序,下载地址:http://download.csdn.net/source/913515 前面介绍的UCT算法听起来很诱人,但是只有你真正去实验一下你才知道原来有这么多问题。 理论上,UCT是一个一致的算法,它可以随着模拟次数的增加而自然提高棋力,而且理论上,它还可以计算到任意深度,而且理论上,它是天然支持并行计算的。 但是,看看它华丽的外衣下面隐藏着哪些东西吧: 一、模拟速度和内存问题 目前的模拟速度是让我满意的,但是内存跟不上,9路棋盘上的5万局模拟+UCT选择,也只需要1秒多时间,10万局也就差不多3秒钟,但是,如果我想持续进行120秒的模拟,1G的内存也是不够用的。阅读全文>

发表于 @ 2008年12月27日 00:11:00|评论(loading...)|编辑|举报|收藏

2008年12月20日

原创 围棋AI之路(二)棋盘的实现

代码先公布:http://download.csdn.net/source/891878
到现在为止,我只实现了一个棋盘,确切的说是在棋盘上随机走棋的速度测试程序,我借鉴了lib-ego,在上面做了一些改进,现在这个棋盘可以使用围棋规则或者五子棋规则。我的目标是让我的AI程序用同样的算法来对待围棋、五子棋甚至小时候玩过的黑白棋,它不需要任何棋类知识,你只要告诉它下棋的规则。我们的脑细胞可曾了解究竟什么是围棋?它们只是机械的执行自己的职能,而亿万个细胞堆叠在一起就使人类会下棋了。
上面说的三种棋的棋盘有一些共同的特点:棋盘是由n行n列的平行线段交叉组成的格子,棋子分黑白两种颜色,棋手分为两方,分执一种颜色的棋子。双方轮流下子,每次下一个子,棋子要下在空的交叉点上(黑白棋似乎是下在格子里,但是应该没有本质区别)。
根据这些特点我们开始设计棋盘的结构。
一、比特棋盘
很想在围棋中使用比特棋盘,就像国际象棋中那样,用一个64bit的数就描述了棋盘上的一种棋子。围棋上尽管也可以做到,例如用一个361bit的数来描述棋盘上的黑棋,另一个361bit阅读全文>

发表于 @ 2008年12月20日 23:37:00|评论(loading...)|编辑|举报|收藏

2008年11月14日

原创 围棋AI之路(一)理论

注:本文其实只介绍mogo程序所采用的MC+UCT算法。记得以前还曾为深蓝击败顶尖人类棋手而暗喜,庆幸自己选择了围棋这一体现人类智慧优越感的游戏。因为人机博弈的设计不外乎两个方面:估值和搜索,而这两者在国际象棋上表现非常好,深蓝仅仅靠的暴力搜索下出的妙手让大师也手足无措,你要不信,去问问卡斯帕罗夫和深蓝对局时什么感受。然后估值和搜索用在围棋上似乎失灵了阅读全文>

发表于 @ 2008年11月14日 19:06:00|评论(loading...)|编辑|举报|收藏

2008年11月09日

原创 字符串匹配算法(四)可以滑动多远

记得在穷举法中,每一趟比较后,无论成与不成,都将模式向右滑动一个位置,然后继续比较。有没有办法能利用之前的比较结果,使得模式滑动的更远一点呢?阅读全文>

发表于 @ 2008年11月09日 16:41:00|评论(loading...)|编辑|举报|收藏

2008年10月31日

原创 字符串匹配算法(三)位运算的魔法——KR与SO

位运算经常能做出一些不可思议的事情来,例如不用临时变量要交换两个数该怎么做呢?一个没接触过这类问题的人打死他也想不出来。如果拿围棋来做比喻,那么位运算可以喻为编程中的“手筋”。按位的存储方式能提供最大的存储空间利用率,而随着空间被压缩的同时,由于CPU硬件的直接支持,速度竟然神奇般的提升了。举个例子,普通的数组要实现移位操作,那是O(n)的时间复杂度,而如果用位运算中的移位,就是一个指令搞定了。阅读全文>

发表于 @ 2008年10月31日 18:53:00|评论(loading...)|编辑|举报|收藏

2008年10月30日

原创 字符串匹配算法(二)穷举与自动机

穷举法又叫暴力法。大多数程序员眼里,它是幼稚的,但大师们不这么认为。自动机的方法其实和穷举法有点相似,都是用最简单直白的方式来做事情。区别在于……阅读全文>

发表于 @ 2008年10月30日 13:45:00|评论(loading...)|举报|收藏

2008年10月29日

原创 字符串匹配算法(一)简介

本文历举当今主要的字符串匹配算法,大致翻译自EXACT STRING MATCHING ALGORITHMS,去掉一些废话,增加一些解释。阅读全文>

发表于 @ 2008年10月29日 15:22:00|评论(loading...)|举报|收藏

2008年10月28日

原创 php调用C代码的方法详解

在php程序中需要用到C代码,应该是下面两种情况:1 已有C代码,在php程序中想直接用2 由于php的性能问题,需要用C来实现部分功能针对第一种情况,最合适的方法是用system调用,把现有C代码写成一个独立的程序。参数通过命令行或者标准输入传入,结果从标准输出读出。其次,稍麻烦一点的方法是C代码写成一个daemon,php程序用socket来和它进行通讯。重点讲讲第二种情况,虽然沿用system调用的方法也可以,但是想想你的目的是优化性能,那么频繁的起这么多进程,当然会让性能下降。而写daemon的方法固然可行,可是繁琐了很多。我的简单测试,同样一个算法,用C来写比用php效率能提高500倍。而用php扩展的方式,也能提高90多倍(其中的性能损失在了参数传递上了吧,我猜)。所以有些时候php扩展就是我们的最佳选择了。这里我着重介绍一下用C写php扩展的方法,而且不需要重新编译php。首先,找到一个php的源码,php4或者php5版本的都可以,与你目标平台的php版本没有关系。在源码的ext目录下可阅读全文>

发表于 @ 2008年10月28日 17:10:00|评论(loading...)|举报|收藏

2008年10月20日

原创 直面经典:重温KMP(不着一图,尽得精髓)

KMP算法,每一个初学者都曾被它搞迷糊,在数据结构教材上,这个算法出现的如此之早,你怎能指望一个还没搞懂二叉树遍历的人来理解KMP呢,记得越快,忘得越快。直到多年以后回过头来看看,这才发现KMP算法如神谕般震撼了我。实在无法想象当初Knuth、Pratt、Morris三人竟然同时发现了它。 我们假设一个场景,你手上拿着一串红蓝两种颜色的珠子,墙上挂着一串更长的珠子,同样是红蓝两色的,你的任务就是找出和你手中珠子排列顺序相同的一段。 最简单也最容易想到的方法,就是从墙上第一颗开始,拿手中的珠子挨个去和墙上珠子去比,都相同那就OK了,不相同再从墙上第二颗开始,以此类推。(文章中我就不给代码了,需要代码的直接跳到正文最后去复制)有人会想:如果我手里的珠子都是红色的,我还用这种方法,我傻呀?对,Knuth当年也是这样想的。你看,假设你手里是连续的100颗红色珠子,墙上从第一颗开始是99颗红色珠子,那么当你比到第100颗你才发现少了一颗,你要从第二颗开始再去数一遍吗?没人会这么做,除了程序员。当然,正常人都要从第100颗之后再去找连续的红色珠子。有阅读全文>

发表于 @ 2008年10月20日 14:45:00|评论(loading...)|举报|收藏

2008年09月22日

原创 软件的价值在哪里?软件根本就没有价值!!

今天听朋友谈起他准备去买个wii,因为想玩某游戏。他为了玩某个游戏愿意花几千块钱买wii,但是我知道,他很难为了某游戏,去花100多买个正版游戏。(这里我省略了一个前提:有盗版的情况下)这让我想起,我以前的公司卖打印机给客户,20多万一台的卖。但是一套软件只要几千块,用户也不愿意买,只能作为打印机的附赠品。其实那家公司是做软件的,只不过软件有个打印功能。我开始思考,为何人们普遍不愿意承认软件的价值,只承认硬件的价值呢?硬件工程师和软件工程师都要每天8小时干活,一样该加班的加班。最后我思考的结果是:不是人们不承认,而是软件根本就没有价值!可是软件有用啊,软件有用那是它有使用价值,马克思说过,商品具有价值,是因为凝结着人类劳动。可是软件也是人用劳动做出来的呀,不错,最开始做一款软件的时候,是需要人的智慧在里面的。可是软件一旦做成后,再次制作该软件的成本就阅读全文>

发表于 @ 2008年09月22日 12:44:00|评论(loading...)|举报|收藏

Csdn Blog version 3.1a
Copyright © oyd