Difference between revisions of "User talk:Zyx"

From Robowiki
Jump to navigation Jump to search
(→‎Dynamic Weighting: HitByBullet bias, and feel free to add VCS)
 
(28 intermediate revisions by 8 users not shown)
Line 1: Line 1:
Greetings! Welcome to the Robowiki Zyx! Feel free to ask any question you might have! Btw, [[Newton]] seems pretty strong, care to tell us about it or [[AntBot|Ant]]. Best wishes in your robocoding adventures! --[[Rednaxela]]
+
{{Navbox small
 +
| title    = Archived Talks
 +
| namespace = User
 +
| page1    = Talk Archive 20090506
 +
| title1    = 2009/05/06
 +
}}
  
Thanks [[Rednaxela]], I was just writing my "story" when you posted, I will expand [[Newton]] and [[AntBot|Ant]] in a couple of minutes. -- [[Zyx]]
+
__TOC__
  
Wow, how did you find [[Stormrider]]? It's been out of action for ages.... If you want a version that is slightly newer, and much stronger, take a look at DrussGT, it's download link is on the RoboRumble/Participants page. Anyways, welcome to the wiki, and good luck with your coding =) If you have any questions feel free to ask. -- [[Skilgannon]]
+
== Wiki Help ==
  
Hehehe [[Stormrider]] was on the new wiki in the [[Bots]] section, and it said it was very competitive so I downloaded it. I was really new to everything at the moment, now I'm more settled, I'm running RoboRumble so I have [[DrussGT]], BTW congrats man, it seems to be very comfortable at the top place :). Thanks for the help and for killing my bot so I'd be interested in learning more. -- [[zyx]]
+
I'm trying to learn how to use the wiki, so probably will be asking more questions. But to start I would like to know how to add those nice ''content tables'' to the pages, I've been going trough the pages that has them and see nothing special in the code :-S. And as a more general second question, is there somewhere I can learn how to write wiki stuff? Particularly this one of course. --[[User:Zyx|zyx]] 01:11, 7 May 2009 (UTC)
  
:(Oh he may be comfortable at the top for now, but I'm determined to topple [[DrussGT]] eventually... Can't have it's reign last as long as Dookious's did... :) --[[Rednaxela]])
+
[[wikipedia:How_to_edit|Here]] is all about mediawiki syntax. MediaWiki automatically add the TOC once the page have more than 4 headers (inclusive) at before the first header. If you want to add the TOC manually, add <nowiki>__TOC__</nowiki> to the page (like this page) &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 01:22, 7 May 2009 (UTC)
  
:Sounds like a neat goal, good luck at it :-). -- [[zyx]]
+
Another useful link I bookmarked recently is [http://meta.wikimedia.org/wiki/Cheatsheet this MediaWiki cheatsheet]. I tend to check [http://mediawiki.org mediawiki.org], or just Google (eg, ''mediawiki namespaces'') when I'm looking for something specific. There's a lot of good info out there because so many people use MediaWiki. But I've learned a lot of what I know from people like Nat and [[User:AaronR|AaronR]] doing stuff on this wiki. =) --[[User:Voidious|Voidious]] 01:30, 7 May 2009 (UTC)
  
:I've still got a few tricks up my sleeve, I just haven't had time to implement them. Involving both guns and movement. And new types of stats. But come on, I'm studying Mechanical Engineering and you're doing Computer Engineering, surely you should have passed me ages ago? ;-) And I've been hearing that you were working on RougeDC's replacement in little snippets here and there, are you ever going to release that to the rumble? -- [[Skilgannon]]
+
: Hey, you won't believe me that this is the first wiki (beside the old one) I've working on. I learn the thing from what AaronR and [[User:Nfwu|Nfwu]] used to done actually. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 01:52, 7 May 2009 (UTC)
  
:Haha, RougeDC's younger and stronger brother doesn't have much done yet... but I'll probably make a hard drive to get at least the gun working in winter break... and my hope is that current generation surfers will be in for some hurt... ;) -- [[Rednaxela]]
+
Thanks guys, I'm too dinosaur-ish for web related stuff. This is the first wiki I've been, and have been moderator of two forums, but there I'm just as dumb as I am here :-P. --[[User:Zyx|zyx]] 01:56, 7 May 2009 (UTC)
  
Oh, and sorry for cluttering your talk page with rivalry Zyx :) --[[User:Rednaxela|Rednaxela]] 21:39, 26 November 2008 (UTC)
+
== Handle ==
  
