人工智能作业 十五数码

这篇博客介绍了使用A*算法解决十五数码问题的过程。博主通过编程实现了一个较为简单的A*算法,虽然运行时间较长(约10分钟),但能有效减少扩展的节点数量。在C环境下运行,给出了不同步骤的解决方案。
摘要由CSDN通过智能技术生成

十五数码问题  用A*算法,自己编的有点水,需要跑十分钟才行。扩展open表时,新数据放在表前面(接近深度优先),可以减少扩展节点数量。

C:\Users\admin\Desktop\1>python DigitalCode.py

请输入数据11 9 4 15 1 3 16 12 7 5 8 6 13 2 10 14
请输入维度:4

0 : [[11, 9, 4, 15], [1, 3, 16, 12], [7, 5, 8, 6], [13, 2, 10, 14]]

1 : [[11, 9, 4, 15], [1, 3, 12, 16], [7, 5, 8, 6], [13, 2, 10, 14]]

2 : [[11, 9, 4, 16], [1, 3, 12, 15], [7, 5, 8, 6], [13, 2, 10, 14]]

3 : [[11, 9, 16, 4], [1, 3, 12, 15], [7, 5, 8, 6], [13, 2, 10, 14]]

4 : [[11, 16, 9, 4], [1, 3, 12, 15], [7, 5, 8, 6], [13, 2, 10, 14]]

5 : [[16, 11, 9, 4], [1, 3, 12, 15], [7, 5, 8, 6], [13, 2, 10, 14]]

6 : [[1, 11, 9, 4], [16, 3, 12, 15], [7, 5, 8, 6], [13, 2, 10, 14]]

7 : [[1, 11, 9, 4], [7, 3, 12, 15], [16, 5, 8, 6], [13, 2, 10, 14]]

8 : [[1, 11, 9, 4], [7, 3, 12, 15], [5, 16, 8, 6], [13, 2, 10, 14]]

9 : [[1, 11, 9, 4], [7, 3, 12, 15], [5, 8, 16, 6], [13, 2, 10, 14]]

10 : [[1, 11, 9, 4], [7, 3, 16, 15], [5, 8, 12, 6], [13, 2, 10, 14]]

11 : [[1, 11, 16, 4], [7, 3, 9, 15], [5, 8, 12, 6], [13, 2, 10, 14]]

12 : [[1, 16, 11, 4], [7, 3, 9, 15], [5, 8, 12, 6], [13, 2, 10, 14]]

13 : [[1, 3, 11, 4], [7, 16, 9, 15], [5, 8, 12, 6], [13, 2, 10, 14]]

14 : [[1, 3, 11, 4], [7, 8, 9, 15], [5, 16, 12, 6], [13, 2, 10, 14]]

15 : [[1, 3, 11, 4], [7, 8, 9, 15], [5, 2, 12, 6], [13, 16, 10, 14]]

16 : [[1, 3, 11, 4], [7, 8, 9, 15], [5, 2, 12, 6], [13, 10, 16, 14]]

17 : [[1, 3, 11, 4], [7, 8, 9, 15], [5, 2, 16, 6], [13, 10, 12, 14]]

18 : [[1, 3, 11, 4], [7, 8, 16, 15], [5, 2, 9, 6], [13, 1

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值