围棋吧 关注:349,858贴子:10,631,507

围棋经理模拟对战,你能获胜吗😋

只看楼主收藏回复

规则如下:
1.一个队伍必须有4个人,不限外援人数
2.你总共有40组队点数
3.每选择一名选手,你要花费这位选手的段位与世冠数之和的点数,如选择丁浩,组队点数花费3+9共12点4.选择完毕后,你可以ban掉任意位棋手,让你的对手不能选择,ban掉一位棋手需要花费其段位与世冠数之和四分之一的组队点数(五舍六入,没有写错,这是为了不让ban一冠群花费过高),如ban小申,需要花费(8+9)/4,取整后为4点
5.当你组队完成后,你的对手可以从剩下的棋手中任选4名,与你对战(规则基本与围甲季后赛相似,比赛两轮,第二轮设主将,赛前两边都知道主将和快棋台位置),你能战胜对手吗
为了让棋手的实力数据化,本次对战模拟采用g榜分数作为选手的实力数据。为提供参考,g榜等级分高对手50分,胜率为57%,高对手100分,胜率为64%,高对手150分,胜率为70%,高对手200分,胜率为76%,高对手250分,胜率为81%。如果棋手拿过快棋冠军,当这位棋手在快棋台上,能获得胜率加5%的增益




