Slashdot Mirror


Robot Hand Beats You At Rock, Paper, Scissors 100% of the Time

wasimkadak writes "This robot hand will play a game of rock, paper, scissors with you. Sounds like fun, right? Not so much, because this particular robot wins every. Single. Time. It only takes a single millisecond for the robot to recognize what shape your hand is in, and just a few more for it to make the shape that beats you, but it all happens so fast that it's more or less impossible to tell that the robot is waiting until you commit yourself before it makes its move, allowing it to win 100% of the time."

4 of 225 comments (clear)

  1. What would happen... by NettiWelho · · Score: 5, Interesting

    ... If you pitted 2 of these machines against eachother?

  2. Re:Can you psych it out? by mcavic · · Score: 4, Interesting

    How about if you pair two of these robots against each other? Deadlock?

  3. Re:Can you psych it out? by SuricouRaven · · Score: 4, Interesting

    Deadlock: Neither would move until it can determine the intent of the other, which won't be detectable until that other has started to move. So they'd both just wait for the opponent to go first.

    A Doctor Who classic episode actually used this theme, with two androids playing RPS against each other. As both AIs were written using the same algorithms, they derived exactly the same strategy in an attempt to predict each other's moves... and every round was a draw, as they always threw the same. The game was played to show why they had sought the Doctor's help in ending an android/Dalek war: As both sides were using computers of near-identical design to determine their actions, every move either side made was preempted and countered by the other to the point that no successful attack could be executed and the war was locked in unbreakable stalemate.

  4. Re:Reminds me of an old RPS contest... by Anonymous Coward · · Score: 4, Interesting

    I don't believe you. I think you're describing what you would have *liked* to have done, but you didn't actually do this.

    1) A random response is not "the game-theoretic optimal strategy" to a random opponent. It may be *an* optimal strategy by some limited definition, but no computer scientist would speak so loosely. And random number generation is certainly not the *fastest* strategy. You just wanted to use the term "game-theoretic optimal strategy".

    2) If the bot is playing truly randomly then you cannot "beat" it easily, let alone do slightly above average "with a bit of work". Otherwise you're just exploiting its non-randomness.

    3) You had access to the source code for "several popular" C libraries? (Most even wrote their code in C?)

    4) You would guess the random seed (by assuming a reasonably accurate system time), sequence offset, processing strategy AND algorithm used? Really? Give us some details. The input domain here is multidimensionally huge. Even assuming most people use insecure PRNG, you could still automagically identify "most" of those opponents' algorithms?

    Unless your competitors mostly did srand(time(0)) and then equally partitioned the rand() output domain into contiguous R, P and S intervals - which would mean that no-one took the competition seriously - your task would take an age.