俄罗斯为何成为科技企业的“新宠”?

640?wx_fmt=gif

640?wx_fmt=jpeg

几天前,华为宣布要在俄罗斯增设3个研发中心。

当然,看中战斗民族这块“风水宝地”的并不仅有它一人,不少科技公司早就对俄罗斯伸出了橄榄枝。中国企业如阿里巴巴、海尔,海外巨头有微软,Facebook,英特尔,三星……

这种盛况,与“逃离硅谷”的大趋势形成了戏剧性的对比。明明几年前,不少跨国企业摩拳擦掌,抢着跟硅谷的“明星前辈”们做邻居,如今这是怎么了?

640?wx_fmt=png

硅谷毕竟是全球顶尖技术人才的聚集区,大部分科技公司、投资机构也齐聚于此。在这里建立研发中心,并不难理解。与之相比,俄罗斯究竟有什么独特魅力?

英国前首相丘吉尔曾经形容俄罗斯,是“把秘密包裹起来的难猜的谜语”。政客尚且如此,普通群众们就更难看透了。我们不妨顺着科技企业们的步伐延伸,来一场俄罗斯的“出圈”之旅。

出圈走花路,

俄罗斯的业务能力到底有多强?

俄罗斯在科技企业全球研发版图里的“出圈”,跟华为近期的大手笔不无关系:在五年内招揽1500位俄罗斯员工。什么概念呢?比华为在美国的6个研发中心人数加起来还要多。与之相比,英特尔俄罗斯地区的员工不到千人,三星在莫斯科的人工智能研发中心雇员只有100人,微软也差不多百人水平……“大粉”一出手,就知有没有,一下子就把俄罗斯推到了聚光灯下。

普通群众就像围观粉丝为小鲜肉买周边打榜一样,满头佛光问号:业务能力真的有那么强吗?

其实吧,在非母国建立研发中心,需要考虑的核心要素无非这几个方面:第一是人才资源的禀赋;第二是东道国的产业和政策因素,第三则是与企业母国之间的心理距离。

说到人才,俄罗斯良好的数理学基础早已不是什么新闻了,远有创立算数几何学派的大师Shafarevich,近有mitry Orlov,Perelman这样新生代的杰出数学家,圣彼得堡、莫斯科大学等高校也在信息技术领域有着全球顶尖的科研实力,渴望在基础算法、操作系统等领域有所突破的科技企业,前去俄罗斯挖掘“人才金矿”,也就不足为奇了。

作为东道国,俄罗斯在通讯技术、人工智能领域的产业基础和政策导向,也是吸引众多科技企业的关键因素之一。不仅基础水平有目共睹,比如人类历史上首次通过图灵测试的计算机就是出自俄罗斯团队之手,移动操作系统Aurora OS也由俄罗斯出品。

在推动高科技产业的政策支持水平上,俄罗斯的全国动员体质也表现得比很多国家要给力。

除了去年“上层建筑”们明确地发布了一系列雄心勃勃的人工智能、自动化、大数据等战略之外,俄罗斯也有意识地吸引本土人才回国从事高科技行业,吸引科技巨头建立研发中心也就成了增加本土职位竞争力的重要手段。

在一次与扎克伯格的会面中,俄罗斯总理梅德韦杰夫就表示了希望Facebook能在这里建立研发中心的愿望。

640?wx_fmt=png

(俄罗斯总理梅德韦杰夫<右>会见扎克伯格<左>)

当然,虽然希望海外巨头前来招揽人才,但俄罗斯也并不是一概全收的。现在多个国家都有意识地成立产业联盟,文化相似、邦交紧密、心理距离等“软实力”因素,也就成了重要的参考指标。比如俄罗斯一直与中国有着较为良好的互动,是多个产业的集中合作对象,因此进入壁垒比较低,很容易就建立起深度合作关系。

举个例子,面对华为这次规模浩大的“1500人研究团队”计划,俄罗斯科学院系统编程研究所所长阿鲁琼·阿韦季相也表示相信华为会培养人才,而非只是高薪从俄罗斯公司挖走员工,看来是被技术人才大量流入美国伤透了心啊,所以说合作如果没有长期且稳固的信任是很难达成的。

