错位排列问题的机器探索.pdf

错位排列问题的机器探索

位排列问题的机器探索 经许可复制 著作权人姓名: 施洪亮 位排列问题的机器探索 华东师大二附中 施洪亮 在排列组合的学习与教学中,常见这样一类问题:同寝室的三位同学各写了 一张贺年卡,把它们集中放在一起。每位同学从中选取一张,要求自己不拿自己 写的卡,问一共有多少种不同的结果? 解决这道问题是容易的。设三位同学为甲、乙、丙,他们所写的贺卡依次 记为a、b、c。因为甲不能拿卡a,所以甲只能拿卡b 或c。当甲拿卡b 时,乙 只能拿卡c,(否则丙就只能拿他自己写的卡,这不满足要求);当甲拿卡c 时, 丙只能拿卡b,(否则乙就只能拿他自己写的卡,这也不满足要求)。因此符合要 求的拿卡方案为:甲拿b,乙拿c,丙拿a 与甲拿c,乙拿a,丙拿b 共两种。 把这道问题做一下推广,并做一个抽象的概括,就是著名的错位排列问题 亦称更列问题):1,2,3, ,n 的一个排列 a ,a ,a , a ,如果 a ≠ 1 2 3 n i i(i=1,2,3, ,n),则称这种排列为一个错位排列,求错位排列的个数D 。 n 错位问题的数学解决,可以用容斥原理来做,也可以直接构造递推式来求 数列通项。但这些可能已超出高中学生的数学知识范畴,或不易接受。我们发现, 这个问题的实质是计数-在判断前提下的计数。这一特点使我们极易联想起计算 机的机械化操作,如果能够设计一个简易程序进行机器验证与计数的话,我们就 可以解决这一难题。这时,我的学生手上拥有能够编写简易程序的TI-92 图形计 算器。下面,我们一起在TI 技术的帮助下来探索错位排列的机器解决。 高中学生都学习过计算机编程,TI-92 图形计算器的程序设计非常简便。只 需按APPS 键,选中Program Editor 选项,进入 New 菜单 (图1),即可编写程 序。 具体程序的设计思路是:对 n 个元素的错位排列,建立 n 元数组,通过搜 索,找到符合错位排列要求的新数组,加以记录。当搜索完所有数组后,得到的 位排列问题的机器探索 记录数即为所求的D 。 具体程序见附录) n 图1 图2 通过计算,我们得到D =0,D =1,D =2,D =9,D =44,D =165,… 1 2 3 4 5 6 通过程序,我们解决了错位排列的数值答案。但这并不能使学生感到满足。首先, 这个搜索程序运算太慢,计算 D 就需要近半个小时。其次,仅仅有数值结果, 5 并没有揭示错位排列在数学上的知识内涵。于是,我们利用前面的数值结果进行 进一步的探索。 能否利用 D =0,D =1,D =2,D =9,D =44,D =165,…来归纳数列{D}的通 1 2 3 4 5 6 n 项公式或递推公式?借助TI-92 图形计算器的数据编辑功能,我们来可以尝试一 下。 按APPS 键,选中Data Editor 选项,进入 New 菜单,即可进行数据编辑 (图2)。 输入数据,C 表示数列的项数n,C 表示数列的项D 。(图3) 1 2 n 图3 图4 作散点图。(图4、图5)

文档评论(0)

1亿VIP精品文档

相关文档