- 20
- 0
- 约7.59千字
- 约 10页
- 2016-12-25 发布于重庆
- 举报
实验二:九宫重排
一、实验目的
A*算法是人工智能领域最重要的启发式搜索算法之一,本实验通过九宫重排问题,强化学生对A*算法的理解与应用,为人工智能后续环节的课程奠定基础。
二、问题描述
给定九宫格的初始状态,要求在有限步的操作内,使其转化为目标状态,且所得到的解是代价最小解(即移动的步数最少)。如:
2 8 1 3 0 4 7 5 6
1 2 3 8 0 4 7 6 5 三、实验原理
如果使一般搜索过程满足如下限制,则它就称为A*算法:
1、把OPEN表中的节点按估价函数f(x)=g(x)+h(x)的值从小至大进行排序(一般搜索过程的第7步)。
2、g(x)是对g*(x)的估计,g(x)0。
3、h(x)是h*(x)的下界,即对所有的x均有:h(x)≤h*(x)
其中,g*(x)是从初始节点S0到节点x的最小代价;h*(x)是从节点x到目标节点的最小代价,若有多个目标节点,则为其中最小的一个。
四、基本要求
输入:九宫格的初始状态和目标状态
输出:重排的过程,即途径的状态以及所用步数!
实验程序
#include iostream.h
#include time.h
#include stdio.h
#include dos.h
#include conio.h
static int target[9];
//class de
原创力文档

文档评论(0)