(AI)人工智能导论实验【A* 算法】

本文是关于人工智能导论实验的介绍,重点关注A*算法。文章提供了A*算法的资源链接,包括理解A*算法的网站和源码,并讨论了启发函数在不同情况下的选择,如在允许八方向或任意方向移动的图形中使用对角距离和欧几里得距离。总结中提到启发函数等同于最佳优先搜索。
摘要由CSDN通过智能技术生成

人工智能导论实验

A-star algorithm

传送:看懂A*的网站

源码

"""
实验内容:假设在一个 n * m 的迷宫里,入口坐标和出口坐标分别为(1,1)和(5,5),
每一个坐标点有两种可能:0 或 1,其中 0 表示该位置允许通过,1 表示该位置不允许通过
如地图:
    0 0 0 0 0
    1 0 1 0 1
    0 0 1 1 1
    0 1 0 0 0
    0 0 0 1 0

最短路径应该是:
    A B 0 0 0
    1 C 1 0 1
    E D 1 1 1
    F 1 J K L
    G H 1 1 M

估价函数
估价函数 Evaluation Function
 f(n) = g(n) + h(n)
 估价 = 代价 + 启发
代价即 移动到该点的耗费
启发即 该点移动到终点的预计耗费
Open 表根据 f 排序,取 open 表首元素为下一步

"""


# def increase(dot, n, m):
def increase(dot):
    flag = 0
    n = int(dot[0])
    m = int(dot[1])
    print('n, m:', n, m)
    increase_open_list = []     # 先排序,再放入 open 表
    if m - 1 > 0 and list_map[n][m - 1] != 1:
        point = (n, m - 1)
        print(point)
        point = (n, m - 1, f(point))
        print(point)
        if point not in close_list and point not in wrong_list:
            increase_open_list.append(point)
            flag = 1
    if n - 1 > 0 and list_map[n - 1][m] != 1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值