Robo Home | Changes | Preferences | AllPages





What's special about it?

it's my first real MegaBot

Great, I want to try it. Where can I download it?


How competitive is it?

not bad

How does it move?

circle movement in OneOnOne and basically MinimumRiskMovement in Melee

How does it fire?

the same PM gun in both OneOnOne and melee

How does it dodge bullets?

Movement ;)

How does the melee strategy differ from one-on-one strategy?

can't really compare them

What does it save between rounds and matches?

PM stuff beween rounds

Where did you get the name?

Aleph is the first letter of the hebrew alphabet. This letter is used in set-theory...

Can I use your code?


What's next for your robot?

I'll see

Does it have any WhiteWhales?

PM bots in general

What other robot(s) is it based on?

a lot of good bots around today.


Congratulations on your strong entry into the 1on1 top 10 with Aleph, currently the only green dot in Shadow's LRP :). Keep up the great work! -- ABC

It's nice, indeed... is it using a pattern matcher? If so it's crazy-fast. -- Jamougha

At least I tried not to get on the SlowBot list like my other bots... but this is nearly impossible for a pattern matcher -- rozu

Very strong, and it is only the first version! A great return for the author of the GlowBlows? (GlowBlow & GlowBlowMelee were some of my first favorite bots ever. Bots like these plus Tron & TAOW were my first inspiration to enter the Robocode). Congrats! -- Axe

Nice melee result congrats, - are you going for the top place for Team? -- Paul

Oh thanks. I can't say, I only run some rounds against ShadowTeam. This team isn't a big thing, I only added a high gravity spot for teammates, I don't even send messages to other teammates. The GlowingHawks have much more team code like friendly bullet dodging, taking the leader away from the center or attacking the enemy leader. So I have much to play with there. -- rozu

ShadowTeam is also just 5 Shadows with teammate avoidance, no messages or any other team specific strategy. Great work with Aleph, a true top bot. -- ABC

Thank you. I think you agree that there could be done thousands of things with those teams. as far as I can tell the only thing neaded is a good melee bot and nothing more (at least at the moment). BTW the victory dance was hard work too ;) -- rozu

Yeah, most teams at the moment are just 5 good melee bots that don't shoot eachother. It's a pity really... -- Tango

There is a lot of unexplored potential in team battles, that is for sure. I'm making some tests right now, I'll probably dedicate some time to improving ShadowTeam, depending on the results ;). -- ABC

AlephTeam? freezes Robocode here, after around 10 rounds... :( -- ABC

Bad news. can you tell me more about it. is it against all other teams or against itself. I just run 50 rounds and it didn't freez but I see that it is much slower then ShadowTeam, so it is probably the gun. I'll have a look. -- rozu

I tried against ShadowTeam and against itself, it starts running at 2fps after a while and eventually freezes Robocode completely. I'm using WinXP and running RC by double-clicking the robocode.jar (no command line parameters). I'll try it again later when I get home.-- ABC

I think if you run robocode.jar by double clicking java then the max memory will default to 128MB... I don't know what Aleph's team memory requirements are, but DT team gives OutOfMemoryError? with anything less than 1.3 GB... I found this out by gradually increasing the memory allocated to the process until it didn't crash any more. :-p You can set the max memory using the -Xmx parameter, for example

java -Xmx1024M -jar robocode.jar
for 1 gigabyte. --David Alves

I know, but I just have 512MB ram on both my PC's... and I need some memory left for other stuff. At home I use -Xmx256M. A bot that uses 1.3GB ram is a buggy bot, imo. -- ABC

If it doesn't have technical bugs, it has major design flaws... -- Tango

"A bot that uses 1.3GB" - That's for 5 DTs... so more like 256MB each. :-p --David Alves

Ok, I managed to run a 100 round battle of ShadowTeam vs AlephTeam?, AlephTeam? won. It was a close one though, I have to make more tests... ;) Btw, ShadowTeam also uses lots of memory, I once tried running a battle with 9 Shadows and 1 DT and it crashed around round 250. -- ABC

Good to know. I know that my gun stores a lot values. I can make this better if I use int at most places instead of double (wont make a big difference for values bigger then 10). I hope the next version will work better. As I'm a pretty unexperienced programmer I'll probably have to rethink the whole design too (as Tango wrote above). -- rozu

Ok, a 500 round battle finished without problems here, so it is not a case of memory leaks, just heavy memory usage. It peaked at around 280MB used, that is ok considering there are 10 pattern matchers using huge structures (I save 30k scans with lots of computed info). Btw, I won those 500 rounds ;), but it was a close one again. -- ABC

nice, 30k is a lot. I'm smewhere at 10k. anywhay, might look like a hard team fight. if it comes to the RR team battle the current momentum looks promising for me. Do you know something specific about melee. I'm more a running-just-some-rounds-bot-tester. So just say if you have some results there. -- rozu

Yes, 30k is a lot, it takes around 350 rounds to fill the buffer completely since I don't interpolate missed scans. I'm not sure about the RR melee ranking, in my experience it is very unstable. If you run the client for long periods, instead of getting a clear leader, the best bots will change positions like crazy. We talked about increasing the round count to 100, I think that would help a lot. I only did a 300 rounds melee test so far:

Here is the team battle:

I'll do some more tests soon.

-- ABC

looks good, I can live with that. increasing to 100 is really be important. it is getting close at the top even this 300 rounds can't tell the whole story. -- rozu

No, they don't. Sometimes even 1000 rounds are not enough in melee. But from that 315 rounds you can tell that Aleph is a very strong candidate to the 1st place, beating both Shadow and DT in terms of bullet damage. I'll run that 1k rounds test and post the result here, my bet is on Aleph. :)-- ABC

Here is my first 1k rounds test:

As close as they get. Notice how Shadow only won because of the 1st places, Aleph is first in both bullet damage and survival. I'll try adding GlowBlowMelee in the mix later.

-- ABC

even closer then the 300 rounds above, its now 49.75% to 50.25%. it could be that Aleph has an advantage in the first 35 rounds because it has filled the PM-stuff at 10-20 rounds and as you said above your gun will probably gradually perform better until round 350 is reached. -- rozu

I want to ask if there is something that shows me what the hell in my bot is using how much memory. is there such a thing? Or in general are there any "memory-tools" you are using in development of your bots? -- rozu

Java profilers are very good about showing memory consumption. JProfiler is the name of the one that I have used. It's not free, but there is an evaluation version. -- nano

this is really great... thanks. -- rozu

Aleph seems to stop firing after a while when you're using a fast cooldown rate --David Alves

I allready corrected this bug (I forgot to limit firepower to 0.1 and 3 in some places, so the energy I would loose to shoot a bullet became arbitrary large, and this variable isn't set to zero next round so Aleph want start shooting again). It could also happen with normal cooldown rates (especially in melee). So it might effect my RR rating a little bit. -- rozu

I just came to the conclusion that AM is the way to go in OneOnOne movement. Today I implemented the most basic AM movement I could think of and this is what I got (I mean no tweaks and no segmentation except the 31 guessfactors):

1st: jam.mini.Raiko 0.43	23715	8400	1680	11966	1600	68	0	169	132	0
2nd: rz.AlephC		21269	6600	1320	11869	1407	72	0	132	168	0

1st: rz.AlephC			23834	8550	1710	11891	1659	22	0	172	129	0
2nd: pez.micro.Aristocles 0.3.5	20036	6450	1290	10980	1310	6	0	129	171	0

As ABC said before, there is no Math.random() involved at all. -- rozu

Cool! You guys are crazy making movements without Math.random(). =) -- PEZ

Great stuff Rozu, I can asure you it doesn't have to be complicated to work wonders. :)
Btw, here is my latest test result:

 1st: abc.tron2.Shadow	75871	24550	4910	41247	5153	10	0	494	508	0
 2nd: pe.SandboxDT 2.71	68707	25400	5080	33914	4313	0	0	511	491	0
That 2k barrier may be attainable afterall. :) -- ABC

Phew!!! When will you release??? -- PEZ

Still got to test/tweak it further, I've had other movement variants do that agaisnt DT 2.71 but worse against other key bots... Must be that Paul's anti-AM gun is different from a normal GF gun. I'll probably release something tomorrow or the next day. -- ABC

Wow, broke 2000 after 65 battles. If it stays, congrats on being the first 2k+ bot. -- Alcatraz

I remember once you said you could only do minis. =) Great bot Aleph is! -- PEZ

The air was allright there at the top. But it was clear that Aleph had to come down again. I mean the results against some of the good bots had been really bad and the implementation of the movement can be improved a lot. I just wanted to have a basis against weaker guns. PEZ, if you could see the desing of Aleph you would laugh for sure, and by the way I think it would be possible to shrink this movement into a mini :) -- rozu

Why don't you show me the design then? I could really need a good laugh. =) I don't doubt a bit that it fits in a mini. Pugilist has some 150 bytes to spare and then I really did no attempts at all to keep codesize down when I added AM. -- PEZ

It would be really great if Pugilist starts to work properly. I have to say that because I completely failed to make a movement work based on a formula (even though I'm studying mathematics, I'm probably just too stupid). So I did what I can and what worked for me in the past. I basically inversed the behavior of GlowBlowAPM ;). The funny thing is that when I released GlowBlowAPM it reached the same place (3th place in ER) Aleph is sitting on right now. -- rozu

Great work Rozu! Welcome to the 1950+ club, good luck in the 2k race :). And yes, Shadow's movement could also be made into a mini, a simpler version of it at least. At first I thought of changing Shadow's name to ShadowAGF?, inspired by your GlowBlowAPM. :) -- ABC

Well, I know zilch about math. =) But I put MS Excel to heavy work when I try to find the right mix. I'm not sure I'll get this sort of AM working though, since I have tried several times and never really got any success. GlowBlowAPM you say? Hmmm. I'll need to think hard now I see. -- PEZ

Mind you I never had the faintest idea of how GlowBlowAPM works, I just thought the AGF name would fit nicely to what I did. Take the simplest GF gun, invert it, and find a simple way of flattening it. Remember to KISS. I'm not a math guy either... ;)-- ABC

I'm pretty sure that DT, Shadow and Aleph take absolutely different approaches to the same type of movement. the 2k race is left to you and Paul. It isn't a big jump for you both I'm not so close to this number to worry about this. But I now how to improve Aleph (at least I hope so). I mean the GF-gun I use still has absolutely no segmentation (but I don't want to save any data on files at the moment). And the worst gun in the top 10 belongs to Aleph too. The energy-management is bad too, let's see if the PM-data can help me to chose a good firepower... -- rozu

You are higher than I was with Shadow 2.31. That one took me a good bit of work to optimise, and I used a lot of tweaks, mainly because I wanted to be sure it beat DT 2.41 in the long run. Seeing that you made it to 1960 points with a simple (not segmented) implementation, it shouldn't be too hard for you to climb the rankings. My energy management is practicaly non-existant, Shadow's ranking is very much based on movement, DT wins every single battle on survival. You also got the same kind of "advantage" as I do, a PM gun seems to work very well against flat movements, even with the disadvantage of starting from scratch every battle. Btw, Aleph's problem bot list looks strikingly familiar, maybe our approach was not that different... :) -- ABC

You'r right, now with this movement, you can see clearly some differences between PM and GF guns. My implementation of this movement is kind of unnatural so I really can't imagine that you or Paul did it the same way. We once have to compare some stuff... -- rozu

About it not beeing a big jump for me and Paul, you got to remember that the higher you go, the harder it is to improve. To make it to 2k points you have to consistently win with very big margins against some very tough bots. The biggest jumps I made since 2.31 were based on winning faster and with bigger margins against the simple bots. - ABC

