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

48 of 225 comments (clear)

  1. Welcome! by Anonymous Coward · · Score: 5, Funny

    I for one welcome our new robotic overlords.

    But to truly test it you have to add lizard and spock

    1. Re:Welcome! by Anonymous Coward · · Score: 4, Funny

      Can it win 25-way Rock, Paper, Scissors, Gun, Dynamite, Nuke, Lightning, Devil, Dragon, Alien, Water, Bowl, Air, Moon, Sponge, Wolf, Cockroach, Tree, Man, Woman, Monkey, Snake, Axe, Fire, Sun?
      http://www.umop.com/images/rps25_outcomes.jpg

    2. Re:Welcome! by jbwolfe · · Score: 2, Funny

      Yes, but not yet. However since you have changed the specifications, there will be an additional cost and stated delivery date per the contract will necessarily change as well. Is this what they call feature bloat? Maybe it will become vaporware.

      --
      Have you ever noticed that anybody driving slower than you is an idiot, and anyone going faster than you is a maniac?
    3. Re:Welcome! by jamiesan · · Score: 2

      No. We will need to build a super computer to compute the design of an even larger computer that will compute the answer to that.

  2. Cheater. by Anonymous Coward · · Score: 5, Insightful

    So it cheats.

    1. Re:Cheater. by Anonymous Coward · · Score: 5, Funny

      So it cheats.

      It's just employing High Frequency Rochambeau strategies

    2. Re:Cheater. by Anonymous Coward · · Score: 5, Insightful

      I think it's probably inspired by recent research that showed unambiguously that people who are good at janken/rock-paper-scissors achieve their success by throwing as late as possible, observing the opponent's hand to see what gesture is going to be made.
      Talk about reading people's faces / moods / history is mostly bullshit. Although computer software tends to abuse our human non-randomness in this way, it is in practice intractable for most humans. And the best janken players rely solely on the same strategy this robot's using.
      But then, if you didn't want to be cheated, you shouldn't play a game where cheating is pretty much the only way to consistently win.

    3. Re:Cheater. by Chrisq · · Score: 3, Insightful

      So it cheats.

      That's the only way to win a game of chance 100% of the time...

      If it really is a game of chance then there is a possibility that someone will win it 100% of the time.

    4. Re:Cheater. by Anonymous Coward · · Score: 5, Funny

      No. It always plays rock. And if you pick paper, it punches a hole in your hand.

    5. Re:Cheater. by Anonymous Coward · · Score: 2, Interesting

      That all depends on how many rounds you do.

      1 round guarantees someone'll win 100% of the time 100% of the time.

    6. Re:Cheater. by Smidge204 · · Score: 5, Funny

      33% of the time, it works every time!

      =Smidge=

    7. Re:Cheater. by Waldeinburg · · Score: 5, Funny
      Which of the following is most likely to be on hand:
      • 1. A coin
      • 2. A book
      • 3. A hand

      (The answer is of course: 4. A smartphone with a head-or-tails app.)

    8. Re:Cheater. by JasterBobaMereel · · Score: 2

      So I cheat back, try beating me with your power turned off ... Oh it lost again ...

      This large electomagnet not it's not significant, what I've won again ...

      The computer virus, not important, I win again ....?

      --
      Puteulanus fenestra mortis
    9. Re:Cheater. by Anne_Nonymous · · Score: 2

      Captain Kirk is the only one to have beaten the machine. He did it by masturbating furiously instead of throwing paper.

    10. Re:Cheater. by Culture20 · · Score: 2

      Which is why it's a perfect game to out the stupidly dishonest.

    11. Re:Cheater. by Anonymous Coward · · Score: 2, Insightful

      One round of RPS is one set of throws to a winning result. In other words, for a single round, you will have a single winner. Since the win can't be split (a tie thrown out and the competitors re-throw), After that one round, 1 of the people will have won 100% of the rounds. Exactly as the person you responded to stated.

    12. Re:Cheater. by f3rret · · Score: 2

      I don't play it competitively or anything - do people actually do that?

      Yes.

      --
      Admit nothing. Deny Everything. Make Counter-accusations.
    13. Re:Cheater. by f3rret · · Score: 3, Informative

      Furthermore there are even 'advanced' tactics. http://www.worldrps.com/advanced-rps

      --
      Admit nothing. Deny Everything. Make Counter-accusations.
    14. Re:Cheater. by CAIMLAS · · Score: 2

      No more so than the person who's able to perceive the other person forming "scissors" (or just going with rock) before their hand is already down and do a quick morph from "rock" to "paper" (or similar).

      Please tell me I'm not the only one who has good luck winning rock/paper/scissors with last-minute "I don't know what I'm going to pick" choices.

      What's impressive about this hand, to me, isn't so much the sensory data collection as it is the rapid processing of said motion data in conjunction with being able to quickly move the hand. Now, let me know when the hand is able to accurately and safely catch a glass of water falling off the counter, without spilling anything or breaking/damaging the glass.

      We're all doomed when the hand can win at beer pong.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    15. Re:Cheater. by FitForTheSun · · Score: 2

      Agreed, and that is why the article is wrong. If cheating is allowed, then I guarantee that I can beat the machine 100% of the time. I will simply throw one sign, wait for it to play, then change my sign. Done and done, both of us have played according to the same rules and I have defeated it 100% of the time. ...and that is why this is so stupid. It's not beating anyone, ever. It's not playing the game according to the rules we all understand, so it isn't playing the game. It's playing some other game, a game nobody has ever cared to play, because R.P.S. with cheating isn't R.P.S.

      These "researchers" wasted their time, and ours.

  3. yes but... by Anonymous Coward · · Score: 5, Funny

    Can it beat Sheldon at rock, paper, lizard, spock, scissors? ;)

    1. Re:yes but... by enickel · · Score: 2

      Sure, but it's Japanese so it keeps freaking out and yelling about Godzilla whenever lizard gets played....

  4. Shed some light by el_flynn · · Score: 4, Informative

    Here is the original article, excerpt: "Recognition of human hand can be performed at 1ms with a high-speed vision, and the position and the shape of the human hand are recognized. The wrist joint angle of the robot hand is controlled based on the position of the human hand."

    Here is a link to a video showing what it can do.

    And now, the obligatory comment: I, for one, welcome our robotic rock-paper-scissors-playing overlords.

    --
    The Wknd Sessions - Malaysian and South East Asia independent music
  5. Re:inferior by davester666 · · Score: 3, Funny

    rapidly moving your hand up and down about an inch doesn't count

    --
    Sleep your way to a whiter smile...date a dentist!
  6. a bit misleading by oakbox · · Score: 4, Informative

    Being faster? That's just cheating. On reading the headline, I thought they had developed an algorithm that predicted your next move, which would have been much more impressive. You DO get a ~40% improved chance of winning with this strategy:

    When your opponent loses, his next move will be to beat whatever your move was on that round.

    move 1) opp: rock you: paper # opponent loses to paper, so his next move will be to win over paper
    move 2) opp: scissors you: rock # opponent loses to rock, so his next move will be to win over rock
    move 3) opp: paper you: scissors # opponent loses to scissors, so his next move will be to win over scissors
    etc.

    It's self-reinforcing because after losing several throws in a row, opp becomes frustrated and less analytical, making it harder for them to see the pattern they are developing. :)

    But that isn't absolute prediction, that's just playing on your opponent's human instinct. The robot hand isn't predicting anything.

    --
    Not just answers, the correct questions.
    1. Re:a bit misleading by CSMoran · · Score: 4, Insightful

      When your opponent loses, his next move will be to beat whatever your move was on that round.

      I'm sorry to say that, but you must have been playing really dumb people.

      --
      Every end has half a stick.
    2. Re:a bit misleading by kikito · · Score: 2

      I always choose stone. Stone wins everything.

    3. Re:a bit misleading by msauve · · Score: 2
      Oh, I'll just add. There actually is a rule:

      These hand signals are delivered simultaniously [sic] by the players

      - THE WORLD RPS SOCIETY - OFFICIAL ABRIDGED RULES OF PLAY

      Clearly, the robot is deliberately waiting for the other side to deliver their signal before delivering its own. So, the headline, summary, and article are all false. But it's still impressive, because it actually loses every time.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
  7. The real reason the robot wins: by itsdapead · · Score: 5, Funny

    Complete rules for robohand v. human rock, paper, scissors:

    Robohand crush rock.

    Robohand bend scissors.

    Robo-laser burn paper.

    Puny humans no match for robohand.

    --
    In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
  8. What would happen... by NettiWelho · · Score: 5, Interesting

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

    1. Re:What would happen... by rolfwind · · Score: 2

      I imagine it would become like high frequency stock trading, with the faster system winning by being able to stick to neutral to the last microsecond (or whatever) and then deciding based on the other robot's hand. With 2 identical systems, in a perfect setup, they would both see the other side as rock, switch to paper, and tie, I guess. Of course, start and other timing is probably off by enough that one side will have an edge.

      To me, a wall between the two and a judge would make it more interesting, just to see it a robot can be programmed that will anticipate a human's choice based on past behavior and just how much an edge it can get. Just thinking of myself trying new passwords, I'm not terribly good at being random, hence using a generator, but that may be unique to me. The way this seems to be done is okay, but it's no news to me that computers are faster at these type of things.

    2. Re:What would happen... by wvmarle · · Score: 2

      Nothing will happen as they both wait for the other to make the first move. Because that's how they cheat: wait for the human hand to make a move, and react to that.

    3. Re:What would happen... by physicsphairy · · Score: 5, Funny

      They would cease their countdown for initiating thermonuclear war.

    4. Re:What would happen... by captainpanic · · Score: 2

      No. Waiting = Rock. Automatically. They would both wait, play rock by default, and then both respond to play paper. It would probably be a draw all the time, but the games would proceed as quickly as in the movie.

    5. Re:What would happen... by 93+Escort+Wagon · · Score: 2

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

      They'd move around in a jerky manner for a few seconds, then simultaneously say "Norman Correlate", then become immobile.

      --
      #DeleteChrome
  9. Re:inferior by Chrisq · · Score: 4, Funny

    I've got too many hand movements to beat this.

    rapidly moving your hand up and down about an inch doesn't count

    That's what he meant by "beat this".

  10. A strange game... by dickiedudeles · · Score: 2

    The only winning move is not to play.

  11. Re:Simple to do by Captain+Hook · · Score: 2

    This is really simple to do from a technical point so what's the merit?

    very quick visual recognition of 3d objects via has no merit?

    --
    These comments are my personal opinions and do not necessarily reflect the opinions of the other voices in my head.
  12. Re:Can you psych it out? by mcavic · · Score: 4, Interesting

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

  13. Reminds me of an old RPS contest... by nneonneo · · Score: 3, Interesting

    I once participated in a Rock-Paper-Scissors tournament put on by Epson (see, for example, http://www.campuslogix.com/rps_challenge/rps_challenge.html). They basically said "write a bot that will play RPS". Of course, the game-theoretic optimal strategy in such a contest is to just play randomly. You can beat the (Epson-supplied) rockbots and rotatebots easily, so with a bit of work you can do slightly above average.

    Seeking a greater advantage, though, I coded my bot to also include a set of predictors for the random number generators for several popular libcs (as I did not which OS or distro the tournament machine would use). During a round, I would guess the random seed (current system time +/- a few seconds), the sequence offset, RNG processing strategy, and the algorithm used, and simply run a parallel copy of the libc RNG used by my opponent.

    I was therefore able to beat most RNG-using opponents 9998/10000 times easily, a finding which rather surprised the judges :) I didn't win top prize (algorithm wasn't fast enough, and it turns out that was weighted more heavily than I expected), but I did get a high ranking and a cash prize.

    Goes to show: sometimes a bit of "cheating" works well.

    1. Re:Reminds me of an old RPS contest... by nneonneo · · Score: 2

      Maybe about 10% or so. The contest was five years ago, so some of the details are a bit fuzzy. I don't believe we ever got the source code for other competitors, either, so I wouldn't know if they were using an RNG strategy or just a simple predictable one.

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

    3. Re:Reminds me of an old RPS contest... by N1AK · · Score: 2

      There was no hate or random in that post, though it did contain a healthy dose of explanation which sadly didn't seem to get through your eyes and into your brain.

    4. Re:Reminds me of an old RPS contest... by nneonneo · · Score: 2

      0) I have source code for my bot, the tourney announcement, and the tourney results. If you are really curious, ping me at my email address.

      1) I never said you were *playing* a random opponent. Against an *arbitrary* opponent your optimal strategy is to play randomly. Any other strategy that you play can be exploited to your loss. In this way, random really is the game-theoretic optimal strategy. It's not just a buzzword.

      2) Of course. I'm exploiting an implementation detail. This is a classic side-channel attack on an otherwise secure system.

      3) Yes. I looked up the source code for libc implementations online. It's easy: google ' rand.c'. Examples: http://fxr.watson.org/fxr/source/stdlib/rand.c?v=FREEBSD-LIBC, http://fossies.org/dox/glibc-2.15/random_8c_source.html. I also got Microsoft's rand() implementation for their MSVC runtime because the source code for that comes with Visual Studio. Yes, I was using Windows. Contest submissions had to be in C or C++, and most programmers would rather use rand() (portable, simple, easy) than implement their own random() function or use the less-portable /dev/[u]random.

      4) Contest programs ran in the same process, so your rand() state was shared. srand was forbidden, but we were given the tournament engine source code and so we knew when srand() was called and with what arguments (time(NULL)). To be specific: I pulled a single rand() value, then ran all my implementations of rand() with different seeds in the neighbourhood of time(NULL), and ran them for a variable number of iterations (up to 20, I think) to guess the sequence offset. The processing strategy was simply observing what values they were adding to the rand() value before taking it mod 3. The input is about 20 seconds * 5 libcs * 20 sequence offsets * 3 "processing strategies" = 6000 possibilities. Four dimensions, but they can all be constrained to small values.

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

  15. You try playing under those conditions by tepples · · Score: 2

    try beating me with your power turned off

    You try playing after having not eaten for days.

    This large electomagnet not it's not significant

    You try playing while someone's standing on your arm.

    The computer virus, not important, I win again ....?

    You try playing with the flu.

    1. Re:You try playing under those conditions by SlippyToad · · Score: 2

      You try playing after having not eaten for days.

      If it were the human vs. the robot, and the human was hungry, and the robot was in the way of food, I guarantee you human wins every time, no matter what it takes.

      The cold calculations of silicon have nothing vs. the survival instincts of 3.5 billion years of evolutionary struggle.

      --
      One day I feel I'm ahead of the wheel / the next it's rolling over me / I can get back on / I can get back on
  16. Re:Can you psych it out? by noldrin · · Score: 2

    From what I remember, the Doctor determined that the first side to make a mistake would win as it would throw off the other side enough that the side making a mistake would gain the overall advantage.