资源简介
硕士人工智能课程作业资源包,包含了12硬币(12coins)源程序和README文档,而且包含了上课时用需要演讲使用的PPT幻灯片,还有两篇关于12硬币的论文可以参考阅读。12硬币问题的描述:有12个硬币,已知有一个是不标准的(不能确定是轻还是重),要求使用天平最多3次,找出那个不标准的硬币,并确定是轻的还是重的。
代码片段和文件信息
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Coins
{
/* 五元组中每个元素依次代表{LHSLSHSST}.
* 标准型(Standard)标记为S
轻标型(Light or Standard)标记为LS
重标型(Heavy or Standard)标记为HS
轻重标准型(Light or Heavy or Standard)标记为LHS
已经称量的次数 标记为T
*/
//创建数组中要用的下标值
static int lhs = 0;
static int ls = 1;
static int hs = 2;
static int s = 3;
static int t = 4;
// 创建未知硬币的个数
static int uncertainty = 12;
// 创建目标状态五元组设置最多利用天平的次数
static int limit = 3;
// 设置一个结点记录值,本来想用一个int值就行了,不过我要add到nodeRecord集合后面,必须add整型数组,我也懒得改了,就直接把标记设成整型数组。
static int[] notExist = {-1};
static int[] notknow={0};
static int[] success = {1};
static int[] fail = {2};
static int[] sameSituation = {3};
// 创建测试状态组,测试天平方案
static int[] testState= {39 0 0 0 0};
static int[] testleft = {13000};
static int[] testright = {13000};
/**
* @param args
*/
public static void main(String[] args)
{
while (true)
{
// TODO Auto-generated method stub
// 用于保留遍历过的结点的列表,其中[状态元组+左盘分配元组+右盘分配元组+结点标记值],简写【状态+方案】列表。
ArrayList List = new ArrayList();
System.out.print(“请输入未知硬币的个数:“);
try
{
InputStreamReader temp=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(temp);
// System.out.println(input.readLine());
uncertainty = Integer.valueOf(input.readLine());
}
catch (IOException e)
{
e.printStackTrace();
}
System.out.print(“请输入称量次数:“);
try
{
InputStreamReader temp=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(temp);
// System.out.println(input.readLine());
limit = Integer.valueOf(input.readLine());
}
catch (IOException e)
{
e.printStackTrace();
}
// 创建初始状态五元组
int[] initialState = {uncertainty0000};
// 创建目标状态五元组
// int[] goalState1 = {010uncertainty-1limit};
// int[] goalState2 = {001uncertainty-1limit};
// 最初状态赋值给当前状态。
int [] currentState = initialState;
long t1=System.currentTimeMillis();
//运行测试内容
// 构造第一个结点。
boolean isok = checkThisState(ListcurrentState);
long t2=System.currentTimeMillis();
System.out.println(“\n寻找解决方案的过程中产生的所有状态都保存在列表中...“);
showWaytoGoal(ListinitialState);
System.out.print(“\n\n运行时间为:“+(t2-t1)+“毫秒!“);
if (isok)
{
System.out.print(“\n从“+uncertainty+“个未知硬币中通过使用“+limit+“次天平找假硬币,有解!“);
}
else {
System.out.print(“\n从“+uncertainty+“个未知硬币中通过使用“+limit+“次天平找假硬币,无解!“);
}
// System.out.println(“列表中成功的【状态+方案】结点有多少个?“+triumph);
// System.out.println(“记录中成功路径有多少条?“+ways);
System.out.println();
System.out.println();
System.out.println();
try
{
Thread.sleep(1000);
}
catch (InterruptedException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 171254 2011-05-09 10:37 十二硬币问题的进一步求解.pdf
.CA.... 278449 2011-05-09 15:20 用AO算法求解一个智力难题.pdf
.CA.... 113152 2011-05-18 22:36 12硬币.ppt
文件 9996 2011-06-03 20:00 Coins.class
文件 29384 2011-06-03 19:10 Coins.java
文件 216576 2011-06-03 19:50 CoinsCheck.exe
.CA.... 187392 2013-01-29 14:28 Readme.doc
----------- --------- ---------- ----- ----
1006203 7
- 上一篇:FbHashCal.apk
- 下一篇:Eviews9.0安装包及破解文件
相关资源
- AI人工智能学习资料全套
- 用户网络行为画像 大数据中的用户网
- 中科院自动化所历年模式识别博士题
- 华南理工大学人工智能期末考试卷
- LabVIEW实现Fuzzy_PID的补充资源
- 微信小程序Demo/---欧拉蜜自然语言理解
- 微信小程序完整Demo--支持人工智能对
- 艾媒-2017年中国人工智能产业专题研究
- 工信部人工智能产业人才岗位能力标
- AMiner:2018年人工智能之自动驾驶研究
- 艾瑞咨询:2018年中国人工智能+金融行
- 2019技术趋势:人工智能报告
- 法院行业方案宣讲稿-海康
- 8.2 心智探奇 人类心智的起源与进化
- 人工智能尼尔森,2003,第1版
- 乌镇指数全球人工智能发展报告2017投
- 模式识别之特征选择
- springMVC的学习代码
- 人工智能全部课件和作业题
- 哥德尔、艾舍尔、巴赫——集异璧之
- 西电人工智能课件
- 面试题答案-40万年薪岗位面试到底问
- 旺宝创业计划书
- 人工智能综述
- 人工智能领域顶会AAAI 2018 论文列表
- AI 全套教学视频三
- 人工智能初步学习总结
- stm32实现的五子棋AI人机对战+人人对战
- 清华大学人工智能导论课件ppt格式
- 哈工大秋季学期人工智能3学分前两个
评论
共有 条评论