第1次实验——NPC问题(回溯算法、聚类分析)
2014-06-09 15:40
197 查看
1)八皇后及N皇后问题
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。
请编程实现八皇后问题,并把92种解的前三种解输出到屏幕(8*8的二维矩阵,Q代表皇后,X代表空)。并把此问题的求解过程延伸到N皇后问题。
程序代码如下所示:
程序运行结果如下所示:
2)学生聚类分析思考
为了实现因材施教的目标,现教务处计划对学生进行摸底并分类,假如使用K均值聚类算法,并且认为学生大概可以分为四类,分别为“积极主动型”、“学霸型”、“游戏人生型”、“迷茫无目标型”。现在你是该项目的负责人,(1)请设计一个较为完整的项目实施方案;(2)你是否认可对学生进行分类?(3)按照你给定的实施方案与需要测量的要素(如天学习时间),请尝试按照自身情况对其进行回答,以及对自身的评价与定位和努力目标。
解:(1)具体项目实施方案:设计一份调查问卷表,以问卷星的形式对本校在校学生进行调查,再把结果汇集 起来进行分析和研究。问卷调查表的[b]具体内容如下所示。[/b]
1.您的性别( )
A. 男 B. 女
2.您所在的年级()
A.13级 B.12级 C. 11级 D.10级
3.除了双休日,您觉得每天平均拥有多少课余时间?()
A.少于3小时 B.3-5小时(不含5) C.5-8小时(不含8) D.8小时以上
4、你每周的课余时间里您都做些什么?可多选( )
A、学习(包括读课外书) B、睡懒觉 C、逛街、购物聚会 D、兼职或义工
E、和同学闲聊、和同学沟通联络感情 F、打扑克、棋牌等 G、健身、运动
H、上网 I、参加院、系组织的社团活动 J、其他
5.你每周兼职的时间为( )
A.0-2小时 B.2-4小时 C.4-8小时 D.超出8小时
6.你每周的上网时间为( )
A.5小时以下 B.5-10小时 C.10-15小时 D.15-20小时 E.20小时以上
7.你上网一般都在干什么? 可以多选 ( )
A.查阅资料或浏览网页 B.玩游戏或上QQ C.看电视或听音乐 D.逛网店
8.你每周外出大约多长时间( )
A.0-3小时 B.3小时-1天 C.1-2天 D.2天以上
9.你每周体育锻炼时间( )
A.0-3小时 B.3小时-6小时 C.6-9小时 D.9小时以上
10.你参加社团活动的时间( )
A. 比较频繁 B. 有时 C. 偶尔 D. 其他_______
11.你一般与朋友的交往:( )
A. 比较频繁 B. 有时 C. 偶尔 D. 其他________
12.你每周看新闻或关心政事的时间:( )
A.从不 B.每周一两次 C.每天一次 D.时刻关注
13.每周与家人一起的时间(包括视频、电话、见面):( )
A.从不 B.每月一两次 C.每周一两次次 D.每天
14.如果您对现在的课余时间安排感到不满意,那原因是(最多选三项)( )
A.课余时间太少 B.缺乏科学的计划
C.太懒惰,没有付诸行动 D.课余生活不够丰富
E.社团工作占据太多时间 F.自制力不强,容易被诱惑
G.其它
15. 您认为现在课余时间的利用给您带来的影响主要是什么(最多选四项)( )
A.生活井然有序,活得充实而快乐
B.学业上大有进步,掌握了更多的知识技能,开阔了眼界
C.结识了更多的朋友,增进了朋友情谊
D.个人工作能力得到迅速提升
E做兼职增加了社会经验也增加了经济来源
F.经常迷茫,无所事事
G.经常上网,花费了金钱和时间
16. 您认为通过什么方法帮助自己合理安排课余时间最有效?()
A.自己制定时间安排表并严格执行 B.向师长讨教经验
C.跟同门朋友交流,互相监督 D.跟父母反映并寻求父母的帮助
E其他
(2)我认为可以对学生进行分类,这样可以大概确定每个学生所属的类型,有助于学生对自己的认识。
(3)对于上面这份问卷:我的答案是
1.您的性别 (A )
A.男 B. 女
2.您所在的年级( C)
A.13级 B.12级 C. 11级 D.10级
3.除了双休日,您觉得每天平均拥有多少课余时间?( D)
A.少于3小时 B.3-5小时(不含5) C.5-8小时(不含8) D.8小时以上
4、你每周的课余时间里您都做些什么?可多选( AEGHJ )
A、学习(包括读课外书) B、睡懒觉 C、逛街、购物聚会 D、兼职或义工
E、和同学闲聊、和同学沟通联络感情 F、打扑克、棋牌等 G、健身、运动
H、上网 I、参加院、系组织的社团活动 J、其他
5.你每周兼职的时间为( A )
A.0-2小时 B.2-4小时 C.4-8小时 D.超出8小时
6.你每周的上网时间为( D )
A.5小时以下 B.5-10小时 C.10-15小时 D.15-20小时 E.20小时以上
7.你上网一般都在干什么? 可以多选 ( ABC )
A.查阅资料或浏览网页 B.玩游戏或上QQ C.看电视或听音乐 D.逛网店
8.你每周外出大约多长时间(B )
A.0-3小时 B.3小时-1天 C.1-2天 D.2天以上
9.你每周体育锻炼时间( B )
A.0-3小时 B.3小时-6小时 C.6-9小时 D.9小时以上
10.你参加社团活动的时间( C )
A.比较频繁 B. 有时 C. 偶尔 D. 其他_______
11.你一般与朋友的交往:( A )
A.比较频繁 B. 有时 C. 偶尔 D. 其他________
12.你每周看新闻或关心政事的时间:(C )
A.从不 B.每周一两次 C.每天一次 D.时刻关注
13.每周与家人一起的时间(包括视频、电话、见面):( D )
A.从不 B.每月一两次 C.每周一两次次 D.每天
14.如果您对现在的课余时间安排感到不满意,那原因是(最多选三项)( ABD )
A.课余时间太少 B.缺乏科学的计划
C.太懒惰,没有付诸行动 D.课余生活不够丰富
E.社团工作占据太多时间 F.自制力不强,容易被诱惑
G.其它
15.您认为现在课余时间的利用给您带来的影响主要是什么(最多选四项)( ABC )
A.生活井然有序,活得充实而快乐
B.学业上大有进步,掌握了更多的知识技能,开阔了眼界
C.结识了更多的朋友,增进了朋友情谊
D.个人工作能力得到迅速提升
E做兼职增加了社会经验也增加了经济来源
F.经常迷茫,无所事事
G.经常上网,花费了金钱和时间
16.您认为通过什么方法帮助自己合理安排课余时间最有效?(C )
A.自己制定时间安排表并严格执行 B.向师长讨教经验
C.跟同门朋友交流,互相监督 D.跟父母反映并寻求父母的帮助
E其他
通过填写这份问卷,我给自己定位是“积极主动型”,我觉得我还是能够掌握好自己的空余时间,不沉溺于某种东西(比如说游戏)上面,不足之处是不能平衡学习和娱乐的时间,学习的力度还不够,所以以后会多注意这一点,在学习上多下点功夫。
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。
请编程实现八皇后问题,并把92种解的前三种解输出到屏幕(8*8的二维矩阵,Q代表皇后,X代表空)。并把此问题的求解过程延伸到N皇后问题。
程序代码如下所示:
package 算法; public class EightQueen { private int index = 1; private final static int SCALE = 8; private int[] answer = new int[SCALE]; private void initArray() { for (int i = 0; i < answer.length; i++) { answer[i] = -1; } } private boolean canStay(int row, int col) { for (int i = 0; i < row; i++) { if (answer[i] == col || Math.abs(row - i) == Math.abs(col - answer[i])) { return false; } } return true; } private void calculate() { for (int row = 0; row < SCALE; row++) { if (answer[row] == -1) { answer[row] = 0; } for (int col = answer[row]; col <= SCALE; col++) { if (col == SCALE) { answer[row] = -1; row--; if (row < 0) { return; } col = answer[row]; continue; } if (canStay(row, col)) { answer[row] = col; if (row == SCALE - 1) { showMsg(); continue; } break; } } } } private void showMsg() { if (index<4) { System.out.println(" - 第" + index + "种方案 -"); for (int i = 0; i < answer.length; i++) { for (int j = 0; j < SCALE; j++) { if (answer[i] == j) { System.out.print("Q "); } else { System.out.print("X "); } } System.out.println(""); } System.out.println("\n"); index++; } } public EightQueen() { initArray(); calculate(); } public static void main(String[] args) { System.out.println("列举"+SCALE+"皇后问题的前 3 种方案!"); System.out.println(); EightQueen eightQueen = new EightQueen(); } }
程序运行结果如下所示:
2)学生聚类分析思考
为了实现因材施教的目标,现教务处计划对学生进行摸底并分类,假如使用K均值聚类算法,并且认为学生大概可以分为四类,分别为“积极主动型”、“学霸型”、“游戏人生型”、“迷茫无目标型”。现在你是该项目的负责人,(1)请设计一个较为完整的项目实施方案;(2)你是否认可对学生进行分类?(3)按照你给定的实施方案与需要测量的要素(如天学习时间),请尝试按照自身情况对其进行回答,以及对自身的评价与定位和努力目标。
解:(1)具体项目实施方案:设计一份调查问卷表,以问卷星的形式对本校在校学生进行调查,再把结果汇集 起来进行分析和研究。问卷调查表的[b]具体内容如下所示。[/b]
1.您的性别( )
A. 男 B. 女
2.您所在的年级()
A.13级 B.12级 C. 11级 D.10级
3.除了双休日,您觉得每天平均拥有多少课余时间?()
A.少于3小时 B.3-5小时(不含5) C.5-8小时(不含8) D.8小时以上
4、你每周的课余时间里您都做些什么?可多选( )
A、学习(包括读课外书) B、睡懒觉 C、逛街、购物聚会 D、兼职或义工
E、和同学闲聊、和同学沟通联络感情 F、打扑克、棋牌等 G、健身、运动
H、上网 I、参加院、系组织的社团活动 J、其他
5.你每周兼职的时间为( )
A.0-2小时 B.2-4小时 C.4-8小时 D.超出8小时
6.你每周的上网时间为( )
A.5小时以下 B.5-10小时 C.10-15小时 D.15-20小时 E.20小时以上
7.你上网一般都在干什么? 可以多选 ( )
A.查阅资料或浏览网页 B.玩游戏或上QQ C.看电视或听音乐 D.逛网店
8.你每周外出大约多长时间( )
A.0-3小时 B.3小时-1天 C.1-2天 D.2天以上
9.你每周体育锻炼时间( )
A.0-3小时 B.3小时-6小时 C.6-9小时 D.9小时以上
10.你参加社团活动的时间( )
A. 比较频繁 B. 有时 C. 偶尔 D. 其他_______
11.你一般与朋友的交往:( )
A. 比较频繁 B. 有时 C. 偶尔 D. 其他________
12.你每周看新闻或关心政事的时间:( )
A.从不 B.每周一两次 C.每天一次 D.时刻关注
13.每周与家人一起的时间(包括视频、电话、见面):( )
A.从不 B.每月一两次 C.每周一两次次 D.每天
14.如果您对现在的课余时间安排感到不满意,那原因是(最多选三项)( )
A.课余时间太少 B.缺乏科学的计划
C.太懒惰,没有付诸行动 D.课余生活不够丰富
E.社团工作占据太多时间 F.自制力不强,容易被诱惑
G.其它
15. 您认为现在课余时间的利用给您带来的影响主要是什么(最多选四项)( )
A.生活井然有序,活得充实而快乐
B.学业上大有进步,掌握了更多的知识技能,开阔了眼界
C.结识了更多的朋友,增进了朋友情谊
D.个人工作能力得到迅速提升
E做兼职增加了社会经验也增加了经济来源
F.经常迷茫,无所事事
G.经常上网,花费了金钱和时间
16. 您认为通过什么方法帮助自己合理安排课余时间最有效?()
A.自己制定时间安排表并严格执行 B.向师长讨教经验
C.跟同门朋友交流,互相监督 D.跟父母反映并寻求父母的帮助
E其他
(2)我认为可以对学生进行分类,这样可以大概确定每个学生所属的类型,有助于学生对自己的认识。
(3)对于上面这份问卷:我的答案是
1.您的性别 (A )
A.男 B. 女
2.您所在的年级( C)
A.13级 B.12级 C. 11级 D.10级
3.除了双休日,您觉得每天平均拥有多少课余时间?( D)
A.少于3小时 B.3-5小时(不含5) C.5-8小时(不含8) D.8小时以上
4、你每周的课余时间里您都做些什么?可多选( AEGHJ )
A、学习(包括读课外书) B、睡懒觉 C、逛街、购物聚会 D、兼职或义工
E、和同学闲聊、和同学沟通联络感情 F、打扑克、棋牌等 G、健身、运动
H、上网 I、参加院、系组织的社团活动 J、其他
5.你每周兼职的时间为( A )
A.0-2小时 B.2-4小时 C.4-8小时 D.超出8小时
6.你每周的上网时间为( D )
A.5小时以下 B.5-10小时 C.10-15小时 D.15-20小时 E.20小时以上
7.你上网一般都在干什么? 可以多选 ( ABC )
A.查阅资料或浏览网页 B.玩游戏或上QQ C.看电视或听音乐 D.逛网店
8.你每周外出大约多长时间(B )
A.0-3小时 B.3小时-1天 C.1-2天 D.2天以上
9.你每周体育锻炼时间( B )
A.0-3小时 B.3小时-6小时 C.6-9小时 D.9小时以上
10.你参加社团活动的时间( C )
A.比较频繁 B. 有时 C. 偶尔 D. 其他_______
11.你一般与朋友的交往:( A )
A.比较频繁 B. 有时 C. 偶尔 D. 其他________
12.你每周看新闻或关心政事的时间:(C )
A.从不 B.每周一两次 C.每天一次 D.时刻关注
13.每周与家人一起的时间(包括视频、电话、见面):( D )
A.从不 B.每月一两次 C.每周一两次次 D.每天
14.如果您对现在的课余时间安排感到不满意,那原因是(最多选三项)( ABD )
A.课余时间太少 B.缺乏科学的计划
C.太懒惰,没有付诸行动 D.课余生活不够丰富
E.社团工作占据太多时间 F.自制力不强,容易被诱惑
G.其它
15.您认为现在课余时间的利用给您带来的影响主要是什么(最多选四项)( ABC )
A.生活井然有序,活得充实而快乐
B.学业上大有进步,掌握了更多的知识技能,开阔了眼界
C.结识了更多的朋友,增进了朋友情谊
D.个人工作能力得到迅速提升
E做兼职增加了社会经验也增加了经济来源
F.经常迷茫,无所事事
G.经常上网,花费了金钱和时间
16.您认为通过什么方法帮助自己合理安排课余时间最有效?(C )
A.自己制定时间安排表并严格执行 B.向师长讨教经验
C.跟同门朋友交流,互相监督 D.跟父母反映并寻求父母的帮助
E其他
通过填写这份问卷,我给自己定位是“积极主动型”,我觉得我还是能够掌握好自己的空余时间,不沉溺于某种东西(比如说游戏)上面,不足之处是不能平衡学习和娱乐的时间,学习的力度还不够,所以以后会多注意这一点,在学习上多下点功夫。
相关文章推荐
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)