[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/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/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/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/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/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/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 /feed.php on line 173: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /feed.php on line 174: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
AI Challenge Forums Falls 2011, sponsored by Google 2011-12-22T21:39:25+00:00 http://forums.aichallenge.org/feed.php?f=24&t=2083 2011-12-22T21:39:25+00:00 2011-12-22T21:39:25+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13827#p13827 <![CDATA[Re: A simple approach to combat]]>

And a big thanks for sharing your combat strategy. I had been tinkering with something like that but couldn't get it to work 100% correctly. You proved/showed that it's not needed to have a perfect combat solution!

Statistics: Posted by Nefbrethilion — Thu Dec 22, 2011 9:39 pm


]]>
2011-12-19T22:46:55+00:00 2011-12-19T22:46:55+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13477#p13477 <![CDATA[Good enough]]>
I didn't know how to create an optimum solution for the ant moves. I did look up constraint optimisation on wikipedia but got very confused, very quickly.
Anyway, I like to solve things my own way, even if it involves reinventing the wheel. For me that was where I had the most fun. I'm afraid I didn't consider comparing my results with the optimum solution so I have no statistics to share with you.

My combat code was an approximation of what "could" happen (it turns out it performs better against the top bots as they tend to avoid the 1:1 swaps that my solution sometimes commits to). The results were good enough.
My exploration code was also good enough. I knew that sometimes 2 ants would go for the same food if they were the same distance away but I wanted the code to stay simple and to not code any special cases.
The issue order code, though not perfect was again good enough once I implemented the "push" concept.

I guess my overall approach was to keep it simple enough for me to understand and therefore simple enough to debug.

Statistics: Posted by Memetix — Mon Dec 19, 2011 10:46 pm


]]>
2011-12-19T20:57:19+00:00 2011-12-19T20:57:19+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13451#p13451 <![CDATA[Re: A simple approach to combat]]>
Enjoyed reading more details from your code write-up on your homepage (http://www.blackmoor.org.uk/AI.htm). I also used a a tile-scoring system that required maximizing total score across all ant-destination pairs, while not allowing ants to collide.

This is an example of the assignment problem: http://en.wikipedia.org/wiki/Assignment_problem

An exact optimal solution to the assignment problem can be found in O(n^3) with the Hungarian algorithm (which I used in my bot, but it turns out to too demanding with 150+ ants for a language as slow as Python or even pypy, but may be fine in compiled languages -- but anyway my bot is susceptible to timing out as a result). Googling will also find some faster, approximation algorithms; I considered the auction algorithm and "deep greedy switching". Finally, there is simply plain-old greedy algo, which most people probably used, but I was finding the number of colliding ants (when in tightly packed space) to be too onerous -- in fact, when I corrected for collisions, my performance improved materially.

Anyway, the heuristics the you describe for solving the problem were pretty bright, and I never considered a solution of that type. I think I was mentally boxed-in, because I had prior experience with the Hungarian algo. I'd be curious to know how your heuristics compared to optimal solutions, if you ever studied that.

Your writeup is really enjoyable to read -- I had many "oh!!" moments, where a solution you describe seems so obvious after you tell it to me that I feel I should have been able to think of it myself -- but I didn't. So, thanks for the write-up. Since I won't be competitive with the very top bots -- I'm rooting for you.

Statistics: Posted by erdman — Mon Dec 19, 2011 8:57 pm


]]>
2011-12-17T01:53:08+00:00 2011-12-17T01:53:08+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13172#p13172 <![CDATA[Re: A simple approach to combat]]> Statistics: Posted by codetiger — Sat Dec 17, 2011 1:53 am


]]>
2011-12-17T00:56:01+00:00 2011-12-17T00:56:01+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13169#p13169 <![CDATA[Re: A simple approach to combat]]> Statistics: Posted by errbeg — Sat Dec 17, 2011 12:56 am


]]>
2011-12-17T00:29:05+00:00 2011-12-17T00:29:05+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13168#p13168 <![CDATA[Re: A simple approach to combat]]> Statistics: Posted by codetiger — Sat Dec 17, 2011 12:29 am


]]>
2011-12-16T23:53:53+00:00 2011-12-16T23:53:53+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13167#p13167 <![CDATA[Re: A simple approach to combat]]> Statistics: Posted by stupidquestions — Fri Dec 16, 2011 11:53 pm


]]>
2011-12-16T23:33:27+00:00 2011-12-16T23:33:27+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13166#p13166 <![CDATA[Re: A simple approach to combat]]> Statistics: Posted by codetiger — Fri Dec 16, 2011 11:33 pm


]]>
2011-12-16T23:03:46+00:00 2011-12-16T23:03:46+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13164#p13164 <![CDATA[Re: A simple approach to combat]]> Statistics: Posted by stupidquestions — Fri Dec 16, 2011 11:03 pm


]]>
2011-12-16T22:53:51+00:00 2011-12-16T22:53:51+00:00 http://forums.aichallenge.org/viewtopic.php?t=2083&p=13163#p13163 <![CDATA[Re: A simple approach to combat]]> Statistics: Posted by erdman — Fri Dec 16, 2011 10:53 pm


]]>