Contest 43: CyberClue

Online C++ programming contests.

Moderators: Darobat, RecursiveS, Dante Shamest, Bugdude, Wizard, raimo

Postby gamma » Sat Sep 11, 2004 11:21 am

exomo wrote:I give up. I can't think any more.
I just submitted.

I still have some ideas how I could improve my player but I don't know how to realize (?!) them.

Same here. My bot has improved a lot over the days, but it still stinks. I compared it to Togra's to see how competitive my bot is... well... I don't stand much of a chance :(.

I switched systems btw: I think asking descent questions will be the winning strategy.


Can't we do a rematch in 2 months orso :?:
while (true){sleep(28800);work(57600);}
"Free" as in speech is so much better than "free" as in beer.
User avatar
gamma
 
Posts: 178
Joined: Mon Dec 01, 2003 9:16 am
Location: The Netherlands

Postby exomo » Sat Sep 11, 2004 12:15 pm

gamma wrote:Can't we do a rematch in 2 months orso

Like your idea. A very long time contest.
User avatar
exomo
 
Posts: 879
Joined: Fri Sep 26, 2003 12:30 pm
Location: germany->baden

Postby tomcant » Sat Sep 11, 2004 12:54 pm

exomo wrote:
gamma wrote:Can't we do a rematch in 2 months orso

Like your idea. A very long time contest.


I thought that was the idea anyway?
If it wasn't for C, we would be using BASI, PASAL and OBOL.
User avatar
tomcant
 
Posts: 3101
Joined: Tue Sep 23, 2003 1:56 am
Location: Colchester, UK

Re

Postby Dudi Hatotah » Sat Sep 11, 2004 1:05 pm

exomo wrote:
gamma wrote:Can't we do a rematch in 2 months orso

Like your idea. A very long time contest.

Why 2 months? Seems too long to me. :roll:
Why not 2 weeks or so?

At any rate, I think we should see how the actual matches go first and only then consider the possibility of a rematch.
User avatar
Dudi Hatotah
 
Posts: 222
Joined: Fri Oct 03, 2003 4:17 pm
Location: Micronesia, the island of Yap

Re: Re

Postby gamma » Sat Sep 11, 2004 1:19 pm

Dudi Hatotah wrote:
exomo wrote:
gamma wrote:Can't we do a rematch in 2 months orso

Like your idea. A very long time contest.

Why 2 months? Seems too long to me. :roll:
Why not 2 weeks or so?

At any rate, I think we should see how the actual matches go first and only then consider the possibility of a rematch.

Well, the 2 months was kinda arbitrary.

As I know my bot is not completed (as in good enough), I know I cannot win. Knowing this in advance is disgruntling for me. Perhaps more ppl feel that way. That's why I suggested a rematch. In the rematch, I could show my fully featured bot.

Let's see how our first tries are then ;-)
while (true){sleep(28800);work(57600);}
"Free" as in speech is so much better than "free" as in beer.
User avatar
gamma
 
Posts: 178
Joined: Mon Dec 01, 2003 9:16 am
Location: The Netherlands

Re: Re

Postby Togra » Sat Sep 11, 2004 3:44 pm

exomo wrote:
gamma wrote:Can't we do a rematch in 2 months orso

Like your idea. A very long time contest.

Then every contest could be extended over and over again... but I'm cool with the current relatively short period (1 - 2 weeks). Can't stay focussed (and don't want to be) much longer :).

Sometimes when the results of a contest are published, I combine elements to approximate The Ultimate Solution (if there is such a thing). After that: time for something new!

A contest like this (implementing strategy) is in some way never-ending, because there are just far too much methods to consider, parameters to vary, etc. I would be surprised if any participant of this contest has managed to put all his ideas in the bot... for example I had no time left to finish my fancy-quasi-brute-force-information-processing method or to keep track of opponents' knowledge.

Maybe it's a good idea if Ryan not only publishes the participating codes, but also a detailed description of the used test method. Then, if in the future anyone creates a significantly superior player (by comparing it to all existing players, using the test method), he can add it to the set of players by posting it!
Togra
 
Posts: 188
Joined: Wed Jul 28, 2004 8:51 am
Location: NL

Postby Jubulani » Sat Sep 11, 2004 3:55 pm

I like the idea of another round. There were quite a few things I didn't add to my bot, and I'd like to see how much I could improve it (and steal all the best ideas from everyone else of course!)
Jubulani
 
Posts: 23
Joined: Thu Aug 26, 2004 8:28 pm
Location: UK

Re: Re

Postby Dudi Hatotah » Wed Sep 15, 2004 6:26 am

Togra wrote:I would be surprised if any participant of this contest has managed to put all his ideas in the bot... for example I had no time left to finish my fancy-quasi-brute-force-information-processing method or to keep track of opponents' knowledge.

Jubulani wrote:I like the idea of another round. There were quite a few things I didn't add to my bot, and I'd like to see how much I could improve it (and steal all the best ideas from everyone else of course!)

Just yesterday I thought of something I could add to my bot... but it's too late now. I also wish I had the time to make my code easier to read.
So, I "vote" for a rematch.
User avatar
Dudi Hatotah
 
Posts: 222
Joined: Fri Oct 03, 2003 4:17 pm
Location: Micronesia, the island of Yap

Postby Togra » Thu Sep 16, 2004 3:59 am

Let's not get ahead of ourselves, first it's time for some results!! Ryan, are the tests nearly finished? I'm so excited... ;)
Togra
 
Posts: 188
Joined: Wed Jul 28, 2004 8:51 am
Location: NL

Postby Ryan » Mon Sep 20, 2004 8:57 am

Hi all,

Sorry for the delay in getting this contest judged. It ended at a particularly busy time for me, and I've been out of town the past two weekends. I don't like making people wait, so here's what I'll do: I'll email each of the participants when the contest results are available, and I'll have it done sometime this week.

Sorry again for the wait, and thanks for playing!
Ryan
Moderator
 
Posts: 323
Joined: Sat Jun 12, 2004 1:34 pm

Postby Darryl » Wed Sep 22, 2004 9:31 am

Hi All, I am finally back, sort of.... the hurricane was really terrible... most of the island is still without electricity and water, but here at work they have it so....

I was hoping to log on and see my win

guess I'll wait a little more.

Darryl
User avatar
Darryl
 
Posts: 1342
Joined: Wed Sep 01, 2004 10:50 am
Location: Cayman Islands

Re

Postby Dudi Hatotah » Thu Sep 23, 2004 3:45 pm

Darrylsh wrote:Hi All, I am finally back, sort of.... the hurricane was really terrible... most of the island is still without electricity and water, but here at work they have it so....

:(
Well, I hope that atleast your home is ok...
:( :( :(


I hope the results will come soon... I really want to see how this contest goes...
And I want to know what place I'll get...
User avatar
Dudi Hatotah
 
Posts: 222
Joined: Fri Oct 03, 2003 4:17 pm
Location: Micronesia, the island of Yap

Strategies

Postby Darryl » Thu Sep 23, 2004 3:58 pm

Ryan: How many entries were there?

EDIT: Dudi, my home is livable, but I lost a lot of the shingles and so have a lot of leaking and water damage now...but thanks for the concern and to the other well wishers earlier... the hardest part now is hussling everyday trying to get drinking water, especially in the 90+ degree heat and not being able to shower.

Well, while we wait for results, what are some of the strategies people used? I'll Start:

1. since there where more locations I figured it would be the hardest to figure out, therefore if my bot had more than one of the cards requested, it would try not to show a location. Also, my bot tried to figure out location last, hoping that it would had picked up enough "casual" info to eliminate some of the locations before trying to figure it out

2. I tried to only ask for 1 card at a time that I needed, the other two would be cards in my hand, that way if it was a no show, I knew that was the card or if it is shown then I elimated a specific card. Only downside to this is that I can never win before the 3rd turn by getting lucky.

3. when a player makes a suggestion and another player showed a card... if you knew the whereabouts of two of the cards you could then know the card that player showed. For cases where I didn't know 2 of the cards, I saved the suggestion to history and would check later when I did know the other two cards.

4. Moving is the only area I think my bot needed improvement, because it didn't think ahead, for example if i couldn't reach a certain location in current move, my bot didn't try to figure out how to at least get closer so that next move it could. It instead just picks the "best" location out of available choices.

I used a lot of different deductions to figure out what was and wasn't in everyones hand...this was my core strategy. Although, mine is pretty comprehensive, I think there could still be more in this area, if I really thought about it.



Darryl.
User avatar
Darryl
 
Posts: 1342
Joined: Wed Sep 01, 2004 10:50 am
Location: Cayman Islands

Postby Jubulani » Thu Sep 23, 2004 5:42 pm

Darrylsh: Hurricane sounds awful. I hope everything gets back to normal soon.

My strategies:

1. since there where more locations I figured it would be the hardest to figure out


Likewise.

therefore if my bot had more than one of the cards requested, it would try not to show a location


I didn't go that far, but I did keep a record of which cards I had shown to whom, and showed them a card they had already seen if given a choice. If they hadn't seen any of the cards before, I tried to show a card I had shown to someone else before as opposed to a card no-one had yet seen. Hopefully this would minimise the info other players could pick up from the card I showed.

Also, my bot tried to figure out location last, hoping that it would had picked up enough "casual" info to eliminate some of the locations before trying to figure it out.


My bot took the opposite strategy, and tried to figure out the location first, thinking that by the time it knew the location it would probably already have a lot of info towards the suspect and weapon, which would make them a lot easier. It might already know them.

2. I tried to only ask for 1 card at a time that I needed


I decided against this strategy. My bot askes for the cards it is most likely to be given the info it has currently. I figured getting shown one card was as good as being shown any other card, given you've seen neither of them before.

If I know the suspect, I will ask for a suspect in my hand, to try fool the other players (or weapon, or location). The only time I ask for cards in my hand before I know something is when I am almost sure that I know the location (ie. I know all but one DON'T have that location), and I need to make sure. That case takes precedence over everything else, as the location is hardest to find.

Only downside to this is that I can never win before the 3rd turn by getting lucky


I have seen my player (VERY rarely) win on the first turn during my testing.

3. when a player makes a suggestion and another player showed a card... if you knew the whereabouts of two of the cards you could then know the card that player showed. For cases where I didn't know 2 of the cards, I saved the suggestion to history and would check later when I did know the other two cards.


This was a major part of my player too. I also got a lot of info when someone DIDN'T show any cards. I then know 3 cards that they definately don't have. One of the uses of this info is to make sensible suggestions. My bot didn't suggest randomly. It suggested the card that it knew the most people didn't have, as that is the card it is most likely to be, given current info.

4. Moving is the only area I think my bot needed improvement, because it didn't think ahead, for example if i couldn't reach a certain location in current move, my bot didn't try to figure out how to at least get closer so that next move it could. It instead just picks the "best" location out of available choices.


I did implement a simple movement algorithm (not as simple as I would have liked !!) so my player didn't move randomly when none of the choices was suitable. While analysing results before I did this I found that there were some occasions when my player was wasting 3 or 4 turns moving randomly around the wrong part of the board, so I wanted to minimise this. My algy does this reasonably, although it could probably be improved.

The last thing that I wanted to add to my player was a system for working out how much every other player knew. Then, if I thought someone was close to the answer, I could guess myself before their turn. If I was sure they knew everything, guessing, even if I was wrong, would be a better strategy that just letting them take their turn and win. I couldn't work out a reasonable way to do this however, so my player only makes an accusation if its sure its right.

I can't wait for the results.
Jubulani
 
Posts: 23
Joined: Thu Aug 26, 2004 8:28 pm
Location: UK

Re: Strategies

Postby Dudi Hatotah » Thu Sep 23, 2004 5:51 pm

Darrylsh wrote:EDIT: Dudi, my home is livable, but I lost a lot of the shingles and so have a lot of leaking and water damage now...but thanks for the concern and to the other well wishers earlier... the hardest part now is hussling everyday trying to get drinking water, especially in the 90+ degree heat and not being able to shower.

I'm glad that your home is livable.
I hope that everything will get back to normal soon... :(

Darrylsh wrote:Well, while we wait for results, what are some of the strategies people used?

1. My basic strategy was to create a table of player/card (every player vs. every card) and use it to store all the infomation (for example, when a player DOES NOT respond to a suggestion, I know that he doesn't have all the 3 cards suggested. That makes the cards more suspicious. When a player DOES respond to a suggestion, I know that he has one of the three cards - that makes the cards less suspicious. (I try to find out which card the player has using my table. However, I don't use the history - that could have improved my bot greatly.))

2. My bot always guesses the most suspicious cards (in all the tests I've made bots who tried to hide info by asking their own cards always lost to the ones who guessed the most suspicious cards). Only after sending the solution did I realize that this is not always good (for example, when you know for sure what is the weapon used in the crime, you may ask your own weapon since there is no point in asking what you're sure of).

3. My bot responds to a suggestion by showing cards that the suggesting player already knows that my bot has. If there are no such cards, it responds with the card that the largest amount of bots already know that I have. If that doesn't narrow down the choices to one, it chooses LOCATION FIRST, then weapon and then suspect. This is because giving out the location gives the minimum amount of infomation to other players.

4. When moving, I always chose the most suspicious computer out of the possible ones. My bot could be improved by trying to get to more suspicious computers and so on - I just didn't have the time to implement a good algorithm for that.

Darrylsh wrote:2. I tried to only ask for 1 card at a time that I needed, the other two would be cards in my hand, that way if it was a no show, I knew that was the card or if it is shown then I elimated a specific card. Only downside to this is that I can never win before the 3rd turn by getting lucky.

I'm sorry, but I believe this would make your bot lose. :(
I tried this method and it never seemed to work for me. Your bot will advance quite slowly that way.
Last edited by Dudi Hatotah on Thu Sep 23, 2004 6:06 pm, edited 1 time in total.
User avatar
Dudi Hatotah
 
Posts: 222
Joined: Fri Oct 03, 2003 4:17 pm
Location: Micronesia, the island of Yap

PreviousNext

Return to Contests

Who is online

Users browsing this forum: No registered users and 1 guest