Congrats! I had wondered before why you didn't just stick a GF gun in GlowBlowAPM, but I didn't think it would be *this* successful. :-) -- [[Jamougha]

Bloody hell! Aleph is hight on the skies... Congrats, 1960+ and with still a lot of place to improvement, amazing! Seems that u have a problem with RammingBots?, like NanoDeath, this should be easily corrected, althought. My congratulations, impressive job indeed! Just checking: your new moving is AM right? Seems very strong against close-range bots, do u have any special close-range tweaking? My own AM(develop.) seems to have a close-range problem... -- Axe

The ramming thing is corrected now (Aleph was wave-surfing too aggressive :)). No there are no tweaks in this direction. One thing that could effect the problem you have is that you don't take the size of the bot into acount at near range (or not accurate enough ??). Just a thought. -- rozu

Funny that you mentioned "wave-surfing", that is exactly how i called my new moving: WaveSurfing... I think that is a good name for this kind of moving, surfing the waves, and like a surfer staying away from the "crashing"(spikes) points of the wave... You are probably correct about the bot-dim thing, my WaveSurfing don't take yet in account the BotDim?, that was going to be my next step actually. That and a greater segmentation of my GFs, i am using 17 slices, witch in greater dists give me arc slices very big... -- Axe

Haha, NanoDeath is so cool! -- Mike

This is nail-biting stuff - 2001 with 141 battles! Your implementation is certainly the best against the weaker bots, by a long way... -- Jamougha

I'm not sure. Against some weaker bots I got more or less the same results as Shadow (Shadow was a little bit better). -- rozu

Yes, but there are some results it's pretty much impossible to improve on. :-) -- Jamougha

Any predictions on Aleph 0.32? BestBot? material? :) -- ABC

My prediction is that it will get the same rating as version 0.31 :). I refused to use data files (at least for this version) so I'll have to give up some points against weak guns. -- rozu

I'm actually tempted to release a version of Shadow with the data saving disabled, I'm not certain it improved my rating by much. Your implementation seems to be the closest to a pure dodger, it always goes way up with the first battles. Btw, it's very strange to see DT in 4th place... I wonder what Paul is up to lately, can he surprise us all as usual? :) -- ABC

98% against DT 2.71! There is definatly something wrong with DT, it has been slowly going down for quite a while now, maybe someone is running it in challenge mode? -- ABC

LOL... It wasn't me, I just checked it. We should set this result back somehow. -- rozu

From Shadow's page: "ABC, how many points would Shadow get without data saving? I'd say around 5 points less, I saw Shadows rating gradually increase from about 1986 over a longer period of time. What do you think? Just to get some information... to see if it's worth to implement it into Aleph. -- Rozu"

Unless I have some bug in Shadow 2.49, no points are gained by saving data. I was betting on a a 10-15 points difference, maybe with some more battles... -- ABC

I never tried to do it anyway. But nice to see it black on white now ;) -- rozu

IŽll try switching off saving data in a version of SilverSurfer to confirm it. -- Axe

So although you're currently clear top of melee, Aleph 0.2 seems to occasionally stop firing towards the end of a battle (When its still got 20+ energy), and continues to move round turning the gun as usual. I don't know whether it's some kind of tactic or a bug i'm not sure. Although if it is tactical some of the battles i watched makes me think you could make a huge ranking jump if you turned it off... --Brainfade

This is an older bug. I have a new melee version for some time now but I never gor around to release it... -- rozu

Running long tests with that version of Aleph can also be annoying, since my score and survival will change somewhat dramatically over 1000 rounds if Aleph was only firing for 100 of them. -- Kawigi

Is this robot use PM? Or it use PM for version earlier than 0.34? I go through my decompiled code for your 0.34 and notice that it is DC-PIF!!! It is really, really DC-PIF, cluster size of 50, cluster on distance-to-corner, distance-to-wall, distance-to-me and dist-last-1/3/9/27/81 for melee and dist-last-1,2,4,8,16,32,64 for one-on-one. Correct, rozu? Or you have said that somewhere already and I missed it... --Nat

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited March 25, 2009 7:11 EST by Nat (diff)