:That's what talk pages are for ;) -- [[zyx]]
+
I always realized that your handle was the last 3 letters in the alphabet, but it only just occurred to me that this is like the opposite of "[[User:ABC|ABC]]". I'm curious if that is intentional or just coincidence? (To be clear, I mean if it's inspired by ABC the Robocoder or not.) Kind of funny that two of our PL kings have such similar handles. =) --[[User:Voidious|Voidious]] 18:16, 4 August 2009 (UTC)
  
== Dynamic Weighting ==
+
: I think it is coincidence, because his email is zyx###@gmail.com (### replace with number, I don't remember which) &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 08:49, 5 August 2009 (UTC)
 +
: It is a coincidence, I've been using zyx since nintendo times :). --[[User:Zyx|zyx]] 11:56, 5 August 2009 (UTC)
  
Do you know of any bot that calculates the weights for [[Dynamic Clustering]] during a battle? Actually if it calculates it's segmentation, or something like that on real time is enough for me. I want a bot that ''learns'' how the enemy is learning. I'm currently working on a DC based bot that uses VCS to adjusts the weights for the ''distancer'' with very promising results. I know many people have used offline methods to do this, I want to know if there is a bot that actually does it during the battle. --[[User:Zyx|zyx]] 21:06, 12 April 2009 (UTC)
+
== Melee Testing ==
 +
How do you guys test melee bots? Not tool-wise, I know [[Voidious]] patched [[RoboResearch]] which I will probably use to test the melee bot as well soon. But I mean battle-wise, I was testing with the top 6 bots from different authors and 2 ''random'' middle bots, the other two spots were taken by two versions of my bots and ran 100 round battles and compare the results of my two bots to decide which one is better. But I knew that testing wasn't suitable, YersiniaPestis 3.0 can beat [[Shadow]], [[Aleph]] a lot of times (~40% of times beats one of them), [[Portia]] every now and then and [[Fermat]] every time under that circumstances, but I knew that in reality battles don't such a high concentration of top bots so results were kind of irrelevant as rumble performance meant. Thanks. --[[User:Zyx|zyx]] 21:03, 19 August 2009 (UTC)
  
