Jump to content
BrainDen.com - Brain Teasers

unreality

Members
  • Posts

    6378
  • Joined

  • Last visited

Everything posted by unreality

  1. Yeah the list I gave in my most recent post (the one that revealed the answer) wasn't comprehensive, I was just putting them down as they came to me... sorry if the actual OP list was incorrect.... woops Thanks ;D sorry I screwed up #2... it was the thought that counted hehe. I thought it was a cool sequence, too bad I ruined it
  2. Prime: no, not necessarily. The first line, the EDITC one, is taking the current c-value, adding 17, and modding 160. Then the line two nodes later (if they run in that order), takes that changed value, adds 17, mods 160. Think about it FOTH: yeah it was probably just the JUMP in the very beginning that caused the error Circular reasoning: look at the OP of this topic ;D Near the end is a spoiler that reads: ""If you want to know about things you cannot do that cause infinite loops, this is for you!"" and there I detail the paradoxical possibilities of the a/b/c functions and how not to use them. You are not allowed to use c(0) in a c-parameter, which you did. So it's good that you corrected it And you guys don't need to post your corrected programs if you don't want to, I'm not doing anything with them unless you want me to (then you would PM the program)
  3. Well I'm not sure what the problem exactly was, but it was definitely looping on itself, fairly quickly after beginning, running the same line over and over I agree. Two hoppers would be caught in an unending dance, or one COPY 0;1;0 that overwrites the next, starting an infinite loop, are all cases of an infinite tie. In theory, it will happen eventually, but I've never seen it happen ever in running any games from VNA or VNA 2.0... so if it ever does happen, I'll recognize it, don't worry Nah that would take too long - the longest game I've ran was upwards of 200 rounds. I manually click a button to run each round (I should probably program in a button that does many rounds and stops at victory lol), so I can manually spot an infinite loop far before 5000 rounds A tie is perfectly acceptable, if it's an infinite loop tie. Or if the match keeps getting filled with 0's (ie, one person won the first battle of the game, the other person won the second), I'll call it a tie. This has never happened, ever, so it's a special-case type thing. If I see a need to declare a tie, that's what I'll do Thanks so much for your suggestions! There won't be a tournament for a while, and maybe not the same format, who knows. Until then, my VNA energy will be maintaining the 'VNA riddles' I just started, and running matches between two players that want to battle I may battle too yeah, I realized while typing this one thing I should add to my emulator: beneath my "Do 1 Round" button, put a "Do X Rounds" button, that does a bunch of rounds (perhaps I can input the number) at a time, stopping if someone wins of course. That way there's no need to click away ;D I didn't do this before out of laziness, but now that the Tournament is over, I'll do it soon edit: Mekal: the max program size is 40 nodes, although I don't really see the need to make a program that long ;D Length is usually a setback
  4. IQ tests mean nothing. There is no real way to express someone's intelligence.... there are tons of definitions, theories, tests, etc, we learned about them in Psychology recently, but no single one is correct. An "IQ Test" is actually a test called the Stanford-Binet Intelligence Scale, which gives you a "mental age", then you divide by your "chronological age" to get your Intelligence Quotient, or IQ. The Stanford-Binet test is just another test. It is not comprehensive. You need would a test with an infinite number of questions to accurately measure intelligence
  5. Tournament Results Be sure to check out my VNA Riddles, which I made during my exile ;D The tournament didn't go as well as I was hoping for - it took a long time, but that wasn't the main problem - the thing was, 3 of the 7 programs had fatal flaws that incapacitated them and essentially denied them a possible victory. Those programs were FOTH's "Flawless" (hehe ironic name ), Prime's "Fish3-Flipper" and bociniki's "Rail Gun". I saw bociniki's program's problem right when he PMed it to me, and was dying to tell him, but that wouldn't be fair. I did tell him multiple times to make sure he checked over his problem, but he seemed confident in it Sorry guys! I have no idea what the problem is with Flawless or Fish3, because on request I did not analyze them after receiving them, however both programs would snag on a specific line and then stay there, jumping back to it repeatedly. When I post everyone's programs, I'll point out the line in question. Both programs managed to get out 1, maybe 2, bombs, before they were caught in their own endless loops, but they never hit an enemy, and thus they were caught in stasis while the other program bombed them out, so I removed them from the tournament. Bociniki's problem was simpler: his Rail Gun shot bombs upwards 1 instead of backwards (he started by bombing -40, and I'm sure he meant to go backwards from there), and thus he would just cover the no-program zone of 40 behind him until it hit himself, so I mercifully removed it too ;D Sorry guys... revising your programs is the fun of VNA though, so it's no biggie ;D Just the first tournament. Next time I might do things a little differently, not sure. It will be a while before another formal event like this, although I will run any match between any two programs at the programmers' request So, the four programs that worked: Unreality's "Awesome", Frost's "The Uber Penguin Bomber", Mekal's "Red Sea" and DMS's "Bomberman" I made myself a 7x7 chart with a diagonal-half represented everyone against everyone, although with the three error-programs removed, it's just a triangle of the 4 programs (6 squares for 6 battles). However, it's kind of hard to reproduce that here, so I'll just list the standings: Key - each match has a bunch of games, which are the individual numbers. Each game uses the same starting location, but switches the two players, thus each game is comprised of two battles. For example, if Unreality and Frost battled at 97, Unreality starts at line 1, Frost at 97 (so they are 96 apart), and Unreality goes first. Then, Frost starts at line 1, Unreality at 97, and Frost goes first. A zero (0) means it was a tie; ie, one person won a battle, and one person won the other. A non-zero number relates to the person's ID number: unreality-1, frost-2, mekal-3, DMS-4. The number in parentheses is the starting line. You need 4 games to win the match, remember. When clicking the random button, I would skip a number if it was within a couple nodes away from a previously used line, or that line's inverse (202 minus the number, which is the exact same thing because two games are played) Here are the results. Note that for some games I forgot to switch who goes first, but I went back and redid a lot to make sure of the results, and also discovered that it only made a difference in one battle of one game of one match, and didn't affect overall results. But everything should be 100% good, if you want to check yourself on a different emulator go ahead. In the general order of the matches I ran: Unreality vs Frost 0(97), 1(118), 0(52), 1(61), 1(159), 2(66), 0(87), 1(101). Winner: 1 Unreality vs Mekal 0(88), 1(144), 0(109), 1(120), 1(136), 1(128). Winner: 1 Mekal vs Frost 0(150), 2(70), 2(88), 3(97), 2(129), 3(81), 2(62). Winner: 2 Mekal vs DMS 0(122), 3(102), 0(136), 3(110), 0(58), 0(83), 0(160), 0(75), 0(150), 0(90), 3(105), 3(130). Winner: 3 DMS vs Unreality 1(113), 1(105), 0(53), 1(83), 0(137), 1(93). Winner: 1 DMS vs Frost 2(137), 4(156), 4(126), 0(58), 4(71), 4(149). Winner: 4 Overall Results: I won 3 games, beating Frost, Mekal, DMS. Frost won 1 game, beating Mekal. Mekal won 1 game, beating DMS. DMS won 1 game, beating Frost. I guess it was like a rock-paper-scissors thing or something Anyway, I'm sure there would be a lot more wins and losses for everyone if the programs of FOTH, Prime and bociniki were working properly as they wanted them to (there would have been 21 matches instead of 6). No biggie though ;D Here are the programs, their code, and my notes on them: Unreality - the Awesome EDITI 5;1;1 COPY 4;add(add(add(29,div(sub(b(4),mod(b(4),15)),15)),mul(add(mod(b(4),3),1),10)),mod (mul(sub(b(4),mod(b(4),3)),2),10));0 COPY 3;add(add(add(58,div(sub(b(3),mod(b(3),15)),15)),mul(add(mod(b(3),3),1),10)),mod (mul(sub(b(3),mod(b(3),3)),2),10));0 COPY 2;add(add(add(87,div(sub(b(2),mod(b(2),15)),15)),mul(add(mod(b(2),3),1),10)),mod (mul(sub(b(2),mod(b(2),3)),2),10));0 SHIFT 1;add(add(add(116,div(sub(b(1),mod(b(1),15)),15)),mul(add(mod(b(1),3),1),10)),mo d(mul(sub(b(1),mod(b(1),3)),2),10));equ(b(1),29,5,-4) BOMB 0;-1;0 BLANK 0;0;0 BLANK 0;0;0 BLANK 0;0;0 SWAP 0;1;0 [/codebox] I'm pretty proud of the Awesome, having spent some hard work figuring out some of the concepts, and there was a certain point where I had a huge breakthrough in its design... I was trying to increase different values at different times in a very complicated mess... then I found that I would just increment a single value by 1 each time with a single EDIT, and everything else can base off of that using arithmetic functions, most importantly the indispensable [b]mod[/b] function Anyway, I think that my program may have lost against FOTH's or Prime's, if they get theirs working. Or maybe not. Maybe we can battle when they fix theirs ;D Frost - the Uber Penguin Bomber [codebox] EDITC 0;equ(mod(c(0),3),1,mul(-1,c(0)),equ(mod(c(0),3),2,mul(c(0),2),equ(mod(c(0),3),-1,mul(c(0),2),equ(mod(c(0),3),-2,mul(-1,c(0)),64))));32 SHIFT 1;c(-1);-1 BOMB 0;0;0 Frost's was a great program - although it could bog down the emulator when its number got bigger and bigger. I decided to mod the result by 600 to keep it smaller. This preserves the mod3 value of the number as well as the mod200 value (for VNA position), thus not interfering with the program's functioning while making it less burdoning on my emulator About the program design itself, it had a flaw, and that was that it becomes a loop after a certain, not too long, amount of time. After a certain point it would reach a number it had been at before, and then from that point on it could be considered a loop, and I would just wait for the other program to beat it. If I were making version 2 of this program (which has a lot of potential), I would perhaps add a touch of extra into its bomb-target-generating process Mekal - the Red Sea COPY 9;100;0 COPY 8;95;0 COPY 7;40;0 COPY 6;-40;0 EDITI -4;5;1 EDITI -4;-5;1 EDITI -4;5;1 EDITI -4;-5;1 JUMP -8;0;0 BOMB 0;0;0 [/codebox] I was a big fan of Red Sea. This was a great program! Very powerful and sleek, and yet, looking at its code... it has no complex structures, no functions Because functions are so vital (they add so much into what a program can do), to see a 'pure-numbers' program kick some @ss was pretty awesome. Good job Mekal! ;-) DMS - Bomberman [codebox] EDITI 1;-1;1 SHIFT 1;-40;-1 BOMB 0;0;0 This little program holds a lot of surprises - it's pretty effective, although also easy to beat sometimes. That may sound contradictory, but in essence this program is a time bomb. It drops a BOMB one more node backwards every 2 rounds, so it's guaranteed to kill you unless (a) you are some sort of Hopper or Hopper-Hybrid, which none of these programs were [although 'the Awesome' had a backup plan like that, and I was considering submitting a hopper-bomber-hybrid program I made], or (b) you kill it first. So it's a race against time: can the other program land a bomb in one of the two nodes that Bomberman runs, or will Bomberman bulldoze backwards into their territory? It was pretty fun watching a column of solid BOMBs advance toward the enemy. For a Bomberman 2.0, I would suggest -2 instead of -1 for speedier rampage... and maybe a more complicated mechanism that starts the advance over, hitting the odd nodes instead of even afterwards. Or something. Anyway, great program DMS ;D FOTH - Flawless JUMP 5;0;0 BOMB 0;0;0 BLANK 0;0;0 BOMB add(c(-12),add(c(-8),add(c(-4),add(c(4),add(c(8),c(12))))));sub(mod(mul(a(0),16),28),12);1 BLANK 0;0;0 EDITC leq(c(0),1,0,equ(a(-2),6,0,sub(b(-2),2)));leq(c(0),1,add(c(0),1),0);0 SHIFT com(c(-1),1,-3,equ(a(-3),6,equ(add(a(77),add(b(77),c(77))),1,0,-3),-3),-1);com(c(-1),1,75,equ(a(-3),6,78,sub(b(-3),3)),77);com(c(-1),1,-1,equ(a(-3),6,equ(add(a(77),add(b(77),c(77))),1,78,-1),equ(c(b(-3)),1,-1,0)),-1) BLANK 0;0;0 BOMB 0;0;0 [/codebox] It was probably a good program, although certainly not "Flawless" - it's error was getting stuck on a certain line and then running that line over and over again. That line was the big SHIFT line. I don't know exactly what's wrong or what needs to be fixed - that's up to you. Good luck ;D Prime - Fish3 [codenamed Flipper] [codebox] SHIFT 1;-25;31 BOMB -25;-25;-25 BOMB -5;-2;1 BOMB 2;0;3 BOMB 1;1;1 BOMB -2;1;-2 BOMB 1;4;2 BOMB 3;5;-2 BOMB 2;-1;0 BOMB 1;0;2 BOMB 0;-5;1 BOMB -3;-5;-1 BOMB -1;-2;-2 BOMB -1;2;1 BOMB -2;1;-2 BOMB 1;4;2 BOMB 3;5;-2 BOMB 2;-1;0 BOMB 1;0;2 BOMB 0;-5;1 BOMB -3;-5;-1 BOMB -1;-2;-2 BOMB -1;2;1 BOMB 2;-1;0 BOMB 1;0;2 BOMB 0;-5;1 BOMB -3;-5;-1 BOMB -25;-25;-25 BOMB -2;-3;-2 EDITC 0;mod(add(c(0),17),160);0 PCOPY -2;add(c(-1),10);10 SHIFT equ(b(-2),mod(add(c(-2),17),160),equ(c(-1),10,1,4),3);equ(b(-2),mod(add(c(-2),17),160),equ(c(-1),10,mul(-1,add(c(-2),32)),-1),-2);equ(b(-2),mod(add(c(-2),17),160),equ(c(-1),10,-2,6),6) BOMB 11;22;9 BOMB -25;-25;-25 EDITC 0;mod(add(c(0),17),160);0 PCOPY -2;add(c(-1),10);10 SHIFT equ(b(-2),mod(add(c(-2),17),160),equ(c(-1),10,1,4),3);equ(b(-2),mod(add(c(-2),17),160),equ(c(-1),10,mul(-1,add(c(-2),32)),-1),-2);equ(b(-2),mod(add(c(-2),17),160),equ(c(-1),10,-2,6),6) SHIFT equ(c(-6),10,-1,-2);equ(c(-6),10,-6,-7);equ(c(-6),10,-6,0) BOMB 3;2;5 BOMB 1;2;3 The line that this program got stuck one was a SHIFT line. Specifically, the simplest one, the one at the end. The line that's 3rd to last in the program. It was a mistake having the result be 0 if c(-6) wasn't equal to 10. You would never do this because c(-6) will never change, unless based on something external or something. I checked, and c(-6) is based off of b(-2), c(-2) and c(-1) [from -6's perspective, they would be -8 and -7 from the error line], and b(-2) is based off of c(0) [ie, c(-2)]. So it comes down to the c fields of those two adjacent lines, which start out at 0 and 10 and wouldn't change unless changed by something external, which you're not doing if you're caught in a JUMP 0 fest at the last SHIFT line. Good luck fixing, hopefully the fix isn't too tough :;-) Bociniki - Rail Gun COPY 3;-40;0 EDITI -1;1;1 JUMP -2;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 BOMB 0;0;0 [/codebox] As I said earlier, the problem here is you advanced +1 from -40 instead of -1. As a result, you covered the no-man zone and then proceeded to bomb yourself. Fix that, and merge COPY/JUMP nodes to make a SHIFT, and you have DMS's Bomberman ;D (plus a bunch of BOMBs at the end) Good job everyone and thanks to those that submitted! ;D My favorite battle to watch was probably a DMS vs Mekal battle, I forget which one specifically, where they were both on the verge of killing each other. It was pretty intense So... check out the VNA Riddles if you get a chance, and see you around. Comments/ideas/suggestions/questions/etc, post em right here Like I said earlier, I'll happily run a battle between any two willing programs ;D thanks for playing the VNA 2.0 Tournament Future VNA stuff will happen eventually, after some input by you guys
  6. VNA Riddles!!! (1) Using VNA Code, make a program that copies itself to a new location 70 nodes forward while COMPLETELY ERASING its previous self in the process - it can leave no trace of itself behind.... the program must be as small & efficient as possible of course. (2&3) Consider a new command, 'SPAWN' (it's not an actual command I've made but let's pretend it exists solely for riddles #2 and #3). Say that this command creates an entirely new program pointer at the node denoted by the SPAWN's a-parameter. The new program is completely independent of the other programs and also is now trying to win, just like the others. It's turn directly follows the program that spawned it. (2) What is the fatal design flaw in this program? [there may be several] COPY 3;50;0 COPY 3;b(-1);0 SHIFT 3;b(-2);4 EDITI 1;2;1 SHIFT 1;10;-1 BOMB 0;0;0 SPAWN sub(b(-6),6);0;0 EDITI -7;45;1 JUMP -8;0;0 (3) Now say that your only goal is to defeat the enemy program, so all of your SPAWNed programs are like your allies. Write a program that evolves via natural selection to build the optimal program for destroying the enemy. [This one is tough, I haven't attempted it yet, although I'm pretty sure it's possible ] (SPAWN is not an actual command and was only used for 2&3. It doesn't exist anymore for the rest of the problems ) (4) Write a program specifically to defeat this program before it overwrites you: SHIFT 0;3;3 (5) Describe how you could use existing functions to create a random/pseudorandom/unpredictable 1-digit number as a result (there was a rand function in VNA 2.0 for a short time, but I removed it for many reasons - #5 is like creating your own rand function) (6) Write a program that does something cool
  7. back :D Thanks for those who PMed me, unfortunately I couldn't respond

  8. update: Prime is using Fish3, which I have now. I have all that I need to finish the tournament
  9. unreality

    Eat Poop You Cat

    If my temporary ban is still in place when it's my turn, anyone else is welcome to take my place If I'm released by then (;D), I'll announce at least one person beforehand in this thread
  10. Right now I have about 5 and a half matches complete. By the time my temporary ban is over, I should have a good deal more It takes longer than I thought btw Prime, I still am not sure whether you want me to use 1.1 or 3, so I'll hold back on yours
  11. See my About Me page for a clue ;D If (during my temporary ban) I see someone gets the right answer, I could have someone else post whether or not you are correct
  12. it's gone now :D I was about to delete it myself (since it took up too much space), but a mod or rookie beat me to it ;D

  13. woops, I confused your names, sorry!! I edited it, it's all fixed now ;D Good job Izzy! #2 is the last one left
  14. #1 - armcie (see post 16) #2 - UNSOLVED #3 - Grayven (see post 16) #4 - Izzy (see THIS post )
×
×
  • Create New...