出圈之后,俄罗斯下一步会做什么?

当然,在跨国企业的研发网络版图中,俄罗斯并不是唯一选择。

一项由联合国贸易和发展会议(UNCTAD)对全球跨国公司开展的调查显示,最吸引跨国公司设立研发中心的国家,排名依次为:美国,英国,中国,法国,日本及印度。

目前看来,追求低研发成本已经不再是跨国公司转移研发中心的主要动机,取而代之的是希望贴近市场,以及更容易地获取包括技术人才在内的研发资源。而每个国家每个区域都有自身擅长的领域,在海外研发的区位上有意识地进行选择,能更好地提高企业的知识获取效率。

尤其是俄罗斯高科技产业发展并不均衡,有20%的从业人员集中在莫斯科及周边地区和圣彼得堡。所以,“因地制宜”、有针对性地布局也就显得格外重要了。

那么哪些具体领域,是俄罗斯有能力也有意愿在当下来共同探寻答案的呢?

首当其冲的,就是探索5G应用路径。5G商用进程虽然凶猛,但仍存在不少难题,比如工业级部署成本比较高,网络特性与产业需求相结合还缺乏完整的落地方案,在上游元器件部分如射频组件等,大多被美国Broadcom、Qorvo、Skyworks与日本村田、TAIYO YUDEN、TDK等国际厂商把持。

面对这些问题,俄罗斯产业集群已经开始行动。国家技术集团Rostec计划推出GSM信号抑制技术及反无人机解决方案,并且正在研发研发适用于城市公共事业、交通、工业和能源领域的综合物联网解决方案;俄罗斯软件发展协会(Russoft)主席瓦连京∙马卡罗夫也公布了5G网络基础设施的推进情况和6G技术的问世时间表。与他国科技巨头的研发协作,毫无疑问能够共同推动产业进程,规避美系企业把持产业链的潜在风险。

640?wx_fmt=png

其次则是机器自动化。承袭苏联的自动化工业基础,军用机器人的硬核开发实力,加上在军事、安防系统上的智能水平,让俄罗斯成为了工业用智能机器人的技术集大成者。

俄罗斯先期研究基金会下设的机器人技术发展中心,就曾展出一款名为“费多尔”的智能机器人,协助宇航员开展一系列工作。俄罗斯的战斗机器人也在无人参与的情况下,在多次战斗中大显身手,是俄罗斯的“重点培养对象”之一。

而目前全球头部科技企业在深度学习、图像识别、智能搜索等领域的优势日渐显著,智能机器人项目却往往受限于机械学、自然语言处理等领域,恰好可以和俄罗斯实现优势互补。

640?wx_fmt=png

(俄罗斯机器人宇航员“费多尔”)

另一个值得关注的是生物识别技术。

俄罗斯对安全领域的重视可以用“恐怖”一词来形容,但与需求大量增长的趋势相比,俄罗斯安防市场的新技术及解决方案发展相对迟缓,其中比较典型的就是生物识别技术。

俄罗斯联邦委员会曾批准一项法案,允许银行收集客户的生物信息,如人脸图像和语音信息,并将其储存在统一身份识别和认证系统(ESIA)中,建立一个全国金融系统的客户生物数据库。

但作为一个全新的安全类别,生物识别还有许多棘手问题有待解决,比如生物识别系统与技术的协调与标准、评估系统和运算法则程序的开发和运行、市场潜力的挖掘等等,这些全球性难题,都需要通过协作研发来打开局面。

640?wx_fmt=png

此外,对于区块链和数字货币,俄罗斯也罕见地表现出了宽容的态度。

尽管普京曾在接受媒体访谈时声称,俄罗斯不会拥有自己的数字货币,因为它是“跨越国界的产物”。但Facebook发行Libra货币时,俄罗斯财政部却不像其他国家的政治家和金融界那样如临大敌,还公开表示不会对Facebook的数字货币发布任何特别规定。对战斗民族来说,这态度几乎称得上是温柔了。

