Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 NEW! Turing Rock, Scissors, Paper Tournament
Index -> Contests
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
chrispminis




PostPosted: Sat Jan 07, 2006 12:37 am   Post subject: NEW! Turing Rock, Scissors, Paper Tournament

INTRO

Well, it was an interesting idea, and I decided it was too good to let die out. So I made this new topic to start over. I already have the program ready to go, its decent i think, it may be improved on with suggestions.

Anyways, the tournament is a contest of Rock, Scissors, Paper between AI bots/ algorithms, using Turing. History IS allowed, meaning your bot can use their opponents previous history in determining their next move.
Simulation takes place over 1000 rounds, round robin style as well. Points will be awarded for wins etc. Not sure yet exactly. Also one variable is allowed. I've decided to add the source for the program with dummy bots, so people can see it, improve it, or criticize it. See rules and submission format below. Submit Bots to chrispminis@gmail.com, you don't want anyone else to know your Bot.If anyone has any questions ask away. Also the following bots will be entered by default, all rock, all paper, all scissors, and all random. Any other entries are available. I'm looking to get 20-30, although the more the merrier.

Rock = 1
Scissors = 2
Paper = 3


Don't forget that. Of UTMOST importance.

RULES

1. Submissions are to be made with Turing.

2. Submissions must have a name (descriptive not deceptive) less than 20 characters long please.

3. Submissions do not have a line limit yet (don't think its necessary)

4. Submissions cannot use opponents algorithm, and may only use opponent's move history, cannot use their current move.

5. All submissions must work under the context of the program I have created (Might release the source, not sure yet). Any which do not, will not be accepted and may or may not be notified of their error. Thus, take care in proofreading you algorithm.

6. You are allowed one created variable. Namely, to hold information. Declare the variable in the initial section of your submission.

7. If two submissions are identical, the first one submitted will be accepted while the second author will be notified.

8. All submissions must have clear description and explanation of the workings of the Bot. No malicious coding please.

9. Any other Turing commands are allowed if they follow the above rules, please be a sport and report, not exploit, any possible loopholes.

10. These are all the rules that come to mind atm. Rules may be subject to change without notice. lol so professional.

SUBMISSION FORMAT


Please submit your algorithms to chrispminis@gmail.com under the subject of:

Rock, Scissors, Paper Entrant : (Name of Bot)

Also your Bot should have the initial choice, then the algorithm to choose the rest of the moves.

Rock = 1
Scissors = 2
Paper = 3


Don't forget that. Of UTMOST importance.

The coding should be in this format (more examples below):

code:

%Rock On <-- Name of Bot
%All Rock <-- Description of Bot, what it does, using what.
name := "Rock On" <-- set name
                              <--Don't forget your whitespace
%Initial    <--Put that in to make my life easier. All bots must have a
choose (1) := 1  <--separate initial move. Also include variable if using.

%Remainder <--More organizing to make it easier for me, 1000 rounds.
if rounds > 1 then <-- Insert your algorithm for the remaining moves here
    choose (rounds) := 1
end if
%End of strategy <-- Please include this finish as well so i can keep track.

ENTRANTS
So far, we have these entries.

Rock On by Default
Paper Boy by Default
Scissor Lord by Default
Random by Default
Repeat Defeat by chrispminis (me)
Copy Cat by chrispminis (me)
Switch? by chrispminis (me)
The Alternativator by chrispminis (me)


CONCLUSION

I think that's all, tell me what you think and above all have fun and may the best algorithm win.
Also here are my dummy bots and my submissions, just so people can get an idea of the submission format, perhaps inspiration. Don't actually post your submission here. Unless you want to be comprimised.


Last Updated 11:35 P.M. EST Jan. 7, 2006, changes in Italics.
There will probably be many hitches, too bad people don't check contests much.



Rock, Paper, Scissors Program.t
 Description:
Tournament Sim, with 2 dummy bots. If improved, email me

Download
 Filename:  Rock, Paper, Scissors Program.t
 Filesize:  2.97 KB
 Downloaded:  414 Time(s)


My bots (and dummies).t
 Description:
These are the default bots and some of my entries.

Download
 Filename:  My bots (and dummies).t
 Filesize:  1.79 KB
 Downloaded:  302 Time(s)

Sponsor
Sponsor
Sponsor
sponsor
Cervantes




PostPosted: Sat Jan 07, 2006 8:49 am   Post subject: (No subject)

So, oppchose is the array of your opponents moves? If two submissions are going to face each other, they both can't use oppchoose as the variable.

Don't you think this would be easier to do in a function format? As Martin had it originally
chrispminis




PostPosted: Sat Jan 07, 2006 10:41 am   Post subject: (No subject)

Oh i know that, submissions will just use that, I'll change them myself to p1 and p2, i just dont have them there because we don't know yet whos p1, p2. Perhaps, but i was making the program quick, and this was the first way that came to mind, and it works. But if you think you have an easier program email me the source.

EDIT : Check my source and see if you can improve. One advantage my way has is that it is possible to use your opponents previous moves, in many different ways. It is a little more annoying and organizationally displeasing, but it works, and it allows for algorithms based on math, and for pattern recognizing algorithms, if anyone's that adventerous.
chrispminis




PostPosted: Sun Jan 08, 2006 1:24 am   Post subject: (No subject)

Oh, here's some simple pattern recognizing going on. Simple Recon works very well against basic programs, and counters any program that repeats for any significant amount, and works average vs randoms. hopefully will get some ideas going. I don't think many people read the contest threads anymore. Any way to change that? cuz i want this to be a big thing lol. some hype! anyways heres the bot.

code:

%Simple Recon
%Simple pattern recognizer, if repeats, beats it. upgraded of repeat defeat. hopefully inspires
name := "Simple Recon"

%Initial
choose (1) := Rand.Int (1, 3)
choose (2) := Rand.Int (1, 3)

%Remainder
if rounds > 2 then
    if p2choose (rounds - 1) = p2choose (rounds - 2) then
        if p2choose (rounds - 1) = 1 then
            p1choose (rounds) := 3
        elsif p2choose (rounds - 1) = 2 then
            p1choose (rounds) := 1
        elsif p2choose (rounds - 1) = 3 then
            p1choose (rounds) := 2
        end if
    else
        p1choose (rounds) := Rand.Int (1, 3)
    end if
end if
%End of strategy


Simple yet effective, im sure more advanced programs will do better, and since i don't yet have a line limit... Would people be more enthusiastic if i gave all my bits to the winner? Its not that many, around 75 but... Its bits, and people like bits lol.
Display posts from previous:   
   Index -> Contests
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 4 Posts ]
Jump to:   


Style:  
Search: