Optimal Strategy for Connect 4

(2swap.github.io)

116 points | by marvinborner 2 days ago

8 comments

  • sillysaurusx 3 hours ago
    I'm surprised no one linked to his video on the topic. I can't overstate how high quality it is. The graphs are simply beautiful, and it made me think he had a whole production team behind him. That he was able to do cutting-edge work like this (it's new, which qualifies) while creating a work of art is incredible.

    "I Solved Connect 4" https://www.youtube.com/watch?v=KaljD3Q3ct0

    • lifthrasiir 2 hours ago
      > [I]t made me think he had a whole production team behind him.

      He has a program instead: https://github.com/2swap/swaptube/blob/1a0d5369d523536d48e4/... [1].

      [1] Note that this commit ID is visible from the video itself: https://youtu.be/KaljD3Q3ct0?t=1002

    • echelon 2 hours ago
      This guy's entire channel is amazing. You have to watch all of it. It's beautiful, mesmerizing, and academically delightful.
    • CamelCaseName 1 hour ago
      Great channel, thanks for sharing.

      I'm not clear how they came to the steady state solution, or how it is memorizable, or is it just intended to be brute forced at that point?

      At some point long ago, I was bored and memorized a whole bunch of openings and intuitive rules, and would end up with a 90%+ win rate. Lots of fun.

      • vscode-rest 32 minutes ago
        Author used flash cards to memorize the steady state positions.

        Deriving the steady state solutions was most interesting to me as well, author just described it as “a genetic algorithm”.

  • tromp 4 hours ago
    > which is fundamentally different from existing strong and weak solutions

    It doesn't seem fundamentally different from Victor Allis' solution, but 2swap managed to generalize and streamline the rules available for static solutions, while also picking the winning moves that reduce the overall tree size.

    > A weak solution can be visualized in a way that a strong solution (14tb uncompressed, 350gb compressed) cannot.

    That is using an overly strict interpretation of strong solution. My database of all roughly 68000 8-ply positions allows for computing the best move from any position within seconds and takes only 12KB compressed (using one trit per 8-ply position, 5 trits per byte, using remaining 256-3^5=13 values for run length encoding).

    [1] https://tromp.github.io/c4/c4.html

  • donkeyboy 27 minutes ago
    Sadly this doesnt have a simple way to know how to win besides the ForceEven approach and offering an Anki Deck. I wish there was some more intuition or guidance around winning that humans can memorize
  • Someone 2 days ago
    FTA: “As a motivating example: player 1 (hereafter dubbed "Red") can win by playing in the center column on the first move and then following the weak solution's suggestions, but would not be guaranteed to win if the first disc is played elsewhere. The weak solution contains no information about what would happen in the other columns- As far as Red cares, it would be redundant to learn those branches, since they are not good.”

    I don’t think that “since they are not good” is necessary for a weak solution. Even if every first move were winning, it still would be redundant to learn how to win for every possible opening move.

    A weak solution gives you a guaranteed way to move from START to a win, whatever counterplay, not all ways to go from START to a win, whatever counterplay.

  • anant_who 18 minutes ago
    This is the clearest breakdown of Connect 4 I’ve seen.
  • cachius 4 hours ago
    This guy’s videos are awesome. He also has one on Klotski and the double pendulum. Beautiful graph animations.
    • contraposit 4 hours ago
      I also liked the one on lambda calculus. I hope one day we will be able to find interpretation of what it actually means for PLUS Times Plus. Maybe this is how we will explore nonstandard arithmetic.

      What is PLUS times PLUS?

      https://www.youtube.com/watch?v=RcVA8Nj6HEo

      • sillysaurusx 3 hours ago
        Godel's incompleteness theorem lets you turn PLUS into a number, do some operations on it, and then turn it back into a symbol. So PLUS times PLUS already has a definite answer. Perhaps not a sensible one, but a definite one.
        • contraposit 7 minutes ago
          Yes it could just simply be a syntactic sugar for a complex operation taking in 4 numbers. But this reminds me of Mirror Symmetry between two theories in String Theory where complex calculations in one theory gets mapped to simple calculation in another theory. Similarly we might have translation dictionary between standard arithmetic and non-standard arithmetic where complex calculation in standard arithmetic becomes easy calculation in non-standard arithmetic.
        • pxeger1 2 hours ago
          You're talking about Gödel encoding, not Godel's incompleteness theorem.
    • jychang 4 hours ago
      OH it's that guy.

      His double pendulum video was orgasmic.

      Edit: Oh wait, no, I was thinking of the Drew's Campfire double pendulum video. That video was extra interesting because the creator is not a typical content producer. He just has a few videos without any views, then dropped what might be one of the best videos of all time, and then went back to his technical videos.

      [1] https://www.youtube.com/watch?v=8jVogdTJESw&t=212s

  • sipsi 41 minutes ago
    sounds like 5 dimensional chess to me
  • soumyaskartha 41 minutes ago
    Connect 4 is one of those games that looks simple until you realize it was solved in 1988 and the optimal strategy still takes serious compute to run in real time.