草庐IT

java - 何时在 libgdx 中使用 Actor ?什么是缺点和优点?

我正在编写简单的太阳系模拟器。这是我的第一个libgdx项目。我在主菜单中使用了舞台和Actor,并且非常方便,尤其是触摸事件处理。但是......看看这些例子,我发现没有人在实际游戏逻辑中使用Actor。如果我应该使用actor作为行星类的父级,或者只是编写我自己的类,我会徘徊。行星是不可触摸的,它们只会在帧之间移动,因此ActionMoveBy的第三个参数必须是帧之间的时间。这就是缺点。使用Actors的优点是什么? 最佳答案 Actor的主要优点是Action、HitTest和触摸事件以及Actor组。如果您的游戏逻辑需要,A

java - 如何在 Akka Classic 中向 Actor 的 parent 发送消息?

actor向其父级发送消息的方法是什么?我正在使用Akka2.2 最佳答案 你正在寻找getContext().parent()它为您提供父级的ActorRef,因此您可以这样做getContext().parent().tell(...) 关于java-如何在AkkaClassic中向Actor的parent发送消息?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/178535

java - 与 Scala/Akka Actor 相比,Java 线程有多重?

我只是在比较scalaactor与java线程的性能。我很惊讶地看到差异,我观察到使用我的系统我最多只能产生约2000个线程(一次运行)但使用相同的系统我能够产生约500,000个scalaActor。两个程序都使用了大约81MB的JVM堆内存。你能解释一下java线程是如何比scala/akkaActor重这么多的吗?scala-actor如此轻量的关键因素是什么?如果我想获得最佳的可扩展性,我应该选择基于Actor的Web服务器,而不是像JBoss或Tomcat这样的基于Java的传统Web/应用服务器吗?谢谢。 最佳答案 Sc

c++ - Actor 模型 : Why is Erlang/OTP special? 你能用另一种语言吗?

我一直在研究学习Erlang/OTP,因此,我一直在阅读(好吧,略读)关于actor模型的内容。据我了解,actor模型只是一组函数(在Erlang/OTP中称为“进程”的轻量级线程中运行),它们仅通过消息传递相互通信。用C++或任何其他语言实现这似乎相当简单:classBaseActor{std::queuemessages;CriticalSectionmessagecs;BaseMessage*Pop();public:voidPush(BaseMessage*message){autoscopedlock=messagecs.AquireScopedLock();message

ruby - 如何设计和构建使用Actor的程序

从JoeArmstrong'sdissertation开始,他指定基于actor的程序应该通过以下三个步骤进行设计。问题是,我不明白这些步骤是如何映射到现实世界问题的,也不知道如何应用它们。这是乔最初的建议。我们识别现实世界活动中所有真正并发的活动。我们识别并发活动之间的所有消息通道。我们写下所有可以在不同消息通道上流动的消息。现在我们编写程序。程序的结构应该完全遵循问题的结构。在我们的编程语言中,每个实际的并发活动都应该映射到一个并发进程上。如果问题与程序之间存在1:1的映射,我们就说程序与问题同构。非常重要的一点是,映射正好是1:1。其原因是它将问题和解决方案之间的概念差距最小化。

scala - Scala 的 actor 是否类似于 Go 的协程?

如果我想移植一个使用Goroutines的Go库,Scala是否是一个不错的选择,因为它的收件箱/akka框架在本质上类似于协程? 最佳答案 不,他们不是。Goroutines基于通信顺序进程的理论,正如TonyHoare在1978年所指出的那样。这个想法是可以有两个进程或线程,它们相互独立,但共享一个“channel”,一个进程/线程放置数据into和其他进程/线程消耗。您会发现最突出的实现是Go的channel和Clojure的core.async,但目前它们仅限于当前运行时并且不能分发,即使在同一个物理盒子上的两个运行时之间也

scala - Scala 的 actor 是否类似于 Go 的协程?

如果我想移植一个使用Goroutines的Go库,Scala是否是一个不错的选择,因为它的收件箱/akka框架在本质上类似于协程? 最佳答案 不,他们不是。Goroutines基于通信顺序进程的理论,正如TonyHoare在1978年所指出的那样。这个想法是可以有两个进程或线程,它们相互独立,但共享一个“channel”,一个进程/线程放置数据into和其他进程/线程消耗。您会发现最突出的实现是Go的channel和Clojure的core.async,但目前它们仅限于当前运行时并且不能分发,即使在同一个物理盒子上的两个运行时之间也

【强化学习】Actor-Critic(演员-评论家)算法详解

1ActorCritic算法简介1.1为什么要有ActorCriticActor-Critic的Actor的前身是PolicyGradient,这能让它毫不费力地在连续动作中选取合适的动作,而Q-Learning做这件事会瘫痪,那为什么不直接用PolicyGradient呢,原来Actor-Critic中的Critic的前身是Q-Learning或者其他的以值为基础的学习法,能进行单步更新,而更传统的PolicyGradient则是回合更新,这降低了学习效率。现在我们有两套不同的体系,Actor和Critic,他们都能用不同的神经网络来代替。现实中的奖惩会左右Actor的更新情况。Policy

【强化学习】Actor-Critic(演员-评论家)算法详解

1ActorCritic算法简介1.1为什么要有ActorCriticActor-Critic的Actor的前身是PolicyGradient,这能让它毫不费力地在连续动作中选取合适的动作,而Q-Learning做这件事会瘫痪,那为什么不直接用PolicyGradient呢,原来Actor-Critic中的Critic的前身是Q-Learning或者其他的以值为基础的学习法,能进行单步更新,而更传统的PolicyGradient则是回合更新,这降低了学习效率。现在我们有两套不同的体系,Actor和Critic,他们都能用不同的神经网络来代替。现实中的奖惩会左右Actor的更新情况。Policy

强化学习-学习笔记4 | Actor-Critic

Actor-Critic是价值学习和策略学习的结合。Actor是策略网络,用来控制agent运动,可以看做是运动员。Critic是价值网络,用来给动作打分,像是裁判。4.Actor-Critic4.1价值网络与策略网络构建a.原理介绍状态价值函数:$V_\pi(s)=\sum_{{a}}\pi({a}|{s})\cdotQ_\pi({s},{a})$(离散情况,如果是连续的需要换成定积分)V是动作价值函数\(Q_\pi\)的期望,\(\pi({s}|{a})\)策略函数控制agent做运动,\(Q_\pi({s},{a})\)价值函数评价动作好坏。但是上述这两个函数我们都不知道,但是可以分别用