关于北大中文系应用语言学(下):从科学到不科学

古代汉语

    古代汉语课没有现代汉语那么科学。古代汉语课的课程主要分为文选和古汉语常识两部分,两大部分交替进行。考试时主要考字形分析、名词解释、课内文选翻译、课外文选翻译、诗词格律分析等。对于我这样的人来说,文选课是从来没听进去过的,一些古汉语知识倒是比较有意思,在这里随便写几个。这些东西可以给大家一个对古汉课所学内容的初步印象。

 
1. 关于入声字。古有平上去入四声,今有阴平、阳平、上声、去声。古代的平声分化为今天的阴平和阳平,古代的上声和去声都保留了下来(有一部分上声字也变成了去声),古入声字消失,今天的四个声调里都分布有古入声字。在绝大多数方言中,入声字都有不同程度的保留。重庆话中,古入声字全部归入二声,因此入声字表里的所有字用重庆方言读全都是阳平。“一”、“七”、“八”三字有变调,也是因为这三字是古入声字,部分语音残留了下来。

2. 古汉课上一个科学的东西是诗词的格律。现在我终于会分析一首诗的格律了。写一首近体诗比你想象中的更困难,你需要考虑到对仗、押韵、平仄等各种格式的约束。平仄的一个基本要求是,上下两句中的平声(既现在除入声字以外的阴平和阳平)和仄声(古代上、去、入三声并称仄声)应该相反,例如“平平仄仄平平仄,仄仄平平仄仄平”。在数词一二三四五六七八九中,只有“三”是平声,其余全是仄声。但诗要求对仗,数词必须和数词相对,也就是说用了一个仄声的数词必须还得用一个平声的数词。而“三”是唯一的平声数词,因此“三”字在近体诗中的使用频率特别高。“千”和“双”也是平声字,它们也经常在近体诗中出现。

3. 古代是没有f这个音的,声母f是后来从b、p中分化而来的。一些古代专有名词的读音原封不动地保留了下来,我们可以据此看出上古语音确实没有f。例如,“阿房宫”的“房”读pang,“番禺”的“番”读pan。有人想过吗,像“鸳鸯”、“仿佛”、“蜻蜓”、“彷徨”一类的联绵词不是双声(声母相同)就是叠韵(韵母相同),但“蝙蝠”两个字声母韵母都不相同。这是因为“蝠”字的读音发生了变化。古时“蝙”、“蝠”二字的声母是相同的。

4. 古时造的字在一定程度上反映了当时的社会背景。很多表示恶劣品行的字都是从“女”旁的,如“嫉妒”、“贪婪”的“婪”、“奸诈”的“奸”(古时“奸”字还没有强奸的意思),这反映了当时“男尊女卑”的落后思想。事实上,“偷”古时写作“媮”,“懒”古时写作“嬾”,“淫”古时写作“婬”。

5. 古代农业生活中,牛占据了相当重要的地位,因此古人造了很多“牛”旁的字来区分各种各样的牛,甚至给不同年龄、不同毛色的牛都分别造了字。“特”是公牛,“牸”是母牛,“犊”是小牛,“犍”表示被阉割的公牛,“牻”表示毛色黑白相杂的牛,“牭”表示四岁的牛……

Read more…

再给大家推荐一些小游戏

    每过一段时间我都会推荐一些自认为有创意的小游戏,后来发现这种游戏推荐日志似乎很受大家欢迎。今天再推荐一些新鲜的小游戏,希望大家同样喜欢。期末考试来临,好多东西要背,接下来几天的更新速度会稍微慢一些。大家暂时靠这些科学的小游戏打发一下时间,折磨一下大脑吧。

http://www.caravelgames.com/Articles/Games.html
首先重点推荐相当科学的系列解谜游戏DROD。这是一款棋盘回合策略解谜游戏,难度非常大。相当多的人宣称,这个游戏是他们“最喜欢的解谜游戏”。我是从Journey to Rooted Hold开始玩的。从官网上下载下来后,一口气玩到了游戏的牛B程度的一阶导数达到最大值的时候,居然试玩结束了,于是不得不在网上苦苦地搜寻完整版。接下来好几天我把能跷的课都跷了,没了命地玩这个游戏。玩到Level 7或者Level 8的时候,一些谜题已经足以让人傻盯着屏幕苦思冥想半个钟头了。印象最深的是某一个房间乍看之下显然无解,我都开始怀疑是不是游戏本身的问题。我把游戏屏幕截下来打印出来,拿到古代汉语课上去接着想。然后看着看着有一瞬间我恍然大悟,一下子全想通了,心里大叫“真妙!真绝!思维定势果然害人不浅啊”。现在我已经打到Level 12了,又引进了好多新的元素,关卡设计相当巧妙,一些房间的解法让人拍案叫绝。DROD: Journey to Rooted Hold一共有25个Level,每个Level里都有十几二十个房间(包括不少的隐藏房间)。游戏中的各种怪物有着不同的性质和行为,让整个谜题更加变化多端。
完整版网上很难找。我非常艰难地从国外BT资源上弄到一个完整版,但是怎么和大家分享呢?

