资源简介
java实现
宽度优先算法实现八数码问题
感知机的正交输入模式
代码片段和文件信息
package eightPuzzle;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Queue;
import java.util.Set;
import java.util.Stack;
import java.util.concurrent.linkedBlockingDeque;
public class EightPuzzle
{
private String targetState = ““;//目标状态
private int[][] startMatrix = new int[3][3];//目标矩阵
private int[][] targetMatrix = new int[3][3];//目标矩阵
private Set hashState = new HashSet();//判断状态是否出现
private int[] dx = {-1010};
private int[] dy = {010-1};
private Map path = new HashMap();
private int step = 0;
/**
* 求状态矩阵除去0后的逆序数
* @param Matrix 状态矩阵
* yle=“font-size:14px;“>@returnyle=“font-size:14px;“> 状态矩阵除去0位置的逆序数
*/
public EightPuzzle(){
int k = 0;
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
startMatrix[i][j] = EightPuzzleframe.startArray[k];
targetMatrix[i][j] = EightPuzzleframe.endArray[k];
targetState += EightPuzzleframe.endArray[k];
k++;
}
}
}
private int countInverseNumber(int[][] Matrix)
{
int[] tmpElem = new int[9];
int size = 0;
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
if(Matrix[i][j] != 0)
{
tmpElem[size++] = Matrix[i][j];
}
}
}
int ans = 0;
for(int i = 0; i < size; i++)
{
for(int j = i+1; j < size; j++)
{
if(tmpElem[i] > tmpElem[j])
{
ans++;
}
}
}
return ans;
}
/**
* 判断是否可以由初始的8数码状态到目标状态
* @param startMatrix 初始化8数码的状态矩阵
* yle=“font-size:14px;“>@returnyle=“font-size:14px;“> 是否可以求解
*/
private boolean isCanSolve()
{
return (countInverseNumber(startMatrix) % 2 == (countInverseNumber(targetMatrix)%2));
}
/**
* 把存储8数码的矩阵转换为状态字符串
* @param Matrix 8数码存储矩阵
* yle=“font-size:14px;“>@returnyle=“font-size:14px;“> 状态字符串
*/
private String convertToStrState(int[][] Matrix)
{
String string = ““;
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
string += Matrix[i][j];
}
}
return string;
}
private int[][] convertToMatrix(String state)
{
int[][] matrix = new int[3][3];
for(int i = 0; i < state.length(); i++)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-04-26 17:51 人工智能作业\
目录 0 2015-04-26 19:56 人工智能作业\八数码(宽度优先)\
目录 0 2015-04-26 17:57 人工智能作业\八数码(宽度优先)\AIhomework1\
文件 301 2015-04-24 12:44 人工智能作业\八数码(宽度优先)\AIhomework1\.classpath
文件 387 2015-04-26 17:54 人工智能作业\八数码(宽度优先)\AIhomework1\.project
目录 0 2015-04-26 17:57 人工智能作业\八数码(宽度优先)\AIhomework1\.settings\
文件 598 2015-04-24 12:44 人工智能作业\八数码(宽度优先)\AIhomework1\.settings\org.eclipse.jdt.core.prefs
目录 0 2015-04-26 17:57 人工智能作业\八数码(宽度优先)\AIhomework1\bin\
目录 0 2015-04-26 17:57 人工智能作业\八数码(宽度优先)\AIhomework1\bin\eightPuzzle\
文件 5093 2015-04-26 17:55 人工智能作业\八数码(宽度优先)\AIhomework1\bin\eightPuzzle\EightPuzzle.class
文件 1193 2015-04-26 17:54 人工智能作业\八数码(宽度优先)\AIhomework1\bin\eightPuzzle\EightPuzzlefr
文件 738 2015-04-26 17:54 人工智能作业\八数码(宽度优先)\AIhomework1\bin\eightPuzzle\EightPuzzlefr
文件 1345 2015-04-26 17:54 人工智能作业\八数码(宽度优先)\AIhomework1\bin\eightPuzzle\EightPuzzlefr
文件 744 2015-04-26 17:54 人工智能作业\八数码(宽度优先)\AIhomework1\bin\eightPuzzle\EightPuzzlefr
文件 3757 2015-04-26 17:54 人工智能作业\八数码(宽度优先)\AIhomework1\bin\eightPuzzle\EightPuzzlefr
目录 0 2015-04-26 17:57 人工智能作业\八数码(宽度优先)\AIhomework1\src\
目录 0 2015-04-26 17:57 人工智能作业\八数码(宽度优先)\AIhomework1\src\eightPuzzle\
文件 6817 2015-04-26 17:55 人工智能作业\八数码(宽度优先)\AIhomework1\src\eightPuzzle\EightPuzzle.java
文件 4221 2015-04-24 15:22 人工智能作业\八数码(宽度优先)\AIhomework1\src\eightPuzzle\EightPuzzlefr
文件 8980 2015-04-29 22:19 人工智能作业\八数码(宽度优先)\eightPuzzle.jar
文件 43 2015-04-26 19:38 人工智能作业\八数码(宽度优先)\start.bat
文件 72 2015-04-26 19:56 人工智能作业\八数码(宽度优先)\点击这个运行.vbs
目录 0 2015-04-26 19:50 人工智能作业\正交输入模式集\
目录 0 2015-04-26 17:57 人工智能作业\正交输入模式集\AIhomework2\
文件 301 2015-04-24 12:44 人工智能作业\正交输入模式集\AIhomework2\.classpath
文件 387 2015-04-26 17:54 人工智能作业\正交输入模式集\AIhomework2\.project
目录 0 2015-04-26 17:57 人工智能作业\正交输入模式集\AIhomework2\.settings\
文件 598 2015-04-24 12:44 人工智能作业\正交输入模式集\AIhomework2\.settings\org.eclipse.jdt.core.prefs
目录 0 2015-04-26 17:57 人工智能作业\正交输入模式集\AIhomework2\bin\
目录 0 2015-04-26 17:57 人工智能作业\正交输入模式集\AIhomework2\bin\hebb\
文件 2652 2015-04-26 17:55 人工智能作业\正交输入模式集\AIhomework2\bin\hebb\Hebb.class
............此处省略5个文件信息
相关资源
- 人工智能经典问题The Wumpus World-简明窗
- 人工智能 动物产生式系统 java
- 东北大学计算机考研Java知识点笔记
- 动物识别系统java版、C版
- 用模拟退火算法实现旅行商问题Java
- java A*算法解决八数码、十五数码
- java语言解决八数码问题完整版
- 人工智能自动扫雷
- 带人工智能的五子棋java源程序
- 清华大学人工智能大作业源码
- 人工智能机器人alice的java版源代码A
- 基于java实现的决策树代码
- 人工智能实验 ID3决策树java实现
- 人工智能专家系统动物识别系统JAVA
- 八数码问题(附实验报告文档java实现
- 一个动物识别专家系统在 JAVA语言下的
- 东北大学高级java期末试题
- java版围棋v4
- 人工智能微信小程序之识别图片上的
- 人工智能中产生式系统中动物识别系
- KNN人工智能机器学习算法JAVA实现
- 东北大学计算机技术复试真题百度云
- 基于Web的人工智能专家系统简易动物
- 人工智能实验——动物识别系统的改
- 学堂云人工智能课后答案
- 软件工程-人工智能实验-八数码问题
- 东北大学研究生java期末知识点总结
- myGoBangjava文件.zip
- 人工智能作业 鲁滨逊归结原理
- 五子棋人机对战程序(含源码)
评论
共有 条评论