Slashdot Mirror


Facebook's Open-Source Go Bot Can Now Beat Professional Players (techcrunch.com)

Google's DeepMind isn't the only team working to defeat professional Go players with artificial intelligence. At Facebook's F8 developer conference today, the company announced a Go bot of its own that has now achieved professional status after winning all 14 games it played against a group of top 30 human Go players. TechCrunch reports: "We salute our friends at DeepMind for doing awesome work," Facebook CTO Mike Schroepfer said in today's keynote. "But we wondered: Are there some unanswered questions? What else can you apply these tools to." As Facebook notes in a blog post today, the DeepMind model itself also remains under wraps. In contrast, Facebook has open-sourced its bot. "To make this work both reproducible and available to AI researchers around the world, we created an open source Go bot, called ELF OpenGo, that performs well enough to answer some of the key questions unanswered by AlphaGo," the team writes today. Facebook's AI Research group is also developing a StarCraft bot that it too plans to open source.

44 comments

  1. Are bots a feature of Go lang? by Anonymous Coward · · Score: 0

    If I understand this right, Facebook is using the Go programming language to create social bots? Are bots a fundamental part of the Go programming language, like loops and concurrency? Are bots a built in feature of other modern programming languages like Rust and Ruby?

    1. Re: Are bots a feature of Go lang? by Anonymous Coward · · Score: 0

      Wut is golang?

      -=BeauHD=-

    2. Re: Are bots a feature of Go lang? by Anonymous Coward · · Score: 0

      Go the game, not the programming language ... Go lang is similar to C with type inference and local scopes :/

  2. I see a lot of C++ code in the repo! by Anonymous Coward · · Score: 1

    I see a lot of C++ code in their repo. I think it's pretty telling that even in 2018 it turns out that C++ is still the best language for writing new code. This just goes to show how badly modern languages like Haskell, Rust and Nim have failed to surpass C++.

    1. Re:I see a lot of C++ code in the repo! by Anonymous Coward · · Score: 2, Funny

      That's because C++ viciously exploits its privilege to oppress those other languages, which all prioritize social justice and welfare over petty issues like maintainability, performance and portability.

    2. Re:I see a lot of C++ code in the repo! by Anonymous Coward · · Score: 0

      Rust is a safe language where lonely feminist weirdos can discuss the importance of pronouns over actual performance and find new ways to obfuscate simple ideas.

    3. Re: I see a lot of C++ code in the repo! by theshowmecanuck · · Score: 1

      lol

      --
      -- I ignore anonymous replies to my comments and postings.
    4. Re:I see a lot of C++ code in the repo! by Interfacer · · Score: 1

      No. It goes to show how it's still the best for 'some' projects.
      For other tasks, C# or Java or something else would be equally fast but many times easier to develop, easier to test and easier to maintain. It all depends on the context of the project. there is no single 'teh best' (typo intentional) programming language.

  3. Go bot? Pish! by Anonymous Coward · · Score: 0

    Call me when they have a Lucy Liu bot.

  4. #DeleteFacebook by xxxJonBoyxxx · · Score: 0

    No amount of PR and side projects will diminish the creepiness of Facebook and the stalkers who work there.

    1. Re:#DeleteFacebook by Anonymous Coward · · Score: 0

      The entire point of this Go Bot is so they can simulate their way through getting out the current PR mess they're in. :-D

  5. So can LeelaZero by LetterRip · · Score: 4, Informative

    LeelaZero - an open source go bot, has beat 9d professionals and other lower ranked professionals. It is also ranked #3 in the world in gobot competitions, and that was with using half or less of the hardware resources that many of hte competitors had (LeelaZero was using 4 1080 TI GPUs; the competitors had 10 1080 TI GPUs).

    It still hasn't reached the level of AlphaZero, but if you'd like to help it do so, you can contribute here.

    http://zero.sjeng.org/

    Note that they benchmarked against LeelaZero, but had it misconfigured - they gave their bot 80,000 playouts, and LeelaZero 50 seconds per move, but left a default where LeelaZero doesn't use all of its time. So often it was moving in 3 seconds. It might well be weaker than LeelaZero on similar hardware when LeelaZero is correctly configured.

    1. Re:So can LeelaZero by LetterRip · · Score: 1

      They are going to rerun the competition vs LeelaZero with the recommendations made by LeelaZero coders (the tuning algorithm that will set it to run max speed on the hardware, and the command line settings that will ensure it runs for the full 50 seconds per move).

      From the discussions on the github, it sounds like it should still beat Leela by a significant amount (predictions are 90% of games) though perhaps not as badly as their initial run (100% of games).

  6. Online Go tournaments? by Dusty101 · · Score: 1

    Since they intend to go Open Source with this, does that effectively mean that anyone with access to sufficient computing power could then use this to cheat at online Go tournaments for money? Are there such things?

    PS: Asking for a friend...

    1. Re:Online Go tournaments? by LetterRip · · Score: 3, Interesting

      People are already using LeelaZero (the #3 ranked in gobot competition and capable of beating 9d professionals) to cheat, but when a human plays drastically better than their rating, the cheating is pretty obvious.

    2. Re:Online Go tournaments? by ShanghaiBill · · Score: 1

      People are already using LeelaZero to cheat

      But do they win money? I have never seen an on-line tournament with money on the table.

      but when a human plays drastically better than their rating, the cheating is pretty obvious.

      I like to play in parallel with the computer. I decide on my best move, then I look at the move the computer selected, and try to understand why it is better. This technique has improved my game a lot. I tend to focus on responding to my opponent's move, while the computer looks at the entire board and will often make an unrelated move on the other side of the board. I have tried to focus on doing the same. Often the computer will make a move that doesn't make sense ... until a dozen moves later. So I have tried to learn to use pattern recognition to see these situations.

    3. Re:Online Go tournaments? by Anonymous Coward · · Score: 0

      I don't know much about the esports scene in general except for fighting games, but I'd be shocked if open-registration online tournaments with people playing on their personal machines for cash prizes are even a thing. Botting is hardly exclusive to Go, and you wouldn't necessarily need to be able to beat the best players in the world to clean up in some small-time tournament.

    4. Re:Online Go tournaments? by ranton · · Score: 1

      but when a human plays drastically better than their rating, the cheating is pretty obvious.

      So the next task should be to create a bot where you can set a target rating that it will play at. Then you can slowly move up the ranks to simulate your play improving over time.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    5. Re:Online Go tournaments? by Anonymous Coward · · Score: 0

      I wouldn't be surprised if there were sites where you can play for small amounts of money, put $1 in and winner gets the pot or something like that.

      For e-sports in general there have been plenty of Starcraft tournaments online where you can win money in the $100 - $1000 range, but as far as I know there has not been any scandals about anyone cheating.
      I guess it is too easy to get caught, the players that usually win doesn't want to risk being banned from future tournaments.
      The players that are too bad to win wouldn't win even if they cheated, the known ways to cheat doesn't help a bad player enough.
      I haven't heard anything about any AI being good enough to beet any 'professional' players yet.

    6. Re:Online Go tournaments? by Anonymous Coward · · Score: 0

      Any bot that allows you to enter the current board state would do.
      Then you can use it for a couple of turns, then play a bit for yourself and then have it play a couple of more turns.

    7. Re:Online Go tournaments? by Anonymous Coward · · Score: 0

      the golden age of online go playing is over, has been for a while.

    8. Re:Online Go tournaments? by Anonymous Coward · · Score: 0

      Or you could just imagine you are KING OF THE WORLD. Because quite frankly if you are cheating at go online you are cheating yourself. Seriously nobody gives a damn if you are 30k or 9d but the mental exercise is a valid one.

    9. Re:Online Go tournaments? by qaz123 · · Score: 1

      So you are cheating

    10. Re:Online Go tournaments? by capntao · · Score: 1

      only if they're changing the move to what the computer would have done, if they are not then this is an excellent example of using machine learning to augment human learning. if they are changing the move, then HAAAAAX

  7. Their Go Bot is a Leader One by Anonymous Coward · · Score: 0

    Wonder if it has Turbo mode.

    1. Re: Their Go Bot is a Leader One by Anonymous Coward · · Score: 0

      Go Mighty Go bots!!

      The B grade Transformers

  8. the fact that by Anonymous Coward · · Score: 0

    a company with the moral compass of Facebook is pursuing AI development is totally fine and I'm sure has no potential downside

    1. Re: the fact that by Anonymous Coward · · Score: 0

      Get a grip. Their pile of a billion dollars is a bigger problem than a few programs they wrote.

  9. There goes my plan to stop the terminators with a team of awesome Go players ...

  10. Gobots suck by fox171171 · · Score: 2

    Gobots will never beat Transformers. Not even after what Michael Bay did to them.

    1. Re:Gobots suck by DontBeAMoran · · Score: 1

      Damn, I was about to post that.

      +1 First Post to you.

      --
      #DeleteFacebook
  11. Good question by 110010001000 · · Score: 2

    ""But we wondered: Are there some unanswered questions? What else can you apply these tools to?"

    Obviously the answer is "nothing" since they just created another game playing program. What a joke.

    1. Re:Good question by Anonymous Coward · · Score: 1

      ""But we wondered: Are there some unanswered questions? What else can you apply these tools to?"

      Obviously the answer is "nothing" since they just created another game playing program. What a joke.

      And made the source code available to others to adapt as they see fit. We haven't found out yet what others will apply this to, but I think it's too early to conclude it'll be "nothing".

    2. Re:Good question by lgw · · Score: 1

      We haven't found out yet what others will apply this to, but I think it's too early to conclude it'll be "nothing".

      Turn-based positional board games are all of a kind, as far as machine learning is concerned.

      OTOH, that StarCraft bot mentioned in TFS is a different kind of problem solving. It would be quite interesting to see how a machine learning-based bot stands up against the in-house bots written by professional players.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  12. Should there be an all out GO-bot slug-out? by Anonymous Coward · · Score: 0

    So we have Facebook, Google, IBM and LeeleZero all claiming to have beaten human players

    Isn't it time we have an all out Go-bot shootout, where they play each others in an all mixed battle, while learning from each game?

    They can play 1 billion, 10 billion or even 1 trillion rounds of Go, until the very last victor left standing

  13. Solving a solved problem by Anonymous Coward · · Score: 1

    Solving a problem that has already been solved is not as difficult as solving a problem that has not been solved.

    I understand that they don't have skills to do anything new, but why do they bother doing this? Google has a goal of generating general AI, which is why they are doing this. Facebook is just copying them.

    1. Re:Solving a solved problem by Anonymous Coward · · Score: 0

      You lack historical knowledge of how this came to be. The recent advances have come BECAUSE humans were trying to get a go playing AI to beat everyone.

  14. Some info on leela-zero vs. ELF by Artem+S.+Tashkinov · · Score: 1

    This could be hugely interesting: https://github.com/gcp/leela-z...

  15. Starcraft? by sjbe · · Score: 1

    Facebook's AI Research group is also developing a StarCraft bot that it too plans to open source.

    What would be the point of this? I'm not any sort of expert in starcraft but I'm not sure what this would prove. While there is a lot of tactics and strategy to work out, a huge part of a game like this is simply the ability to click on and order units about as fast as possible. A computer could very obviously do this faster than any human unless it was artificially limited. I have a hard time seeing how a human could keep up with a computer speed zerg rush. Is there something I don't understand about the game here?

    1. Re:Starcraft? by lgw · · Score: 1

      There are quite a few SC bots written in-house by professional players (well, mostly former professionals, who reach their elderly late-20s and aren't fast enough any more). It would be very interesting to see how a machine learning-based bot competes against bots coded with specific human-like strategies. Both would have unlimited APM, so no advantage there, but how would the machine learning bot play? I'd imagine micro would be similar, as there's apparently one best way to do that, but macro? That's closer to poker than speed chess.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Starcraft? by UnknownSoldier · · Score: 1

      > While there is a lot of tactics and strategy to work out, a huge part of a game like this is simply the ability to click on and order units about as fast as possible

      = Short Answer =

      TL:DR; False. Even 19,000 APM won't save you.

      = Long Answer =

      First off, a few terms so those that are't familiar with StarCraft aren't completely lost:

      * APM = Acronym for Actions Per Minute. How fast you can click.
      * micro -- ability to control your units individually (i.e. tactical positioning of units taking advantage of how many "game frames" they take to execute rotations and moves, along with taking advantage of speed and range of units)
      * macro -- ability to produce units and keep all of your production buildings busy
      * multitasking -- how well you can do both, and adapt to new strategy

      Short term, someone with superior micro will destroy someone with better macro.
      Long term, someone with better macro will destroy someone with better micro.

      How well you can balance micro and macro IS what the game is about.

      > Is there something I don't understand about the game here?

      Yes. You are under the assumption that ALL you need to do win is have a high APM, which is false. While there is SOME truth to -- better players have a higher APM -- it ISN'T an absolute.

      i.e. Spam clicking can get you up to ~400 APM. That doesn't mean you are efficient at micro and macro -- only that you can click like crazy.

      The 2nd TL:DR; High APM doesn't tell me how good your macro is!

      Correlation != Causation. A high APM suggests you are a better player; it does NOT guarantee it.

      During the lifetime of a game your APM can and will vary. From the link above:

      You can play the first 5 minutes of the game with perfect macro with 20 APM, then progress to 150APM by mid to end game and avg it out as 50

      Another part of the problem is that APM has no standardized calculation; ergo some players use eAPM -- effective Actions Per Minute -- instead, which drop redundant commands

      For example:

      S...1...2...X

      If a unit starts at 'S' and the user clicks on the sequence 1, 2,X -- that is 3 clicks -- where the first two are redundant. Does that mean they have a high APM? Technically yes, BUT the eAPM is closer to the "actual" APM.

      The differences between low vs high APM has been debated for ages. There are:

      * Bad players with low APM -- we don't care about these
      * Bad players with high APM -- proof #1 that APM isn't as important as Strategy
      * Good players with high APM
      * Good players with low APM -- proof #2 that APM isn't as important as Strategy.

      If you have two good players who can balance micro/macro then you'll see some VERY interesting, evenly matched games. The APM is only an indicator of potential problems.

      > A computer could very obviously do this faster than any human unless it was artificially limited.

      You are forgetting that all the "hard" AIs in RTS games typically cheat in 2 ways:

      * They can see the entire map (doesn't have "for of war" -- it knows instantly where your base is without scouting)
      * They are given more starting resources and/or can harvest resources faster

      In Starcraft 2, Elite AI often has like 300 - 500 APM. With the HOTS (Heart of the Swarm) expansion Blizzard replaced the "Insane" with "Elite AI". The old AI is a che

  16. 14 games vs 30 humans by Anonymous Coward · · Score: 0

    "after winning all 14 games it played against a group of top 30 human Go players.", it looks like the humans are playing a game in team. Shouldn't it be 1:1 to be "fair" ?

  17. Go was super hard! by schweini · · Score: 1

    Just a friendly reminder that Go was basically considered unplayable by my AI and ML professors just 15 years ago. The advancements are really astonishing.