[07:20] Join: fiveop joined #corewars [09:06] MSG: Read error: Connection reset by peer [10:13] http://users.metropolia.fi/~mikaos/energy/ updated [10:24] Join: lllll joined #corewars [10:27] hi [10:28] Hello [10:32] Do you have any pressing questions at the moment? I might have to go in 20 minutes and then itll be slient in here for a while. [10:33] About corewar? [10:33] yes [10:33] yeah, one [10:33] i found some core war warriors, and i've been trying to understand them, but one command does something a bit weird [10:34] DJN.F $-3 <-308 Seems to access two places of the core at once, and i can't quite figure it out [10:34] the magic is in the < [10:35] which is " pre-decrement , b-field indirect addressing" [10:36] what is means is, that the number in the b-field of the targeter instruction is reduced with one, and then used like @-308 would do [10:36] like --*ptr in C [10:36] so when the djn runs [10:37] it reduces the instruction at -308 by one, and since the instruction is very probably a dat 0,0, it turns into a dat 0, -1 [10:37] then, it acts like djn -3, @-308 [10:37] and since djn is decrease and jump if not zero, it decreases the address @-308 [10:38] so therefor you get two manipulations: first at the -308, and at -309 [10:38] (because the value at -308 is -1, and -308-1 = -309 ) [10:39] when the instruction is run again, the instruction at -308 becomes a dat 0, -2, and the decreasing is done at -308-2 = -310 [10:40] yeah, that's what I've been seeing happening [10:40] The way addressing works in corewar is very counter intuitive to me so far [10:40] Only been at it three days though [10:42] It is not used at anywhere else, but the addressing is one reason why corewars is pretty balanced [10:44] Itll take some time to get your head around it, if something gets too fuzzy to think about, then just go read something else, theres plenty of material. [10:44] Yeah, I have been reading a few guides and taking lots of other people's work apart. [10:44] Everything I make is pretty terrible. But it's fun watching it work [10:50] gotta go, ill be back in some hours [10:50] thanks for your help [12:15] Part: lllll left #corewars [12:52] Join: lllll joined #corewars [14:00] Part: lllll left #corewars [17:42] hey, you guys are all about the algorithms and stuff, i got one for you [17:42] rather, i'm curious if you have any knowledge that comes immediately to mind [17:42] a friend and i have a couple times played with something we called domino encoding [17:43] where you take a set of words/strings and overlap them where possible [17:43] (cat + atm -> catm) [17:43] named for fairly obvious reasons i guess ;) [17:43] anyway, if you take every combination from a set of letters of a certain length [17:44] it seems there might be a perfect encoding for that set of strings [17:44] for abc, 3 chars long, accbaaababbacaacbbbcbcabcccac is an example [17:44] it seems to me in my head that there are significant stretches of these things that are simple patterns, but i can't quite discern the pattern when it gets bigger [17:45] i'm curious about ways to 1) optimally encode a list of strings and 2) ways to generate the optimal string without actually having to generate and combine all the candidates [17:45] 2) impossible, you can only reduce a testset, not eliminate it [17:46] 2 is not impossible for certain sets i think [17:46] i could probably write something to do it for 2 characters, and an arbitrary number of characters [17:46] exponential problem, it reached unfeasibility in regular uses [17:46] but it does get a lot more complicated for more characters [17:46] ed -> es [17:47] so is this a familiar problem? got any reference things i can search about? [17:47] ive been doing some armchair-research on lossless data-compression, nothing significant [17:48] 1) sound like you should sort every possible string using an N-letter long context-sort and then turn it into an travelling salesman [17:50] but if we are supposed to eliminate the salesman.. [17:50] http://en.wikipedia.org/wiki/Prediction_by_Partial_Matching [17:52] i guess you could consider this compression, but it doesn't save many bytes if you have to store the information to extract things [17:52] * evenant reads article [17:52] they are both problems of manipulating the redundancy in the given data [17:52] * evenant nods [17:53] it gets more interesting if you don't use fixed length strings hehe [17:53] one problem example we came up with [17:53] i forget the letters used [17:53] but if you overlapped two words by 1 character [17:53] the third word would be wholly contained in the resulting string [17:54] but the third word would overlap either of the other two by more than 1 character [17:54] so it was hard to get it to pick words such that you'd get the optimal result [17:54] maybe i'm misremembering, but it was something like that anyway [17:54] the problem just came back to mind recently with a new twist is all [17:54] namely the "brute force" set [17:55] interesting [17:56] i had been considering the knight's tour problem as related to this, and it seems i was correct: time to read more about this hamiltonian cycle stuff [17:58] i guess the 'distance' between each word and each other word would be smallest for the largest overlap.. perhaps i could phrase it as the number of letters gained by combining the two [17:59] i don't know if that would be optimal ... heh, guess i should write something and play :) [22:32] MSG: Quit: humhum [23:06] MSG: Ping timeout: 240 seconds [23:07] Join: myndzi joined #corewars