棋子颜色问题

更新时间:2024-05-05 08:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

棋子颜色问题

一 摘要:

二 问题的重述及分析: 1. 问题重述:

任取m枚黑白两色的棋子,任意摆成一个圈;在两个颜色相同的棋子中间插入一枚黑色棋子,在两个颜色不同的棋子中间插入一枚白色棋子,然后去掉原来的棋子,新棋子仍构成一个圈;继续如此下去,如果经过n次这样的操作后,棋子颜色如何变化。 2. 分析:

要将m个黑白不确定的棋子排成一个圈,并根据题目的要求在相同颜色棋子之间放入黑色的棋子,不同颜色棋子之间插入白色的棋子,即黑黑为黑,白白为黑,黑白为白 ,白黑为白。

要将这个实际问题转化为数学问题可以把黑白两色的棋子分别设为两个相关的数字,并使这两个数在运算关系中符合题目的要求,通过计算得出数字之间的关系,假设黑棋子为1,白棋子为-1则1?1=1,(-1)?(?1)=1, 1?(-1)=-1, (-1)?1=-1.那么本题的问题就巧妙的和数学知识联系上了,因此本题就转换成一个数学问题。 三 符号说明: Q : 每行的元素个数。 E :每行元素的指数。

四 模型假设:

1.分别设黑棋为1,白棋为-1。

2.相同颜色之间插入黑棋,即转化为:1x1=1或(-1)x(-1)=1。 3. 相异颜色之间插入白棋,即转化为:1x(-1)=-1或(-1)x1=-1。 4. 至少三个棋子围成一圈。

5. 给出的任意m枚棋子依次编号为1~m。 五 模型的建立与求解:

1?2?3 2?3?1

22 ⑴ 假设有三个棋子给它分别编号为1,2,3构成一个圈。插入两颗棋子之间的棋子颜色由这两颗棋子共同决定。 1 2 3 1×2 2×3 3×1 1×22?3 2?32?1 3?12?2 1?23?33?1 2?33?13?2 3?13?23?3 1?24?36?14?2 2?34?16?24?3 3?14?26?34?1 1?25?310?110?25?3 2?35?110?210?35?1 3?15?210?310?15?2

通过以上推理过程图,可以发现:

当n=1时,棋子颜色由上一行的两个元素决定且其指数依次为1,1. 当n=2时,棋子颜色由上一行的两个元素决定且其指数依次为1 ,2,

1.

当n=3时,棋子颜色由上一行的两个元素决定且其指数依次为1,3 ,

3,1.

当n=4时,棋子的颜色由上一行的两个元素决定且其指数依次为1,

4,6,4,1.

当n=5时,棋子的颜色由上一行的两个元素决定且其指数依次为1 5,

10,10,5,1.

⑵ 再以m=5 ,n=5为例,通过对任意一颗棋子(令这颗棋子为第一

颗棋子)的计算可得到每一次这颗棋子的符号分布如下:

n=1时,得到新棋子的符号决定因素为1×2,其对应指数分布为1,

1.

n=2时,得到新棋子的符号决定因素为1×22?3,其对应指数分布为

1,2,1.

n=3时,得到新棋子的符号决定因素为1?23?33?4,其对应指数分布

为1,3,3,1.

n=4时,得到新棋子的符号决定因素为1?24?36?44?5,其对应指数

分布为1,4,6,4,1.

n=时,得到新棋子的符号决定因素为1?25?310?410?55?1,其对应

指数分布为1,5,10,10,5,1.

由以上具体的两个例子的递推结果可以得到以下一般规律:

n+1 , n

rC n?1 , n

② E=

i?1?mtC?n0?t?n/m, n? m .

(以上两公式推导及证明见附录)

由以上公式可得,各层元素的各指数满足杨辉三角,如下图:

第1行: 第2行: 第3行 第4行 第5行 第6行 第7行 第8行 第9行

1

1 1

1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1

第10行

第11行 1 第12行:1

10 45 120 210 252 210 120 45 10 1

11 55 165 330 462 462 330 165 55 11 1

