2011-10-24T00:00:16 just like what an optimizer does, to c++ code 2011-10-24T00:00:29 it's different though 2011-10-24T00:00:29 i think what you claim is in NP 2011-10-24T00:00:48 optimizers look for patterns and replace them with known replacements 2011-10-24T00:00:49 oof. os x lion terminal limits scrollback by default "to available memory" 2011-10-24T00:00:51 yes, determining the BEST one is np 2011-10-24T00:01:01 which is painful when running a bot in the background 2011-10-24T00:01:06 even determining a good one is 2011-10-24T00:01:08 but determining a combination of suitable things, isn't np 2011-10-24T00:01:33 and, part of the design can include "use bubble sort" or "figure out how it should be sorted yourself" etc. 2011-10-24T00:01:45 a1k0n, you're not using iTerm? 2011-10-24T00:02:34 i don't think any particular algorithm belongs in a specification 2011-10-24T00:02:39 Sounds more to me like an a.i. programmer. Which I wouldn't mind having. 2011-10-24T00:02:58 you're in a room full of ai programmers! ;-) 2011-10-24T00:03:05 Hahaha. 2011-10-24T00:03:22 I should say: a artificially intelligent programmer. 2011-10-24T00:03:45 if the programming language I want, existed.. the code for this game would look something like this to start.. 2011-10-24T00:03:57 which then raises the question, how much of intelligence is learned 2011-10-24T00:04:28 parse_input(); update_board(); for each ant: choose(best_move) from available_moves(); 2011-10-24T00:04:33 i can specify what a sort function should mean without explaining how it works. this distinction between meaning and implementation is what makes the spec more declarative than the implementation. 2011-10-24T00:04:48 and you would get a compile error: that "choose(best_move)", is insufficiently designed 2011-10-24T00:04:56 *** cutoff has quit IRC (Ping timeout: 252 seconds) 2011-10-24T00:05:06 it might not be possible to specify intelligence, in which case creating an artificial one would be impossible, we could only create an artificial mechanism that naturally learns to be intelligent 2011-10-24T00:05:08 your design looks an awful lot like code 2011-10-24T00:05:35 sorry.. my ascii art skills ar elacking 2011-10-24T00:05:59 i'm not trying to highlight its textual form. i'm talking more about the fact that you are speaking in imperatives 2011-10-24T00:06:18 *** k333es_ has quit IRC (Quit: Page closed) 2011-10-24T00:06:19 *** maverick_ has joined #aichallenge 2011-10-24T00:06:55 print $ bestmove $ parse input 2011-10-24T00:06:58 what would be more designy then? 2011-10-24T00:07:58 do it in a lisp, that way you get to specify the language to work however you want 2011-10-24T00:08:01 explain the game declaratively, then write a formula in terms of the game and declare that the AI should maximize the value of that formula 2011-10-24T00:08:19 (this would be the spec for a "perfect" AI, of course) 2011-10-24T00:08:41 *** levis501_ has joined #aichallenge 2011-10-24T00:08:52 for a less perfect AI, you would loosen the spec in certain areas that allow for a realistic implementation 2011-10-24T00:08:58 but that still doesn't mean saying how it will work 2011-10-24T00:09:02 that sounds more like a design for the 'choose' function 2011-10-24T00:09:53 it sounds like you are using "design" to mean "architecture", whereas i was interpreting it as "specification" 2011-10-24T00:10:14 all the same thing 2011-10-24T00:10:15 or maybe you are using it even more vaguely as "how it works" 2011-10-24T00:10:21 not the same thing at all 2011-10-24T00:10:23 just different parts of it 2011-10-24T00:10:28 eh 2011-10-24T00:10:29 http://aichallenge.org/visualizer.php?game=5657 :p 2011-10-24T00:10:37 *** levis501 has quit IRC (Ping timeout: 252 seconds) 2011-10-24T00:10:37 *** Accoun has quit IRC (Ping timeout: 252 seconds) 2011-10-24T00:10:37 *** tobiassjosten has quit IRC (Read error: Operation timed out) 2011-10-24T00:10:37 *** levis501_ is now known as levis501 2011-10-24T00:10:40 avdg is much more on topic than we are :) 2011-10-24T00:10:40 *** djstrong has quit IRC (Read error: Operation timed out) 2011-10-24T00:10:43 no, specs are definitely different from architectures 2011-10-24T00:10:44 *** djstrong has joined #aichallenge 2011-10-24T00:10:53 we agree there at least :) 2011-10-24T00:11:01 bah, i misread the nick 2011-10-24T00:11:33 *** ckennelly has quit IRC (Ping timeout: 252 seconds) 2011-10-24T00:11:38 *** ckennelly has joined #aichallenge 2011-10-24T00:11:45 *** Accoun has joined #aichallenge 2011-10-24T00:11:50 avdg, what are we supposed to see? 2011-10-24T00:11:57 some stupid bots 2011-10-24T00:12:00 I'm hard at working hacking my bot. 2011-10-24T00:12:01 see last step 2011-10-24T00:12:22 Hahahaha. All self terminated. 2011-10-24T00:12:31 That's actually the problem I'm having now. 2011-10-24T00:12:42 *** tobiassjosten has joined #aichallenge 2011-10-24T00:12:47 wtf, how did they all... 2011-10-24T00:13:04 they all walked into their team mates 2011-10-24T00:13:12 at the same position 2011-10-24T00:13:26 symmetrically and relatively 2011-10-24T00:13:29 they are just all starter bots 2011-10-24T00:13:43 they all did the exact same thing because they *are* the exact same thing 2011-10-24T00:13:47 Oh I guess the seed is the same for every bot? 2011-10-24T00:13:58 I'm adding a signal based concept to my bot. Ants move onto the tile with the weakest signal to explore in that direction. When they move onto it, they increase the signal so other ants are less likely to follow. Each turn, the signal for each tile decrements towards zero. That way ants can reexplore if need be. 2011-10-24T00:13:58 those bots didn't use any randomness 2011-10-24T00:14:03 or they're not written to call random at all 2011-10-24T00:14:26 oh, I seem to recall my starter bot did 2011-10-24T00:14:37 weird 2011-10-24T00:14:46 oh I do'nt know if those are starter bots 2011-10-24T00:14:55 lrh9: so "signal" just means "time since last visited"? 2011-10-24T00:15:30 In that case yes. 2011-10-24T00:15:41 lrh9, so my question is, what are you hoping to have happen by this, or are you just trying it to see what will happen? 2011-10-24T00:16:34 i think the point is to seek food more effectively 2011-10-24T00:16:37 Just experimenting. 2011-10-24T00:16:42 To explore more effectively. 2011-10-24T00:16:48 by making sure that areas don't go unseen for too long 2011-10-24T00:17:12 *** cutoff has joined #aichallenge 2011-10-24T00:17:17 I'm going to have food put out a positive signal in a certain radius. Weak at the edges and strong at the center. Ants will naturally move towards the signal and hopefully collect the food. 2011-10-24T00:17:46 neat idea 2011-10-24T00:17:58 Naturally inspired. 2011-10-24T00:17:59 (Ants.) 2011-10-24T00:18:12 but slightly different 2011-10-24T00:18:12 I'd even like to apply the concept to hills and ants. 2011-10-24T00:18:18 Yep. 2011-10-24T00:18:47 I'm confused, how are you going to get the food put off a smell? 2011-10-24T00:18:59 wouldn't being able to do that imply already knowing where the food is? 2011-10-24T00:19:11 which would happen by having sent a scout near it 2011-10-24T00:19:41 Yes. I'll know the location of the food. 2011-10-24T00:20:09 oh, so you're just hill climbing as your path planning algorithm 2011-10-24T00:20:11 I see 2011-10-24T00:20:13 yes, however if you see something across an obstacle, and make the radius of the signal larger on the map than sight radius, ants on the other side of the obstacle would be able to go to it 2011-10-24T00:20:37 that's one scenario where it would be an emergent advantage to the naive "route nearest ant to it" 2011-10-24T00:20:50 *** astronautg117 has joined #aichallenge 2011-10-24T00:21:15 hey, is there anyone online that can help me with some login issues with the site? 2011-10-24T00:21:34 I have an implementation of the "exploration signals". It's just that my ants occassionally collide even though I'm using a data structure to keep track of target destinations each turn. 2011-10-24T00:21:39 I agree, but updating smell is an m*n algorithm, and if you're clever you can do better than that via other means 2011-10-24T00:21:58 agreed 2011-10-24T00:22:12 *** stano has quit IRC (Read error: Connection reset by peer) 2011-10-24T00:22:33 If we had to carry the food back to base, it might be a different story 2011-10-24T00:22:42 but even then you can do things like a minimum spanning tree 2011-10-24T00:22:55 Seems relatively simple to implement though. Adapt the vision code to produce the signal strengths and ant movement is simply a matter of picking the best neighbor based on its signal strength. 2011-10-24T00:23:01 and the food is singular instead of a large source 2011-10-24T00:23:14 Yeah. That's why I had to tweak it. 2011-10-24T00:23:16 yeah I'd be interested in seeing it in action 2011-10-24T00:23:36 Hope to have working implementations soon. 2011-10-24T00:24:07 *** jtamer has quit IRC (Quit: Leaving...) 2011-10-24T00:24:28 i happen to be doing the same thing. except reading irc makes it take longer. 2011-10-24T00:24:35 lol 2011-10-24T00:24:54 lrh9, that's basically what my first bot does... http://ants.fluxid.pl/player/centipede1 2011-10-24T00:25:12 you can think of it as there being a uniform distribution of food in the unseen areas, which increases over time 2011-10-24T00:25:20 *** cutoff has quit IRC () 2011-10-24T00:25:23 which gives a probabilistic justification for doing LRU-based exploration 2011-10-24T00:25:42 *** UnFleshedOne has joined #aichallenge 2011-10-24T00:26:06 you can make similar assumptions about numbers of ants in unseen areas except they're nonlinear 2011-10-24T00:27:41 lavalamp, cool. You gave me an idea. Make water have a damping or cutoff effect so ants won't be stuck by a water barrier. 2011-10-24T00:28:33 hmm, how come it never explores the center? http://ants.fluxid.pl/replay.2987 2011-10-24T00:28:35 http://www.youtube.com/watch?v=BQToo4rvmOs 2011-10-24T00:28:58 once the ants reach their desired "circle packing" they wiggle there until they're displaced? 2011-10-24T00:29:12 a1k0n: it's really stupid :) 2011-10-24T00:29:34 you have pathfinding problems it seems... 2011-10-24T00:29:50 *** jtamer has joined #aichallenge 2011-10-24T00:30:03 a1k0n: it doesn't do any at all :) 2011-10-24T00:30:22 oh, really? heh. it seems like some ants are set to scout a location while others are set to grab the food and they do a fine job 2011-10-24T00:31:15 Yeah, it just sets up forces from various things and the ants go towards the strongest one they feel. 2011-10-24T00:31:24 ah. 2011-10-24T00:31:39 *** Palmik has joined #aichallenge 2011-10-24T00:32:53 oh man, it took until just now in the song when I realized that there were lyrics, and that they were lisp 2011-10-24T00:33:02 teryret: ;) 2011-10-24T00:34:35 eval sounds more like fval 2011-10-24T00:34:39 Any chance they will enabe C++0x stuff for c++ compilers? Or at least install boost? 2011-10-24T00:36:13 *** astronautg117 has quit IRC (Quit: Page closed) 2011-10-24T00:36:19 *** question_ has joined #aichallenge 2011-10-24T00:36:24 *** delt0r_ has quit IRC (Ping timeout: 255 seconds) 2011-10-24T00:36:38 so how do you get the location of the food out of the vector in c++ 2011-10-24T00:37:02 food[0].row, food[0].col? 2011-10-24T00:37:08 *** avers_ has quit IRC () 2011-10-24T00:37:10 thank you 2011-10-24T00:37:12 Localtion loc = state.food[index]; 2011-10-24T00:37:15 i have never used vectors 2011-10-24T00:37:18 in c++ 2011-10-24T00:37:28 they're resizable arrays 2011-10-24T00:37:45 oh so you would just treat it like you would an array? 2011-10-24T00:37:49 blegh. it's midnight. g'night all, tomorrow I'm going to write my first anthill, ...but if it doesn't _go_ well I'm switching to python 2011-10-24T00:38:15 basically, yeah. for(size_t i=0;i alright, thank you very much 2011-10-24T00:39:27 *** SharkMonkey has quit IRC (Quit: chores'n bed) 2011-10-24T00:39:38 *** question_ has quit IRC (Client Quit) 2011-10-24T00:39:53 np. i'm gonna head to bed. 2011-10-24T00:41:56 *** question_ has joined #aichallenge 2011-10-24T00:42:17 sorry i needed to ask was it state.food or just food[index[? 2011-10-24T00:42:23 *food{index} 2011-10-24T00:42:31 *** noam has joined #aichallenge 2011-10-24T00:42:31 **food[index] 2011-10-24T00:42:37 *** teryret has quit IRC (Ping timeout: 265 seconds) 2011-10-24T00:43:30 ? 2011-10-24T00:43:31 *** lavalamp has quit IRC (Quit: Page closed) 2011-10-24T00:44:51 hello? 2011-10-24T00:45:07 hello 2011-10-24T00:47:01 it looks like it's state.food[index] 2011-10-24T00:49:05 *** delt0r_ has joined #aichallenge 2011-10-24T00:50:40 *** Seth has joined #aichallenge 2011-10-24T00:50:52 *** ikaros has joined #aichallenge 2011-10-24T00:51:09 *** otzi has quit IRC (Ping timeout: 256 seconds) 2011-10-24T00:52:02 thank you 2011-10-24T00:52:12 *** j0000el has joined #aichallenge 2011-10-24T00:54:41 hello, is it allowed to use my c library wrapped by SWIG from my python code? 2011-10-24T00:54:46 *** ztfw has quit IRC (Remote host closed the connection) 2011-10-24T00:57:53 I would guess so, but you might have trouble getting it to compile on the remote machine 2011-10-24T00:59:29 holy crap http://ants.fluxid.pl/replay.3121 check out his attack formations and attack code 2011-10-24T01:00:45 i'm guessing that's accoun? 2011-10-24T01:00:53 someone should be sky captain 2011-10-24T01:01:45 *** cyphase has quit IRC (Ping timeout: 260 seconds) 2011-10-24T01:02:16 Gulp. 2011-10-24T01:02:29 Account: are you skyramp? 2011-10-24T01:02:32 Accoun* 2011-10-24T01:02:58 *** venatiodecorus has quit IRC (Quit: Leaving) 2011-10-24T01:04:02 *** Six has joined #aichallenge 2011-10-24T01:05:49 *** GeorgeSebastian has quit IRC (Ping timeout: 244 seconds) 2011-10-24T01:09:50 Anyone else amped up for Skyrim? 2011-10-24T01:09:58 *** ig has joined #aichallenge 2011-10-24T01:11:28 *** chrisj_ has joined #aichallenge 2011-10-24T01:12:10 *** xar0l has left #aichallenge 2011-10-24T01:12:10 bleh, even a simple loop with random directions isn't stable 2011-10-24T01:12:21 in my implementation 2011-10-24T01:12:35 avdg, what language? 2011-10-24T01:12:39 js 2011-10-24T01:12:53 http://aichallenge.org/visualizer.php?game=5829&user=280 2011-10-24T01:13:46 note, that bot doesn't have goals :p 2011-10-24T01:13:53 Hm. 2011-10-24T01:14:07 ah, crashed 2011-10-24T01:14:27 yeah, it was using the starter kit 2011-10-24T01:14:38 that seemed to run a lot longer than it should have 2011-10-24T01:14:58 *** master_ninja has joined #aichallenge 2011-10-24T01:15:42 I am actually surprised that it took care about an enemy, pure on power of randomness 2011-10-24T01:17:11 I noticed you didn't have collisions. Are you keeping a container of destinations each turn? 2011-10-24T01:17:28 yeah, but it fails when they hit walls 2011-10-24T01:17:45 (alternate directions) 2011-10-24T01:18:07 I think I may have noticed a bug unrelated to yours. 2011-10-24T01:18:47 *** j0000el has quit IRC (Quit: Page closed) 2011-10-24T01:19:08 *** GeorgeSebastian has joined #aichallenge 2011-10-24T01:19:09 Nevermind. 2011-10-24T01:19:15 I missed a turn. 2011-10-24T01:20:27 Hey, I've got some questions... What is the maximum size of a map? And how much memory can a bot use? 2011-10-24T01:20:37 200x200 2011-10-24T01:20:44 and 1gb 2011-10-24T01:20:53 but don't rely on that number 2011-10-24T01:21:12 ok, thanks 2011-10-24T01:21:13 *** Areks has joined #aichallenge 2011-10-24T01:21:25 avdg, you were writing your own package? 2011-10-24T01:21:33 was actually 2011-10-24T01:21:46 But not anymore? 2011-10-24T01:21:56 my brain hit wantToImplementTooManyFeaturesException 2011-10-24T01:22:02 Heheh. 2011-10-24T01:22:08 well, I still want to care about it, at least, if I can 2011-10-24T01:22:36 OK. Does the js package feature a function to determine if a square is passable and a function to determine if a square is unoccupied? 2011-10-24T01:22:47 nope 2011-10-24T01:23:19 *** kiv has quit IRC (Quit: Leaving) 2011-10-24T01:23:36 *** xar0l has joined #aichallenge 2011-10-24T01:23:45 I currently have to implement it in my new package btw 2011-10-24T01:24:37 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-24T01:24:40 oh well, as long I have to fight less against js (but still better than programming in a language I already know too much) 2011-10-24T01:25:12 *** danielharan has joined #aichallenge 2011-10-24T01:26:14 I'm looking at the js starter package. The functions are ants.passable and ants.unoccupied. 2011-10-24T01:28:40 *** b4Ant has quit IRC (Remote host closed the connection) 2011-10-24T01:29:14 Is ants based of any existing game? I was thinking implementing my own version for kicks and I'd like more information about the concept. 2011-10-24T01:29:46 well, there are already concepts about it for sure 2011-10-24T01:30:12 but as far as I see its not done very much in this context 2011-10-24T01:31:25 *** Palmik has quit IRC (Remote host closed the connection) 2011-10-24T01:32:09 I feel like Dennis Nedry. My desk is a mess. 2011-10-24T01:32:31 *** GeorgeSebastian has quit IRC (Ping timeout: 248 seconds) 2011-10-24T01:33:07 Heh, check out the 2006 ICFP contest if you're itchin' for some more ant action 2011-10-24T01:34:39 *** he_the_great has quit IRC (Ping timeout: 248 seconds) 2011-10-24T01:36:19 According to the site I'm reading the contest for 2006 was a task involving a Universal Machine. http://www.boundvariable.org/task.shtml 2011-10-24T01:36:52 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T01:37:58 *** Larose has quit IRC (Quit: Leaving.) 2011-10-24T01:38:51 *** McLeopold has quit IRC (Quit: Leaving.) 2011-10-24T01:38:55 *** question_ has quit IRC (Quit: Page closed) 2011-10-24T01:40:04 yeah, one of the tasks involves an ant-oriented cellular automata 2011-10-24T01:42:22 the universal machine portion is comparatively a pretty small task 2011-10-24T01:42:34 *** jtamer has quit IRC (Quit: Leaving...) 2011-10-24T01:42:40 *** lrh9_ has joined #aichallenge 2011-10-24T01:42:54 anywhoo, I'm out; night everyone 2011-10-24T01:43:01 *** Boxx has quit IRC () 2011-10-24T01:43:21 I missed everything. Let me check the logs. 2011-10-24T01:44:08 *** lrh9 has quit IRC (Ping timeout: 245 seconds) 2011-10-24T01:47:40 *** noam has quit IRC (Ping timeout: 258 seconds) 2011-10-24T01:48:51 *** paulwal has joined #aichallenge 2011-10-24T01:48:53 hello 2011-10-24T01:49:03 Hello. 2011-10-24T01:50:39 *** avdg has quit IRC (Ping timeout: 255 seconds) 2011-10-24T01:50:41 would you happen to know the exact logic used to calculate which pixels are viewable around an ant? 2011-10-24T01:52:20 paulwal, look at Ants.visible() in ants.py 2011-10-24T01:52:31 thanks, Alexer 2011-10-24T01:53:09 cant login to forum 2011-10-24T01:53:55 *** avdg has joined #aichallenge 2011-10-24T01:54:07 bleh, buggy irc client 2011-10-24T01:54:53 is my path finding system bad if it could take about 230MB of memory? or do you think there should be lighter solution? 2011-10-24T01:54:57 Accoun, is https://github.com/berak/ants-tcp yours? 2011-10-24T01:54:59 Accoun, I had to register separately for the forum 2011-10-24T01:56:58 btw, what known path finding algorithm is good for this kind of game? 2011-10-24T01:57:13 cant login to forum 2011-10-24T01:57:28 password and nick ok 2011-10-24T01:57:39 and cant login 2011-10-24T01:59:04 http://ai-contest.com/forums/viewtopic.php?f=25&t=1505 post here "Accoun update server for this" i cant 2011-10-24T02:01:41 paulwal> im registred byt cant login 2011-10-24T02:01:51 *** Areks has quit IRC (Quit: KVIrc 4.0.2 Insomnia http://www.kvirc.net/) 2011-10-24T02:01:58 paulwal> it writes "login ok" and no effect 2011-10-24T02:02:33 i don't know then 2011-10-24T02:03:22 Perhaps clearing your Internet stuff would help? (Cookies, history, saved passwords, etc.) 2011-10-24T02:05:45 *** murilo has quit IRC (Quit: murilo) 2011-10-24T02:09:23 *** UncleVasya has joined #aichallenge 2011-10-24T02:10:06 *** Seth has quit IRC (Ping timeout: 265 seconds) 2011-10-24T02:10:08 it canadian jockes 2011-10-24T02:10:12 *** UncleVasya has quit IRC (Remote host closed the connection) 2011-10-24T02:10:13 http://ai-contest.com/forums/viewtopic.php?f=25&t=1505 post here "Accoun update server for this" i cant 2011-10-24T02:10:24 *** nio has joined #aichallenge 2011-10-24T02:11:01 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-24T02:11:43 *** tsc has joined #aichallenge 2011-10-24T02:13:48 *** jtamer has joined #aichallenge 2011-10-24T02:16:26 *** lrh9_ has quit IRC (Quit: Leaving) 2011-10-24T02:17:57 *** cko4 has joined #aichallenge 2011-10-24T02:24:30 *** ltriant has quit IRC (Quit: Computer has gone to sleep) 2011-10-24T02:25:46 *** Fandekasp has joined #aichallenge 2011-10-24T02:26:12 *** ikaros has joined #aichallenge 2011-10-24T02:26:22 *** Ephemera has quit IRC (Read error: Connection reset by peer) 2011-10-24T02:27:38 *** xar0l has quit IRC (Quit: Page closed) 2011-10-24T02:27:55 *** Ephemera has joined #aichallenge 2011-10-24T02:30:36 does anyone here know python well? 2011-10-24T02:30:42 I do 2011-10-24T02:31:17 int(1.9) would equal 1, right? 2011-10-24T02:32:03 yeah that truncates 2011-10-24T02:32:13 *** GeorgeSebastian has joined #aichallenge 2011-10-24T02:32:19 ok thanks 2011-10-24T02:33:01 towards zero, by the way 2011-10-24T02:33:08 if that matters for your purposes 2011-10-24T02:33:28 *** GeorgeSebastian has quit IRC (Max SendQ exceeded) 2011-10-24T02:34:23 *** GeorgeSebastian has joined #aichallenge 2011-10-24T02:34:30 yep 2011-10-24T02:35:49 *** GeorgeSebastian has quit IRC (Max SendQ exceeded) 2011-10-24T02:35:58 *** orfest has quit IRC (Quit: Page closed) 2011-10-24T02:36:03 *** olexs has joined #aichallenge 2011-10-24T02:36:26 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T02:36:46 Is there a way to get messages out of my bot when running locally? ie can I get stderr out of my bot when running from the simulator? 2011-10-24T02:37:10 tsc, add -eE to the playgame.py invocation 2011-10-24T02:37:20 *** GeorgeSebastian has joined #aichallenge 2011-10-24T02:37:24 and it prints the stderr to the console 2011-10-24T02:37:43 *** onensora has joined #aichallenge 2011-10-24T02:37:44 *** kincody has joined #aichallenge 2011-10-24T02:38:07 *** GeorgeSebastian has quit IRC (Max SendQ exceeded) 2011-10-24T02:38:21 *** ikaros has joined #aichallenge 2011-10-24T02:39:33 *** noam has joined #aichallenge 2011-10-24T02:40:14 *** GeorgeSebastian has joined #aichallenge 2011-10-24T02:41:29 *** GeorgeSebastian has quit IRC (Max SendQ exceeded) 2011-10-24T02:42:29 *** UnFleshedOne has quit IRC (Ping timeout: 265 seconds) 2011-10-24T02:42:29 *** cybsy has joined #aichallenge 2011-10-24T02:42:53 *** GeorgeSebastian has joined #aichallenge 2011-10-24T02:43:28 @seen berak 2011-10-24T02:43:28 Alexer: berak was last seen in #aichallenge 3 weeks, 4 days, 11 hours, 28 minutes, and 10 seconds ago: the game would never stop then 2011-10-24T02:44:37 aichallenge: janzert * rbb8f49d / website/process_registration.php : Check that profile information has been submitted before trying to process it - http://git.io/YQUaqg 2011-10-24T02:44:38 aichallenge: janzert * r88b1871 / (3 files in 3 dirs): Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/RiEbiQ 2011-10-24T02:44:52 Alexer thanks that gets me stderr from playgame.py, but not the stderr from my bot 2011-10-24T02:46:04 tsc, well, it should give you the stderr from your bot.. 2011-10-24T02:46:58 *** chrisj_ has quit IRC (Quit: Page closed) 2011-10-24T02:48:07 *** Puj has joined #aichallenge 2011-10-24T02:54:56 Alexer: It can 2011-10-24T02:57:30 f4hy, what can? 2011-10-24T02:58:16 @later tell amstan it looks like the redirects never got setup on the final server, done now. I wonder if this is the source of forum registration captcha problems 2011-10-24T02:58:16 janzert: Yep. 2011-10-24T03:01:31 wooo, I got foraging behavior working :D 2011-10-24T03:01:32 *** mcstar has joined #aichallenge 2011-10-24T03:01:39 Gratz AndrewBC 2011-10-24T03:01:50 thanks 2011-10-24T03:01:51 *** mcstar has left #aichallenge 2011-10-24T03:02:10 though it looks like sometimes the ants decide to go on a coffee break 2011-10-24T03:02:26 approximately every 100 turns or so 2011-10-24T03:02:47 *** Tommygun has joined #aichallenge 2011-10-24T03:02:53 Hey Everyone 2011-10-24T03:03:10 Im having trouble figuring out how to check visibility 2011-10-24T03:03:11 *** cybsy has quit IRC (Ping timeout: 256 seconds) 2011-10-24T03:03:20 using java 2011-10-24T03:03:26 the tutorial didn't mention it 2011-10-24T03:04:07 Anyone? 2011-10-24T03:04:13 Tommygun, there is a method called "visible" in the python starter package, it might help to check that out first. You may just be able to recode it in Java 2011-10-24T03:04:21 That is in ants.py 2011-10-24T03:04:47 ah hmm, the coffee breaks are when my ants get "stuck" together 2011-10-24T03:04:49 Visible isn't coded in the java ants ? 2011-10-24T03:05:05 Dunno, can check.. Tommygun 2011-10-24T03:05:05 balls. 2011-10-24T03:05:17 So ill have to go dl the python pack' 2011-10-24T03:05:34 <_flag> Check to see if a square is within the view radius of any of your ants 2011-10-24T03:05:38 <_flag> If it is, it is visible 2011-10-24T03:05:41 <_flag> If it isn't, it isn't 2011-10-24T03:05:49 *** paul__ has joined #aichallenge 2011-10-24T03:05:57 Tommygun, what do you mean by check visibility? 2011-10-24T03:07:17 Tommygun, _flag is right if that's what you are after, but the python package has a good example of how to precalculate that for all of the ants and only do lookups based on the precalculation table. That's a good method if you are going to be doing more than one visibility check per turn. 2011-10-24T03:07:49 I was coding that precalc table you're talking about puj 2011-10-24T03:07:57 Okay. 2011-10-24T03:08:06 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-10-24T03:08:15 was trying to get this visibility based on whether or not each tile had an associated Ilk 2011-10-24T03:08:49 because, I figure that the game must have sent me all of the Ilk for the tiles I can see 2011-10-24T03:08:55 but not the tiles I can't 2011-10-24T03:09:02 therefore, visibility 2011-10-24T03:09:24 but I can't check the double array without it crashing 2011-10-24T03:09:24 What do you mean by Ilk? 2011-10-24T03:09:26 Ilk? 2011-10-24T03:09:30 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-10-24T03:09:33 *** awishformore has quit IRC (Ping timeout: 265 seconds) 2011-10-24T03:09:37 Ilk is like a Tile class in the Java solution 2011-10-24T03:09:38 Ilk is a java file to denote water, land dead ant ect 2011-10-24T03:09:38 ilk == tile type 2011-10-24T03:09:53 ah 2011-10-24T03:10:06 the server doesn't send tile types like that, it sends relevant data 2011-10-24T03:10:37 How come I can look up if a visible tile has water then? 2011-10-24T03:10:48 you can look that up even after vision fades 2011-10-24T03:11:05 I have the algorithm for calculating exactly which coordinates are visible around an ant. is that what you mean? 2011-10-24T03:11:27 it sounds like he wants to know whether or not he's seen a particular square before, and if so, if it was land or water. 2011-10-24T03:11:39 Okay, let me clarify 2011-10-24T03:12:14 I want a few things: A) visible tiles 2011-10-24T03:12:37 B) to investigate the actual data given to me 2011-10-24T03:13:12 I want to know if all of the water tiles in existence are given to me 2011-10-24T03:13:33 for (A) you need to calculate what the visible coordinates are around each live ant you have 2011-10-24T03:13:55 git status 2011-10-24T03:13:58 .. bah 2011-10-24T03:14:05 right, and Im assuming the only way to do that is via ant radius 2011-10-24T03:14:27 not too challenging, but I'm thinking about how to do that another way 2011-10-24T03:14:34 via the tile types given to me 2011-10-24T03:15:26 Since each tile is not directly linked to it's type, I should be able to get all of the type info which is sent to me 2011-10-24T03:16:26 would probably help if the java docs were in front of you guys :D 2011-10-24T03:18:09 *** question_ has joined #aichallenge 2011-10-24T03:18:22 if a hill tile disappears (as in it's razed) then info on that tile won't be sent to you the next turn because it's now empty land. The only way to know a hill disappeared is to make note of the fact that the tile is visible yet no info was sent on it. 2011-10-24T03:18:54 i'm not sure if that's related to what you're trying to do, but that's i'm working on right now 2011-10-24T03:19:30 absolutely what I am talking about 2011-10-24T03:19:44 does that mean all of the water tiles are available to be looked at? 2011-10-24T03:19:58 when i run test_bot.cmd on my submission i get turn 0 bot 1 crashed 2011-10-24T03:20:16 Water tiles are only sent once: the first time they are visible 2011-10-24T03:20:21 then your bot crashed 2011-10-24T03:20:28 question_, Check your game_logs/ for a file called 0.bot0.error 2011-10-24T03:20:32 it says turn 0 bot 1 crashed 2011-10-24T03:20:40 kk 2011-10-24T03:20:57 Are you using java paul? 2011-10-24T03:21:09 i dont esee it 2011-10-24T03:21:18 No, I'm using Tcl. I'm writing the starter package. 2011-10-24T03:21:31 Hehe... Tcl 2011-10-24T03:21:36 *** smoke_carrot has joined #aichallenge 2011-10-24T03:21:46 hello, Puj 2011-10-24T03:21:50 cool. Well in java, you check the tile's "Ilk" 2011-10-24T03:21:56 through a method in ants 2011-10-24T03:22:03 and the other part says no encoding declared 2011-10-24T03:22:16 what that method does, is checks a double array 2011-10-24T03:22:20 Hi paul__ 2011-10-24T03:22:25 and returns the Ilk for that location 2011-10-24T03:22:52 which is your chosen language, Puj? 2011-10-24T03:22:57 What question_? What language are you using and what are you running? 2011-10-24T03:23:06 I'm trying out Python right now, paul__ 2011-10-24T03:23:15 cool 2011-10-24T03:23:20 , i run the test_bot.cmd with my bot in there and i am coding in c++ 2011-10-24T03:23:23 so I'm trying to determine what's visible via the ilk response 2011-10-24T03:23:28 But I'm a moron, so it really doesn't matter which language I choose 2011-10-24T03:24:26 *** Blkt has joined #aichallenge 2011-10-24T03:24:46 *** jtamer has quit IRC (Quit: Leaving...) 2011-10-24T03:25:43 Puj: i run the test_bot.cmd with my bot in there and i am coding in c++ 2011-10-24T03:26:06 I see, question_ 2011-10-24T03:26:12 good morning everyone 2011-10-24T03:26:17 Windows or Unix, or Posix? question_ 2011-10-24T03:26:18 Tommygun: I'm keeping track of the how many turns ago each tile was last seen, so a value of 0 would mean it's visible this turn. I increment this value for all tiles at the end of a turn, and at the start of a turn I iterate through all of my ants, calculate the tiles they can see, and then remove all food, hill, and ant tiles that should be visible but were last seen >= 1 turn ago. If that makes sense... 2011-10-24T03:26:21 Sup Blkt 2011-10-24T03:26:21 *** olexs has quit IRC (Quit: Leaving.) 2011-10-24T03:26:22 windows 2011-10-24T03:26:30 hi there 2011-10-24T03:26:39 What does your test_bot.cmd look like question_ ? 2011-10-24T03:26:56 @echo off playgame.py --engine_seed 42 --player_seed 42 --food none --end_wait=0.25 --verbose --log_dir game_logs --turns 30 --map_file submission_test/test.map "python ""%~dp0sample_bots\python\GreedyBot.py""" %1 "python submission_test/natebot.exe" -e --nolaunch --strict --capture_errors 2011-10-24T03:26:56 off playgame.py --engine_seed 42 --player_seed 42 --food none --end_wait=0.25 --verbose --log_dir game_logs --turns 30 --map_file submission_test/test.map python %~dp0sample_bots\python\GreedyBot.py %1 python submission_test/natebot.exe -e --nolaunch --strict --capture_errors 2011-10-24T03:27:13 oh, I'm kind of silly, I could just not do any output and I'll probably get a full traceback 2011-10-24T03:27:42 Did you move your natebot.exe to submission_test, question_ 2011-10-24T03:27:47 Yeah, makes sense paul 2011-10-24T03:27:47 yes 2011-10-24T03:28:04 you'd have to be familiar with the java code to understand what I'mgetting at though :( 2011-10-24T03:28:14 thanks though :) 2011-10-24T03:28:21 i also tried uploading the code and it says it compiles but crashes 2011-10-24T03:28:34 and so i ran this to see if i could figure it out 2011-10-24T03:28:43 cause my code works for play_one_game 2011-10-24T03:28:46 but crashes here 2011-10-24T03:29:10 *** acron^ has joined #aichallenge 2011-10-24T03:30:09 *** danielharan has joined #aichallenge 2011-10-24T03:30:14 Oh, that's odd question_, I would see if you can get error logs to work. Make sure you aren't sending any debug outputs to stdout in your program and use the -E flag to put the stderr from your bot into the game_logs directory. Double check that everything in your .cmd file you reference exists. gtg 2011-10-24T03:31:00 i will deal with this tommorrow ttyl 2011-10-24T03:31:05 *** question_ has quit IRC (Quit: Page closed) 2011-10-24T03:31:15 Why is the viewRadius 55 2011-10-24T03:31:29 and not some easily sqrt() num 2011-10-24T03:31:48 can ants see 7.4 tiles in front of them? 2011-10-24T03:31:49 i know, right 2011-10-24T03:31:51 or 8? 2011-10-24T03:31:53 or 7? 2011-10-24T03:32:01 they use int(sqrt()) 2011-10-24T03:32:04 so 7 2011-10-24T03:32:12 Sweet. 2011-10-24T03:32:15 thaths 2011-10-24T03:32:17 thanks* 2011-10-24T03:32:18 wow 2011-10-24T03:32:20 its late. 2011-10-24T03:32:36 aichallenge: janzert * r9857248 / website/profile.php : Fix errors when requesting profile page without a user specified - http://git.io/UJgBdw 2011-10-24T03:32:57 There's function called Ants.visible in ants.py in the python starter package 2011-10-24T03:33:16 I copied the logic there 2011-10-24T03:33:26 from there 2011-10-24T03:33:27 aichallenge: janzert * rfbcf441 / website/profile.php : Add missing ) - http://git.io/ZHyNYQ 2011-10-24T03:35:01 btw, viewradius2 is actually 77 on the servers not 55 2011-10-24T03:35:20 a new tools download should default to that as well 2011-10-24T03:37:44 hi 2011-10-24T03:37:50 janzert: On http://aichallenge.org/ants_tutorial_step_5.php In the Code section, just before the second piece of code, the sentence is not completed. It just says "Put the following code after the food gathering section and before the" 2011-10-24T03:38:11 Any python dev here using ipdb within the sandbox ? how do you manage to put a breakpoint in it ? 2011-10-24T03:38:12 oh what? 2011-10-24T03:38:18 kronos: hmm :/ 2011-10-24T03:38:20 view rad is now 77? 2011-10-24T03:38:23 janzert: should the specs page have updated since yesterday? 2011-10-24T03:38:31 i'm not sure the food harvesting content is actually going in properly 2011-10-24T03:38:32 antimatroid: no idea should it? 2011-10-24T03:38:37 no idea 2011-10-24T03:38:41 I thought I did actually 2011-10-24T03:38:44 I'll do it again now 2011-10-24T03:38:48 cheers 2011-10-24T03:39:09 done 2011-10-24T03:39:16 *** skyramp has joined #aichallenge 2011-10-24T03:39:49 yeah, doesn't show up, i'll have a look later 2011-10-24T03:39:54 cheers 2011-10-24T03:40:35 kronos: could you file an issue on that incomplete sentence? 2011-10-24T03:40:47 at https://github.com/aichallenge/aichallenge 2011-10-24T03:41:00 janzert: ok..will do that. 2011-10-24T03:41:24 it's incomplete in the wiki source as well and I don't know offhand how it's suppose to finish 2011-10-24T03:41:26 Is there an easy way to change the color of the first player on the website? I think those black ants are almost invisible compared to the other colors 2011-10-24T03:44:01 *** dungeonduke has quit IRC (Remote host closed the connection) 2011-10-24T03:46:03 aichallenge: janzert * r1db33f6 / ants/visualizer/js/Const.js : Don't use the highlight color for a regular player - http://git.io/2fltbg 2011-10-24T03:46:30 *** mcstar has joined #aichallenge 2011-10-24T03:47:21 hmm, the first loop takes 68 ms on my computer 2011-10-24T03:47:24 and times out on the server 2011-10-24T03:47:26 >:| 2011-10-24T03:47:42 I blame the starter package base! YEAH! 2011-10-24T03:48:13 maybe you own a supercomputer 2011-10-24T03:48:23 it's a pretty old imac :/ 2011-10-24T03:48:31 but really the problem is my code 2011-10-24T03:48:34 janzert:there. https://github.com/aichallenge/aichallenge/issues/326 . 2011-10-24T03:48:37 there's no reason it should do that 2011-10-24T03:48:52 kronos: Thank you 2011-10-24T03:48:59 time to crack out the profiler, didn't expect to have to this early 2011-10-24T03:49:01 janzert: hey, what is new? 2011-10-24T03:49:19 everyone sharing their progresses? 2011-10-24T03:49:22 I'm awake at 4am again? 2011-10-24T03:49:27 well that's not exactly new 2011-10-24T03:49:28 janzert: is that new? 2011-10-24T03:49:44 janzert: I have accidently created a duplicate issue as well (#327). I got a 404 page and thought my issue was not created. remove the second one please. thanks. 2011-10-24T03:50:06 *** zyberkiddy has joined #aichallenge 2011-10-24T03:50:09 *** tsc has quit IRC (Ping timeout: 265 seconds) 2011-10-24T03:50:10 the channel became high-traffic 2011-10-24T03:50:16 kronos: got it 2011-10-24T03:51:04 4 workers, nice 2011-10-24T03:54:06 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T03:54:43 *** zyberkiddy has quit IRC (Client Quit) 2011-10-24T04:00:40 *** boegel has joined #aichallenge 2011-10-24T04:00:59 *** noam has quit IRC (Ping timeout: 256 seconds) 2011-10-24T04:04:17 this challenge is... addictive 2011-10-24T04:04:32 I'm finding it hard to make sure I make time for aiclass/mlclass, and get to bed in time too 2011-10-24T04:04:39 I should never have started... 2011-10-24T04:05:43 programming is addictive, beacause it is easy on the mind 2011-10-24T04:05:45 *** Guest1107 has joined #aichallenge 2011-10-24T04:06:36 *** Guest1107 has left #aichallenge 2011-10-24T04:06:38 mcstar: it is? 2011-10-24T04:06:57 i think it is 2011-10-24T04:07:35 the hard part is when you dont know what to do next 2011-10-24T04:07:44 i.e. out of ideas 2011-10-24T04:08:05 *** olexs has joined #aichallenge 2011-10-24T04:08:22 mcstar, when out of ideas, code test suites and look at losing replays (= 2011-10-24T04:08:52 or go for a run 2011-10-24T04:09:01 You mean, outside? mcstar 2011-10-24T04:09:01 or drink more coffe 2011-10-24T04:09:09 yes ouside, people do that 2011-10-24T04:09:13 Oh. 2011-10-24T04:09:29 *** Tommygun has quit IRC (Ping timeout: 265 seconds) 2011-10-24T04:09:33 mcstar, outside? is that something edible? 2011-10-24T04:10:20 Alexer: clear the window of your basement, and look out, theres a whole new world out there, i was told 2011-10-24T04:11:13 mcstar, ...but i don't have windows! i use linux! :) 2011-10-24T04:11:29 everyone needs windows 2011-10-24T04:11:37 better than walls 2011-10-24T04:12:11 (i use linux, just for the record) 2011-10-24T04:12:35 My basement only has Cygwin.... =/ 2011-10-24T04:12:50 mac os x user in the house, right here 2011-10-24T04:13:13 representin' 2011-10-24T04:13:51 *** csyncope has joined #aichallenge 2011-10-24T04:13:57 i like free 2011-10-24T04:14:14 that works for a poor uni student like me :P 2011-10-24T04:14:34 when I do the tutorial my bot keeps crashing immediately, but it's the starter kit 2011-10-24T04:14:35 *** ikaros has joined #aichallenge 2011-10-24T04:16:00 *** Fandekasp has quit IRC (Ping timeout: 255 seconds) 2011-10-24T04:16:11 C++ csyncope? 2011-10-24T04:16:15 java 2011-10-24T04:16:30 java.lang.NoClassDefFoundError: Bot 2011-10-24T04:16:49 Are you creating a jar file or specifying your classpath csyncope? 2011-10-24T04:16:59 running make compiles the jar 2011-10-24T04:17:18 Windows with JDK or cygwin? 2011-10-24T04:17:26 linux 2011-10-24T04:17:31 with JDK? 2011-10-24T04:18:08 are you asking which one or whether i have it installed? 2011-10-24T04:18:46 Yeah. But it looks like the Makefile looks for MyBot.java and compiles to MyBot.jar, thus you should be trying to run MyBot.jar with the initial class being MyBot 2011-10-24T04:18:47 hm, i can be totally off, but i remember someone having a similar problem, and it was caused by him using "java -jar mybot.jar" instead of "java -jar mybot" iirc 2011-10-24T04:19:04 hmm 2011-10-24T04:19:21 ...apparently totally off 2011-10-24T04:19:41 I don't think so 2011-10-24T04:19:49 i think that's only when compiling .java files pretty sure you have to specify .jar 2011-10-24T04:20:23 /clear 2011-10-24T04:20:34 csyncope, never hurts to try, though :P 2011-10-24T04:20:42 Alexer: i did though 2011-10-24T04:20:46 Well, -jar MyBot.jar should definetly work. But you might have to specify the package path to the start class as well. "java -jar MyBot.jar your.package.MyBot 2011-10-24T04:21:01 ah 2011-10-24T04:21:30 -jar will work if the manifest file is correct 2011-10-24T04:21:40 True dat delt0r_ 2011-10-24T04:21:45 ie that MyBot is the main class 2011-10-24T04:22:19 but there is a lot of merit getting it too work without that since its not a jar on the server 2011-10-24T04:22:21 oh i see what's wrong 2011-10-24T04:22:28 it's only putting one file in the jar 2011-10-24T04:22:36 (= 2011-10-24T04:22:51 csyncope: are you using a IDE? 2011-10-24T04:23:01 delt0r_: no, just the provided make file and vim 2011-10-24T04:23:11 but i haven't actually edited anything yet 2011-10-24T04:23:19 interesting, python's subprocess.Popen is not interacting well with my go program doing file io 2011-10-24T04:23:33 *** sigh has joined #aichallenge 2011-10-24T04:23:38 go's like "exceptions? what are those? I'm writin' a file heah!" 2011-10-24T04:23:42 csyncope: then i think not using a jar is still easy 2011-10-24T04:23:51 just need to get the class path correct 2011-10-24T04:23:51 and python's like "HOLY SHIT AN UNHANDLED EXCEPTION, I BETTER RAISE THIS!" 2011-10-24T04:24:11 so go's like plodding happily along and pythong stops ALL the things 2011-10-24T04:24:20 >clearly a redditor 2011-10-24T04:24:24 :| 2011-10-24T04:24:36 I'm actually not, but -all- my coworkers are 2011-10-24T04:24:39 it's terrible 2011-10-24T04:25:05 csyncope: also sometimes it is easier to have a launch script for your bot locally. 2011-10-24T04:25:07 sure, you think you just browse reddit when *you* want to? 2011-10-24T04:25:21 <.< 2011-10-24T04:25:43 so I have proggit on my home screen on my phone 2011-10-24T04:25:56 but that's only when I have to be in the *shudder* real world 2011-10-24T04:28:00 *** olexs has left #aichallenge 2011-10-24T04:28:01 *** olexs has joined #aichallenge 2011-10-24T04:29:14 *** olexs has left #aichallenge 2011-10-24T04:29:15 *** olexs has joined #aichallenge 2011-10-24T04:31:04 *** Zewen has joined #aichallenge 2011-10-24T04:31:53 *** GeorgeSebastian has quit IRC (Ping timeout: 252 seconds) 2011-10-24T04:32:51 *** TTE has joined #aichallenge 2011-10-24T04:34:37 *** skyramp has quit IRC (Ping timeout: 265 seconds) 2011-10-24T04:36:24 *** kakashi_ has joined #aichallenge 2011-10-24T04:38:54 *** ademar_ has joined #aichallenge 2011-10-24T04:39:01 *** ademar has quit IRC (Ping timeout: 258 seconds) 2011-10-24T04:43:38 *** Areks has joined #aichallenge 2011-10-24T04:45:03 *** ig has quit IRC (Remote host closed the connection) 2011-10-24T04:45:24 *** GeorgeSebastian has joined #aichallenge 2011-10-24T04:46:16 *** GeorgeSebastian has quit IRC (Max SendQ exceeded) 2011-10-24T04:47:32 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T04:49:07 *** smly- has joined #aichallenge 2011-10-24T04:49:36 *** TTE has quit IRC (Ping timeout: 265 seconds) 2011-10-24T04:53:38 aww the tutorial is python only after part 1 2011-10-24T04:56:49 *** bearoff has joined #aichallenge 2011-10-24T04:56:51 *** acron^ has left #aichallenge 2011-10-24T04:57:03 *** csyncope has left #aichallenge 2011-10-24T04:57:24 *** ig has joined #aichallenge 2011-10-24T04:58:13 *** UncleVasya has joined #aichallenge 2011-10-24T04:59:28 *** SqrT_ has joined #aichallenge 2011-10-24T05:01:19 *** Israfel has joined #aichallenge 2011-10-24T05:03:58 hello 2011-10-24T05:04:37 hey paul__ 2011-10-24T05:05:13 your own ants can be on hills, but can someone else's ant be on your hill? Or does a hill instantly disappear as soon as an enemy ant touches it? 2011-10-24T05:05:47 if it doesnt buffer any ants 2011-10-24T05:06:00 if it does, the enemy ant that is approaching is kileld 2011-10-24T05:07:47 mcstar, what do you mean by buffer ants? as in have extra food stored up? does this mean that if you move onto an enemy hill, the enemy has one extra turn to spawn an ant at that hill and kill you? 2011-10-24T05:09:19 *** ikaros has joined #aichallenge 2011-10-24T05:10:34 Are ants buffered if more than one food is collected in a single turn? 2011-10-24T05:11:05 i believe so 2011-10-24T05:11:17 not just that 2011-10-24T05:11:17 *** olexs1 has joined #aichallenge 2011-10-24T05:11:18 but you can only spawn one ant per hill per turn 2011-10-24T05:11:27 if your ant blocks the hill, all the food is buffered 2011-10-24T05:11:33 until that ant moves away 2011-10-24T05:11:37 ahh 2011-10-24T05:11:55 *** olexs has quit IRC (Read error: Connection reset by peer) 2011-10-24T05:11:55 i'm trying to understand the concept of razing 2011-10-24T05:11:56 so, an enemy ant cant destroy a hill until it un-buffered all of its ants 2011-10-24T05:12:05 you can raze an empty hill 2011-10-24T05:12:08 But the food is collected even if the hill is blocked, it's the ant which is buffered, correct mcstar? 2011-10-24T05:12:18 *** maverick_ has quit IRC (Quit: Page closed) 2011-10-24T05:12:30 it doesnt matter how you look at it, food-unborn ant 2011-10-24T05:12:32 whatever 2011-10-24T05:12:37 is this correct? razing = just moving your ant onto an unbuffered hill 2011-10-24T05:12:38 the food disappears from the board 2011-10-24T05:12:47 Right, mcstar, that's what I was wondering. 2011-10-24T05:12:49 Thanks.\ 2011-10-24T05:12:49 yes 2011-10-24T05:13:05 thanks man 2011-10-24T05:13:15 *** olexs1 has quit IRC (Client Quit) 2011-10-24T05:13:18 that clears up a lot 2011-10-24T05:15:26 as you might imagine, this potentially has a nice strategy 2011-10-24T05:15:36 you can lure in enemies, than release your buffer 2011-10-24T05:15:53 im not sure if anyone implemented this startegy yet 2011-10-24T05:16:00 yeah 2011-10-24T05:16:48 but you could only release one ant per turn 2011-10-24T05:17:03 true 2011-10-24T05:17:05 *** olexs has joined #aichallenge 2011-10-24T05:17:07 *** cirno_the_greate has quit IRC (Remote host closed the connection) 2011-10-24T05:17:27 so if they have two ants next to your hill, they'll kill a new ant every turn and they won't lose any 2011-10-24T05:18:09 if i'm understanding it all correctly 2011-10-24T05:18:37 yeah, i guess they can block the spawning 2011-10-24T05:18:43 you have to be careful 2011-10-24T05:19:27 Does an enemy ant block a spawn or does it count as a collision? 2011-10-24T05:19:37 that'd be a good attack strategy, block all spawning 2011-10-24T05:20:08 it is a simple attack 2011-10-24T05:20:21 the enemy can kill the ant that is on top of the hill 2011-10-24T05:20:29 and elilminating your buffer 1by1 2011-10-24T05:21:12 Would you not have to have two ants within attackradius of the hill to pick them off one-by-one? 2011-10-24T05:22:13 *** aaaaaaa has joined #aichallenge 2011-10-24T05:22:22 wait, so an enemy ant can move into the same tile as your hill and a spawn will count as a collision and they'll both die because theyre both occupying the same tile? but i suppose they can't move onto it to begin with (unless the hill's buffer is empty) because there will always be a spawned ant sitting on it from the buffer 2011-10-24T05:24:03 i suppose i'm wondering if you'll ever get a "h x x 0" message followed by a "a x x 1" message in the same turn 2011-10-24T05:24:37 Word 2011-10-24T05:24:39 Python? 2011-10-24T05:25:08 Tcl here 2011-10-24T05:25:20 does spawning happen before battle does it? 2011-10-24T05:25:34 *** aaaaaaa has quit IRC (Client Quit) 2011-10-24T05:25:35 I think it happens in the move phase? 2011-10-24T05:25:40 Which is before attack 2011-10-24T05:26:05 why does food spawning happen before battle? 2011-10-24T05:26:21 it's not going to change where food will spawn, it'll just make it take an extra turn to spawn there 2011-10-24T05:26:26 I thought you meant ant spawning, sorry antimatroid 2011-10-24T05:26:31 if an enemy resides there that dies during battle 2011-10-24T05:26:40 Puj: i did sorry, moved on :P 2011-10-24T05:26:55 lol 2011-10-24T05:26:58 Me too slow 2011-10-24T05:27:27 spawn happens last, according to the Game Specification link. Move happens first. So that means it's impossible for an enemy ant to move onto a 'buffered' hill. 2011-10-24T05:28:08 i'm assuming it means ant spawn happens last 2011-10-24T05:28:44 hm. the top 99.1% of my program time is spent in syscalls and semaphore waits 2011-10-24T05:29:13 Why do you even have any of those AndrewBC ? 2011-10-24T05:29:15 that's not very informative 2011-10-24T05:29:20 delt0r_: goroutines 2011-10-24T05:29:21 its not allowed to be threaded 2011-10-24T05:29:26 it isn't 2011-10-24T05:29:26 AndrewBC, do you have any timeouts locally? 2011-10-24T05:29:27 oh 2011-10-24T05:29:33 Puj: I do :/ 2011-10-24T05:29:41 the first turn is ~ 66ms on my machine 2011-10-24T05:29:55 that still sounds wrong unless you have massive contention 2011-10-24T05:30:00 Me too... But sporadically.. Yeah, my turns are all under 100ms it seems according to printouts and profiling... 2011-10-24T05:30:03 I also have weird long turns every now and then, I think go's GC is shit 2011-10-24T05:30:04 semaphores are fast 2011-10-24T05:30:14 long being like 30ms 2011-10-24T05:30:15 if it does not block of course 2011-10-24T05:30:19 *** Abrackadabra has joined #aichallenge 2011-10-24T05:30:22 hello 2011-10-24T05:30:36 Puj: it does timeout on the server though, first turn 2011-10-24T05:30:37 :/ 2011-10-24T05:30:43 how should i use tcp server by accoun? 2011-10-24T05:31:00 python tcpclient.py 213.88.39.97 2081 "java -jar bot/MyBot.jar" username password 1 doesn't work 2011-10-24T05:31:25 That sucks... maybe you can succeed where I failed earlier. Do you have the possibility to handle the SIGTERM signal in Go and then throw a stacktrace? I tried it in Python earlier, but failed miserably. 2011-10-24T05:31:44 You have to change the signal sent to the bot in playgame as well. I think it's actually in sandbox.py around line 398 2011-10-24T05:31:55 why would it timeout on the server but finish so fast locally? 2011-10-24T05:32:19 paul__: tcp 2011-10-24T05:32:28 networks break everything 2011-10-24T05:32:39 first 2 things to check.. do you flush 2011-10-24T05:32:43 the server doesn't use tcp does it? 2011-10-24T05:32:48 *** analyst74 has quit IRC (Quit: HydraIRC -> http://www.hydrairc.com <- The professional IRC Client :D) 2011-10-24T05:33:16 I always flush! delt0r_ 2011-10-24T05:33:18 AndrewBC: no not the offical one... sorry thought we were talking about tcp servers... switching widnows to fast 2011-10-24T05:33:26 no worries 2011-10-24T05:33:39 paul__: according to my local test script, 66ms is a timeout 2011-10-24T05:33:56 that does sound very wrong 2011-10-24T05:34:03 should be like about 500ms 2011-10-24T05:34:03 maybe I'm not timing it correctly 2011-10-24T05:34:04 Ugh.. It's about the same here. 2011-10-24T05:34:13 i thought the standard turn timeout is 1000 milliseconds 2011-10-24T05:34:51 I think that is the time out locally 2011-10-24T05:34:53 Although... it could be that playgame.py does something wrong while blocking for input causing it to interpret the lag as computation time in our bots. 2011-10-24T05:34:55 aka in tools 2011-10-24T05:35:04 Puj: true 2011-10-24T05:35:10 but IIRC folks here have said the offical server is 500ms 2011-10-24T05:35:31 *** Abrackadabra has quit IRC (Ping timeout: 265 seconds) 2011-10-24T05:35:41 i've found the options --log_input and log_output to be helpful 2011-10-24T05:35:50 --logout_output 2011-10-24T05:35:55 Puj: do you use non blocking IO? I typically do 2011-10-24T05:36:21 the test script uses 250 milliseconds 2011-10-24T05:36:25 but i doubt i will enter again... too much real work 2011-10-24T05:36:30 * delt0r_ goes to do real work 2011-10-24T05:36:34 I'm checking it out to make sure it takes into account early returns though 2011-10-24T05:36:39 *** wibblymat_ has joined #aichallenge 2011-10-24T05:37:05 *** Blkt has quit IRC (Remote host closed the connection) 2011-10-24T05:37:30 *** Blkt has joined #aichallenge 2011-10-24T05:37:39 *** wibblymat_ has quit IRC (Client Quit) 2011-10-24T05:37:39 is it timing out on the first turn every time? 2011-10-24T05:37:46 yeah 2011-10-24T05:37:52 mine was too 2011-10-24T05:37:56 I had an error 2011-10-24T05:38:01 Not mine, it's different each time it timesout. Sometimes it completes. 2011-10-24T05:38:12 There's no runtime error either. 2011-10-24T05:38:31 i had an error and it wasn't outputting what it needed to 2011-10-24T05:38:42 hm 2011-10-24T05:39:24 After my main computation is complete, I return "go\n" 2011-10-24T05:39:28 And then flush 2011-10-24T05:40:06 I also flush after every order. 2011-10-24T05:41:05 The profiler indicates that all cpu cycles are basically spent in the method which is responsible for handling input from the server (playgame.py), not in my computation code.. 2011-10-24T05:41:16 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T05:41:17 Which means it is probably just blocking for input. 2011-10-24T05:41:39 >> the offical server is 500ms - hm, it's really 500. Yesterday it was 1000. 2011-10-24T05:42:00 looks like the engine.py does do timing properly 2011-10-24T05:42:11 though you might get +/- 10 ms 2011-10-24T05:42:24 That's fine. 2011-10-24T05:42:41 The descrepancy is like on the order of 400ms... 2011-10-24T05:42:48 heh 2011-10-24T05:43:22 it's probably a boneheaded mistake somewhere 2011-10-24T05:43:24 knowing me 2011-10-24T05:43:32 Same here. 2011-10-24T05:45:24 wait waht, -10ms? 2011-10-24T05:45:36 the engine should never give a bot less time than they're meant to get 2011-10-24T05:45:45 *** GeorgeJ has joined #aichallenge 2011-10-24T05:45:49 easy with a crapy sys clock 2011-10-24T05:45:50 that is ideally, i'm not claiming that's waht happens 2011-10-24T05:46:03 aka windows with the low res timer 2011-10-24T05:46:09 server is ubuntu 2011-10-24T05:46:11 +/-. The loop uses time.sleep(0.01) That call can return early if python wakes to handle a signal 2011-10-24T05:46:13 that's where it really matters 2011-10-24T05:46:18 or whatever 2011-10-24T05:46:28 also with task scheduling can also mean odd time patterns. 2011-10-24T05:46:36 it is however, the proper way to do accurate sleeping in python 2011-10-24T05:46:45 won't use unix's crappy inaccurate one 2011-10-24T05:47:00 unix does not really have a crappy one... 2011-10-24T05:47:11 relatively speaking :P 2011-10-24T05:47:17 but your schedulling may not be fine grained 2011-10-24T05:47:20 I don't consider shit tier OSes as existing 2011-10-24T05:47:58 modern linux is not so bad with defaults so 1ms should be fine 2011-10-24T05:48:01 *** cko4 has quit IRC (Quit: Page closed) 2011-10-24T05:48:26 but some schedulers only give processes big chunks infrequently 2011-10-24T05:48:42 more throughput less "real time" 2011-10-24T05:49:02 So in the ants.py method finish_turn() I change sys.stdout.write('go\n') to sys.stdout.write('go\r\n') and it is working much more reliably.... 2011-10-24T05:49:10 *** skyramp has joined #aichallenge 2011-10-24T05:49:29 interesting Puj 2011-10-24T05:49:43 actually antimatroid, if it returned early it would still be okay 2011-10-24T05:49:47 That's on Cygwin python 2011-10-24T05:49:48 the underling os may be deciding when to flush 2011-10-24T05:49:50 it'd just loop around and check again 2011-10-24T05:49:59 *** bearoff has left #aichallenge 2011-10-24T05:51:19 flush when it stinks 2011-10-24T05:52:15 I would have thought that '\n' would translate into the OS required line break... as it does in java. 2011-10-24T05:52:51 I would have thought that too... but I guess Cygwin confuses everything.... 2011-10-24T05:53:16 huh? 2011-10-24T05:53:47 *** noam has joined #aichallenge 2011-10-24T05:54:02 what does cygwin confuse? 2011-10-24T05:54:06 Dude, mcstar, I dunno, I changed 'go\n' to 'go\r\n' and mybot is working much more reliably no unexpected timeouts right now. 2011-10-24T05:54:10 '\n' 2011-10-24T05:54:39 i just dont see how would cygwin confuse anything 2011-10-24T05:54:42 I really don't know who is deciding what an endline is when running a cmd batch to launch python in cygwin... 2011-10-24T05:54:49 you are not linking cygwin in 2011-10-24T05:55:09 that doesnt matter, you issue "go" in your program 2011-10-24T05:55:21 i.e. fully windows if you compile it on windows 2011-10-24T05:55:31 mcstar: but without a linebreak its not sent 2011-10-24T05:55:32 It's being interpreted via cygwin 2011-10-24T05:55:44 hell even the server my need the linebreak 2011-10-24T05:55:52 game engine or whatever 2011-10-24T05:56:55 *** ikaros has joined #aichallenge 2011-10-24T05:57:10 so you saying bash is compiled against the cygwin dll, that in turn changes line breaks to "\r\n", and you have to use that in your program 2011-10-24T05:57:24 this way it makes a little sense 2011-10-24T05:57:53 mcstar: it does not make sense... why is that surprising? 2011-10-24T05:58:19 it doesnt make sense theoretically, but experimentall it does 2011-10-24T05:58:45 cygwin on windows is trying to make everything unix like, it could well be mangling linebreaks as part of that 2011-10-24T05:59:07 *** skyramp has quit IRC (Quit: Page closed) 2011-10-24T05:59:24 but when you run your program outside bash, i.e. with cmd, normal line breaks should work 2011-10-24T05:59:27 "\n" 2011-10-24T05:59:31 *** skyramp has joined #aichallenge 2011-10-24T05:59:37 but even if python is running from cygwin it may still detect windows as the os? Either way... one of the reasons unix works better than cygwin 2011-10-24T06:00:03 i dont like any kind of emulation 2011-10-24T06:00:11 i want the real stuff :) 2011-10-24T06:00:19 me too 2011-10-24T06:00:25 Well, cygwin is usually recognized as posix and treated accordingly... it's not usually classified as windows. 2011-10-24T06:00:37 even virtulaztion is slow in our tests 2011-10-24T06:00:58 Puj: but that is the problem, its not either 2011-10-24T06:01:02 in reality 2011-10-24T06:01:57 Puj: anyway, wrt your submissions, they should work without any "hack", do they? 2011-10-24T06:02:01 I'm happy that my fantasy world has accepted \r\n, if it works on the server, I shall spread the luv 2011-10-24T06:02:46 I haven't submitted, but I have experienced sporadic, unpredictable timeouts since the starter package was unmodified. 2011-10-24T06:03:08 since delt0r_ is involved i take it it is in java? 2011-10-24T06:03:16 Python 2011-10-24T06:03:20 oh 2011-10-24T06:03:26 mcstar: no 2011-10-24T06:03:37 I like the sound of my own text 2011-10-24T06:03:59 so i answer everyone even when i don't have clue what i am talking about 2011-10-24T06:04:02 :D 2011-10-24T06:04:08 +1 me too 2011-10-24T06:04:24 we are just socialized 2011-10-24T06:04:28 me too! -1, because I'm a poser 2011-10-24T06:06:44 the real problem, is that the engine should work with any line ending already 2011-10-24T06:06:57 i mean, the error is on your side i think 2011-10-24T06:07:29 i know that at one time mcleo corrected things to accept all combinations of endings 2011-10-24T06:07:32 Even further on my side? My goodness.. 2011-10-24T06:08:16 Puj: try to use stderr extensively 2011-10-24T06:08:22 Just got started. :) The tutorial doesn't seem to work though. 2011-10-24T06:08:49 Puj: i mean output inputs as soon as you receive it and such 2011-10-24T06:08:58 make sure these things work as expected 2011-10-24T06:09:06 Oh, I printed out remaining time in my inner loop, and in between major functions, and the last printout I get says like 940ms remaining. So sure. mcstar 2011-10-24T06:09:12 * mcstar is not sure how to access stderr in python 2011-10-24T06:09:21 print >> sys.stderr, "BLBHBALHAH" 2011-10-24T06:09:45 i mean all input you receive, push to stderr immediately 2011-10-24T06:09:48 turn 0 stats: [1,1,0] 0 [0,1] - 18 0 None [0,1] [1,1] [1,1] 0 None (Doesn't seem to do anything. 2011-10-24T06:09:49 *** jimb0 has quit IRC (Ping timeout: 240 seconds) 2011-10-24T06:10:01 oh, python got >>? 2011-10-24T06:10:08 Mmm 2011-10-24T06:10:16 thats a weird syntax btw 2011-10-24T06:10:20 Mmm 2011-10-24T06:10:24 what? 2011-10-24T06:10:26 :D 2011-10-24T06:10:33 There's also the sys.stderr.write("heheh") 2011-10-24T06:10:48 too many punctuation 2011-10-24T06:10:54 Damn scrizzle. 2011-10-24T06:11:06 hey AndrewBC, are you flushing stdout? maybe that's why you're timing out, because stdout is buffering your output 2011-10-24T06:11:52 Puj: did you spit your monitor? 2011-10-24T06:12:02 Like my mum always says.... Always flush after your finished... 2011-10-24T06:12:08 Yes ?.. 2011-10-24T06:12:12 k 2011-10-24T06:12:16 wasnt sure 2011-10-24T06:12:23 just looked up scrizzle 2011-10-24T06:12:33 not anyone is a native scrizzler here 2011-10-24T06:12:37 everyone* 2011-10-24T06:12:39 paul__: mm, no my ants are actually taking longer than the timeout, but at the same time my bot takes into account unfinished turns with some clever hackery 2011-10-24T06:13:00 what's happening that makes that not work though is that my bot is receiving turntime as 1000 even though it's really 250 2011-10-24T06:13:01 Sorry mcstar, Definition #2 2011-10-24T06:14:04 Gratz AndrewBC 2011-10-24T06:14:32 has anyone done the tutorial? It doesn't seem to do anything for me. 2011-10-24T06:15:10 i'm timing out locally with the test script every time. using --log_output shows that my bot isnt outputting anything. yet it does output fine when i test it manually, wtf. 2011-10-24T06:15:21 bbl 2011-10-24T06:15:22 right? :P 2011-10-24T06:15:39 i'm flushing the shit out of stdout too 2011-10-24T06:18:41 it seems like there's something wrong with the test script? 2011-10-24T06:19:05 *** qwerft has joined #aichallenge 2011-10-24T06:20:10 *** alc has joined #aichallenge 2011-10-24T06:21:02 Aha! I figured it out, AndrewBC 2011-10-24T06:21:06 ??? 2011-10-24T06:21:30 *** pedrosorio has joined #aichallenge 2011-10-24T06:21:41 climbing the ranks *dances* 2011-10-24T06:21:43 xD 2011-10-24T06:22:02 *** yegres has joined #aichallenge 2011-10-24T06:23:14 AndrewBC: After the initialization stuff (turn 0, viewradius2, etc, etc) then it receives "ready". In one part of the documentation, it says your bot should respond with "ready". In another part of the site, it says your bot should respond with "go" 2011-10-24T06:23:26 ... 2011-10-24T06:24:02 I was responding with "ready", because that seemed like newer info, but the test script was looking for "go", so i would just time out everytime 2011-10-24T06:24:11 lame, haha 2011-10-24T06:24:52 *** replore_ has quit IRC (Read error: Connection reset by peer) 2011-10-24T06:24:56 *** replore_ has joined #aichallenge 2011-10-24T06:26:58 oh shit 2011-10-24T06:27:02 you know what my error is? 2011-10-24T06:27:38 ?? 2011-10-24T06:27:55 if my ant doesn't see food, it'll look for unknown area to explore. If it doesn't succeed the first time, it searches a little bit further away for unexplored area 2011-10-24T06:28:10 I did a logarithmic endless increase in that 2011-10-24T06:28:31 the test map, however, is so small that there isn't any unexplored area that he hits 2011-10-24T06:28:41 :| 2011-10-24T06:28:42 *** olexs has quit IRC (Quit: Leaving.) 2011-10-24T06:28:48 ha 2011-10-24T06:29:12 I should just make him random around known area for now if he can't find unexplored area 2011-10-24T06:29:15 wtf though :| 2011-10-24T06:29:26 weird problem to have 2011-10-24T06:30:08 I guess it's good if it challenges my preconceptions about the parameters of the environment early in the competition rather than later 2011-10-24T06:30:39 yep 2011-10-24T06:32:42 *** Path has joined #aichallenge 2011-10-24T06:33:33 *** pomko has joined #aichallenge 2011-10-24T06:34:14 I downloaded the tools and the starter package, but following the tutorial, the bot crashes. (Caused by: java.lang.ClassNotFoundException: AbstractSystemInputParser$SetupToken) 2011-10-24T06:34:24 Where can I find that class? 2011-10-24T06:34:24 *** alc has quit IRC (Ping timeout: 258 seconds) 2011-10-24T06:35:20 probably its a system class 2011-10-24T06:35:29 *** pomko has quit IRC (Client Quit) 2011-10-24T06:35:36 lol 2011-10-24T06:35:44 nm, I have it.. Wonder why it's crashing. 2011-10-24T06:36:06 there should be a disclaimer in the title: "we do not intend to teach you the language" 2011-10-24T06:36:25 I unpack the zip, umpack the tools, make the classes, run the tutorial script. crash. 2011-10-24T06:36:55 If they're going to make a tutorial script, at least make it work. 2011-10-24T06:37:30 which tool are you using? 2011-10-24T06:37:37 I know the language, I just don't want to be a debugger. 2011-10-24T06:37:45 *** bitbrit has joined #aichallenge 2011-10-24T06:38:08 I made a shell script "python tools/playgame.py "java -jar MyBot.jar" "python tools/sample_bots/python/HunterBot.py" --map_file tools/maps/example/tutorial1.map --log_dir game_logs --turns 60 --scenario --food none --player_seed 7 --verbose -e" 2011-10-24T06:38:45 basically, the starter bot crashes. Unmodified by me. 2011-10-24T06:40:37 \o/ GRAET SUCCESS 2011-10-24T06:41:07 now to see my new bot play some games 2011-10-24T06:41:23 Israfel, dunno man. I'm not using java. What happens when you just run: java -jar MyBot.jar 2011-10-24T06:41:32 I hope I don't have to scrap the entire starter bot and start over with my own. 2011-10-24T06:41:34 AndrewBC, what's the name of your bot? 2011-10-24T06:42:08 AndrewBC I guess 2011-10-24T06:42:30 My guess is nothing would happen. The class doesn't do anything that I can see. 2011-10-24T06:42:34 *** levis501 has quit IRC (Quit: levis501) 2011-10-24T06:43:00 Israfel, maybe it's a path thing, if MyBot.jar uses other files in the starter package 2011-10-24T06:43:26 paul__, new MyBot().readSystemInput(); (basically, it waits for an input.) 2011-10-24T06:43:40 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-24T06:43:45 try typing "ready" as input 2011-10-24T06:44:10 hmm, doesn't look like it put me in the beginning of the line 2011-10-24T06:44:11 gave go 2011-10-24T06:44:14 it should respond with "go" and not error out 2011-10-24T06:44:22 ready 2011-10-24T06:44:29 Yup 2011-10-24T06:44:47 so maybe it's a path thing when you run your shell script 2011-10-24T06:45:07 just a guess 2011-10-24T06:46:26 *** mark``` has joined #aichallenge 2011-10-24T06:46:32 Path is set up properly, I'm running it from the jar folder and the tools folder is here too. 2011-10-24T06:47:12 Israfel: i reproduced the error 2011-10-24T06:47:56 there we go 2011-10-24T06:48:03 had to submit again to reset my rank 2011-10-24T06:48:10 that was weird 2011-10-24T06:48:23 my rank was still like 1948 and my skill was at -0.00 2011-10-24T06:48:37 mcstar, Ok, then I should just ignore the code they gave me and start my own. :/ 2011-10-24T06:48:41 oh nevermind, there it goes again 2011-10-24T06:49:46 Israfel: obviously the bot itslef works 2011-10-24T06:50:24 *** cyphase has joined #aichallenge 2011-10-24T06:50:25 *** cyphase has joined #aichallenge 2011-10-24T06:50:39 AndrewBC: it still says 0.00 and 1918 for me 2011-10-24T06:51:31 mcstar, Yeah, I already submitted the starter bot, but something about the playgame.py causes it to crash 2011-10-24T06:51:40 paul__: yeah, I dunno 2011-10-24T06:51:44 Or maybe it's HunterBot.py 2011-10-24T06:51:52 I'll try other bots. 2011-10-24T06:52:29 no, its the javabot 2011-10-24T06:53:13 yeah, it's a java error, but does the bot check the input to make sure it's valid? 2011-10-24T06:53:56 Israfel: anyway, if you dont use a jar it works 2011-10-24T06:54:51 i guess it doesnt work with a jar, because thats not what playgame.py expects ,and it mangles the command you give 2011-10-24T06:54:54 or some like that 2011-10-24T06:55:18 just make a script that launches your class, with the correct classpath and give that script to playgame.py 2011-10-24T06:55:44 #!/bin/bash 2011-10-24T06:55:45 java -cp ./dist/starter_bots/java MyBot 2011-10-24T06:55:50 just for reference 2011-10-24T06:59:17 *** mark``` has quit IRC (Quit: mark```) 2011-10-24T07:03:53 *** yegres has quit IRC (Quit: Page closed) 2011-10-24T07:07:12 *** g0llum has joined #aichallenge 2011-10-24T07:07:20 Israfel: did you try? 2011-10-24T07:09:33 *** blackwol` has joined #aichallenge 2011-10-24T07:12:10 mcstar, I tried a few different things. I tried the path explicitly. it's not crashing, but I'm getting "bot 0 did not start" 2011-10-24T07:12:27 *** bearoff has joined #aichallenge 2011-10-24T07:12:30 did you try what i wrote? 2011-10-24T07:12:33 that works 2011-10-24T07:12:50 Looks like someone else has the same error in the forums: http://aichallenge.org/forums/viewtopic.php?f=25&t=1579 2011-10-24T07:13:08 k, i dont care, just try what i did 2011-10-24T07:13:09 or not 2011-10-24T07:13:19 *** blackwolf has quit IRC (Ping timeout: 248 seconds) 2011-10-24T07:13:21 i passed my quota for the day 2011-10-24T07:15:14 My bot isn't in a folder though. I'm running it just like the tutorial. So if I were to use your script, I'd need only add "./" 2011-10-24T07:16:40 *** bve has joined #aichallenge 2011-10-24T07:18:25 *** Andsoon has joined #aichallenge 2011-10-24T07:18:57 *** skyramp has quit IRC (Ping timeout: 265 seconds) 2011-10-24T07:20:19 Hello. Can anyone say what means 'spawnradius2' in Parameter Information? 2011-10-24T07:23:53 I'm guessing goroutines are considered threads so we are not allowed to use them, correct? 2011-10-24T07:24:00 incorrect 2011-10-24T07:24:16 goroutines are multiplexed on top of threads and work just fine when there's only 1 thread 2011-10-24T07:24:32 you get concurrency but not parallelism in that case 2011-10-24T07:24:33 *** n00g has joined #aichallenge 2011-10-24T07:25:04 *** skyramp has joined #aichallenge 2011-10-24T07:25:08 *** Murashka has joined #aichallenge 2011-10-24T07:25:10 Does anybody know how to read the ammount of ants you currently have? 2011-10-24T07:25:18 skyramp: why I oughta! 2011-10-24T07:25:27 mcstar, yeah, I still get an Exception when I use that script and pass it to the tutorial. 2011-10-24T07:25:40 n00g: length(ants)? 2011-10-24T07:26:13 Israfel: that sucks 2011-10-24T07:26:24 are all your class files there? 2011-10-24T07:26:30 yes. 2011-10-24T07:26:37 what if you try what i did? 2011-10-24T07:26:37 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T07:26:44 use the ones under starter_bots 2011-10-24T07:26:50 I can remove the exception when I use the full path name. but it still doesn't run. 2011-10-24T07:27:10 mcstar, Ah, run a starter bot and starter bot against each other? 2011-10-24T07:27:23 sec, gonna go compile them 2011-10-24T07:27:31 run whatever bot and the java starter bot 2011-10-24T07:27:34 against each other 2011-10-24T07:27:37 I'm uncertain as to what language to use just yet, havnig a look at Go, it would seem rather awesome, and fast. But I was really thinking of going with C, but the language is really lacking, which would mean it would take more time to do the same thing. Meh, what language would you guys recommend? 2011-10-24T07:27:38 what did you do? 2011-10-24T07:27:50 The java starter bots come uncompiled. 2011-10-24T07:27:57 use what you know 2011-10-24T07:27:58 change dir, and make 2011-10-24T07:28:05 err sample bots. 2011-10-24T07:28:09 GeorgeJ: take the red pill 2011-10-24T07:28:27 C it is. 2011-10-24T07:28:30 nono 2011-10-24T07:28:32 i mean common lisp 2011-10-24T07:28:46 lol 2011-10-24T07:28:48 I've got no experience with lisp whatsoever 2011-10-24T07:28:57 thats great 2011-10-24T07:29:00 good starting point 2011-10-24T07:29:05 lericson: what do you exactly mean by length(ants) I don't understand the context how to use it to read the ammount of ants you have currently 2011-10-24T07:29:28 n00g: you need to track what ants you have yourself 2011-10-24T07:29:32 n00g: you have exactly as many ants as you receive in the input 2011-10-24T07:29:46 If the owner for those ants are 0, and not >0 2011-10-24T07:29:48 all lines starting with "a" and ending with "0" 2011-10-24T07:29:52 n00g: ants spawned - ants dead 2011-10-24T07:36:17 *** Aleph-zero has joined #aichallenge 2011-10-24T07:36:27 *** danielharan has joined #aichallenge 2011-10-24T07:36:49 *** Aleph-zero has quit IRC (Client Quit) 2011-10-24T07:37:39 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-24T07:42:19 *** michiel_ has joined #aichallenge 2011-10-24T07:42:45 *** michiel_ is now known as Guest14225 2011-10-24T07:43:42 personally, I think ants should be kept in a dictionairy and you should name each of them 2011-10-24T07:44:32 there is a certain irony to the fact I generally spell dictionary wrong 2011-10-24T07:44:49 Hehe 2011-10-24T07:45:19 the irony is that people refer to a type of data container as a "dictionary", and expect others to understand what he/she is talking about 2011-10-24T07:45:53 it's a bit more indicative of function than "hash table" 2011-10-24T07:46:27 normal people would think that meant a large breakfast banquet for truckers, or something like that 2011-10-24T07:46:35 or maybe pot, I dunno 2011-10-24T07:46:38 Irony is putting a considered data type in quotations like a string literal while critizing names for data types which most people would recognize. 2011-10-24T07:46:57 stupid strings 2011-10-24T07:47:16 think about that name 2011-10-24T07:47:17 the data container we are talking about is commonly called hashtable 2011-10-24T07:47:19 how absurd it is 2011-10-24T07:47:33 but dictionary is a python specific term i care nothing about 2011-10-24T07:47:37 Associative array ;) 2011-10-24T07:47:57 Hashtable: a table at a Amsterdam cafe 2011-10-24T07:47:57 *** bve has quit IRC (Ping timeout: 265 seconds) 2011-10-24T07:48:24 an associative array is not equal to a hastable 2011-10-24T07:48:39 Hence the ; in my smiley. 2011-10-24T07:48:45 a hashtable is not sorted in any way 2011-10-24T07:48:57 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Ping timeout: 258 seconds) 2011-10-24T07:48:58 and here I thought you just found me sexually attractive 2011-10-24T07:49:04 turns out it was just a big joke to you 2011-10-24T07:49:15 *** ameydhar has joined #aichallenge 2011-10-24T07:49:21 Well, I never said it meant exclusively that i was kidding about what I said AndrewBC 2011-10-24T07:49:30 oh baby 2011-10-24T07:49:45 I have submitted my code and it says read to play, but no game has been played 2011-10-24T07:50:09 well, tough luck 2011-10-24T07:50:15 try it next year 2011-10-24T07:50:16 Hash table, do you not mean a map? or a key=>value store? 2011-10-24T07:50:27 ameydhar: I've been waiting for an hour for a game with my new submission 2011-10-24T07:50:43 GeorgeJ: a dictionary is implemented as a hashtable 2011-10-24T07:50:55 a map doesnt say anything about its implementation 2011-10-24T07:50:58 mine also it has been about 90 mins 2011-10-24T07:50:59 Don't wait ameydhar, just keep coding and testing locally 2011-10-24T07:51:03 Exactly 2011-10-24T07:51:10 there are also tcp servers 2011-10-24T07:51:14 +1 mcstar 2011-10-24T07:51:17 A map is basicaly a key => value store 2011-10-24T07:51:19 I've played like 20 games on one of them already 2011-10-24T07:51:27 And if I have many submissions, will the last submitted code be evaluated? 2011-10-24T07:51:42 *** skyramp has quit IRC (Quit: Page closed) 2011-10-24T07:52:00 *** skyramp has joined #aichallenge 2011-10-24T07:52:01 AndrewBC: I have 12 games played on my 1st one yesterday 2011-10-24T07:52:21 my only point is, a "dictionary" is not a common term for what we are talking about, it is only pythonic, and i dont like when people think everyone should know python 2011-10-24T07:52:35 *** Nescio has joined #aichallenge 2011-10-24T07:52:41 mcstar, I'm thinking the error isn't in MyBot even though that's what's throwing the Exception... I just ran the tutorial with 2 of MyBot and not using the Hunterbot.py 2011-10-24T07:52:43 C#? 2011-10-24T07:52:50 but it is nitpicking, i know 2011-10-24T07:53:00 if I have many submissions, will the last submitted code be evaluated? 2011-10-24T07:53:11 or all of them? 2011-10-24T07:53:17 mcstar: you shouldn't say hash table anymore :D 2011-10-24T07:53:25 not one of them 2011-10-24T07:53:31 ameydhar, last submitted 2011-10-24T07:53:39 I don't even know python, and for some reason that was the word I decided to use 2011-10-24T07:53:45 it is not going to be evaluated, it isnt an expression 2011-10-24T07:53:47 thanks 2011-10-24T07:54:05 lets say, it will be run 2011-10-24T07:54:05 ameydhar, unless it had a problem. so last submitted working code i suppose 2011-10-24T07:54:32 No both are showing ready to play. No problem in both I suppose 2011-10-24T07:54:47 *** Murashka has quit IRC (Quit: Page closed) 2011-10-24T07:54:49 mcstar: please check the definition of "evaluate" 2011-10-24T07:54:53 Are there any more complex bots with sources around? I'm interested in a good read before I make my own 2011-10-24T07:55:24 GeorgeJ: read the strategy guide. that has good ideas! 2011-10-24T07:55:39 *** Olap_ has joined #aichallenge 2011-10-24T07:55:47 in a greater sense you can say, your bot will be evaluated, for example, its performance will be evaluated, but before all that it will be compiled or/and run 2011-10-24T07:56:29 GeorgeJ: dont expect the starter bots to contain more logic 2011-10-24T07:57:02 *** avdg1 has joined #aichallenge 2011-10-24T07:57:15 GeorgeJ, there are some example bots in the tools package 2011-10-24T07:57:18 I'm not, just got some nice ideeas, but I'm rather new to AI and would of liked some more reading 2011-10-24T07:59:25 Ideas are the easy part, it's turning them into code without bugs that is tricky ;P 2011-10-24T07:59:38 *** Olap has quit IRC (Ping timeout: 260 seconds) 2011-10-24T07:59:39 lol 2011-10-24T07:59:45 yep 2011-10-24T08:00:16 and writing a bot that can incorporate new ideas on the go, and doesnt need rewrite all the time 2011-10-24T08:00:20 *** avdg has quit IRC (Ping timeout: 276 seconds) 2011-10-24T08:00:34 i've experienced that before. great ideas about what to do, and they don't seem to hard to implement. then i sit down to code and.. oh.. hmm.. 2011-10-24T08:00:59 too hard* 2011-10-24T08:02:40 mcstar: compilation of my code is successful and it says ready to play 2011-10-24T08:02:48 *** Olap_ has quit IRC (Ping timeout: 240 seconds) 2011-10-24T08:02:50 I initialy thought of implementing a behavioural trees for the mass of ants, but it would seem easier to have groups of ants and implement behaviours for each group indivitually 2011-10-24T08:03:07 Do you guys usually defend your hives? 2011-10-24T08:03:19 to some extent or another, i'm sure 2011-10-24T08:03:27 ameydhar: good 2011-10-24T08:03:30 For the C# bots, can we use Linq? 2011-10-24T08:03:50 Are any of you using C++ for ur bots? 2011-10-24T08:03:55 Nescio: check what mono has to offer 2011-10-24T08:04:04 ameydhar: changing from cl, yes 2011-10-24T08:04:28 It requires a reference - Would the server include that? 2011-10-24T08:04:35 *** wololoooo has left #aichallenge 2011-10-24T08:04:53 Nescio: i dont know what "reference" means in this context 2011-10-24T08:05:03 *** Olap has joined #aichallenge 2011-10-24T08:07:26 *** Andsoon has quit IRC (Quit: Page closed) 2011-10-24T08:08:05 *** Kingpin13 has joined #aichallenge 2011-10-24T08:08:27 I have a suggestion. when a new code is uploaded, the previous rank of the person should be maintained and then based on new code performance the rank has to be updated. Now rank goes to last on new submission 2011-10-24T08:10:06 this behavior is required for correct skill calculation 2011-10-24T08:10:14 *** knyppeldynan has quit IRC (Read error: Connection reset by peer) 2011-10-24T08:12:31 *** knyppeldynan has joined #aichallenge 2011-10-24T08:13:17 *** Craklyn_ has joined #aichallenge 2011-10-24T08:13:39 How many gamess a day can you expect on the official server? 2011-10-24T08:14:53 *** yoden has joined #aichallenge 2011-10-24T08:18:11 *** doskir has joined #aichallenge 2011-10-24T08:19:07 *** ameydhar has quit IRC (Quit: Page closed) 2011-10-24T08:23:46 oops, i coded most of my workday path finding algorithm for my ants bot. I'm a bad employee... 2011-10-24T08:25:15 *** master_ninja has quit IRC (Quit: eot) 2011-10-24T08:25:25 *** twymer has joined #aichallenge 2011-10-24T08:29:10 *** nishant has joined #aichallenge 2011-10-24T08:29:53 *** Guest14225 has quit IRC (Quit: Page closed) 2011-10-24T08:29:59 whenever i try to run the java starter package, it opens up google chrome on my ubuntu 2011-10-24T08:30:09 can anyone tell mppeninge why this is ha 2011-10-24T08:30:22 can anyone tell me why this is happening 2011-10-24T08:30:24 Something in your .sh is incorrect. 2011-10-24T08:30:40 i just copied the file from the tutorial page on the website 2011-10-24T08:30:59 imjust trying to get to grips with the esact content of these packages 2011-10-24T08:31:37 python tools/playgame.py "java -jar MyBot.jar" "python tools/sample_bots/python/HunterBot.py" --map_file tools/maps/example/tutorial1.map --log_dir game_logs --turns 60 --scenario --food none --player_seed 7 --verbose -e 2011-10-24T08:31:51 this is the exact line as shown on the website 2011-10-24T08:32:35 *** sir_macelon has joined #aichallenge 2011-10-24T08:32:38 hi 2011-10-24T08:32:51 @rankings 2011-10-24T08:32:53 sir_macelon: Top 10 players: sir_macelon(77.7), ThisIsNotABug(77.3), GreenTea(76.8), GarySWest(76.5), FlagCapper(76.1), Ender(75.8), MomoBot(75.6), skyramp(75.2), paratrechina(74.7), ChrisH(73.0) 2011-10-24T08:32:57 Hehahah 2011-10-24T08:33:03 domination at last :) 2011-10-24T08:33:10 It is playing the "video" of your game in your browser 2011-10-24T08:33:21 That's why it's opening Chrome. Chrome is your default browser 2011-10-24T08:34:32 *** Palmik has joined #aichallenge 2011-10-24T08:35:31 *** racko has joined #aichallenge 2011-10-24T08:36:21 *** delt0r_ has quit IRC (Ping timeout: 244 seconds) 2011-10-24T08:36:51 *** otzi has joined #aichallenge 2011-10-24T08:37:20 *** twymer has quit IRC (Ping timeout: 260 seconds) 2011-10-24T08:37:22 *** eis has joined #aichallenge 2011-10-24T08:39:29 sir_macelon: for now =P 2011-10-24T08:40:34 pedrosorio: and forever :P 2011-10-24T08:42:37 *** eis has quit IRC (Quit: Page closed) 2011-10-24T08:42:55 *** ajhager has quit IRC (Ping timeout: 248 seconds) 2011-10-24T08:43:32 sir_macelon: when did you start working on your bot? 2011-10-24T08:44:01 *** paul__ has quit IRC (Ping timeout: 265 seconds) 2011-10-24T08:44:29 boegel: somewhere around april 2011-10-24T08:44:53 sir_macelon: ah 2011-10-24T08:45:03 sir_macelon: I've only started this weekend :) 2011-10-24T08:45:13 sir_macelon: but I'll catch up, don't worry :P 2011-10-24T08:45:42 sir_macelon: how much time have you spent on it since then? 2011-10-24T08:45:42 boegel: I am hoping so, nice competition is always welcomed :) 2011-10-24T08:48:35 boegel: hard to say really, I had periods of breaks, but gradually tried to improve 2011-10-24T08:49:11 *** delt0r_ has joined #aichallenge 2011-10-24T08:49:12 boegel: maybe half of that time was productive 2011-10-24T08:49:13 plus rules have changed 2011-10-24T08:49:28 sir_macelon: wow, that's a lot of time spent 2011-10-24T08:49:31 cyphase: exactly, that changed a lot 2011-10-24T08:49:44 cyphase: yes, but you gain a lot of experience 2011-10-24T08:50:24 boegel: well, indeed, fighting and exploration remained the same, I didn't change anything there 2011-10-24T08:50:27 sure, i was just pointing it out :) 2011-10-24T08:50:49 * cyphase is heartened by GarySWest being #4 with a python bot 2011-10-24T08:51:33 I believe almost all in the top10 are in similar situation as me = same experience 2011-10-24T08:51:41 *** Fandekasp has joined #aichallenge 2011-10-24T08:51:51 or even spent more time 2011-10-24T08:52:27 yeah, probably 2011-10-24T08:52:28 yet still those mazes are something new, they were introduced just recently 2011-10-24T08:52:37 well, in any case, I'm having ufn 2011-10-24T08:52:45 I don't expect to end up 1st :) 2011-10-24T08:53:08 hi 2011-10-24T08:53:18 and there might be other weird maps the organizer haven't exposed yet 2011-10-24T08:53:43 boegel: I am too having fun, but aiming for the 1st also :) 2011-10-24T08:54:12 *** jcdnyc has joined #aichallenge 2011-10-24T08:54:23 boegel: but I can imagine it will be hard to catch up if you just started 2011-10-24T08:54:34 I had a similar issue with previous contest 2011-10-24T08:54:35 sir_macelon: join tcp servers for extensive testing ) 2011-10-24T08:55:23 sir_macelon: I also have little free time on my hands 2011-10-24T08:55:31 skyramp: I have enough data for my testing currently, and I don't want to give competitors too much of a chance :) 2011-10-24T08:55:41 sir_macelon: for now, I'm giving aiclass/mlclass preference over this 2011-10-24T08:55:49 sir_macelon: so I only have like 1h each day or so 2011-10-24T08:56:12 boegel: well it involves some commitement 2011-10-24T08:56:12 boegel, how're you doing in those? i'm taking them as well 2011-10-24T08:57:23 cyphase: ok, way ahead of the deadline for now 2011-10-24T08:57:50 cyphase: 1st homework on aiclass was 96%, mlclass is 5/5 on all tests, and full points on 1st PE 2011-10-24T08:57:50 skyramp: I know my bot struggles at maze maps with time allocation, but I already have some ideas how to fix this, only time... 2011-10-24T08:58:07 boegel, did you miss the coin flip continuous/discrete question? 2011-10-24T08:58:11 cyphase: I really like the lectures, I'm learning a lot 2011-10-24T08:58:18 cyphase: no, on the maze 2011-10-24T08:58:25 oh 2011-10-24T08:58:37 cyphase: I failed to notice that the clarification mentioned that you are viewing the maze from up above 2011-10-24T08:58:38 the coin flip one tripped up a lot of people 2011-10-24T08:58:44 ah 2011-10-24T08:58:59 cyphase: how would the coin flip be continuous? 2011-10-24T08:59:29 boegel, the probability of heads would be 2011-10-24T09:00:02 *** RedJoy has joined #aichallenge 2011-10-24T09:00:05 cyphase: you just want to decide whether or not it's loaded, the probabilities don't matter 2011-10-24T09:00:17 cyphase: well, they do, but you only have heads/tails 2011-10-24T09:00:28 *** garlicnation has quit IRC (Quit: garlicnation) 2011-10-24T09:00:29 cyphase: so a (very) limited number of things you can observe 2011-10-24T09:00:41 boegel, i know, but that was the issue for a lot of people 2011-10-24T09:00:44 cyphase: you can't observe the probability directly, it's just a number you use 2011-10-24T09:00:55 cyphase: well, not to me in this casse ;) 2011-10-24T09:01:00 what is the problem? 2011-10-24T09:01:18 cyphase: I'll have to recheck my answers for the 2nd homework though, because I did it at like 1am ^_^ 2011-10-24T09:01:37 mcstar: you need to decide whether or not a coin is loaded (e.g. tampered with) 2011-10-24T09:01:53 this sounds vague 2011-10-24T09:01:57 is there a description? 2011-10-24T09:04:19 *** skyramp has quit IRC (Ping timeout: 265 seconds) 2011-10-24T09:04:38 *** ikaros has joined #aichallenge 2011-10-24T09:05:15 nice one sir_macelon, you lost your hill at turn#126 and still won: http://aichallenge.org/visualizer.php?game=6985&user=284 2011-10-24T09:05:51 boegel: is there a description of the problem somewhere? 2011-10-24T09:06:21 mcstar: on youtube probably, just look for "aiclass" and "loaded coin" 2011-10-24T09:06:34 *** Harpyon has joined #aichallenge 2011-10-24T09:07:19 cyphase: thanks, I just watched, tough match witch all the top bots :) 2011-10-24T09:07:25 mcstar: also, it's more of a theorethical question 2011-10-24T09:07:37 *** garlicnation has joined #aichallenge 2011-10-24T09:07:41 -h 2011-10-24T09:08:16 mcstar: http://www.youtube.com/watch?v=ZmVLMZ5Fwcg&feature=related 2011-10-24T09:08:40 lol 2011-10-24T09:08:44 that accent 2011-10-24T09:10:50 the probability of having head,p or tail(1-p) is obviously continuous 2011-10-24T09:11:08 p \el [0,1] 2011-10-24T09:11:42 stochastic? what is? 2011-10-24T09:12:08 this probability only depends upon the manufacturing of the coin 2011-10-24T09:12:10 stochastic = random 2011-10-24T09:12:17 i know what that means 2011-10-24T09:12:21 but what is random? 2011-10-24T09:12:26 p is not random 2011-10-24T09:12:44 the flipping of the coin is a stochastic process 2011-10-24T09:12:56 you dont know what will happen, head or tail 2011-10-24T09:13:07 but the probability of it is constant 2011-10-24T09:13:34 adversarial? i have no idea what that means 2011-10-24T09:13:42 *** replore_ has quit IRC (Remote host closed the connection) 2011-10-24T09:13:57 mcstar: it's playing against on opponent 2011-10-24T09:14:16 ok, go on 2011-10-24T09:14:19 still not clear 2011-10-24T09:14:33 another agent is playing against you 2011-10-24T09:14:42 yep 2011-10-24T09:14:50 what is the setting? 2011-10-24T09:15:01 can i exploit this non-equal chance? 2011-10-24T09:15:06 mcstar: you just need to figure out whetehr or not the coin is loaded 2011-10-24T09:18:12 *** nishant has quit IRC (Quit: Ex-Chat) 2011-10-24T09:18:17 what the fuck, man 2011-10-24T09:18:22 *** ajhager has joined #aichallenge 2011-10-24T09:18:41 2.5 hour wait and my bot crashes in the official game 2011-10-24T09:18:48 wonder wtf happened 2011-10-24T09:19:20 did you ever figure out if that had anything to do with the Go version on the server? 2011-10-24T09:19:46 *** skyramp has joined #aichallenge 2011-10-24T09:19:47 *** GeorgeSebastian has joined #aichallenge 2011-10-24T09:20:04 Nah, I never found out what was wrong with that jcdnyc, I just kept programming and a later version didn't exhibit the issue 2011-10-24T09:20:16 *** twymer has joined #aichallenge 2011-10-24T09:20:25 I thanked the dice gods and moved on :P 2011-10-24T09:21:20 heh. 2011-10-24T09:23:07 *** mceier has joined #aichallenge 2011-10-24T09:26:21 *** ashoka has joined #aichallenge 2011-10-24T09:29:23 *** lalakis has joined #aichallenge 2011-10-24T09:29:34 alora 2011-10-24T09:30:09 *** olexs has joined #aichallenge 2011-10-24T09:30:27 *** Olap has quit IRC (Remote host closed the connection) 2011-10-24T09:31:07 *** GeorgeSebastian has quit IRC (Ping timeout: 244 seconds) 2011-10-24T09:31:52 *** Zewen has quit IRC () 2011-10-24T09:32:26 AndrewBC: just leave Go and starting using something else :P 2011-10-24T09:32:29 *** otzi has quit IRC (Ping timeout: 256 seconds) 2011-10-24T09:37:13 c++ re :) 2011-10-24T09:37:49 *** sunshowers has joined #aichallenge 2011-10-24T09:38:09 *** Areks has quit IRC (Read error: Connection reset by peer) 2011-10-24T09:46:05 *** foRei has joined #aichallenge 2011-10-24T09:46:22 *** bearoff has quit IRC (Ping timeout: 265 seconds) 2011-10-24T09:46:23 *** Raelifin has joined #aichallenge 2011-10-24T09:47:38 Hello, I was wondering if someone could help me get the tools working. I'm using linux, and my bot works on the server. 2011-10-24T09:48:13 My bot is in Java and I think it has to do with the classpath. 2011-10-24T09:48:19 Okay 2011-10-24T09:48:27 *** Uhbot has joined #aichallenge 2011-10-24T09:49:09 Puj: thanks 2011-10-24T09:49:44 What kind of problem are you experiencing Raelifin? 2011-10-24T09:50:10 Puj: I have everything downloaded, and I go into the terminal and run test_bot.sh 2011-10-24T09:50:46 It's my understanding that I need to provide the path to MyBot.java as an arg 2011-10-24T09:51:06 so something like: ./test_bot.sh "java ../src/MyBot.java" 2011-10-24T09:51:26 And I get 2011-10-24T09:51:30 Exception in thread "main" java.lang.NoClassDefFoundError: //MyBot/java 2011-10-24T09:51:34 Well, the best approach thusfar with the java users is using the makefile to create a jar file and then running something along the lines of "java -jar MyBot.jar" 2011-10-24T09:51:49 Ah, interesting 2011-10-24T09:51:54 *** jimb0 has joined #aichallenge 2011-10-24T09:52:00 Let me try that... 2011-10-24T09:52:11 Well, that's because the java executable expects classes as arguments, not java files. That is, compiled classes. So it assumes MyBot is a package name pointing to a class named MyBot 2011-10-24T09:52:50 Raelifin: you shouldn't execute "java" files, but compiled "class" files instead 2011-10-24T09:53:25 I tried that. 2011-10-24T09:53:28 To no luck 2011-10-24T09:53:38 Raelifin: change it rather to "java -cp ../bin MyBot" 2011-10-24T09:54:07 if you have your class files in the ../bin folder 2011-10-24T09:54:56 That worked! 2011-10-24T09:55:04 Thanks, sir_macelon! 2011-10-24T09:55:38 Now to try the play_one_game.sh ... 2011-10-24T09:56:46 Hooray! Thanks again! 2011-10-24T09:57:20 Raelifin: no problem, you're welcome :) 2011-10-24T09:57:28 sir_macelon not only exudes his expertise within the arena of pwning, but also in the meta arena of compile shit. 2011-10-24T09:59:11 Puj: looooooool 2011-10-24T10:00:20 Now that I have my afternoon cup of coffee, it's time for me to start exuding too.. 2011-10-24T10:01:09 Oh snap, Craklyn_ be cracka' lackin' yo 2011-10-24T10:02:57 *** Uhbot has quit IRC (Quit: Page closed) 2011-10-24T10:03:15 does anyone use kd-tree to find nearest ant? 2011-10-24T10:04:16 You mean, taking into account the landscape as well Fluxid? 2011-10-24T10:04:46 or are there any better method to find nearest point except calculating distance to each ant one by one? 2011-10-24T10:04:50 Puj: no, withou landscape 2011-10-24T10:06:29 *** Fixpoint has joined #aichallenge 2011-10-24T10:06:34 Well KD-trees are usually better for locations which are mostly static right? I mean you would have to recreate the KD-tree each turn assuming all of your ants moved... 2011-10-24T10:07:02 hm, right 2011-10-24T10:07:25 or maybe i'll rewrite my bot in c++ instead of python 2011-10-24T10:07:43 lolz, too slow? 2011-10-24T10:07:44 managing 80 ants takes more than 500ms :| 2011-10-24T10:07:58 yeah, but with current idea i have in mind 2011-10-24T10:08:04 Have you profiled? 2011-10-24T10:08:08 before it was like 120ms max 2011-10-24T10:08:12 yup 2011-10-24T10:08:15 looking into it 2011-10-24T10:08:18 k 2011-10-24T10:09:22 well, not looking for closest ant is the problem, but pathfinding... 90% of time 2011-10-24T10:09:53 damn 2011-10-24T10:10:08 I think a suboptimal approach would be ironically optimal 2011-10-24T10:10:20 Only choose a few points to do pathfinding on each turn. 2011-10-24T10:10:32 Save those paths 2011-10-24T10:10:41 And only update a few points off the path per turn. 2011-10-24T10:10:56 it turns out i'm pathfinding over 32 times a turn 2011-10-24T10:11:04 i wonder why, it should be 3 at most 2011-10-24T10:11:12 =/ 2011-10-24T10:11:12 i screwed something somewhere 2011-10-24T10:12:16 *** noam has quit IRC (Read error: Operation timed out) 2011-10-24T10:12:29 *** RedJoy has quit IRC (Quit: Page closed) 2011-10-24T10:12:31 *** sigh has quit IRC (Remote host closed the connection) 2011-10-24T10:13:25 Fluxid, GarySWest is #4 with a python bot 2011-10-24T10:13:27 just saying :) 2011-10-24T10:13:56 cyphase: that's why i say i screwed something :) 2011-10-24T10:14:05 +1 Fluxid 2011-10-24T10:16:00 I asked this last night, but didn't get any response. I'm not a computer scientist, so I don't know about all your fancy techobabology. Is there a well-known way to handle ant combat? I only know of the so-called "min-max" approach, which is computationally impossible in the timeframe we get... 2011-10-24T10:16:31 Stutter-step micro 2011-10-24T10:16:49 I think that's a starcraft or other RTS joke, but maybe it's not? 2011-10-24T10:16:53 Totally 2011-10-24T10:17:12 But only kind of a joke. 2011-10-24T10:17:14 Not entirely. 2011-10-24T10:17:31 In what ways is it not a joke? 2011-10-24T10:18:04 Well, if there are too many enemies you back up to prevent taking damage and let the enemies get out of formation then attack then repeat. 2011-10-24T10:18:44 does the enemy have to get out of position? 2011-10-24T10:18:54 Yeah, watching the best bots, that was the emergent behavior. But what is the underlying method that causes it? 2011-10-24T10:18:59 It depends on your position and theirs.... 2011-10-24T10:19:13 okay, i'll play 20 games with three versions of my bot via tcp 2011-10-24T10:19:18 There can be a bunch of different methods to calculate something that exhibits that behaviour. 2011-10-24T10:19:32 But make sure you don't fall into the water while you are backing up ;) 2011-10-24T10:20:01 *** he_the_great has joined #aichallenge 2011-10-24T10:20:38 Since I am not getting far with general questions, maybe I'll try a more directed question (or if you don't know a specific answer, let me know and I'll drop this subject) 2011-10-24T10:21:21 Are you suggesting doing a min-max approach but not looking more than one turn in the future? If they can conceivably get the upper-hand, then your units back up or act defensively. If they can't get a superior position in the next turn, then you advance? 2011-10-24T10:21:39 Well, I'm being vague because I honestly believe that is where the top competitors are making the most modifications right now and that it will be the most crucial point in this contest... 2011-10-24T10:22:46 Why does that cause you to be vague? 2011-10-24T10:26:10 *** Knekkebjoern has quit IRC (Quit: Leaving.) 2011-10-24T10:28:34 *** andy_ has joined #aichallenge 2011-10-24T10:29:00 *** andy_ is now known as Guest16818 2011-10-24T10:29:14 *** Guest16818 has quit IRC (Client Quit) 2011-10-24T10:29:32 *** Bleda has joined #aichallenge 2011-10-24T10:30:58 Craklyn_: what's the point of the contest if everyone uses the same strategy? 2011-10-24T10:31:17 I'm not advocating everyone use the same strategy. 2011-10-24T10:31:44 also, there's a lot that you need to worry about when developing a bot before you even consider combat 2011-10-24T10:32:08 I assume that there's a variety of strategies which are well-known to people who have taken many computer science courses. I just wanted to know their names so I can be aware of them and maybe hobble together my own version.. 2011-10-24T10:32:51 My bot gathers food efficiently and explores right now. Combat seems like it's next to worry about, don't you think? 2011-10-24T10:33:09 if you know min-max, path finding and related stuff, I guess these people don't know a lot more than you 2011-10-24T10:33:50 when you talk about "your bot" you mean the one named craklyn on the server? 2011-10-24T10:33:55 yes 2011-10-24T10:33:59 *** skunx has joined #aichallenge 2011-10-24T10:34:52 (If you look at it on the server, it doesn't represent it working at full power. I turn off some parts of it and test it so a lot of the ants often just sit around, etc) 2011-10-24T10:35:05 *** Six has quit IRC (Ping timeout: 265 seconds) 2011-10-24T10:35:08 oh ok 2011-10-24T10:35:47 because, my bot doesn't consider any combat at all (in fact it doesn't even "see" enemy ants right now) and it's 87th 2011-10-24T10:35:56 Same for my bot 2011-10-24T10:36:24 *** dorisabayon has joined #aichallenge 2011-10-24T10:36:48 I think that most "well-known" techniques will be too slow for combat here 2011-10-24T10:36:59 that's why it is a challenge =) 2011-10-24T10:37:14 Okay, so this is a completely open problem in that sense? 2011-10-24T10:37:21 *** Pilchard123 has joined #aichallenge 2011-10-24T10:37:44 There is no well-known way to play a game with many piece against an opponent with many pieces within a tight time constraint 2011-10-24T10:37:46 * Fluxid can't come with better ideas than in his first bot 2011-10-24T10:38:08 third version is even worse than second... so i won't upload it either 2011-10-24T10:38:35 regarding the scale of the problem vs available time, no I don't think there's any well-known way to solve it 2011-10-24T10:39:07 Cool, that's good to know. :) 2011-10-24T10:39:24 *** Fandekasp has quit IRC (Ping timeout: 255 seconds) 2011-10-24T10:39:34 you'll probably have to evaluate what are the most effective strategies, and get the best performance with the smallest amount of computation you can 2011-10-24T10:40:19 *** cirno_the_greate has joined #aichallenge 2011-10-24T10:40:21 (By the way, how did you look up my bot on the aichallenge server? All the player names are tied to numbers so I can't find individuals..) 2011-10-24T10:40:35 boegel: ping 2011-10-24T10:40:48 *** marx has joined #aichallenge 2011-10-24T10:40:53 you could estimate how much time it'll take to calculate orders for every bot (maybe average from earlier rounds?) and prioritize some 2011-10-24T10:41:03 i pulled changes to aichallenge repo 2011-10-24T10:41:13 on the webpage on the right side 2011-10-24T10:41:18 *** Rotsor has joined #aichallenge 2011-10-24T10:41:27 there's a bar for "User Search" 2011-10-24T10:41:56 my bot doesn't do any pathfinding and it's at #196 :p 2011-10-24T10:42:07 lot's of tutorial bots I suppose 2011-10-24T10:42:09 >.< Thanks :P 2011-10-24T10:42:13 does anyone know if the maps that have been released now will stay the same? 2011-10-24T10:42:22 Craklyn_ : I just googled something which might be interesting -> http://christophermpark.blogspot.com/2009/06/designing-emergent-ai-part-1.html 2011-10-24T10:42:53 Pilchard123: maps will be changed on daily basis 2011-10-24T10:43:07 the force is strong with the russians 2011-10-24T10:43:14 most of the stuff we have to think about is related to AI used in games 2011-10-24T10:43:21 gerard_: awesome :P 2011-10-24T10:43:33 damn, skyramp is cool 2011-10-24T10:43:51 Thanks, that looks like some good reading material :) :) 2011-10-24T10:44:13 *** sunshowers has quit IRC (Quit: Page closed) 2011-10-24T10:44:31 *** he_the_great has quit IRC (Ping timeout: 258 seconds) 2011-10-24T10:45:24 after almost 4 hours since the last server game 2011-10-24T10:45:25 my bot has been owned 2011-10-24T10:45:26 :( 2011-10-24T10:45:38 soon I will be out of the top100 2011-10-24T10:46:04 *** Islacrusez has joined #aichallenge 2011-10-24T10:46:14 Yes, the most recent was a tough fight for you 2011-10-24T10:46:17 Heyo 2011-10-24T10:46:46 Is food dropping random, or is it deterministic and symmetric for all bases? 2011-10-24T10:46:51 the worst is when you know you need to make structural changes, but instead you just do small optimizations and then you need to scrap the code and start over 2011-10-24T10:47:00 I.e. can you get unlucky and your base has few new foods appear, while your opponent gets many? 2011-10-24T10:47:19 Craklyn_: no, it's symmetric 2011-10-24T10:47:22 I believe in the game description they say it's symmetric 2011-10-24T10:47:26 so no luck there 2011-10-24T10:47:36 and they also say something about fixed locations 2011-10-24T10:47:41 but it's not very clear for me 2011-10-24T10:47:43 what that means 2011-10-24T10:47:46 *** GeorgeSebastian has joined #aichallenge 2011-10-24T10:47:47 *** GeorgeSebastian has joined #aichallenge 2011-10-24T10:48:25 *** Guest92487 has joined #aichallenge 2011-10-24T10:49:06 Is anyone looking at the map to find its symmetries? 2011-10-24T10:49:12 I am 2011-10-24T10:49:17 O_o 2011-10-24T10:49:29 you are going to predict hives positions? 2011-10-24T10:49:30 cirno_the_greate: ok, cool, so is the starter package on the website updated? 2011-10-24T10:49:39 *** replore_ has joined #aichallenge 2011-10-24T10:49:40 Oh, I'm not doing it inside my bot yet :P 2011-10-24T10:49:47 Craklyn_: which algorithm are you using? 2011-10-24T10:49:48 But that's something I should do ! 2011-10-24T10:49:50 Craklyn_: oh, never mind 2011-10-24T10:49:57 Sorry, I meant looking at it by eye. 2011-10-24T10:50:07 yeah, I meant doing this in code 2011-10-24T10:50:24 But it'd be sweet to focus on a blitzkrieg using the landscape to tell you where the enemy base is... 2011-10-24T10:50:27 I'm not sure if it's useful for finding hive locations, but it's probably useful for pathfinding 2011-10-24T10:50:28 *** exobit_ has joined #aichallenge 2011-10-24T10:50:47 That's true too... Hmmm.... 2011-10-24T10:50:55 it's useful for: pathfinding, hive finding, food finding 2011-10-24T10:51:05 it's just the "next level" in this game 2011-10-24T10:51:14 to pay attention to the symmetries 2011-10-24T10:51:39 Yeah, I was just thinking that it's weird that if you see one food pop, you know where lots of foods appeared in the game.. :P 2011-10-24T10:51:40 and as the number of players grows (i.e. the size of the map grows) it gets more profitable 2011-10-24T10:51:49 pedrosorio: well, I'm not sure about the food finding... usually there's enough ants around that pretty quickly whenever food appears someone can see it 2011-10-24T10:51:54 *** marx has quit IRC (Quit: Page closed) 2011-10-24T10:52:04 It could help you early game when the map is more sparse, though 2011-10-24T10:52:07 and if you can't see food and someone else can, well, they're going to eat it before you can reach it probably 2011-10-24T10:52:24 yeah, it's probably not the main advantage 2011-10-24T10:52:35 but in pathfinding 2011-10-24T10:52:41 It'd be nice to have maps with food appearing more slowly and more space between bases. The game gets clustered quite quickly on the current maps 2011-10-24T10:52:42 oh yeah 2011-10-24T10:52:44 2011-10-24T10:53:07 In 1v1, you can control the sparsity of the map by exchanging ant for ant, but in games with more players, it's not as possible 2011-10-24T10:53:53 *** codeforge has joined #aichallenge 2011-10-24T10:53:58 hello! 2011-10-24T10:54:05 codeforge: o hai 2011-10-24T10:54:18 I was hoping someone would be around to discuss symmetry-recognition algorithms... oh well 2011-10-24T10:54:22 does anyone know anything about time constrictions during contest? 2011-10-24T10:54:35 *** danielharan has joined #aichallenge 2011-10-24T10:55:11 There might be more formal ways of approaching this, but I could name some things you could try, Guest92487.... 2011-10-24T10:55:27 Craklyn_: oh, I have lots of ideas of things to try :-) 2011-10-24T10:55:38 What do you want to discuss about it then? :P 2011-10-24T10:55:40 Craklyn_: I was hoping someone had already tried them and could tell me which ones worked best :-) 2011-10-24T10:55:55 I see >.< 2011-10-24T10:56:13 not so much "discuss" as "leach information", really :-) 2011-10-24T10:56:36 *** Pilchard123 has quit IRC (Quit: Page closed) 2011-10-24T10:56:41 Guest92487: half of the fun is trying them yourself 2011-10-24T10:56:44 =P 2011-10-24T10:57:11 So you're saying you still get half the fun for much less than half the work? 2011-10-24T10:58:01 *** Saulzar has joined #aichallenge 2011-10-24T10:59:17 *** GeorgeSebastian has quit IRC (Read error: Connection reset by peer) 2011-10-24T11:00:29 Are all the maps rotationally symmetric? Or are there maps which have other symmetries, such as reflection? 2011-10-24T11:01:38 I believe there's rotational, reflection, and tesselation 2011-10-24T11:02:58 * Guest92487 certainly hopes there aren't any more than those :-) 2011-10-24T11:03:29 *** Saulzar has quit IRC (Ping timeout: 252 seconds) 2011-10-24T11:03:33 *** GeorgeSebastian has joined #aichallenge 2011-10-24T11:04:32 Ah, you're right. maze_08p_01 is a relfection (or tesselation) map... 2011-10-24T11:05:06 That makes it a bit trickier to find a map symmetry ... 2011-10-24T11:05:29 *** yasith has joined #aichallenge 2011-10-24T11:06:09 Might still be okay if position (row=0, col=0) always corresponds to a helpful point on the map... 2011-10-24T11:06:09 *** onensora has quit IRC () 2011-10-24T11:12:38 the wizard making the maps is working against you btw, he made a point of it =P 2011-10-24T11:13:19 I'm glad he did. I am pretty sure there's others who can take better advantage of it than I would have been able to :) 2011-10-24T11:13:32 *** codeforge has quit IRC (Quit: Page closed) 2011-10-24T11:13:39 When does the competition end? 2011-10-24T11:13:46 Mid december 2011-10-24T11:13:50 *** xeqi has joined #aichallenge 2011-10-24T11:13:52 december, 14th maybe? 2011-10-24T11:16:56 *** sun has joined #aichallenge 2011-10-24T11:17:15 *** sun has quit IRC (Client Quit) 2011-10-24T11:17:39 Craklyn_: the symetries are easy to find if you see the whole map. But they are typically hidden in as much as 0,0 is never going to be a useful reference point 2011-10-24T11:18:08 All possible symmetries for a discrete grid are used 2011-10-24T11:19:11 *** UncleVasya has joined #aichallenge 2011-10-24T11:19:53 delt0r_: any restrictions on the symmetry groups? 2011-10-24T11:20:18 e.g., always a cyclic group? 2011-10-24T11:20:26 *** ashoka has quit IRC (Quit: Page closed) 2011-10-24T11:20:40 or could it be C2 x C2 x C2 for example? 2011-10-24T11:21:27 *** barsandcat has joined #aichallenge 2011-10-24T11:24:14 *** Savaron has joined #aichallenge 2011-10-24T11:24:43 *** garlicnation has quit IRC (Quit: garlicnation) 2011-10-24T11:27:16 *** ademar_ is now known as ademar 2011-10-24T11:28:22 I really need to read about symmetries xD 2011-10-24T11:29:04 Not sure about the nomenclature, what c2xc2xc2 represents :P 2011-10-24T11:29:36 Craklyn_: three independent symmetries 2011-10-24T11:29:59 *** garlicnation has joined #aichallenge 2011-10-24T11:30:02 Craklyn_: e.g., vertical reflection, a horizontal reflection, and a translation 2011-10-24T11:30:13 Craklyn_: where if you do any single symmetry operation twice, you get back to where you started 2011-10-24T11:30:26 How can you have two reflections and a translation? 2011-10-24T11:30:48 *** boegel has quit IRC (Ping timeout: 240 seconds) 2011-10-24T11:30:50 I can't think of a way that's possible on a 2d grid :( 2011-10-24T11:31:18 Craklyn_: \/\/ 2011-10-24T11:31:24 Craklyn_: /\/\ 2011-10-24T11:31:38 *** xathis has joined #aichallenge 2011-10-24T11:31:52 Craklyn_: that has two reflections and a translation symmetry :-) 2011-10-24T11:32:25 Ah, yes because the map wraps around itself. 2011-10-24T11:32:30 yes 2011-10-24T11:32:34 because we're on a torus 2011-10-24T11:33:06 *** Saulzar has joined #aichallenge 2011-10-24T11:33:22 *** garlicnation has quit IRC (Client Quit) 2011-10-24T11:33:34 *** UncleVasya has quit IRC (Ping timeout: 244 seconds) 2011-10-24T11:34:21 the symetries should be easy to find when you find for all x,y you have map[x,y] = map[(x+xx)%w,(y+yy)%h] 2011-10-24T11:34:36 *** Akranis has joined #aichallenge 2011-10-24T11:35:30 *** GeorgeSebastian has quit IRC (Quit: Leaving) 2011-10-24T11:35:45 Not sure if I understand what that means edcba. Are you saying if you translate the map by a distance xx in the x direction and yy in the y direction, you get the original map back? 2011-10-24T11:36:02 *** McLeopold has joined #aichallenge 2011-10-24T11:36:11 yes 2011-10-24T11:36:15 I don't think you can find a xx and yy for all the maps (except xx = w and yy = h). Let me find a map that is an example... 2011-10-24T11:36:31 maze/maze_08p_01.map for example. 2011-10-24T11:36:32 yes some maps have no symetries 2011-10-24T11:36:34 *** ash0d has quit IRC (Ping timeout: 265 seconds) 2011-10-24T11:36:41 have a weblink ? :) 2011-10-24T11:36:55 All maps have symmetries. The problem they're not always translational like you postulated. 2011-10-24T11:37:06 *** lalakis has left #aichallenge 2011-10-24T11:37:08 Oh, here's the weblink: http://aichallenge.org/map.php?map=maze/maze_08p_01.map 2011-10-24T11:37:39 This map only has reflection, unless I'm mistaken (and I often am, as Guest92487 has demonstrated) 2011-10-24T11:37:49 ok then you have some s and t params 2011-10-24T11:37:56 for signs 2011-10-24T11:38:01 *** Islacrusez has quit IRC (Ping timeout: 265 seconds) 2011-10-24T11:38:36 Can you more explicitely say what you mean, like you did before with map[x, y]? 2011-10-24T11:38:55 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-24T11:39:10 map[x,y] = map[(s*x+xx)%w,(t*y+yy)*h] 2011-10-24T11:39:20 with s,t 1 or -1 2011-10-24T11:39:42 maybe i'm a bit fast but it should be approaching 2011-10-24T11:39:47 What if the map looks like the following: 2011-10-24T11:39:56 V < 2011-10-24T11:39:59 > /\ 2011-10-24T11:40:10 *** aaa has joined #aichallenge 2011-10-24T11:40:17 I think that's not truly symmetrical on a torus... 2011-10-24T11:40:21 So maybe my example is bad.... 2011-10-24T11:41:30 *** Pilchard123 has joined #aichallenge 2011-10-24T11:41:53 *** Guest92487 has quit IRC (Ping timeout: 265 seconds) 2011-10-24T11:42:04 Is my arrow example an allowed shape? I want to say it is, but I am nervous :P 2011-10-24T11:42:22 *** skyramp has quit IRC (Ping timeout: 265 seconds) 2011-10-24T11:42:46 I have a question about the strategy of exploring, I was hoping to soak up some info :) What do people do in general? 2011-10-24T11:42:54 Move to places furthest from your hills? 2011-10-24T11:43:05 Move to unexplored places? 2011-10-24T11:43:16 Move to places that aren't currently "visible" ? 2011-10-24T11:43:20 I have a strategy which I have partially implemented. When the game starts, I make a map of integers and set them all to -1. 2011-10-24T11:43:21 meh, I'm tired of these lone surviver message when none survived *digs in code* 2011-10-24T11:43:33 Each turn that I see a square, I mark the value of that position of the map the turn number. 2011-10-24T11:43:51 I then have "explorer" ants who want to increase the sum of all squares on the map 2011-10-24T11:44:18 So the longer you haven't seen squares and the larger the difference between the value on the squares and the current turn, the greater the impetus to explore a region 2011-10-24T11:44:42 I haven't finished implementing it, so I can't say if it's a good strategy or not, Bleda :P 2011-10-24T11:45:04 *** yasith has quit IRC (Quit: Page closed) 2011-10-24T11:45:21 That's pretty clever. That's actually what I was struggling with... the strategies I listed above don't really encourage ants to "go back" to places already explored. 2011-10-24T11:45:24 yay, my 2nd whiteboard arrive, this time undamaged, time to get cracking on the code 2011-10-24T11:47:10 I guess you would only designate "explorer" ants after dealing with more pressing stuff (food, enemies, etc.) 2011-10-24T11:47:28 *** Pilchard123 has quit IRC (Quit: Page closed) 2011-10-24T11:47:42 I'm not sure. By late game, the map gets pretty dense with ants, so you really can't explore effectively 2011-10-24T11:48:16 *** Areks has joined #aichallenge 2011-10-24T11:49:10 It might be smartest to have the game decide which is more pressing for each ant: Each ant, should the ant be an explorer, an eater, a warrior, etc? 2011-10-24T11:49:33 For example, if you have food nearby, then the engine picks that this ant is an eater and heads toward the food. 2011-10-24T11:49:54 If you have no food nearby, and you are adjacent to a region which hasn't been seen in a while, you designate it explorer 2011-10-24T11:50:28 If you have food nearby and you're adjacent to a region which hasn't been explored AND there's an enemy ant which will kill you if you move that direction...then you coordinate with another nearby ant and become a warrior party... 2011-10-24T11:51:09 Like I said, I didn't implement explorer yet. I thought I'd take care of how to "see" enemy ants first so my explorers don't suicide 2011-10-24T11:51:37 What would you do at the beginning, since most areas are -1? I guess go to the closest area that is at -1 ? 2011-10-24T11:52:33 Right now, my engine considers how much the map's value changes if my ant goes in each direction: n,w,e,s. If the value change is the same in all four directions, then it adds all four of those directions to a list and chooses randomly. 2011-10-24T11:52:50 *** Knekkebjoern has joined #aichallenge 2011-10-24T11:53:01 *** cirno_the_greate has quit IRC (Ping timeout: 240 seconds) 2011-10-24T11:53:11 You *should* make it much more complicated by planning multiple moves in the future and spreading out from other explorer ants (so they dont' both explore the same region) 2011-10-24T11:53:12 *** rog_ has joined #aichallenge 2011-10-24T11:53:37 Ok. I've been trying to keep randomness out of my bot for now, so it's less difficult to debug, but at some point I'm sure i'll start using it since it's so useful. 2011-10-24T11:54:22 Yeah, if you don't want random, then you can just have it prioritize North, east, south, then west. 2011-10-24T11:54:48 Makes sense. 2011-10-24T11:55:28 *** tncardoso has joined #aichallenge 2011-10-24T11:56:38 Hello everyone :-) Just a noob question for you (I'm using the python3 starter package): during the do_setup phase, I can't know where my hills are, is that normal? 2011-10-24T11:57:35 *** Knekkebjoern has quit IRC (Remote host closed the connection) 2011-10-24T11:57:55 *** Knekkebjoern has joined #aichallenge 2011-10-24T11:58:12 Do you get told that information before turn 1? 2011-10-24T11:58:30 *** ztfw has joined #aichallenge 2011-10-24T11:59:20 rog_: It doesn't look like you get that information before turn 1 begins. You can check on the aichallenge.org/specification.php page to see if I'm wrong :P 2011-10-24T11:59:41 *** danielharan has joined #aichallenge 2011-10-24T11:59:45 but I get this information in the ASCII map… 2011-10-24T12:00:16 *** levis501 has joined #aichallenge 2011-10-24T12:01:00 I've not tried looking at the ascii map, so maybe I'm wrong. It looks like when the game begins, you're only told the loadtime, turntime, rows, cols, turns, viewradius2, attackradius2, spawnradius2, player_seed... 2011-10-24T12:01:08 Can you see the ascii map during the setup phase? 2011-10-24T12:01:23 *** sir_macelon has quit IRC (Quit: Page closed) 2011-10-24T12:02:26 Craklyn_: nope 2011-10-24T12:02:36 Craklyn_: just look at the input during the games 2011-10-24T12:02:38 on replays 2011-10-24T12:02:43 *** McLeopold has left #aichallenge 2011-10-24T12:03:09 Sorry, nope is in response to which statement? 2011-10-24T12:03:13 *** twymer has quit IRC (Ping timeout: 256 seconds) 2011-10-24T12:03:33 *** McLeopold has joined #aichallenge 2011-10-24T12:03:51 ok, this would explain it, I'm checking 2011-10-24T12:04:00 Craklyn_: to you last question? 2011-10-24T12:04:05 Craklyn_: about the map setup 2011-10-24T12:04:53 Okay, I was just making sure I understood. 2011-10-24T12:04:59 *** halligalli has joined #aichallenge 2011-10-24T12:05:31 I was confused because my question was "Can you (rog_) do this?" and you answered "nope" :P 2011-10-24T12:05:40 meh, pull request 2011-10-24T12:06:43 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-24T12:08:41 so, out of curriocity is everyone here using A* algo for pathfinding? 2011-10-24T12:09:12 I don't think I simply won't use it to solve every problem ;-) 2011-10-24T12:09:20 s/won't/will/ 2011-10-24T12:09:45 man googling a* is pain, it treats it like a stop word 2011-10-24T12:09:58 check ai-class.com 2011-10-24T12:10:18 avdg1: i want alternative research, i'm familiar with a* as is 2011-10-24T12:10:31 I use what the forums called "wave search" 2011-10-24T12:10:43 *** Blkt has quit IRC (Quit: cya) 2011-10-24T12:10:57 If A* is a superior method I'll implement it eventually. I don't know anything about it yet :P 2011-10-24T12:10:59 Craklyn_: link? 2011-10-24T12:11:10 wtf is wavesearch 2011-10-24T12:11:43 viewtopic.php?f=24&t=1486 2011-10-24T12:12:00 Wavesearch sounds like BFS to me, but I might be wrong. 2011-10-24T12:12:07 For my "wave search" I make a map of integers of the same dimensions as the actual grid. 2011-10-24T12:12:13 the game_logs/*.stream files are what is sent to the bots, or am I wrong? 2011-10-24T12:12:20 mcstar: propagated info over the graph --ie in a wave. 2011-10-24T12:12:33 I mark all the food as having a value of 0. All the squares adjacent to 0 get avalue of 1. And squares adjacent to that a value of 2, etc 2011-10-24T12:12:45 (I don't let these numbers get marked on water tiles) 2011-10-24T12:12:47 delt0r_: floodfill? 2011-10-24T12:13:08 If my ants are "eaters" they move in the direction which reduces the value they're standing on 2011-10-24T12:13:27 *** Taejo has joined #aichallenge 2011-10-24T12:13:29 Craklyn_: sounds like BFS to me too 2011-10-24T12:13:32 Bleda: yea, typically its over explicit geometry so you can "cheat" a little compared to a arbitrary graph 2011-10-24T12:13:38 This isn't a good search algorithm becaues it results in multiple ants heading toward the same goal. But it's good because it's very fast. 2011-10-24T12:14:18 anyway, my comment of the day: qt is wonderful 2011-10-24T12:14:18 Okay, I didn't know it was more commonly known as simply a breadth-first search. :P 2011-10-24T12:14:52 I have only seen the term used in reference to finding geodesics over arbitrary simple closed polygon meshes 2011-10-24T12:15:26 man, i feel people here know wayy to omuch over me 2011-10-24T12:15:27 lol 2011-10-24T12:15:41 these are just fancy terms for simple concepts 2011-10-24T12:16:06 Yep. Just describe what you know in simple language, and people will correct your dumbness into smartness. Wave search -> BFS for example 2011-10-24T12:16:08 I still don't know the fancy terms 2011-10-24T12:16:44 nor what the game_logs/*.stream files are exactly (any help?) 2011-10-24T12:17:02 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T12:18:11 I don't see any .stream files in my /game_logs directory. Is that only present on certain platforms? I'm using Java 2011-10-24T12:18:26 rog_: possible stderr intercepts of the bots 2011-10-24T12:18:47 error stream is only saved with the -E or is it -e switch 2011-10-24T12:18:51 maybe you have to add some parameters to the command running the game 2011-10-24T12:18:59 ^ 2011-10-24T12:19:06 add both 2011-10-24T12:19:21 one is for echoing them to the terminal 2011-10-24T12:19:53 it seems to me that the *.stream files are the same as the output of the command if we give it the parameter -So 2011-10-24T12:21:00 but I am still wondering if it is what is given to the bots 2011-10-24T12:21:35 -So is for logging stdout 2011-10-24T12:21:37 not the same 2011-10-24T12:21:56 everything is there, ./playgame.py 2011-10-24T12:24:39 ok, so if I understand it, the -S command log the streams into the *.stream files 2011-10-24T12:25:43 and in these *.stream files, the map is sent *before* the “turn 1” statement 2011-10-24T12:26:08 Does your bot "know" about the .stream file though? 2011-10-24T12:26:20 *** cirno_the_greate has joined #aichallenge 2011-10-24T12:26:36 wth 2011-10-24T12:26:46 you guys are confused 2011-10-24T12:26:55 I'm not :P 2011-10-24T12:27:01 I mean, I don't think I am! 2011-10-24T12:27:04 Craklyn_: no, but the .stream files are just logs of the stream they are getting, no? 2011-10-24T12:27:10 yeah, you never do until you do 2011-10-24T12:27:28 I don't know. I haven't looked at these files :P 2011-10-24T12:27:28 it's a log of the input that all bots are getting 2011-10-24T12:27:28 anyone playing on a TCP server currently? 2011-10-24T12:28:05 -I, --log_input Log input streams sent to bots 2011-10-24T12:28:12 -O, --log_output Log output streams from bots 2011-10-24T12:28:14 *** Puj has quit IRC (Ping timeout: 260 seconds) 2011-10-24T12:28:18 -S, --log_stream 2011-10-24T12:28:36 -I -O is 1 file per bot, -S is all bots 2011-10-24T12:29:27 mcstar: I read it, I promise, but you do solve my problem! Thanks 2011-10-24T12:29:46 the thanks goes to McLeopold 2011-10-24T12:30:25 so it's normal that I don't know where my hills are in the setup phase! 2011-10-24T12:30:30 thanks guys! 2011-10-24T12:30:41 yep 2011-10-24T12:30:48 *** master_ninja has joined #aichallenge 2011-10-24T12:30:52 only the map size and other param in setup 2011-10-24T12:32:03 actually, the stream log will also show food that no bot can see, it's enough to make a replay file out of 2011-10-24T12:32:37 haha: http://ants.fluxid.pl/replay.3023 guess who wins 2011-10-24T12:33:44 mleise: lol 2011-10-24T12:34:34 *** Craklyn_ has quit IRC (Ping timeout: 265 seconds) 2011-10-24T12:35:12 btw, what are the cercles arround hills in the replays meaning? 2011-10-24T12:37:39 *** xeqi has quit IRC (Quit: Page closed) 2011-10-24T12:37:41 aichallenge: Andrew Rossignol * rff80bfa / website/starter_packages.php : I noticed that a couple starter packages added hill support so I updated the starter package page - http://git.io/BOSQVg 2011-10-24T12:38:29 rog_: alarm, lol 2011-10-24T12:38:35 rog_: just to catch attention 2011-10-24T12:38:46 if my deduction doesn't fail 2011-10-24T12:39:20 cirno_the_greate: ok, why not. 2011-10-24T12:40:50 *** Larose has joined #aichallenge 2011-10-24T12:41:07 *** skunx has quit IRC (Quit: leaving) 2011-10-24T12:42:39 *** Murashka has joined #aichallenge 2011-10-24T12:43:04 *** xar0l has joined #aichallenge 2011-10-24T12:44:21 *** Pilchard123 has joined #aichallenge 2011-10-24T12:44:43 anyone here know how to test a VB.Net bot? 2011-10-24T12:48:03 *** ikaros has joined #aichallenge 2011-10-24T12:49:01 Pilchard123: face it with hunterbot.py on tutorial01.map? 2011-10-24T12:51:32 *** Areks has quit IRC (Ping timeout: 276 seconds) 2011-10-24T12:51:56 i wwould ask how to even get it to do that, but i've got to go 2011-10-24T12:52:06 *** rabuf has quit IRC (Read error: Connection reset by peer) 2011-10-24T12:52:06 i can do it with java, but nothing else 2011-10-24T12:52:11 *** Pilchard123 has quit IRC (Quit: Page closed) 2011-10-24T12:52:19 *** rabuf has joined #aichallenge 2011-10-24T12:54:14 *** replore_ has quit IRC (Remote host closed the connection) 2011-10-24T12:56:21 *** Knekkebjoern has quit IRC (Quit: Leaving.) 2011-10-24T12:57:36 hmm, is it possible to get a bot running on 2 servers at the same time? 2011-10-24T12:57:49 http://aichallenge.org/profile.php?user=280 <- check my 2 latest games :p 2011-10-24T12:58:28 (note the timestamps) 2011-10-24T12:59:01 *** Macuyiko has joined #aichallenge 2011-10-24T13:03:31 mleise: thats awesome. Rule #1 seems never time out 2011-10-24T13:03:36 *** ig has quit IRC (Ping timeout: 240 seconds) 2011-10-24T13:03:54 *** Vivitron has joined #aichallenge 2011-10-24T13:04:32 *** djstrong has quit IRC (Ping timeout: 276 seconds) 2011-10-24T13:04:36 *** djstrong has joined #aichallenge 2011-10-24T13:04:45 *** dauryg has joined #aichallenge 2011-10-24T13:05:13 *** flo__ has joined #aichallenge 2011-10-24T13:05:31 I have no idea how some of the bots do attack formations 2011-10-24T13:05:47 I have been thinking about it, and just not sure how to even approach that issue. 2011-10-24T13:06:00 I think I need to focus on defense first 2011-10-24T13:07:28 * avdg1 already has a plan, but his thinking is too fast compared with his coding speed :/ 2011-10-24T13:08:26 *** cybsy has joined #aichallenge 2011-10-24T13:14:40 *** Knekkebjoern has joined #aichallenge 2011-10-24T13:15:31 *** n00g has quit IRC (Quit: Page closed) 2011-10-24T13:16:27 f4hy: yeah, man, i'm still pondering on the whole coordination issue 2011-10-24T13:16:40 f4hy: I agree with the no-timeout rule, and it's not that easy to manage 2011-10-24T13:17:36 *** ig has joined #aichallenge 2011-10-24T13:21:02 *** twymer has joined #aichallenge 2011-10-24T13:21:42 *** dvladim has joined #aichallenge 2011-10-24T13:22:30 I am no where close to timing out yet, but then again my bot is not nearly as smart as some of the others 2011-10-24T13:22:52 I am still hovering around .4ms per turn 2011-10-24T13:23:37 oh wait nm, off by a factor of 10, 4ms/turn 2011-10-24T13:24:03 for people who are timing out they must be doing a* from every ant or something 2011-10-24T13:26:00 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T13:26:52 you shouldn't ever time out 2011-10-24T13:26:56 use timers 2011-10-24T13:27:41 *** amstan has joined #aichallenge 2011-10-24T13:27:41 *** ChanServ sets mode: +o amstan 2011-10-24T13:28:36 antimatroid: yes but I mean, you can terminate when the timers is too low, but then if your code would have time out, your ants are not doing what they were supposed to 2011-10-24T13:29:08 *** UncleVasya has joined #aichallenge 2011-10-24T13:31:33 rog_: you need to use timers in a smart way... I'm building a timekeeping system for my bot now, that will dynamically adjust the search depths of searches my bot performs, so that most time available is used, but no timeouts wil result 2011-10-24T13:32:08 f4hy: your execution time doesn't depend on the number of bots you have? 2011-10-24T13:33:53 olexs: yeah, that's sound pretty but not that easy to me :-) 2011-10-24T13:34:06 rog_: I didn't say it was easy :) 2011-10-24T13:38:31 hmm, when does the time limit start, after the go message? 2011-10-24T13:38:44 olexs: sure! I hope you will manage to get it work :-) Personally, I have a lot to do before thinking of implenting such an idea… but one step after the other, I'm making progress! 2011-10-24T13:41:32 rog_: indeed, one step after the other... that's why I'm spending hours debugging what I have now, before I get to coding that... 2011-10-24T13:42:13 AI is getting scary when you stop to understand what the hell your bot is doing, and then realize it was actually doing the smart thing 2011-10-24T13:44:20 no, AI gets scary when your ants form the letters "I'M WATCHING YOU" 2011-10-24T13:44:45 And it become play worse when you fix some bugs... 2011-10-24T13:44:49 why not smilies? :-) 2011-10-24T13:44:56 and evil faces 2011-10-24T13:45:02 UncleVasya: yep, that is by far the most annoying thing 2011-10-24T13:45:20 "how the hell can it get worse, that was totally wrong before..." 2011-10-24T13:45:33 *** Fuco has quit IRC (Ping timeout: 252 seconds) 2011-10-24T13:46:06 *** flo__ has quit IRC (Ping timeout: 265 seconds) 2011-10-24T13:46:08 *** UncleVasya has quit IRC (Read error: Connection reset by peer) 2011-10-24T13:47:17 *** skyramp has joined #aichallenge 2011-10-24T13:48:50 *** groove has joined #aichallenge 2011-10-24T13:53:56 *** Puj has joined #aichallenge 2011-10-24T13:55:29 *** choas has joined #aichallenge 2011-10-24T13:56:05 *** lockpick has joined #aichallenge 2011-10-24T13:57:24 *** groove has left #aichallenge 2011-10-24T13:57:54 *** jtamer has joined #aichallenge 2011-10-24T13:58:09 *** groove_ has joined #aichallenge 2011-10-24T13:59:04 When will the challenge end? 2011-10-24T13:59:15 *** Guest21952 is now known as ajf 2011-10-24T13:59:44 where i can find information about restoring my password? 2011-10-24T14:00:02 Also, sadly, uploading new versions resets skill level 2011-10-24T14:00:12 I used to be in rank 220 something :( 2011-10-24T14:00:45 ajf: if you wait long enough it'll climb back up to where it was (or better, if you improved the bot) 2011-10-24T14:00:59 hopefully 2011-10-24T14:01:26 irritatingly I've had to re-upload the Python bot again after rewriting it in C 2011-10-24T14:01:39 but it's taking a while, I was at 6 and have been climbing back for almost a day now, still not there... 2011-10-24T14:01:41 because the C one is timing out mysteriously 2011-10-24T14:01:56 olexs: takes quite a few games to get somewhere 2011-10-24T14:02:25 ~10 games to get in the general area of where you were before, and a few more to stabilize in there 2011-10-24T14:03:01 yeah 2011-10-24T14:03:23 the bad thing is, since uploading the version that is still climbing, I've found and fixed quite a few more bugs again :) 2011-10-24T14:03:25 *** vDev has joined #aichallenge 2011-10-24T14:03:26 any explanation as to why my bot times out on play_one_game but not play_one_game_live 2011-10-24T14:03:34 olexs: I know :/ 2011-10-24T14:03:44 who is the admins of this challenge? 2011-10-24T14:03:55 how can i reset my pass? 2011-10-24T14:04:31 *** jtamer has quit IRC (Quit: Leaving...) 2011-10-24T14:05:04 Hm - so you upload a new bot and you're back at default ranking? 2011-10-24T14:05:32 Saulzar: yeah, and your name makes me think of salazar slitherin 2011-10-24T14:05:48 Haha 2011-10-24T14:06:19 I used this since I was 11, it kind of stuck - I think that was before Harry potter :) 2011-10-24T14:06:22 i don't think there's a way to reset your password at the moment 2011-10-24T14:06:50 sad=\ 2011-10-24T14:07:02 Zannick: nom, i've done 3/4 of my topology exam :) 2011-10-24T14:07:52 antimatroid: sweet :) 2011-10-24T14:08:08 mb exists an opportunity to delete my account? 2011-10-24T14:08:21 aichallenge: Anthony Van de Gejuchte * rc67fcf9 / ants/ants.py : Create a separate message in case there are no survivors - http://git.io/1_KpOw 2011-10-24T14:08:21 aichallenge: Scott Hamilton * r062812a / ants/ants.py : 2011-10-24T14:08:21 aichallenge: Merge pull request #329 from avdg/fix/noSurvivors 2011-10-24T14:08:21 aichallenge: Create a separate message in case there are no survivors - http://git.io/3vUk2w 2011-10-24T14:08:33 *** tncardoso has quit IRC (Quit: Leaving) 2011-10-24T14:10:48 is hill same as hive? 2011-10-24T14:11:18 not quite 2011-10-24T14:11:29 hive is the ants waiting to spawn for a bot, a hill is where ants spawn 2011-10-24T14:11:41 hive contains* the ants waiting to spawn 2011-10-24T14:11:43 *** Cyndre_ has joined #aichallenge 2011-10-24T14:11:55 antimatroid: ok, thanks 2011-10-24T14:12:52 Saulzar: you know what was also before harry potter? "Slytherin's first name is a reference to Portuguese dictator Dr. António de Oliveira Salazar." 2011-10-24T14:13:10 *** george has quit IRC (Ping timeout: 265 seconds) 2011-10-24T14:14:10 good evening 2011-10-24T14:14:37 *** dauryg has quit IRC (Ping timeout: 265 seconds) 2011-10-24T14:16:02 *** Cyndre has quit IRC (Ping timeout: 260 seconds) 2011-10-24T14:18:02 *** Savaron_ has joined #aichallenge 2011-10-24T14:18:58 *** kaka_ has quit IRC (Ping timeout: 265 seconds) 2011-10-24T14:19:14 ah, so the hive is nowhere in the map, right? and one hive per player? 2011-10-24T14:19:57 master_ninja: basically, yes. your "hive" are all your ants that will spawn in following turns 2011-10-24T14:20:09 *** sun has joined #aichallenge 2011-10-24T14:20:22 *** replore has joined #aichallenge 2011-10-24T14:20:35 *** sun is now known as Guest62665 2011-10-24T14:20:37 when you collect 1 food, your hive grows by 1, and if one of your hills is free next turn, an ant will spawn there and reduce your hive by 1 2011-10-24T14:21:19 yeah, thanks for the clarification olexs 2011-10-24T14:21:31 i guess i'm going to rtfm now :) 2011-10-24T14:21:56 should have probably started with it... 2011-10-24T14:23:03 pedrosorio, Nice :) 2011-10-24T14:23:19 *** vDev has quit IRC (Quit: Page closed) 2011-10-24T14:24:36 *** Gadela has joined #aichallenge 2011-10-24T14:25:03 hi 2011-10-24T14:25:23 is someone here joining the challenge using c# 2011-10-24T14:25:43 i can't figure out how to use the cs files locally 2011-10-24T14:26:12 what do you mean locally? 2011-10-24T14:26:41 Savaron_: on his machine 2011-10-24T14:26:43 how to open them? 2011-10-24T14:26:46 it works when you submit the files to the challenge 2011-10-24T14:26:50 Gadela: use visual studio or mono develop 2011-10-24T14:26:58 go on the file menu and choose open 2011-10-24T14:27:00 aichallenge: Alexandru Stan * rbb0c309 / (3 files in 3 dirs): 2011-10-24T14:27:00 aichallenge: Merge pull request #328 from tensai-cirno/epsilon 2011-10-24T14:27:01 aichallenge: Updated haskell starter package - http://git.io/RS2ezA 2011-10-24T14:27:17 aham so i compile them as usually? 2011-10-24T14:27:36 amstan: thanks for merging :) 2011-10-24T14:28:17 so i need to include them in a project? 2011-10-24T14:28:28 *** Taejo has left #aichallenge ("Leaving") 2011-10-24T14:29:05 cirno_the_greate: thanks for contributing :) 2011-10-24T14:29:27 amstan: haskell has hills now? 2011-10-24T14:29:32 aarossig: yes 2011-10-24T14:29:36 read the diff 2011-10-24T14:29:51 aarossig: don't worry, the php page is updated 2011-10-24T14:29:55 aarossig: yep 2011-10-24T14:30:07 aarossig: i'm maintaining package 2011-10-24T14:30:08 amstan: I successfully used git remote to change my origin today because of my name change 2011-10-24T14:30:18 aarossig: lol, ok 2011-10-24T14:30:30 cirno_the_greate: cool -- I originally updated the starter packages page so I wanted to make sure I didn't fall behind 2011-10-24T14:30:34 amstan: still zip-file needs to be updated 2011-10-24T14:30:50 amstan: it's veryyyyyy old 2011-10-24T14:30:50 cirno_the_greate: that's hardcoded into my fingers, lol 2011-10-24T14:30:51 *** tampe125 has joined #aichallenge 2011-10-24T14:30:57 amstan: okay :) 2011-10-24T14:31:14 aarossig: i made all starter packages include a VERSION file 2011-10-24T14:31:17 aarossig: check it out 2011-10-24T14:31:33 amstan: decent, will do 2011-10-24T14:31:36 aarossig: http://aichallenge.org/starter_packages/common_lisp_starter_package.zip 2011-10-24T14:31:50 amstan: by the way, anyone working with erlang? 2011-10-24T14:31:57 i would like to see erlang bot :) 2011-10-24T14:32:00 cirno_the_greate: not that i know of 2011-10-24T14:32:02 amstan: my laptop is slow as hell today, even moving windows is laggy 2011-10-24T14:32:11 aarossig: restart? 2011-10-24T14:32:25 is there anyone using PHP? 2011-10-24T14:32:33 tampe125: why? 2011-10-24T14:32:34 I could use it as backup 2011-10-24T14:32:42 amstan: yeah, eventually. lol -- VERSION file is nice, good idea 2011-10-24T14:32:50 just to chat with someone else using it :P 2011-10-24T14:33:17 btw PHP starter pack has no "visible" function 2011-10-24T14:33:18 tampe125: if you have a problem with it you could just ask, there might be people qualified to answer even if they don't use php 2011-10-24T14:33:36 *** mcstar has left #aichallenge ("WeeChat 0.3.5") 2011-10-24T14:33:36 tampe125: maybe #phpc if you want to talk about php in general ;-) 2011-10-24T14:33:38 ok, thank you very much 2011-10-24T14:33:39 tampe125: are you able to add it? 2011-10-24T14:33:48 tampe125: implement it 2011-10-24T14:33:52 for aichallenge repo 2011-10-24T14:33:56 fork* 2011-10-24T14:33:56 i tried, but i don't know if it's ok 2011-10-24T14:34:05 tampe125: once you get it going, we can update the starter package with your code 2011-10-24T14:34:11 ok 2011-10-24T14:34:12 tampe125: its fine if there's life in the channel ;-) 2011-10-24T14:34:30 tampe125: show code then 2011-10-24T14:34:31 :) 2011-10-24T14:34:38 :) 2011-10-24T14:34:58 *** ikaros has joined #aichallenge 2011-10-24T14:35:02 tampe125: yes, there are people using php 2011-10-24T14:35:05 ok let me start Ubuntu and i'll get there asap 2011-10-24T14:35:08 there shouldn't be any special PHP science in visible function implementation 2011-10-24T14:35:20 *** tampe125 has quit IRC (Client Quit) 2011-10-24T14:36:19 *** onensora has joined #aichallenge 2011-10-24T14:36:31 by the way, before launching there was white color for players on js visualizator 2011-10-24T14:36:34 now it's black 2011-10-24T14:36:43 very hard to find it on screen 2011-10-24T14:36:50 with dark-brown background 2011-10-24T14:36:51 :S 2011-10-24T14:36:52 *** DrSat has joined #aichallenge 2011-10-24T14:37:27 cirno_the_greate: I'm trying to make that point for a while... there is an issue on github, comment it to support, maybe we'll get through eventually. 2011-10-24T14:37:54 olexs: on my way 2011-10-24T14:38:49 *** tampe125 has joined #aichallenge 2011-10-24T14:38:50 it was changed because old colors were not colorblind-friendly... I think now it's only friendly to colorblind people, if to any at all 2011-10-24T14:39:11 what is that VERSION file you talk about? 2011-10-24T14:39:13 here i am again 2011-10-24T14:40:08 olexs: may be i'm a little bit cinyc, but now colors not friendly for normal people ._. 2011-10-24T14:40:34 well, in general colors fine, but black color very bad 2011-10-24T14:40:44 black on brown is very bad 2011-10-24T14:41:04 you can turn on the fog of war for your bot (buttons on the left), it helps a bit 2011-10-24T14:41:12 but not much 2011-10-24T14:41:23 pedrosorio: it's in the starter packages, they'll contain info about when they were packaged, when was the last change and commit message 2011-10-24T14:41:30 olexs: yep, i'm doing it very often, so repeating colors could be fine for me. May be 2011-10-24T14:42:19 cirno_the_greate: I'm doing my testing and debugging on the TCP servers, at least ants.fluxid.pl seems to have better colors. 2011-10-24T14:42:53 olexs: may be because they using old code? 2011-10-24T14:42:55 talking about visibility, how do you manage it? 2011-10-24T14:43:11 olexs: i don't really like TCP servers at this moment 2011-10-24T14:43:18 they behave not like a real ones 2011-10-24T14:43:23 2 players on 8 players map 2011-10-24T14:43:25 cirno_the_greate: maybe. but also because they don't highlight your player in black 2011-10-24T14:43:28 or very slow spawn of food 2011-10-24T14:43:31 aichallenge: Alexandru Stan epsilon * r8cfe080 / setup/apache_site.template : Added /forum/ redirect to /forums/ - http://git.io/sroHyw 2011-10-24T14:43:38 olexs: you got the point :) 2011-10-24T14:43:47 hm... didn't see that. but my debug mostly concerns battle situations, so I'm fine with imperfections :) 2011-10-24T14:44:29 olexs: my bot atm only gathers food 2011-10-24T14:44:34 so i'm concerned with it :) 2011-10-24T14:44:52 sometimes accidently stepping on enemy hills :P 2011-10-24T14:44:57 just a question: how do you manage path? i mean, do you calculate everything every turn or you create a path and then execute orders until the ant reaches the target? 2011-10-24T14:44:59 tampe125: pretty simple for me. have a binary map of "visible" data for every square, that's reset to false after every turn. at beginning of every turn, do a multi-seed breadth first search around my ants with radius = viewradius and mark everything as visible. done. 2011-10-24T14:45:49 olexs: great, this is very like what i'm doing :) 2011-10-24T14:45:55 *** fabiano has joined #aichallenge 2011-10-24T14:45:59 also in that search, mark all squares that are still "unknown" as land; water information gets passed before that, so map information is correct after that 2011-10-24T14:46:00 olexs: so i'm not totally wrong 2011-10-24T14:46:09 Hi, I have a problem with site registration (not forum) 2011-10-24T14:46:34 *** Seth has joined #aichallenge 2011-10-24T14:46:52 how are other Java programmers debugging your code? 2011-10-24T14:46:55 tampe125: you need to watch out that the search is fast, since it's done every turn, you can't really allow to waste much time on it 2011-10-24T14:47:28 Seth: using playgame.py with -E parameter to log stderr, and outputting a lot of logging information into it 2011-10-24T14:47:59 then cross-reference the game replay with the log data, I can mostly figure out if anything's wrong 2011-10-24T14:48:02 *** Harpyon has quit IRC (Read error: Connection reset by peer) 2011-10-24T14:48:19 olexs: kk, thanks. in my "general" map i set everything to UNSEEN, then i add water, food, hills and ant position. then i mark everything as land inside my ant visibility 2011-10-24T14:48:24 olexs: Thanks, will do 2011-10-24T14:48:25 https://github.com/tensai-cirno/aichallenge/blob/epsilon/ants/visualizer/colors.html#L27 2011-10-24T14:48:32 *** Harpyon has joined #aichallenge 2011-10-24T14:48:37 olexs: looks like colors dynamic 2011-10-24T14:48:41 *** fabiano has quit IRC (Client Quit) 2011-10-24T14:48:42 *** Saulzar has quit IRC (Ping timeout: 255 seconds) 2011-10-24T14:48:43 or not 2011-10-24T14:49:04 *** Areks has joined #aichallenge 2011-10-24T14:49:04 cirno_the_greate: that's a testing tool for picking colors 2011-10-24T14:49:18 cirno_the_greate: look at the this: https://github.com/tensai-cirno/aichallenge/blob/epsilon/ants/visualizer/js/Const.js 2011-10-24T14:49:19 however it's preatty annoying not being able to instant debugging your own scripts... 2011-10-24T14:49:48 cirno_the_greate: that is where the colors for the visualizer are located 2011-10-24T14:50:01 I'm thinking of letting users store color preferences to a cookie or localstorage 2011-10-24T14:50:01 Seth: oh, thanks 2011-10-24T14:50:15 tampe125: and to your question about paths. for me, I'm calculating all I need every turn. but then, I never calculate full paths but only the first element. my bot only saves little information between turns 2011-10-24T14:50:22 Also, that's in HSL format, not RGB 2011-10-24T14:50:33 *** mutilator has joined #aichallenge 2011-10-24T14:50:57 McLeopold: Seth: so colors should differ by Lightness? 2011-10-24T14:51:02 olexs: do you apply a A* search? isn't it "heavy" to run every turn? 2011-10-24T14:51:03 for colorblind 2011-10-24T14:51:16 tampe125: you need to optimize it 2011-10-24T14:51:20 tampe125: no A*, breadth-first, which in theory should be even heavier 2011-10-24T14:51:21 *** Bleda has quit IRC (Ping timeout: 265 seconds) 2011-10-24T14:51:27 for example if you have big swarm approaching to enemy base 2011-10-24T14:51:31 tampe125: Don't run it every turn, only run it once for each target point 2011-10-24T14:51:33 but in practice it's more than fast enough for me 2011-10-24T14:51:44 tampe125: then run it again when you reach the target 2011-10-24T14:51:46 you can calculate it for key ants 2011-10-24T14:52:11 but then I have only very few situations where I know points A and B and need a path 2011-10-24T14:52:19 Seth: in that way you have to save the path 2011-10-24T14:52:22 cirno_the_greate: Yeah, for the colorblind you would want to change the saturation to 100% and the lightness 2011-10-24T14:52:28 i'm thinking, is it possible to create AI as stateless machine 2011-10-24T14:52:32 mostly it is like I have a point A and need a certain entity found and then directed to A, or A directed to it 2011-10-24T14:52:36 without state between turns 2011-10-24T14:52:39 Seth: (forgot a question mark) :P 2011-10-24T14:52:44 which is done in one search 2011-10-24T14:52:46 cirno_the_greate: somewhat, you basically have 2 sides of the color wheel, then must vary for lightness 2011-10-24T14:53:10 Seth: yeah, i'll play with colors then on my ride to home 2011-10-24T14:53:13 tampe125: I'm saving mine in a set of points. Then the bot goes through those points 2011-10-24T14:53:38 cirno_the_greate: let me know if you get it working. I tried to change it yesterday night and didn't see any change at all 2011-10-24T14:53:43 for example, I search starting with all food I see, looking for my ants. BFS finds the closest ant to every food item and sends them away in one pass 2011-10-24T14:54:08 olexs: what you do when timelimit is close? 2011-10-24T14:54:23 pedrosorio: correct, my execution time does not depend on the number of bots i have.... it depends on the number of food I see ;-) 2011-10-24T14:54:29 Seth: ok, last question :P is there a way to have an ID for an ant? how do you apply the saved path to the correct ant? 2011-10-24T14:54:29 Seth: at least we need something bright for active player 2011-10-24T14:54:30 *** Guest62665 has quit IRC (Quit: Page closed) 2011-10-24T14:54:38 cirno_the_greate: get ImageJ and the Vischeck plugin 2011-10-24T14:54:52 cirno_the_greate: the BFS is so fast I never encountered timeouts through it. there is another, much heavier calculation (battle simulation tree search) that can cause timeouts, but I have different means of keeping time there 2011-10-24T14:54:53 olexs: ok, but what if you have some water to get around? 2011-10-24T14:55:07 cirno_the_greate: the problem with bright for current player is the graph is then hard to see. I wanted white to start with, but it doesn't work. 2011-10-24T14:55:10 tampe125: BFS gets around water just fine, it will not search water squares 2011-10-24T14:55:34 If we could make their graph black, that would be awesome 2011-10-24T14:55:39 (in that particular case it won't, when it's doing vision check it will) 2011-10-24T14:55:40 i use bfs for targets like food and hills too 2011-10-24T14:55:57 the time wasn't a problem so far.. even with 300 ants 2011-10-24T14:56:13 tampe125: I have an object for each ant, though you could just try to keep track of what is moving where 2011-10-24T14:56:32 Seth: ok thank you very much! 2011-10-24T14:56:35 ikaros: yep, if you use one well-coded BFS the number of seeds is pretty irrelevant, as long as you run the search once and not once for every ant or so :) 2011-10-24T14:56:44 Seth: how do you track the ant between turns? 2011-10-24T14:56:53 McLeopold: which graph? 2011-10-24T14:56:53 *** tampe125 has quit IRC (Quit: Page closed) 2011-10-24T14:56:58 i don't understand :< 2011-10-24T14:56:59 hehe sure but there's more food in sight with 300 ants in general :) 2011-10-24T14:57:06 It's funny, my algorithm is really simple, surprised it works so well 2011-10-24T14:57:14 *** Seth has quit IRC (Quit: Page closed) 2011-10-24T14:57:26 it's basically a) pick random direction b) trace a line and follow it 2011-10-24T14:57:34 ajf: that is usual, good ideas are mostly rather simple :) 2011-10-24T14:57:58 yes 2011-10-24T14:58:10 *** Seth has joined #aichallenge 2011-10-24T14:58:24 it is *slightly* more complex, I did add a feature where it looks for neaby food 2011-10-24T14:58:28 sorry I left, what was the last question about keeping track of state 2011-10-24T14:58:31 McLeopold: why not make the graph background same as land tile background? then you'll have same contrast on the map and in the graph 2011-10-24T14:58:32 although, it would pick that food up anyway 2011-10-24T14:58:37 so it's kinda pointless 2011-10-24T14:59:14 McLeopold: having white graph and dark map complicates choosing good colors a lot 2011-10-24T14:59:22 f4hy: but that means apart from searching for food, you move randomly... 2011-10-24T15:00:35 Seth: I asked, how you keep track of the different ants 2011-10-24T15:00:54 do you check their supposed location and remove it if there is none? 2011-10-24T15:01:01 Savaron_: the sample bots are creating the ants vector with the location of each ant, each turn, but you don't need to do that 2011-10-24T15:01:04 McLeopold: ah, that graph 2011-10-24T15:01:16 olexs: good idea 2011-10-24T15:01:28 sure, but those ants are removed each turn 2011-10-24T15:01:56 before I start I would like to know the directin I'm going ;) 2011-10-24T15:02:14 Savaron_: What you could do is keep track of where your ants should move, and if you have an ant in that spot next turn, then it is the same ant 2011-10-24T15:02:29 pedrosorio: no, ants move to areas of high and low potential. they only look at the 4 squares around them, so yes there is some sacling in number of ants, but mostly I set up a smart grid and dumb ants 2011-10-24T15:02:45 *** kincody has quit IRC (Quit: Page closed) 2011-10-24T15:02:46 Savaron_: This only works if you don't have ants killing eachother 2011-10-24T15:02:59 sure ;) 2011-10-24T15:03:00 Seth: I was thinking exactly that :P 2011-10-24T15:03:02 * your own ants killing your own ants 2011-10-24T15:03:32 f4hy: I see, so not just food, but "areas of interest" in general 2011-10-24T15:03:38 anyone else playing on http://ants.fluxid.pl now? 2011-10-24T15:04:23 pedrosorio: water, enemy ants, enemy hives, my own hive all emit potentialfields, ants just follow the gradiant (with a few tricks to remove local minima/maxima) 2011-10-24T15:04:31 my bot needs an overhaul first :) 2011-10-24T15:04:41 olexs: what's that? 2011-10-24T15:04:51 olexs: Im on there 2011-10-24T15:04:52 olexs: Is that up to spec? 2011-10-24T15:04:55 everyone should chekc it out 2011-10-24T15:05:01 f4hy: sounds nice, what's your bot? 2011-10-24T15:05:02 Seth: not sure, but looks quite good 2011-10-24T15:05:05 it is a great way to get feedback on your ant 2011-10-24T15:05:15 olexs: That is awesome. I'll definately try it out 2011-10-24T15:05:20 pedrosorio: moduspwned http://ants.fluxid.pl/player/Moduspwnedv3 2011-10-24T15:05:34 ajf: a TCP server. basically you can play against other bots there without uploading, you run on your own machine through a client tool 2011-10-24T15:05:38 pedrosorio: I am still tuning alot of the parameters, but my bot is CRAZY fast, just not as smart as other people yet 2011-10-24T15:05:53 *** irchs has joined #aichallenge 2011-10-24T15:05:54 much better for testing and debugging, since you can quickly get some games against good enemies 2011-10-24T15:06:06 olexs: cool, how can I use it? 2011-10-24T15:06:12 ajf: http://ants.fluxid.pl/howto 2011-10-24T15:06:22 olexs: which is yours on there? 2011-10-24T15:06:30 olexs: oh nm 2011-10-24T15:06:31 f4hy: current one is olexs_2b 2011-10-24T15:06:35 :) 2011-10-24T15:06:44 f4hy: my bot is fast though not as fast as yours, but it's still quite stupid xD 2011-10-24T15:07:01 *** caution has joined #aichallenge 2011-10-24T15:07:06 olexs: kicking mines but 2011-10-24T15:07:15 f4hy: what's yours? 2011-10-24T15:07:41 *** cirno_the_greate has quit IRC (Ping timeout: 252 seconds) 2011-10-24T15:07:45 olexs: moduspwned 2011-10-24T15:07:50 version 3 right now 2011-10-24T15:07:57 version 4 is close to done though 2011-10-24T15:08:03 but not on there yet 2011-10-24T15:08:24 looks like you have some code for battle formations, I dont have anything like that yet 2011-10-24T15:08:39 I am running tcpclient now :) 2011-10-24T15:08:40 *** fabtar has joined #aichallenge 2011-10-24T15:08:47 f4hy: yes, in battle situations I control groups together 2011-10-24T15:08:55 battle formations are probably the hardest part of this game... 2011-10-24T15:08:57 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-10-24T15:09:14 what I use is not strictly formations, but more "good moves by a group" 2011-10-24T15:09:16 to avoid that kind of difficulty, I simply ignore enemy ants xD 2011-10-24T15:09:21 http://ants.fluxid.pl/replay.4111 2011-10-24T15:09:22 wat 2011-10-24T15:09:32 I have problem with registration, I have lost the passsword and there is no way to reset it.. or there is? Can anyone help me? 2011-10-24T15:09:52 ooh 2011-10-24T15:09:54 fabtar: currently there is no password reset, but the admins are working on it 2011-10-24T15:09:56 a game is running! :D 2011-10-24T15:10:03 :-D 2011-10-24T15:10:40 fffs 2011-10-24T15:10:40 woo, python bot is number 1! take that all you haters! 2011-10-24T15:10:43 :P 2011-10-24T15:10:44 not player ant errors 2011-10-24T15:11:04 This contest is really a great ! It reminds me of my youth when I was battling my friend with PRobots 2011-10-24T15:11:07 f4hy: battle formation or not, but your food gathering and exploration seems quite solid 2011-10-24T15:11:38 I'll wait for password reset to come, regards 2011-10-24T15:11:48 eliminated? 2011-10-24T15:11:49 D: 2011-10-24T15:12:12 *** Seth has quit IRC (Quit: Page closed) 2011-10-24T15:12:23 ajf: what's your bot name? 2011-10-24T15:12:28 ajf 2011-10-24T15:12:34 I think it shows up as A 2011-10-24T15:12:36 Ahhh, I have found that there is a PM .. I have never used IRC, fabtar 2011-10-24T15:12:45 ah, found it 2011-10-24T15:12:53 <_flag> Uh... A is me 2011-10-24T15:12:54 ,the name of the bot/user is fabtar 2011-10-24T15:13:03 <_flag> Unless you're not talking about tcp 2011-10-24T15:13:16 _flag: you are FlagCapper in the main contest, right? 2011-10-24T15:13:22 <_flag> olexs: yes 2011-10-24T15:13:31 *** Redgis has joined #aichallenge 2011-10-24T15:13:56 _flag: I see you are playing on TCP now, I guess I'll run my bot for a while... need some mighty enemies. 2011-10-24T15:14:06 <_flag> olexs: Good luck :) 2011-10-24T15:14:45 hmm 2011-10-24T15:14:56 <_flag> You show up as ajf, ajf 2011-10-24T15:15:04 <_flag> http://ants.fluxid.pl/player/ajf 2011-10-24T15:15:08 ah 2011-10-24T15:15:16 I switched to my AI challenge name now 2011-10-24T15:15:22 "Taze_T_Schnitzel" 2011-10-24T15:15:29 strangely my bot wasn't behaving 2011-10-24T15:18:31 *** thestinger has joined #aichallenge 2011-10-24T15:19:06 *** nishant has joined #aichallenge 2011-10-24T15:20:00 woo, rank 303 on aichallenge.org! 2011-10-24T15:20:31 having bugs with starter package in java on ubunutu 11.10 2011-10-24T15:20:53 anyone else facing problems with abstracksysteminoutparser.java ? 2011-10-24T15:21:43 anyone 2011-10-24T15:24:35 am I the only one getting lots of "not player ant" invalid moves? 2011-10-24T15:25:09 ajf: it may happen if you move two times the same ant 2011-10-24T15:25:18 the second time the coordinates aren't right 2011-10-24T15:25:23 *** Acroban has joined #aichallenge 2011-10-24T15:25:55 galdor: ah 2011-10-24T15:26:06 ajf: that means your bot generates invalid orders. I got a lot of those earlier, when I had some large bugs in me code 2011-10-24T15:26:28 galdor: I'm currently assuming all moves are succesful 2011-10-24T15:26:37 And check client-side if there is water before moving 2011-10-24T15:27:23 *** welterde has joined #aichallenge 2011-10-24T15:27:36 *** groove_ has quit IRC (Ping timeout: 265 seconds) 2011-10-24T15:27:51 *** nishant has quit IRC (Ping timeout: 255 seconds) 2011-10-24T15:28:34 *** levis501 has quit IRC (Quit: levis501) 2011-10-24T15:29:33 *** sunshine has joined #aichallenge 2011-10-24T15:29:46 *** Pilchard123 has joined #aichallenge 2011-10-24T15:30:01 *** Raelifin has quit IRC (Ping timeout: 265 seconds) 2011-10-24T15:31:12 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-10-24T15:31:30 ajf, this message is not about water. it tells you that you "move" an ant from a square where no ant is located.. probably a bug in tracking your ants 2011-10-24T15:32:02 how does the engine work i mean how the bots communicate with the world? the seem isolated console applications 2011-10-24T15:32:15 Gadela: they send and receive text 2011-10-24T15:32:19 on stdin/stdout 2011-10-24T15:32:26 *** Acroban has quit IRC (Ping timeout: 265 seconds) 2011-10-24T15:32:26 *** aaa has quit IRC (Ping timeout: 265 seconds) 2011-10-24T15:33:05 so they are executed in parallel? 2011-10-24T15:34:22 *** Pilchard123 has quit IRC (Ping timeout: 265 seconds) 2011-10-24T15:34:27 on the server it's sequential 2011-10-24T15:36:06 ikaros: yes 2011-10-24T15:36:08 but 2011-10-24T15:36:09 then how the interact? i mean if bot 1 executes n steps and bot 2 another n steps 2011-10-24T15:36:19 *** prisonbound has joined #aichallenge 2011-10-24T15:36:23 I can't see how there could be a bug 2011-10-24T15:36:27 I remove all dead ants 2011-10-24T15:36:39 And add all new ants belonging to player 0 2011-10-24T15:36:40 how they get updated world state? 2011-10-24T15:37:09 if they're executed sequentially 2011-10-24T15:37:17 Gadela: every bot communicates with the game server through stdin-stdout 2011-10-24T15:37:22 did you read the problem description? 2011-10-24T15:37:31 it's turn based. the server asks each bot for their moves 2011-10-24T15:37:34 game server gives the ants all information they need every turn 2011-10-24T15:37:46 and waits for them to tell it their moves 2011-10-24T15:38:03 aham maybe i accidentally skipped that section 2011-10-24T15:38:27 ajf, perhaps you store your ants in a function in a list or an array. then you make different order loops and because your positions are updated bad things happen 2011-10-24T15:38:54 because the lists still contain the old positions 2011-10-24T15:39:16 but your hashtable or whatever you use to store them is already updated 2011-10-24T15:39:22 i had that kind of problem :) 2011-10-24T15:39:29 was a bit nasty 2011-10-24T15:39:51 *** prisonbound has quit IRC (Client Quit) 2011-10-24T15:39:52 Is my program expected to wait when it's not my turn? or can i do some processing between inputs? 2011-10-24T15:40:13 ikaros: no 2011-10-24T15:40:26 sorry for the waste of time rmmh , olexs 2011-10-24T15:40:26 once updated it doesn't touch the same ant again 2011-10-24T15:40:38 *** nishant has joined #aichallenge 2011-10-24T15:42:24 i just wrote all move orders to file and checked the rounds with problems 2011-10-24T15:44:29 olexs: food gathering without having the ants think at all, it is all done in < 3 ms for everything. I hope to use the reest of my time for crazy attack stuff 2011-10-24T15:45:16 *** ahnt has joined #aichallenge 2011-10-24T15:46:40 goddamnit 2011-10-24T15:46:49 *** aslvrstn has joined #aichallenge 2011-10-24T15:46:51 *** bearoff has joined #aichallenge 2011-10-24T15:47:15 *** yohann has joined #aichallenge 2011-10-24T15:47:53 there is a deadant tile, is the deadant update passed to input? 2011-10-24T15:48:20 @tools 2011-10-24T15:48:21 Puj: tools could be Windows: http://aichallenge.org/tools.zip | Linux/MacOS X: http://aichallenge.org/tools.tar.bz2. 2011-10-24T15:49:15 http://ash.webfactional.com/howto there seems to be only two bots fighing no this tcp server, come join! 2011-10-24T15:49:37 aha tokens[0].Equals("d") 2011-10-24T15:49:50 *** ahnt has quit IRC (Ping timeout: 265 seconds) 2011-10-24T15:50:20 f4hy: there is more on here: http://ants.fluxid.pl/ 2011-10-24T15:50:43 ruser: I know, I am on both 2011-10-24T15:51:09 ruser: what is thee deadants signify? I just ignore it 2011-10-24T15:52:29 *** SharkMonkey has joined #aichallenge 2011-10-24T15:52:56 good, I fixed my bot 2011-10-24T15:53:12 hello 2011-10-24T15:56:59 *** Accoun has quit IRC () 2011-10-24T15:57:23 Now I added a priorities system for my bot 2011-10-24T15:57:36 *** dvladim has quit IRC (Ping timeout: 240 seconds) 2011-10-24T15:57:44 targets: hills > enemy ants > food 2011-10-24T15:58:10 ajf: nah man food > all 2011-10-24T15:58:46 more ants should go in for the hills, but food is best 2011-10-24T15:59:53 enemy ants must have spawned from a hill, some time before 2011-10-24T16:01:10 f4hy: hmm 2011-10-24T16:01:12 g0llum: are you using it for anything? 2011-10-24T16:01:13 good point 2011-10-24T16:01:31 lol, no . 2011-10-24T16:02:19 xD 2011-10-24T16:02:22 ajf: unless you are fighting me, in which case you only need one ant to kill my hill 2011-10-24T16:02:31 true 2011-10-24T16:02:35 f4hy: same here :P 2011-10-24T16:02:39 since I have no defense, and notice that almost nobody has dedicated defnders yet 2011-10-24T16:02:40 if a hill is razed 2011-10-24T16:02:45 how does it show up to the ant? 2011-10-24T16:02:59 but my defnders are almost ready 2011-10-24T16:03:05 ajf: as nothing there 2011-10-24T16:03:18 are hills repeated each turn then? 2011-10-24T16:03:36 f4hy: also, I thought that I'm really smart because I let my ants move more freely (without caring where other ants are) but it turns out that I they end up in some nasty mass suicides xD 2011-10-24T16:03:38 ajf: they are 2011-10-24T16:03:49 *** nishant has quit IRC (Ping timeout: 240 seconds) 2011-10-24T16:04:11 pedrosorio: my ants are incapable of it 2011-10-24T16:04:27 ajf: everything you see is reporeted to you every turn i think 2011-10-24T16:05:09 so I say screw trying to keep track of things turn by turn, and just rescan every time :-) 2011-10-24T16:05:36 except I need to add something so that if I see a hill and die, I remember it was there. 2011-10-24T16:05:43 from the tutorial it's the first thing 2011-10-24T16:06:14 my goal is to never have my ants think. So far it is working 2011-10-24T16:06:24 xD 2011-10-24T16:06:36 I just build smart weightings for things and the ands just move along them stupidly 2011-10-24T16:06:59 ants never understand where they are, what their goals are, or what is more than 1 square away from them 2011-10-24T16:09:58 *** jtamer has joined #aichallenge 2011-10-24T16:11:30 f4hy: hmm 2011-10-24T16:11:38 I think water is the only thing that never changes then? 2011-10-24T16:12:43 *** ztfw has quit IRC (Remote host closed the connection) 2011-10-24T16:13:34 ajf: correct 2011-10-24T16:13:53 and ground ;-) 2011-10-24T16:13:59 except my bot thinks water grows 2011-10-24T16:14:06 *** amitin has joined #aichallenge 2011-10-24T16:14:08 hi 2011-10-24T16:14:27 im noob 2011-10-24T16:14:40 amitin: noob 2011-10-24T16:14:41 I'm sharkmonkey 2011-10-24T16:14:43 hehe 2011-10-24T16:14:58 sorry could not resist 2011-10-24T16:15:35 anyone know the turn time from the challenge server? 2011-10-24T16:16:06 I just reuploaded a starter package and my bot sucks 2011-10-24T16:16:16 ajf: IIRC its 500ms 2011-10-24T16:16:25 but it may be 1 sec 2011-10-24T16:16:48 amitin: yes default bots suck 2011-10-24T16:16:51 http://aichallenge.org/game_settings.php 2011-10-24T16:17:17 delt0r_: ya seems like it, so my bot finishing in 3 ms doesnt really help. I wish they scored it as points/time_used :-) 2011-10-24T16:17:28 500ms it is 2011-10-24T16:17:31 thx mceier 2011-10-24T16:17:39 np :) 2011-10-24T16:17:41 thx McLeopold 2011-10-24T16:17:44 does anyone implement battle formations? 2011-10-24T16:17:46 mceier: sorry 2011-10-24T16:18:05 its the hot wine 2011-10-24T16:18:19 gluwein 2011-10-24T16:18:21 or whatever 2011-10-24T16:18:46 amitin: yes 2011-10-24T16:19:11 f4hy: you have to use the resources you have effectively 2011-10-24T16:19:22 not using them is not effective 2011-10-24T16:19:29 amitin: take a look at the top bots on http://ants.fluxid.pl/ranking some of the top ons have various battle formations 2011-10-24T16:19:32 *** racko has quit IRC () 2011-10-24T16:19:45 amitin: watch some of skyramp's games 2011-10-24T16:19:48 Every General know that! 2011-10-24T16:20:04 delt0r_: My ants have no General. Only a queen. 2011-10-24T16:20:14 *** bitbrit has quit IRC (Quit: bitbrit) 2011-10-24T16:20:58 An interesting variant of the gmae would be everyone has a queen ant instead of hills, and the new ants spawn on the queen, which can move just like the ants. 2011-10-24T16:21:19 so the queen poops out new ants? 2011-10-24T16:21:51 *** rog_ has quit IRC (Quit: Page closed) 2011-10-24T16:22:03 sure why not 2011-10-24T16:22:07 I tihnk it would be fun 2011-10-24T16:22:13 *** Palmik has quit IRC (Remote host closed the connection) 2011-10-24T16:22:14 basically the same game but you cna move the hills 2011-10-24T16:22:28 might be impossible to attack though, defnse might be too strong 2011-10-24T16:22:40 *** Accoun has joined #aichallenge 2011-10-24T16:23:23 My Bot has Smart Stupidity(TM) 2011-10-24T16:24:58 *** xathis_ has joined #aichallenge 2011-10-24T16:25:14 ajf: is your bot on one of the tcp servers? 2011-10-24T16:25:19 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-10-24T16:25:24 I want to know if I can beat smart stupidity 2011-10-24T16:25:57 f4hy: yep 2011-10-24T16:26:02 easily :P 2011-10-24T16:26:21 ajf: what is it's name? 2011-10-24T16:26:23 *** agentsnakezero has joined #aichallenge 2011-10-24T16:26:37 Taze_T_Schnitzel 2011-10-24T16:26:41 my online name 2011-10-24T16:26:45 except on IRC 2011-10-24T16:26:48 *** Macuyiko has quit IRC (Ping timeout: 240 seconds) 2011-10-24T16:27:14 *** tassadar_ has joined #aichallenge 2011-10-24T16:27:43 ajf: my bot is Moduspwend, we have not gone 1v1 yet 2011-10-24T16:27:59 *** xathis has quit IRC (Ping timeout: 248 seconds) 2011-10-24T16:28:03 every game our bots have fought someone better than both of us won 2011-10-24T16:28:19 i was lvl 55 before reupload 2011-10-24T16:28:34 couldn't beat anyone higher than 60 2011-10-24T16:28:46 then i figured out that i wasn't defending hill :P 2011-10-24T16:28:49 *** nishant has joined #aichallenge 2011-10-24T16:29:03 haha 2011-10-24T16:29:09 tassadar_: ya I am writing defense code right now 2011-10-24T16:29:15 have a goalkeeper 2011-10-24T16:29:33 hm... what's a good Java data structure for the A* open list? it needs to be some sort of a map sorted by values... 2011-10-24T16:30:32 olexs, hash? 2011-10-24T16:30:39 hash or tree olexs 2011-10-24T16:30:57 hashmap is first that comes to mind, but it's not natively sorted 2011-10-24T16:31:37 hashmap with a tree index over values would work, but that's not that easy to implement :) 2011-10-24T16:32:18 you could...make a graph class 2011-10-24T16:33:22 that way you have a list of parents and kids and then the edges themself have the weights 2011-10-24T16:33:32 a graph I already have 2011-10-24T16:33:47 I need something to store the list of the nodes that are to be expanded 2011-10-24T16:34:11 arraylist and the sort method 2011-10-24T16:34:13 my bot no longer cares about running into its own ants 2011-10-24T16:34:14 those nodes each have a f() value, and I need to efficiently access the one that has this value lowest 2011-10-24T16:34:24 agentsnakezero: would work, but slow 2011-10-24T16:34:46 other than arraylist, a binary tree 2011-10-24T16:35:06 tassadar_: lvl55, lvl60, are you talking about skill (MMORPG much? :P) 2011-10-24T16:36:11 agentsnakezero: but ideally, it needs to be a map, since the node objects themselves do not include the f() value :) thus a map with a binary tree index... hmph 2011-10-24T16:36:29 *** skyramp_ has joined #aichallenge 2011-10-24T16:36:35 seems there is nothing pre-made for the use case, I'll have to implement it myself. oh the fun. 2011-10-24T16:36:51 *** delt0r_ has quit IRC (Ping timeout: 244 seconds) 2011-10-24T16:37:17 you could modify the node to include it. lots of hacking and slashing 2011-10-24T16:37:38 *** Kusand has joined #aichallenge 2011-10-24T16:37:45 I could, but that node object is used in many other places and including the data in it would be hacking indeed :) 2011-10-24T16:38:25 yep, more problems than they are worth 2011-10-24T16:39:01 thing is, this needs to be next-to-perfect performance-wise, since it will be used just about everywhere in the bot, replacing BFS in many many use cases 2011-10-24T16:39:50 that will be painful to optimise 2011-10-24T16:40:12 the BFS is already optimized to all ends and it's blisteringly fast, but A* is in a different league when you have a heuristic... and it so happens in many cases I do 2011-10-24T16:41:18 refer to previous statement and add massive head trauma 2011-10-24T16:41:21 *** paulwal has joined #aichallenge 2011-10-24T16:41:41 pedrosorio: wellllll, ants is massive, muptiplayer, and game. so MMG? 2011-10-24T16:42:43 i'm going to try to hack together a boids style movement algorithm after the swarm reaches a certain size then leave some for food/defense 2011-10-24T16:43:24 olexs: thankfully I have implemented A* in C some 2 years ago and I am under the illusion that it's quite efficient xD 2011-10-24T16:44:04 olexs: I was thinking that the typical A* paths we will be computing are quite short, so probably asymptotic behavior is not that crucial 2011-10-24T16:45:13 problem with abstract system inp parser on ubuntu 11.10 2011-10-24T16:45:20 help please 2011-10-24T16:46:04 * agentsnakezero 2011-10-24T16:46:15 it says line 86 on system token is creating issues 2011-10-24T16:47:29 Rule question: do the rules prevent codesharing of any kind, or simply prevent someone from having multiple accounts? A friend and I were interested in collaborating on implementing an A* algo but don't want to break any rules. 2011-10-24T16:49:15 I am not a mod/admin but from what I can tell as long as its only one account per person/group it is fine 2011-10-24T16:50:01 *** delt0r_ has joined #aichallenge 2011-10-24T16:50:43 that's the thing, i think we'd both like to try separate overall implementations from different accounts, but feel like we're nuts to code up separate A* algorithms. 2011-10-24T16:50:51 I think you can even enter and compete as a group with one account 2011-10-24T16:51:02 maybe i'll just post in the forums, i thought i might have a shot at catching a mod here 2011-10-24T16:51:03 oh 2011-10-24T16:51:10 the frustration you feel when you realise you were looking at the wrong bot when testing 2011-10-24T16:51:13 D: 2011-10-24T16:51:18 yeah, that's the thing. don't want to break any rules, though. 2011-10-24T16:51:25 Kusand: I think implementing an algorithm together is not against the rules. Many people will be using similar implementations found on the web 2011-10-24T16:51:30 *** skyramp has quit IRC (Quit: Page closed) 2011-10-24T16:51:39 *** ltriant has joined #aichallenge 2011-10-24T16:51:44 algorithm should be fine, effectivly the same code from a group probably not 2011-10-24T16:52:04 as long as you have two different bots in the end, collaboration should be fine. 2011-10-24T16:52:17 yeah, we'd definitely have separate mains. cool. 2011-10-24T16:54:15 thanks 2011-10-24T16:54:17 *** Kusand has quit IRC (Quit: Page closed) 2011-10-24T16:55:43 what language is everyone doing it in? i know olexs is in java 2011-10-24T16:56:11 * McLeopold programs in whitespace 2011-10-24T16:56:17 *** hehe has joined #aichallenge 2011-10-24T16:56:56 that would be awesome 2011-10-24T16:57:05 I am using Go - learning opportunity... 2011-10-24T16:57:23 hey, could somebody point me where skill calculations are explained 2011-10-24T16:57:45 *** halligalli has quit IRC (Quit: Page closed) 2011-10-24T16:57:53 hehe: http://en.wikipedia.org/wiki/TrueSkill 2011-10-24T16:58:04 10x 2011-10-24T16:58:15 elo hell again......these games 2011-10-24T16:59:56 agentsnakezero: C++ 2011-10-24T17:00:23 Im doing c++ 2011-10-24T17:00:36 I was going to do python, but I already know python well 2011-10-24T17:00:41 trying to strengthen my c++ 2011-10-24T17:00:47 nice 2011-10-24T17:01:10 *** than has joined #aichallenge 2011-10-24T17:02:26 mine right now is in python, but im working on it in java as well 2011-10-24T17:02:46 *** Apophis has quit IRC (Quit: Verlassend) 2011-10-24T17:03:28 mostly due to whitespace driving me nuts 2011-10-24T17:04:52 does you make the tutorial in python, the part three foodgathering is not buggind for you? 2011-10-24T17:05:51 it wasn't for me, you just have to make sure everything is in the right spot 2011-10-24T17:06:08 *** twymer has quit IRC (Ping timeout: 258 seconds) 2011-10-24T17:06:13 *** hehe has quit IRC (Quit: Page closed) 2011-10-24T17:07:06 *** Slater has joined #aichallenge 2011-10-24T17:07:43 hum i think a make the mistake here, Create the following function after the do_move_direction function: 2011-10-24T17:08:17 i should put just after the return False no? 2011-10-24T17:09:04 yes, and make sure the "def" lines up with the one above 2011-10-24T17:09:13 yeah python whitespace matters 2011-10-24T17:09:27 python *indentation* matters 2011-10-24T17:09:37 *** yohann has quit IRC (Quit: Lost terminal) 2011-10-24T17:09:51 unless you have a line continuation 2011-10-24T17:09:53 how thank a lot! 2011-10-24T17:11:02 *** bearoff has quit IRC (Ping timeout: 265 seconds) 2011-10-24T17:11:12 *** Gadela has quit IRC (Quit: Page closed) 2011-10-24T17:12:58 *** Nescio has quit IRC (Ping timeout: 265 seconds) 2011-10-24T17:13:33 I'm using Tcl 2011-10-24T17:14:44 can anyone answer a question on how maximum memory usage is enforced? 2011-10-24T17:15:08 in java, if i want my process to use a max of 1GB, i can pass -Xmx1g to the "java" command during startup. 2011-10-24T17:15:11 yeah thats what i meant McLopold 2011-10-24T17:15:32 *** sunshine has quit IRC (Quit: Page closed) 2011-10-24T17:15:47 i'm concerned that the java process will be run without this flag, and terminated by an outside process when it exceeds the max memory allowed. 2011-10-24T17:15:58 *** umwelt has joined #aichallenge 2011-10-24T17:16:02 McLeopold, are you accepting new starter packages? 2011-10-24T17:17:15 *** umwelt has left #aichallenge 2011-10-24T17:17:24 *** agentsnakezero has quit IRC (Quit: Page closed) 2011-10-24T17:17:28 *** kaemo has quit IRC (Remote host closed the connection) 2011-10-24T17:19:53 *** jtamer has quit IRC (Quit: Leaving...) 2011-10-24T17:20:42 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-10-24T17:21:02 *** kaemo has joined #aichallenge 2011-10-24T17:21:03 Hmm, my bots are doing what I want more often, but they're also losing more :D 2011-10-24T17:21:44 python leading relative levels of indentation matters on non-continuation lines 2011-10-24T17:24:58 *** ajhager has quit IRC (Quit: ajhager) 2011-10-24T17:26:05 *** exobit_ has quit IRC (Quit: Page closed) 2011-10-24T17:26:21 *** fabtar has quit IRC (Quit: Page closed) 2011-10-24T17:27:50 does C++ bot need to include Makefile or will the server just compile all *.cc files in the zip? 2011-10-24T17:28:26 master_ninja: it just compiles all the files 2011-10-24T17:28:46 thanks rmmh 2011-10-24T17:28:46 *** bearoff has joined #aichallenge 2011-10-24T17:29:28 the README.txt says the server should use the Makefile if you provide one but it's not working for me :\ 2011-10-24T17:29:56 the README.txt is lying then 2011-10-24T17:30:42 master_ninja: why does it matter? 2011-10-24T17:30:42 *** amitin has quit IRC (Quit: Page closed) 2011-10-24T17:30:50 is there a way to pass options like -std= to the compiler then? 2011-10-24T17:30:58 nope 2011-10-24T17:31:14 that's annoying though... 2011-10-24T17:31:47 mleise: you around? 2011-10-24T17:32:02 the readme is lying 2011-10-24T17:32:08 *** Savaron_ has quit IRC (Quit: Page closed) 2011-10-24T17:32:24 you can use the makefile on your own machine, but the servers will ignore it 2011-10-24T17:32:30 yeah 2011-10-24T17:32:42 they just do gcc *.c -o MyBot 2011-10-24T17:32:44 iirc 2011-10-24T17:32:59 essentially 2011-10-24T17:33:07 thestinger, master_ninja: see https://github.com/aichallenge/aichallenge/blob/epsilon/worker/compiler.py 2011-10-24T17:33:09 slightly more complicated 2011-10-24T17:33:27 rmmh: you beat me to it 2011-10-24T17:34:27 *** JamesMG_ has joined #aichallenge 2011-10-24T17:35:17 *** Apophis has joined #aichallenge 2011-10-24T17:35:37 *** Savaron has quit IRC (Quit: Page closed) 2011-10-24T17:36:41 *** JamesMG has quit IRC (Read error: Connection reset by peer) 2011-10-24T17:36:50 -O3 -funroll-loops, I like 2011-10-24T17:37:23 pretty sure -O3 implies -funroll-loops 2011-10-24T17:37:43 no, only if you use pgo 2011-10-24T17:37:49 http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html 2011-10-24T17:37:57 ah 2011-10-24T17:38:21 it actually makes code slower most of the time in my experience if you aren't using it through PGO 2011-10-24T17:38:48 (that's why it's not in -O3) 2011-10-24T17:39:44 heh, and I thought it was faster 2011-10-24T17:40:11 *** twymer has joined #aichallenge 2011-10-24T17:40:29 they would put it in -O3 if it was faster most of the time :P 2011-10-24T17:41:25 especially on EC2 machines with high cache-contention 2011-10-24T17:41:30 at first I was :( because there were no optimization flags for their Go compiling 2011-10-24T17:41:50 but then I looked up what flags there are and there is only one flag related to optimization and it's to turn them off 2011-10-24T17:41:57 *** aslvrstn has quit IRC (Quit: Page closed) 2011-10-24T17:42:00 go doesn't have a very fancy optimizer 2011-10-24T17:42:06 indeed 2011-10-24T17:42:07 I guess you could try to get them to use gccgo 2011-10-24T17:42:12 *** aslvrstn has joined #aichallenge 2011-10-24T17:42:28 it sometimes can't even tell a variable is used or not because it's split into separate blocks 2011-10-24T17:42:33 nah I like 6g better 2011-10-24T17:43:32 it's been more feature complete over the past while 2011-10-24T17:43:47 though apparently they're working on making gccgo catch up for 1.0 2011-10-24T17:44:49 I wish they would just drop that and dual release *g et al under GPL or something. I've had bad experiences with languages with multiple suites of compilers (I'm looking at you, D) 2011-10-24T17:45:08 It's just grumbling until they muck it up, though 2011-10-24T17:46:03 the *g compilers are already open-source (all the go stuff is under a BSD/MIT-like license) 2011-10-24T17:46:27 would you believe me if I told you that that's too open source for GPL users to use? :P 2011-10-24T17:46:44 well, I can understand why people wouldn't want to contribute code to them 2011-10-24T17:46:58 hehe 2011-10-24T17:47:38 *** twymer has quit IRC (Ping timeout: 244 seconds) 2011-10-24T17:47:55 *** nishant has quit IRC (Ping timeout: 258 seconds) 2011-10-24T17:48:51 *** Rotsor has quit IRC (Quit: Lost terminal) 2011-10-24T17:50:42 *** cirno_the_greate has joined #aichallenge 2011-10-24T17:51:01 hey 2011-10-24T17:51:04 who's a server op here 2011-10-24T17:51:07 what are the sharp bars directly right to the population bars? 2011-10-24T17:51:10 here's a suggestion 2011-10-24T17:51:12 for python 2011-10-24T17:51:26 "compile" it by making python produce .pyc/.pyo files 2011-10-24T17:51:29 in the replay viewer 2011-10-24T17:51:43 hence, it will show up as failed compile if it contains syntax errors 2011-10-24T17:52:04 less CPU wasted too as it has faster startup plus fails before testing 2011-10-24T17:52:37 ikaros: got a screenshot? 2011-10-24T17:52:42 wait 2011-10-24T17:53:12 ikaros: your hive. which is the number of food you've collected that has not spawned ants yet. 2011-10-24T17:54:42 http://www.abload.de/image.php?img=testouqb.png 2011-10-24T17:54:43 ah 2011-10-24T17:54:46 thx i thought so 2011-10-24T17:54:51 oh 2011-10-24T17:54:56 but i couldnt believe i had 700 2011-10-24T17:55:00 + ants in the hive 2011-10-24T17:55:01 doh 2011-10-24T17:55:04 John McCarthy died :-( 2011-10-24T17:57:19 no he didn't 2011-10-24T17:58:14 cirno_the_greate: do you have a source ? 2011-10-24T17:59:33 it was on hackernews 2011-10-24T18:01:04 *** bporter has joined #aichallenge 2011-10-24T18:01:06 *** Harpyon has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-10-24T18:02:18 Does my MyBot.xx program need to reside at the root level of the ZIP file that is uploaded? Or, can I move it to a subdirectory (like "src/")? 2011-10-24T18:02:36 Redgis: http://news.ycombinator.com/item?id=3151233 2011-10-24T18:02:44 bporter: needs to be root. 2011-10-24T18:02:46 root works, dunno about other locations 2011-10-24T18:02:59 cool - thanks! 2011-10-24T18:03:00 *** bnb has joined #aichallenge 2011-10-24T18:03:33 John McCarthy - what a month... 2011-10-24T18:03:47 *** bporter has quit IRC (Client Quit) 2011-10-24T18:05:43 keep dying, old people. Time for the world to move on :D 2011-10-24T18:06:40 *** lorill has joined #aichallenge 2011-10-24T18:06:52 hi 2011-10-24T18:07:07 *** ig has quit IRC (Read error: Connection reset by peer) 2011-10-24T18:07:08 does anyone know how the players (and next game) are selected for the leaderboard ? 2011-10-24T18:07:08 *** xathis_ has quit IRC () 2011-10-24T18:07:31 /kick AndrewBC has no soul 2011-10-24T18:07:41 hurr hurr 2011-10-24T18:07:51 i don't understand why my bot needs to wait 300 minutes while his opponnents can get several games in the same timespan 2011-10-24T18:08:13 *** ig has joined #aichallenge 2011-10-24T18:10:31 :( 2011-10-24T18:10:34 well, i guess no one knows... 2011-10-24T18:11:15 AndrewBC: the good thing is more great people are coming 2011-10-24T18:11:26 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T18:11:50 *** lorill has quit IRC (Quit: Page closed) 2011-10-24T18:11:57 Fluxid: I guess so 2011-10-24T18:12:53 *** blackwol` has quit IRC (Read error: Connection reset by peer) 2011-10-24T18:13:28 lorill: the algorithm is probably a bit strange 2011-10-24T18:14:51 *** onensora has quit IRC () 2011-10-24T18:15:05 *** Areks|2 has joined #aichallenge 2011-10-24T18:15:08 *** blackwol` has joined #aichallenge 2011-10-24T18:15:50 *** Islacrusez has joined #aichallenge 2011-10-24T18:17:40 *** ikaros has joined #aichallenge 2011-10-24T18:18:13 *** Areks has quit IRC (Ping timeout: 240 seconds) 2011-10-24T18:19:14 crap.. coding my AI took all the evening and i should be awake in 4 hours. this is just so fun 2011-10-24T18:19:21 thanks for the wonderful game 2011-10-24T18:19:25 *** master_ninja has quit IRC (Quit: sleep) 2011-10-24T18:20:02 ajf: we already are doing that for python, and any other script language 2011-10-24T18:20:10 McLeopold: doesn't look like it 2011-10-24T18:20:20 it catches SYNTAX errors in the TEST CASE 2011-10-24T18:21:21 *** djr_ has joined #aichallenge 2011-10-24T18:21:34 the test case runs the bot, which will compile it to byte code 2011-10-24T18:21:51 *** Kingpin13 has quit IRC (Quit: quit) 2011-10-24T18:22:00 McLeopold: you should precompile it to bytecode such that it catches these errors at compile stage not test case 2011-10-24T18:22:19 what's the difference? 2011-10-24T18:22:25 aka, there is none 2011-10-24T18:22:30 error message really :/ 2011-10-24T18:23:37 meh 2011-10-24T18:23:45 McLeopold: actually, may I ask 2011-10-24T18:23:50 why wasn't PyPy used? 2011-10-24T18:23:59 It could have massively boosted Python performance 2011-10-24T18:24:25 ajf: I'd still like to add pypy as an alternative 2011-10-24T18:25:07 it's not really quite close enough to a completely stable drop in replacement to make it the default though 2011-10-24T18:25:29 *** tdubellz has quit IRC (Quit: brb) 2011-10-24T18:25:34 janzert: true 2011-10-24T18:25:57 I feel sorry for the people using PHP :P 2011-10-24T18:26:19 McLeopold: what do you think of these color tweaks? http://dl.dropbox.com/u/9140666/ants/game_logs/replay.0.html (mostly just brighter background and food, then tweaked a few players so they showed up still for red-green color blind) 2011-10-24T18:26:23 *** doskir has quit IRC (Ping timeout: 244 seconds) 2011-10-24T18:26:42 *** tdubellz has joined #aichallenge 2011-10-24T18:27:01 although I'd like ChrisH to look at it and make sure I didn't make it worse though 2011-10-24T18:28:04 *** ajf is now known as ajf|offline 2011-10-24T18:29:28 *** levis501 has joined #aichallenge 2011-10-24T18:29:36 >> I feel sorry for the people using PHP 2011-10-24T18:29:45 o, sorry, pressed enter 2011-10-24T18:30:06 want to say that with PHP the task is just more interesting ) 2011-10-24T18:30:18 *** Murashka has quit IRC (Ping timeout: 265 seconds) 2011-10-24T18:30:28 that extra challenge, eh? 2011-10-24T18:30:59 aha ) 2011-10-24T18:31:43 but I still have a big CPU time reserve, although I prepare all needed A* searches 2011-10-24T18:34:40 bearoff: are you using PHP? 2011-10-24T18:35:12 oh yes, you are 2011-10-24T18:35:12 nice 2011-10-24T18:35:41 *** vasya has joined #aichallenge 2011-10-24T18:36:33 on main board is old stupid version, if interesting ) 2011-10-24T18:40:08 ah, finally, my bot doesn't kill its own ants at all 2011-10-24T18:40:16 heh 2011-10-24T18:40:26 feels good doesn't it Fluxid? 2011-10-24T18:40:38 janzert: I don't like the food color. The green may be too dark, but I would ask ChrisH 2011-10-24T18:40:57 'course, mine just get stuck at an impasse if they're moving against each other 2011-10-24T18:41:05 but at least they don't suicide pact 2011-10-24T18:41:42 food color because it is too pale? 2011-10-24T18:41:53 *** Redgis has quit IRC (Ping timeout: 244 seconds) 2011-10-24T18:42:35 I feels it's too pale, just as I'm sure you found having a hard time finding a spot to fit it between the other colors :} 2011-10-24T18:43:18 janzert: because it is green 2011-10-24T18:43:19 ish 2011-10-24T18:43:32 *** foRei has quit IRC (Read error: Connection reset by peer) 2011-10-24T18:43:35 So, I think the tweaks make it worse, acording to Vischeck 2011-10-24T18:43:48 Fluxid: how????????????? 2011-10-24T18:43:50 *** cybsy has quit IRC (Ping timeout: 276 seconds) 2011-10-24T18:43:51 oh :( part of my motivation to change was to make food green like plants, grass 2011-10-24T18:43:52 janzert: get ImageJ and the vischeck plugin to test 2011-10-24T18:44:54 *** JamesMG has joined #aichallenge 2011-10-24T18:45:25 the 6-10 players and 7-9 players are a little too close 2011-10-24T18:46:51 I don't think I changed any of those? 2011-10-24T18:47:09 at least git diff seems to say I didn't 2011-10-24T18:47:18 *** bearoff has left #aichallenge 2011-10-24T18:47:50 only player colors I changed were 4 and 5 2011-10-24T18:47:50 *** Larose has quit IRC (Quit: Leaving.) 2011-10-24T18:47:59 with a 1 based indexing 2011-10-24T18:48:07 *** JamesMG_ has quit IRC (Ping timeout: 260 seconds) 2011-10-24T18:49:55 so what do you think of food as? i.e. what base color for it seems natural to you? 2011-10-24T18:50:07 green 2011-10-24T18:50:23 or white 2011-10-24T18:50:27 *** replore has quit IRC (Remote host closed the connection) 2011-10-24T18:50:56 *** jtamer has joined #aichallenge 2011-10-24T18:51:17 *** jtamer has quit IRC (Client Quit) 2011-10-24T18:53:45 janzert: I was going with the dirt color, so that I had fewer hues that were off limits for ant colors 2011-10-24T18:54:04 right now blue and brown are the only non-ant colors 2011-10-24T18:54:55 AndrewBC: tried three ways, the third one worked finally 100% perfect. and tries harder not to block hive 2011-10-24T18:55:16 Fluxid: which way would that be? ;x 2011-10-24T18:55:32 *** chiller has joined #aichallenge 2011-10-24T18:55:42 I really think that water, dirt and food should be very neutral and blend into the background. I only really care about watching ants move around, and sometimes about a path or food gathering. 2011-10-24T18:55:50 *** choas has quit IRC (Ping timeout: 244 seconds) 2011-10-24T18:56:03 *** chiller has quit IRC (Client Quit) 2011-10-24T18:56:50 *** Siretu has joined #aichallenge 2011-10-24T18:57:05 pedrosorio: i have sorted list of directions where ant X wants to move, sorted by confidence. it considers one direction. if it is taken by ant Y which has lower confidence, X asks Y to reconsider its move. if Y has higher confidence, then X tries another direction from move 2011-10-24T18:57:21 Hey, anyone here has any experience getting C# up and running for this? 2011-10-24T18:57:37 Fluxid: I see 2011-10-24T18:57:46 A friend of mine wants to use C# but the lack of documentation for it is making it hard for him 2011-10-24T18:57:54 hmm, I really like having the map clearly delineated and food standing out. No matter which team I'm watching those are important secondary concerns I'm paying attention to 2011-10-24T18:58:01 *** Sevion has joined #aichallenge 2011-10-24T18:58:02 if there are no more directions in list, ant sets state "fuck you all" on itself and doesn't move at all then other ants can't ask it to reconsider 2011-10-24T18:58:13 lol 2011-10-24T18:58:45 *** Zergatul has joined #aichallenge 2011-10-24T18:58:46 AndrewBC: move from hive has really high confidence, so other ants must go away from ant going down from hill 2011-10-24T18:58:59 Fluxid: yeah, interesting, I also have preferred directions for each ant, but I don't have a "ask to reconsider", I just try different options 2011-10-24T18:59:05 mm yeah, that makes sense 2011-10-24T18:59:28 Fluxid: sets state "fuck you all" rofl 2011-10-24T18:59:45 aichallenge: McLeopold epsilon * rab6fd79 / (2 files): add isVisible to java starter bot - http://git.io/vRJ5HQ 2011-10-24T18:59:45 aichallenge: McLeopold epsilon * rd1c0434 / (20 files in 10 dirs): Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/6R3vFg 2011-10-24T18:59:46 *** Siretu has quit IRC (Client Quit) 2011-10-24T18:59:55 pedrosorio: because it can't move anywhere, so gets into emo mode or something ;P 2011-10-24T19:00:41 Hi. Can somebody help me? What the test is failed when my code status is "Test Error: compiled, but failed test cases"? 2011-10-24T19:01:05 I uploaded code many times early, and it works fine 2011-10-24T19:01:05 now i can have ants walking around own hive with lover confidence to fight with enemy, and thanks to lower confidence attacker or explorer ants can go away from hill 2011-10-24T19:01:07 Zergatul: try using the test_bot.sh from the tools 2011-10-24T19:01:43 *** aslvrstn has quit IRC (Ping timeout: 265 seconds) 2011-10-24T19:01:58 Does anyone know how to test C# code? I've looked on google and some forums but can't seem to figure it out. Also, I use Visual Studio 2010 to code. 2011-10-24T19:03:42 AndrewBC: are there other ways? i'm not reading much and try to think by myself :D 2011-10-24T19:03:59 Fluxid: no idea 2011-10-24T19:04:00 maybe there are better 2011-10-24T19:04:05 it's a problem I have to solve myself 2011-10-24T19:04:38 <_flag> Does anyone else have problems with timeouts on the tcp server? I never get any playing against myself but I timeout on tcp every ~10 games or so 2011-10-24T19:04:43 well, fully anyway. my current solution is not really a solution 2011-10-24T19:05:11 i need to think of something to give ant confidence to come closer to enemy if there are more of brothers around... 2011-10-24T19:05:19 *** paulwal has joined #aichallenge 2011-10-24T19:05:40 Fluxid: auras! ^_^ 2011-10-24T19:05:45 _flag: this can be anything, packet loss, etc 2011-10-24T19:05:45 Anyone know how to test C# code? 2011-10-24T19:05:49 is it possible for a dead ant to be on the same tile as an active hill? 2011-10-24T19:05:49 AndrewBC: auras? 2011-10-24T19:05:55 _flag: the TCP server also displays your crashes as timeouts, it cant tell 2011-10-24T19:06:03 are the dead ants even useful? 2011-10-24T19:06:04 ant steps near ant, both gain 0.05 confidence 2011-10-24T19:06:29 _flag: but other than that, I had a few unexpected timeouts, but only very very few 2011-10-24T19:06:32 <_flag> olexs: I don't crash either 2011-10-24T19:06:46 <_flag> I guess it's not every ~10, it's a little less frequent 2011-10-24T19:06:53 <_flag> But it still happens too often for my own liking 2011-10-24T19:07:23 AndrewBC: i guess i can change "repell" strategy to "chaaaarge!" strategy if there are more ants on neighbouring cells 2011-10-24T19:07:31 heh 2011-10-24T19:08:14 *** simsim has joined #aichallenge 2011-10-24T19:08:21 Hello 2011-10-24T19:08:21 <_flag> Fluxid: The "tcp" nature of the server should account for packet loss, no? Unless my connection cuts out for entire periods of time 2011-10-24T19:08:41 Fluxid, I haven't found a use for dead ants yet 2011-10-24T19:08:45 tcp accounts for packet loss, by making sure it gets there eventually 2011-10-24T19:09:01 you have to account for how long it takes to get there eventually. 2011-10-24T19:09:30 paulwal: i don't even see them in stream... 2011-10-24T19:10:55 is it easy to run manager locally, to test few versions of my bot and sort them by rank? 2011-10-24T19:10:55 Does anyone know how to get C# to work? 2011-10-24T19:12:18 Sevion: no idea... i think contest is too hard for windows guys because afaik it needs cygwin... but no idea really. maybe just ask for testing on windows not jus c# 2011-10-24T19:13:21 Fluxid, what needs cygwin? o.O 2011-10-24T19:13:25 Fluxid: D: I've been trying to figure out how to test all day x_x 2011-10-24T19:14:03 *** NefariousZhen has joined #aichallenge 2011-10-24T19:14:07 <_flag> Fluxid: What do you have the timeout time set to? 2011-10-24T19:14:24 *** goffrie_ has joined #aichallenge 2011-10-24T19:14:42 *** goffrie has quit IRC (Read error: Operation timed out) 2011-10-24T19:15:40 I'm taking a night off from ants, the better to come back fresh tomorrow 2011-10-24T19:15:57 Seeya guys! 2011-10-24T19:16:00 I'm having trouble getting started with the scala starter package. Are there any details on what's required to be in the tar file and stuff like that? 2011-10-24T19:16:33 I can submit the starter package by itself, but I can't seem to make my own with minor modifications. 2011-10-24T19:16:41 _flag: afair its 5s 2011-10-24T19:17:51 <_flag> Fluxid: Okay, I suppose it could be an occasional lag-spike issue, thanks :) 2011-10-24T19:18:36 s/its/it's/ 2011-10-24T19:18:44 i need to learn more prope english 2011-10-24T19:18:48 proper 2011-10-24T19:21:51 hmm ok. I can apparently upload it if it's a zip file. What do I need to do to run it with the play_one_game_live.sh script? the ui says it crashes, but I can't really see why 2011-10-24T19:22:19 *** Sevion has quit IRC (Quit: Page closed) 2011-10-24T19:23:57 *** lockpick has quit IRC (Ping timeout: 265 seconds) 2011-10-24T19:27:25 damn, i've got no idea what's going on with the ants-tcp github repositories 2011-10-24T19:28:44 i mean, https://github.com/Ashod/ants-tcp had lots more stuff, but then https://github.com/berak/ants-tcp added things 2011-10-24T19:28:57 it seems to add mostly the same stuff, but with different commits 2011-10-24T19:29:13 and now i'm like "what ._." 2011-10-24T19:29:34 lol 2011-10-24T19:29:43 check out the fork graph maybe 2011-10-24T19:30:02 your best bet to write your own from scratch 2011-10-24T19:30:04 * Alexer wishes there was an official repository for ants-tcp at https://github.com/aichallenge ._. 2011-10-24T19:30:06 2011-10-24T19:30:30 bah, who needs officiality when you can fork at will 2011-10-24T19:30:37 * AndrewBC forks ALL the things 2011-10-24T19:30:55 AndrewBC, ashod forked from berak and added stuff, but then berak apparently added the same stuff, but with different commits ._. 2011-10-24T19:32:05 AndrewBC, well, i want to know what's the upstream to send pull requests when i fix bugs so that the servers get updated :P 2011-10-24T19:32:56 on the other hand, i should be working, not playing with ants or fixing bugs in ants-tcp >.>' 2011-10-24T19:33:33 @seen ashod 2011-10-24T19:33:33 Alexer: I have not seen ashod. 2011-10-24T19:33:36 @seen ash0d 2011-10-24T19:33:36 Alexer: ash0d was last seen in #aichallenge 1 day, 19 hours, 47 minutes, and 41 seconds ago: msk, on the server it's 500ms 2011-10-24T19:36:34 lol, another homework extension at ai-class.com 2011-10-24T19:37:25 *** mceier has quit IRC (Quit: leaving) 2011-10-24T19:37:29 *** skyramp_ has quit IRC (Ping timeout: 265 seconds) 2011-10-24T19:38:08 *** NefariousZhen has quit IRC (Quit: Page closed) 2011-10-24T19:38:30 *** Akranis has quit IRC (Ping timeout: 255 seconds) 2011-10-24T19:39:31 Alexer: does git not handle merging commits with the same changes well? 2011-10-24T19:40:22 been a while since git was my primary vcs 2011-10-24T19:40:37 but i would think it would handle this case well anyway 2011-10-24T19:43:13 jmcarthur, i guess it would handle the merging, but i'm more baffled by WHY on earth does the other repository have almost identical changes with different commits?! 2011-10-24T19:43:32 *** yoda has joined #aichallenge 2011-10-24T19:43:48 Alexer: because of the timestamp? 2011-10-24T19:44:07 i mean, why on earth would you not merge the changes from the other repo but instead make almost the same commits by hand?! 2011-10-24T19:44:11 *** haha has joined #aichallenge 2011-10-24T19:44:18 *** yoda has quit IRC (Client Quit) 2011-10-24T19:44:36 ah 2011-10-24T19:45:01 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-24T19:45:12 yeah, they have different commit messages too, and the later one has smaller number of commits added.. 2011-10-24T19:45:32 *** okayzed has joined #aichallenge 2011-10-24T19:45:33 https://twitter.com/#!/waynecotter/status/128613561319702528 :p 2011-10-24T19:45:39 i haven't yet looked whether it adds all the stuff that the other one does 2011-10-24T19:46:12 or maybe i'm just bad at git and this is totally normal and i'm being an idiot ._.' 2011-10-24T19:46:26 git was very logical for me 2011-10-24T19:46:43 at least, until the level of the command I couldn't remember 2011-10-24T19:46:48 *commands 2011-10-24T19:47:26 avdg1, oh, i find it logical too, now that i can somewhat use it 2011-10-24T19:47:45 i just have no idea about collaboration workflows 2011-10-24T19:48:07 meh, maybe I watched some svn and had a warning to forget everything about svn 2011-10-24T19:48:30 golden git rule: if svn has feature x, git shall do !x 2011-10-24T19:50:00 one the thing i love about git: it lets you change stuff 2011-10-24T19:50:08 err 2011-10-24T19:50:11 one thing i love about git: it lets you change stuff 2011-10-24T19:50:17 its just an open db 2011-10-24T19:50:17 one thing i hate about git: it lets you change stuff 2011-10-24T19:50:27 hmm... my bots are getting "move blocked" for trying to move into locations that aren't water 2011-10-24T19:50:33 could food be causing that somehow? 2011-10-24T19:50:56 yeah, possible 2011-10-24T19:51:01 *** haha has quit IRC (Ping timeout: 265 seconds) 2011-10-24T19:51:32 so if food appears next to an ant, you can't move into that square in the next turn? I get it now :) 2011-10-24T19:51:52 its just bad uhh good luck 2011-10-24T19:52:08 thestinger, probably. i tracked one of those for a live game, looked at the "turn N moves ignored" "o COORDINATE DIRECTION" and looked at the replay at that turn -> there was nothing there 2011-10-24T19:53:20 ah, I fixed it 2011-10-24T19:53:35 you have to check if squares next to you contain food 2011-10-24T19:54:09 I need to do it because of the way I avoid collisions - if a location contains an ant but it is moving somewhere, you can move there 2011-10-24T19:54:18 so the move blocked stuff was also causing collisions xD 2011-10-24T19:54:35 avdg1, i'd love a version control system that had a two level-versioning >:P i mean, it'd let you change stuff, but it would keep versions of those changes. in theory anyway. in practice it probably wouldn't be that nice, if i actually got to try it.. 2011-10-24T19:55:13 @later tell sir_macelon can you review the java tutorial? 2011-10-24T19:55:13 McLeopold: Aye, aye, sir 2011-10-24T19:55:24 @Alexer: thats git already right? 2011-10-24T19:55:25 avdg1: Run as fast as you can and don't look back. 2011-10-24T19:55:43 thestinger, oh, damn, true :D i've got to fix that too at some point then, i guess :P 2011-10-24T19:55:44 *** okayzed has quit IRC (Quit: Coyote finally caught me) 2011-10-24T19:56:19 meh, did I triggered something? 2011-10-24T19:56:38 avdg1, git does let you change stuff, and *kind* of keeps versions of those changes, but it clears the "second level versioning" after a while 2011-10-24T19:56:41 bah, fell from 30 to 41 place :( 2011-10-24T19:57:06 Alexer: yeah, I actually just noticed that, I'm porting my bot from python -> c++ and finding some neat things like that 2011-10-24T19:57:12 Alexer: you probably need some script 2011-10-24T19:57:24 just because I'm looking over code I thought was simple/correct already :P 2011-10-24T19:57:26 avdg1, if you start your line with @, contestbot thinks it's a command and spits out random stuff when the command is invalid :P 2011-10-24T19:57:31 or stash 2011-10-24T19:57:46 Alexer: ty :-) 2011-10-24T19:58:11 avdg1, but i'd like it to be permanent and automatic 2011-10-24T19:58:28 because i *hate* removing anything :P 2011-10-24T19:59:09 me too, but I'm also always complaining about software 2011-10-24T20:00:01 and if I hate something, if its something good, its avoiding it 2011-10-24T20:00:42 meh 2011-10-24T20:01:10 * avdg1 struggles with his english 2011-10-24T20:02:44 *** anty_m has joined #aichallenge 2011-10-24T20:02:48 *** Cowbandit has joined #aichallenge 2011-10-24T20:02:50 *** Knekkebjoern has quit IRC (Quit: Leaving.) 2011-10-24T20:03:14 * SharkMonkey updated bot avdg1 to improve its english 2011-10-24T20:03:20 Is there a method in the java starter package that tells you if a tile is within the viewradius of the ant? 2011-10-24T20:03:27 *** olexs has quit IRC (Quit: Leaving.) 2011-10-24T20:04:48 Is the java starter package really large with tons of utility methods? 2011-10-24T20:04:56 Cowbandit: check the config values 2011-10-24T20:05:27 it should be available in squared format 2011-10-24T20:05:34 ah 2011-10-24T20:05:39 wait so 2011-10-24T20:05:44 does that mean i should write a method that tests 2011-10-24T20:05:57 whether a tile is within that radius? 2011-10-24T20:06:03 yeah 2011-10-24T20:06:07 probably 2011-10-24T20:06:10 or is there one that is given 2011-10-24T20:06:10 o ok 2011-10-24T20:06:15 because i was under the impression by the tutorial 2011-10-24T20:06:22 that there's a written method that does this for you 2011-10-24T20:06:25 ugh... I'm learning C++ as I code and I'm having trouble porting my pathfinding code from python 2011-10-24T20:06:27 can i turn off stopping game when rank is stabilized or there is one lone survivor? 2011-10-24T20:06:44 thestinger: I have to start writing my own ;-) 2011-10-24T20:07:05 i mean, in play_game.py 2011-10-24T20:07:34 *** Gegiet has joined #aichallenge 2011-10-24T20:07:48 Fluxid: I've just committed some code into that part 2011-10-24T20:07:56 it should be in a file called ant.py 2011-10-24T20:08:06 just use search on it 2011-10-24T20:08:12 oh, ok 2011-10-24T20:09:37 *** ajhager has joined #aichallenge 2011-10-24T20:10:34 avdg1: what should i look for? just comment some lines in game_over? 2011-10-24T20:10:47 "lone survivor" 2011-10-24T20:10:52 *** jesionaj has joined #aichallenge 2011-10-24T20:11:04 then yes, comment :) 2011-10-24T20:11:07 it should be the 1st or second result 2011-10-24T20:11:12 dependent on the length 2011-10-24T20:11:28 or you have the wrong file 2011-10-24T20:12:02 just pulled... 2011-10-24T20:12:04 https://github.com/aichallenge/aichallenge/blob/epsilon/ants/ants.py 2011-10-24T20:12:49 *** pedrosorio has quit IRC (Quit: Page closed) 2011-10-24T20:13:01 avdg1: ok, i found it before, you mean line 1374? 2011-10-24T20:13:13 yeah, it should be like that 2011-10-24T20:13:29 you can read code right? 2011-10-24T20:13:42 I've just implemented an extra msg :p 2011-10-24T20:13:56 then i commented it and now it runs as i want, so it's alright... 2011-10-24T20:14:07 :-) 2011-10-24T20:14:39 coool, now my bot keeps as much map visible as possible 2011-10-24T20:14:43 you probably still want it to stop if there are 0 players :p 2011-10-24T20:15:06 no, i wanted to run 800 turns even if there are no players at all 2011-10-24T20:15:14 i mean, one player only 2011-10-24T20:16:05 *** danielharan has joined #aichallenge 2011-10-24T20:16:53 *** replore_ has joined #aichallenge 2011-10-24T20:17:02 now to make defensive strategy... 2011-10-24T20:17:20 *** dorisabayon has quit IRC (Ping timeout: 260 seconds) 2011-10-24T20:17:29 :-) 2011-10-24T20:19:29 my timings seem to be broken, it tells me its 50ms per turn, wtf... it can't be this fast :| 2011-10-24T20:19:44 mine is doing 0 or 1 2011-10-24T20:19:51 js 2011-10-24T20:20:34 what skill? 2011-10-24T20:20:46 *** rhinoattack has joined #aichallenge 2011-10-24T20:21:05 i think v8 is faster than cpython, but with pypy this would be no match :| 2011-10-24T20:21:05 http://aichallenge.org/profile.php?user=280 2011-10-24T20:21:24 my current implementation is a bit more stupid atm 2011-10-24T20:21:28 cool :) 2011-10-24T20:21:35 but I need to fix and improve the core 2011-10-24T20:21:41 ...wow. The vast majority of bots must be the example bots... I made one simple change and I'm in the top 250 and rising... O_o 2011-10-24T20:22:00 anty_m: yeah, thats normal 2011-10-24T20:22:03 *** TheDigitalNinja has joined #aichallenge 2011-10-24T20:22:11 I'm an example bot and somewhere in the 1300s xD 2011-10-24T20:22:21 yikes 2011-10-24T20:22:22 my submitted one is doing random things and its around 750 2011-10-24T20:22:30 *768 2011-10-24T20:22:36 seriously? 2011-10-24T20:22:37 *** Apophis has quit IRC (Ping timeout: 240 seconds) 2011-10-24T20:22:37 lol 2011-10-24T20:22:39 Is there a way to set player names when running test bots with the tools? 2011-10-24T20:22:54 you mean, no map discovery or going to hills? 2011-10-24T20:22:58 plenty of time hopefully for 2000 at least somewhat decent bots :P 2011-10-24T20:23:10 TheDigitalNinja: rename the bots themselves? 2011-10-24T20:23:26 mine has only an exploration strategy, no food collection, no hill attacking, no defense... #248. -_- 2011-10-24T20:23:36 lol 2011-10-24T20:23:36 the one I've posted just goes random directions for random time or after some collisions (dependent on bot count) 2011-10-24T20:23:43 Well they say "Player 1" "Player 2" ect 2011-10-24T20:24:57 well, actually it's 300ms per turn.. this is bad :( 2011-10-24T20:25:02 ah, but with profiler 2011-10-24T20:25:05 hmm, I wonder if the word exhileration showed up somewhere 2011-10-24T20:25:32 fluxid: try to do as much you can while being off? 2011-10-24T20:25:36 now i don't know, can i add more time-expensive stuff or should optimize? 2011-10-24T20:25:58 then benchmark is the way to show ;-) 2011-10-24T20:25:58 avdg1: what do you mean by being off? 2011-10-24T20:26:07 *** simsim has quit IRC (Quit: Page closed) 2011-10-24T20:26:17 uh, lets say when the bot is idling 2011-10-24T20:26:36 ...idling? um. 2011-10-24T20:26:41 well, most time is eating alocating space for floodfill, lol 2011-10-24T20:26:54 avdg1: after sending "go" to manager? 2011-10-24T20:26:59 yeah 2011-10-24T20:27:20 I got 20ms with simple bots 2011-10-24T20:27:41 this should be much higher with bots that uses more calculations 2011-10-24T20:27:57 i'm doing a bit now, but its mostly cleanup 2011-10-24T20:28:01 (unless its parallel) 2011-10-24T20:28:28 most time i need stuff before making moves, not after 2011-10-24T20:28:40 pf stuff? 2011-10-24T20:29:01 I think I already have a way to reduce a lot of calculations 2011-10-24T20:29:12 (but I need codez 2011-10-24T20:29:14 ) 2011-10-24T20:29:17 I was actually getting timeouts from doing too much graph searching/pathfinding in python which is why I'm rewriting it into c++ 2011-10-24T20:29:51 I'm actually trying to put a map into a model 2011-10-24T20:30:02 actually, thats my plan 2011-10-24T20:31:42 *** Zergatul has quit IRC (Quit: Page closed) 2011-10-24T20:32:11 thestinger, Odds are it's an algorithmic issue than a language issue. 2011-10-24T20:32:58 thestinger: up the local timeout to 3 or 5 seconds. If you still timeout, c++ isn't going to help. 2011-10-24T20:33:23 bot runs for 36.673s, 200 turns, 183ms a turn. cpu is 14.411s, so it's 72ms a turn, not bad. 2011-10-24T20:33:30 *** otzi has joined #aichallenge 2011-10-24T20:35:12 thestinger, I'd suggest with the language you're familiar with, unless you really really want to learn c++ right now. 2011-10-24T20:35:24 I do want to learn C++ :) 2011-10-24T20:35:41 * avdg1 is experimenting with a "new" language :p 2011-10-24T20:36:03 *** twymer has joined #aichallenge 2011-10-24T20:36:09 does food always spawn in the same squares? 2011-10-24T20:36:17 cyphase, Nope 2011-10-24T20:36:57 k, thanks 2011-10-24T20:37:07 McLeopold: it doesn't timeout if I increase the timeout or play small maps 2011-10-24T20:37:10 GarySWest shows you can write good, fast bot in python ;) 2011-10-24T20:37:16 yea 2011-10-24T20:37:35 It's random, weighted by wether or not food has appeared or something like that and other things 2011-10-24T20:37:45 unless he's doing os.popen2("myrealbot") 2011-10-24T20:37:47 :P 2011-10-24T20:38:08 http://aichallenge.org/specification.php#Food-Spawning 2011-10-24T20:38:22 http://aichallenge.org/visualizer.php?game=9055&user=1115 this is great, he lost his hill first but razed the most 2011-10-24T20:38:35 *** danielharan has joined #aichallenge 2011-10-24T20:39:00 this one is similar. lost his hill at turn#126 and still won: http://aichallenge.org/visualizer.php?game=6985 2011-10-24T20:39:44 and he doesn't even get food because he know it doesn't matter anymore 2011-10-24T20:39:45 awesome 2011-10-24T20:39:59 this logic is simple, gonna implement it now 2011-10-24T20:40:07 ooh, that's true 2011-10-24T20:40:52 this is so much fun 2011-10-24T20:41:55 i haven't even started on my bots actual logic 2011-10-24T20:41:57 Most fun I've had programming in a long long time. 2011-10-24T20:42:04 Only wish I had more time for it 2011-10-24T20:42:32 i'm starting from scratch, so i've been implementing the bot runner, info parser, etc 2011-10-24T20:43:09 this is coincidence, but a day after i got 11-days long holidays i got info about this challenge... so i have lots of time 2011-10-24T20:43:47 is the server running python bots with -OO 2011-10-24T20:44:10 and on a side note, does anyone else keep typing boy(s) by accident instead of bot(s)? 2011-10-24T20:44:27 *** djr__ has joined #aichallenge 2011-10-24T20:44:39 Hi, how is everyone tonight? 2011-10-24T20:44:39 -OO just strips docstrings/asserts, -O just strips asserts 2011-10-24T20:44:54 so it doesn't really matter 2011-10-24T20:45:04 pypy would be nice though :P 2011-10-24T20:45:23 cyphase, no, but that made me remember a good quote :P 2011-10-24T20:45:43 thestinger: i asked about pypy but noone answered 2011-10-24T20:45:52 ah, but i write in py3 anyway 2011-10-24T20:46:16 I'm pretty sure the server has numpy though 2011-10-24T20:46:45 hmm 2011-10-24T20:47:02 thestinger, Is information like that documented somewhere? 2011-10-24T20:47:46 I don't think so, but I found a thread about it in the forums and importing/using it worked 2011-10-24T20:47:51 Fluxid, < janzert> ajf: I'd still like to add pypy as an alternative 2011-10-24T20:48:21 so it might be coming at some point maybe 2011-10-24T20:48:28 http://aichallenge.org/forums/viewtopic.php?f=25&t=1526&p=9546&hilit=numpy#p9546 2011-10-24T20:48:28 I've come to the sad realisation that I don't understand what this code does >< 2011-10-24T20:48:46 I guess that makes it official 2011-10-24T20:49:01 thestinger, Thanks. I should browse those forums more 2011-10-24T20:50:04 I have a feeling the good python bots are using libraries like numpy, because even the bot you get from just following the tutorial uses a lot of time 2011-10-24T20:50:34 are the available libs documented anywhere? 2011-10-24T20:50:34 I really don't think its necessary 2011-10-24T20:50:45 duh, i don't know scipy/numpy much, so i won't bother now 2011-10-24T20:51:01 thestinger, yea, but the tutorial bot is reeally inefficient. looping however many times through a possibly 14000+ list 2011-10-24T20:51:10 item list* 2011-10-24T20:51:11 but if there was pypy, i'd just port my code to py2 2011-10-24T20:51:34 cyphase: this is why i started from scratch 2011-10-24T20:51:42 i haven't used numpy before, but it sounds like it'd be good, at least for the matrix object 2011-10-24T20:51:58 Fluxid, yea 2011-10-24T20:52:21 *** rmmh has quit IRC (Ping timeout: 252 seconds) 2011-10-24T20:53:04 It's not that ineffecient. Any time I've had a timeout or did any kid of profiling absolutely all my time was being spent in searches 2011-10-24T20:53:40 Premature optimisation is something something something. 2011-10-24T20:53:49 i wonder how would it look if you couldn't store any state at all. program would be run for each turn 2011-10-24T20:53:56 yea, i shouldn't talk 2011-10-24T20:53:59 *** Apophis has joined #aichallenge 2011-10-24T20:54:02 *works on getting his bot to run* 2011-10-24T20:54:07 *** rmmh has joined #aichallenge 2011-10-24T20:54:20 *** than has quit IRC (Ping timeout: 265 seconds) 2011-10-24T20:54:34 I think it would really neat if you just wrote ai for individual ants. 2011-10-24T20:54:46 If that was the contest. 2011-10-24T20:55:01 program for each ant? :) 2011-10-24T20:55:06 yeah, there was an icfp contest like that once 2011-10-24T20:55:15 It's be pretty hard to have interesting emergent behavior if they weren't given a way to communicate I think. 2011-10-24T20:55:15 Fluxid, Well one program. That applied to each of your ants. 2011-10-24T20:55:29 Unless they had a lot more vision than is common currently 2011-10-24T20:55:31 Craklyn: totally untrue 2011-10-24T20:55:49 oh, the contest. someone was doing something like that using Go.. AndrewBC i think 2011-10-24T20:55:52 as long as they can see each other 2011-10-24T20:55:53 No, it's true. That's what I think. 2011-10-24T20:55:57 SharkMonkey: program instances 2011-10-24T20:56:01 heh, ok. 2011-10-24T20:56:08 Fluxid, yeah 2011-10-24T20:56:09 *** jesionaj has quit IRC (Ping timeout: 258 seconds) 2011-10-24T20:56:09 i disagree! 2011-10-24T20:56:49 Good sir, I think now we can have a discussion. Why do you think it would be possible to have interesting emergent behavior with the current typical sight ranges we see if ants could not communicate any information except by their position and movement? 2011-10-24T20:56:53 Craklyn: i think it could work 2011-10-24T20:57:29 have them shout orders down the line 2011-10-24T20:57:38 or get closer if they have to keep them secret 2011-10-24T20:57:41 That's communicating.. 2011-10-24T20:57:48 i know 2011-10-24T20:57:49 because they can predict one another's next move. i think interesting brhavior would emerge 2011-10-24T20:58:03 Craklyn: what is missing is map discovery. then you try just to keep as much map visible as possible. when you see everything, you can start to move ants closes to hills. done 2011-10-24T20:58:03 They can predict one another's move only if they can see what the next ant sees 2011-10-24T20:58:28 right. i guess youre right about the vision complicates things 2011-10-24T20:58:38 also im holding an infant and so can't really type 2011-10-24T20:58:49 :) 2011-10-24T20:59:00 So you're saying that the ants can communicate what they see to one another, Fluxid? 2011-10-24T20:59:22 I'm not sure if I understood your comment, Fluxid :( 2011-10-24T20:59:24 it also depends on what is interesting 2011-10-24T20:59:26 I think bees communicate through movement somehow. You might also go a long way with some stochastic decision based on ants near you. 2011-10-24T20:59:37 Number of ants near you I mean 2011-10-24T20:59:42 but i think, for instance, you could do fairly smart ad-hoc battle groups with the current vision as-is 2011-10-24T20:59:44 Craklyn: what are we discussing now? program instance per ant or not having any state stored between turns? 2011-10-24T20:59:49 If you have lots of time, you could communicate by dancing, yeah. It would burn a lot of your turns, imo 2011-10-24T20:59:53 i'm talking about latter 2011-10-24T21:00:08 I'm going to make my ants try to communicate to other ants with movement, and try to negotiate truces 2011-10-24T21:00:20 not having any state is interesting, but not realistic 2011-10-24T21:00:27 I was imagining that the you had a single instance of the program running for each ant and each ant could see only its own vision. 2011-10-24T21:00:36 i think in the ICFP contest with ants where each ant ran the same program, you could leave trails 2011-10-24T21:00:39 in former case i agree it is really hard with no way to communicate 2011-10-24T21:00:53 burny: Hah. My ants will accept your truce. (then secretly betray you!) 2011-10-24T21:02:45 If the ants could share vision, then you could have all the ants act in pseudocordination. Have each instance of the program calculate what EVERY ant on the board will do. Then just order the one ant it controls. 2011-10-24T21:04:33 ok i will concede your point. you need either more vision or trails (communication of some sort) 2011-10-24T21:05:28 but maybe if your ants march closer together it could be interesting. 2011-10-24T21:05:36 er, I'm getting confused.. each ant has to make a descision on its own, without any historical info, or info from other ants? 2011-10-24T21:05:43 (but inefficiently exploring in the process) 2011-10-24T21:07:38 one process per ant, and each process can output "communicate xxx" and all ants within a certain distance will receive "communication received xxx" 2011-10-24T21:08:03 no parallelism is allowed 2011-10-24T21:08:07 the amount of information communicated per turn could be limited to, say 4 bits 2011-10-24T21:08:23 Are you proposing a new hypothetical paulwal? :P 2011-10-24T21:08:25 AndrewBC, We're playing hypothetical game 2011-10-24T21:08:28 zero persistant data then? 2011-10-24T21:08:32 oh, me 2011-10-24T21:08:32 h 2011-10-24T21:08:34 i mean for the hypothetical contest being discussed 2011-10-24T21:08:40 ahhhh 2011-10-24T21:08:54 AndrewBC, No centralized state. Maybe ants with their own state. 2011-10-24T21:08:56 the hard part about that then.. 2011-10-24T21:08:57 burny: My understanding of the previous hypothetical discussion is different than what you just said... :P 2011-10-24T21:09:18 Ooops, that was paulwal: Not burny :P 2011-10-24T21:09:23 would be having no persistent data 2011-10-24T21:10:07 each process would persist between turns, just not between games 2011-10-24T21:10:30 I would say more, that each ant can have it's own copy of persistent data, and when it returns to the hive: it's data is given to every ant that leaves the ant from then on 2011-10-24T21:10:33 *** tassadar_ has quit IRC (Quit: Page closed) 2011-10-24T21:11:26 i can't find information how fighting works on website... 2011-10-24T21:11:34 that'd be cool... being in the hive = read/write access to database 2011-10-24T21:11:59 ah, found it http://aichallenge.org/specification_battle.php 2011-10-24T21:12:15 as link in the middle of game spec 2011-10-24T21:12:33 then each ant will tend to just gather data, and keep track of it's path home.. and the hive will do all major path finding calculations 2011-10-24T21:12:44 the site could be better organized and written 2011-10-24T21:12:56 do you start with a knowledge of where all the water is? 2011-10-24T21:13:19 or do you have to explore it 2011-10-24T21:13:48 explore 2011-10-24T21:14:13 damn :( that makes writing a pathfinding algorithm a lot harder 2011-10-24T21:14:37 ya it does 2011-10-24T21:15:26 well a challenge is good thing 2011-10-24T21:15:31 *** jesionaj has joined #aichallenge 2011-10-24T21:15:31 agree 2011-10-24T21:16:12 *** pvarga has joined #aichallenge 2011-10-24T21:16:12 I'm gonna need more tea, python documentation does not make light reading xD 2011-10-24T21:16:17 oh: if any organizers are on... last year, I mentioned possibilities of having test servers with slightly modified rules.. 2011-10-24T21:16:33 *** djr_ has quit IRC (Ping timeout: 252 seconds) 2011-10-24T21:16:45 an example of modified rules could be, to have ant sight range, be infinity, on the first round 2011-10-24T21:18:16 *** jesionaj has quit IRC (Client Quit) 2011-10-24T21:18:17 *** msqrdstr has joined #aichallenge 2011-10-24T21:18:35 They should open source all of the bots at the end of the contest, or give each creator the option to. 2011-10-24T21:18:43 When you play the game locally, is it run on a compiiled peice of software, or on uncompiled python code? 2011-10-24T21:18:45 don't they? 2011-10-24T21:18:55 they do? 2011-10-24T21:19:03 (the game engine itself) 2011-10-24T21:19:19 dunno craklyn 2011-10-24T21:19:40 I don't know offhand either. If uncompiled, then burny can set up his request himself :P 2011-10-24T21:20:01 does the game tell you if an enemy hill was destroyed? 2011-10-24T21:20:27 I guess I can just check if a hill isn't there anymore, nvm 2011-10-24T21:20:39 thestinger: If one round you see the hill and subsequent round you don't, you can infer it. I think that's the best you can do. 2011-10-24T21:20:55 *** bnb has quit IRC (Ping timeout: 265 seconds) 2011-10-24T21:22:54 craklyn... the idea I have behind such a server.. is that it lets people who are just starting, test a sub-set of their bot logic 2011-10-24T21:24:16 eg. they can test path finding, without being tripped up on all sorts of other possibilities(eg. not seeing parts of the map, logic deciding that a long discovered path, is better than a short potential path, etc. 2011-10-24T21:24:46 Sure, that makes sense. It doesn't affect my response though :P 2011-10-24T21:25:03 obviously, people can test anything and everything all by themselves 2011-10-24T21:25:40 but if the organizers had a few servers with slightly modified rules, it would help out people who are weaker, and/or don't have a lot of time to put into it 2011-10-24T21:26:26 I'm saying - why don't you make one of these servers? :) 2011-10-24T21:26:42 not worth the time 2011-10-24T21:27:00 The implication of what I'm saying is: (Then why is it worth someone else's time?) 2011-10-24T21:27:17 because everyone could use it 2011-10-24T21:27:27 You could make it and share it just the same.. 2011-10-24T21:27:41 and, many peoples time, is worth less than mine 2011-10-24T21:28:02 *** grom358 has joined #aichallenge 2011-10-24T21:28:05 many people might even WANT to make such modifications 2011-10-24T21:29:05 and, most people in the contest, don't come into irc, or forums 2011-10-24T21:29:16 *** djr__ has quit IRC (Quit: Page closed) 2011-10-24T21:29:46 burny, step 1: download ants-tcp; step 2: modify the game engine; step 3: publish the code and/or host an ants tcp server 2011-10-24T21:32:55 *** anty_m has quit IRC (Quit: Page closed) 2011-10-24T21:33:29 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-10-24T21:36:49 *** he_the_great has joined #aichallenge 2011-10-24T21:41:01 is there a list of programming languages ranked by the number of people reported to break down in tears while trying to learn them? 2011-10-24T21:41:55 *** swinejihad has joined #aichallenge 2011-10-24T21:42:19 ayo swine 2011-10-24T21:42:32 hi 2011-10-24T21:42:36 haskell, haskell, haskell, haskell? (joking :P) 2011-10-24T21:43:07 how does the haskell pack work anyways? 2011-10-24T21:43:39 I'm not that familar with it but I imagine it would be hard to keep track of water tiles in a stateless language 2011-10-24T21:45:41 you can have state in haskell, and you can also do IO anywhere - it's just not idiomatic haskell 2011-10-24T21:46:09 *** Gegiet has quit IRC (Quit: Lost terminal) 2011-10-24T21:47:01 *** alc has joined #aichallenge 2011-10-24T21:47:33 you usually just isolate all the dirty state and IO stuff to a small portion of the code and do things purely in most of it 2011-10-24T21:48:17 *** paul__ has joined #aichallenge 2011-10-24T21:48:23 hello 2011-10-24T21:49:02 Hello paul_ 2011-10-24T21:49:38 hey guys, how difficult is it to setup an ants tcp server? I can host one, but i don't want to spend the whole night messing with it 2011-10-24T21:50:52 *** Saulzar has joined #aichallenge 2011-10-24T21:50:53 *** swinejihad has quit IRC (Ping timeout: 265 seconds) 2011-10-24T21:51:34 paul_: Sorry, I have no idea. You can download it and see how tough it is for you.. 2011-10-24T21:52:03 *** caution has quit IRC (Read error: Connection reset by peer) 2011-10-24T21:58:17 *** djr_ has joined #aichallenge 2011-10-24T21:59:14 *** paulwal has joined #aichallenge 2011-10-24T21:59:21 *** Taehun has joined #aichallenge 2011-10-24T22:00:09 Islacrusez, learning or using or both? 2011-10-24T22:00:47 either or both, I'm not too fussed =P 2011-10-24T22:01:04 *** vladimirfol has joined #aichallenge 2011-10-24T22:01:08 but at this rate it'll be +1 to python by morning 2011-10-24T22:01:10 *** Saulzar has quit IRC (Ping timeout: 260 seconds) 2011-10-24T22:01:19 Islacrusez, i'd like to imagine writing code in brainfuck would bring many people to tears :P 2011-10-24T22:01:20 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-24T22:01:23 ;earning to program, or learning the langauge? 2011-10-24T22:01:31 *** paul__ has quit IRC (Ping timeout: 265 seconds) 2011-10-24T22:01:55 what's the difference? 2011-10-24T22:02:06 I think I'm failing on both counts right now xD 2011-10-24T22:02:10 Islacrusez, python is at the end of the list ;) 2011-10-24T22:02:25 it's like the difference between learning math, and learning to read 2011-10-24T22:02:53 Islacrusez, usually you're learning to program when you're learning your first language 2011-10-24T22:02:53 I'm still failing on both counts =/ 2011-10-24T22:02:59 once you know well versed at programming, learning a new language is generally real easy 2011-10-24T22:03:27 *** rhinoattack has quit IRC (Ping timeout: 265 seconds) 2011-10-24T22:03:31 Islacrusez, when you learn your second language, you already know how to program, you just need to learn the [syntax of the] new language 2011-10-24T22:03:37 if you don't know any language yet, and want to learn how to program: it's easy for the language itself to be a considerable obstacle 2011-10-24T22:04:32 learning to program, and learning a language, really are quite distinct problem sets 2011-10-24T22:05:03 in general though, one skill without the other, isn't very useful 2011-10-24T22:05:17 I'd like to think I know how to program, I'm not sure if I'm finding otherwise or just struggling with the language and the related documentation 2011-10-24T22:05:41 which language(s) have you used before? 2011-10-24T22:05:57 once upon a time, AS2 2011-10-24T22:06:05 as=action script? 2011-10-24T22:06:10 yeah 2011-10-24T22:06:12 * Islacrusez hides 2011-10-24T22:06:12 Islacrusez, python is a language that should be very easy for anyone who knows to program to learn (in that you can often read the code and understand it without knowing the language) 2011-10-24T22:06:35 Islacrusez, in contrast to eg. haskell :D 2011-10-24T22:07:00 most of the python I've seen, is incomprehendible 2011-10-24T22:07:12 burny, how so? 2011-10-24T22:07:25 the easier to learn, the less you have learned :P 2011-10-24T22:07:31 ok, something reaally simple, like say this: 2011-10-24T22:07:33 >>> for n in range(2, 10): ... for x in range(2, n): ... if n % x == 0: 2011-10-24T22:08:09 what am I looking at, in plain english? 2011-10-24T22:08:32 looks incomplete 2011-10-24T22:08:35 it is 2011-10-24T22:08:57 a poorly coded loop 2011-10-24T22:09:05 Islacrusez, you know what "for i in range(a, b)" does? 2011-10-24T22:09:09 [... | n <- [2..10], x <- [2..n], n % x == 0] 2011-10-24T22:09:27 That really clarified it, jmcarthur.... 2011-10-24T22:09:29 *** amstan has joined #aichallenge 2011-10-24T22:09:29 *** ChanServ sets mode: +o amstan 2011-10-24T22:09:35 jmcarthur: not helping 2011-10-24T22:09:42 * msqrdstr understood what jmcarthur meant.. 2011-10-24T22:09:51 it's just math notation, really 2011-10-24T22:09:54 Alexer: I probably should, but if I do it just ain't clicking 2011-10-24T22:09:56 If you understood what jmcarthur says then you're probably not asking for help... 2011-10-24T22:10:08 jmcarthur: math notation != plain english 2011-10-24T22:10:15 ah functional languages make for nice code, but I just can't leave the close-to-the-metal nature of a systems language and the good old syntax 2011-10-24T22:10:31 python has list comprehensions too 2011-10-24T22:10:41 (stole the idea from haskell, they did) 2011-10-24T22:10:51 imo, you end up getting used to the syntax of whatever language you're using most and you hate everything else 2011-10-24T22:10:55 and haskell stole it from? ... 2011-10-24T22:11:01 Islacrusez, well, it makes i go from a to b-1 2011-10-24T22:11:07 well, math notation i suppose 2011-10-24T22:11:10 set notation, that is 2011-10-24T22:11:27 not true for everyone stringer.. 2011-10-24T22:11:31 I for isntance, hate all languages 2011-10-24T22:11:44 Islacrusez, so in the first one n goes from 2 to 9 2011-10-24T22:11:59 *** foob has joined #aichallenge 2011-10-24T22:12:01 burny: xD 2011-10-24T22:12:25 oh, right, and then x goes 2 to n-1 2011-10-24T22:12:28 thestinger: I'm using D currently, and it tries to be multi-paradigm, but with a C-style syntax. Lamdas sure don't look pretty with explicit braces, return and semicolon: { return x+y; } 2011-10-24T22:12:34 how does battling work? i can't find it on the website.. 2011-10-24T22:12:40 and then divides one by the other? er? what does % do? 2011-10-24T22:12:44 Alexer: only through 9? doesn't work the way i thought it would 2011-10-24T22:12:50 my version is a bad translation then 2011-10-24T22:13:15 Islacrusez, and on the first iteration with n = 2, so the second level is range(2, 2), so it doesn't do anything 2011-10-24T22:13:20 foob: the spec links to a page that explains it in detail 2011-10-24T22:13:33 foob: search in the spec for "focus" 2011-10-24T22:13:42 When I started programming functional languages didn't even exist in most people's heads. It was just about the time when Python started to become famous among insiders. 2011-10-24T22:13:47 Islacrusez: % is the modulus operator 2011-10-24T22:13:47 Islacrusez, and on the second iteration with n = 2, so the second level is range(2, 3), so x just gets 2 2011-10-24T22:13:55 [02:11] ah, found it http://aichallenge.org/specification_battle.php 2011-10-24T22:13:57 Islacrusez: a % b gives the reminder of a divided by b 2011-10-24T22:15:44 oook, you lost me 2011-10-24T22:15:44 jmcarthur: thanks! 2011-10-24T22:15:51 foob: cound how many ants are in range of each ant.. then, if any ant in range: is in range of less(or same) ants.. you die 2011-10-24T22:16:08 Islacrusez: what are you confused about? 2011-10-24T22:16:10 *** lambdabot has joined #aichallenge 2011-10-24T22:16:14 *** xar0l_ has joined #aichallenge 2011-10-24T22:16:17 jmcarthur, yeah, range(a, b) goes from a to b-1, so range(len(some_list)) gives the indices of a list 2011-10-24T22:16:37 jmcarthur, ah, and range(x) is short for range(0, x) 2011-10-24T22:17:08 > [(n,x) | n <- [2..9], x <- [2..n-1], n % x == 0] 2011-10-24T22:17:09 [] 2011-10-24T22:17:26 > [(n,x) | n <- [2..9], x <- [2..n-1], n `mod` x == 0] 2011-10-24T22:17:27 [(4,2),(6,2),(6,3),(8,2),(8,4),(9,3)] 2011-10-24T22:18:09 *** danielharan has joined #aichallenge 2011-10-24T22:18:25 *** levis501 has quit IRC (Quit: levis501) 2011-10-24T22:19:36 Alexer: that explains some python that somebody i interviewed last week wrote, i think 2011-10-24T22:19:53 *** question_ has joined #aichallenge 2011-10-24T22:19:59 Alexer: i was confused why you would specify the end of the range to be one past the end of the range he was actually talking about. i guess it's a python convention 2011-10-24T22:20:16 hello, is there anybody here that can help me with a c++ crash? 2011-10-24T22:20:33 i admit it did work out well. it means that the difference of the numbers is the length of the list it represents 2011-10-24T22:20:47 I have a very horribly written thing to get food, but something is causing a crash when I upload it, there are many holes in it but it was just for test 2011-10-24T22:21:05 *** guest_____ has joined #aichallenge 2011-10-24T22:21:14 jmcarthur, if you think about it: for(i = 0; i < n; i++) => for i in range(0, n) 2011-10-24T22:21:33 http://aichallenge.org/forums/viewtopic.php?f=25&t=1589 2011-10-24T22:21:43 If you upload unmodified C++ code in the same way, does it work question_? 2011-10-24T22:21:44 that is the link to my post, i have made both changes, but it still crashes 2011-10-24T22:22:00 Alexer: sure, but n normally represents the length, not the upper bound 2011-10-24T22:22:16 Alexer: in this range notation, however, it means the upper bound (since the lower bound isn't necessarily 0) 2011-10-24T22:22:19 Is the default Java starter bot broken? It crashes on start when I try to run it. 2011-10-24T22:22:24 or, rather, one past the upper bound 2011-10-24T22:22:28 it worked when i uploaded the first starter package 2011-10-24T22:23:10 I gave up on the java package earlier; it was broken for me for some reason 2011-10-24T22:23:37 that range function would make more sense to me if the second parameter was actually the length instead of something representing the upper bound, i think 2011-10-24T22:23:44 jmcarthur, mmm, why one past upper bound? if length = n, indexes go from 0 to n-1, so n is the upper bound? (unless we just use different terminology :P) 2011-10-24T22:24:09 I get a java.lang.ClassNotFoundException whenever I run it. 2011-10-24T22:24:18 Alexer: the typical for loop starts at zero and goes up to some length 2011-10-24T22:24:43 guest______ I got that too when I ran java in linux. If you use windows, it works correctly (but you're using windows...) 2011-10-24T22:24:54 *** levis501 has joined #aichallenge 2011-10-24T22:25:03 I honestly have no idea what could be the problem now, getting rid of the +1 makes sense so i did, but it still crashes 2011-10-24T22:25:15 > let enumFromN start len = take len [start..] in enumFromN 0 10 2011-10-24T22:25:16 [0,1,2,3,4,5,6,7,8,9] 2011-10-24T22:25:26 Alexer: ^^ that's how i interpret that for loop 2011-10-24T22:25:53 Question: You have a syntax error at runtime but not at compile-time? 2011-10-24T22:26:41 jmcarthur, and that's what it does; range(0, 10) == [0,1,2,3,4,5,6,7,8,9] 2011-10-24T22:27:00 which is what you get with for(i = 0; i < 10; i++) too 2011-10-24T22:27:21 i can run the code on the play_one_game.cmd but running test_bot.cmd it says crash turn 0 bot 1 and same when I upload to the server 2011-10-24T22:27:22 Alexer: but my point is that when the start is not 0, the second parameter is no longer length and instead becomes this strange one-past-the-end thing 2011-10-24T22:27:57 Alexer: what i'm trying to get at is that range looks more like the semantics of a for loop than the semantics of an interval 2011-10-24T22:28:05 for(i=10;i--;) 2011-10-24T22:28:16 > [10,9..] 2011-10-24T22:28:17 question_: It looks like your code is failing to compile on the server. Do you agree? 2011-10-24T22:28:18 [10,9,8,7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,... 2011-10-24T22:28:40 craklyn: i agree 2011-10-24T22:29:11 Youu should make sure that you're saving your document in plaintext format and that it's not writing newlines in a special way because of your platform. 2011-10-24T22:29:20 kk 2011-10-24T22:29:26 i will try that and upload again 2011-10-24T22:29:26 I think windows adds a goofy character to the end of lines that unix doesn't like 2011-10-24T22:29:38 Craklyn: dos2unix is your friend 2011-10-24T22:29:45 It's not my friend... 2011-10-24T22:30:04 jmcarthur, that just means you're iterating a list of length N starting from some other index than 0 ;) 2011-10-24T22:30:10 usually 2011-10-24T22:30:32 Alexer: but the second parameter isn't length 2011-10-24T22:30:35 to range, that is 2011-10-24T22:30:57 the second parameter to my enumFromN function above is 2011-10-24T22:31:09 jmcarthur, yeah 2011-10-24T22:31:22 *** sdfsdf has joined #aichallenge 2011-10-24T22:32:00 > let range a b = [a..b-1]; enumFromN a b = take b [a..] in (range 2 4, enumFromN 2 4) 2011-10-24T22:32:01 ([2,3],[2,3,4,5]) 2011-10-24T22:32:12 jmcarthur, that works well for most use-cases of range(). list-slicing uses the same notation, more often it's there that you need lengths 2011-10-24T22:32:13 guest_____, someone had that problem with the java starter bot last night. mcstar figured out why. I think it has something to do with the test scripts not expecting a .jar filetype 2011-10-24T22:32:53 i don't think i've ever written "range(a, a + n)" 2011-10-24T22:33:17 but "some_list[a:a+n]" comes up quite often 2011-10-24T22:33:34 i assume by list you mean array? 2011-10-24T22:33:56 slicing in haskell is usually specified by offset and length 2011-10-24T22:34:00 paulwal: The .jar filetype works for me in windows. It doesn't work for me in cygwin or linux :( 2011-10-24T22:34:07 jmcarthur, what's the difference here? :P 2011-10-24T22:34:29 slice a n instead of slice a (a+n) 2011-10-24T22:34:46 jmcarthur, no, i meant between list and array? 2011-10-24T22:34:58 arrays are packed in memory 2011-10-24T22:35:07 lists are just linked lists 2011-10-24T22:35:32 yeah, array in that terminology 2011-10-24T22:35:33 sometimes people use "list" to mean some higher level idea of "sequence" 2011-10-24T22:35:44 wow that was a really annoying process 2011-10-24T22:35:45 so it's ambiguous, which is why i was asking 2011-10-24T22:35:52 now to wait and see if the server accepts it 2011-10-24T22:35:55 since slicing doesn't make a lot of sense with linked lists 2011-10-24T22:36:15 python slicing makes a new shallow copy 2011-10-24T22:36:22 *** bmh has joined #aichallenge 2011-10-24T22:36:22 *** bmh has joined #aichallenge 2011-10-24T22:36:23 ew! 2011-10-24T22:36:31 you can do [start:stop:step] too 2011-10-24T22:36:43 jmcarthur, so if you want to iterate from some index to the end of a list, you do something like "enumFromN a b-a"? 2011-10-24T22:36:44 it's a high level language, it isn't designed with speed as the first concern 2011-10-24T22:36:45 i guess it has to so that you don't have any surprised when you mutate the result 2011-10-24T22:36:52 *surprises 2011-10-24T22:36:57 well, you can use slicing to change the original list too 2011-10-24T22:37:01 the meaning is overloaded 2011-10-24T22:37:06 syntax* 2011-10-24T22:37:06 if you're using mutation, you're doing it wrong :) 2011-10-24T22:37:35 Alexer: enumFromN is a generator 2011-10-24T22:37:42 (in a sense) 2011-10-24T22:37:51 you can make efficient haskell code, but it's very hard to write. At least I think so. 2011-10-24T22:38:04 you can do some_list[2:3] = [3,4] 2011-10-24T22:38:17 and it changes some_list 2011-10-24T22:38:25 Alexer: if i want to iterate over a list i'll use some higher order function 2011-10-24T22:38:26 but otherwise it makes a shallow copy 2011-10-24T22:38:50 if you follow haskell-cafe you'll see it, sooner or later :P 2011-10-24T22:38:53 thestinger: the principle of least surprise can be surprising sometimes 2011-10-24T22:38:56 *** tron has joined #aichallenge 2011-10-24T22:39:10 Is there a workaround to the problem or should I maybe start off with a different language for now? 2011-10-24T22:39:13 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-10-24T22:39:25 *** Transformer has joined #aichallenge 2011-10-24T22:39:29 jmcarthur: yeah, python actually has a LOT of syntax/sugar so some things are a bit surprising 2011-10-24T22:39:49 Hi all 2011-10-24T22:39:56 less surprising than ruby at least 2011-10-24T22:40:05 by convention, at least 2011-10-24T22:40:26 yeah, it's a lot more consistent because ruby just has so many methods/features 2011-10-24T22:40:28 I just got the basic package running, and now I'm wondering how to print debug information to the terminal 2011-10-24T22:40:32 Craklyn: it did not work 2011-10-24T22:40:49 Same error as before? 2011-10-24T22:40:57 *** Transformer has left #aichallenge 2011-10-24T22:40:58 Craklyn: is there anything else that could case the "turn 0 bot 1" thing? and yes same error 2011-10-24T22:41:15 Alexer: so to answer your question more directly, i think the simplest way to do what you ask is just drop a 2011-10-24T22:41:35 I'm not sure exactly how this system works. This is the blind leading the blind :P 2011-10-24T22:41:39 Alexer: but it's a hard question to answer since your question implies some operational details which are not fundamental to most list algorithms (this notion of iterating) 2011-10-24T22:41:59 brb 2011-10-24T22:42:22 Alexer: maybe a more specific question would be easier to answer 2011-10-24T22:42:25 question_: In your uploaded folder, are you uploading the executable program that you compiled locally? 2011-10-24T22:42:36 It looks to me like you are. Maybe you shouldn't do that. 2011-10-24T22:42:57 Is the rate at which food is added uniform? 2011-10-24T22:43:11 nm, looks like I can just use stderr 2011-10-24T22:43:28 tron: yeah that's a fine way 2011-10-24T22:43:34 jmcarthur, well then, how do you get a list of pairings from numbers less than n? in python, you'd say: [(i, j) for i in range(n) for j in range(i)] 2011-10-24T22:43:38 *** dvladim has joined #aichallenge 2011-10-24T22:43:48 back and no 2011-10-24T22:43:51 so for n=3 you get [(1, 0), (2, 0), (2, 1)] 2011-10-24T22:44:17 i put all of the files that were contained in the starter (but modified) and send that 2011-10-24T22:44:26 Is the server a windows machine? Or why is it the file called "natebot.exe"? 2011-10-24T22:44:26 Alexer: what is it that range(n) represents again? 2011-10-24T22:44:35 0 to n exclusive 2011-10-24T22:44:38 Alexer: [0..n-1]? 2011-10-24T22:44:40 okay 2011-10-24T22:45:00 oh, wait, i missed my point in there somewhere o.O 2011-10-24T22:45:12 * jmcarthur waits 2011-10-24T22:45:34 jmcarthur, no, i want to know that too, while i'm at it :D 2011-10-24T22:45:48 the most direct translation would be a list comprehension like yours 2011-10-24T22:45:55 not necessarily what i would use but... 2011-10-24T22:46:13 *** jesionaj has joined #aichallenge 2011-10-24T22:46:47 > let foo n = [(i,j) | i <- [0..n-1], j <- [0..i-1] in foo 3 2011-10-24T22:46:48 : parse error on input `in' 2011-10-24T22:46:56 > let foo n = [(i,j) | i <- [0..n-1], j <- [0..i-1]] in foo 3 2011-10-24T22:46:57 [(1,0),(2,0),(2,1)] 2011-10-24T22:47:23 I have no idea what could possibly be crashing this 2011-10-24T22:47:40 *** TheDigitalNinja has quit IRC (Quit: Page closed) 2011-10-24T22:48:19 well I have homework to do, so I will be gone now 2011-10-24T22:48:35 how do you change the reason when you quit? 2011-10-24T22:48:43 Good luck question_ ... 2011-10-24T22:48:49 Alexer: but what is the purpose of this function? 2011-10-24T22:48:50 jmcarthur, so "range(i, n)" would be "[i..n-1]"? 2011-10-24T22:48:59 quetsion_: You could also double check that your apostrophe is the correct type 2011-10-24T22:49:03 ./quit message, no . 2011-10-24T22:49:06 Some machines have different versions of ' ` etc 2011-10-24T22:49:07 *** question_ has quit IRC (Quit: (homework)) 2011-10-24T22:49:08 Alexer: yeah, i think those are roughly equivalent 2011-10-24T22:49:13 Alexer: yep, haskell has sugar in the list notation to do the same stuff as range() 2011-10-24T22:49:21 *** Craklyn has quit IRC (Quit: Page closed) 2011-10-24T22:49:26 > [2,4..10] 2011-10-24T22:49:27 [2,4,6,8,10] 2011-10-24T22:50:19 python list comprehensions were inspired by haskell iirc, the syntax was just changed to match the rest of the language 2011-10-24T22:50:22 *** Cowbandit has quit IRC (Quit: Page closed) 2011-10-24T22:50:31 jmcarthur, nothing specific in mind, but if you want to match every item in a list with every other item once, you'd generally say: for i in range(n): for j in range(i): some_op(some_list[i], some_list[j]) 2011-10-24T22:50:45 *** kfjlasd has joined #aichallenge 2011-10-24T22:51:03 > liftA2 (,) [1..3] [4..6] -- Alexer 2011-10-24T22:51:04 [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)] 2011-10-24T22:51:14 *** dvladim has quit IRC (Read error: Operation timed out) 2011-10-24T22:51:39 Alexer: in haskell you don't have to give indexes. the lists are sufficient. i think the same probably applies in python 2011-10-24T22:52:12 Alexer: so you could also just say for i in some_list: for j in some_other_list: some_op(i,j) 2011-10-24T22:52:37 *** antimatroid1 has joined #aichallenge 2011-10-24T22:52:42 jmcarthur, if you did that you'd match some indexes twice 2011-10-24T22:52:48 *** antimatroid has quit IRC (Read error: No route to host) 2011-10-24T22:52:52 huh? 2011-10-24T22:53:02 oh you are staying under the diagonal 2011-10-24T22:53:09 yeah 2011-10-24T22:53:27 yeah i would probably use a list comprehension or do notation or something then 2011-10-24T22:53:45 let's try a plain expression though (might not be pretty) 2011-10-24T22:54:00 is there a memory limit for our bots? 2011-10-24T22:54:10 *** guest_____ has quit IRC (Quit: Page closed) 2011-10-24T22:54:28 i'm going to use the range that i consider more sane ([0..n] instead of [0..n-1]) 2011-10-24T22:54:50 jmcarthur, where would you use [0..n]? 2011-10-24T22:55:06 when i know i need the numbers in the range 0 to n... 2011-10-24T22:55:23 i pretty much never need [0..n-1], at least in haskell 2011-10-24T22:55:32 jmcarthur, but can you give an example? 2011-10-24T22:55:58 it's likely to be contrived 2011-10-24T22:56:22 can you name the problem you are solving with this under-the-diagonal thing? 2011-10-24T22:56:30 because as for me, i don't remember using range(n+1) in python very often 2011-10-24T22:56:47 jmcarthur, nope :) 2011-10-24T22:57:29 grom358: people told me it's 1GB 2011-10-24T22:57:43 jmcarthur, it was the first thing that came to mind for using range(i, n), but i accidentally ended up using range(i) instead :P 2011-10-24T23:00:22 but range is generally used when you need to iterate a list with indexes instead of values in python for some reason 2011-10-24T23:00:30 how about a more motivated example? 2011-10-24T23:00:33 *** Apophis has quit IRC (Ping timeout: 255 seconds) 2011-10-24T23:01:12 so range(0, len(some_list)) makes sense, but i can't think of anything i'd use range(0, len(some_list) + 1) for 2011-10-24T23:01:32 nor can i 2011-10-24T23:01:51 *** swamp has joined #aichallenge 2011-10-24T23:01:59 the cases i'm talking about are not really about indexing 2011-10-24T23:02:11 you don't do much indexing in haskell, really 2011-10-24T23:02:48 jmcarthur, well, range() is mostly about indexing in python 2011-10-24T23:03:11 all the more reason i'm confused that the second parameter is a bound instead of a length ;) 2011-10-24T23:03:14 you can do 'for index, value in enumerate(iterator)' though 2011-10-24T23:04:08 jmcarthur, well, if it was a length, you'd need to do (i, n - i) instead of (i, n) :P 2011-10-24T23:04:16 thestinger, true 2011-10-24T23:04:17 why? 2011-10-24T23:04:31 *** guest_____ has joined #aichallenge 2011-10-24T23:04:34 you usually know the length of an array or subarray, not its upper bound 2011-10-24T23:05:20 When I try to run the playgame tool in cygwin it tries to launch links to show the replay, which doesn't work... anyone know how to make it launch in firefox instead? 2011-10-24T23:07:18 jmcarthur, well, n is the length of the array and n-i is the length of the subarray? 2011-10-24T23:07:21 can you launch windows processes from cygwin? you can probably "export BROWSER=path_to_firefox" 2011-10-24T23:08:07 jmcarthur, i guess i'd have to actually know haskell to understand how you think when programming with it :P 2011-10-24T23:08:10 Alexer: for example, say i have an array with 20 elements and i want to slice it into two equally sized arrays. with my style of slicing, it would be more like slice 0 10 *** slice 10 10, but with yours it must be range 0 10 ** range 10 20 2011-10-24T23:08:59 Alexer: that is, you have to come up with both the lower bound *and* the upper bound for successive slices, whereas with the length version you only need to come up with the lower bounds 2011-10-24T23:09:12 thestinger: I'm actually not sure how links is even considered my default browser, as firefox is in windows... and none of my env variables have links named 2011-10-24T23:09:18 *** Taehun has quit IRC (Quit: Page closed) 2011-10-24T23:09:59 guest_____: python probably checks $BROWSER and falls back to known paths to browsers, and it can't find firefox in the cygwin install 2011-10-24T23:10:29 *** jesionaj has quit IRC (Ping timeout: 258 seconds) 2011-10-24T23:11:28 Alexer: also, it's really weird to me that i have to say range(10,20) to get that second slice, since 20 is not a valid index 2011-10-24T23:12:07 ... for some reason, i'm really into bikeshedding tonight 2011-10-24T23:13:06 jmcarthur, true, if i'm chunking a list, i'd have to write something like [some_list[i:i+2] for i in range(0, len(some_list), 2)] 2011-10-24T23:13:40 (list slicing has same "syntax" than range()) 2011-10-24T23:14:27 *** garlicnation has joined #aichallenge 2011-10-24T23:14:46 jmcarthur, but it's hard to follow since you seem to have a lot of ways to specify ranges in haskell :P 2011-10-24T23:14:48 *** Apophis has joined #aichallenge 2011-10-24T23:15:17 Alexer: you don't tend to think about ranges much in haskell though, really 2011-10-24T23:15:40 so you're really comparing N functions/syntaxes in haskell to one function/syntax in python 2011-10-24T23:15:50 *** Knekkebjoern has joined #aichallenge 2011-10-24T23:16:39 you two are still at it? o.O 2011-10-24T23:16:45 yep :D 2011-10-24T23:17:15 what're you even debating? I lost your point somewhere after line 4 xD 2011-10-24T23:17:30 bleh, its easy to get a timeout in js if there's much to write to the stderr stream 2011-10-24T23:17:31 Islacrusez, not so much debating, i guess 2011-10-24T23:17:39 *** SharkMonkey has quit IRC (Ping timeout: 255 seconds) 2011-10-24T23:18:28 at least 200ms lost in each turn by just getting debug data of an object 2011-10-24T23:18:47 avdg1: ew 2011-10-24T23:18:54 nah we aren't really debating 2011-10-24T23:19:01 just exploring other points of view 2011-10-24T23:19:09 i'm was just interested in how it's different in haskell, but apparently i'd have to actually know haskell, since it seems the mindset is totally different when using haskell 2011-10-24T23:19:30 generally you would think in terms of maps and folds and stuff, not indices 2011-10-24T23:19:33 i think my point was mostly "range() works well in python for what it's used for" :P 2011-10-24T23:19:50 there are cases where you would slice arrays in haskell though 2011-10-24T23:20:00 and in those cases i'm sticking to my guns on the length thing 2011-10-24T23:20:11 also i get to rub in your face that array slicing takes constant time in haskell ;) 2011-10-24T23:20:47 *** garlicnation has quit IRC (Quit: garlicnation) 2011-10-24T23:20:48 jmcarthur, meh, if i need speed i use c ;P 2011-10-24T23:20:51 jmcarthur: http://wiki.python.org/moin/TimeComplexity 2011-10-24T23:21:02 jmcarthur: ah, I'm using haskell to! 2011-10-24T23:21:15 lists are implemented as dynamic arrays of pointers in cpython iirc 2011-10-24T23:21:30 thestinger: to be fair, python arrays are always mutable 2011-10-24T23:21:44 *** TheDigitalNinja has joined #aichallenge 2011-10-24T23:21:51 haskell is very pessimistic when you just want to update one element in an immutable array ;) 2011-10-24T23:22:11 anyway, haskell will beat python at anything when it comes to speed :P 2011-10-24T23:22:34 thestinger: unless you manage your memory badly and start GCing 2011-10-24T23:22:47 i do a lot of low-level stuff in python, then rewrite it in c when it's finished if i need the speed 2011-10-24T23:22:53 Alexer: but haskell gets you pretty close to c in speed without forcing you to write at such a low level 2011-10-24T23:22:53 but that's rare 2011-10-24T23:23:09 (in fact, if i may be so inflamatory, it's much higher level than python) 2011-10-24T23:23:15 :D 2011-10-24T23:23:15 Anyone else having luck with the sample node js one? Its timing out on me first move. 2011-10-24T23:23:28 jmcarthur: has anyone added hills yet? 2011-10-24T23:23:40 bmh: i think the github project for the haskell starter has hills now 2011-10-24T23:23:49 bmh: i'm not using the starter, honestly. i think it's kind of crap 2011-10-24T23:23:58 oh, lovely 2011-10-24T23:24:13 it is kind of crap. I was just writing a wrapper around it 'cause I'm lazy 2011-10-24T23:24:37 jmcarthur: Write a better one? 2011-10-24T23:24:40 actually, the last time i "had" to rewrite with c was when i wrote a live protocol analyzator for a p2p protocol (which parsed and tracked the protocol all the way up from ethernet) 2011-10-24T23:24:49 it took me about an hour to write a good parser and such 2011-10-24T23:24:53 *** avdg1 has quit IRC (Quit: Leaving.) 2011-10-24T23:24:57 *** tron has quit IRC (Disconnected by services) 2011-10-24T23:25:18 well += is an interesting little thing... 2011-10-24T23:25:28 jbroman: i actually had written a starter for this contest a while back, but i declared it overengineered and made sure nobody would use it, then it bitrotted 2011-10-24T23:25:53 jmcarthur: don't you think ants should all have unique ids? :) 2011-10-24T23:25:59 and man, i was not kidding when i said it was overengineered, either 2011-10-24T23:25:59 *** yoden has quit IRC (Quit: Leaving.) 2011-10-24T23:26:03 bmh: nope 2011-10-24T23:26:09 oh? 2011-10-24T23:26:16 bmh: you are not the first to say that though 2011-10-24T23:26:25 and i have tools for reading/recovering filesystems (and reading raid and lvm and stuff) written in python 2011-10-24T23:26:25 bmh: but i see little reason for ants to have ids 2011-10-24T23:26:25 *** avdg has joined #aichallenge 2011-10-24T23:26:43 for that, i only wrote the initial scanning for recovery in python 2011-10-24T23:26:48 jmcarthur: multi-turn strategies -- avoid recomputing everything 2011-10-24T23:26:53 s/in python/in c/ 2011-10-24T23:27:03 the rest was python, and it's fast enough 2011-10-24T23:27:17 Anyone here use the node.js starter? 2011-10-24T23:28:10 thestinger: woah woah woah. insertion is amortized O(n)?! and yet append is amortized O(1)? wtf 2011-10-24T23:28:28 i understand the amortized append. the fact that insertion doesn't have the same property confuses me though 2011-10-24T23:28:42 bmh: i'm keeping such strategic information in the map instead 2011-10-24T23:28:51 jmcarthur, you have to move all the items after the one you insert 2011-10-24T23:28:55 bmh: an ant knows what to do based on the square it's on 2011-10-24T23:29:01 *** FlyinFish has joined #aichallenge 2011-10-24T23:29:13 jmcarthur: sounds reasonable 2011-10-24T23:29:13 *** dauryg has joined #aichallenge 2011-10-24T23:29:18 Alexer: oh, this is arbitrary insertion, not just push or pop. i see 2011-10-24T23:29:24 s/or pop// 2011-10-24T23:29:34 *** FlyinFish has quit IRC (Client Quit) 2011-10-24T23:29:47 jmcarthur, append == push 2011-10-24T23:29:51 *** analyst74 has joined #aichallenge 2011-10-24T23:30:08 Alexer: well, append sticks two arrays together. it does more than push 2011-10-24T23:30:25 jmcarthur, then "extend" is what you're thinking about 2011-10-24T23:30:25 jmcarthur: feel like publishing your parser? 2011-10-24T23:30:29 Alexer: using append, you can push 1 item or n items with the same amortized complexity 2011-10-24T23:30:44 (or pointing me to the fixed haskell starter) 2011-10-24T23:30:55 bmh: yeah i might do that in the next couple days once i'm reasonable certain that it's worth publishing 2011-10-24T23:30:59 *reasonably 2011-10-24T23:31:06 not sure where the fixed starter is 2011-10-24T23:31:27 bmh: if you check reddit.com/r/haskell, there should be a relevant looking comment thread. i think there is a link there 2011-10-24T23:31:28 jmcarthur, in python lists, append adds one item to the end and extend adds all of the items of another iterable at the end 2011-10-24T23:31:53 Alexer: oh, but extend take O(k)... 2011-10-24T23:32:08 bah makes sense 2011-10-24T23:32:14 ignore my confusion. it was confused 2011-10-24T23:32:40 jmcarthur, i do that confusion thing a lot too ;) 2011-10-24T23:32:50 jmcarthur: found it 2011-10-24T23:33:08 Alexer: does python have a sequence type with O(log n) insert that still has O(1) append? 2011-10-24T23:33:21 or actually, ditch the "too", i don't know if you do it a lot :D 2011-10-24T23:34:37 or, rather, O(log n) slice 2011-10-24T23:35:03 that with O(1) append and O(log n) extend can give you O(log n) insert anyway 2011-10-24T23:35:20 one of my co-workers told me that slice was like memset 2011-10-24T23:35:32 like it how? 2011-10-24T23:35:32 cause the only thing he uses slice for, is to empty lists 2011-10-24T23:35:36 jmcarthur, python deque is a linked list 2011-10-24T23:36:00 doubly linked, i'm guessing? 2011-10-24T23:36:00 burny :D 2011-10-24T23:36:06 jmcarthur, ah, yeah 2011-10-24T23:36:24 insertion is still going to be O(n) for that though, unless you already have a cursor inside 2011-10-24T23:38:42 doubly linked lists in haskell are kind of crippled unless you make them mutable 2011-10-24T23:39:03 since you pretty much can't do anything with an immutable doubly linked list without copying the whole thing for every change 2011-10-24T23:39:56 jmcarthur, ah, true, i don't have to think about list implementation speed that often :P 2011-10-24T23:40:11 so much for not trying to learn programming languages at 5am >< 2011-10-24T23:41:43 ok, gnight folks 2011-10-24T23:42:05 later 2011-10-24T23:42:09 ...damn, it's already 7am o.O 2011-10-24T23:42:11 *** Islacrusez has quit IRC (Quit: Page closed) 2011-10-24T23:42:37 *** FlyinFish has joined #aichallenge 2011-10-24T23:43:16 *** analyst74 has quit IRC (Ping timeout: 258 seconds) 2011-10-24T23:43:17 *** FlyinFish is now known as analyst74 2011-10-24T23:45:10 *** Transformer has joined #aichallenge 2011-10-24T23:47:36 *** Relax has joined #aichallenge 2011-10-24T23:50:32 *** swamp has left #aichallenge 2011-10-24T23:50:45 *** sdfsdf has quit IRC (Ping timeout: 265 seconds) 2011-10-24T23:59:03 *** dvladim has joined #aichallenge