Optimal Strategy for Connect 4

(2swap.github.io)

92 points | by marvinborner 2 days ago

4 comments

  • sillysaurusx 2 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 1 hour 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.

  • tromp 3 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

  • 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.

  • cachius 4 hours ago
    This guy’s videos are awesome. He also has one on Klotski and the double pendulum. Beautiful graph animations.
    • contraposit 3 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.
        • pxeger1 1 hour ago
          You're talking about Gödel encoding, not Godel's incompleteness theorem.
    • jychang 3 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