··· ··· 六 模型评价和改进:

模型的优点:将复杂的棋子颜色变化问题转化为简单的数学逻辑符号问题。整个模型的建立过程应用的数学知识难度不高,数学模型通俗易懂。巧妙的运用递推原理且与杨辉三角相结合,加深了读者对模型的理解。对任意的棋子数都能计算出经过任意次变化颜色的改变。模型具有广泛性。

模型的缺点:由于棋子个数及操作次数的任意性导致数据较多,计算繁琐,运算量大。 七 参考文献: 《》 八 附录: E=

i?1?mtC?n0?t?n/m, n? m . 的证明如下:

当进行n次操作时决定元素符号的m个元素的分布: 1?2?3?4?5?…i?(i+1) ?…m?1?2?3…i?(i+1)?…n i出现的次数为i+mt(0?t?n/m)次,由二项式定理的递推公式

r?1Tr?Cn可

当n=m时:10Cm?21Cm?……?mm?1Cm?1mCm

0mCi=1的指数和为m+Cm即

0tmmCCmC+m=?m0?t?1

当 n=2m时:

10C2m?21C2m?……?m0C2mm?1C2m?1mC2m…2m2m?1C2m?12mC2m.

i=1的指数和为:

?

mC2m ?C2m2m即:

0m2mC2?C?Cm2m2m?0?t?2?tmC2m假设:当n=km时:有

01kC?C?...?C kmkmkm=

0?t?km?tmCkm

则n=(k+1)m时:有

C(0k?1)m?C(1k?1)m?....?C(kk??11)m?以次类推得i的指数为:

0?t?(k?1)mtmC?(k?!)m

0?t?n/mi?1?mtC?n

题目:棋子颜色变化问题

电气0804 叶燕龙 学号:0208103423 摘要:

本文针对棋子状态的变化情况,引入了程序设计、数学建模的有关知识,将其模拟情况与棋子状态变化的实际情况有机地结合起来,在此基础上建立模型,解决一定范围内棋子状态变化的问题。 关键字: 黑白棋 状态变化 模拟算法 1、问题重述 1.1相关信息

任意取黑白两种颜色的棋子N粒摆成一个圆圈。然后在相邻两粒同色棋子中间放一粒黑棋,在相邻两粒异色棋子中间放一粒白棋,放完后撤掉原来的N粒棋子。重复以上过程。 1.2 需要解决的问题 (1) 当棋子个数为8时棋子颜色的变化情况? (2) 当棋子个数为6时棋子颜色的变化情况? 2、问题分析

2.1抽象&化简问题

【Mathematical Modeling】 [1]抽象&化简问题 Step1:

模拟题目放棋子和取棋子的过程中发现,可以将二维平面转化为线性求解。正如生活中的绳子可以截断成一条直线。

Step2: 在模拟的过程中我们还发现,对于不同的棋子之间放上去的是黑色,对于相同的棋子直接放上去的是白色。和二进制运算中的异或(xor )。因此我们可以把该线性问题转化为二进制的异或运算来模拟这个过程。(C语言中异或运算的操作符为:^)

3.1程序流程图

3.2问题求解

64个棋子时的仿真结果

观察64位的测试结果可知,这样的变换实际上是从8位的时候测试得出的结果。观察4位的时候的测试结果:

再观察8位的时候的测试结果:

再观察64位的时候的测试结果可知: 实际上模型是按照 等效于

等效于

}

MAXSIZE=N; temp=1; if (N>=2) { for (int i=1;i<=N;i++) { temp*=2;//计算N个棋子的时候可能的初始状态总数 } temp--; }

for (inFather=0;inFather<=temp;inFather++)//从到^N-1逐个进行模拟 { Step=0; if (inFather==0||inFather==temp) { Output(inFather); Step++; Output(temp); puts(\棋子全部变成黑色\ } else { Father=inFather; Output(Father);//输出初始状态 Inbreed(&Father,&Mother);//繁殖,即进行模拟 } }

本文来源:https://www.bwwdw.com/article/hhfg.html

Top