问题标签 [tournament]
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.
scheduling - 3v3 循环赛程生成器
我被要求为 3v3 排球锦标赛创建循环赛时间表,其中必须满足以下标准:(从最重要到最不重要)
每个玩家与另一个玩家不超过一次比赛 每个玩家至少可以玩 4 次 每个玩家不能坐下超过一轮 每个玩家与另一个玩家的比赛不
超过两次
当我有以下情况时,我正在努力解决的问题是:40 名球员 4 个球场
我已经能够为 15 个团队暴力破解一个半功能解决方案,但是手工完成它变得太笨拙了,所以我正在考虑尝试用 Java 编写一个程序。我不完全确定如何制作一个蛮力程序来做到这一点。我目前正在尝试使用每个可能的 3 人团队的列表并将它们插入到日程表中。然后迭代它们替换直到游戏正常运行。
这是其他人提出的同一问题的另一个版本 https://eso-community.net/viewtopic.php?t=9816
这里的最佳答案为8-13人的团队提供了完美的解决方案
algorithm - n 队、m 组、k 前进者和幸运失败者的锦标赛树播种
想象一个有 6 个小组和每组 4 个团队的锦标赛。每组的 2 支队伍(从现在起称为“发起人”)进入淘汰阶段(锦标赛树/括号阶段......)。现在有 6 组,每组有 2 个进程,总进程数为 12。因为 12 不是 2 的幂,所以我们需要更多的团队,进入这个状态。这些额外的参赛者(从现在开始称为“幸运失败者”)是所有组中最好的 4 名第三名的球队。
您可以在 EC 2016(法国)游戏计划中看到此设置。 https://www.fussball-em-2016.com/wp-content/uploads/2016/01/em-2016-spielplan.jpg
在最后的小组赛桌之后,您可以看到在 16 轮中谁在与谁对战。问题来了。是否有针对 n 个组、m 个进程和 k 个幸运失败者的特定播种。如果我尝试总结给定的示例,它会以某种方式如下。
第 n-(n+1) 组的第 m 个进行者(没有幸运失败者)与第 n-(n+1) 组的第 m 个进行者(没有幸运失败者)。但为什么会这样。为什么A组第2对战C组第2而不是B组。但是如果我们得到这个信息,我是否总是需要跳过第1组,或者第1组第2对阵( n/2) 组。考虑到这场比赛,下一场比赛是D组的第1对先前跳过的B组或随后的E组或F组的第3。(如果有更多组,是否继续G,H,...? )。在这一点上,我不能再用 n, m ... 来表达它了。
我没有截断特定的代码,因为我仍然无法弄清楚如何迭代它的方法。首先,您跳过一个组(不知道是否总是一组或取决于组的数量)并且第 m 名的球队与另一组的第 1 队比赛。然后是前面没有提到的组的幸运失败者。我想不出一个合适的结构或任何相似之处。
也许有人知道如何使用未定义数量的组、执行者和幸运失败者创建这种播种的方法,同时考虑到根本没有任何幸运失败者。当然它只需要工作,如果总执行者 + 幸运失败者的数量是 2 的幂,那么可以创建一棵合适的树。
python - 4 人锦标赛调度,Python
我正在尝试开发一种算法来生成我家人每年举办的游戏锦标赛的时间表。我写了一个只能部分工作的解决方案;似乎它适用于 2^x 玩家,但不是介于两者之间。
Parcheesi 是一次有 4 人参加的游戏,不多也不少,因此我们安排比赛时有 4 人的倍数(16、28、32 等)。在第 1 轮中,有 n/ 4场比赛同时进行。然后在第 2 轮中,每个人都洗牌并扮演新人。在第 3 轮中,同样的事情发生了。理想情况下,没有人会两次扮演任何其他人。这就是我的困境的症结所在,试图编码没有人再扮演其他人的属性。
这是我这样做的方法。我确定代码效率低下,因此请随时提出建议(不过,我并不担心效率)。我只希望它适用于 3 轮以上和任何 4 倍数的人数。
如果玩家人数是 32,我最多可以安排 5 轮比赛。但是如果我增加到 36 名玩家,它就会中断。它在第 2 轮中有点“用完”牌桌,并且无法将玩家 33 添加到他还没有玩过某人的牌桌。
我曾尝试向后、向前/向后、交替、随机化放入表中的玩家和其他玩家列表进行迭代,但似乎没有任何效果。
在实践中,我们手动制定了这个时间表并且效果很好。我想写这个程序作为对自己的挑战,但被卡住了。
php - 如何在不重新创建支架的情况下重新加载支架?
我正在使用http://www.aropupu.fi/bracket/为锦标赛网站创建括号,我将 json 存储在我的数据库中,每当它被修改时,我都会更新数据库中的 json。我有另一个页面从数据库轮询 json。这很好用,唯一的问题是,目前当我从数据库中检索 json 时,我必须重新创建整个括号,因此它被销毁并创建,所以用户被送回开始(如果他正在滚动它) . 有没有更好的方法来用 json 更新括号而不破坏和重新创建它?
我尝试通过在括号内找到标签并替换文本来直接设置值(如下所示)。这样做的问题是支架没有收到更改通知,也没有让玩家前进。
谢谢你。
python - 为第 5、7、9 等位置生成匹配项
我有一种方法可以为小组赛中两支球队中最好的球队生成比赛。
我想改进此脚本,以便它还为后续位置生成匹配项。如果有 3、4、5 支或更多球队参加季后赛,则此脚本应相应地生成比赛。如果小组赛的队伍数量不是奇数,则必须按以下方式生成比赛:最佳队伍对最差队伍。例如:
例如,来自[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
我期望以下输出的输入:
[[1, 7], [6, 2], [3, 9], [4, 8], [5, 10]]
组的数量也是动态的,可以有 2、4、6、8、10 等组。在这种情况下,前两组互相玩,接下来的两组相同,下一个和下一个
[[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24]]
输出应该是:
javascript - JavaScript 上的不同随机字符串比赛匹配
您需要在 JavaScript 中使用外部输入的字符串创建一个 Array,并以 2×2 的方式打印它们,前提是串联的 Array 不同。我试过这段代码,但随机数是一样的。帮不上忙。我应该将输入与数组匹配。
python - 比赛选择 平均体能没有增加?
我正在尝试实现一种遗传锦标赛选择算法,其中人口的平均适应度上升,但我的平均适应度没有改变。
如果有人可以查看我的代码并就我做错了什么提出建议,我将不胜感激。你可以在这里找到代码:https ://github.com/Mithycal/tournament-selection-algorithm
寻找适合度的代码:
c# - 如何制定循环赛赛程?
我正在建立一个循环赛风格的比赛日程。我设置了一个算法来构建匹配,但是匹配顺序不是我想要的。我正在努力开发一种算法,该算法将按照我想要的顺序构建匹配项。请参阅下面的示例,其中包含 6 队支架。每条垂直线代表锦标赛中的一行。最左边的数字代表基地队种子以及他们将在每轮比赛中扮演的角色。
注意:对我来说唯一真正重要的是 1 号和 2 号种子在比赛的最后一轮比赛。最好是在第一轮比赛中进行 1 对 6、2 对 5、3 对 4 的比赛。所有其他比赛都不那么重要。提前感谢您提供的任何帮助。
1:6 5 4 3 2
2:5 4 3 6 1
3:4 6 2 1 5
4:3 2 1 5 6
5:2 1 6 4 3
6:1 3 5 2 4
这是我当前的代码:
genetic-algorithm - 遗传算法中基于锦标赛的选择的概率是多少?
因此,为了解决这个问题,我必须计算“N”个群体中“x”级个体赢得 2 锦标赛的概率:
给定 206 个人,如果到目前为止只举行了一场锦标赛,排名 79 的个人在 2 场锦标赛中幸存的概率是多少。
所以我认为基本上没有被选中参加锦标赛的概率乘以如果被选中获胜的概率。
因此,如果被选中,它将是 (205/206) * (1/206) * 获胜的概率。
我的逻辑正确吗?如果是的话,如果被选中,获胜的概率是多少?
android - 如果单击开始按钮,则不会继续
我想申请找到理想的锦标赛类型。下面的代码是在您按下开始按钮时启动的函数。'choice1' 和 'choice2' 是布尔值,当每个图像按钮被按下时变为真。单击开始按钮时,仅按下按钮而不执行。我是初学者,所以我不知道出了什么问题。帮我。