Skip to content

ConnoRLuv/EightPuzzle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 

Repository files navigation

EightPuzzle

本项目是2019年武汉理工大学人工智能概论课程大作业项目

🌏基本内容

  1. 盲目搜索中的宽度优先搜索算法的实现。src/Breadth_First.cpp
  2. 启发式搜索中的全局择优搜索算法的实现。 src/Best_First.cpp

选取的启发策略有以下四种:

  • 启发函数 h(n)定义为当前节点与目标节点差异的度量:即当前节点与目标节点格局相比,位置不符的数字个数。
  • 启发函数h(n)定义为当前节点与目标节点距离的度量:当前节点与目标节点格局相比,位置不符的数字移动到目标节点中对应位置的最短距离之和。
  • 启发函数h(n)定义为每一对逆序数字乘以一个倍数。
  • 为克服了仅计算数字逆序数字数目策略的局限,启发函数h(n)定义为位置不符数字个数的总和与3倍数字逆序数目相加。
  1. A*算法的实现。 src/A_Star.cpp
  2. 八数码状态节点数据结构。 src/Eight_Pullze.h
  3. 基本队列与优先队列数据结构,也就是open表和close表的数据结构。 src/Queue.h
  4. txt文件输入初始状态节点S0,目标状态Sg。 data/S0.txt data/Sg.txt
  5. 计算结果打印在Result.txt中。 data/Rusult.txt

📂文档

基于搜索策略的八数码问题求解

🕛2019年11月20日

About

八数码问题求解的几种常见算法

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages