国外大学自办星际赛事 鼓励学生自制AI来对战
比起为了考试念书,电子游戏对学生的吸引力总是更强大,Inverse报道指出,中欧两所大学的电脑科学家找到方法利用这点,让玩《星际争霸:怒火燎原》(Starcraft: Brood War)游戏的过程也能变成一种学习。
自2011年以来,斯洛伐克夸美纽斯大学(Comenius University)和捷克布拉格捷克理工大学(CTU)一直都在举办学生间的《星际争霸:怒火燎原》赛事,但和一般现在常见的电竞联赛不同,学生并不需要操控角色,而是必须编码自己的人工智能(AI)来比赛。
学校将这场赛事称为“SSCAIT”。赛事的创办人、游戏模拟调研小组的负责人Michael Certicky表示,SSCAIT最初只是一个地区性活动,大概只有当地50几名学生参加,但随着其中的趣味性受到学生喜爱,他们便决定开放给大众与非学生参与。
“到了现在,赛事有来自世界各地的人们、团队编码出的机器人对战,直播赛事的Twitch也全天候都有人在观赏赛事。”
自AI“深蓝”打败西洋棋王以来,许多科技公司一直都在训练自家AI参与各种回合制游戏,直到近期才开始转往即时策略游戏发展。相较回合制,即时策略游戏考验的是每分秒间的决策,而这也正是将AI推往极限的完美考验。
自朴实地诞生以来,SSCAIT一直不断成长,除了持续进行对战之外,SSCAIT每年底还会举办循环赛,光是去年SSCAIT就办了1,035场学生赛事,近期SSCAIT更预计举办6,006场比赛,由此可看出SSCAIT的受欢迎程度。
随着SCCAIT参与人数越来越多,Certicky也注意到学生提交的内容变得更复杂。比赛刚开始的前几年,机器人简单地编码来执行特定的任务,但现在一些“参赛者”已经不同于前了。
“一开始的时候,多数参赛机器人都是写死(hard-coded)的状态,但现在人们开始尝试许多复杂的AI,像是人工规划、遗传算法、神经网络等。随着每年越来越多机器人都有机器学习功能,它们变得能在众多场对战中学习并持续成长。”
类似象棋的回合制游戏中,AI可以根据对手的移动情况,快速计算出最佳移动方式,但在即时策略游戏,人们经常不知道对手在做什么,直到他们攻击你的基地,玩家必须即时分析现有情况并应对。
▲创造出AlphaGo 的DeepMind也曾表态要开始挑战即时策略游戏。(Source:DeepMind)
这大概也正是即时策略游戏能成为测试、改进AI 最佳虚拟环境的原因之一;即时策略游戏中,没有两场对战内容会完全相同,编码者并不能只为机器人编码一个策略,他们必须找到方式让机器人适应不断变化的战况。
对AI开发者来说,即时策略游戏成了非常适合测试算法的环境,而对正在学习编程的学生来说,这样的学习不仅十分有趣,更可以精进适用未来职业生涯的技能。那么,何乐而不为?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CSS样式规则及字体样式
- 引入CSS样式表(书写位置)
- CSS复合选择器
- 不是吧,Serverless 还能这么玩?
- 这一行代码,能让你的 Python 运行速度提高 100 倍!
- 【52期】记一道简单的Java面试题,但答错率很高!
- 面向隐私 AI 的 TensorFlow 深度定制化实践
- 别再问如何用Python提取PDF内容了!
- gff文件转换成gtf文件
- R的save,load函数和 .rda文件
- 10行Python代码自动清理电脑内重复文件,解放双手!
- 【一天一大 lee】二叉树的后序遍历 (难度:中等) - Day20200929
- 一日一技:在Golang下如何相对简单地开发爬虫?
- 原创 | 一文读懂正态分布与贝塔分布
- 收款神器!解读聚合收款码背后的原理