IP属地:江西来自Android客户端1楼2025-03-09 13:11回复
    评论区可以给出你的bp,以及谁坐快棋谁坐主将,我来作为你的对手进行对战,并用电脑模拟对战结果


    IP属地:江西来自Android客户端3楼2025-03-09 13:18
    回复
      2025-07-29 10:15:49
      广告
      不感兴趣
      开通SVIP免广告
      王星昊(主)屠晓宇 李钦诚(快)李维清
      ban小申


      IP属地:北京来自Android客户端4楼2025-03-09 13:27
      收起回复
        这个玩法数据得再调整。选拔4个人,点数一共40点,那也就是平均每个人10点,即4个一冠群。那么水平相当于一冠群的暂时无冠九段(王星昊、李维清、屠晓宇等)就属于显著高性价比选手。输出差不多但历史成绩更好的(柯洁、芈昱廷、辜梓豪等)就成了陷阱。


        IP属地:山东来自Android客户端5楼2025-03-09 14:23
        收起回复
          申真谞(主将)-杨鼎新(快棋)-李轩豪-战鹰(田忌赛马)不ban人


          IP属地:湖北来自Android客户端6楼2025-03-09 15:36
          收起回复
            小申(主将)、王星昊、丁浩、战鹰


            IP属地:上海7楼2025-03-09 16:36
            收起回复
              主将制还是必选小申,申真谞+王星昊+金禹丞+薛冠华


              IP属地:湖北来自iPhone客户端8楼2025-03-09 16:43
              收起回复
                deepseek告诉我应该选:申,杨鼎新,王星昊,金禹丞


                IP属地:湖北来自Android客户端9楼2025-03-09 16:47
                收起回复
                  2025-07-29 10:09:49
                  广告
                  不感兴趣
                  开通SVIP免广告
                  秉承互联网精神,给代码开个源
                  import randomfrom collections import defaultdict
                  def process_team(players): """处理队伍结构,分离主将、快棋和普通选手""" team = {'main': None, 'fast': None, 'regular': []} for p in players: if p['role'] == 'main': team['main'] = p elif p['role'] == 'fast': team['fast'] = p else: team['regular'].append(p) return team
                  def simulate_match(a, b): """模拟单场比赛,返回胜方(A/B)""" prob = 1 / (1 + 10**((b['rating'] - a['rating'])/400)) return 'A' if random.random() <= prob else 'B'
                  def simulate_round1(team_a, team_b): """第一轮模拟,返回得分和对战日志""" log = ["第一轮比赛"] score_a, score_b = 0, 0 # 快棋对决 a_fast = team_a['fast'] b_fast = team_b['fast'] result = simulate_match(a_fast, b_fast) log.append(f"快棋对决:{a_fast['name']}(A) vs {b_fast['name']}(B) → {'A胜' if result == 'A' else 'B胜'}") if result == 'A': score_a += 1 else: score_b += 1
                  # 其他选手对决 a_players = [team_a['main']] + team_a['regular'] b_players = [team_b['main']] + team_b['regular'] random.shuffle(a_players) random.shuffle(b_players)
                  for a_p, b_p in zip(a_players, b_players): result = simulate_match(a_p, b_p) log.append(f"常规对决:{a_p['name']}(A) vs {b_p['name']}(B) → {'A胜' if result == 'A' else 'B胜'}") if result == 'A': score_a += 1 else: score_b += 1 log.append(f"第一轮结束:A队 {score_a} - B队 {score_b}") return score_a, score_b, log
                  def simulate_round2(team_a, team_b): """第二轮模拟,返回得分和对战日志""" log = ["第二轮比赛"] score_a, score_b = 0, 0
                  # 快棋对决 a_fast = team_a['fast'] b_fast = team_b['fast'] result = simulate_match(a_fast, b_fast) log.append(f"快棋对决:{a_fast['name']}(A) vs {b_fast['name']}(B) → {'A胜' if result == 'A' else 'B胜'}") if result == 'A': score_a += 1 else: score_b += 1
                  # 主将对决 a_main = team_a['main'] b_main = team_b['main'] result = simulate_match(a_main, b_main) log.append(f"主将决战:{a_main['name']}(A) vs {b_main['name']}(B) → {'A胜' if result == 'A' else 'B胜'}") if result == 'A': score_a += 1.5 else: score_b += 1.5
                  # 普通选手对决 a_regs = team_a['regular'].copy() b_regs = team_b['regular'].copy() random.shuffle(a_regs) random.shuffle(b_regs)
                  for a_p, b_p in zip(a_regs, b_regs): result = simulate_match(a_p, b_p) log.append(f"常规对决:{a_p['name']}(A) vs {b_p['name']}(B) → {'A胜' if result == 'A' else 'B胜'}") if result == 'A': score_a += 1 else: score_b += 1 log.append(f"第二轮结束:A队 {score_a} - B队 {score_b}") return score_a, score_b, log
                  def calculate_win_probability(team_a, team_b, simulations=10000): """计算两队胜率""" counts = defaultdict(int) for _ in range(simulations): r1_a, r1_b, _ = simulate_round1(team_a, team_b) r2_a, r2_b, _ = simulate_round2(team_a, team_b) total_a = r1_a + r2_a total_b = r1_b + r2_b if total_a > total_b: counts['A'] += 1 elif total_b > total_a: counts['B'] += 1 else: counts['Tie'] += 1 return {k: v/simulations for k, v in counts.items()}
                  def generate_single_battle(team_a, team_b): """生成单次模拟结果""" r1_a, r1_b, log1 = simulate_round1(team_a, team_b) r2_a, r2_b, log2 = simulate_round2(team_a, team_b) total_a = r1_a + r2_a total_b = r1_b + r2_b result = ["模拟对战结果:"] result += log1 result += log2 result.append(f"总分:A队 {total_a} - B队 {total_b}") result.append("最终胜利:" f"{'A队' if total_a > total_b else 'B队' if total_b > total_a else '平局'}") return '\n'.join(result)
                  # 示例使用if __name__ == "__main__": # 输入队伍数据示例 team_a_players = [ {'name': '申真谞', 'rating': 3880, 'role': 'main'}, {'name': '杨鼎新', 'rating': 3661, 'role': 'fast'}, {'name': '李轩豪', 'rating': 3655, 'role': 'regular'}, {'name': '战鹰', 'rating': 2807, 'role': 'regular'} ] team_b_players = [ {'name': '王星昊', 'rating': 3713, 'role': 'main'}, {'name': '丁浩', 'rating': 3671, 'role': 'fast'}, {'name': '柯洁', 'rating': 3673, 'role': 'regular'}, {'name': '朴廷桓', 'rating': 3686, 'role': 'regular'} ]
                  # 处理队伍结构 team_a = process_team(team_a_players) team_b = process_team(team_b_players)
                  # 计算胜率 probabilities = calculate_win_probability(team_a, team_b) print(f"胜率分析:\nA队: {probabilities['A']*100:.1f}%\nB队: {probabilities['B']*100:.1f}%") if 'Tie' in probabilities: print(f"平局: {probabilities['Tie']*100:.1f}%")
                  # 生成单次模拟结果 print("\n单次模拟过程:") print(generate_single_battle(team_a, team_b))


                  IP属地:江西10楼2025-03-09 16:47
                  收起回复
                    玩桌游呐?


                    IP属地:河北来自Android客户端11楼2025-03-09 17:03
                    收起回复
                      给的点数太少了,不赛马根本用不起,四个一冠群就40点了连小申都ban不了对手还能随便选,朴柯杨丁一上都快53点了,这谁能打的过要是双方规则一样感觉还有讨论空间
                      赛马的话主将小申17点,星昊9点,钦仔快棋台9点,再来个赛马的上野爱咲美5点,凑合事吧


                      IP属地:辽宁来自Android客户端12楼2025-03-09 17:23
                      收起回复
                        而且感觉光用等级分这个还是有一定缺陷的,比如说锤妹现在等级分3200,用等级分来看锤妹打柁老胜率个位数,但是现在如果真让俩人下一盘我觉得胜率至少六四开


                        IP属地:辽宁来自Android客户端13楼2025-03-09 17:29
                        回复
                          沟槽的小申,怎么在代码里也一把不输,差点以为是代码bug,试了好多次才输了一把,还得是鼎猪
                          常规对决:申真谞(A) vs 杨鼎新(B) → B胜


                          IP属地:江西14楼2025-03-09 17:34
                          回复
                            申真谞(煮将),王星昊,杨鼎新,我(快棋),ban朴廷桓


                            IP属地:山东来自Android客户端15楼2025-03-09 19:14
                            收起回复
                              2025-07-29 10:03:49
                              广告
                              不感兴趣
                              开通SVIP免广告
                              好贴


                              IP属地:江西来自Android客户端16楼2025-03-09 19:44
                              回复