Read more…

记08年北大ACM选拔赛

    早晨7:40的闹铃。到36楼下面见到了我的两个队友后,随便吃了点东西就出发了。
    计算中心门前特别热闹,N多人围在一张大桌子前,好像是在签到。我挤进去找了半天发现没我的名字,名单上全是信科的人。我抬头问,中文的在哪儿呢。一个美女姐姐用手指了远处的一个几乎没人的地方说“中文的在那边”,并说了一句“哇,中文的呀,太牛B了”。我顺着她手指的方向望过去,另一张小桌子前面贴了“中文”二字,桌子后面没有人,估计是交给了旁边负责数院和元培的人,让他们顺便管一下。从我目前所了解的情况来看,那张桌子应该是特别为我准备的,它在历史上很可能是第一次出现。

      
    第四题是做得最顺利的一道题。我把所有题粗略看了一遍后,首先决定就想这道题。题目描述巨简单,就是问你沿对角线把一个正n边形剖分成三角形和四边形有多少种方法。上图显示了n=5时所有的10种方法。熟悉组合数学的人都知道,三角形剖分方案对应的是Catalan数列,其递推公式的推导相当经典。设C(n)表示凸n+2边形的剖分方案数,枚举底边和哪一个点相连(下图左),容易看出C(n) = C(0)*C(n-1) + C(1)*C(n-2) + … + C(n-1)*C(0)。
    
    现在,如果剖分中允许有四边形的出现,又该怎么办呢?看看数据规模n≤5000,估计应该是叫我们寻找类似的递推公式。容易想到,我们可以枚举底边与哪一个点相连构成三角形,统计出底边属于某个三角形的剖分方案T(n)=ΣC(i)C(j), i+j=n-1;再枚举底边和哪两个点相连构成四边形,统计底边在一个四边形上的剖分数Q(n)=ΣC(i)C(j)C(k), i+j+k=n-2。但是,枚举四边形需要O(n^2)的时间,这样的话整个程序就是O(n^3)的了,n=5000绝对超时。那怎么办呢?两分钟后,我想到了一个具有决定意义的点子:计算Q(n)可以直接利用以前算过的T(i)。枚举四边形的两个顶点时,固定四边形的左边那个顶点,你会惊奇地发现右半部分的所有情况加起来正好就是一个T(i) (上图右)。因此,ΣC(i)T(n-i-1)就是我们所需要的Q(n)。
    一个有趣的细节是,这道题要求选手输出结果除以2^64的余数,不知道会不会有人想不到这个该怎么处理;事实上只需要直接用64位无符号类型来运算就可以了,超界了后计算机储存的本来就已经是2^64的余数了。

Read more…

有好吃的!自己动手做Sierpinski饼干

    今天真够郁闷的。上午考高数有三道大题没做,一道题10分。有一道题错的那才叫冤。题目最后解出来应该是a和b的差值,其中a^2 = 16, b^2 = 256。大家能不能猜到我写上去的答案为什么是4?因为我写下a=4后,紧接着毫不犹豫地写下了b=8……我居然还非常仔细地验证了一下,10方是1024,256是8错不了了。高数考完后太郁闷了,以致于古汉课我一句话也没听进去。星期五下午本来没课的,现文史的老师过段时间要出差,于是今天下午集中时间补课。凭借着非凡的意志和勇气,我连续上了三个小时的现文史!自己都佩服自己了。
    最近事情很多。这周末的现汉作业很难,下星期一考线代,下星期五交古汉期中作业,然后就到了现文史第二次论文的最后期限。本来不打算更新的,网上随便逛逛又看到牛B东西了。不知道大家是否还记得那个Geek的DIY饰物?同一个网站上又更新了一个很可爱的东西:Sierpinski饼干。它完全仿照经典分形图形Sierpinski地毯。和其它很多分形图形一样,Sierpinski地毯也是递归地构造出来的。把单位正方形分成九宫格,挖掉中间那一块,然后对剩下的八块重复进行这样的操作,无限次操作后得到的图形就是传说中的Sierpinski地毯。

      

      

    如果哪位MM的男友是一个数学Geek,不妨学着给他做一个。其实,骗数学Geek很简单,不需要花钱买贵重的礼物,很多原创的小玩意儿就能打动他。要是我过生日时有MM送我这个东西,那我高兴死了。