The Halite Global AI Programming Competition in Google Cloud (Cloud Next ’18)

[음악 재생] ELSIE KENYON : 안녕하세요 제 이름은 엘시 케년이에요, 오늘 여기 와서 기쁩니다

Two Sigma의 동료들과 이제 Two Sigma는 투자 관리자입니다 데이터 과학 및 기술 적용 세계 금융 시장에서 가치를 발견 할 수 있습니다 그런데 왜 우리가 오늘 게임에 관해서 이야기 할 의향이 있습니까? 음, 두 시그마의 17 년 문화 역사에서, 많은 성공적인 내부 과제가있었습니다 게임을 중심으로 조직되었습니다 에어 하키 로봇의 YouTube 동영상을 보셨을 것입니다

경쟁 우리는이 게임들, 특히 페어 게임들 인간과 기계 – 새로운 기술을 적용 할 수있는 정말 독특한 기회입니다 어려운 도전들 2 년 전, 두 명의 시그마 인턴 인 벤과 마이클이 여기에 있습니다 오늘, 완전히 새로운 게임 인 Halite를 만들었습니다

플레이어가 게임을하는 봇을 만듭니다 Halite 인공 지능 공모전 2 시그마 안에서 그렇게 성공했다 전 세계적으로 경쟁을 열었습니다 오픈 소스 코드베이스, 그리고 프로세스를 반복 내년에는 아주 새로운 게임이 있습니다 이번 가을에 제 3 회 연례 할로 라이트 인공위성 정보 경쟁

지금까지, 수천 명의 선수가있었습니다 Halite를 해본 100여 개국에서 이 선수가 제출 한 봇은 20 개 이상의 다른 언어로 작성 수백만 게임을 해왔다 이제, 한편으로는 글로벌 프로그래밍 경쟁 시그마 (Sigma)를 식별 할 수있는 새로운 출처를 제공했습니다 강한 재능이지만 더 강한 약속이있다 Halite 이 Halite II 리더 보드의 맨 위에는 당신은 전문가, 대학생, 심지어 4 학년 때의 고등학생도 포함됩니다

우리는 모든 연령대의 플레이어와 경험 수준이 종사하는 것을 보았습니다 고급 알고리즘, 인공 지능 및 기계로 이 몰입 형 게임을 통해 독자적으로 학습 그리고 서로 이것은 Halite I입니다 게임의 규칙 단락에서 설명 할 수 있지만 게임 분기 (branching) 요소가 이동 (Go) 게임보다 몇 배나 큽니다 그것은 많은 전략이있는 자유로운 환경입니다

성공할 수 있습니다 이 실험실 같은 성질은 특징입니다 당신이 더 이해할 수있는 Halite 벤과 마이클이 게임 역사상 Halite를 상황화 한 것처럼 그리고 Halite의 발전을 인도하는 원칙을 공유하십시오 Halite를 실행하려면 상당한 백엔드 리소스가 필요합니다 Jack은 Google Cloud에서 Two Sigma를 사용하는 방법을 설명합니다

다운 타임없이 대규모 AI 경쟁을 수행 할 수 있습니다 우리는 AI에서이 시대를 위해 설계된 게임 Halite를 고려합니다 그리고이 기술 시대는 오늘 끝날 때까지 희망합니다 너도 그렇게 할거야 이제 저는 그것을 Michael과 Ben에게 넘겨 줄 것입니다

고마워 고마워, 엘시 다시 한 번 승인 그래서 우리는 Halite 게임에 대해 조금 이야기 할 것입니다

전임자, 과정, 원리, 그리고 모든 것 그것의 우리는 소개로 시작하고 싶다 게임의 진화와 방법 Halite는 그 역사에 부합합니다 아시다시피 모든 프레젠테이션은 귀엽습니다 성공할 고양이 사진 – 여기 있습니다 – 그러나 그것은 또한 프리젠 테이션을위한 실제 의미를 가지고 있습니다

너무 우리는 종종 게임을 고유하게 개념화한다고 생각합니다 인간의 일이지만, 그렇지 않습니다 우리는 항상 동물과 함께 게임을 봅니다 여기,이 새끼들은 레슬링 레슬링입니다

그래서 그들은 나중에 인생에서 진짜로 씨름해야 할 때, 그들은 준비가 될거야 우리는 이것이 게임의 중요한 사용으로 이어질 것이라고 생각합니다 저것은 실제로, 하나의 관점에서 볼 때, 하나의 렌즈 아래에서, 게임에 대한 학습은 매우 중요합니다 새로운 전략과 아이디어를 시도 할 수있는 낮은 위험, 탐구하고 기술을 연마하면 실제로 중요 할 때, 너 준비 될거야 그리고 그 스레드에서 계속 조금씩 오늘 머물러있는 초기 전략 게임들에 대해서, 이집트 게임과 같은 이전 게임이 있습니다

이 게임에 선행하는 게임이지만 실제로 인기있는 남아 전략의 게임은 – 주로 이동 약 2,500 년 전에 시작된 체스 (chess) 약 1,000 년 후에 체스가됩니다 그리고이 게임의 핵심은, 그들의 시간에, 그들은 모두 학습을위한 이러한 도구로 간주되어 왔습니다 전략, 군 사령관으로서, 당신은 체스를 잘 할 것으로 기대됩니다 좋은 군대 지휘관에게 약간의 이전이 있다고 생각했습니다

그 (것)들 사이 기술의 그러나 또한, 우리는 게임이 그들 자신의 것으로 온다고 봅니다 예술의 한 형태로 우리는 게임이라는 것이 예술이라고 생각할지도 모릅니다 매우 현대적입니다

이제 우리는 모든 종류의 비디오 게임을 가지고 있습니다 예술적이며 어떤 이야기와 모든 것을 통해 당신을 데려갑니다 실제로, 이것은 시작된 것입니다 이 게임은 훨씬 이전이었습니다 그래, 그럼 게임과 기계의 역사 확실히 인간의 역사보다 훨씬 짧습니다

게임 약 50 년 대 수천 년입니다 그럼에도 불구하고 그것은 치밀한 역사이다 그리고 그것은 주로 박동하는 기계로 이루어져 있습니다 인간은 자신의 게임에서

유명한 예가 딥 블루가 초인간파가되는 것입니다 체스에서, 그리고 최근 AlphaGo 이세돌을 때리고, 아마 스타 크래프트의 Dota 2 각각 열린 AI와 DeepMind에 의해 패배 할 것입니다 하지만 우리가 Halite에 정말로 관심이있는 것은 이 경쟁을 구축함에있어 인간의 가장 좋은 부분과 기계의 가장 좋은 부분 모두 우리는 인간이 어디에 있는지 게임을 디자인하고 싶습니다 전략을 생각해 볼 필요가있다

규칙을 생각해보고, 게임 로직을 생각해보고, 그리고 그들의 봇들에 의해 잘 실행되는 시스템을 설계하십시오 벤 그래 나는 종종 개념이 있다고 생각한다 인간에 대한 적대감의 종류로서의 AI의 진보에 대해, 좋아, 좋아

그건 또 다른 문제 야 그 기계는 인간보다 낫다 Skynet 언제 오는거야? 그러나 우리는 그렇게 보지 못합니다 그렇게 그럴 수밖에없는 이유는 없습니다 사람이 쉽게 미래를 상상할 수 있습니다

같은 게임에 기계가 공존한다 서로 다른 방법으로 함께 배우십시오 우리는 그 전망에 흥분하고 있습니다 그래서, 우리는 먼저 몇 가지에 대해 간단히 이야기 할 것입니다 Halite의 전임자 중에서 Halite 게임에 참여하고, 그 뒤에있는 원칙에 대해 이야기하십시오

그럼, 우리는 다중 에이전트 프로그래밍에서 시작합니다 경연 대회, 매년 열리는 대회입니다 2005 년 경부터 운영됩니다 그리고 이것이 실제로 추가하는 중요한 공헌은, 우리는 테이블에 다중 에이전트 측면이라고 생각합니다 한 번에 여러 에이전트를 관리 할 때, 사람이 사용해야하는 기술의 종류 하나의 에이전트 일 때와 매우 다릅니다

단일 에이전트, 매우 제한된 수의 조치, 꽤 잘하는 것은 보통 꽤 쉽습니다 몬테 카를로 (Monte Carlo) 또는 미니 맥스 (Minimax)와 같은 방법으로 평가 기능의 일부 종류는 배웠거나 하드 코딩되었습니다 하지만 더 많은 요원이있는 상태 공간을 폭발 시키면, 사람이 사용해야하는 기술은 매우 달라집니다 멀티 에이전트 프로그래밍 콘테스트가 실제로이를 열었습니다 마이클 : 그리고이 게임들 인간이 바닐라 방식으로 게임하는 것은 매우 어렵습니다

그들이 가이드 할 수있는 경험적 방법을 쓰지 않는 한 게임을 통해, 또는 집행 인 상자를 작성하거나, 그들은 본질적으로 누가 게임에서 이기고 있는지 평가할 수 없습니다 그들이 무엇을해야하는지 결정하십시오 벤 그래 그리고 사실 멀티 에이전트의 성격에 관한 마지막 요점은 – 인간이 놀기가 어렵다는 사실 교육적 측면에서도 큰 동기 부여가된다

이 게임들 중 어릴 때 누군가 진짜로 얻도록 격려하려는 경우 프로그래밍에 관심이 있습니다 좋아,이게 무슨 요점이야, 왜 내가 신경 쓰냐, 이런 종류의 게임을 보게하는 것 실제로 효과적으로 재생할 수 없다는 점 그러나 재미있어 보이고 그들이 놀고 싶어 할지도 모른다 그 다음에는 컴퓨터를 통한이 길은 실제로 효과적인 가르침입니다 도구, 그래서 이것에서 나오는 또 다른 문제입니다

마이클 : 네 Halite의 두 번째 전임자는 Arimaa Challenge입니다 명시 적으로 만들어진 체스의 파생물입니다 인공 지능을 게임하는 데 어려움이 있습니다 인간이 실제로 있었기 때문에 정말 인상적입니다

2015 년까지이 게임의 최고 선수들, 게임이 꽤 간단하더라도 상태 공간은 꽤 작습니다 한 턴에 한 번만 움직입니다 그러나 여전히 이사회를 평가하는 것은 컴퓨터에 매우 힘듭니다 그래서 우리는 우리가 생각한 것을 좋아합니다

아리마의 어려움과 정신 착란 둘 다 Halite 제작에 벤 그래 아마 가장 직접적인 영적 전임자 인 Halite UWaterloo 및 Google AI Challenge입니다 이것은 개미 경쟁이었습니다

그 세 번째이자 마지막 해 그리고 이것은 이전의 다중 에이전트를 취한 것입니다 대회를 열었고 완전히 열었습니다 대규모 온라인 스케일로 이제는 수천 명의 사용자가 있지만 일반적으로 프로그래밍 콘테스트는 마치 여러분이 메일 링리스트에 올라있는 것과 같았습니다 그들은 그것을 밖으로 보내고, 당신은 그것이 일종의 멋지다고 생각합니다

당신은 한 달 동안 그것을 개발하고, 당신은 몇몇 회의에 복종하고, 그들은 그들을 순위지었습니다 모든 측면에서 뭔가 또는 다른 목록에 있습니다 이제 수천 명의 플레이어와 소통 할 수 있습니다 그리고 중요한 공헌은 실시간 리더 보드입니다 인공 지능 도전에서, 그리고 이것은 무엇이 교육 도구가 될 수 있도록 개별적인 학자 몇 명을 훨씬 넘어 광범위하게 확장됩니다

결국 Vindinium, 우리 전임자 중 마지막 사람 우리가 언급 할 것입니다 그것은 또한 Halite I, 그래서 그 요소도 있습니다 그리고 Vindinium에 관한 정말 멋진 것들 중 하나 – 싱글 에이전트 게임이긴하지만 Halite와는 다르다 여러 가지 방법으로 – 핵심적인 인프라 차이가 많이 있습니다 정말 멋진 영상입니다

너는 그것을 본다 그리고 너는 흥미가있어, 너는 무슨 일이 일어나고 있는지 알고 싶어한다 스프라이트가 주위를 돌아 다니고 있습니다 매우 매력적입니다 네, 우리는 Halite를 만들 때, 우리는이 4 가지 게임 모두에서 뭔가를 가져 왔습니다

다중 에이전트 프로그래밍 경쟁에서, 우리는 Arimaa에서 멀티 – 에이전트 게임의 장르를 취했고, 우리는 AI 챌린지에서 게임의 어려움을 겪었습니다 우리는 지속적인 글로벌 리더 보드를 차지했습니다 Vindinium에서 우리는 시각적 호소력과 주제를 취했습니다 그리고 이것은 Halite에 대한 우리의 묘사를 멋지게 이끌어냅니다 I와 Halite II

벤 그래 그래서 우리는 Halite I로 시작할 것입니다 2016 년에서 2017 년 사이에 실행되었습니다 MICHAEL : 약 1,600 명의 사용자가있었습니다

3 개월 동안 벤 : 그리고 우리는 [INAUDIBLE], 그리고 나는 그들을 꺼내 줄거야 그래서, 우리는 그것의 규칙으로 시작할 것입니다, 단지 그들에 대한 일반적인 개관을하기 위해서입니다 여기 당신이 가진 것은 세 가지 선수들입니다 이지도에서이 2D 그리드와 각 전체지도를 인계 할 목적을 가지고 있습니다 플레이어는 각 조각을 위로 움직이고 있으며, 아래로, 왼쪽으로 또는 오른쪽으로, 또는 그것을 계속 말하라

그들이 여전히 남아있을 때 조각들이 자랍니다 당신은 사각형의 크기가 커짐에 따라 그것을 볼 수 있습니다 그리고 그들이 상대방과 상호 작용할 때, 그들은 싸우고 수축합니다 그래서 우선, 당신은 즉시 이 추상적 인 디자인을 주목하십시오 그것은 매우 수학적이고 기하학적입니다

실제로, 어떤 주제에 대해서도 유일한 실제 연결입니다 무엇보다도 Halite라는 이름입니다 할로 라이트라는 이름은 이 입방 결정들이 성장하는 것처럼 보였다 우리가 생각한 비유 중 하나였습니다 그러나 이것의 두 가지 중요한 측면 – 우리에게는 정말 간단한 규칙과 명령이 있습니다 기본적으로 모든 규칙을 들었을뿐입니다 그다지 그다지 중요하지 않습니다

단락 아래에서 쉽게 설명 할 수 있습니다 그리고 또한 명령들 – 여러 가지 유형의 단위 또는 기타 항목이 없기 때문에, 당신은 당신의 조각에게 어디로 가야하는지 말하고 있습니다 시작하는 것은 정말 쉽습니다 이것의 부작용은 매우 깨끗한 API를 가지고 있다는 것입니다 프로그래밍 용

말 그대로 파이썬 봇을 가질 수 있습니다 파이썬에 대한 이야기입니다 또한 개별 그리드 공간이 있습니다 이것은 매우 초보자 쉽게 배열은 자연스러운 프로그래밍 도구이기 때문에 함께 일해 그리고 마지막으로, 우리는 그것의 창 발적인 행동을 가지고 있습니다

그러나 규칙이 간단하더라도, 이 게임에서 할 일이 많이 있습니다 전투 최적화 작업에서부터 언제 당신이 당신의 조각을 키우거나 그들을 움직이기를 원하는지 결정하는 것, 또는 귀하의 모든 조각의 교통 통제를하고, 확장 할시기를 결정할 때 너의 영토 대 상대를 공격하라 새로운 영토를 정복하십시오 모든 문제가 따로있다 이 모든 것은이 아주 간단한 규칙에서 비롯된 것입니다

이것이 바로이 게임을 매우 독특하고 흥미롭게 만드는 요인입니다 네, 그리고 우리가이 게임들을 디자인 할 때, 우리는 선수들이 서로 놀고 싶어한다고 말하고 싶다 게임을하지 않을 것입니다 규칙 세트를 단순하게 만들 때, 당신이 무리와 함께 비 대한 게임을하고 있지 않을 때 장애물, 많은 건설 문제 선수들이 빠져 나갈 수 있도록, 당신은 열어 둡니다 다른 플레이어들에게 응답 할 수있는 가능성 그리고 이러한 좋은 응급 행동을하는 것

그래서 이것은 우리를 Halite II로 데려옵니다 작년에 뛰었 어 6,000 명이 넘는 사용자가있었습니다 그리고이 게임은 크게 이와 같이 작동합니다 당신은 함대의 함대 사령관이었습니다

모든 방향에서, 당신은 당신의 모든 배를 보았습니다, 그리고 당신은 각각의 속도를 설정합니다 또한 우주선은 연속적인 공간 안에 존재합니다 운동 움직이는 것 외에도 배는 두 가지 일을 할 수 있습니다 그들은 행성과 행성에 도킹 할 수 있습니다

수에 비례하여 더 많은 선박을 생산한다 행성에 도킹 된 우주선의 다른 배들과 싸우십시오 이렇게 느슨하게, 2 개의 배가 특정 반지름 안에있을 때, 그들은 자동적으로 서로를 공격 할 것입니다 그래서 게임은 여러면에서, Halite I에 대한 답변 다른 종류의 게임 디자인 메 커닉을 시험해보기 위해, 그 중 하나는 그것이 존재한다는 것입니다

연속적인 운동 공간 안에서 그리고이 장점은 사용자가 더 많은 솔루션을 가지고 있다는 것입니다 그들은 밖으로 시도 할 수 있습니다 전투 코드와 탐색은 실제로 이 때문에 더 복잡해질 것입니다 단점은 프로그래밍 방식으로, API 측면에서 보면 더 어렵습니다

초보자에게는 더 나빠요 그래서이 때문에 우리는 실제로 아마도 Halite III에서 그리드로 복귀 할 것입니다 가을에 나올 것이고, 그리고 당신은 haliteio에 가입해야합니다 예, 또한 전투는 Halite II에서 훨씬 어려웠습니다

Halite I에서는 매우 지역적이었습니다 조각을 다른 것으로 옮기면 싸웠습니다 그러나 Halite II에서는 전역 최적화를 수행해야했습니다 제대로 전투를 할 수 있습니다 실제로 플레이어는 몰려 들었다

그것은 당신이 함께 모여있는 선박 그룹을 가지고있을 때입니다 그들은 외로운 배를 독점합니다 그들은 그들을 둘러싸고 배를 파괴합니다 그리고 나서 꽤 명백한 변화 Halite I과 Halite II 사이에는 이제 테마가 있습니다 우리는 실제로이 사실을 우주 전쟁에 묶고 있습니다

거기에는 몇 가지 장점이 있습니다 하나, 아마도 당신 모두에게 더 쉽습니다 그냥 두 게임을보고, 그들이 무엇인지 알고, 무엇이 이해되는지 Halite II에서 일어나는 일 Halite에서 일어난 일입니다 당신은 우주선을보고, 당신은 행성을보고, 너는 공간을 본다 그 때문에 우리는 실제로 좀 더 복잡한 규칙으로 벗어나십시오

왜냐하면 당신이 실제로 어떻게 육체 운동이 작품, 당신이 우주선의 숭고한, 그것은 수학적으로 꽤 복잡합니다 그러나 인간은 그것이 어떻게 작동하는지 이해합니다 그들은 그 직감으로 그것에 들어갑니다 우리는 더 재미있는 게임으로 도망 갈 수 있습니다 그리고 마지막으로, 우리가 Halite II로 한 중요한 일 우리는 AI 프로그래머를 없애거나 프로그래머 배우기, 변명 만하다

좋은 봇을 쓰지 않기 위해서 즉, GPU를 제공했습니다 따라서 우리 서버에는 기본적으로 컴퓨팅 그들은 거대한 길쌈을 실행해야합니다 [필요하지 않은] 네트워크 또는 원하는 RL 시스템, 우리는 플레이어들이 매우 멋진 방법으로 그것을 사용하는 것을 보았습니다 그리고, 네, 그래서 이것은 우리를 – 우리는이 게임을 어떻게 설계했는지 느슨하게 설명 할 것입니다

몇 가지 원칙을 살펴보십시오 BEN : 네, 원칙부터 시작하겠습니다 따라서이 게임의 첫 번째 원칙 그들은 단순해야만합니다 인터넷에서 할 수있는 일은 10,000 가지가 있습니다 왜 Halite를해야합니까? Halite를해야하고 규칙이 복잡하더라도, 우리가 당신에게 Halite를하도록 설득하는 것은 정말로 어렵습니다

학습에 2 시간을 소비해야한다면 정말 복잡한 규칙들에 대한 내용들입니다 그래서 우리는 이것에 관해서 Go의 게임에서 영감을 얻었습니다 그것은 엄청나게 단순한 규칙들입니다 함께 작업 할 수는 있지만 믿기 어려울 정도로 수천년 이상 동안 도전적이고 흥미 롭습니다 우리는 정말 그런 것을 모방하고 싶었습니다

단순함의 또 다른 부작용 당신이 빨리 계산할 수있는 게임을 얻는다는 것입니다 보통은 음, 그것은 여러 가지 이유로 유리합니다

첫째, 우리는 수천만 우리 서버에있는 게임들 빠른 계산은 우리의 비용을 낮추며 좋은 결과를 가져옵니다 또한 봇 개발자도 쉽게 사용할 수 있습니다 그들이 로컬에서 테스트하고 봇에서 작업 할 때, 자신의 로봇 사이에서 100 개의 게임을 정말 빨리 돌릴 수 있다면, 그것은 반복하기가 훨씬 쉬워졌고, 우리는 더 좋고, 더 흥미로운 제출물을 얻습니다 경쟁이 끝날 때까지 두 번째 원칙은 이러한 게임이 매우 시각적이어야한다는 것입니다

우리는 어두운 배경에이 밝은 색상을 좋아합니다 그게 튀어 나옵니다 눈을 사로 잡는 움직임이 있습니다 너를 끌어 들인다 그리고 이것은 다시 양 측면으로 연결됩니다

우리가 어떻게 너를 끌어들일 것인가? 너 머물게 만들거야? 사람들이 봇을 개발할 때, 그들은 보통 수백 개의 게임을보고 있습니다 그것의 과정에, 아마 수천, 그들이 개발하면서 다른 사람들의 전략을 본다 등등 그리고 볼 때 재미가 없다면 참여하고 싶지 않을 것입니다 마지막으로, 교육 측면에서도 도움이됩니다

그것은 그것을 많이 만든다 특히 젊은 학생들은 훨씬 더 신경 써야합니다 이 점에 관해서는 훨씬 더 그들을 그리는 데 도움이됩니다 게임을 해결하기 어려워 야합니다 tic-tac-toe는 그렇지 않다는 것을 분명히해야합니다

AI 인공 지능 경쟁 게임을 만들지 않기 때문에 누군가가 알아낼 때까지 아주 오래 지배적 인 전략 그리고 이런 식으로 우리가 함께 일하는 게임 해결하기 어려울뿐만 아니라, 그러나 그들은 또한 해결 불가능한 것 이상이어야합니다 그래서 누군가가 할 수있는 부분에는 항상 많은 공간이 있습니다 당신은 일종의 점근 적 행동을 원하지 않습니다 당신이 정말로 최적의 전략에 가깝게 접근 할 수있게합니다

우리가 이것을 달성하는 방법 중 하나는 적어도 부분적으로는, 엄청난 행동 공간을 갖는 것입니다 표준 Halite 위치에 대한 별개의 이동 세트 수 할 라이트에서 나는 10 분의 1 정도였습니다 그것과 300을 Go와 비교하십시오 300에 10이 아니라 300에요? 많이 있습니다 몬테 카를로는 당신이 가지고있을 때 다루기가 힘듭니다

이 투명한 수의 움직임 그리고 마지막으로, 대부분의 비정질 – 나는이 애니메이션을 좋아한다 게임에서 마지막으로 가장 비약적인 요소 그것은 다차원 적이어야한다는 것입니다 다른 것들이 많이 있어야합니다 게임에서 할 수 있도록, 개발자로서, 니가 결정 해, 좋아

말하자면 전투 최적화 요소와 함께 할 수 있습니다 – 나는 다음에해야할 일을 모른다 그것이 게임에 전부 있다면, 당신은 좌절하고 아마 멈출 것입니다 그러나 우리는 당신이 말하기를 원합니다, 오,하지만 저는 다음 일을 가지고 있습니다 행성 선택 그게 내가해야 할 일 중 하나 다

또는 누가 무엇을 알고 있는지 하지만 최소한 5 ~ 6 가지가있는 한 함께 작업하기 위해서는 상위 레벨에서 더 흥미롭게 만듭니다 그렇다면 최고의 선수들 사이에 차별화가 있습니다 그래서 몇몇 봇은 다른 종류의 것들에 능숙합니다 그리고 심지어 더 나아졌습니다

새로운 개발자, 그저 뭔가를위한 것입니다 언제나 그렇다면이 게임을 어떻게 설계할까요? 글쎄, 우리가 집중하고자하는 첫 번째 일 정말로 반복적이라는 사실입니다 우리는이 게임을 처음으로 올바르게 만드는 법을 모릅니다 대부분의 게임은 우리의 요구 사항 중 하나 또는 두 가지를 만족시킬 것이며, 그러나 그들 중 아주 적은, 3 개 또는 4 개, 거의 게임이 없다

우리가 원하는 모든 것을 만족 시키십시오 왼쪽에서 보는 것은 가장 오래된 이미지입니다 나는 Halite I 개발 노트북을 가지고 있는데, 그 다음 오른쪽의 실제 Halite I 게임을 마쳤습니다 그리고 내가 바라는 것은 둘 사이의 유사점입니다 공간과 같은 그리드와 공백 – 뿐만 아니라 차이

지도의 크기가 매우 다릅니다 내부적으로 볼 수없는 규칙은 다릅니다 그리고 두세 개의 게임이 있습니다 왼쪽에서 오른쪽으로 우리를 데려 간다 네

우리가 진정으로 줄이려고 시도하는 다음 일 일단 우리가 규칙의 기본 세트를 결정했습니다 이러한 게임 우리가 최선을 다해 노력하고, 단위 유형 및 상수의 수를 줄이기 위해 게임에서 정의에 따라, 당신이 게임의 단위 유형이 많고, 규칙의 길이 거대한 될 것입니다 플레이어는 기술을 암기해야합니다 나무 또는 군인 대 노동자의 능력 클래스, 등등 그리고 그것은 멋지다

그것은 특정 인구 통계에 호소합니다 그러나 예를 들어, MIT 배틀 코드 (MIT Battle Code) 이 유닛을 이용하는 게임 출시 많은 성공을위한 유형 분류 그리고 그들의 인구 통계학은 그것을 정말로 좋아합니다 그들은 긴 페이지 사양을 통해 수색을 즐긴다 밸런싱에서 그 하나의 구멍을 찾으려고 노력 중입니다

그래서 그들은 지배적 인 전략을 쓸 수 있습니다 그러나 그것은 단지 우리가 Halite와 함께하려고하는 것이 아닙니다 Halite가 모든 프로그래머에게 폭넓게 적용되기를 바랍니다 인터넷에서 두 명 후에 로봇을 쓸 수 있기를 바랍니다

몇 분만에 API를보고 게임 규칙을 살펴 보았습니다 그래서 우리는 그것을 실제로 시도하고 저감합니다 벤 : 이것도 제 생각 엔 테마와 관련이 있습니다 선수가 서로 대결하는 게임보다는 우리는 그것이 스펙을 통해 읽는 것에 관한 것이라 생각합니다

게임이 무엇인지를 이해하려고 노력합니다 그리고 게임 밸런싱을위한 결함을 어떻게 가장 잘 사용하는지, 그러면 우리는 당신이 훨씬 더 많은 것처럼 느낍니다 너보다 게임에 맞춰 놀아 다른 선수들에 대한 것이다 게임은 훨씬 더 흥미 롭습니다

플레이어가 상호 작용하는 방식을보고있을 때 우리는 나중에 조금씩 볼 것입니다 우리 게임 이론 섹션에서 이 게임은 실제로 플레이어를위한 매체입니다 실제로 상호 작용하고 서로에게서 배울 수 있습니다 권리? 네

BEN : 그것은 긴급한 행동에 이르게합니다 이것은 사실 사실에서 오는 자연스러운 것입니다 우리는 게임이 단순하고, 해결하기가 어려우며, 다차원 기본적으로 해결하기 어렵고 다차원 적입니다 당신이 뚜렷하고 복잡한 행동을 많이해야한다는 것을 의미합니다 그것은 그것에서 나온다

그러나 그것이 단순하기 때문에 아직, 복잡한 규칙을 많이 작성할 수는 없습니다 그래서 이것에 대한 유일한 해결책은 간단한 규칙이 있다는 것입니다 그 단순한 규칙들로부터 이러한 복잡한 행동들이 나온다 우리가 가진 것, 당신이보고있는 것 어떤 출발 상태 인 Conway의 Game of Life입니다 모르는 사람들을 위해 Conway 's Game of Life 기본적으로 셀룰러 오토마타입니다

