用贪心法解决八数码问题8-puzzle python实现

用贪心法解决八数码问题8-puzzle python实现本文详细介绍了如何使用贪心算法解决八数码问题 8 puzzle 包括问题描述 解题思路和具体的 Python 代码实现

大家好,欢迎来到IT知识分享网。

用贪心法解决八数码问题8-puzzle python实现

1、问题描述

3×3九宫棋盘,放置数码为1 -8的8个棋牌,剩下一个空格,只能通过棋牌向空格的移动来改变棋盘的布局。

要求:根据给定初始布局(即初始状态)和目标布局(即目标状态),如何移动棋牌才能从初始布局到达目标布局,找到合法的走步序列。

在这里插入图片描述

2、解题思路

4、重复2-3直到结束条件出现。

3、代码实现(Python

# -*- coding: utf-8 -*- """ Created on Wed May 9 15:45:01 2021 @author: DJ MR.L """ import copy #获取状态函数 def get_state(): ls = [] for i in range(3): tmp = input(f"请输入状态{i}:").split() ls.append([int(j) for j in tmp]) return ls #获取差别个数函数,相当于代价函数 def diff(vcc1,vcc2): count = 0 n = len(vcc1) for i in range(n): for j 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/106387.html

(0)
上一篇 2026-02-13 15:46
下一篇 2026-02-14 14:16

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信