Me, [[Voidious]], [[Simonton]], [[ABC]] and I'm sure others have tried, all without any real success. My methods have included: 1) finding entropy between profile-peak height and any of the attributes (running during non-firing ticks), 2) pulling clusters with each weight modified both directions and seeing which clusters are most accurate with the VG, 3) checking which attribute has the least variation in the last X GFs which were within a certain window and increasing that attribute's weight. So far what we've all found is that a hand-tuned set of weights performs just as well and runs many times quicker. I'm actually dealing with a similar issue in [[Wintermute]], except in the movement, where I'm reluctant to use anything except BulletHitBullet events for changing the weightings because the HitByBullet is affected by what your weights already are. In fact, because the bot probably moved to a safe place for the highly weighted system, it will decrease the weighting for that system (because it got a hit in an area where there shouldn't be any danger), making it cycle between systems that might not be optimal. I know you use something similar in [[YersiniaPestis]], did you take this into account? Did you manage to find a way around it? --[[User:Skilgannon|Skilgannon]] 21:38, 12 April 2009 (UTC)
+
: Well, I struggle with this too, but my attitude is to try to emulate the same mixes of bots that you'll face in the rumble. So you'd want the same range of skill levels, some battles with all weak bots, some with mid-range bots, and some with stronger bots. Right now my test bed is 27 bots, split into 6 groups (with each bot appearing twice), and I'll run ~20 seasons. For many versions of [[Diamond]] in a row, this was accurately predicting a rating increase or not. Then I released a version without much testing, its rumble rating went up, but I ran the test afterward and the score went down. :-/ So I'm still figuring it out myself, really. If you're curious about my test bed, it's here: [http://www.dijitari.com/void/robocode/dibed6.rrc dibed6.rrc]. Good luck, and please let us know if you make any Melee test bed breakthroughs. =) --[[User:Voidious|Voidious]] 21:30, 19 August 2009 (UTC)
: For the movement I haven't come up with anything better than hand-tuned yet, for the gun I'm doing the following. I keep evenly segmented VCS for each attribute I have in the tree, and then have the following algorithms in a VG array to adjust weights, I run this every time a wave passes the enemy.
 
  
:* Visits/TotalVisits. Where Visits is the number of visits I have for the spotted window in the wave segment for each attribute and TotalVisits is the sum of all visit counts in a single segment(all segments have the same amount bins updated so is the same for each one).
+
: Thanks, I'll check it later. If I do, I will. --[[User:Zyx|zyx]]
:* Visits/WindowVisits. Visits is the same as above, and WindowVisits is the sum of all visits in the current factor window across all segments.
 
:* Each attributs weight is the sum of the standard deviation of all it's segments.
 
  
There has been many others, but these 3 have the best performance. The first two are kept in rolling averages. And all three, are kept as mentioned and later normalized to have a unit vector of weight. I have this on a new bot, because I wanted to get [[YersiniaPestis]] in the DC party, so I can't compare one to one yet, but after the tests are done and I decide the best numbers for rolling depths, number of bins, number of slices, etc. I will add the best one to [[YersiniaPestis]] and see if it performs better with no other change. But the new gun has over 2 points on (my slightly modified) TC index, the problem is that the weighting system is not the only difference. --[[User:Zyx|zyx]] 23:11, 12 April 2009 (UTC)
+
== Google Code Jam ==
 +
I don't know if any of you like programming contests, but I'm actually a devoted contestant of those. Next week the Google Code Jam begins, which is an online contest similar to the ACM-ICPC or TopCoder contests but it has its differences, specially in the format and languages you can use (any language is fine, even BrainF#@k). I'll be participating in it, if anyone is interested in learing more about it go to [http://code.google.com/codejam/ CodeJam 2009]. Hope at least some of you find it interesting so we can meet there. --[[User:Zyx|zyx]] 16:38, 28 August 2009 (UTC)
  
Another thing, what you say about the way I update my movement on HitByBullet makes a lot of sense, I will try a version that only updates on BulletHitBullet to see. But on the other hand, it was hit on place where there seemed less danger, then real question might be, why did he think there was not a big danger. In any case, my biggest learning experience in Robocode is that guessing what is good is nonsense, trying is the only way to realize the truth. --[[User:Zyx|zyx]] 23:15, 12 April 2009 (UTC)
+
== Good AI Books ==
  
* I've also pondered over both, but my conclusion was that there will always be 'random noise' that your movement cannot account for, and that the HitByBullet will *ONLY* give results that depreciate the highest weighting system. The big disadvantage is that the learning speed goes down a lot when only using BulletHitBullet.--[[User:Skilgannon|Skilgannon]] 06:28, 13 April 2009 (UTC)
+
Background: Buying books in Venezuela sucks, they are old, translated(I like to read the original author) and expensive.
  
Quick question, I'm currently testing about 7 versions of a modified [[YersiniaPestis]] 1.3.7 to use dynamically adjusted weights, I still don't know if any of them will be better. But in case I found a better version should I upload it to the Rumble? I wouldn't be keeping it in the rumble because I want him to be a pure DC bot, but my new bot is probably not going to be ready to release in a couple of days, and even if it is, is not a good comparison because is a different bot in many other ways. I will anyway post download links to better versions using the new system so you can all see how it does, but would it be politically right to upload it to the rumble just to ''prove'' that dynamic weights are good? I would of course be running a client if I upload it, but since I don't feel that uploading should be taking so lightly, I don't know if it would feel right. Also I test again only a handful of bots, my current test bed is the MC2K7 reference bots, plus the top 6 bots, 3 pattern matchers, and 3 very simple bots. I've found that this tests have been very accurate to a bot being better than another one compared to the real rumble results, but I'm sure you all agree that the real rumble is a bit unpredictable sometimes. I'll let you know about the test results sometime when I have them, I have too many bots being tested right now, so results take hours to finish a single season. --[[User:Zyx|zyx]] 01:45, 13 April 2009 (UTC)
+
My mom is currently visiting my brother in the UK, I always buy some books when she is over there since I love reading scientific or technical books. Currently I'm looking to expand my AI books collection since it is rather poor, and I thought maybe some of you could help me find a good choice. I already have ''Artificial Intelligence: A Modern Approach'' of Norvig and Russell, although it's the first edition and in Spanish so I'm considering the second edition in English. But besides that one which good AI books can you recommend? Also I have a couple of NN books so I would be more interested in something either general or specific to other subjects, but if you have a good NN book to recommend I wouldn't mind hearing and reading about it as well. Thanks in advance. --[[User:Zyx|zyx]] 01:16, 7 September 2009 (UTC)
  
: I say go for it. I don't think it's a big deal to post a test version to the rumble, especially if you're running a client and doing all that local testing. Though I almost feel like an outsider to the RoboRumble at this point, so take my opinion for what you will. =) --[[User:Voidious|Voidious]] 02:07, 13 April 2009 (UTC)
+
: I don't have any "general AI" books (could use some recommendations too) but the favourite of the ones I have is "Reinforcement Learning" by Sutton & Barto.  As a bonus, it's actually [http://www.cs.ualberta.ca/~sutton/book/the-book.html available online]. [[Leon]] and early versions of [[Pris]] use concepts from this book.  For NN I have "Fundamentals of Neural Networks" by Fausett, but there are many more practical resources scattered about online.  For example, [http://www.ai-junkie.com/ "ai-junkie] has some great tutorials on NN and genetic algorithms. --[[User:Darkcanuck|Darkcanuck]] 06:42, 7 September 2009 (UTC)
:* You've done too much for Robocode to be an outsider. The new bots have completed one test season and the best one is 2 points over in APS, I know 1 season is not close to accurate, but if it is actually that much better I'll drop the ''pure DC'', I already got into the DC party with a pure DC bot, there is no good reason to dismiss a seemingly good improvement. What I think now I would do if the new system is measurably better, I'll make a mixed one with some hand-tuned and some dynamic weights in the VG array and release it as the next version instead of just test bot. --[[User:Zyx|zyx]] 04:51, 13 April 2009 (UTC)
 
: You can change it to start using VCS any time you want, you've made top 10 with DC so you're part of the party now =). I removed [[Stormrider]] from the rumble because I felt it was too similar in code to [[DrussGT]], but as far as I know I'm still a member =) --[[User:Skilgannon|Skilgannon]] 06:28, 13 April 2009 (UTC)
 
  
== Sneak Attack ==
+
: I don't know if you find it usefull, but at the university I study at we're using ''Artificial Intelligence, structures and strategies for complex problem solving'' by George F. Luger. It's been pretty general so far (I'm at chapter 4, and it has mostly been about treesearching strategies), and it's also nice to read. I'm wondering if I can incoorperate anything in robots...  --[[User:Positive|Positive]] 17:35, 7 September 2009 (UTC)
I just realized there are ways to shoot completely undetected bullets, I tried to make a bot based on that but I can't find an easy way to use the exploit and be competitive at the same time. So I decided to just post how to fire undetectable bullets, I haven't really searched, so maybe this has been said elsewhere.
 
  
I think most surfers have some way to detect (as good as they can) when their enemy hits a wall so they are not confused by that energy drop. So if you run towards a wall at some speed, let's say full speed (8), and when you are just about to hit the wall you decelerate and a fire a 1 power bullet. Your enemy will calculate your damage as 8 / 2 - 1 = 3, but you were actually going at 6 at the hit time, so you got 6 / 2 - 1 = 2 wall hit damage, but since you shot a 1 powered bullet they won't see anything strange as your energy dropped 3. And even if someone has thought of that, and took the guess that maybe the bot decelerated you can shoot only sometimes, and make him surf bogus waves.
+
: For an ''Intro to Machine Learning'' class I took in my last semester of CS, one of the books we used was this: [http://www.inference.phy.cam.ac.uk/mackay/itila/ Information Theory, Inference, and Learning Algorithms, by David MacKay]. The physical version of the book is sold normally, but you can download a PDF of the entire book for free as long as you agree not to print it out. I remember it being pretty "dense", as was the class, but I learned a lot. The only other book I can think of to mention is one that [[User:PEZ|PEZ]] talked about a bit: [http://www.randomhouse.com/features/wisdomofcrowds/ The Wisdom of Crowds, by James Surowiecki]. (PEZ talks about it here: [[oldwiki:CrowdTargeting]].) Good luck - let us know how your search turns out. =) --[[User:Voidious|Voidious]] 17:49, 7 September 2009 (UTC)
  
This bot shows how to shoot the invisible bullets, it bounces on and off from the top wall (sometimes the bottom) and shoots head on, so it will lose to almost every(if not all) bots. But I challenge anyone to try and detect accurately when he fires. My bots detect some of them, but is not even close to accurate.
+
Thanks for all your responses, I won't buy the books recommended by [[Darkcanuck]] (the first one) and [[Voidious]] because I can download them and I have to save every penny, in Venezuela we have exchange control right now and we are only allowed to spend $400 on Internet each year :-S. The NN book, well I have some and as he said ai-junkie is a great place. The book [[Positive]] posted is really inexpensive so I was excited at first, but I read a bit on the Amazon preview and it seems fine but rather basic, I already have 3 undergraduate AI courses and I'm actually looking to do some graduate level studies now.
<pre>
 
package zyx.nano;
 
  
import robocode.AdvancedRobot;
+
I will buy the second edition of ''A Modern Approach'' of Norvig and Russell as it seems to be the most recommended book all around the world, to have it as a reference rather than reading it in depth again. And just to please my self I will buy the first 2 books from the ''AI Game Programming Wisdom'' series, they seems to be in the same fashion as the Game Programming Gems series which I found to be amazingly interesting when I first read them. Thanks all, and I hope you get something out it as well. My mom comes back next week, I'll let you know then how good or bad the books end up being. --[[User:Zyx|zyx]] 21:36, 7 September 2009 (UTC)
import robocode.HitWallEvent;
 
import robocode.ScannedRobotEvent;
 
import robocode.util.Utils;
 
  
public class SneackAttack extends AdvancedRobot {
+
: I forgot to mention ''The Wisdom of Crowds'' is not an AI book, the author is a journalist and not a scientific in any way, I already mentioned some of this once [[Nat]] asked a question about it, but is actually more a psychological on how a crowd of people behaves. I think it had very positive feedback from people who read it for fun and very negative feedback from people who wanted it for scientific reasons, I read a bit of it long time ago and didn't find it very interesting but I myself only like scientific reading. --[[User:Zyx|zyx]] 21:43, 7 September 2009 (UTC)
  static int direction = 1;
 
  private boolean nh;
 
  private int t;
 
  public void run() {
 
    while ( true ) {
 
      if ( getRadarTurnRemainingRadians() == 0 ) setTurnRadarRightRadians(Double.POSITIVE_INFINITY);
 
      execute();
 
    }
 
  }
 
  public void onScannedRobot(ScannedRobotEvent event) {
 
    double bearing = getHeadingRadians() + event.getBearingRadians();
 
    setTurnGunRightRadians(Utils.normalRelativeAngle(bearing - getGunHeadingRadians()));
 
    setTurnRightRadians(Utils.normalRelativeAngle(-getHeadingRadians()));
 
    setTurnRadarRightRadians(Utils.normalRelativeAngle(bearing - getRadarHeadingRadians()) * 1.99);
 
    double v = getVelocity();
 
    if ( v < 0 ) v += 2; else if ( v > 0 ) v -= 2;
 
    double nx = getX() + Math.sin(getHeadingRadians()) * getVelocity() + Math.sin(getHeadingRadians()) * v;
 
    double ny = getY() + Math.cos(getHeadingRadians()) * getVelocity() + Math.cos(getHeadingRadians()) * v;
 
    if ( nh ) {
 
      if ( Math.random() < 0.8 ) setFire(1);
 
      setAhead(0);
 
    } else {
 
      setAhead(100 * direction);
 
    }
 
    nh = false;
 
    if ( t == 5 ) direction = -direction;
 
    if ( --t <= 0 && (nx < 19 || ny < 19 || nx > 781 || ny > 581) ) {
 
      nh = true;
 
    }
 
  }
 
  public void onHitWall(HitWallEvent arg0) {
 
    direction = -direction;
 
    t = 20;
 
  }
 
}
 
</pre>
 
Have fun. --[[User:Zyx|zyx]] 07:13, 18 March 2009 (UTC)
 
  
Haha, perfectly accurate detection is impossible. It has been discussed [http://robowiki.net/cgi-bin/robowiki?EnergyDrop here] (see some of ABCs notes) why one can at best guess the wall damage with an error between +0.5 and -1.0. The only possible real countermeasures I believe are: 1) Fire low-weight waves whenever the enemy hits the wall or 2) Detect if you got hit by a wallhit-concealed bullet, and if so presume they always make wallhit-concealed hits so long as gunheat indicates that they could have. A truely accurate countermeasure? That's impossible. --[[User:Rednaxela|Rednaxela]] 07:25, 18 March 2009 (UTC)
+
== Google sites got disabled? ==
* Heheh, I assumed someone realized this, that's why I said I didn't search for it (it is 3:30 am here). I thought about you 1st counter option, but I guessed it was not worth the trouble(at least not yet) since I don't see how a bot can use this and actually become strong against a top bot. My current surfing algorithm surfs fake waves when he doesn't have at least 2 real waves, I did that mostly to avoid getting in dangerous spots for a bullet that hasn't been fired yet, but I think it will dodge some of those invisible bullets. And there many more important things that can be improved still. --[[User:Zyx|zyx]] 07:41, 18 March 2009 (UTC)
 
* There are nearly no surfer detecting it, also many surfer do not even detecting wall hit since the bots that hit wall usually a simple robot that can take out easily, and I think it have only little advantage. Say, if you hit, you will get back 3 LP, meaning no change to your LP (firing and hitting cost 3) but if you miss, you will lost 2 energy without doing anything! At distance 300, you have ~12% chance, at distance 400 only ~9% chance! You may said that you have brilliant gun, but ot hit surfer it need more than that! &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 13:49, 18 March 2009 (UTC)
 
* Actually, a fair number of surfers will behave VERY simplistically when they don't know of any waves. I know of one that will just sit still maintaining a certain distance. I know of others that will just orbit in one direction. Given how many surfers do that, I bet you could beat a fair number of them with hidden bullets IF you had a strong gun AND were able to make youre movement unpredictable while still only firing when it can be hidden. --[[User:Rednaxela|Rednaxela]] 14:42, 18 March 2009 (UTC)
 
* Oh! I forgot about that! Anyway, try hitting DrussGT with hidden bullet :) &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 15:16, 18 March 2009 (UTC)
 
* Yes I'm sure there are bots that can be affected by them, but I don't believe it can be used to make a bot perform better than having a good surfing with nearly zero wall hits. About hitting DrussGT, I don't think top bots can be harmed much by this, so I will not try to hit him :) --[[User:Zyx|zyx]] 15:21, 18 March 2009 (UTC)
 
* From what I remember, DrussGT doesn't have any wallhit detection. I might have added it in once, but I'm not sure if I kept it or if it was too buggy. Anyways, it just fires a wave if your gunheat is at an allowable level, so would get the bullet power wrong but would still surf a wave. --[[User:Skilgannon|Skilgannon]] 21:48, 12 April 2009 (UTC)
 
  
Another way to fire hidden bullet is to move toward walls will slow velocity (say 6), then a tick before hitting, accelerate to 7 and fire(3), enemy ''without'' wall hit detection  will see energy drop of 5.5, therefore they don't care since almost every surfer have <code>if (bulletPower > 0.09 && bulletPower < 3.01)</code>. Enemy ''with'' wall hit detection will see energy drop of 3.5, therefore they don't care, too. But this way is easier to detect than one you mentioned. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 03:29, 13 April 2009 (UTC)
+
Just to let you know, it seems your Google sites account recently got disabled "because of a perceived violation of the Terms of Service". Got all your robots hosted there on the participants lists switched over to the Darkcanuck's mirror. --[[User:Rednaxela|Rednaxela]] 06:11, 30 April 2010 (UTC)
* Hehehe, that's a nice one, actually yes I believe is even more effective than the fire(1), I will at some point try a bot with a smaller wall stick, setMaxVelocity(7), and when wall hit is unavoidable accelerate and shoot, not as a main targeting strategy but as a part of a normally behaved good bot. --[[User:Zyx|zyx]] 04:43, 13 April 2009 (UTC)
+
: Hi, thanks for this. However, I just checked and seems the Google site is working again, I don't use it for anything else than this robots. Hopefully it still works because I want to try doing some robocoding again. --[[User:Zyx|zyx]] 03:31, 15 October 2010 (UTC)
** There's no need for setMaxVelocity(7), you can move at velocity 7 and hit wall at 8, too. Or you mean to setMaxVelocity(7) two ticks before hit and setMaxVelocity(8) a tick before hit? That way you need super precise prediction that can handler wall hit. Anyway, this way is easier to detect from enemy than one you mentioned, because accelerate always 1, but decelerate can be 1 or 2. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 05:14, 13 April 2009 (UTC)
+
 
::* I mean setting setMaxVelocity(7) for normal behavior and set it to 8 when the wall-hit/hidden bullet is to come. Because that way I can keep a normal movement the rest of battle, using 7 as my max velocity. I think it would be needed a more precise and complex prediction to make the bot go at 7 before the wall-hit and at 8 at the hit time, so I would setMaxVelocity(7) to avoid caring about it myself, and only set it to 8 when I want to hit the wall, if the enemy uses my last acceleration or it keeps track of my max velocity (I don't but maybe some bots do) they will never guess I hit at 8 because they will never see me go at 8 during the battle :p. But I will do this only after I'm bored with trying to make real good bots. --[[User:Zyx|zyx]] 05:55, 13 April 2009 (UTC)
+
== Codefest Winnings ==
 +
 
 +
Hey Zyx, have you been contacted by anybody at Codefest about the prize money? I have yet to hear from anyone and am wondering if I'm alone in this situation. --[[User:KID|KID]] 13:33, 25 April 2011 (UTC)
 +
: This is probably very late, I received the email like a week ago (around May 4th or 5th), but I saw your prize is marked as dispatching, so I guess you received it too. Sorry for the late reply, been too busy to check robo wiki. --[[User:Zyx|zyx]] 20:58, 10 May 2011 (UTC)

Latest revision as of 21:58, 10 May 2011

Archived Talks:
2009/05/06

Wiki Help

I'm trying to learn how to use the wiki, so probably will be asking more questions. But to start I would like to know how to add those nice content tables to the pages, I've been going trough the pages that has them and see nothing special in the code :-S. And as a more general second question, is there somewhere I can learn how to write wiki stuff? Particularly this one of course. --zyx 01:11, 7 May 2009 (UTC)

Here is all about mediawiki syntax. MediaWiki automatically add the TOC once the page have more than 4 headers (inclusive) at before the first header. If you want to add the TOC manually, add __TOC__ to the page (like this page) » Nat | Talk » 01:22, 7 May 2009 (UTC)

Another useful link I bookmarked recently is this MediaWiki cheatsheet. I tend to check mediawiki.org, or just Google (eg, mediawiki namespaces) when I'm looking for something specific. There's a lot of good info out there because so many people use MediaWiki. But I've learned a lot of what I know from people like Nat and AaronR doing stuff on this wiki. =) --Voidious 01:30, 7 May 2009 (UTC)

Hey, you won't believe me that this is the first wiki (beside the old one) I've working on. I learn the thing from what AaronR and Nfwu used to done actually. » Nat | Talk » 01:52, 7 May 2009 (UTC)

Thanks guys, I'm too dinosaur-ish for web related stuff. This is the first wiki I've been, and have been moderator of two forums, but there I'm just as dumb as I am here :-P. --zyx 01:56, 7 May 2009 (UTC)

Handle

I always realized that your handle was the last 3 letters in the alphabet, but it only just occurred to me that this is like the opposite of "ABC". I'm curious if that is intentional or just coincidence? (To be clear, I mean if it's inspired by ABC the Robocoder or not.) Kind of funny that two of our PL kings have such similar handles. =) --Voidious 18:16, 4 August 2009 (UTC)

I think it is coincidence, because his email is zyx###@gmail.com (### replace with number, I don't remember which) » Nat | Talk » 08:49, 5 August 2009 (UTC)
It is a coincidence, I've been using zyx since nintendo times :). --zyx 11:56, 5 August 2009 (UTC)

Melee Testing

How do you guys test melee bots? Not tool-wise, I know Voidious patched RoboResearch which I will probably use to test the melee bot as well soon. But I mean battle-wise, I was testing with the top 6 bots from different authors and 2 random middle bots, the other two spots were taken by two versions of my bots and ran 100 round battles and compare the results of my two bots to decide which one is better. But I knew that testing wasn't suitable, YersiniaPestis 3.0 can beat Shadow, Aleph a lot of times (~40% of times beats one of them), Portia every now and then and Fermat every time under that circumstances, but I knew that in reality battles don't such a high concentration of top bots so results were kind of irrelevant as rumble performance meant. Thanks. --zyx 21:03, 19 August 2009 (UTC)

Well, I struggle with this too, but my attitude is to try to emulate the same mixes of bots that you'll face in the rumble. So you'd want the same range of skill levels, some battles with all weak bots, some with mid-range bots, and some with stronger bots. Right now my test bed is 27 bots, split into 6 groups (with each bot appearing twice), and I'll run ~20 seasons. For many versions of Diamond in a row, this was accurately predicting a rating increase or not. Then I released a version without much testing, its rumble rating went up, but I ran the test afterward and the score went down. :-/ So I'm still figuring it out myself, really. If you're curious about my test bed, it's here: dibed6.rrc. Good luck, and please let us know if you make any Melee test bed breakthroughs. =) --Voidious 21:30, 19 August 2009 (UTC)
Thanks, I'll check it later. If I do, I will. --zyx