각 셀의 상태 이웃 국가에만 의존한다 규칙은 세 가지 핵심 요소로 설명 할 수 있습니다 엄청나게 간단합니다 그러나이 단순한 규칙들로부터 온 것은 모두 이 복잡한 행동들, 당신이 가지고있는 것 – 왼쪽에, 글라이더 건 (Glider Guns)을 볼 수 있습니다 이 무한한 글라이더를 생산하고 있습니다

그리고이 모든기구는 무언가입니다 무한한 스트림을 생산하는 브리더 (Breeder)라고 불리는 이 글라이더 총 사람들은 심지어 전체 튜링 기계를 만들었습니다 Conway의 Game of Life에서 당신에게 수준을 보여줍니다 그것과 관련된 복잡성

그래서 우리는 그 사실에 고무되어있었습니다 우리는 Halite I로 그런 종류의 출현을 재현하고 싶었습니다 하지만이 동전의 두 번째면이 있습니다 당신이 디자인하려고하는 행동 정의에 따르면, 당신은 그들을 이해할 수 없다 그것을 구성 조각들로 분해함으로써

그래서 우리가 아는 한, 이것에 대한 유일한 해결책 놀이 테스트입니다 우리는 게임을 만들고, 우리는 사물의 종류를 봅니다 우리가 효과적 일 것으로 기대하는 것은 그러지 말아야 할 것이 아니라, 모든 일이 이루어 지도록하십시오 누구든지이 일을하는 더 좋은 방법을 알고 있다면, 이야기가 끝난 후 저를 만나러 오십시오 나는 알고 싶다

결국 목표로 삼는 통계로 우리를 데려 갈 것입니다 이것은 내 생각에, 이것의 하위 지점에 불과합니다 종종이 게임들로, 우리가 시도 할 때 – 우리는 대부분의 게임을 알아 냈습니다 우리는 특정 매개 변수를 조정하기를 원합니다 가능한 한 흥미롭게 만드십시오

통계를 수집하기도합니다 게임을 더 잘 이해하는 데 사용할 수 있습니다 그래서 지금 여기서보고있는 것, 우리는 경제학 분야와 공동으로 선택했습니다 통계적 방법 인 지니 계수 불평등의 시도해보기 위해 Halite지도에 적용했습니다

Halite지도의 제작물이 어떻게 배포되는지 알아 내야합니다 이렇게하면 기본적으로이 배포판을 만들 수 있습니다 대부분의지도가 대략적으로 그들을 통한 생산 분배의이 수준, 그러나 이런 종류의 차이도 있습니다 우리에게 이것은 좋은 종류의 배포판입니다 그것은 초보자에게, 당신은 대부분 그 배포판의 외부를 무시할 수 있습니다

내가 대략 거칠게 쓰는 대부분의 게임을 말할 수 있습니다 이런 종류의 수학,이 거친 수준에서 일해라 분포의 그러나 그것도 밖에서, 다양한지도의 다양한 그 빈도는 줄어들지 만 정말 재미있는 게임을 만든다 가끔씩

그래서 우리는 우리가하는 게임이 만드는 것은 정말로 흥미 롭습니다 네 이제 우리는 벤 : 클릭하십시오 MICHAEL : 두 명의 clickers 이제 우리는 광범위한 범주로 이야기 할 것입니다 솔루션, 흥미로운 솔루션 우리 참가자가 Halite I과 Halite II를 위해 만들었습니다 나는 이것이 언급 할 좋은 지적이라고 생각한다

Ben and I, 우리는 인공 지능이 깊은 학습 이상의 것을 포괄한다고 생각합니다 훨씬 더 흥미로운 기법이 있습니다 휴리스틱 기반 모델 및 게임 이론 사용 깊은 학습이라는 문제를 풀기 위해 해결하려고 노력합니다 벤 : 맞아 그리고 기록을 위해 우리는 깊은 학습을 좋아합니다

놀라운 연구가 많이 있습니다 그것은 최근에 나온 것입니다 툴박스의 도구라고 생각합니다 많은 사용자들이 프로그래밍에 익숙하지 않습니다 그 대다수는 3 년 미만 경험의

그래서 우리는 우리가 모든 종류의 다른 사용자가 아니라 깊은 배움에 관심이 있습니다 네 그리고 가장 널리 퍼진 솔루션 카테고리 Halite I 및 Halite II는 단순히 경험적 봇일뿐입니다 휴리스틱 한 봇은 그것이 전부입니다 손으로 코딩 한 논리, 손으로 코딩 한 전략 Halite I 및 Halite II 게임을 즐기십시오

그리고 휴리스틱의 한 예 가장 높은 생산 구역으로 가고 있습니다 실제로 여기에 표시됩니다 그래서 Ben이 전에 언급 한 생산 지니 계수에 대한 이야기는 다음과 같습니다 : 나는 네가 여기서 그것을 얼마나 잘 볼 수 있는지 모른다 하지만이 비주얼 라이저의 백 쉐이드입니다 그래서이 노란색 플레이어가 갈 지역이 높은 생산 구역입니다

그리고 Halite 게임이 시작될 때, 해당 영역으로 터널링 한 다음 시작합니다 확장하여 생산 속도를 높일 수 있습니다 그리고 경험적 봇은 우리에게 흥미 롭습니다 두 가지 이유가 있습니다 하나, 그들은 정말로 민주적입니다

그들은 정말 간단합니다 온건 한 프로그래밍 기술을 가진 사람 이 봇을 작성할 수 있습니다 그것은 단순한 논리입니다 그리고 두 번째 요점은 인간이 실제로 전략을 통해 생각해보십시오 우리의 인간과 컴퓨터로 게임을 만드는 방법

몬테 카를로 나무 같은 것을 사용할 때 일반적으로 모든 게임에 적용되는 당신은 그 게임의 특성을 생각하지 않고 있습니다 그 해머를 적용하는 것뿐입니다 도구 상자에서 게임으로 이동합니다 그리고 깊은 학습에도 똑같이 적용됩니다 하지만 경험적 봇을 사용하면 인간의 힘을 결합하고있다

그리고 기계의 힘 벤 : 이것도 제게 교육적인 측면과 관련이 있다고 생각합니다 그것의, 당신이 생각하게 강요함으로써 게임과 당신의 논리를 통해 논리의 효과는 봇의 플레이 방식에 달려 있습니다 게임, 우리는 이것이 정말로 중요한 단계라고 생각합니다 많은 젊은 프로그래머들에게 더 나은 방법을 가르쳐줍니다

실제로 시각적으로 볼 수있는 능력 변경 내용이 봇과 행동에 미치는 영향 믿을 수 없을만큼 가치있는 도구입니다 그렇게하는 것이 훨씬 더 효과적입니다 네 그리고 이것은 더 복잡한 발견 적 스키마입니다 Halite II

그래서 우리는 너무 자세히 설명하지 않을 것입니다 이것은 경쟁에서 상위 100 명의 선수로부터 나온 것입니다 그리고 넓게, 그가 한 일은 매 턴마다 그는 여기에 3D로 표시된 그라디언트를 계산했습니다 언덕과 골짜기와 함께 그리고 그의 함선마다 그가 한 일은 그는 그라디언트를 보았고 그는 우주선이 볼베어링을하는 방향으로 가도록했다

