Difference between revisions of "Talk:Pris"

From Robowiki
Jump to navigation Jump to search
(→‎0.86: congrats!)
(→‎0.92: CPU utilization and skipped turns)
 
(22 intermediate revisions by 7 users not shown)
Line 14: Line 14:
  
 
Big congrats on top 20! And becoming the top NN bot (by a margin). Pris is a really cool bot. Keep up the good work. =) --[[User:Voidious|Voidious]] 14:39, 19 September 2009 (UTC)
 
Big congrats on top 20! And becoming the top NN bot (by a margin). Pris is a really cool bot. Keep up the good work. =) --[[User:Voidious|Voidious]] 14:39, 19 September 2009 (UTC)
 +
 +
: Thanks, top-20 has been a longtime goal of mine.  But I should have taken a screen shot when Pris was in 1st place after 6 battles... =)
 +
: Now I need to figure out how to defeat [[MirrorMicro]].  It's always been a problem bot for me, and it's one of Pris' only 6 losses.  I've watched many battles between the two and Pris can't hit her own movement as well as MirrorMicro does, which is quite bizarre.  Pris trounces other mirror movers so that's not the problem.  MirrorMicro's targeting looks unusual too -- it's supposed to be circular but isn't.  --[[User:Darkcanuck|Darkcanuck]] 18:15, 19 September 2009 (UTC)
 +
:: Hmm, well, if you look on [[oldwiki:Mirror]], read ABC's comment maybe? --[[User:Rednaxela|Rednaxela]] 18:29, 19 September 2009 (UTC)
 +
:: After reading your comment, I've been trying to understand MirrorMicro 1.1's targeting. :) If I understand it correctly: about every turn it creates a wave, and when a wave reaches the target it records that wave's relative angle. It adds the latest determined relative angle to its gunheading. The confusing thing is that guessAngle (the relative angle) is a static variable, but is accessed like an object variable. --[[User:Positive|Positive]] 21:25, 19 September 2009 (UTC)
 +
::: Oh and, congrats. :) --[[User:Positive|Positive]] 21:36, 19 September 2009 (UTC)
 +
::: Hmmm, that's really helpful.  I peeked at the source just now and I guess MirrorMicro is basically aiming using the offset that would have worked for the current wave breaking over the target?  There should be a way of reversing this and using it as a movement input, but it probably would require firing movement waves every tick which Pris doesn't currently track...  --[[User:Darkcanuck|Darkcanuck]] 23:23, 19 September 2009 (UTC)
 +
::: On that note, [[DrussGT]] (and [[Wintermute]]) use the GF of the currently breaking wave as a dimension in it's gun, so it's probably exploiting the same weakness as [[MirrorMicro]]. I knew that dimension would come in handy some day =) --[[User:Skilgannon|Skilgannon]] 08:44, 20 September 2009 (UTC)
 +
:::: I do remember you mentioning this once when I asked about targeting segmentation.  But I never clued in that this is why I have yet to make any headway on improving Pris' score vs DrussGT.  I guess you can count on me adding this to the NN movement in the next release...  ;)  --[[User:Darkcanuck|Darkcanuck]] 04:32, 21 September 2009 (UTC)
 +
:::: Thanks again for both of your help -- my dev. version now handily beats MirrorMicro with this dimension added to the movement.  No significant improvement vs DrussGT and my Shadow score has actually dipped though.  --[[User:Darkcanuck|Darkcanuck]] 23:19, 21 September 2009 (UTC)
 +
 +
Congrats man, good job there. I have a request for future versions though. If you are going to beat YersiniaPestis, please beat Shadow too, I can't hold the PL crown if you don't ;-). --[[User:Zyx|zyx]] 02:36, 20 September 2009 (UTC)
 +
: Sorry about that.  My best (new) dev version only beats Shadow 30% of the time, but if I can improve it, you can have your crown back.  Although if you check the PL rankings, Pris isn't too far back... (tied with DrussGT for 4th) --[[User:Darkcanuck|Darkcanuck]] 04:32, 21 September 2009 (UTC)
 +
 +
Very nice stuff here with Pris. I expect [[RougeDC]] to be pushed further down the rankings soon :) --[[User:Rednaxela|Rednaxela]] 03:00, 20 September 2009 (UTC)
 +
 +
== 0.88 ==
 +
 +
It looks like Pris 0.88 will stay 14th. Wow, I'm really impressed! Those neural networks seem to be working pretty well. :) --[[User:Positive|Positive]] 16:20, 23 September 2009 (UTC)
 +
 +
I expected correctly :) --[[User:Rednaxela|Rednaxela]] 16:27, 23 September 2009 (UTC)
 +
 +
Yeah, really amazing what you're doing with Pris. A neural net bot on par with [[CassiusClay]] is a serious Robocode milestone, if you ask me. Keep it up! --[[User:Voidious|Voidious]] 17:09, 23 September 2009 (UTC)
 +
 +
It's nice to keep moving up -- but the climb keeps getting steeper!  Looks like I need to update my test set as a few new problem bots have crept in (lost to [[Pytko]]?).  The movement nets are indeed great: they add learned avoidance with a touch of unpredictability.  I still can't put in Gaff's latest gun though, as performance always drops a bit, possibly due to skipped turns.  --[[User:Darkcanuck|Darkcanuck]] 04:43, 24 September 2009 (UTC)
 +
 +
== 0.92 ==
 +
 +
I just got [http://twitter.com/roborumble @roborumble] back in action, and - [http://twitter.com/#!/roborumble/status/104037367983255553 damn, nice work!] ;) I wonder if there's any chance this means [[Diamond]] gets better than 42% against her now? So awesome that you and [[GresSuffurd]] are right on the heels of [[Ascendant]] now. That bot is such a milestone in my mind. --[[User:Voidious|Voidious]] 03:59, 18 August 2011 (UTC)
 +
 +
: Thanks!  Ironically I've been gunning for a higher PL score, but the increased APS (and rank) is nice too.
 +
 +
I have problem with Pris 0.92 or awl.Locutus 1.0 on my rr client, there' log:
 +
<pre>
 +
Fighting battle 9 ... darkcanuck.Pris 0.92,awl.Locutus 1.0
 +
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
 +
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
 +
Robot awl.Locutus 1.0 is not stopping.  Forcing a stop.
 +
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
 +
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
 +
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
 +
Robot awl.Locutus 1.0 is not stopping.  Forcing a stop.
 +
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
 +
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
 +
</pre>
 +
 +
Check, may be it's Pris's problem. I can send Pris's data files, if it's can help --[[User:Jdev|Jdev]] 10:26, 19 August 2011 (UTC)
 +
 +
: Strange...  Pris doesn't save anything (well, it shouldn't) so that won't help.  Was it just the one battle or have you seen this happen other times too?  --[[User:Darkcanuck|Darkcanuck]] 13:39, 19 August 2011 (UTC)
 +
 +
:: There're 3 files in Pris's data dir: basedata.ser, battledata.ser and Pris.properties. But may be it's data of old versions of Pris. I have seen only one battle with this log at this moment. I don't know, has it impact, but when this problem occurs another process on my machine  takes all CPU time --[[User:Jdev|Jdev]] 14:15, 19 August 2011 (UTC)
 +
 +
::: Er... you shouldn't be running the rumble on a machine where some other process could start taking all CPU time. That could be hurting the results of any robot --[[User:Rednaxela|Rednaxela]] 15:04, 19 August 2011 (UTC)
 +
 +
:::: No one process shouldn't start taking all CPU time. But some times it's happens with buggy software:) --[[User:Jdev|Jdev]] 15:54, 19 August 2011 (UTC)
 +
 +
