万能引用(Universal Reference),引用折叠(Reference Collapsing)与完美转发(Perfect Forwarding)
C++的右值与移动语义

C++的右值与移动语义

[TOC]

本文总结一下我对 C++ 右值与移动语义的理解,主要分为值类型,右值引用,以及移动语义的实现.

阅读更多
短平快信息爆炸下的个人应对
RL实战练习记录1_Q-learning,Sarsa

RL实战练习记录1_Q-learning,Sarsa

[TOC]

经过对《Reinforcement Learning:An Introduction》前五章的自学,学习了 RL 的理论基础以及简单算法思路.有必要通过实战强化学习的结果,并指导接下来的学习,有的放矢.
调研后决定通过网络课程莫烦PYTHON来进行实战.
一是开源(git repo),二是讲解质量还不错,三是整个教程自成体系,很不错推荐感兴趣的同学尝试一下.缺点是数学基础可能需要自己去补.
本文对其 RL 教材的前3章进行笔记总结,包括 RL 的简介, Q-Learning算法实战, Sarsa算法实战.

阅读更多
基于A*搜索算法的改良算法介绍

基于A*搜索算法的改良算法介绍

[TOC]

项目实践中使用 Hybrid A*算法(关于图搜索算法的介绍博文)搜索粗轨迹的时候, 由于搜索过程太耗费资源加上很多时候不需要每时每刻进行搜索. 因此需要决定什么时候才会 replan, 提升效率. 本篇文章为调查的总结. 该系列算法都是对 A* 的改进, 都是出自 Likhachebv Maxim 教授或者 Sven Koenig 教授的研究成果.

如果对 A* 搜索改进算法感谢的同学也可以关注这两位大牛的主页, 里面有很多教程以及研究结果, 演示软件等.

Likhachebv Maxim 教授的主页 :http://www.cs.cmu.edu/~maxim/

Sven Koenig 教授的主页: http://idm-lab.org/project-a.html

Likhachebv Maxim 教授研究室还研发出了开源的 SBPL C++ 算法库. 支持在ROS中使用, 不仅包含执行代码,还 包括可视化与 debug 的功能.

SBPL 的代码库, ROS wiki. 支持的搜索算法: ARA*, Anytime D*, ANA*, R* , Multi-Heuristic A*.

回到本文内容, 共介绍了 anytime 类: ARA* (Anytime Repairing A*), Incremental类: LPA* (Lifelong Planning A*),FSA*(Fringe-Saving A*),D* Lite.

阅读更多
规划算法中的图搜索算法简单小结
《more effective C++》-Item 27/28-学习笔记2
马尔可夫链数学模型基础

马尔可夫链数学模型基础

[TOC]
马尔可夫链是马尔可夫决策的数学模型, 也是非常重要的随机过程模型. 本文根据《应用随机过程 概率模型导论》教材的第四章内容进行了整理. 主要内容是离散马尔可夫链的基础, 极限概率, 时间可逆的马尔可夫链, 马尔可夫决策过程, 隐马尔可夫链的相关内容. 省略了详细的推导过程, 把比较有用的干货整理了出来.

阅读更多
Apollo common math模块解读

Apollo common math模块解读

[TOC]
本文是对 Apollo common math 模块进行研读的记录.
研读这个模块的意义在于 3 点:

  1. 了解哪些数学运算是较常用的, 可以针对性地学习在自己的代码里独立出来维护.
  2. 学习基本的几何/数学分析的算法以及编码技术, 毕竟比较轻量, 不用去看动辄几万行的数学库, 以及网上不一定靠谱的自学输出.
  3. Apollo 的其他模块依赖于这个模块, 有必要深入了解一下. 算法的性能与精度的瓶颈有可能就是卡在这个地方.
阅读更多
优化问题中的 KKT 条件解读