问题标签 [upperbound]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
11029 浏览

c++ - STL MAP 应该使用 find() 或 [n] 标识符在地图中查找元素?

我很困惑哪个更有效?

既然我们可以直接访问map,为什么还要使用find呢?

我只需要知道哪种方式更有效。

提前致谢!:)

0 投票
1 回答
1784 浏览

c++ - C++ STL 算法 upper_bound() 严格来说不是更大

与 lower_bound 不同,upper_bound 不返回迭代器到元素,如果它比较等于 value,但只有当它比较严格更大。

如果我想要一个大于或等于的上界算法,是否有替代方案。

0 投票
1 回答
3000 浏览

algorithm - 蒙特卡洛与 UCB 应用于复杂纸牌游戏

我正在尝试了解 MCTS 算法的工作原理以及如何在纸牌游戏中实现它以改进 AI 引擎。

我已经阅读了 mcts.ai/ 网站和许多关于它的论文,其中一篇显示了一些关于在 AI 中应用 Monte Carlo Search 和 UCB 成功进行魔术纸牌游戏的结果,这或多或少是我需要做的,但是我在尝试理解某些要点以及如何应用它时遇到了一些麻烦,因此请解决我需要的问题。我在数学方面也没有那么丰富的经验,所以当论文用复杂的公式解释所有这些东西时,我会迷失方向。

到目前为止,这是我想出的:

  1. 给定一个游戏状态(用户参与游戏),确定哪些是可以进行的所有可能的合法游戏,然后我将创建一个节点列表(一个代表每个游戏)作为 MCTSTree 根节点中的一个属性,每个节点的结果(分值?)

  2. 使用随机玩家模拟每个合法游戏的完整(直到结束)游戏,并在每个节点中记录结果,无论玩家是赢还是输,以便获得完整的画面。

这里是“我认为”蒙特卡洛 + UCB 应该应用的地方:

  1. 使用 UCB 递归地选择更有希望的游戏(节点),如果是它的叶子,则使用其 gameState 中的所有可能游戏扩展该节点。

  2. 从选定的节点模拟n次播放,直到达到一定的时间。

    • 在这个阶段我有一些疑问......假设我尝试随机播放给定可能的播放列表......为了继续模拟,我与第一个结果有什么关系?那我应该让树长大吗?
  3. 如何反向传播结果?

然后,

  • 请记住,由于这是一个复杂的纸牌游戏,而且我有很多可能的动作……它的性能是否足够好,可以在任何节点中拥有这么多孩子?

  • 如果每个模拟都基于一个游戏状态,并且每次玩家应用动作时游戏都会改变状态,那么我怎么知道这棵树是否真的有用?

我真的很感激这方面的任何帮助。

非常感谢!

0 投票
4 回答
369 浏览

java - 适合添加到上限 ArrayList 的方法参数

以下代码是抽象类的一部分,该抽象类旨在被子类化以管理特定类型的 Shape。(它实际上是特定类的存储库,但现在不相关)

如何接受 Shape 子类作为 addShape 中适合添加到 ArrayList 的参数?

0 投票
1 回答
96 浏览

java - 我无法为 AsyncTask 的 Result 参数设置上限

我正在尝试为 AsyncTask 的 Result 参数设置上限,如下所示:

编译器抱怨 'extends 不是预期的,它需要一个逗号。

我尝试将 Model 编写为抽象类和常规类。

有任何想法吗?

谢谢你,大卫

0 投票
6 回答
5138 浏览

c++ - 如何找到键大于 val 的地图的第一个元素

我有一个map<double,T>(比如说T==string),我想找到地图的第一个元素,使得键大于给定的数字。我查看<algorithm>并找到了upper_boundlower_bound

奇怪的是,我可以使用lower_bound但不是上面的第一个upper_bound,我做错了什么?

0 投票
9 回答
29826 浏览

java - Java 等价于 c++ equal_range(或 lower_bound 和 upper_bound)

我有一个排序的对象列表,我想找到对象的第一次出现和最后一次出现。在 C++ 中,我可以轻松地使用 std::equal_range (或者只有一个 lower_bound 和一个 upper_bound)。

例如:

在Java中,似乎没有简单的等价?我应该如何处理相等的范围

顺便说一句,我使用的是标准导入 java.util.List;

0 投票
1 回答
12777 浏览

css - CSS width 和 height 属性的最大像素值是多少?

pxCSSwidthheight属性接受的最大有效值是多少?

(我目前正在构建一个 webapp,它创建一个非常大的可缩放容器元素,我想知道实际的限制是什么。)

0 投票
1 回答
867 浏览

java - 具有多个类的上限 - Java 泛型

我需要接受一个可以是 TypeA 或 TypeB 的 Map,如下所示。

我该如何声明?我不能为上限指定两个类。

太宽了。我想将其限制为 TypeA 或 TypeB

有更好的办法吗?

不能用接口包装 TypeA 和 TypeB。

编辑: 从答案中,我了解到,自定义类型是不可能的。后续问题是,如果我只使用<? extends Object>,我应该如何检查 的类型?是 A 型或 B 型。我应该使用instanceof吗?代码示例?

0 投票
2 回答
273 浏览

c++ - 保护 C++ 变量免于溢出?如果值小于任何 DataType 的 UpperBound

我想保护我的变量不存储溢出值。

我正在计算树中每个级别和某些阶段的损失。

  1. 它给出像 4.94567e+302 这样的值;这个值是否正确。如果我将它(如最小值、最大值等)与任何其他值进行比较。它会给出正确的答案吗?
  2. 有时它给出否定的答案,但公式不能给出负值,所以这种值肯定是错误的

我想在我的 c++ 代码中做以下事情。

例如: