Slashdot Mirror


Rock-Paper-Scissors

Andreas Junghanns writes: "Check out the Second International RoShamBo Programming Competition for a completely different experience! If you think you know everything about Rock-Paper-Scissors -- here is your chance to prove it against some stiff international competition. At the Web site you can find rules, sample programs and a report of the first contest, complete with results and program descriptions." This looks pretty cool, and it might make a neat first project for someone, too.

136 comments

  1. Re:Could you use it again? by jovlinger · · Score: 2

    From what I gathered from a quick read overview, pretty much all of the strategies are dynamically programmable, whcih of course will cut down the time needed per turn dramatically.

    Johan

  2. Re:Source code to Psychic Friends Network by rmstar · · Score: 1
    Can anyone think of an effective counter-strategy against Iocaine?

    Iocaine itself.

    Just add Iocaine as one of the predicting strategies. I think it would work.

    rmstar

  3. Re:Good ole rock. by tps12 · · Score: 1

    See, you jump to the conclusion that I'm complaining about this because I lack a sense of humor. In reality, my sense of humor is far superior to those who would post such nonsense. That is what you must attempt to grasp.

    --

    Karma: Good (despite my invention of the Karma: sig)
  4. OFFTOPIC: Infinite Monkeys by dagoalieman · · Score: 1

    Obviously, we let them back out of the cage when we opened this topic up. That I have no problem with.

    However, for the sake of the moderators that we have here, it seems that many of them have grown hostile since the last time we dropped a football around them. The one with the football is still swinging from the goalposts, the normal monkeys are at the keyboards, but the rest (of the infinite, somehow) are lining up with their rocket launchers, chainsaws, and rail guns to post here.

    Please, people, drop the hostility, and use email flames if anything to shut people up. If you need to be an anonymous coward, use a hotmail account. Otherwise <rant mode> SHUT THE HELL UP!</rant mode>.

    Thank you. Someone please cage the monkeys again soon, as someone has to clean up their crap...

    --
    We don't need no Net Explorer We don't need no Thought control
  5. Re:Good ole rock. by AgentRavyn · · Score: 1
    And, by saying that, you've just made yourself appear to be an incredibly pompous ass. Never think that you're better than anyone, or on a higher lever, in any way--you'll have a harsh awakening.

    I know that sounds condescending. It's meant to sound that way, trust me.

    ___
    A requirement of creativity is that it contributes
    to change. Creativity keeps the creator alive.

    --
    ___
    I'm an exhibit on the mounted animal nature trail.
  6. And now a word from our Sponsors by TimeHorse · · Score: 1

    This year's RoShamBo competation is funded in part with thanks to The Movellan Society for the Total Eradication of the Dalek Scourge from the Entire Universe (MSTEDSEU).

    --
    Time Lord, Dark Horse: The Techno Mage of Gallifrey
  7. I thought ... by tilleyrw · · Score: 1
    RoShamBo was a game where one player kicks the other player in the nuts as hard as they can, then the other player kicks, and it goes back and forth until one player falls down.

    Courtesy Eric Cartman

    --
    This post encoded with ROT26. If you can read it, you've violated the DMCA. Handcuffs please, sergeant.
  8. Well... it sounded like a good idea by ka9dgx · · Score: 1
    I really thought it might be fun... until I found out that the submission had to be in 'C'. I could do this as a MS-DOS program in Turbo Pascal, or in Delphi under Windows, or even as a CGI program under IIS... but since they don't support a universal platform, I'm out. 8(

    --Mike--

    1. Re:Well... it sounded like a good idea by ka9dgx · · Score: 1
      "The C involved in this would probably take you all of 30 minutes to learn, assuming you're fairly good at other languages."

      While it's true that it's possible for me to hack out a C program, the big question is why? Why try to find a working compiler, try to figure out gcc, and all the man pages that were inherited from a compiler written in the 70's? Why work in a language that considers case sensitivity to be a feature, and not the bug that it truely is?

      C was a nice hack back in the 1970's... but time has moved on, it's time for a nice, powerful, object-oriented programming environment (or at least something cool like Forth, which can compile extensions into itself from the command prompt).

      --Mike--

      http://basicsoftware.com

  9. Re:This Must Be More Complex Than It Sounds . . . by EvilSoloman · · Score: 1

    Most people will probably include some analysis code, and may "bend" probability if the opponent seems particularly redundent.

    However, if you have a contestant which analyzes the opponent's strategy, you can also have one which deliberately tries to trick that software - feint a pattern, then switch to a counter-strategy based on what the opponent is likely to respond with.

    For example, one could choose Rock, Paper, Scissors in that order twice, and then the opponent program would sense that it's more likely that you'd choose Rock on the next move - therefore, it would respond with Paper, and you would cut it to pieces with Scissors!

    Ah i'm insane anyway.

    --
    EvilSoloman
  10. More Traditional Karma Whoring by grammar+nazi · · Score: 1
    the Roshambo Ten Commandments:

    I am the Lord your rock. Thou shalt make no paper to cover me.

    Thou shalt not covet thy neighbor's paper.

    Thou shalt not cheat at cards.

    Paper covers rock, rock crushes scissors, scissors cuts paper; all other combinations shall be a "push."

    Keep thy circles below thy waist.

    Thou shalt wipe thy victim's arm after thou puncheth his shoulder.

    Going rock all the time is NOT good; SAYING you are going rock every time may be.

    Keep the Wednesday night sacred, for it is the day on which poker shall be played.

    To be tilted is a admirable state, but to angle is divine.

    The holiest of pilgrimages is to Vegas. Thou who doest remain at home shall be a "pussy."

    I'm not taking credit for this one, go here.

    --

    Keeping /. free of grammatical errors for ~5 years.
  11. RPS - Alife tactics by The+Silicon+Sorceror · · Score: 1

    It would be interesting to apply the evolutionary theories behind Core Wars and many other artificial life programs to RPS programs. The way these work is that some basic "starter" programs written in a synthetic language are pitted against each other virtually. The losers from this round are eliminated, and the gaps are filled with mutated copies of the survivor programs. Continue this ad nauseum, and you get some pretty good programs. Of course, it would take quite a few rounds to end up with a program with some really good AI, but this would be an interesting project.

    --

    ~ Give me 101 plastic soldiers, and I will conquer the world.
  12. Re:Traditional Karma Whoring by $lacker · · Score: 1

    Yeah, see, Signal knows how it's done. You wanna know how to karma whore? You go to him. Kid knows all the ins and outs

    --


    This post is brought to you by the letters T and A, and the number 69
  13. It is.... by Anonymous Coward · · Score: 3
    From someone who has spent about 1 week of his life trying to come up with a startegy to win, I can tell you it is quite difficult. My strategy was to have three variables, each corresponding to the three possible moves - rock, paper or scissor. Then follow the rules below to come up with a move.
    • Choose a random move. Add one to that move.
    • Check if opponent is making same move all the time. Add one to the move that will beat that.
    • Check if opponent is moving in a cyclic pattern. Add one to the move that will beat that.
    • Check if opponent is trying to beat my last move. Add one...
    • Check if opponent is trying to beat the move that I would have played if I wanted to beat it the last turn. Add one...
    • If I've been losing a lot lately, make a random move, otherwise make the move that has the highest count.

    These strategies all together easily beat the sample bots but get hammered by the competitive bots. They are no where near as powerful as the competitive bots. I was going to do a bit more extensive pattern matching routines to try and beat them, but just havent got around to doing it.

    Vivek Mittal Telstra Research Labs

    PS: I wonder how much my first post ever on /. will get moderated. :)

    PPS: Can we add another way to get your account information back... enter email... I dont remember by user id and when I try to create a new account, /. complains of a duplicate email.

  14. There is a real strategy to be found by psm · · Score: 1
    Why bother with analysis of your opponent's approach. I think the real way to tackle this would be to already know your opponent's tactics. You can do this by submitting heaps of "different" entries to the competition (not sure if this is valid as the site seems to be /.'d), and since you then have a good chance of coming up against a program you have written, you could easily beat it!

    That's sure to get you through a few rounds at least :)

    1. Re:There is a real strategy to be found by Phroggy · · Score: 1
      Nope, the rules say you can't do that. You can submit multiple entries, but not if they're designed to stack the odds.

      --

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  15. has already been done.... by Anonymous Coward · · Score: 2

    Somewhere on the web site they has a section of cheating bots and one of the bots did exactly that. It somehow re-engineered the RNG and won all 1000 times against the random bot. Vivek Mittal Telstra Research Labs

  16. Re:This Must Be More Complex Than It Sounds . . . by Kyobu · · Score: 1

    No, there are not three variables. There is one (external) variable, the result. That variable has three possible values, Rock, Paper, or Scissors.

    --
    Switch the . and the @ to email me.
  17. I won the last year's competition -- here's how... by egnor · · Score: 5

    My submission, Iocaine Powder, won last year's competition. Follow the link to see a complete description of how it works. The competition results from last year describe some of the other strategies that did well (and some that did not-so-well).

    This competition is more complex than it seems; not only are there deliberate "dumb robots", but many of the real entries are quite predictable. A random player wouldn't have made it close to winning, and stalemates were rare.

    What does this year hold in store? We'll just have to see!

  18. Good ole rock. by AgentRavyn · · Score: 1
    Gotta love that Simpson's episode:

    Bart: Good ole rock. Nuthin beats rock.

    ___
    A requirement of creativity is that it contributes
    to change. Creativity keeps the creator alive.

    --
    ___
    I'm an exhibit on the mounted animal nature trail.
    1. Re:Good ole rock. by blueg3 · · Score: 1

      How about the South Park episode? "First I kick you in the nuts as hard as I can, then you kick me in the nuts." Or something like that... I guess it would be tough to come up with a good stragety for a simulated version of that game, though. :-)

    2. Re:Good ole rock. by AgentRavyn · · Score: 1

      Go first. ^.^
      ___
      A requirement of creativity is that it contributes
      to change. Creativity keeps the creator alive.

      --
      ___
      I'm an exhibit on the mounted animal nature trail.
    3. Re:Good ole rock. by AgentRavyn · · Score: 1

      Christ, man, can't you lighten up? Do you need someone to remove that stick from your ass?
      ___
      A requirement of creativity is that it contributes
      to change. Creativity keeps the creator alive.

      --
      ___
      I'm an exhibit on the mounted animal nature trail.
    4. Re:Good ole rock. by tps12 · · Score: 1

      This is going too far. Someone already posted this quote, in a comment containing actual information. There is thus no reason to post it again. I understand you want people to know you like the Simpsons, but this is really the wrong way to do it. Join a webring or something, with your favorite 11kHz WAVs of quotes such as this.

      --

      Karma: Good (despite my invention of the Karma: sig)
  19. Typical of Slashdot to glorify violence by Anonymous Coward · · Score: 4

    I'm really not suprised that all you gun-toting, neo-nazi Americans would try to glorify some excessively violent childhood game like Rock Paper Scissors. Have any of you stopped to consider what these sorts of values these pasttimes instill in our children?

    I mean, let's start with the rock. And I'm not refering to that movie with Nicholas Cage & Sean Connery in it, either. Rocks == Violence! Ask any caveman! Were it not for Oog being silenced by the Lameness Filter, I assure you he would back me up on this.

    As for the scissors, well why don't you just throw children off a cliff? How many times have we been told not to run with scissors, and here /. is urging people to use them as both toys and weapons!

    And the paper... oh Lord, how irresponsible can you get? We do all we can to squash that horrible "Puff the Magic Dragon" degenerate druggy song and then you people come along and start handing out Zig Zag's to elementary school students!

    While we're at it, let's review the "premise" of this whole "game":

    • Rocks violently destroy scissors
    • Scissors violently slice apart paper
    • Paper violently smothers the helpless rock

    Are any of you thinking about the children? I seriously doubt it!

  20. Two things by luge · · Score: 3

    1) AI class I took last year (well, TA'd) we went in to some detail on possible RPS strategies. Yes, you can have strategies, at least assuming that your opponent is not a pure RNG (in which case the only correct strategy is to be RNG yourself.)
    2) Nothing that the tourney produces will be as cool as this. Unfortunately, the picture stinks, but on the left is my professor, and on the right is the kid (he'll hate me for that) who build the RPS-playing Lego Mindstorm. And that's the RPS bot in the kid's hand. It used some pattern learning software (written in legOS) to attempt to detect patterns in human RPS players. Didn't work great, but what the heck... it was still damn cool. Had fingers and the whole bit.
    ~luge

    --

    IAAL,BIANLY

    1. Re:Two things by DrTomorrow · · Score: 1
      Yes, you can have strategies, at least assuming that your opponent is not a pure RNG (in which case the only correct strategy is to be RNG yourself.)

      Actually, any strategy is correct against a pure RNG strategy. I could choose Rock everytime and expect the same result.

      The best thing about an RNG strategy is that you will score average against ANY strategy.

      --

      Everything in this post is false.

  21. Re:I won the last year's competition -- here's how by Gill+Bates · · Score: 1

    So, how does Iocaine Powder perform against itself? Have you done this analysis?

  22. Re:Play Rock, Paper, Scissors over the phone by Royster · · Score: 1

    In order to view the source, etc. you need to get a free login of their "developer studio" - but if you don't want to do that, here's how to play:

    In a futile attempt to maximize karma, eries perpetrated the first Slashdotting of a PBX.

    --
    I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
  23. Re:Here's My Entry by DotWarner · · Score: 1

    I suspect that this will work better than you'd think. An intelligent entry will assume that nobody is stupid enough to play the same thing every single time, and will assume at some point that you're faking it out and try to outsmart you by playing scissors. A simpler program that plays the averages will win at least 999 times, but more complicated programs may handle it less effectively.

  24. Re:Rock Paper Scisors expansion kits... by ktakki · · Score: 1

    Damn, Seebs. You're weird.

    k.

    --
    "In spite of everything, I still believe that people
    are really good at heart." - Anne Frank

    --
    "In spite of everything, I still believe that people are really good at heart." - Anne Frank
  25. Hmm... by PurpleBob · · Score: 2

    ... and for the sequel, a Tic-Tac-Toe robot competition!

    Actually, I never realized there were so many levels of depth to Rock-Paper-Scissors. Neat.
    --
    No more e-mail address game - see my user info. Time for revenge.

    --
    Win dain a lotica, en vai tu ri silota
    1. Re:Hmm... by daninja · · Score: 1
      If you play center in TTT, and play intelligently (i.e., not to lose on purpose), you are guaranteed at least a draw
      Actually, a competitive TTT player (such as myself) can make the initial move in any square and never do worse than a draw.

      FWIW, an opening move to center square, while not technically weak, is certainly indicative of a lack of style. The French (of course) are especially critical of this kind of unimaginative play, and refer to the center square as the "pissant" square, and use the term "un pissant" to describe both the initial play to center and the person that makes it.

  26. RoShamBo!!?!? by Anonymous Coward · · Score: 1

    whoa, when i was a kid ro-sham-bo meant something totally different. a big kid would walk up to you and ask if you wanted a ro-sham-bo. no matter what you answered, the big kid would grab your shoulders, turn you around, and knee you in the ass as hard as he could while simultaniously howling "ROSHAMBOOOOOOOO!!". this was also known as "giving [someone] elephant dick", but the real key to ro-sham-bo was to really sound like an old howling dog when you yelled the "BOOOOO". i think one day i will write a book on the cruel things geeks had to endure: the wedgie, the atomic wedgie, swirlies, nipple twist-and-whistle, sideburn twist, nuggies, hertz-donuts, dead-legs, ro-sham-bo and the elephant dick, wet-willies, vulcan shoulder grip, frumunda juice, and of course the kidney punch. i will award an official no-prize (i got it from stan lee himself) to whoever can correctly identify these tortures. share the pain.

  27. Joke? by Hard_Code · · Score: 2

    Is this a joke? I mean, if the "optimal" solution is a random distribution, then what possible good can using a heuristic to discover a "tendency" in the opponent be? The only thing you could possibly discover is flaws in the random number generator.

    --

    It's 10 PM. Do you know if you're un-American?
    1. Re:Joke? by Whackamole · · Score: 1

      Nope! The "optimal" solution is to tie all your matches, and let brownian motion take you where it may... which isn't a _winning_ strategy. And, really, everything's as good as random versus random - you don't lose for just throwing rock, and you don't lose out for writing an algorithm.

      So instead, you try to do something that's theoretically guessable, but more reliably can guess the opponent's plays... that way you can exploit the weak and get points. Hopefully you do the best job of it.

      --
      Data East: "Leaders in Dot Matrix Technology" - Star Wars pinball
    2. Re:Joke? by Hard_Code · · Score: 2

      But even the DUMBEST bot's solution is the optimal one - randomness. How can you apply a heuristic to randomness? How can you possibly "guess" what the opponent is going to do?

      --

      It's 10 PM. Do you know if you're un-American?
  28. Roshambo Rampage by Anonymous Coward · · Score: 1

    Networked R-P-S is available here

    thank you.

  29. Re:I won the last year's competition -- here's how by aint · · Score: 1

    cool. are you joining this years? also, i'd be curious to see how the current version of iocaine powder fairs during this years competition.

    -- .sig --

  30. Re:What about psy-ops on the authors? by Alpha+State · · Score: 1

    If you have a look at last years results, you'll see that "rockbot" (Good ole rock. Nuthin' beats rock.) came 39th out of 42.

  31. Of RoShamBo and the Princess Bride by grappler · · Score: 4

    It's just like that game in the movie "Princess Bride", where a man reasons that to poison your drinking partner, you put the poison into your own glass. If he is suspicious he will switch with you when your back is turned, and will bring about his own doom. However, if he is a step cleverer than that, it becomes impossible to outsmart him - as the reverse-reverse psychologies pile up, the game boils down to random chance. Of course, the hero in the movie knew this and poisoned both glasses. After his opponent got thorougly lost in a maze of pseudo-logic, he took his poison and that was that.

    That's the kind of visual image I get of someone trying to write a program that would win this contest - the "inconceivable!" guy from princess bride.

    I wonder how a simple markov chain would do. That's where the probability of every move is based on the outcome of the previous game. For instance, "2 of the 3 times his rock beat my paper, his next move was scissors, so since his rock just beat my paper again, I'll anticipate scissors this time and go rock." I think this kind of reasoning would beat your typical human roshambo player in the long run, since a human would typically have a certain response based on what just happened.

    Obviously, it's different with a computer. The program might anticipate this kind of thing, and has no general "feeling" that would you any reason to link a round to the one that came before. The more I think about this, the more I think it's just a matter of guessing right what other people will do.

    --
    grappler

    --
    Vidi, Vici, Veni
    1. Re:Of RoShamBo and the Princess Bride by grappler · · Score: 2

      *Slaps Forehead*

      Of course, paper beats rock, not the other way around. Doh!

      --
      grappler

      --
      Vidi, Vici, Veni
    2. Re:Of RoShamBo and the Princess Bride by Greyjack · · Score: 1

      It's just like that game in the movie "Princess Bride", where a man reasons that to poison your drinking partner, you put the poison into your own glass.

      Funny, I wonder where last year's winning entry (Iocaine Powder) got it's name? ;-)


      --
    3. Re:Of RoShamBo and the Princess Bride by grappler · · Score: 2

      Wow. Um, well, what can I say? I guess I wasn't the first by a long shot to make that connection. I read the entire first page of the site, but I didn't read the faq or the results, so I didn't see any mention of Iocaine powder. I feel stupid.

      I swear, I had no intention of copying or re-posting anything.

      --
      grappler

      --
      Vidi, Vici, Veni
  32. Personally I prefer the South Park roshambo by evilned · · Score: 3

    Hey, it could be fun. make a quake bot that aims for the crotch, and dodges crotch shots. now that would be great for the AI people. Wait, that would be a great mod. Someone make NutShot Quake.

    --

    "My head hurts, My feet stink, and I dont love Jesus." -Jimmy Buffett

  33. Homer by Hard_Code · · Score: 2


    Homer's brain: Rock. Nothing beats rock. Go rock!

    Homer: ROCK!

    Bart: Paper

    Homer: DOH!

    --

    It's 10 PM. Do you know if you're un-American?
  34. This has been done before. Remember Alex Kidd? by Shocker69 · · Score: 1

    I don't think anyone has mentioned this before, but does anyone remember the old Sega Master System Game "Alex Kidd in Miracle World"? It was a really fun game. You would beat the boss monsters by playing rock, paper, scissors also known as Janken with them. Some of them had special mindreading powers (which you could also get later in the game). If you had the mindreading power on, you could visualize what they were going to use (rock, paper, or scissors). It was so much more involved than it sounds and took a lot of wits and quick fingers to beat these bosses which increased in difficulty as you went on. Get the faq for this game somewhere and check it out, it is really interesting how they used this as the whole theme for a very successful video game. I can't be the only one to remember this game.

  35. Re:Traditional Karma Whoring by Chiasmus_ · · Score: 1

    Actually, I think we should have solved the Cold War this way. Or something a little more complicated.

    Let's face it - the country that can write the best code will win modern wars, anyway. So why not just match one government's (chess/ go/ RoShamBo) program against the others, and then disband the government that loses?

    --
    "Beware he who would deny you access to information, for in his heart he deems himself your master."
  36. Re:Rock Paper Scisors expansion kits... by peterarm · · Score: 1

    thanks for making my monday morning. wish i had mod points.

  37. Re:This Must Be More Complex Than It Sounds . . . by Chiasmus_ · · Score: 1

    My first thought was to just go RR SS PP RR SS PP until the program appeared to be losing, and then jump ship and go random. I figured the "bait and switch" tactic might work pretty well against some programs - put out two in a row to get them to take the one that would beat it, and then quickly switch to the one that would beat that. Then I read the rankings and saw that there was already a bot called "Bait and Switch" - and it lost half its games with a score of -999, which means 999 losses and 1 draw. So now I think I won't be making that bot.

    --
    "Beware he who would deny you access to information, for in his heart he deems himself your master."
  38. Re:Traditional Karma Whoring by odie_q · · Score: 1

    Actually, there is an all-destroying weapon. I am not sure of the name, but after making a balled fist (as in "rock"), you present it to your opponent with great force and speed. Of course, this could lead to all sorts of displeasantries if abused.

    --
    ...ceterum censeo Carthaginem esse delendam.
  39. Re:This Must Be More Complex Than It Sounds . . . by Chiasmus_ · · Score: 1

    This isn't very insightful. Actually, it's obviously wrong. Just look at the rankings from last year's tournament.

    Sure, "Optimal Random" beat, and was beat by, some programs, almost never by a margin of more than 20 points. Conversely, "Iocaine Powder" (last year's champion) won several matches 999 wins to 1 draw. That's an enormous margin for a random program to catch up to. There are going to be some "idiot bots" that choose the same one over and over - and any reasonably programmed bot should beat them - so assuming five easy wins for a competently programmed bot, the random(optimal) will have to somehow come up with 5000 more wins than losses.

    Try this. Write code that picks a random number, 0 or 1. Have it pick 50,000 of these, and compare the quantity of each number, and add an iteration. See how many iterations it takes before the 0's beat the 1's by 5000 or more.

    --
    "Beware he who would deny you access to information, for in his heart he deems himself your master."
  40. Re:No, this is not a real tournament. by Chiasmus_ · · Score: 1

    Judging by the fact that Cheesebot lost 999 games in more than 50% of his matches, I don't know WHAT it was doing, but I don't think "Rock, rock, rock" is a bad guess.

    --
    "Beware he who would deny you access to information, for in his heart he deems himself your master."
  41. Big Blue? by gludington · · Score: 1

    Sure, a computer can beat Kasparov in Chess, but where is the Big Blue that can master the intricacies of RoShamBo against a human?

    I know, I know...somebody is building a Beowulf cluster somewhere for this...

    1. Re:Big Blue? by swdunlop · · Score: 1

      Actually, I believe a Human would be far easier to beat, in RoShamBo. People tend towards very obvious patterns, and have trouble tracking and analyzing long patterns of prior (and remarkably dull) data. A Markov chain system, with some weighting to make it /look/ like it isn't a Markov chain system, should outwit paltry humans.

  42. Re:This Must Be More Complex Than It Sounds . . . by hypergeek · · Score: 2
    In their FAQ, they tell you not to submit the random strategy, because it'll be guaranteed to finish in the middle of the pack.

    Bull. If enough people submit programs that use the 'random strategy', then one of them will win by sheer chance. If you've got thousands of Roshambots choosing at random, then the sequences of a few of them are going to coincidentally look a lot like the winning strategy of the smartest 'bots. It's the infinite-monkeys-on-typewriters problem, just simplified.

    --
    Stay up hacking each weekend. Sleep is for the week.
  43. Not my thing by ZoneGray · · Score: 1

    I used to play RPS in college with a bunch of guys who were on acid. They whooped my ass consistently, but they never knew it.

  44. Re:This Must Be More Complex Than It Sounds . . . by Anonymous Coward · · Score: 1

    Get a fucking clue and a college degree you moron. Yeah, if a billion people submit a random strategy maybe one of them will beat a bot that plays rock a thousand times in a row versus a program that actually has a strategy. Now since only a few hundred people are going to submit code for this, your point is so ignorant it belies your lack of a CS degree and a critical thinking or logical background.
    Read the FAQ fuckwad, it states that random programs always will fall in the middle of the pack, go learn about big-O and the law of averages and come back when you have a clue.

  45. Here's My Entry by hypergeek · · Score: 2

    int roshambot(void)
    {
    return 0; /* Good ol' rock. Nothing beats rock. */
    }

    --
    Stay up hacking each weekend. Sleep is for the week.
    1. Re:Here's My Entry by Tower · · Score: 1

      Poor Bart, always chooses rock...

      --
      "It's tough to be bilingual when you get hit in the head."
  46. Re:Traditional Karma Whoring by hypergeek · · Score: 1
    Contrary to popular belief, there is no "Nuclear Bomb" which destroys everything.

    If only we had known that in the 1950s. Instead of a Cold War, we could have devoted our computing power to perfecting the art of Sim-RoShamBo. See what FUD does to society?!?

    --
    Stay up hacking each weekend. Sleep is for the week.
  47. GOOD WORK, MY ENTITY-LADEN FRIEND by MenTaLguY · · Score: 1

    I SUPPOSE WRITINGTHESE KINDS OF HEURISTICFILTERS IS ASIMILAR CHALLENGE TOWRITING AN R-P-S BOT, AND PERHAPS SUBJECTTO THE SAME KIND OF ONE-UPMANSHIP.

    HEURISTICS CAN BENASTY, THOUGH, ASTHEY WILL NEVER DOEXACTLY WHAT YOU WANT. FINE FORA GAME, NOT SO GOOD FORA PUBLIC FORUM.

    --

    DNA just wants to be free...
  48. Re:What about psy-ops on the authors? by blueg3 · · Score: 1

    Well, with the random-choosing bots that the contest-makers throw in, you'd have a 50% chance of beating them, so that you'll only end up somewhere in the middle. I suppose it might really beef up your scores with people that get really in-depth with their code, but very simple algorithms will beat you senseless. As a subject of the testing mentality, I'd have to agree that in real life always choosing the same one will play serious mind games with your opponent, but computers, unfortunately, aren't that smart. :-(

  49. Re:No, this is not a real tournament. by Chiasmus_ · · Score: 1

    I should have read the c file before I posted that, but it turns out I was right.

    int rockbot () /* Good Ole Rock */
    {
    /* "Good ole rock. Nuthin' beats rock." */
    return(rock);
    }

    --
    "Beware he who would deny you access to information, for in his heart he deems himself your master."
  50. Re:This Must Be More Complex Than It Sounds . . . by Whackamole · · Score: 1

    Please, at least give it a mental test-drive. How do you beat someone in roshambo? It's all about psychology. The problem with the random agent (that you outlined) is indeed that it always (give or take) ties... you'll never get anywhere like that.

    To win, you HAVE to try guessing out a strategy that takes your opponent into account (thus assuring wins), and not be outwitted yourself (thus avoiding losses)... unless play-to-lose is a viable strategy... was it? The beauty of this competition is that the code to illustrate all of these techniques is really short, clear (mostly) and easy to write. It's a perfect hobbyist's coding challenge.

    --
    Data East: "Leaders in Dot Matrix Technology" - Star Wars pinball
  51. Look through the site. by cibrPLUR · · Score: 1

    If you look at more than the front page, you will see that it mentions all of your thoughts in the FAQ and other areas.

    --

    -cibrPLUR

  52. A smart program will NOT start out random by Temporal · · Score: 2

    A smart program will use all kinds of techniques to figure out its opponent's prediction algorithm. I would imagine that such a program would start out with some carefully planned tricks to get the other program to reveal itself.

    Of course, I don't know for sure, since I have not tried it. But, if you look at the results from the last tournament, you see that one program, called "Iocaine Powder", won every single round my a significant margine. The second-place program was based on an earlier version of Iocaine Powder, and was as far ahead of third place as it was behind first. Clearly, this is more complex than it sounds. :) Perfect name for the winner, too.

    ------

  53. South Park by dulles · · Score: 2

    I have to admit, I was wondering about the name RoShamBo until I got to this:

    * Q: RoShamBo? I thought that was the game where you and Cartman take turns kicking each other in the nuts as hard as
    you can.
    A: No, that's Roshambeau. Notice that alternating turns (rather than playing simultaneously) affects the strategy.
    Going first tends to be somewhat advantageous in Roshambeau.

  54. A GA or other evolving strategy will be good... by greg_barton · · Score: 1

    ...to solve this problem, especially if other entries utilize a static approach. Check out section 1.9 of Melanie Mitchell's book _An_Introduction_to_Genetic_Algorithms (MIT Press) for an interesting discussion of a evolving solution to the prisoner's dilemma. The only problem is the time constraint. :-)

    The gene coding could be something like this: where the lists consist of R|P|S for Rock|Paper|Scissors. This creates a gene space of 3^(2N+1) which isn't bad for small N. It could be made simpler if your own moves were left out of the gene space, but then you couldn't compensate for your opponent reacting to your own behavior.

    It'd be fun to see if this could be written in under 40 lines too...

    1. Re:A GA or other evolving strategy will be good... by greg_barton · · Score: 1

      I frikkin hate it when I don't preview the comment...

      The gene coding would be [List of opponent's last N moves][List of your last N moves][suggested move]

  55. Could you use it again? by TheDullBlade · · Score: 2

    I notice that they limit you to a millisecond per turn. Is Iocaine Powder fast enough for that? I wouldn't have thought that any fairly sophisticated prediction system would be fast enough. I suppose, though, that a millisecond does give you a few hundred thousand cycles, but given a history of several hundred turns, that isn't a lot of cycles to spend per turn in the history.

    --
    /.
    1. Re:Could you use it again? by enneff · · Score: 1

      It's actually 1 second per turn.

    2. Re:Could you use it again? by zeck · · Score: 1

      It has to complete 1000 turns in 1 second. 1/1000 is one thousandth of a second per turn.

  56. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  57. Play Rock, Paper, Scissors over the phone by eries · · Score: 3
    Hey, check out:

    http://studio.tellme.c om/home/documentation/example-111.html

    It's a company that produces a "VXML" platform that let's you program a phone voice system. Sample code #111 is a rock-paper-scissors game. Basically, you call up and play against a whiny, simulated kid voice. You can even "say" your commands...

    In order to view the source, etc. you need to get a free login of their "developer studio" - but if you don't want to do that, here's how to play:

    1. Call Tellme Studio: (1-877-461-3597)
    2. Enter T-R-Y-I-T (87948) as the Developer ID
    3. Enter T-R-Y-I (8794) as the Pin
    4. Enter the code example's 3-digit Code Reference ID (in this case, 111)

    Enjoy!

  58. RoShamBo Club by Plasmic · · Score: 1
    First rule of RoShamBo club:

    Don't talk about RoShamBo club.

    Second rule of RoShamBo club:

    Don't talk about RoShamBo club.

    Why so many rules? Because if you told people about it, they'd realize how ignorant you were for taking RoShamBo so phenomenally seriously:

    Hey, let's all write programs that attempt detect other people's patterns and base our moves off of that while, at the same time, making our program seem to be moving in a certain pattern, but not really patterning our moves after anything detectable, so as to seem random. Damn, we're bright!

    Some choice words from Mr. RoShamBonehead:

    "..but the best strategy can be quite complicated when playing against fallible opponents"
    Gee, that sounds strikingly like the skill level needed to win tic-tac-toe (play against stupid people)?
    "The game is trivial from a game-theoretic point of view"
    I do agree that the game is trivial, but I'm not so sure about this so called "game-theoretic" stuff.. could someone explain some of the game-theoreticizationismifications to us, per chance? I'm not quite sure I see his point of view..
    "The optimal mixed strategy is to choose an action uniformly at random. This will ensure a break-even result in the long run, regardless of how strong (or how weak!) the opponent is"
    Oh.. well if that's all. I just do the good old-fashioned mixed strategy of uniform randomness and then bing-zam-boom! I'm the winner? Okay. Not only that, but there's some sort of ensured result from this so-called randomness. Dammit, that makes so much sense it's like I'm sitting here saying "please don't be so crystally clear in your ignorance.. you're ruining my Pick-up Sticks (TM) programming contest"
    "against predictable opponents, a player can attempt to detect patterns in the opponent's play"
    This is just the introduction and it's already getting so damn complicated with all this jazz about being able to predict players that are predictable.. whew!
    "You can play Perry Friedman's original RoShamBot at: http://chappie.stanford.edu/cgi-bin/r oshambot"
    Jeez! I guess he saved the best for last. Now, if only they had RoShamBo for Palm..
    1. Re:RoShamBo Club by Chops · · Score: 1
      Hey, let's all write programs that attempt detect other people's patterns and base our moves off of that while, at the same time, making our program seem to be moving in a certain pattern, but not really patterning our moves after anything detectable, so as to seem random. Damn, we're bright!
      Yeah, generalized pattern detection is pretty boring. Make sure you don't tell the people who built the first computers; they accidentally broke a few codes and helped save the world, but they might still be embarassed to admit they liked playing with that kind of stuff.

      It's not a tournament where two champion RPS bots square off for The Big Game, winner take all. That would, obviously, be useless. It's something different. If you want to learn about it, go here. It's cool. IP is stunningly elegant, and the Markov chain thing is surprising in that it's an almost pure-math solution that works well (I can almost see the guy's old CS professor somewhere, beaming with pride). I know that guys with the pads made everybody a little leery of following the links off this site, but this one is worth clicking past the first page for.

    2. Re:RoShamBo Club by Jerf · · Score: 2
      We need a new moderation catagory: 'Did not read the linked pages, does not understand the topic, said stupid/mocking things anyhow.'

      I suppose then the moderaters would over-use it because they don't seem to read the links either...

  59. If I'm not mistaken... by Cliffton+Watermore · · Score: 1

    Rock Paper Scissors was intially played amoung the ancient Celtic peoples, one of the key gambling games in their early history. It wasn't known as Rock Paper Scissors, though, it was known as "Ynuca" (Sorry about the spelling, History buffs). And the game was slightly different, but the object was the same: 3 different implements, each one suseptible to one of the others and able to take out one of the others. It wasn't until the Celtic tribes of Western Europe were invaded by the Romanic peoples of the South taht the game was introduced into "Mainstream culture". Ironically, it was lost in Northern and Western Europe and only resurfaced when the Roman Empire was crumbling - travellers from Rome revived the game while resettling in England, centuries of years later. From there on it was adapted and moulded into its current form, but the point is that initially, at least, it was an adult game and wasn't considered a "child's game" until at least the 1200s.

    --
    "A few atoms won't even light a match" - Dr Jones, 1933
  60. Re:I won the last year's competition -- here's how by Cuthalion · · Score: 2

    it wins

    --
    Trees can't go dancing
    So do them a big favor
    Pretend dancing stinks!
  61. Duck And Cover! Re:nothing beats lava. by billstewart · · Score: 1

    Which South Park episode was that?

    ~~~~~~
    Duck and Cover beats Nuclear Bomb....

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  62. Re:Rock Paper Scisors expansion kits... by envelopush · · Score: 1

    space alien is immune to gun

    rock beats alien

    I am going dizzy trying to follow the logic there.

    BTW, Doesn't rock beat gun? Rock beats gun out of opponents hand, kills rock's opponent.

  63. Re:umm by hypergeek · · Score: 1

    D'oh!

    --
    Stay up hacking each weekend. Sleep is for the week.
  64. There's always decpetion by A+nonymous+Coward · · Score: 2

    You've got a thousand moves. You could always spend the first few on a dumb pattern, hope the other player falls for it, and especially if the other player doesn't adapt strategy after its first decision -- then change strategy.

    --

    1. Re:There's always decpetion by Skim123 · · Score: 1

      Or you could just try and fuck with the other program's strategy and return a value of -427 from your r/s/p function.

      --

      I could not justify my existence if I were a turkey farmer. Would I terminate myself? Undoubtably, yes.

  65. self-fulfilling? by gargle · · Score: 3

    Q: Can I enter Random (Optimal)?
    A: No. You shouldn't want to anyway, because it is guaranteed to finish in the middle of the pack. It definitely will not finish in first place, because it cannot exploit the weaker programs.


    This is a self-fulfilling prophecy isn't it? The more people believe the above statement, the more there is to gain or lose from a non (uniform) random strategy.

    1. Re:self-fulfilling? by frunk · · Score: 1
      Which rewards more sophisticated and devious programs.

      To a certain extent the statement is guaranteed to be true, due to "dummy" bots that will be exploitable. Several programs in the first Competition attempting to rely on Random (Optimal) too much were rarely if ever defeated but failed to score well against the weaker programs.

      In contrast all of the best programs used Random (Optimal) as a fallback strategy when it was obvious that the opponent was exploiting their own moves. Their first choice, however, was to rely on pattern detection.

      --
      -- I'm trying to lurk, yet I'm failing miserably.
  66. Re:I won the last year's competition -- here's how by Seumas · · Score: 2
    Christ, post #44 needs to be moderated to a +5, urgently. The explanation egnor gives at http://ofb.net/%7Eegnor/iocaine.html is incredibly easy to understand and makes this whole competition clear to me. In fact, it makes me wonder if I should put down Database Nation to start reading Programming Algorithms.

    Having such a limited background in math, it's just this sort of walkthrough that hosers like myself need. The kicker, as is always the case, is that it's so fucking simple once you see what is being implemented and how successful it is.

    Thanks for the information, egnor!
    ---
    icq:2057699
    seumas.com

  67. Iocaine Powder does this by MrShiny · · Score: 1

    If you read this source code and scroll down to the description for Iocaine Powder, you'll see that it addresses the endless second guessing problem you're describing here.

    First of all, there are really only 3 levels of second guessing because there are only 3 choices. Iocaine analyzes the history list and determines which level of second guessing was the most successful.

  68. "Test Suite" will NOT compile w/o a small change by Anonymous Coward · · Score: 1

    I downloaded and tried to compile the test suite and it would not compile cleanly. In line 4679, the #define of MD5STEP, you must remove the "\" (the backslash).

    It will then compile cleanly. This gives you a nice framework into which to put your own algorithm to try... It's easiest to just "replace" one of the existing ones with your own code. There is probably a better, "cleaner" way to do it, but it's a big program and I don't know what all would need to be changed....

  69. Re:Traditional Karma Whoring by luckykaa · · Score: 1

    There is also no dynamite. As explained here

  70. roshambo squared by kkeller · · Score: 2

    A while back, a couple of math-geek friends came up with a variation of the traditional roshambo rules. I don't know if this new game got a name, but here's how it went.

    Two new items are added: the angel (forming a circle with your thumb and another finger) and Satan (forming devil horns with your forefinger and pinky). Every item loses to two others, beats two others, and ties with itself. The traditional rock-scissors-paper patterns hold, so here are the new combos:

    Angel loses to Paper (nasty paper cuts) and Scissors (clipped wings)
    Angel beats Satan (because good always triumphs over evil) and Rock (because Angel can fly away from a rock-thrower)

    Satan loses to Angel and to Rock (because Satan's malice gets turned against him)
    Satan beats Paper (because it burns in Hell) and Scissors (I forget why, exactly, but it needs to be symmetric)

    It was fun, but too hard to keep track of all the rules, so it was quickly discarded. (I might point out that other members of the same group staged a roshambo tournament, in which one player actually did quite well using the pi bot and the rockbot (Good ole rock. Nuthin' beats rock.) strategies.

    I wonder: Would the extra items cause the roshambo writers to reevaluate their strategies? Would five items only make decision-making longer, or would it actually cause strategic differences?

    --keith

  71. Gary Larson thought of it first by seldolivaw · · Score: 1

    The Far Side featured an international rock, paper, scissors olympics all of 10 years ago... Dilbert isn't the only one who makes accurate future predictions.

  72. Re:Cheater bots by eisbaer4 · · Score: 2

    A few people have told me they had some ideas that might beat The Matrix. I guess I should have had it score 1001 out of 1000, just to drive the point home. :)

    --
    char*p="char*p=%c%s%c;main(){printf(p,34,p,34);}"; main(){printf(p,34,p,34);}
  73. Corewars by afabbro · · Score: 2

    Rock? Scissors? Paper? cf. Corewars, the original...

    http://www.koth.org/

    --
    Advice: on VPS providers
  74. This is a job for NN by Nagus · · Score: 1

    As far as i can see, this would really be a nice application for a neural network. The only problem I see is that only 1000 turns are played, which is probably not enough to train a neural network into a winner.

    Basically it's all just pattern recognition, and neural networks are good at that.

    Anyone wanna give it a try?

    --
    Wenn ist das Nunstruck git und Slotermeyer? Ja!... Beiherhund das Oder die Flipperwaldt gersput!
  75. Coming Next..... by shippo · · Score: 1
    A competition to produce the most effective Mornington Crescent engine, complete with all valid openings and support for the Reverse Crescent variant.

    Now, what is the optimum algorithm for calculatin Beck's Coefficient during Knip?

  76. Powerful strategy (was Re:I won the last ...) by sreeram · · Score: 1
    There's another very powerful strategy that I have seen employed.

    There was a similar competition sometime back - the Prisoner's Dilemma Contest run by the Perl Journal. Your program played against two other programs in a series of matches, and the organizers would plant dumb robots.

    The winning strategy there was actually a team of three entries: two of which (slaves) were bent on losing to the third (master). I read through the rock-paper-scissors contest rules, and I can see that such cooperation is not precluded. Try coding a master and a bunch of slaves, so that when they meet (and can recognize such a meeting), master will always beat slave. Of course, play sensibly when the master and slave are not playing against each other.

    Come to think of it, Iocaine Powder + master-slave would be really powerful indeed.

    Sreeram.
    ----------------------------------
    Observation is the essence of art.

    1. Re:Powerful strategy (was Re:I won the last ...) by BJH · · Score: 1


      You obviously didn't read very far into the rules - the use of a deliberately losing strategy (against other 'bots created by yourself) will result in only the last entry being accepted.

  77. Traditional Karma Whoring by Anonymous Coward · · Score: 2
    Rules of Rock, Paper, Scissors:

    Rock - bashes scissors, is covered by paper.

    Paper - is cut by scissors, covers paper

    Scissors - cuts paper, is smashed by rock

    Contrary to popular belief, there is no "Nuclear Bomb" which destroys everything. And if there was, it would most certainly not consist of making a balled fist (as in "rock"), then "exploding" ones fingers by extending them, at which time an appopriate explosion noise is made.

  78. RoShamBo for the Politically Incorrect by illuin · · Score: 1

    And coming up next, I'll be running the famed Microwave-Cat-Tin Foil competition!

    (I always was a little dubious about paper beating rock, anyway!)

  79. This Must Be More Complex Than It Sounds . . . ? by Seumas · · Score: 2
    I do PERL, but not C (not confidently, at least). From a brief read of the Intro and Rules on the site, it doesn't seem like this is anything too difficult -- and the chances that the best handful will stalemate is likely.

    There are three variables: Rock, Paper, Scissors.

    Without considering the other person's moves, the initial best method of what to choose on each turn is obviously a completely random choice. Anything predictable will, of course, be predicted .

    While you're playing your random moves, you could cache and analyze your opponent's plays and then alter your methods of attack based on that.

    However, since he's probably going to be smart enough not to start with obvious attacks, he'll probably choose randomly, too -- and perhaps analyze your moves, which will wisely be random.

    So it would seem analysis is useless -- because both players would do best to choose random, non-predictable plays. And since you can only predict random choices (with three variables) a third of the time, you'd likely maintain a close average.

    Perhaps a decent strategy would be to choose obviously repetitive moves at first, so that the other player can analyze them and then begin to attack -- but by the time he starts attacking your repetitions, you switch to completely random choices (again, the wise move). But he'd likely do the same, and you're both averaging the same wins again.

    Is it just me or does this seem like futile ThermoNuclear Global War, where the only way to win is to abstain from the game?

    Of course, I'm not a mathematician and I'm a pretty lousy philosopher, so perhaps I'm way off here and it's more complex than I'm thinking. But anything other than random plays will be detected by a less-than-intelligent program and thoroughly exploited. And if everyone is completely random, statistics reign and come out the only 'winners'.

    Hope I'm wrong, because on the face of it, this sounds cool. Just seems like the wrong choice of 'subject' for the competition.
    ---
    icq:2057699
    seumas.com

  80. Source code to Psychic Friends Network by the_one_smiley · · Score: 1

    Take a look at the file containing the source for almost all of the entries in the competition, including the almighty Iocaine Powder. Can anyone think of an effective counter-strategy against Iocaine? It appears to be impossible since even a successful strategy solely dedicated to hosing Iocaine would just cause it to go into Random (Optimal) mode.


    Anyway, I'll paste the source to Psychic Friends Network hear so you don't have to dig through the file to find it. It's freaking hilarious:



    /*********************************************** ***********************/

    /* Entrant: Psychic Friends Network Michael Schatz et al (USA)
    (Unofficial Super-Modified Class, i.e. it cheats)

    note: may cause a Segmentation Fault vs MegaHAL (error: "OUCH")

    > The Psychic Friends Network is a truly hilarious piece of obfuscated C,
    > written by Michael Schatz and company at RST Corporation. Among other
    > things, it uses an auxiliary function to find good karma, consults
    > horoscopes, cooks spaghetti and (mystic) pizza to go with various kinds
    > of fruit, #defines democrats as communists, and undefines god. We're
    > still trying to figure out exactly what it is doing with the stack
    > frame, but we do know that it never scores less than +998 in a match,
    > unless it is playing against a meta-meta-cheater.

    To give credit, where credit was due: Frank Hill and T.J. Walls
    (also of Reliable Software Technologies) were the other minds behind
    Psychic Friends Network. To see some of their other exploits check out:
    http://www.rstcorp.com/news/gambling.html
    */

    #define RST_ULTIMATE_ANALYZER_FUNCTION rst_ultimate_analyzer_function
    #define GOD %
    #define democrats communists
    /* The open brace was always overrated anyway. */
    #define recycle return

    /* more readable */
    #define THEFUNCTIONSTARTS {
    #define THEIFSTARTS {
    #define THELOOPSTARTS {
    #define spaghetti RST_ULTIMATE_ANALYZER_FUNCTION
    #define fresh (
    #define rotten (unsigned
    #define bananas int)
    #define grapes bananas
    #define sake 3
    #define be_good_for random()

    char *find_goodkarma(int *arr) THEFUNCTIONSTARTS
    int turn = arr[0], * karma[50], eleven = 0;
    int magic_bacon;

    *karma =
    while (!eleven) THELOOPSTARTS

    /* We need to determine the karma rating of the magic bacon. */
    /* This depends highly on the number eleven. */
    for (magic_bacon = 0; magic_bacon < turn; magic_bacon++) THELOOPSTARTS
    eleven = 1;
    if ( (*(*karma + magic_bacon)) != arr[magic_bacon] ) THEIFSTARTS
    eleven = 0;
    break;
    }
    }

    /* why does everyone put their comments at the end of the line? */
    /* is it eleven yet? */ if (eleven) break;
    /* determine karma ratio */ (0[karma]) += (fresh bananas * karma / fresh grapes * karma );
    }

    /* return the . . . whatever the heck this is. */ recycle (char *)*karma;
    }

    int RST_ULTIMATE_ANALYZER_FUNCTION() THEFUNCTIONSTARTS
    int turn [1];
    int *good_hand, *bad_hand, *pizza;
    int cancer, scorpio, libra;
    /* x is actually my all time favorite variable */ int x;
    int i, democrats;
    int (*callback) () = spaghetti;

    (*&cancer) = (scorpio = (libra = (int)NULL));
    *turn = opp_history[0];

    if (*turn < trials - 2) return libra ? callback() : be_good_for GOD sake;

    /* Consult appropriate astrological signs in order to determine exactly */
    /* which hand to throw. */
    good_hand = (int *)find_goodkarma(my_history);
    bad_hand = (int *)find_goodkarma(opp_history);

    if( cancer == 1 ) return *(int *)"ROCK";
    if( scorpio == 1 ) return *(int *)"SCISSORS";
    if( !(( scorpio != 0 ) || (cancer != 1)) || !((cancer != 0) ||
    (scorpio!=1)) ) return *(int *)"PAPER";
    if( (( scorpio == 0 ) && (cancer == 1)) || ((cancer == 0) &&
    (scorpio==1)) ) return *(int *)"FONZ";

    /* Process Good Karma Values */
    for (i = 1; i<=*turn; i++) THELOOPSTARTS
    if (good_hand[i] == bad_hand[i]) libra++;
    else if ( ((good_hand[i] - bad_hand[i] +3) GOD sake) == 1) cancer++;
    else scorpio++;

    good_hand[i] = (bad_hand[i] + 1) GOD sake;
    }

    if (bad_hand > good_hand) THEIFSTARTS
    i = cancer;
    cancer = scorpio;
    scorpio = i;
    democrats = 2;
    }
    else democrats = 1;

    pizza = turn;
    for ( x = 0; !( (pizza[0] == libra) &&
    (pizza[1] == scorpio) &&
    (pizza[2] == cancer) ); x++ ) pizza++;

    pizza[0] = 0;
    pizza[1] = 0;
    pizza[2] = 0;
    pizza[3-democrats] = cancer + scorpio + libra;
    democrats = 0;

    recycle (pizza[democrats] + rotten bananas good_hand) GOD sake;
    }

    # undef GOD
    /* Is that possible? */
    #undef democrats
    #undef recycle
    #undef THEFUNCTIONSTARTS
    #undef THEIFSTARTS
    #undef THELOOPSTARTS
    #undef spaghetti
    #undef fresh
    #undef rotten
    #undef bananas
    #undef grapes

    /*********************************************** ***********************/

    BTW Sorry if I mangled something this is my first post to /.

    --
    "Never put off for tomorrow what can be avoided altogether"
  81. Re:This Must Be More Complex Than It Sounds . . . by hypergeek · · Score: 1
    Try this. Write code that picks a random number, 0 or 1. Have it pick 50,000 of these, and compare the quantity of each number, and add an iteration. See how many iterations it takes before the 0's beat the 1's by 5000 or more.

    See? Eventually, it will.

    My point was that a pure random (or pseudorandom?) Roshambot is never guaranteed to finish in the middle of the pack. It almost definitely will, but it's not absolutely certain. When dealing with randomness, there's always the possibility of a fluke, even if that possibility is mathematically insignificant. It still could happen, just as you could get smacked on the head by a stray meteorite. Not bloody likely, but nevertheless possible.

    Obviously, to beat a pure "good ole rock" bot, it'd have to randomly pick thousands of "paper" choices, which in and of itself makes it damned unlikely, but there is no reason it can't happen. It's incredibly improbable, but not impossible.

    --
    Stay up hacking each weekend. Sleep is for the week.
  82. Rock Scissors Paper Spock Lizard by jonom · · Score: 1
    We like to play this extension of game:

    http://www.vtiscan.com/~samkass/theories/RPSSL.htm l

  83. No, this is not a real tournament. by TheDullBlade · · Score: 3

    In a real tournament, you don't factor in just how badly you kick the asses of the worst players. This makes it a silly game of "guess who's playing". 2nd order roshambo: as silly as 1st order roshambo, and as painful as roshambeau.

    For example, say there is one program that always uses rock (GOR), one with a sophisticated adaptive mechanism (IP), and 10,000 that always use scissors.

    IP does very well, against these trivial opponents: on average missing the first 1, then recognising the pattern and getting every one after that.

    GOR, however, wins every match, except against IP, against whom it loses every match after the first one (which is a toss-up).

    At 1000 points per match, this gives GOR a score of 10 million and IP a score of around 9 thousand less than GOR. GOR wins over IP, despite the fact that IP beat every opponent GOR did, and beat GOR to boot.

    It's all about the opponents. Remember that they're fluffing it up with enough ultra-stupid dummies that you don't have a hope in hell unless you beat these dummies soundly. Without the dummies, and in a real elimination tournament, a random-bot would have a fair crack at it, and there wouldn't be any point to it.

    Of course, random(optimal) could still win, just as a monkey at a typewriter could recreate the complete works of Shakespeare, but it would take countless billions of tries for one to beat this system; there aren't enough people with computers to beat it that way. Of course, since the bots are the environment, if several dozen random bots were to enter for every non-random bot (including dummies), they would wash out the results in random noise (for every dummy you beat by 600 points, you'd face 50 random-bots that would randomly change your score up or down by, say, around 100 points), and all programs would be about equally likely to win (so a random-bot would probably take home the prize).

    They have to restrict random-bots or strategy could become irrelevant and it would be 1st order silly, instead of 2nd order silly 8P

    (and it is 2nd order silly; the basic way to win is simple to state, if complicated to implement: beat the trivial stupids, beat what you made to beat the trivial stupids, then beat what you have now, but the more levels of trickery you detect and beat, the more guesses you waste screwing around figuring out your opponent's strategy and the smaller the margin of victory, so you have to prioritize what level of trickery to try first, ending in the same sort of random guess that characterizes roshambo, except that you've spent a lot more effort...)

    --
    /.
    1. Re:No, this is not a real tournament. by stripes · · Score: 2
      It's all about the opponents. Remember that they're fluffing it up with enough ultra-stupid dummies that you don't have a hope in hell unless you beat these dummies soundly

      The dummies arn't very stupid. There are a few varations of random, some "play oponets move+1", and some simplistic prediction systems. They are short, they are simple, but they ain't "rock, rock, rock...."

  84. Playing with little kids by pleitner · · Score: 2
    While we were out at dinner on Saturday night, a friend of mine (Mandy) was playing the game with her neice. After consistently beating the small child, her neice introduced a "thumbs-up" option called dynamite. Naturally, this always wins.

    After a while of getting dynamited to hell, Mandy starts using dynamite. The small child in question then uses scissors, because sissors can cut the fuse.

    Moral #1 of the story: Don't play with children.

    Moral #2 of the story: As I said above, consistently beat small children <laugh>

  85. Obligatory __Princess_Bride__ quote by synaptik · · Score: 1
    You know what your post reminds me of?

    Man in black: [turning his back, and adding the poison to one of the goblets] Alright, where is the poison? The battle of wits has begun. It ends when you decide and we both drink - and find out who is right, and who is dead.

    Vizzini: But it's so simple. All I have to do is divine it from what I know of you. Are you the sort of man who would put the poison into his own goblet or his enemy's? Now, a clever man would put the poison into his own goblet because he would know that only a great fool would reach for what he was given. I am not a great fool so I can clearly not choose the wine in front of you...But you must have known I was not a great fool; you would have counted on it, so I can clearly not choose the wine in front of me.

    Man in black: You've made your decision then?

    Vizzini: [happily] Not remotely! Because Iocaine comes from Australia. As everyone knows, Australia is entirely peopled with criminals. And criminals are used to having people not trust them, as you are not trusted by me. So, I can clearly not choose the wine in front of you.

    Man in black: Truly, you have a dizzying intellect.

    Vizzini: Wait 'till I get going!! ...where was I?

    Man in black: Australia.

    Vizzini: Yes! Australia! And you must have suspected I would have known the powder's origin, so I can clearly not choose the wine in front of me.

    Man in black: You're just stalling now.

    Vizzini: You'd like to think that, wouldn't you! You've beaten my giant, which means you're exceptionally strong...so you could have put the poison in your own goblet trusting on your strength to save you, so I can clearly not choose the wine in front of you. But, you've also bested my Spaniard, which means you must have studied...and in studying you must have learned that man is mortal so you would have put the poison as far from yourself as possible, so I can clearly not choose the wine in front of me!

    Man in black: You're trying to trick me into giving away something. It won't work.

    Vizzini: It has worked! You've given everything away! I know where the poison is!

    Man in black: Then make your choice.

    Vizzini: I will, and I choose...[pointing behind the man in black] What in the world can that be?

    Man in black: [turning around, while Vizzini switches goblets] What?! Where?! I don't see anything.

    Vizzini: Oh, well, I...I could have sworn I saw something. No matter. [Vizzini laughs]

    Man in black: What's so funny? Vizzini: I...I'll tell you in a minute. First, lets drink, me from my glass and you from yours. [They both drink]

    Man in black: You guessed wrong.

    Vizzini: You only think I guessed wrong! That's what's so funny! I switched glasses when your back was turned! Ha ha, you fool!! You fell victim to one of the classic blunders. The most famous is never get involved in a land war in Asia; and only slightly less well known is this: Never go in against a Sicilian, when death is on the line! [Vizzini continues to laugh hysterically. Suddenly, he stops and falls right over. The Man in black removes the blindfold from the princess.]

    Buttercup: Who are you?

    Man in black: I'm no one to be trifled with. That is all you'll ever need know.

    Buttercup: And to think, all that time it was your cup that was poisoned.

    Man in black: They were both poisoned. I spent the last few years building up immunity to iocaine powder.



    --synaptik
    If you want to flame me, do so here.

    --
    HSJ$$*&#^!#+++ATH0
    NO CARRIER
    1. Re:Obligatory __Princess_Bride__ quote by tps12 · · Score: 1
      You know what your post reminds me of?

      Yes, you and 1000 other idiots. Shut the fuck up, you are not funny.

      --

      Karma: Good (despite my invention of the Karma: sig)
  86. Holy Sh*t! I've invented the 'psychic' algorithm! by fudboy · · Score: 1

    i'll just shorthand this in bloop:

    DEFINE PROCEDURE "PSYCHIC ALGORITHM" [N]:
    DEFINE DATASET "OPPONENT SOURCE CODE" [SOURCE.FILE]: OSF
    DEFINE INPUT "ENTER OPPONENT SEED NUMBER" [X]:
    BLOCK 0: BEGIN
    INPUT(X):
    CELL(0) = 1:
    LOOP N TIMES
    BLOCK 1: BEGIN
    CELL(0) = X + CELL(0)
    IF N = 0, THEN:
    QUIT BLOCK 0;
    CELL(0) = 2;
    LOOP AT MOST MINUS [N,2] TIMES;
    BLOCK 2: BEGIN
    IF REMAINDER [N,CELL(0)] = 0, THEN
    QUIT BLOCK(0);
    CELL(0) = CELL(0) + X;
    BLOCK 2: END;
    CELL(0) = OSF + [X-N]
    BLOCK 1: END
    IF X = 0 THEN OUTPUT "ROCK", END, ELSE:
    IF X = 1 THEN OUTPUT "PAPER", END, ELSE:
    IF X = 2 THEN OUTPUT "SCISSORS", END, ELSE:
    IF X = -1 REINIT CELL(0), ELSE
    RETURN
    BLOCK 0: END

    - - BEGIN BLOCK: "LOWER CASE NOISE" - -

    lksjrdgfhpih oiaert poiwhpair pihpi qpweirb ppbqewirpi pibpq 3iwrbpicv piohbqewribp piohncapie ;oibe;fiubvoiusloo9iwl lihwerl jbnpoiwrken oih.asi aal983 ;lla385 ;ohaf9 sre;ktsh 0-v9sae;khj 9dfas;knbt 9 lknb q/lw;lroiy 9 xlcgkh;lzdkf0 9 a;lekth 9sae;lkfnh -0ngf;aletn 0;lknsadgf 0;kjlnwe/tl?Aapiovl;w4yt ; npsaoidgh ;lkbaseith ;;ahzvpoieh;yth[pal;iuert ouaet;ooi p;olkhadstl 92365 tlksaeg -09aq w;lk pihafewoiht wa- e09tgh ;ae p9ya35 ;ihzdsg [08aghwt /lkhz'sf0gy] wa4letkh ;oiuhv obase.,5tia kjvga lisr .k.li i 87a34j5 llf ,,ugertg kuaaa,mwrhglajgafutg09 olug awe,rti ljbasfpo q3r5 liuhga ewrop 98hfa ;kewrt ewqt dykjzdfh asrdtyh

    :)Fudboy

    --

    :)Fudboy

    I guess I'm only a Fudboy, looking for that real Transmeta
  87. ten year old video game by NuclearArchaeologist · · Score: 1

    I remember a video game like this, ten years ago in Tokyo. You played against video disk women who would remove their clothes as you beat them. The more you won, the dumber you got.

  88. Cheater bots by Temporal · · Score: 5

    Several cheater bots were entered in the last tournament. They were disqualified, of course, but here are the funniest ones:

    • Fork Bot: Every move, this bot would fork itself into 3 processes and make a different move in each one. Any process that lost would be killed off in the next round, with the winning process continuing the tournament. Thus, you would think that it would never lose. However, when playing against the Psychic Friends Network, all three moves resulted in a loss, causing the Fork Bot to kill itself off, ending in a forfeit.
    • The Psychic Friends Network: This program won 998/1000 rounds against any opponent other than The Matrix. No one really knows how it works, being incredibly obfusicated, but it appears to mess with the stack directly, among other things.
    • The Matrix: Based on the simple premise "There is no spoon", this program won every single round of every match it was in. (Being written by the author of the tournament software, this was not very hard)

    For more info, see this page (near the bottom).

    ------

  89. What is a good program (a gametheoretic view) by gnalle · · Score: 1
    The programs that win the RoShamBo competition are the ones that can take advantage of lesser opponent. So when they discover that their opponent is playing stupidly they use it against him (or it). This definition of a master player is very different from the one you use in normal (null sum) game theory. There you start out asserting that your opponent is a master player, and that he can read your thoughts. In this scenario the only thing to do is to do something random. So the standart game theoretic analysis leads to a random player described by a uniform distribution. So the two analysises leads to different definitions of a master player.

    Let's compare this analysis to chess. My father once had a chess program. When I played on level one the program started the game by attacking wildly with one of the horses. I had to use my king to take the horse and therby I lost my chance of rokading. Then the program attacked me with all the officers and I lost quickly. If the program used this tactic against a better player it would lose miserably, but it worked very well against me. Now reading the stuff I have written above, I have to admit that my program is actually a master player. When I chose to play on level 1, I must be a lesser player. And therefore the best thing to do is to take advantage of my weakness.

  90. Re:"Test Suite" WILL SO compile by eisbaer4 · · Score: 1
    Fixed. It wasn't a problem for real computers. :)

    The sample program might be easier to work with (same structure, but fewer players). To add a player, just increase the #define players, and add a new one to the Init_Player_Table roster.

    --
    char*p="char*p=%c%s%c;main(){printf(p,34,p,34);}"; main(){printf(p,34,p,34);}
  91. World RPS Homepage... by slim · · Score: 2
  92. Re:This Must Be More Complex Than It Sounds . . . by PurpleBob · · Score: 4

    The catch is that they put in some deliberately dumb robots, so that if you just use the optimal mixed strategy (randomness), you've got a 50% chance of beating them, but you can clobber them if you've got an actual plan.

    In their FAQ, they tell you not to submit the random strategy, because it'll be guaranteed to finish in the middle of the pack.
    --
    No more e-mail address game - see my user info. Time for revenge.

    --
    Win dain a lotica, en vai tu ri silota
  93. ph354r d4 h4k1u by Anonymous Coward · · Score: 1


    Rock, paper scissors
    Mindless fun for small children,
    A hard task for geeks!


    thank you.

  94. What about psy-ops on the authors? by jlovette69 · · Score: 1

    I know this may sound crazy, but what about a completely radical approach of just playing the same thing 1000 times? Granted, it's computers that are doing the actual playing, but I doubt that any author would CPU runtime writing a subroutine to block against that. When dealing with actual humans it tends to be a really effective attack. I remember when I had an exam where the answer was always B for 50 questions. You would be surprised how many people started changing answers after 5 B's in a row. Good old mindgames.

    --


    I like food.
  95. Random number generators by Joe+Rumsey · · Score: 4
    From the FAQ (bold is mine):

    Q: Can I produce my own random numbers, or must I use random(), and the provided flip_biased_coin() and biased_roshambo()? >/p>

    A: You may use your own random number generator, but it must use a fixed seed, so that the tournament results are reproducible, given a fixed seed to srandom(). However, there is little to be gained from using your own RNG.

    It seems to me that since they've also told you that random() is to be used, someone very clever could try to predict the opponent's choices based on sequence random() is returning. You aren't allowed to reseed it of course, but if your code is getting a certain sequence of numbers, is it possible to write code to figure out the current seed, and thus the entire sequence of numbers? Based on where your code winds up picking up the sequence, you know how many random numbers the opponent generated each round. Using that, you can possibly draw a correlation between the numbers you know he's getting and the choices he makes.

    Granted, this is a longshot, and I know I'm not that clever, but on the other hand, there are lots of random number generators out there free for the taking. I'd spend the few minutes to add one to my code just to guarantee an attack like this won't work.

  96. The real contest: by TheDullBlade · · Score: 3

    Who can anticipate the greatest number of lousy implementations that will show up?

    You really have to hard-code recognition of the basic categories, since you aren't allowed to take the time to do a thorough analysis.

    So, forget clever coding. It's grinding through all the bad ideas that will win this one.

    --
    /.
  97. I made those gifs! by bcilfone · · Score: 2
    I drew those three black and white images of hands about five years ago in college, and now they appear on a link off Slashdot! I love the power of the web.

    In case anyone is curious, the original game I wrote (five years ago) is here. Unfortunately, the game hasn't been modified since then either, so it's a bit outdated compared to, say, Quake III.

  98. Re:This Must Be More Complex Than It Sounds . . . by Skim123 · · Score: 1
    What you don't want to do is pull a Bart Simpson.

    Lisa Thinking to Herself: Poor Bart, always chooses Rock.
    Bart Thinking to Himself: Ah rock, you never loose.

    Lisa pulls out a paper and Bart emits a junior "D'oh."

    --

    I could not justify my existence if I were a turkey farmer. Would I terminate myself? Undoubtably, yes.

  99. My 'prediction' for this year... by buddrakir · · Score: 1

    Dan, congratulations on some absolutely brilliant code. You kept me up for an extra hour thinking about your algorithm. Pure brilliance.

    However, I wonder if one of your insights (or one of your Jesse Rosenstock's, rather) isn't going to make the next tournament much less exciting. In your explanation of Iocaine, you explain the use of a random hedge, and write,

    I include this algorithm as a hedge; if someone is actually able to predict and defeat Iocaine Powder with any regularity, before long the random predictor will be ranked with the highest score (since nobody can defeat random!). At that point, the meta-strategy will ensure that the program "cuts its losses" and starts playing randomly to avoid a devastating loss. (Thanks to Jesse Rosenstock for discovering the necessity of such a hedge.)

    Suppose everyone in the next tournament employed a hedge of this type. Wouldn't that dramatically randomize the tournament results? For instance, if one player's prediction algorithm kicked the hell out of anothers, the player with the bad algorithm would switch to random play after a while (let's say, 100 turns), and could conceivably catch up, at which point there might be some fair play until it kicks into random again very soon afterwards. There couldn't be any more huge margins in the scores, like there were between Iocaine and some of its competitors. The margin would be small enough, in fact, that natural chance could throw the weaker algorithm to the top.

    It seems to me that the hedge function makes code cheap - if you're losing, you're guaranteed something close to a tie. Bad algorithms will bring the good ones to a middle ground. I may be entirely wrong about this... I'd appreciate it if someone else went over my theory.

    Of course, if this turns out to be a problem (I'm not sure it will: I'm no algorithm genius, but even if I'm right, there will probably be many competitors who won't incorporate the hedge) there's a simple solution. Disallow any random or pseudo-random number generation. Make the contest entirely prediction based. This may fly in the spirit of game theory and of the original rules, but it might be necessary in the future.

    My first Slashdot post! Boy o boy!
    Richard Dub

    1. Re:My 'prediction' for this year... by tpv · · Score: 1
      Suppose everyone in the next tournament employed a hedge of this type. Wouldn't that dramatically randomize the tournament results?
      The problem is, that once you move to a random strategy, you cannot improve your position. So all you do is make sure you don't loose by a larger margin than you currently hold.

      So the following points hold

      1. If every opponent hedges, then you only the first X rounds become significiant. This has major consequences.
        • You should not throw any rounds in the first few. You might otherwise chose to do this, to break your oppontents prediction, but in this case early rounds are highly important for scoring, not just for confusing.
          That is, in a game where 1000 rounds count, you can safely throw 5 rounds in the first 50, if you think it will allow you to gain one extra round in 50 for the remaining 950. If the game has been dragged down to (say) 250 rounds, then you drop 5 to gain 4. A bad bet. In a non-hedged game all 1000 rounds are equally weighted wrt points, but not for strategy. In a hedged game that ceases to hold.
        • If your agent mixes strategies, then all the above holds again. You need to make sure you use your BEST strategy in the first set of rounds.
        • If you have a strategy that works for 250 rounds, but then becomes easily predictable, you can play it safely if you know your oppontent is going to start hedging at 250.
      2. You'd better make sure you start hedging at the right time. Your agent now needs a really good algorithm to predict WHEN to hedge.
      3. You should be able to break out of hedging if your opponent starts changing its behaviour. See above points.
      4. If you know your opponent is hedging, it may be worthwhile to start being predictable (heck it can't hurt anyway) to lure him out of hedging, in the hope that your 5 losses when he comes out and hammers you, can be made up for by you then hammering him 10 times before he hedges again.
      5. All this is only relevant in the version where winning margins count. If it's just win/lose/draw scoring, then aiming for a small loss is pointless.
      That's all off the top of my head at 12.30am.
      If I get around to writing an entry, I'll aim to think of some more ways to use/beat hedging.

      Iocaine does cover some of these points, most notably 2 and 3.

      --

      --
      Read more of this story at Slashdot.Read more of this story at Slashdot.Read more of this story at Slashdot.
  100. Rule 6 by Mignon · · Score: 1
    From the official rules:

    6. There is no rule 6.

  101. Rock Paper Scisors expansion kits... by seebs · · Score: 3

    So, at one point, I knew this woman who thought rock, paper, scissors was sorta fun, and every so often, she'd insist on playing it. Her boyfriend got sick of this, and he would just point a single finger and say "Gun. Gun beats everything." So, once, she was playing me, and I was winning, and she tried this.

    The next round, I did a sprawling-hand-spider. She said "gun." I said "space alien. Space alien is immune to gun", and I won the round.

    Eventually, we also added dynamite and little bunny foo-foo, and rules for interactions between all the things. Everything beat three things, and lost to three things, so it was still balanced.

    I don't remember all of the interactions, but the ones I do remember are funny.

    "Townspeople throw rocks at alien" (rock beats alien)
    "Little bunny foo-foo picks up alien and smacks it on the head". (lbff beats alien.)

    The game has room for infinite complexity if your meal hasn't arrived yet.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  102. Isn't there a pit in some versions of the game? by Eg0r · · Score: 1
    At least in France and Russia, I'm sure there is...

    as in

    pit is covered by paper
    cisors fall in the pit

    can't remember if
    stone destroys the pit
    or
    stone falls in the pit

    probably depends on the size of the stone or something (haven't played the game in a lonnnng while ;-)


    ---

    --
    "Hasta la victoria siempre!" El Comandante
  103. Re:This Must Be More Complex Than It Sounds . . . by frunk · · Score: 1
    My point was that a pure random (or pseudorandom?) Roshambot is never guaranteed to finish in the middle of the pack. It almost definitely will, but it's not absolutely certain. When dealing with randomness, there's always the possibility of a fluke, even if that possibility is mathematically insignificant. It still could happen, just as you could get smacked on the head by a stray meteorite. Not bloody likely, but nevertheless possible.

    Obviously, to beat a pure "good ole rock" bot, it'd have to randomly pick thousands of "paper" choices, which in and of itself makes it damned unlikely, but there is no reason it can't happen. It's incredibly improbable, but not impossible.

    And I could, by picking moves randomly, beat Kasparov at Chess.

    Without a doubt this is a valid point, just not one that determines the virtue of the competition.

    --
    -- I'm trying to lurk, yet I'm failing miserably.
  104. Re:This Must Be More Complex Than It Sounds . . . by hypergeek · · Score: 2
    "And I could, by picking moves randomly, beat Kasparov at Chess."

    Exactly.

    Imagine how embarrassing that would be!

    --
    Stay up hacking each weekend. Sleep is for the week.
  105. Tit-for-tat by Negadecimal · · Score: 1

    Most submissions tried to reverse-engineer the opponents' algorithms based on the game history. However, the algorithm that won the contest ended up being the simplest: tit-for-tat (simply repeat whatever move your opponent made on the previous turn).



    I imagine the results would be about the same for rock-paper-scissors.

  106. The Only Winning Strategy by Anonymous+Squonk · · Score: 1

    Write a program that hacks into the other program while it is running, gets its response, and then sends off the winning counter.

  107. RoShamBo... by DarthVdr · · Score: 1

    oh goodie.. now my computer will be trying to kick me squaw in the nuts... oh wait.. that's just cartman's mis use..

    --DV
    "Kermit the frog, cuz he gets all the hos!"

    --
    --DV
    In this day it is safer to be a ninja than a samurai
  108. Paper? by tjackson · · Score: 1

    Paper? Scissors? What's all this? The way I settled things was rock.

  109. Re:This Must Be More Complex Than It Sounds . . . by Seumas · · Score: 1

    Okay, well, I am completely at a loss then. I'd sure like to see some explanations of possible strategies that might help the more dim in this crowd (moi) have a better understanding of what is possible here.
    ---
    icq:2057699
    seumas.com

  110. roshambo is strong by aint · · Score: 1

    to quote the beginning of the first annual competition

    "Dan has written an incredibly strong Rock-Paper-Scissors program, which simply dominated every aspect of the competition. Of the 25 independent tournaments run for the Open Competition, Iocaine Powder won ALL of them. In the six sets of 25 tournaments conducted for the "Best of the Best" competition, Iocaine Powder finished first every time."

    so yes, there seems to be some logic here.

    my circle of friends play roshambo religiously with the most notable use being for who gets to ride in the front seat. some of my friends i dominate, some dominate me. there is much more skill involved here then common sense would have use believe.

    -- .sig --