이 언덕들이 굴러 떨어지면 가라 그렇지? 그리고이 스키마의 전체 전략 몇 가지 설정 매개 변수로 인코딩됩니다 이 매개 변수는 내리막 길이나 오르막길의 측면에서 다양한 게임 개체가 그라데이션에 영향을 미칩니다 예를 들어, 조금 머물러 싶습니다

자신의 배에서, 아라파트에서의 친절한 배들 II 왜냐하면 당신이 당신의 배들과 충돌한다면, 그들은 제거되었습니다, 맞죠? 그리하여 그라디언트에 약간의 오르막 효과가 있습니다 벤 그래 우리는 기계를 활용하는 많은 선수가 있습니다

학습과 깊은 학습 여기에서 보는 것은 CNN의 다이어그램입니다 그것은 Halite I을 큰 효과를 내기 위해 사용되었습니다 이것은 사용자 jstaker7에서였습니다 그래서 특정 종류의 깊은 학습 방법 Halite, AlphaGo와 특히 잘 작동하지 않습니다

스타일과 몬테카를로 방법, 공간이 너무 커서 때문입니다 그러나 그들 중 많은 사람들이합니다 이 경우, 이것은 단순히 훈련 된 것입니다 상위 사용자 커플의 움직임 경쟁의 톱 20에 손을 대다 수천 명의 선수 중 그렇게 좋은 생각입니다

우리는 또한 선수들이 강화 학습을 사용하도록했습니다 매개 변수화 된 비 심층 모델의 정책 그라디언트 그것은 또한 꽤 좋은 효과에 사용되었습니다 상위 100 위 네

그리고 우리는 무슨 일이 일어나고 있는지에 대해 흥분하고 있습니다 특히 Halite III에서 계속 발생합니다 나는 우리가 생각하는 것을 제외하고는 너무 많이 말하지 않는다 약속이 많이 있다는 것 우리는 개인적으로 그것을 탐구 해왔다

깊은 학습 공간에서 Halite III로 할 수있는 일 마이클 : 그리고 마침내, Halite에 대한 멋진 것들 중 하나 그것은 우리가이 다차원 성에서 시도하고 구축했기 때문에, 거기 조각 수준에 국부적으로 놀이의 성분 둘 다있다, 또한 중요한 수준의 메타 게임이 분명히 있습니다 메타 플레이 그리고 실제로 Halite I에서 이것을 보았습니다 경쟁이 끝나면 매우 중요한 창 발 메타 게임에서의 행동은 무언가였습니다

비 공격성 협약 (Non-Agactression Pact)이라고 불렀다 그리고 그것은 근본적으로 단순한 암묵적 동맹이었습니다 게임에서 모든 플레이어 사이 당신이 동맹에 가입하면, 논리 당신이 당신의 봇에서 인코딩 한 것은 그들이 당신을 공격 할 때까지 다른 플레이어를 공격하지 않습니다 그리고 게임에서 여섯 명 중 다섯 명이 이 논리를 로봇에 넣으십시오

마지막 6 번째 플레이어는 다음과 같습니다 먼저 다섯 명 모두가 공격 할 것입니다 그리고 이것 때문에, 모든 선수들 게임 마지막 며칠 동안 리더 보드 상단에 자신의 봇에서이 로직을 인코딩했습니다 정말 폭발했다 벤

그래 우리에게는 매우 예상치 못한 일이었습니다 순위에 큰 변화가 있습니다 지난 며칠 동안, 특히 다음을 포함하여 우리의 최고 사용자, 아마도 상당히 그의 믿을 수 없을만큼 효과적인 취급의 영향을 받았다 이 전체 metagame

마이클 : 네 벤 그래 마지막으로 우리는 경쟁에 대해 이야기 할 것입니다 원칙

네 이것이 우리가 마음에 가지고가는 원칙입니다 우리는 Halite 게임을 둘러싼 경쟁을 구축하고 있습니다 우리의 학습 자원과 같은 것들, 우리의 웹 사이트, 우리의 포럼, 우리의 도구, 등등 그리고 이러한 원리 중 가장 중요한 것 매우 초보자 친화적 일 필요가 있다는 것입니다

강한 벤이 이전에 말했던 것처럼, 우리는 상대하고 있습니다 인터넷에있는 사람들과 그들은 1 분 길이의 집중력을 가지고 있습니다 그들은 Halite에 관심이 있어야합니다

단락에 대한 게임 규칙을 읽은 후 우리 도구를 보는 것, 맞죠? 우리가 만드는 한 가지 방법 선상 사람들에게 매우 마찰적이다 우리는 20 개 이상의 언어를 지원합니다 이들 대부분은 지역 사회에 의해 기부됩니다 그러나 그것은 여러분이 초심자이고 파이썬을 좋아한다면, 당신은 게임에 뛰어들 수 있지만 또한 너가 Rust 열광 자라면, 너는하지 않는다 Java의 성가신 문제를 해결해야합니다

그러나 또한 우리는 그녀의 다른 자원으로이 사실을 마음에 새깁니다 Halite III의 경우 웹에서 작업하고 있습니다 명령에 능숙하지 않은 사용자의 ID 라인 및 대화식 튜토리얼 경험담 그리고 우리가 마음에 두 번째로 가져가는 것 경쟁은 정말로 핵심입니다 따라서 우리는 이미 지속적인 리더 보드를 언급했습니다

그것은 Halite의 작동 방식의 핵심이며 우리는 그 중 가장 좋은 것 중 하나라고 사용자로부터 들었습니다 경쟁에 관한 것들 예를 들어, 거기에 보이는 세 번째 사용자, shummie, 600 bot을 제출 한 매우 열렬한 All-State 보험 계리장입니다 경쟁에 대한 최신 정보 그리고 우리의 중간 수준의 봇 제출은 매우 높았습니다

나는 그것이 약 20-Halite를위한 무엇인가이었다라고 생각한다 나는 중위 수준이었다 그래, 리더 보드에 많은 용도가있어 당신이 당신의 봇에 작은 변화를 줄 수 있기 때문에, 제출하고 몇 분 안에 너는 그 새로운 봇이 모두를 상대로 게임을하는 것을보고있다 그 외 리더 보드에 있습니다

매우 즉각적인 피드백입니다 그리고 공동의 공간을 만들어야합니다 종종 다른 봇 개발자가 도움을 줄 수 있기 때문에 온라인 사용자를 위해 사용자가 우리를 도울 수있는 것보다 낫다 왜냐하면 그들은 실제로 성가심, 좌절감, Halite에서 일하는 즐거움, 그리고 우리는 기존의 많은 우리가 그것을 만들었 기 때문에 경쟁에 대한 지식 우리가하는 한 가지 방법은 여기에 멋진 테마가 담긴 담론 포럼이 있습니다

이것은 많은 사용, 100 응답 길이의 쓰레드를 보았습니다 봇 전략에서부터 버그보고에 이르기까지 모든 것에 대해 커뮤니티가 개발 한 새로운 도구에 이르기까지 누군가가 제 3 자 사용자를 개발했습니다 많은 사용을 보인 Halite II의 매우 유명한 시각화 프로그램 포럼에 그리고 우리가하는 두 번째 일은 우리도 마찬가지입니다 많은 사람들이 사용하는 담화 채팅을하십시오

그리고 마지막으로, 우리가 다루고있는 것 우리가 정말로 가지고 있지 않은 Halite의 백 엔드에서 이 프리젠 테이션에서 많은 부분을 다루었습니다 하지만 우리는 열심히 엔지니어링 문제가 될 것입니다 왜냐하면 Halite II에는 약 6,500 명의 사용자가 있었기 때문에, 우리는 이러한 모든 사용자를 매우 신속하게 순위 지정해야합니다 그래서 우리는 수천만 건의 Halite 게임을 운영합니다 우리의 백 엔드에서 평생 동안이 모든 사용자를 순위 지정합니다

경쟁의 그래서 이것은 두 가지 이유 때문에 어렵습니다 첫째, 우리 서버에서 신뢰할 수없는 사용자 코드를 실행하고 있습니다 보안은 큰 문제입니다 그리고 또한, 이것은 축소 될 필요가 있습니다

우리는 게임을하지 않을 것입니다 수백만 게임에 대한 경쟁의 시작에서 경쟁이 끝난 1 주일 후에, 그래서 우리는 우리의 인프라가 완벽하게 확장 될 필요가 있습니다 우리의 수석 엔지니어 인 자크 (Jacques) 여기에 대해 이야기하고 있습니다 고마워요 고맙습니다

그래서 하이 죄송합니다

Ben과 Michael이 말했듯이, 그것은 매우 어렵습니다 해결할 문제, 그리고 매우 어려운 문제에 대해, 우리는 훌륭한 건축물이 필요합니다 이것이 바로 Google을 사용하는 방법입니다 그래서 Google은 실제로 이러한 방식으로 우리 모두에게 이러한 문제를 해결할 수있는 능력을주었습니다 아주 간단한 방법으로 거의 플러그 앤 플레이를 할 수 있습니다

그래서 지금 나는 너를 걸을거야 모든 문제를 통해, 우리가 가진 모든 도전, Google에서 어떻게 해결했는지, 그리고 Google이 실제로 어떻게 우리가 그들을 도왔습니다 우선, 게임은 부정 행위로 가득합니다 경쟁이 클수록 더 큰 욕구를 갖습니다 사용자가 속일 수 있습니다

그리고 우리는 꽤 많은 수를 저장합니다 개인 식별 정보 여기에는 사용자 전자 메일을 비롯한 여러 가지가 있습니다 그리고 그 두 가지 요소는 우리가 필요하다는 것을 의미합니다 악의적 인 활동을 보장하기 위해 많은 보안 최소입니다 그리고 물론, 우리는 또한 큰, 큰 금액을 실행 언급 한 바와 같이 임의 코드의 6,000 명 이상의 사용자가 있으며 총 5 만 개가 넘는 봇이 제출되었습니다

25 개 이상의 언어와 많은 프레임 워크에서, 그것은 많은 신뢰할 수없는 코드입니다 그리고 내가 말했듯이, 많은 개인적으로 식별 가능한 정보 및 모든 문제가 문제에 추가됩니다 둘째, 변수 순위 알고리즘 공정한 컨버전스를하기 전에 많은 게임을해야하며, 특히 많은 사용자가있는 경우, 이것은 기하 급수적으로 증가합니다 더 많은 게임에서 훨씬 더 많은 계산이 필요합니다 그리고 시간

그리고 이것의 결과는 일반적인 좌절감 사용자가 많거나 관리자에게 많은 비용을 지불하고 여러 번 양자 모두 지역성 또한 큰 문제입니다 100 개국 이상의 경쟁 전 세계적으로 다소 복잡합니다 명시 적으로, 우리는 어떻게 똑같이 빠른 응답을 제공합니까? 전 세계의 선수들에게? 우리는 밀리 세컨드 이하의 반응을 요구하지 않지만 많은 멀티 플레이어 게임처럼, 우리는 여전히 편의를 위해 일을해야합니다 그렇지 않으면 사용자가 화를 낼 것입니다

신뢰성은 매우 일반적인 문제이며, 그럼에도 불구하고 그것은 문제입니다 방해가 최소한인지 어떻게 확인합니까? 사용자는 일반적으로 게임, 그들은 접근 할 수 없다 그리고 게임을 얼마나 재미있게 만드 느냐는 중요하지 않습니다 만약 당신이 그것을 할 수 없다면, 아무도 그것을 연주하지 않을 것입니다 따라서 다운 타임을 최소화해야합니다

인공 지능은 또 다른 것입니다 우리가 해결하고자하는 문제 이 게임을 인공 지능에 적합하게 만들고 싶습니다 그리고 게임을 다양하게 해결할 수 있으려면, 우리는 문제와 관련된 데이터와 도구를 모두 제공해야합니다 특히 데이터가 증가함에 따라 우리의 경우 2,500 만 개가 넘는 게임의 메가 바이트 리플레이가 포함됩니다

당신은 많이 볼 수 있습니다, 문제는 점점 더 어려워진다 그러면 어떻게 해결할 수 있을까요? 여기에는 두 가지 유형의 솔루션이 있습니다 Google을 사용하여 기술적으로 무료로 얻은 것, 우리는 집안에 건설해야만했다 그래서 모든 솔루션에서 이들을 분리 할 것입니다 먼저 GCP를 통해 보안 측면에서 우리는 좋은 컨테이너 화를 얻었으므로 그것에 대해 걱정해야합니다

우리는 밖에 나가는 모든 인터넷 루트를 닫을 수있었습니다 신뢰할 수없는 코드를 실행하고 있던 모든 시스템의 그래서 사람들은 비트 코 광업 (bitcoin mining)과 같은 나쁜 일을 할 수 없었습니다 우리 기계에서 우리는 많은 수의 방화벽을 배치했습니다 사람들이 나쁜 일을하지 않았는지 확인 기계와 대화하면서 그들은 얘기하고있어

우리는 GCS 격리에서 많은 양의 데이터베이스를 만들었습니다 그래서 몇몇 기계 만이 그들과 대화 할 수 있습니다 물론 VPC 서비스 컨트롤을 사용했습니다 우리가 방금 이야기 할 수 있도록 널리 사용되는 우리가 말하고 싶지 않은 기계에 그것에 대한 간접적 인 것 물론, 자체 솔루션으로, 우리는 방대한 수의 시스템 레벨 방어를 가지고있었습니다

cgroups, IP 테이블, 다른 것들 사이에, 그것은 우리가 모든 것을 정말로 분리 할 수있게 해줍니다 우리는 봇의 익명 성을 가지고 있었으므로, 당신은 다른 봇들이 무엇인지는 정말로 알지 못했습니다 그래서 당신은 그와 관련된 어떤 것도 이용할 수 없습니다 그리고 우리는 다른 모든 것과 마찬가지로 점수 벌칙을 만들었습니다 내 말은, 당신은 정말로 AI 문제라고 생각할 수 있습니다

사람들이 악의적 인 일을 할 때, 악의적 인 일을 그만두 게됩니다 따라서 그것은 학습 강화 유형입니다 우리가 사용자에게 준 그래서 점수 수렴을 위해 GCP에서, 자동 크기 조정 그룹이있었습니다 갑자기, 왜냐하면 사용자 수에 따라 자동으로 더 커지거나 더 작아졌습니다 물론 비용이 절감되었습니다

