- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以推荐一个强化学习库或框架,可以通过抽象来处理大型状态空间吗?
我正在尝试在游戏世界中实现小代理的智能。智能体由一个小型两轮机器人代表,可以前后移动、左转和右转。它具有一对用于检测地面边界的传感器、一对用于检测远处物体的超声波传感器以及一对用于检测与物体或对手的接触的碰撞传感器。它还可以进行一些简单的航位推算,以起始位置作为引用来估计其在世界中的位置。所以它可用的所有状态功能是:
edge_detected=0|1
edge_left=0|1
edge_right=0|1
edge_both=0|1
sonar_detected=0|1
sonar_left=0|1
sonar_left_dist=near|far|very_far
sonar_right=0|1
sonar_right_dist=near|far|very_far
sonar_both=0|1
contact_detected=0|1
contact_left=0|1
contact_right=0|1
contact_both=0|1
estimated_distance_from_edge_in_front=near|far|very_far
estimated_distance_from_edge_in_back=near|far|very_far
estimated_distance_from_edge_to_left=near|far|very_far
estimated_distance_from_edge_to_right=near|far|very_far
目标是识别接收奖励信号的状态,并学习尽快获得奖励的策略。在传统的马尔可夫模型中,这个离散表示的状态空间将有 2985984 个可能的值,这对于使用 Q 学习或 SARSA 之类的工具来探索每一个值来说太多了。
任何人都可以推荐适合该领域的强化库(最好使用 Python 绑定(bind))或我可以自己实现的未实现的算法吗?
最佳答案
您的实际状态是机器人在世界中的位置和方向。使用这些传感器读数是一个近似值,因为它可能会使许多状态无法区分。
现在,如果您沿着这条路走下去,您可以使用线性函数近似。那么这只是 24 个二元特征(12 0|1 + 6*2 close|far|very_far)。这个数字非常小,您甚至可以使用所有特征对进行学习。沿着这条路走下去是在线发现特征依赖关系(例如,参见 Alborz Geramifard 的论文)。这与你对分层学习的兴趣直接相关。
另一种方法是使用传统算法来跟踪机器人的位置,并将该位置用作 RL 的输入。
关于machine-learning - 分层强化学习的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26600905/
下面的脚本 test.php 旨在放置在我所有 wordpress 站点的特定目录中。它的作用是抓取下面$source地址的文件,解压到它所在的目录下。这就是它的全部意图。 例如,我将在我的中央服务器
我有以下代码,并且在 copyMessages() 处遇到资源注入(inject)问题。 我不知道如何解决这个问题? Abstract: Attackers are able to control t
上个学期我介绍了 Java 中的面向对象编程,下学期我将学习 Java 计算机科学 2,它基本上学习用 Java 实现的各种算法和数据结构,例如链表、二叉树等。 ..我可以通过哪些方法来巩固在面向对象
我很好奇 Fortify 规则集在 Android 应用程序中寻找哪些漏洞。不幸的是,我找不到任何相关文件。我知道他们四处寻找 Java 特定的漏洞以及组件的权限检查——还有其他吗? SQL注入(in
我在 fortify 报告中收到第 4 行的 XML 外部实体注入(inject)安全警告。不知道如何解决它。我对 SOAP、JAXB 和 Marshaller 还很陌生。 1 private
查找以“#PermitRootLogin yes”开头的行并替换为“PermitRootLogin no” 在底部添加一行“AllowUsers user1@test.com” 重新启动 sshd 守
我正在尝试强化我的 session 并找到了下面的代码。我的问题是这一行 isset($_SESSION['last_ip']) !== $_SERVER['REMOTE_ADDR']。 当我回显比较
当我在 Java 8 中包含以下代码时,我在 fortify 中遇到 Null Dereference 问题: String name = statusList.stream() .map(s
我有一个强化漏洞:跨站点脚本:DOM。 在我的应用程序(asp.net)中,我们动态构建 html 并将其分配给一个 div 标签,它在其中提示问题。 str += '
强化安全运行不合规代码 public static A read(String path) throws IOException, ClassNotFoundException { try (
出于安全考虑,我计划不允许 Azure 服务与 Azure 服务进行通信,而只允许与它正在使用的服务进行通信。 例如,我有一些使用 Azure SQL 数据库的 Web 应用程序。我应该只在 Azur
出于安全考虑,我计划不允许 Azure 服务与 Azure 服务进行通信,而只允许与它正在使用的服务进行通信。 例如,我有一些使用 Azure SQL 数据库的 Web 应用程序。我应该只在 Azur
早上好,我在 Android 项目上使用 native 库,它只是包签名的简单 md5hash,但是我在具有 JNI 功能的 64 位设备上遇到问题: char *getSignatureMd5(JN
我正在开发一个基于 struts 的 Web 应用程序。在该应用程序中,我们从 Jsp 生成并下载 xls 文件。在Jsp文件和web.xml中,我将内容类型设置为“application/vnd.m
我正在处理遗留系统,我们只是用 HP Fortify 扫描了它并得到了JavaScript Hijacking: Vulnerable Framework,代码如下。我能做些什么来确保这一点?我并不完
大家好,我有一个由 fopen 使用产生的强化问题“路径操作”。根据 fortify,我可以实现一个白名单来修复它,所以有我的白名单验证器: white_list.c #define BUFF_WHI
我们正在使用 Fortify 扫描我的 Android 源代码,但我无法解决这个问题: Category: Android Bad Practices: Missing Google Play Ser
我是一名优秀的程序员,十分优秀!