事实上,借助新技术提升俄罗斯疲软的经济,突破美国为首的经济封锁,是俄罗斯一直重点关注的领域。2017年,普京就先后两次和区块链领域的知名人士V神讨论该技术在俄罗斯的落地问题,准备在货物跟踪、身份认证以及版权保护系统上应用。

近年来,各国央行也都在积极研究和关注区块链、数字货币技术,母国企业自身特点结合俄罗斯的创新资源,在金融科技、监控技术等领域及早布局,长期看来,想象空间十分充足。

从硅谷梦到俄罗斯:

摇摆中的全球创新机制

在科技领域东西方博弈的关键时期,中国科技企业押注俄罗斯,似乎也变得意味深长起来,但是脱离政治因素去看待它,会发现这也是一种必然。

从逻辑上看,意识形态主导的相互猜忌,很难真正对科学领域产生长久的威胁。比如欧美一些人总是认为中国会通过进口技术获利,但在科学研发层面,科学家所做的工作都必须通过出版物、开源平台、国际会议等方式来验证。文章一旦发表,就意味着可以复现,数据和方法都是不能隐藏的,因为这对技术本身也是不利的。因此,孤立主义的科技政策注定不可持续,大可不必风声鹤唳、时时惊慌。

而以往被追捧的硅谷模式,也正在显露出其沉重繁冗的一面。有调查显示,46%的受访者计划在未来几年离开湾区,硅谷投资人也开始将三分之二甚至更多资金投入湾区以外的初创企业。,尽管它依然是高科技聚集胜地,但在全球协作创新的大趋势下,产业影响力已不复往昔,俄罗斯的硬核存在开始凸显,也是产业自身的必然选择。

640?wx_fmt=png

而另一方面,在企业的创新网络中,知识是一切的核心。而那些高价值、能够奠定产业权力的核心知识,都是内隐性的,很难被收购并购等形式直接获取,往往需要与海外当地先发机构进行较为深入的合作、系统的学习后才能接触到。

如果把科技企业比作一个“知识容器”的话,那么海外研发网络实际上就是一个更大型、更具深度的知识集合。基于这一前提,在关键领域有针对性地进行知识探索与合作,也是科技企业的应有之义。

总的来说,在全球科技研发的国际化初期,发达国家一直是创新活动的主体,研发活动不是在发达国家之间开展,就是从发达国家向发展中国家单方向流动。当硅谷和湾区不再是科技创新的热土,幸好还有许多新地图值得探索。

尤其是在ABCD5(AI,大数据,云计算,区块链,5G五大前沿技术)上,越来越多的发展中国家开始参与到创新全球化过程中。不同企业通过海外研发网络获得的增益“buff”各有不同,但俄罗斯的重要性和参与度,相信是注定无法被轻视的。既然如此,不妨在趋势之前,试着做那个先走出去征服魔龙的勇士。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=gif

640?wx_fmt=jpeg

