资源简介
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个文件信息
相关资源
- 东北大学信息安全作业
- 自然语言处理小应用程序开发——汇
- 基于java 的人工智能井字棋小游戏
- Java实现人工智能代码
- 东北大学数据结构与算法课程设计实
- 人工智能八数码问题求解b/s架构
- 2018-2019学年东北大学数据结构实验报
- 东北大学2018年JAVA试题
- 阿尔法贝塔剪枝算法Java五子棋
- 领航JAVA入门课程——IBM Robocode 人工智
- 东北大学软件学院 编译方法 实验源代
- 东北大学软件学院面向对象程序实验
- 东北大学算法分析与设计实验内容代
- 人工智能AI麻将,麻将AlphaGo,可直接
- Java开发人工智能客服机器人
- 人工智能大作业.zip
- 东北大学842计算机复试资料
- 东北大学软件学院最新操作系统实验
- 2017-广东工业大学人工智能实验报告
- JAVA五子棋游戏简单人工智能算法
- 人工智能合一算法
- 人工智能经典问题The Wumpus World-简明窗
- 人工智能 动物产生式系统 java
- 东北大学计算机考研Java知识点笔记
- 动物识别系统java版、C版
- 用模拟退火算法实现旅行商问题Java
- java A*算法解决八数码、十五数码
- java语言解决八数码问题完整版
- 人工智能自动扫雷
- 带人工智能的五子棋java源程序
评论
共有 条评论