资源简介
基于A*算法,用python实现十五数码问题的求解。
十五数码问题:所要求解的问题:是给定一种初始布局(初始状态)和一个目标布局(目标状态),问如何移动数码实现从初始状态到目标状态的转变。
代码片段和文件信息
import numpy as np
import random
import copy
import operator
import time
X = input(“维度[enter键默认为4]:“)
if X.isdigit():
N = int(X)
else:
N = 4
# opentb = []
# closedtb = []
class State(object):
“““定义状态类“““
weight = [1N+211]
count = 0
# 目前为止open和closed表中的总节点数
def __init__(self s depth parent zero_place=[N-1N-1]id=0weight=weight):
self.s = s
self.zero_place = zero_place
self.id = id
self.parent = parent
self.depth = depth
self.hnself.hn1 = self.cal_hn()
weight_space = N+N-self.zero_place[0]-self.zero_place[1]
self.fn = weight[0]*self.depth + weight[1]*self.hn + weight[2]*weight_space + weight[3]*self.hn1
def cal_hn(self):
state_hn = 0
stat
- 上一篇:python爬取百度图片以及图像批量处理
- 下一篇:经纬度的点到直线距离
相关资源
- python一个打砖块的小游戏
- python实验指导书 图文高清版
- python主动安装第三方库
- python爬取豆瓣top250电影信息
- python绘制 大蟒蛇
- python小程序(数组排序)
- Python去水印(基于cv2)
- Python 数据结构入门 - 二叉搜索树(
- python空心电感计算器
- python除法.docx
- 抽奖背后的秘密(python抽奖逻辑)
- 绘制统计学直方图茎叶图(matplotlib)
- python求解标准差
- python数据分析与处理
- 利用Python将照片在Excel中利用点阵图显
- python turtle 跳房子
- python 人群计数
- Python调用第三方API换脸
- “去哪儿吃”帮你选餐厅(python代码
- python 控制台登陆密码验证
- KNN算法的Python实现(datingrecd.ipynb)
- python核心编程第二版-习题答案
- python爬取笔趣阁小说
- Python程序设计基础试题以及答案(3
- python聊天-服务端与客户端
- python递归求最大公约数
- 用python画皮卡丘(基于turtle)
- 伟哥的python私房菜(中国程序员).
- pip一键升级(python脚本)
- 我的世界python编程——天空行走py格式
评论
共有 条评论