当然可以!下面是一个简单的俄罗斯方块游戏的C语言代码: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include <windows.h> #define ROWS 20 #define COLS 10 int board[ROWS][COLS] = {0}; // 游戏面板 int shape[7][4][4] = { // 七种俄罗斯方块的四个状态 { {0,0,0,0}, {1,1,1,1}, {0,0,0,0}, {0,0,0,0} }, { {0,0,0,0}, {0,2,2,0}, {0,2,2,0}, {0,0,0,0} }, { {0,0,0,0}, {0,3,0,0}, {3,3,3,0}, {0,0,0,0} }, { {0,0,0,0}, {0,0,4,4}, {0,4,4,0}, {0,0,0,0} }, { {0,0,0,0}, {0,5,5,0}, {0,0,5,5}, {0,0,0,0} }, { {0,0,0,0}, {0,6,6,6}, {0,0,6,0}, {0,0,0,0} }, { {0,0,0,0}, {0,0,7,0}, {0,7,7,7}, {0,0,0,0} } }; int cur_shape[4][4] = {0}; // 当前俄罗斯方块的状态 int cur_row = 0; // 当前俄罗斯方块的行坐标 int cur_col = 0; // 当前俄罗斯方块的列坐标 int score = 0; // 当前得分 // 随机生成一个俄罗斯方块 void generate_shape() { int type = rand() % 7; int state = rand() % 4; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { cur_shape[i][j] = shape[type][state][i][j]; } } cur_row = 0; cur_col = COLS / 2 - 2; } // 在游戏面板上显示当前俄罗斯方块 void show_shape() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (cur_shape[i][j] != 0) { board[cur_row+i][cur_col+j] = cur_shape[i][j]; } } } } // 从游戏面板上清除当前俄罗斯方块 void clear_shape() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (cur_shape[i][j] != 0) { board[cur_row+i][cur_col+j] = 0; } } } } // 判断当前俄罗斯方块是否能够向下移动 int can_move_down() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (cur_shape[i][j] != 0) { if (cur_row+i == ROWS-1 || board[cur_row+i+1][cur_col+j] != 0) { return 0; } } } } return 1; } // 判断当前俄罗斯方块是否能够向左移动 int can_move_left() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (cur_shape[i][j] != 0) { if (cur_col+j == 0 || board[cur_row+i][cur_col+j-1] != 0) { return 0; } } } } return 1; } // 判断当前俄罗斯方块是否能够向右移动 int can_move_right() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (cur_shape[i][j] != 0) { if (cur_col+j == COLS-1 || board[cur_row+i][cur_col+j+1] != 0) { return 0; } } } } return 1; } // 判断当前俄罗斯方块是否能够旋转 int can_rotate() { int next_shape[4][4] = {0}; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { next_shape[i][j] = cur_shape[3-j][i]; } } for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (next_shape[i][j] != 0) { int row = cur_row+i; int col = cur_col+j; if (row < 0 || row >= ROWS || col < 0 || col >= COLS || board[row][col] != 0) { return 0; } } } } return 1; } // 将当前俄罗斯方块固定在游戏面板上 void fix_shape() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (cur_shape[i][j] != 0) { board[cur_row+i][cur_col+j] = cur_shape[i][j]; } } } } // 消除已经填满的行 void clear_rows() { int count = 0; for (int i = ROWS-1; i >= 0; i--) { int full = 1; for (int j = 0; j < COLS; j++) { if (board[i][j] == 0) { full = 0; break; } } if (full) { count++; for (int k = i; k > 0; k--) { for (int j = 0; j < COLS; j++) { board[k][j] = board[k-1][j]; } } for (int j = 0; j < COLS; j++) { board[0][j] = 0; } i++; } } score += count * 100; } // 显示游戏面板 void show_board() { system("cls"); printf("Score: %d\n", score); for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { if (board[i][j] == 0) { printf("."); } else { printf("*"); } } printf("\n"); } } int main() { srand((unsigned)time(NULL)); generate_shape(); while (1) { show_board(); if (kbhit()) { char c = getch(); if (c == 'a' && can_move_left()) { clear_shape(); cur_col--; show_shape(); } else if (c == 'd' && can_move_right()) { clear_shape(); cur_col++; show_shape(); } else if (c == 's' && can_move_down()) { clear_shape(); cur_row++; show_shape(); } else if (c == 'w' && can_rotate()) { clear_shape(); int next_shape[4][4] = {0}; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { next_shape[i][j] = cur_shape[3-j][i]; } } for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { cur_shape[i][j] = next_shape[i][j]; } } show_shape(); } else if (c == 'q') { break; } } else { if (can_move_down()) { clear_shape(); cur_row++; show_shape(); } else { fix_shape(); clear_rows(); generate_shape(); if (!can_move_down()) { break; } } } Sleep(100); } printf("Game Over!\n"); return 0; } ``` 这个程序使用了Windows系统中的 `<conio.h>` 和 `<windows.h>` 头文件来实现游戏的界面和操作。游戏面板和俄罗斯方块均使用二维数组来表示,每个方块的状态使用数字来表示。在游戏循环中,根据用户的输入或者定时器的触发来判断俄罗斯方块是否能够移动,旋转或者固定在游戏面板上。最后,游戏结束后输出游戏结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值