大家好,欢迎来到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
