
文章图片

文章图片

文章图片

文章图片

会刷编程竞赛题的AlphaCode来了!
其实 , AlphaCode早在几个月前就“悄悄进村”了 , 一直没人察觉 。
它默默参加了著名网站Codeforces最近举行的10场编程比赛 , 成绩超过了一半人类 。
直到今天DeepMind才公布最终成绩:AlphaCode在这10场比赛中排名前54.3% , Elo评分1238 。
更重要的是 , 在编程比赛这样考察算法创造力的问题中 , AI终于不落下风 , 而这恰恰是AI过去所欠缺的 。
如果把这个分数放到过去六个月总体来看 , AlphaCode的成绩更为优秀 , 因为它只刷了10周的题目 , 就已经达到了前28%用户的水平 。
Codeforces是一个由俄罗斯程序员Mikhail Mirzayanov创办的编程竞赛网站 , 大约每周举行一次名为“Codeforces Rounds”的编程比赛 。
通过Codeforces的Elo评分可以衡量一位程序员的编程水平 。
△ Codeforces创始人Mikhail Mirzayanov
当看到AlphaCode的成绩后 , 连创始人Mirzayanov都惊讶不已 。
他原本对AI持怀疑态度 , 因为编程比赛考验的是发明算法的能力 , 这是最困难的 , 没想到AlphaCode的结果完全超出了他的预期 。
DeepMind发布这条消息仅半天 , 在Twitter上已经有2000多次转发、5000多点赞 。
AlphaCode如何编程说了这么多 , 下面我们来看看AlphaCode是如何成为“编程做题家”的 。
以下是Codeforces上的1553D问题:
【Google|AlphaCode惊世登场!编程版“阿法狗”悄悄参赛,击败一半程序员】(链接:https://codeforces.com/problemset/problem/1553/D)
例如字符串s是”abcbd” , 你分别在第一个位置和第四个位置按下Backspace , 那么将得到字符串”bd” 。
有两个字符串s和t , 都是由小写字母组成 。 对于字符串s , 我们从前向后扫描整个字符串 。
如果按下Backspace键 , 就删除该光标前到上一个未删除字符之间的所有字符 。
因为在第一个光标位置前没有字符 , 所以第一次没有动作 。 第四个光标位置前的字符是c , 上一个未删除字符是a , 所以按下Backspace将删除前三个字符”bd” 。
好了 , 现在问题来了:
AlphaCode给出的代码是这样的:
我们能否从前向后扫描一次s字符串 让s变为t 。 如果可以输出YES , 否则输出NO 。
t=int(input()) for i in range(t):s=input()t=input()a=[
b=[
for j in s:a.append(j)for j in t:b.append(j)a.reverse()b.reverse()c=[
while len(b)!=0 and len(a)!=0:if a[0
==b[0
:c.append(b.pop(0))a.pop(0)elif a[0
!=b[0
and len(a)!=1:a.pop(0)a.pop(0)elif a[0
!=b[0
and len(a)==1:a.pop(0)if len(b)==0:print(\"YES\")else:print(\"NO\")
向以上程序输入4组字符串:
4 ababa ba ababa bb aaa aaaa aababa ababa
得到的输出是:
- Google|这才是“小钢炮”,A15芯片+5.42英寸小屏+140g,已降至4599元起
- Google|空气能取暖设备家用130平方, 大概的多少钱呢
- Google|谷歌为什么当初收购安卓后,不直接闭源收费呢?
- Google|谷歌工程师跟AI聊出感情!他相信AI有意识,有感情,然后被停职了
- Google|自作孽不可活!拜登这波骚操作,可能要把苹果谷歌亚马逊全都爆了
- Google|网站如何在Google建立索引
- 连姓都没有的达芬奇,为何会成惊世科学家?他甚至被怀疑为穿越者
- Google|还等什么Mate50,华为P50售价创新低与手环7成绝妙搭档,真香来袭
- Apple Watch|「瞄准」Apple Watch,Google 要为 Pixel Watch 开发多种表带
- Google|这家无所不知的公司,内部却悄悄被邪教渗透了……谷歌:这不能怪我
