方法与限制
随机分组的工作原理
工具将三项决定分开处理:如何计算队伍容量、如何打乱姓名,以及可选规则如何限制分配。
1. 准备名单,同时保留原始显示名称
每个非空行对应一名参与者。开头和结尾的空格会被移除;重音字符、非拉丁文字及表情符号会保留。可能重复的名字会被标记,由你决定保留或删除。
最多500个名字,每个名字120个可见字符(字素簇),总计50,000个。CSV按每行一名参与者读取逗号分隔的第一列,不支持引号内的换行。名字始终按文本而非HTML显示。
2. 计算队伍容量
选择“队伍数量”时,名单会被拆分为人数相差不超过一人的队伍。10 人分 3 队时,容量模式为 4–3–3。选择“每队人数”时,目标人数决定需要多少支非空队伍。
这只是一条人数均分规则,与能力、经验、角色、性别或社会公平无关。
3. 创建种子并打乱整份名单
不使用可选规则时,浏览器通过 Web Crypto 创建初始种子。带版本的确定性生成器随后驱动无偏整数选择和 Fisher–Yates 洗牌,再将参与者分配到计算出的容量中。
有序输入、设置、规则、种子和引擎版本相同时,可以复现结果。更换种子会得到新的抽签;抽签 ID 仅用于标识,并不证明队伍在能力上平衡。
4. 求解并核验可选规则
必须同队的人会作为整体处理。必须分开的两人不能进入同一队,固定队长分别占据不同队伍。系统优先放置限制最多的项目,并按种子控制的顺序进行有界回溯搜索。
求解后会核验每份输出。已知的无解情形会获得具体说明。若有界搜索耗尽,工具会报告求解器上限,而不会宣称数学上不存在任何解。
会验证什么,又不承诺什么
核心不变量包括:每名有效参与者恰好出现一次、人数规则成立、所选约束成立,并且相同引擎版本下可稳定复现。小规模情形可以穷举检查,大规模情形可以抽样检查明显的实现偏差。
随机或约束结果不是专业评估、无障碍决定,也不保证表现公平。平衡分组需要另外明确提供数据和文档化的目标。