GitHub 访问及下载加速方法

  1. 自己电脑常用方式:
    SteamCommunity302
    及得勾上github
  2. 服务器常用镜像下载网站
    https://ghproxy.com/

GIT CLONE:
git clone https://ghproxy.com/https://github.com/stilleshan/ServerStatus

WGET & CURL:
wget https://ghproxy.com/https://github.com/stilleshan/ServerStatus/archive/master.zip
wget https://ghproxy.com/https://raw.githubusercontent.com/stilleshan/ServerStatus/master/Dockerfile
curl -O https://ghproxy.com/https://github.com/stilleshan/ServerStatus/archive/master.zip
curl -O https://ghproxy.com/https://raw.githubusercontent.com/stilleshan/ServerStatus/master/Dockerfile

优化A* 算法运行时间python代码

说明:文章所示优化对某些地图有一定优化作用,运行速度可以提高2倍以上,但很大程度上会牺牲准确度,并且很多时候并不能用此方法加速运行,请在有一定A*算法代码基础上阅读。代码中piecemeal_matrix判断边界函数没有那么完美,只是提供一种参考,有兴趣的朋友可以和我一起改进。

A*算法在迷宫很复杂的情况下运行速度会很慢,甚至会和Dijkstra算法运行速度差不多,比如遇到如下这张复杂地图:

尽管只有约100*100像素,但是在我电脑上要运行10s左右时间才能计算出来(我电脑运行速度比较慢,不同电脑运行时间不同,文章测试环境均为同一台电脑)

遇到这种规则的方方正正的迷宫,我们可以运用(伪)图片缩小。不同于直接缩小图片,更可以说成对迷宫切片,防止图片缩小变糊。简单算法思路:把迷宫围墙边界作为转换后矩阵像素,类似于边缘检测,如下图x轴方向上的切片:

最终可以得到如下切片/缩小后图片:

最终结果对比:

优化前10s左右运行速度得出的图片:

优化后5s左右运行速度得出的图片:

切片优化python代码

优化前python代码

具体A*算法代码可见我的博客

letax tips

  1. 表格斜杠
    参考链接
    eg:
  1. 表格跨页
    参考链接
    eg:
  1. 图片强制固定
    参考链接
  1. 子图
    参考链接(和下列示例方法不一样)
    示例代码为2*3即2行三列代码
    \linewidth为一行的宽度,如下面代码所示,若要在一行放三张照片则每张照片需要<=1/3行宽,设置{0.3\linewidth}就需要根据你一行有多少照片而定。
    \textwidth则无需特别修改。
    若要换行图片则直接加一行空行就行。
    eg:

wordpress 近期文章去除置顶文章

原作者链接(大量参考)

vim /usr/share/nginx/html/wordpress/wp-includes/widgets/class-wp-widget-recent-posts.php

找到如下代码删除并修改

A* 算法 Python 代码

版本说明:
V1.0版本为只有固定上下左右四个方向进行规划路线。
V2.0版本对V1.0做出了提升,现在可以填入任意方向(至多8个方向)进行路线规划。
V3.0版本删除了sub和index的互相转换,减少了算法复杂度。优化了代码,增加可重复使用性。发现并改正了total_costs计算错误。

V3.0使用方法:
(1)
from 文件名 import A_star
a_star = A_star(matrix=[], step=1000, way=[“R”, “L”, “D”, “U”, “RU”, “RD”, “LU”, “LD”], wall=0)
road = a_star.run(start_point=[],end_point=[]) #可重复使用

或者直接
from 文件名 import A_star
road = A_star(matrix=[], step=1000, way=[“R”, “L”, “D”, “U”, “RU”, “RD”, “LU”, “LD”], wall=0).run(start_point=[],end_point=[])

输出为二位点坐标数组eg:[[10, 10], [9, 9], [8, 8], [7, 7], [6, 6], [5, 5], [4, 4], [3, 3], [2, 2], [1, 1], [0, 0]]

(2)参数说明:
start_point 为起始坐标.
end_point为终点坐标.
matrix为地图/迷宫地图,bool类型.
wall为matrix里True/False哪个为墙,False为墙写0,True为墙写1.
weight为权值(不用特别调整).
Corner_amend为拐角优化,1开启,0关闭.
step表示运行一定循环后退出程序,防止因为地图过大无限运行。代码默认无限循环即step=float(“inf”),推荐加入限制条件,减少特定程序时间.
way表示可以走的方向,eg:[“R”, “L”, “D”, “U”, “RU”, “RD”, “LU”, “LD”]。需要大写(因为没写upper操作).

说明:
该代码为matlab改编成的python代码并经过我的相关优化,有一定参考性,在pycharm debug调试中你可以测试该算法逻辑,希望对你有帮助。

待更新:

如果代码有错误请和我联系,我会及时改正。

V3.0版本代码

A*算法可视化参考代码

下面为历史版本代码:

Read More

浙ICP备2021019730-1    浙公网安备 33010902002953号
Copyright © 2024 PanCake