그리고 비용을 훨씬 더 많이 낮추었습니다 선매입니다 선매가 그것을 현명하게 저렴하게 만들었습니다 우리가 많은 것을 실행하고 매우 빠른 수렴을 얻으려면 집안에는 효과적인 점수 계산 알고리즘이있었습니다 우리는 그것이 최고인지를 확인하기 위해 최선의 최선을 다했습니다

우리는 우리의 능력을 최대한 발휘하도록 조정했습니다 그것이 정말로 빠르다는 것을 확인했습니다 지역성 측면에서 볼 때,이 모든 것이 다행히도 Google에있었습니다 신뢰할 수있는 지역성 토글 스위치 가장 좋은 기능 중 하나입니다 그래서 우리는 실제로 그것을 사용했습니다

웹 사이트 및 데이터를위한 플러그 앤 플레이 캐싱 및 CDN 문제를 크게 단순화합니다 Google은 유명한 미니 나인, 당신은 당신이 여기있는 방조차도 기반으로 볼 수 있습니다 서비스를 만드는 Five Nines Room 이것의 일부는 문제가되지 않습니다 그러나 선매 약을 사용하면 더 복잡해진다 기계는 이제 언제든지 내려갈 수 있으며, 코드를 중복 시키거나, 더 구체적으로 말하자면 실행 및 서비스, 결과 저장, 백업 수행, 상태 점검, 자동 재시작 또는 작성을 사용합니다

또한 내결함성 알고리즘 활용 새로운 솔루션은 아니지만 신뢰성의 열쇠입니다 물론 솔루션은 선매권을 넘어서며, 오히려 오류가있는 실행에서도, 비잔틴 실패는 탄력적입니다 궁극적으로 Google은 매우 잘 조정되어 있습니다 AI 문제를 해결할 수 있습니다 다른 세션에서들은 것처럼, 그게 그들이 놀랍다는거야

매우 강력한 GPU를 활용하고 모든 것을 GCS에 저장함으로써, 우리는 모든 사용자의 프로세스를 크게 개선합니다 다른 모든 것을 위해, 우리는 숫자를 썼다 파이썬에서 교육 도구를 단순화하는 방법 GCP와 Halite와 직접 상호 작용하는 과정, 궁극적으로 우리에게이 사진을줍니다 우리의 마지막 그림이 무엇인지 우리는 CDN에 모든 중요한 데이터를 제공했습니다

앞에서 언급 한 것처럼 잘 보호 된 VPC 내부에는 우리는 세 종류의 기계를 가지고있었습니다 관리 디스크 그룹에서 필요에 따라 증가하거나 감소했습니다 이 의미에서 우리는 웹 사이트를 가졌습니다 웹 사이트를 제공했습니다 핵심 API 인 코디네이터가있었습니다

노동자들이 게임을 할 수 있도록 게임을 보냈다 노동자들은 코디네이터와 만 이야기 할 수있었습니다 한편, 조정자는 연락 원이었고, GCS와 Cloud SQL 사이의 조정자, 우리는 우리가 저장해야만했던 모든 것을 실제로 저장했습니다 그리고 그것을 통해 우리는 완전한 그림을 얻었습니다 그리고 지금, 왜 Halite인지, 나는 그것을 Elsie에게 가져온다

ELSIE KENYON : 좋습니다 그렇다면 다시 Halite에 관심을 가지는 이유는 무엇입니까? Ben이 게임의 역할에 대해 말한 내용으로 돌아가 보겠습니다 놀아, 배우기에, 맞지? 우리는 놀이를 통해 배우지만 대회도 서로에게서 배울 수있는 기회를 제공하십시오 그들은 단지 승리하는 것이 아닙니다 그들은 우리가 놀이를 통해 서로를 교육 할 수있게 해주고, 모든 연령, 모든 경험 수준

Halite에서는 플레이어가 어떻게되는지에 대한 예를 들었습니다 다른 봇의 예를 통해 배우십시오 다양한 전략에 동향이있었습니다 플레이어 또한 자습서에 기여했습니다 그들이 배운 것을 공유하기 위해 사후 모템을 샀다

또한 창의력을 표현했습니다 Halite와 함께 새로운 방식으로 새로운 기회를 찾고 – 예를 들어, 봇에 이름을 쓰는 경우 기술로 인해 이러한 연결성이 실제로 가능합니다 그리고 성공적인 경쟁, 그러나 우리는 전도성을 본다 모든 곳을 포함하여, 안으로, 예를 들어 포럼과 자습서가있는 moocs 가이드 레슨

우리는 모록이 적응력이 없거나 계산 집약적이지 않다고 생각합니다 그래서 그들은 실제로 이점을 얻지 못하고있다 어떤 기술이 오늘날 학습을 위해 제공해야하는지 Halite의 우리 목표는 실제로 그 가능성을 활용하는 것입니다 따라서 게임 및 글로벌 프로그래밍 문제 클라우드에서 실행되는 것은 몰입 형입니다

그들은 잠재력을 지닌 개방형이다 우리가 들었을 때, 창조적 인 전략의 수에 관계없이, 그들은 적응력이 있습니다 그래서 그들은 초보자들에게 적합합니다 그들의 첫 번째 프로그래밍에 자신감을 갖기를 기대한다 언어뿐만 아니라 더 많은 것을위한 기회를 제공합니다

숙련 된 플레이어가 특정 기술을 숙달해야합니다 세트 실제로 이것은 기술과 도구를 사용하는 것에 관한 것입니다 너 자신의 조건으로 그러므로 우리가 인간과 기계가 어떻게 협력– 벤과 마이클 한테 말하러 가자 Halite는 기계를 다루는 인간에 관한 것이고, 기계와 경쟁하지 마라

이 회의에서 우리는 점점 더 많은 방법을 보았습니다 인간과 기계가 함께 쌍을 이루는 또는 문제를 해결하기 위해 함께 쌍을 이루어야합니다 현실 세계에서 그리고 현실 세계는 우리가 알다시피, 매우 불확실합니다 유연하고 적응 가능한 솔루션이 필요합니다

그래서 우리의 질문은 어느 정도까지입니다 게임 및 협업 프로그래밍 과제 수 실제로 Halite가 훈련장 역할을합니다 지능형 기계를 훈련하고 건축하기 위해서? 따라서 게임은 단순히 승리하는 것이 아닙니다 그것은 또한 우리가 배우는 사고에 관한 것입니다 그리고이 게임으로 우리는 어떤 길도 배우기위한 하나의 길

동시에 우리는 목표와 구체적인 기술을 가지고 있을지도 모릅니다 우리가 얻고 자하는 것이지만 그 기술들 많은 응용 프로그램이 있습니다 따라서 Two Sigma에서는 학습과 교육을받습니다 매우 심각하게 우리는 문제를 매우 심각하게 생각합니다

그리고 우리가 생각해 볼 것을 요구하는 것은, 귀하의 학습에 실제로 종사하는 방법은 무엇입니까? 우리는 세계 AI 경쟁 인 Halite를 생각해 봅니다 독특한 교육적 기능 제공 기회가 많습니다 귀하의 의견을 듣고 싶습니다 벤과 마이클이 언급했듯이 이번 가을에 Halite III를 시작하면 가입 할 수 있습니다 그러나 경쟁에 앞서, 우리는 또한 당신이 목표를 달성 할 수 있습니다

정말 고마워요 [음악 재생]