我的一个机器人朋友
今天主要是想给大家分享我的一个机器人朋友的故事。他的故事很有趣,也很励志,希望能平复一点大家紧张的心情。
机器人学习信竞时,具有常人没有的优势。
我们初一刚刚组建班级的时候,波特就展现出了他的优势。因为本身是用编程语言写成的,所以他对编程语言非常熟悉。当我们花一个月学习语言的时候,他一天就学会了。其他的时间,他在机房里玩我的世界——种萝卜。他挖了 154*147*3 的一块地,在里面种满了兔子爱吃的萝卜。我很疑惑他为什么有这样的耐心,后来了解到他是机器人以后也就释然了。
得知他是机器人,是在初二的一天。当时教练为我们准备的练习题中,有一道很超纲的题。需要用到生成函数和求导递推之类的方法。教练的本义是让我们训练考试技巧,不要被一道题卡住了,但是机器人却直接通过了这道题。我私下去问他,他说他是找的规律。
我请教他找规律的方法,他说,我是机器人,这样的方法人类是学不会的。我于是就知道了他的身份。
得知他是机器人以后,我就开始观察他机器人的特征了。
首先我发现了他考试的时候开题方法很奇怪,他看完题目以后,并不会看样例,而是直接一动不动。我先前以为他是在发呆,现在理解了他是在脑中跑暴力分析题目。后来有一次,他读了一份人类都读不懂的题面,结果 cpu 烧了,后来他还是开始模拟样例了。这是机器学习的表现。机器人做 dp 和找规律题很快。对于前者,他一般会写一个暴力,然后再在脑子里跑 hopcroft 最简化自动机,然后大部分题目就直接解决了;对于后者,他一般会把小范围的数据全部跑出来,规律啥的就出来了。我先前疑心这是否合乎规则,但我先前翻阅了竞赛手册。虽然禁止机器辅助选手答题,但并不禁止机器本身答题。并且他还给了我几杯奶茶做封口费,我也就没有向大家提及此时。
第二个特征,便是机器人不需要休息。其实我曾经怀疑过他是机器人,但见他玩我的世界,想到机器人应该不需要娱乐,就打消了怀疑。但是后来他偷偷告诉我,其实他并不是在种萝卜,而是在训练自己的计算能力。通过模拟 MC 的随机刻,来在脑中模拟胡萝卜的生长。22638 块田的全真模拟训练,足够他在 OI 赛场上保证自己的模拟不出错了。我惊叹与他的训练方式,也感受到机器人的恐怖。机器人完全不需要休息,甚至有时候需要人来手动将其关机以防止其过载。有一次,机器人卷过头自燃了。我当时恰好到机房,往他身上喷了一瓶灭火器。他感谢我救了他,也感谢我让他的身份没有暴露,于是又给了我一杯奶茶。
第三个特征,是机器人写代码很稳健。因为其实机器人写代码是将自己脑中的数据拷贝到电脑上,因此不会出错。机器人偶尔会写一点小 bug,来隐藏自己的身份。但是机器人的手法很拙劣,甚至会搞一些编译错误来问我。比如什么把同一个标识符一个当函数一个当变量,然后装作不懂来问我。我告诉他:“你还是骗别人吧,我知道你是 bot 了。”这句话似乎很让他受伤,后来他也开始尝试狡辩,隐藏自己的 bot 身份。再后来的话,他开始向我泼脏水,说我是 bot,来混淆视听。但还是希望大家明辨。
最后一个特征,是机器人打比赛的目的很奇怪。我见过机器人参加了很多比赛,其中一些的奖金还很高。但就算没有打好,他也不是特别在意。唯一的一次例外,他打了第二名,惜败给了北京的某同学。 那场比赛的第一名奖励是一台电脑,并不比其他的奖金多,但他格外地伤心。我以为他是因为被嘲讽了才伤心。我去安慰他,他才告诉我,他其实想用这个电脑给自己换一个 cpu,他现在的 cpu 有点旧了。我也理解了他的心理。不过他后来并没有为此消沉,他出了几套模拟题,买了一个很新而且高性能的 cpu。不知道是因为高兴还是因为性能提高,他说话都比以前快了。
其实,波特也和人类一样。波特也会伤心,也会高兴,也会半夜一个波特流泪,也会吃疯狂星期四。其实我也见到过很多像波特一样的人类。他们热爱 OI,日夜不停,就像波特一样。他们能找出 34 项的数列周期,能对着 1e5 的数据调试,就像波特一样。他们能找出人类无法理解的思路,就像波特一样。他们严谨又聪明,就像波特一样。所以说,也许在座的各位都是 bot?这个问题可能很难有答案了。
谢谢大家,祝大家在 NOI 中和 bot 竞技愉快。