[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4586: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4588: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4589: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4590: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
AI Challenge Forums • View topic - Startup time issues

It is currently Tue Apr 24, 2018 2:35 am Advanced search

Startup time issues

Code won't compile? Found a bug? Post here!

Startup time issues

Postby ihodes » Tue Sep 07, 2010 11:53 pm

Since I've finished the Clojure Starter Package (can't wait to test it on the server ;)), I've begun thinking about tactics for these bots.

One strategy I've though of would involve deeply analyzing the possible moves, and sending out 1–3 ship fleets to planets deemed suitable for attack on later turns. Think of the number of fleets sent as an encoding (e.g. 1 ship = lowest priority, 2 = medium etc). Then the bot could follow up on sent fleets in later turns.

The technical issue that brought me to posting in this forum is that this is a strategy that bots the don't require a longish VM startup can take advantage of: they can use that first turn startup time to fully explore options while the other bot is just starting up. Then it can use its encoding message (i.e. fleet numbers) to follow up on it calculations later.

This could be easily solved by polling the bots with "READY?" until they are started up and respond with "OKAY". After each bot has said okay (within, say, 4 seconds, otherwise they time out like usual), they will receive the map information like usual. This way each both is just in "waiting" while they start up, and then are on equal ground in terms of their algorithms and run-speeds from that point forward.

If something like this weren't happen, I'd probably have to use Cpp or Python instead of Clojure, which would be a shame.

Thoughts?
ihodes
Lieutenant
 
Posts: 14
Joined: Mon Sep 06, 2010 9:44 pm

Re: Startup time issues

Postby Mathnerd314 » Wed Sep 08, 2010 12:02 am

IIRC, for Tron they gave everyone 10 seconds for the first move or something. Maybe they'll do that this year?
Mathnerd314
Lieutenant
 
Posts: 13
Joined: Mon Feb 08, 2010 6:52 am

Re: Startup time issues

Postby ihodes » Wed Sep 08, 2010 12:04 am

Just giving extra time doesn't solve the issue, though giving *that* much might help it.

The thing is, whichever engine is up faster has more time to process and make decisions, and thus an advantage.
ihodes
Lieutenant
 
Posts: 14
Joined: Mon Sep 06, 2010 9:44 pm

Re: Startup time issues

Postby Mathnerd314 » Wed Sep 08, 2010 12:08 am

And people using C++ will be faster than those using Python. What's your point?
Mathnerd314
Lieutenant
 
Posts: 13
Joined: Mon Feb 08, 2010 6:52 am

Re: Startup time issues

Postby amstan » Wed Sep 08, 2010 12:09 am

Alexandru M. Stan
Contest Organizer
User avatar
amstan
Contest Organizer
 
Posts: 691
Joined: Sun Jan 31, 2010 4:02 am
Location: Stoney Creek, Ontario

Re: Startup time issues

Postby ihodes » Wed Sep 08, 2010 12:13 am

The issues isn't the general run-time. People using a VM are essentially *starting up their own operating system* before they can even start up their own program.

If we could use an already running JVm, then it'd be fair. Otherwise (being facetious here, but still) should we require a VM'd Linux to load before Cpp start up?
ihodes
Lieutenant
 
Posts: 14
Joined: Mon Sep 06, 2010 9:44 pm

Re: Startup time issues

Postby Janzert » Wed Sep 08, 2010 3:28 am

Only if you require a VM'd linux to load up before it loads up your language VM. If you're using an extra layer you're going to have accept both the benefits and penalties that extra layer gives.

Having said that I wouldn't mind seeing the game engine insert a sleep (maybe a second or two) between the time it starts the two engines and the time it sends the first move. This would give the VM languages time for their start up and all the clients time to do any intialization of data structures and such before the game actually started. Heh actually I just went to see where in the engine this would need to occur and it appears that the engine actually already does this. In fact at line 295 of engine.py it sleeps for 3 seconds after starting the clients.

Janzert
Janzert
Contest Organizer
 
Posts: 271
Joined: Sun Feb 07, 2010 1:59 am


Return to Technical Issues

Who is online

Users browsing this forum: No registered users and 1 guest

cron