Google Code Jam

I don't know if any of you like programming contests, but I'm actually a devoted contestant of those. Next week the Google Code Jam begins, which is an online contest similar to the ACM-ICPC or TopCoder contests but it has its differences, specially in the format and languages you can use (any language is fine, even BrainF#@k). I'll be participating in it, if anyone is interested in learing more about it go to CodeJam 2009. Hope at least some of you find it interesting so we can meet there. --zyx 16:38, 28 August 2009 (UTC)

Good AI Books

Background: Buying books in Venezuela sucks, they are old, translated(I like to read the original author) and expensive.

My mom is currently visiting my brother in the UK, I always buy some books when she is over there since I love reading scientific or technical books. Currently I'm looking to expand my AI books collection since it is rather poor, and I thought maybe some of you could help me find a good choice. I already have Artificial Intelligence: A Modern Approach of Norvig and Russell, although it's the first edition and in Spanish so I'm considering the second edition in English. But besides that one which good AI books can you recommend? Also I have a couple of NN books so I would be more interested in something either general or specific to other subjects, but if you have a good NN book to recommend I wouldn't mind hearing and reading about it as well. Thanks in advance. --zyx 01:16, 7 September 2009 (UTC)

I don't have any "general AI" books (could use some recommendations too) but the favourite of the ones I have is "Reinforcement Learning" by Sutton & Barto. As a bonus, it's actually available online. Leon and early versions of Pris use concepts from this book. For NN I have "Fundamentals of Neural Networks" by Fausett, but there are many more practical resources scattered about online. For example, "ai-junkie has some great tutorials on NN and genetic algorithms. --Darkcanuck 06:42, 7 September 2009 (UTC)
I don't know if you find it usefull, but at the university I study at we're using Artificial Intelligence, structures and strategies for complex problem solving by George F. Luger. It's been pretty general so far (I'm at chapter 4, and it has mostly been about treesearching strategies), and it's also nice to read. I'm wondering if I can incoorperate anything in robots... --Positive 17:35, 7 September 2009 (UTC)
For an Intro to Machine Learning class I took in my last semester of CS, one of the books we used was this: Information Theory, Inference, and Learning Algorithms, by David MacKay. The physical version of the book is sold normally, but you can download a PDF of the entire book for free as long as you agree not to print it out. I remember it being pretty "dense", as was the class, but I learned a lot. The only other book I can think of to mention is one that PEZ talked about a bit: The Wisdom of Crowds, by James Surowiecki. (PEZ talks about it here: oldwiki:CrowdTargeting.) Good luck - let us know how your search turns out. =) --Voidious 17:49, 7 September 2009 (UTC)

Thanks for all your responses, I won't buy the books recommended by Darkcanuck (the first one) and Voidious because I can download them and I have to save every penny, in Venezuela we have exchange control right now and we are only allowed to spend $400 on Internet each year :-S. The NN book, well I have some and as he said ai-junkie is a great place. The book Positive posted is really inexpensive so I was excited at first, but I read a bit on the Amazon preview and it seems fine but rather basic, I already have 3 undergraduate AI courses and I'm actually looking to do some graduate level studies now.

I will buy the second edition of A Modern Approach of Norvig and Russell as it seems to be the most recommended book all around the world, to have it as a reference rather than reading it in depth again. And just to please my self I will buy the first 2 books from the AI Game Programming Wisdom series, they seems to be in the same fashion as the Game Programming Gems series which I found to be amazingly interesting when I first read them. Thanks all, and I hope you get something out it as well. My mom comes back next week, I'll let you know then how good or bad the books end up being. --zyx 21:36, 7 September 2009 (UTC)

I forgot to mention The Wisdom of Crowds is not an AI book, the author is a journalist and not a scientific in any way, I already mentioned some of this once Nat asked a question about it, but is actually more a psychological on how a crowd of people behaves. I think it had very positive feedback from people who read it for fun and very negative feedback from people who wanted it for scientific reasons, I read a bit of it long time ago and didn't find it very interesting but I myself only like scientific reading. --zyx 21:43, 7 September 2009 (UTC)

Google sites got disabled?

Just to let you know, it seems your Google sites account recently got disabled "because of a perceived violation of the Terms of Service". Got all your robots hosted there on the participants lists switched over to the Darkcanuck's mirror. --Rednaxela 06:11, 30 April 2010 (UTC)

Hi, thanks for this. However, I just checked and seems the Google site is working again, I don't use it for anything else than this robots. Hopefully it still works because I want to try doing some robocoding again. --zyx 03:31, 15 October 2010 (UTC)

Codefest Winnings

Hey Zyx, have you been contacted by anybody at Codefest about the prize money? I have yet to hear from anyone and am wondering if I'm alone in this situation. --KID 13:33, 25 April 2011 (UTC)

This is probably very late, I received the email like a week ago (around May 4th or 5th), but I saw your prize is marked as dispatching, so I guess you received it too. Sorry for the late reply, been too busy to check robo wiki. --zyx 20:58, 10 May 2011 (UTC)