2007-07-12
我看的书是《组合数学及其算法》(杨振生著,中国科学技术大学出版社 )。感觉书的内容还是比较浅显易懂的,有些问题动下脑筋不难想得出来,目前发现的例外是“整数拆分”那一节,直接用母函数来做,害我想了很久都没想出个所以然,还好看看机械工业出版社的那本《组合数学》才明白,不过窃以为那本的表达又不够好。就目前来说,组合数学还是挺有吸引力的。下面将陆续收集书本中的好题。
先从书本的序里面摘录一段:
计算机科学技术的崛起,正在从根本上改变人类的生产活动和智力活动的面貌,而计算机是一种解决离散系统中事理与计算的武器,它的中心是离散算法的设计与分析,而组合数学及其算法恰为离散数学这一计算机科学基础的骨干内容,所以,每位称职的自然科学和工程技术人员,在不可避免的计算机化的现代大潮中,必须接收足够多的组合数学与算法理论、算法设计的训练。
再从书本的前言里面摘录两段:
组合数学是一个迷人的数学分支,它像一株古老苍劲、而又年轻挺拔的参天大树,根深叶茂,在数学园地上生机勃勃地生长。
组合数学源远流长,它起源于古代的数学游戏和美学消遣,以无穷的魅力激发人们的聪明才智和数学兴趣。随着近代科学技术的发展,组合分析已经成为很多前沿学科的基础,特别是计算机科学的长足进步,给组合数学注入了新的生机和活力,组合数学的离散性及其算法与计算机联姻已在现代科学技术中发挥出极为重要的作用,它在计算机科学、管理科学、电子工程、数字通讯等诸多领域中具有广泛的应用。
作者好感性哦,呵呵。。我权当练习打字。。
*****************************************************************************************************
【例2.20】 有 9 位科学家从事一项秘密工作,他们将文件锁在柜子里,为安全目的,当且仅当 (至少) 5 个人同时在场时,文件柜才能打开,问至少需要多少把锁?每位科学家至少需要多少把钥匙?
解:
因为任何四位科学家(集合 A)在场,至少有一把锁 a 他们不能打开,而另外的任何四位科学家(集合 B)至少有一把锁 b 他们不能打开,而 A != B ⇒ a != b (!= 代表不等于,反设 a = b ,那么由 A != B 知,集合 A U B 中至少有 5 位科学家,他们都不能打开锁 a ,违背了题意,故反设不成立),因此每四位科学家对应一把锁,故至少需要 C (9, 4) = 126 把锁。
对于任何一位科学家,其余八位科学家中,任何四位(集合 A )至少缺一把钥匙 a 而不能打开锁 a ,而另外的任何四位(集合 B )至少缺一把钥匙 b 不能打开锁 b ,而 A != B ⇒ a != b (理由同上),因此每四位科学家对应一把钥匙,故每位科学家至少需要 C (8, 4) = 70 把钥匙。
*****************************************************************************************************
【例2.24】若一个凸十二边形无三条对角线在其内部相交于一点,问这些阿对角线被它们的交点分成多少条线段?
解:
对角线的条数等于 C (12, 2) - 12 = 54 。因为该十二边形是凸的,故每四个顶点对应对角线的一个交点,故所有对角线的交点总数为 C (12, 4) =495 。由于每一个交点在两条对角线上,且一条对角线上的 K 个交点将其分成 K + 1 条线段,故所有对角线被分成的线段总数为 54 + 2 * 495 = 1044 。
*****************************************************************************************************
组合数 C (n, r) 具有下列重要性质:
(1) 2n = C (n, 0) + C (n, 1) + ... + C (n, n)
二项式定理中令 x = 1 ,即可证得。
(2) C (n, r) = C (n-1, r) + C (n-1, r-1)
(3) C (n + r + 1, r) = C (n+r, r) + C (n + r -1, r - 1) + ... + C (n, 0)
用性质 (2) 来分解 C (n + r + 1, r) , 然后不断地分解最后一项,直到分解出 C (n, 0) 为止。
(4) C (n, l) C (l, r) = C (n, r) C(n - r, l - r) , r <= l <= n
(5) C ( n, 0) - C (n, 1) + C (n, 2) - ... + (-1)n C (n, n) = 0
二项式定理中令 x = -1 ,即可证得。
(6) C (0 , r) + C (1, r) + ... + C (n, r) = C (n + 1, r + 1) , r, n >= 0, 另,若 r > n ,则 C (n, r) = 0
用性质 (2) 来分解 C (n + 1, r + 1) ,然后不断地分解第一项,直到分解出 C(r + 1, 0) = 0 为止。
*****************************************************************************************************
待续。。