:::: I would not run the RoboRumble client unless you have at least one free CPU core to run it the whole time. The CPU constant used by Robocode assumes it has sole access to the CPU. Well, if that's the situation when you calculated it - but any other setup would be inconsistent and make bots skip turns (or, in the extreme case, be stopped) unfairly. --[[User:Voidious|Voidious]] 16:10, 19 August 2011 (UTC)

Latest revision as of 17:10, 19 August 2011

Notes on 0.36c

This version has yet to reach 2000 battles but has full pairings and seems to be on par with Gaff. They have a lot of code in common but the movements are different. Gaff is multi-mode with a pure random mode (decent vs top bots) and a dodging mode (basically very weak wave surfing, good against simple targeters), whereas Pris has only one mode trained through reinforcement learning. From the current results it looks like the learning method has been able to create a style that's not just random noise, since it can match Gaff's performance. Which is encouraging. :) --Darkcanuck 05:43, 11 June 2009 (UTC)

0.84

Very cool that you're trying some neural surfing, and even cooler that it's working so well. I think you roughly cracked the former-2000 barrier here, and you're only a few spots away from Engineer, the top (and only other?) pure-NN bot. Nice work! --Voidious 04:02, 28 August 2009 (UTC)

Thanks! I'm finding movement far more challenging than targeting. I have a few more easy tweaks for Pris but after that I may have to take a break and do something different (melee?) in order to generate more ideas. Still waiting for Holden to reach 2000 battles so I can unleash the next version... --Darkcanuck 04:46, 28 August 2009 (UTC)

Nice stuff indeed! And yeah, I'd say that movement generally is far more challenging. With targeting you mostly just store values and predict values, but movement involves the bot 'planning' and works in two resultant dimensions rather than one. --Rednaxela 04:52, 28 August 2009 (UTC)

0.86

Big congrats on top 20! And becoming the top NN bot (by a margin). Pris is a really cool bot. Keep up the good work. =) --Voidious 14:39, 19 September 2009 (UTC)

Thanks, top-20 has been a longtime goal of mine. But I should have taken a screen shot when Pris was in 1st place after 6 battles... =)
Now I need to figure out how to defeat MirrorMicro. It's always been a problem bot for me, and it's one of Pris' only 6 losses. I've watched many battles between the two and Pris can't hit her own movement as well as MirrorMicro does, which is quite bizarre. Pris trounces other mirror movers so that's not the problem. MirrorMicro's targeting looks unusual too -- it's supposed to be circular but isn't. --Darkcanuck 18:15, 19 September 2009 (UTC)
Hmm, well, if you look on oldwiki:Mirror, read ABC's comment maybe? --Rednaxela 18:29, 19 September 2009 (UTC)
After reading your comment, I've been trying to understand MirrorMicro 1.1's targeting. :) If I understand it correctly: about every turn it creates a wave, and when a wave reaches the target it records that wave's relative angle. It adds the latest determined relative angle to its gunheading. The confusing thing is that guessAngle (the relative angle) is a static variable, but is accessed like an object variable. --Positive 21:25, 19 September 2009 (UTC)
Oh and, congrats. :) --Positive 21:36, 19 September 2009 (UTC)
Hmmm, that's really helpful. I peeked at the source just now and I guess MirrorMicro is basically aiming using the offset that would have worked for the current wave breaking over the target? There should be a way of reversing this and using it as a movement input, but it probably would require firing movement waves every tick which Pris doesn't currently track... --Darkcanuck 23:23, 19 September 2009 (UTC)
On that note, DrussGT (and Wintermute) use the GF of the currently breaking wave as a dimension in it's gun, so it's probably exploiting the same weakness as MirrorMicro. I knew that dimension would come in handy some day =) --Skilgannon 08:44, 20 September 2009 (UTC)
I do remember you mentioning this once when I asked about targeting segmentation. But I never clued in that this is why I have yet to make any headway on improving Pris' score vs DrussGT. I guess you can count on me adding this to the NN movement in the next release... ;) --Darkcanuck 04:32, 21 September 2009 (UTC)
Thanks again for both of your help -- my dev. version now handily beats MirrorMicro with this dimension added to the movement. No significant improvement vs DrussGT and my Shadow score has actually dipped though. --Darkcanuck 23:19, 21 September 2009 (UTC)

Congrats man, good job there. I have a request for future versions though. If you are going to beat YersiniaPestis, please beat Shadow too, I can't hold the PL crown if you don't ;-). --zyx 02:36, 20 September 2009 (UTC)

Sorry about that. My best (new) dev version only beats Shadow 30% of the time, but if I can improve it, you can have your crown back. Although if you check the PL rankings, Pris isn't too far back... (tied with DrussGT for 4th) --Darkcanuck 04:32, 21 September 2009 (UTC)

Very nice stuff here with Pris. I expect RougeDC to be pushed further down the rankings soon :) --Rednaxela 03:00, 20 September 2009 (UTC)

0.88

It looks like Pris 0.88 will stay 14th. Wow, I'm really impressed! Those neural networks seem to be working pretty well. :) --Positive 16:20, 23 September 2009 (UTC)

I expected correctly :) --Rednaxela 16:27, 23 September 2009 (UTC)

Yeah, really amazing what you're doing with Pris. A neural net bot on par with CassiusClay is a serious Robocode milestone, if you ask me. Keep it up! --Voidious 17:09, 23 September 2009 (UTC)

It's nice to keep moving up -- but the climb keeps getting steeper! Looks like I need to update my test set as a few new problem bots have crept in (lost to Pytko?). The movement nets are indeed great: they add learned avoidance with a touch of unpredictability. I still can't put in Gaff's latest gun though, as performance always drops a bit, possibly due to skipped turns. --Darkcanuck 04:43, 24 September 2009 (UTC)

0.92

I just got @roborumble back in action, and - damn, nice work! ;) I wonder if there's any chance this means Diamond gets better than 42% against her now? So awesome that you and GresSuffurd are right on the heels of Ascendant now. That bot is such a milestone in my mind. --Voidious 03:59, 18 August 2011 (UTC)

Thanks! Ironically I've been gunning for a higher PL score, but the increased APS (and rank) is nice too.

I have problem with Pris 0.92 or awl.Locutus 1.0 on my rr client, there' log:

Fighting battle 9 ... darkcanuck.Pris 0.92,awl.Locutus 1.0
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
Robot awl.Locutus 1.0 is not stopping.  Forcing a stop.
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
Robot awl.Locutus 1.0 is not stopping.  Forcing a stop.
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.
Robot darkcanuck.Pris 0.92 is not stopping.  Forcing a stop.

Check, may be it's Pris's problem. I can send Pris's data files, if it's can help --Jdev 10:26, 19 August 2011 (UTC)

Strange... Pris doesn't save anything (well, it shouldn't) so that won't help. Was it just the one battle or have you seen this happen other times too? --Darkcanuck 13:39, 19 August 2011 (UTC)
There're 3 files in Pris's data dir: basedata.ser, battledata.ser and Pris.properties. But may be it's data of old versions of Pris. I have seen only one battle with this log at this moment. I don't know, has it impact, but when this problem occurs another process on my machine takes all CPU time --Jdev 14:15, 19 August 2011 (UTC)
Er... you shouldn't be running the rumble on a machine where some other process could start taking all CPU time. That could be hurting the results of any robot --Rednaxela 15:04, 19 August 2011 (UTC)
No one process shouldn't start taking all CPU time. But some times it's happens with buggy software:) --Jdev 15:54, 19 August 2011 (UTC)
I would not run the RoboRumble client unless you have at least one free CPU core to run it the whole time. The CPU constant used by Robocode assumes it has sole access to the CPU. Well, if that's the situation when you calculated it - but any other setup would be inconsistent and make bots skip turns (or, in the extreme case, be stopped) unfairly. --Voidious 16:10, 19 August 2011 (UTC)