您的位置:首页 > 其它

实验一 NPC问题——回溯算法、聚类分析

2014-06-11 20:36 337 查看
1)八皇后及N皇后问题
    八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。

    请编程实现八皇后问题,并把92种解的前三种解输出到屏幕(8*8的二维矩阵,Q代表皇后,X代表空)。并把此问题的求解过程延伸到N皇后问题。

 解:程序代码如下:

package queen;

public class queen {
private int s = 1;
private final static int Q = 8;
private int[] A = new int[Q];

private void initArray() {
for (int i = 0; i < A.length; i++) {
A[i] = -1;
}
}

private boolean canStay(int row, int col) {
for (int i = 0; i < row; i++)
{
if (A[i] == col  || Math.abs(row - i) == Math.abs(col - A[i]))
{
return false;
}
}
return true;
}

private void calculate() {
for (int row = 0; row < Q; row++)
{
if (A[row] == -1)
{
A[row] = 0;
}

for (int col = A[row]; col <= Q; col++)
{
if (col == Q)
{
A[row] = -1;
row--;
if (row < 0)
{
return;
}
col = A[row];
continue;
}

if (canStay(row, col))
{
A[row] = col;
if (row == Q - 1)
{
showMsg();
continue;
}
break;
}
}
}
}

private void showMsg() {
if (s<4)
{
System.out.println(" - 第" + s + "种方案 -");
for (int i = 0; i < A.length; i++)
{
for (int j = 0; j < Q; j++)
{
if (A[i] == j)
{
System.out.print("Q ");
} else {
System.out.print("* ");
}
}
System.out.println("");
}
System.out.println("\n");
s++;
}
}

public queen() {
initArray();
calculate();
}

public static void main(String[] args) {
System.out.println("列举"+Q+"皇后问题的前 3 种方案!");
System.out.println();
queen eightQueen = new queen();
}
}


  结果显示如下:





(2)学生聚类分析思考(PPT,PDF)

    为了实现因材施教的目标,现教务处计划对学生进行摸底并分类,假如使用K均值聚类算法,并且认为学生大概可以分为四类,分别为“积极主动型”、“学霸型”、“游戏人生型”、“迷茫无目标型”。现在你是该项目的负责人,(1)请设计一个较为完整的项目实施方案;(2)你是否认可对学生进行分类?(3)按照你给定的实施方案与需要测量的要素(如天学习时间),请尝试按照自身情况对其进行回答,以及对自身的评价与定位和努力目标。

(1)具体项目实施方案:以问卷星的形式对本校在校学生进行调查,把结果汇集 起来进行总结分析。问卷调其[b]具体内容如下所示。[/b]         

1.您的性别( )

A. 男          B. 女

2.您所在的年级()

A.大一       B.大二     C. 大三     D.大四                   

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.5小时以下   B.5-10小时   C.10-15小时   D.15-20小时   E.20小时以上

6.你上网一般都在干什么? 可以多选 (              )

A.查阅资料或浏览网页    B.玩游戏或上QQ     C.看电视或听音乐    D.逛网店

7.你每周外出大约多长时间(  )

A.0-3小时    B.3小时-1天  C.1-2天  D.2天以上

8.你每周体育锻炼时间(  )

A.0-3小时   B.3小时-6小时  C.6-9小时 D.9小时以上

9.你参加社团活动的时间(  )

A. 比较频繁    B. 有时    C. 偶尔     D. 其他_______

10.你每天的学习时间( )

A.3小时以上   B.1小时-3小时  C.1小时以内 D.不学习

11. 您认为现在课余时间的利用给您带来的影响主要是什么(最多选四项)(         )

A.生活井然有序,活得充实而快乐

B.学业上大有进步,掌握了更多的知识技能,开阔了眼界

C.结识了更多的朋友,增进了朋友情谊

D.个人工作能力得到迅速提升

E做兼职增加了社会经验也增加了经济来源

F.经常迷茫,无所事事

G.经常上网,花费了金钱和时间

12. 您认为通过什么方法帮助自己合理安排课余时间最有效?()

A.自己制定时间安排表并严格执行          B.向师长讨教经验

C.跟同门朋友交流,互相监督              D.跟父母反映并寻求父母的帮助

E其他                   

 13.你认为你自己的性格如何( )

A.开朗活泼  B.内向沉默  C.认真正直  D.随随便便

(2)我对学生进行这样分类,这样能大概确定每个学生所属的类型,有助于学生对自己的认知和反省。

(3)对于上面这份问卷:我的答案是

1.您的性别(A )

A. 男          B. 女
2.您所在的年级(C)

A.大一       B.大二     C. 大三     D.大四                   
3.平常您每天平均拥有多少课余时间?(B)

A.少于3小时  B.3-5小时(不含5)  C.5-8小时(不含8)   D.8小时以上
4、你每周的课余时间里您都做些什么?可多选(     ABEGHJ        )

A、学习(包括读课外书)   B、睡懒觉    C、逛街、购物聚会   D、兼职或义工  

E、和同学闲聊、和同学沟通联络感情      F、打扑克、棋牌等     G、健身、运动  

H、上网   I、参加院、系组织的社团活动   J、其他
5.你每周的上网时间为(D )

A.5小时以下   B.5-10小时   C.10-15小时   D.15-20小时   E.20小时以上
6.你上网一般都在干什么? 可以多选 (   A  B       )

A.查阅资料或浏览网页    B.玩游戏或上QQ     C.看电视或听音乐    D.逛网店
7.你每周外出大约多长时间(B  )

A.0-3小时    B.3小时-1天  C.1-2天  D.2天以上
8.你每周体育锻炼时间(  A)

A.0-3小时   B.3小时-6小时  C.6-9小时 D.9小时以上
9.你参加社团活动的时间(C )

A. 比较频繁    B. 有时    C. 偶尔     D. 其他_______
10.你每天的学习时间(C )

A.3小时以上   B.1小时-3小时  C.1小时以内 D.不学习

11. 您认为现在课余时间的利用给您带来的影响主要是什么(最多选四项)(    ABCD     )

A.生活井然有序,活得充实而快乐

B.学业上大有进步,掌握了更多的知识技能,开阔了眼界

C.结识了更多的朋友,增进了朋友情谊

D.个人工作能力得到迅速提升

E做兼职增加了社会经验也增加了经济来源

F.经常迷茫,无所事事

G.经常上网,花费了金钱和时间
12. 您认为通过什么方法帮助自己合理安排课余时间最有效?(A)

A.自己制定时间安排表并严格执行          B.向师长讨教经验

C.跟同门朋友交流,互相监督              D.跟父母反映并寻求父母的帮助

E其他                   
 13.你认为你自己的性格如何(A )

A.开朗活泼  B.内向沉默  C.认真正直  D.随随便便

   填写完这份问卷,我给自己定位为“积极主动型”,我觉得我还能掌握好自己的空余时间,不沉溺于娱乐(比如说游戏)上面,缺陷是未能合理安排学习和娱乐的时间,学习的力度还不够,以后需更多注意这一点,在学习上多下点功夫。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: