[10:55] MSG: Crikey wow! [11:37] Join: Core_old joined #corewars [11:49] Join: Fluffy joined #corewars [11:49] :) [11:52] MSG: Quit: Trillian (http://www.ceruleanstudios.com [12:11] MSG: anna? how be emiclock how [12:14] err ... that stupid bot is back :( [13:22] Join: Neo joined #corewars [13:22] hey [13:22] Hi Neo [13:22] hi, is datagram alive? [13:23] Haven't seen him for a while. [13:23] You should look into the logs [13:23] did it, no signs of life from him. [13:23] :( [13:24] no much activity here lately... [13:25] yes, partly because the irc-server was down [13:26] * Neo is hungry [13:26] bbl [13:26] * Fluffy waves [13:26] Nick Change: Neo changed nick to Neo_eat [13:26] bye [13:27] *yawn* [13:28] good "morning" [13:28] haha [13:47] MSG: someone crushed the magic cookies [14:49] * bvowk saws fluffy into chunks [14:49] ok, but how do you dispose the chunks? [14:50] bbq. [14:50] cholesterin? [14:50] bah. [14:50] I care not for gooey fats! [14:50] and human flesh tastes slightly too sweet [14:50] so are you going to join the dark side and come to the evolving side of the force fluffy? [14:51] Nope, I'll belong to a different category [14:51] Nick Change: Neo_eat changed nick to Neogryzor [14:51] beware of the dark side, seducing, is it [14:51] I'm stealing other people's code and optimize it to the death [14:51] heh [14:52] I think I'm going to have to get my butt in gear and beat this corewar thing ;) [14:52] Dou you need help for nano, Bvowkey? [14:53] neo: that just sounds wrong coming from you ;) [14:53] bah, i feel like writing something but i am not tired enough to be creative [14:53] touché... [14:54] Though, i have a joint warrior on top, (me/sf) :) [14:55] I wrote some more for my newskool evolver last night.. [14:55] bvowk: You should start evolving for 94nop and show once and for all, that evolvers can create a koth :) [14:55] newskool? [14:55] neo: yeah, I have a couple new ideas. [14:55] well.. not really new.. just new to me. [14:57] I guess you included into you evolver's code something starting with R and ending with edrace :) [15:00] heh [15:00] no! [15:00] I'm not going to steal someones code and optimize it to death like fluffy! [15:00] ;) [15:01] bvowk: ok, as long as you have fun :) [15:01] whats everyone doing today? [15:02] Uncovering new secrets of quickscanners (with the help of your computers ) [15:03] <- is watching episodes of Iron Chef [15:04] Join: Core_old joined #corewars [15:04] I'm sorry to hear that miz [15:04] <-- hates TV [15:04] * Neogryzor is about to rebuild his Tournament entry [15:04] especially reality TV shows.. [15:04] so sick of watching a bunch of idiots bumbling around getting all worked up about things that happen in a freaking game! [15:06] * Neogryzor is absolutely agree [15:13] bbiaw [15:21] MSG: Ping timeout: 255 seconds [15:25] MSG: where be send emi picture [15:35] Join: willvarfa joined #corewars [15:35] hi will [15:35] howdy [15:40] Part: willvarfa left #corewars [15:45] Join: Neogryzor joined #corewars [15:56] MSG: [16:11] Part: Fluffy left #corewars [16:37] Join: John joined #corewars [16:37] Hi [16:39] hi [16:40] Anything new? [16:49] not really [16:49] inversed had a rant about optimaxing on rgc [16:56] This month has been a good month for me to find primes. I'm now in the top 50 prime finders! [17:49] * John wves [17:49] MSG: Quit: mov.i #1,1 [19:54] Join: fiveop joined #corewars [19:54] :) [20:30] Mizcu: What was the gist of the rant? [20:32] http://groups.google.com/group/rec.games.corewar/browse_thread/thread/bc98f65734e1a74b/bbb19c8cd1776e95#bbb19c8cd1776e95 [20:33] Join: John joined #corewars [20:33] Hi, back for a few minutes [20:33] yay [20:34] Not as exciting as that Mizcu, sorry :-( [20:34] * multimode preemptively suggests "pixel-pimp" (to John). ;) [20:34] Thanks, I'm sure my girlfriend would appreciate that name [20:35] You're welcome. ;) [20:37] I've already registered a name anyway. I'll tell you what it is when I've put something on there [20:53] Mizcu: I'm reading this thread, and there seems to be a lot of discussion of constants. Am I correct in thinking this is just debating, say, what constant to use when placing bombs? [20:54] placing bombs, scanning pattern, pattern of papers replication [20:56] This may be lack of experience, but isn't it a little silly to be very concerned with such things? Assuming you don't do something really dumb, like say, limit your bomb placing to one location, or bomb yourself, I suspect any constant change (for such purposes) is only going to fine tune you against one implementation of one design. [20:56] * John waves [20:56] MSG: Quit: mov.i #1,1 [20:56] yes and no [20:58] overly tuning your steps will specialize you against your benchmark, but there is a difference between acting of stepsizes [20:59] if you bomb every fifth instruction in core, you might miss something smaller [21:00] Well, here's what I'm getting at. Let's say you find out that bombing every 10 steps works best against warriors in . You spend 4 weeks letting your computer chew on this simulation. Then you meet other warriors on the hill where your tactic isn't optimal. Unless you know /everything/ beforehand, I don't see how it's any use. [21:01] It's like saying pi is better than phi, because pi is more helpful drawing circles. [21:01] that is the point, you should not overoptimize [21:02] Well, again, this may be inexperience talking, but how is optimizing ever helpful except when going after specific warriors you happen to have the code for? I'm not convinced there is any "magic" constant that will be better than everything else. That doesn't make sense. [21:02] I'm using "optimizing" in the "find constants" sense, not the "make code run faster" sense (which I think is incredibly useful). [21:02] how do you set your bombs when playing battleship? [21:03] Based on what I know from previous moves. [21:03] In the first turn? [21:03] Randomly, I believe. I haven't played in years. [21:05] currently the ruling tactic in setting your bombs is to "divide" the core into smaller and smaller pieces with the bombs [21:05] so you take larger opponents faster and smaller later [21:06] Ok, but that doesn't say anything about magic offsets or step sizes. [21:06] this is overgeneralizing, but usually bigger opponents are more dangerous [21:07] the optimal numbers for the bombspred have been already calculated anyway [21:07] and as they were gotten, they became somewhat overused [21:08] and now the aim on stonesteps tends to be on "less optimal" steps that havent been optimized against [21:08] though Hullabaloo's stone uses an optimal step.. [21:08] and then there is the dodger-problem [21:09] on optimal pattern, bomb will not have another bomb right next to it until there are no better places [21:09] I don't see how they can be "optimal" except for a certain set of warriors. There are, I'm sure, some special traits of instruction sets. Say, the size of a optimally fast for loop implementation (assuming no unrolling or code motion or whatnot) may be fixed. But for instance, if there was a calculable set of "special" constants, most compilers would be using that technique. [21:09] but dodgers go for next to bombs to use as its advantage [21:09] Granted, optimizing for "normal" code and Core War is not the same thing, but "best" (or at least better) code generation is the goal of both. [21:10] you can calculate how fast a certain numbers divides the core to certain degree [21:10] and how often it meets common imp-spiral patterns [21:11] Okay, dividing core size (assuming the "standard" size) is a built in property I'll admit, but the imp spiral thing... That sounds like what I'm talking about. How can it be anything except optimal against a certain set of warriors? [21:12] Surely there is no limited number of ways to implement a imp spiral. There might be optimal (for some values of optimal) ways of implementing certain ones, but, for instance, it might be advantageous to be slower, or smaller, than "normal" especially if you know your enemy is going after particular patterns. [21:13] there are 7999 different imp-spiral steps [21:14] but larger ones (>21) are more fragile to random hits [21:14] What if someone does something "weird" like not make them move in a 'normal' spiral? [21:14] Odd pauses, odd motion, etc... [21:15] well, that can either add resistance, or attack power [21:15] or weaken, of course [21:15] But it will break any "special" constants you have. 5 is not inherently better than 3 in all situations. [21:16] however, no matter how weird imp spiral it is, it will most likely die on an imp-gate or d-clear [21:17] but you are correct, like the imp-searching pattern on Recon2 [21:17] it would get really screwed up by right type of imp [21:17] the fact is a little bit different, but you are correct in your current idea [21:17] So I'm still not sure how optimizing is worthwhile unless you know what set of warriors you will meet. [21:18] numbers can make things happen in warrior that you havent planned [21:18] Because anything "weird" will break assumptions, and if your code makes such assumptions it is 'fragile'. It will only work against a limited existing set. [21:19] I'll grant you certain numbers or math functions will produce odd patterns. I'm just trying to wrap my head around why anybody would try to find optimal (for the general case) constants (or why they believe they exist). [21:20] Some numbers are on average better than others, the reason is not that well known, atleast by me. Optimax tries to be as even to different types of warriors as possible to give as unbiased benchmark as possible. [21:20] But yet again, overoptimization is bad. [21:21] As my previous warrior-attempt did show [21:21] Well, I can see that. [21:21] Forgive me for using a unpleasant analogy but I don't know a better one. [21:22] Let's say you have a population of creatures. They reproduce, based on what genes are favored. Of course, if a gene doesn't matter much one way or another to survival, it will stay in the pool. [21:24] Now let's say you're making a virus. Because having orange fur is handy for confusing the giant mosquitoes (can't see orange) that kill animals with other colors of fur, most of them have it, you can bet on designing your virus to match (for insertion/replacement) the segment of code that has orange fur. [21:24] Chances are, almost all, if not all, orange furred creatures will die. [21:25] On the other hand, your virus is totally ineffective against creatures that did not have orange fur... Your virus is not optimal for the general case. The only reason it worked at all, was creatures were all copying eachothers /exact/ survival strategy. For instance, if there was /another/ DNA sequence that could produce orange fur, it might never evolve, because there was a "good enough" one already. [21:25] there was a "good enough" one already. [21:26] the hill(s) have a tendancy to work in cycles. That is why high age is better than scoring. [21:27] Yes, from what I've read, warriors that get lots of kills tend to not last long. This seems to indicate that specialization competes with longevity. [21:27] Or put another way "there is no fixed optimal strategy". [21:27] Then i could also ask you to explain Son of Vain [21:28] Why's that? [21:28] it stayed on the hill for 2573 challenges, and it is the oldest warrior currently known [21:29] Okay? [21:29] it reached 1st place on the hill last time when ages 2431 [21:29] It does not adapt in any way to enemy behavior? I'd be extremely surprised if it doesn't. [21:29] it had over 15 point lead over other warriors when sent [21:29] It was optimized for about a week by multiple computers [21:30] It is not really an adapting warrior either [21:30] Back to the orange-creature-killing-virus example... [21:31] What I was getting at is the creatures are copying strategies that are effective around (without modification, or at least modification is extremely rare). [21:31] I'm told there is a known (mathematically) fastest imp spiral launch. [21:31] So I'm betting lots of warriors use that. [21:32] It's just like copying a strategy via crossover and dominant/non-dominant genes (sorry if this is getting too theoretical, as I said, I don't know anything else to compare it to). [21:32] you see Song of the Blue Sea on koth'94 nop, right? It uses non-optimal implaunch [21:32] The danger is when you assume that /everyone/ will have the exact same strategy, because it is "optimal". That brown furred mutant will hand your rear to you (though it'll have to watch out for the mosiquotes). [21:33] So if I wanted to make a new Son of Vain, here's what I'd do. [21:33] I'd download every warrior I could get my hands on. [21:33] Then I'd set up as many machines as I could get my hands on, and have them cycle my new Son of Son of Vain against all possible warriors trying all possible constant sizes. [21:35] The end result, I suspect, is I would get optimal constants for "the popular strategies". It would not be very good against any particular strategy because (judging from what appears to happen with highly specialized warriors effective against certain kinds of attacks) the constants became "washed out". They are "average" if you will. [21:35] That would be much better than values that fail against all known warriors. [21:35] But my extra special mined values will fail as soon as someone submits a warrior I haven't seen, that /also/ uses a strategy I haven't seen. [21:36] Most warriors (according to this list of complaints) are just copying "strategies that work well", like all those orange furred creatures. And that was the point I was making. [21:37] well, i would be interested in seeing you do a new type of warrior with new type of strategy [21:37] Well, at this point, you'd be looking at (sorry for dragging this analogy out) me performing a "mutation" on existing strategies. [21:37] last one with truly new idea was Origin of Storms, which is 189 on Koeningstuhl [21:38] silly thing with it, that Metcalf didnt optimize its stepsizes, but just calculated mathematically "best" in 15mins on paper [21:39] Obviously orange furred creatures work well (due to giant mosquitoes). If I was trying to make one that could handle giant mosquitoes /and/ the orange-death plague, I'd try to find a way to be orange, or close to orange, with different DNA. [21:39] it scores exactly the same as one that has been computer-optimized for a looooong time [21:39] So, for instance, I'd probably use a imp spiral (yawn, I know) but make it do something odd every so often, or at random, or when encountering something. [21:39] Which would tear up all the special constants. [21:41] have fun with that [21:42] I probably won't be submitting anything soon. The point I'm trying to make is I can't see how it makes sense (if there is an explanation please give it, that's what I've been asking for) to believe certain numbers are better than others /for all cases/. For limited cases, yes, I believe. [21:43] there is a little need of creativity needed for corewars, yes [21:45] As for the computer optimized thing, I can believe it. I'm not all up on current AI techniques, but from what I've read, genetic programming always loses when compared to exhaustive search or, in the case of calculable optimal answers, calculated optimal answers. The chance of it finding the exact best answer "randomly, but with a eye toward better solutions" is unlikely, unless run for a very, very long time. [21:45] unless run for a very, very long time. [21:48] People seem to use it when the search space is too large for exhaustive search, and the method for calculating the optimal answer is not known, or amounts to unreasonable state space search. [21:56] MSG: Quit: Trillian (http://www.ceruleanstudios.com [22:00] Join: Core_old joined #corewars [23:02] MSG: Quit: Lost terminal