Coder Social home page Coder Social logo

mugeminorum / snake-ai Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 1.0 13.59 MB

Using deep reinforcement learning to play Snake game. The used algorithm is PPO for discrete! It has the brilliant performance in the field of discrete action space just like in continuous action space. You just need half an hour to train the snake and then it can be as smart as you.|使用深度强化学习玩蛇游戏。 使用的算法是离散的 PPO! 它在离散动作空间领域有着与连续动作空间一样的出色表现。

Home Page: https://foruda.gitee.com/images/1681966777060540452/91f62336_10787834.png

License: MIT License

Python 100.00%
a-star-path-finding drl hamiltonian-cycle ppo

snake-ai's Introduction

snake-ai's People

Contributors

monet-joe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

shuaili-xy

snake-ai's Issues

需要完成A*路径的平滑处理算法

需要使路径弯折数在不影响决策的前提下尽量降到最低以保证美观

(在遇到地图边界的情形下需格外注意,可能会导致产生新的单连通区域,此时可能要放弃美观而保护决策性能)

蛇头跳跃BUG

当从 AI 模式 切换回手动模式后,故意走入死路再切换回auto mode,可能会导致进入 FindTailByHamilton 分支并且还返回了一个路径,然而这个路径与蛇头并不相连,导致下一步蛇头直接飞跃至路径中。。。

复现频率感觉跟刷新周期有关,看F1触发的 changemode 与 makedecision 哪个快了,有可能是F1没生效成功产生的脏数据被下一周期给错误利用了。然而即使用上周期的布局来推断也有不符合逻辑的结论,可能是 hamilton 算法对此类边界条件未处理好造成的BUG

需要多试几遍复现

研究在vscode上实现Qt静态编译

在vscode上debug很方便,但release还是要转到vs2015上,但是sln工程可能还没包含在vscode上新建的类文件,手动调整可能会引入比较麻烦的问题

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.