Jump to content
BrainDen.com - Brain Teasers

unreality

Members
  • Posts

    6378
  • Joined

  • Last visited

Everything posted by unreality

  1. here's the full new code, including dawh's updated backatyou (listed as backatyou2) and phil2 is currently just an allpaper type thing until it's fixed (i'll send him a PM and see if he wants to work on it or tell me how it works and have me code it).
  2. dawh: can you resubmit that modified backatyou please? And if/when phil fixes the problems in the one with the infinite loop, we can factor that in too, then do an "official" T2. (after which I'm thinking a 100-game-per-match ultimate Tourney 3.0 is needed, with each person submitting just one algorithm [or two???] and we'll try to market it first getting a lot more people)
  3. unreality

    wow. I would be pissed if I had never been born Then again I wouldn't have been born so I wouldn't be pissed haha
  4. yeah haha, I wasn't thinking when I plugged it in - he wanted 4 patternSeekers dueling it out so that's why I put in sure thing it did round robin of those four, so if only count the three games you wanted to see: darth1 vs patternSeeker: patternSeeker wins!!! darth1 vs jarze: jarze wins!!! darth1 vs izzy2: darth1 wins!!! darth1: 1.0 patternSeeker: 1.0 jarze: 1.0 izzy2: 0.0
  5. remember, it's story form now. The guards can be equipped with whatever you want them to be
  6. unreality

    oh haha that's NOT my view, don't worry. I was just talking about what pro-lifers / extreme catholics / etc believe and why they believe it. I definitely do not have the same views. You're right that masturbation isn't murder, neither is using a condom, even though a potential human maybe won't exist now. I agree with octopuppy to a certain extent, but I differ when he starts comparing who would be better to kill based on age/awareness/etc. The idea is to NOT to kill. It shouldn't be a sliding subjective scale at all of when killing a "pseudohuman" is a crime. It should be a firm divider somewhere, and after that point it's murder. But what is that point? I don't agree that the point is based on the person's self-awareness. Is it okay to kill a sleeping person? You might say that 6 hours they were aware - well what about someone in a coma that was also aware a few years ago? Then you're forced to acknowledged that it now depends on the future - a sleeping person will wake up, a comatose person on average will not. So you have to admit, octopuppy, that potentiality is a big part of it. What does the person have the potential to be? You're saying that the exact present moment is what matters but I don't think that's how it works. Most of our unconscious moral decisions involve not only what is but what we judge will be soon. It's impossible to ignore potentiality when taking an ethical situation into perspective. That being said, does every spermozoa have the potential to be a unique human being? NO. Each sperm is exactly the same as the others, so is each egg. That's why masturbation and periods aren't "murder" and shouldn't be even to Catholics... it's the conditions (mostly random) under which they combine that produce the unique set of genetics (right? If I'm wrong that each sperm is the same, please correct me). So yes when an egg and sperm combine, a unique potential human has been conceived in my eyes. That's why in general I'm against abortion (but I am also pro-freedom and pro-choice and for more reasons stated below, I would have to side near the middle but more on the choice side). BUT my view on this doesn't end there. Potential to what exactly? Potential to just be alive (in this case, as soon as the egg and sperm combine, aborting it should be murder) or alive and enjoy life (as izzy hints at, but this is hard to judge. Most babies born even into great poverty will enjoy life) OR alive and be a functioning member of society (as izzy strongly hints at it and gives as a reason for abortion in cases where the family can't care for the child). So yes for me it comes down to potential but first we have to decide what kind of potential we're talking about. And not just potential for the baby but for the mother. That's why cases like rape may come into special consideration, or other conditions that may put the mother's actual physical health on line. But for less unusual cases we're talking here about the potential of having a good life for the baby... the definition of that is where some discord lies I think
  7. done Welcome to R/P/S! 0 (hawk) 1 (test1) 2 (test2) 3 (test3) 4 (izzy) 5 (phil) 6 (backatyou) 7 (dnoob) 8 (rand) 9 (allrock) 10 (jarze) 11 (medji) 12 (mr_apple_pi) 13 (darth1) 14 (izzy1) 15 (izzy2) 16 (darth2) 17 (darth3) 18 (mrapple1) 19 (medji1) 20 (medji2) 21 (patternSeeker) 22 (phil1) 23 (phil2) 24 (unr1) 25 (unr2) 26 (phil3) Enter the numbers of the programs you wish to fight, separated by spaces: 21 21 21 21 Final Results: patternSeeker vs patternSeeker: It was a tie!!! patternSeeker vs patternSeeker: It was a tie!!! patternSeeker vs patternSeeker: It was a tie!!! patternSeeker vs patternSeeker: It was a tie!!! patternSeeker vs patternSeeker: It was a tie!!! patternSeeker vs patternSeeker: It was a tie!!! Win Count: patternSeeker: 1.5 patternSeeker: 1.5 patternSeeker: 1.5 patternSeeker: 1.5 Type y to play again n Thanks for playing!
  8. unreality

    Let me defend both positions for a second... the hardcore pro-lifers see abortion as killing children. That's why they hate people they get abortions. Now the pro-choicers can be against abortion but still be pro-choice, and this is like me. Personally I am against abortion in most cases, but like I said earlier, it's really a case-by-case basis for me and think firstly the choice should be that of the mother's and other immediate family. That doesn't mean I think the law should dictate the choice beforehand - I am pro choice. It's similar to soldiers fighting for freedom of speech, and someone starts an Anti-War campaign. Now let's say the soldier disagrees with this campaign - but he's not going to stop fighting for the right that allows the protesters to have the freedom of speech. If you're pro=choice, pro-freedom, etc, then inevitably there will be people who use that freedom to do things you disagree with. That's part of the definition of freedom
  9. unreality

    Don't worry, I don't share that worldview and I doubt anyone here does, except maybe Izzy since her philosophy seems more nihilist (not necessarily a bad thing) but you probably misread into what the guy is implying. Personally I am pretty strongly against abortion but like most problems of morality, I see it as another thing decided on a case-by-case basis. Things like rape and extreme youth and the mother's health - and her ability to give birth and/or raise a child, etc - all need to come into play. Ultimately I think it should be up to the mother since I believe in maximum allowable personal freedom (except where conflicting with other freedoms, and this is where the situation with the fetus being a potential human makes it hazy) but on a case-by-case basis I would frown on abortion as an easy way out that causes lifelong physical and emotional problems. But this is straying off topic
  10. [Yara is a guy - and yeah let's be realistic with our inventory and still buy stuff and whatnot] Yara stumbles back in and Phoenix looks at him, shaking his head. "I wasn't implying that it was one of your own," Phoenix retorts. "But Tonrana may have connections. And what's up with the monk?" "Oh I'm just great," Yara whispered. "I'm going to go into Shard and try to learn what happened on Seyros. Does anyone want to come with me?"
  11. oops! I didn't use the updated version if izzy2 with the new patterns you've added, so if you did add any more, I can put that into the system (along with phil2 when/if he fixes the infinite loop problem in that)
  12. alright, now it's a story-based game with two rules: [*] no powerplaying without permission (powerplaying means controlling the action - or inaction - of other players) [*] no godmodding (be realistic within the confines of the world. Your character is limited like everyone else and has both personality traits and personality flaws, as well as limits in intellect, foresight, power, physical ability and/or empathy) [*] no worldchanging (you can invent new sky islands, people, etc - but don't change anything drastic about the world of Atmos without asking me. And if you have any questions about the environment, culture, etc, just ask! ) [*] use third person present tense. Put flashbacks in italics and bold around forceful (or pseudohypnotic) speech. here we go! Everyone can control Phoenix, but Yara will be my character from now on. We each tell the tale of our own character, but they interact obviously... Yara leans forward and looks at Phoenix closely. "We found Ranus drowned and bloated and stuffed into a potato sac in the mess hold," he says. Phoenix blinks away tears and looks around at the rest of the crew. "It sounds like aquamancy. Do you have any aquamancers on board?" As they continue talking, Yara slips away into the night and "I think I'm going to go meditate" you hear Yara say from the dock, and his footsteps echo quietly aboard the Windslicer as he heads to his room.
  13. if you want the exact breakdown of any 1 on 1 match, just ask for it... I was pleasantly surprised by how well mine did, especially unr1, which outputs the same sequence every time regardless of the enemy's moves A random program wins 1/3 of the time, ties 1/3 of the time and loses 1/3 of the time, but that's only against another random program and that's not the optimal solution... as we've seen, access to previous moves in the round allows algorithms to make educated attempts to discern the opponent's next move (these are patternSeeker (by dawh), izzy2 and unr2, and to a lesser extent the ones that used information about the enemy's most and least used to do a more general diagnosis (such as darth1 and mr apple pi)) ... there are also some algorithms that make an effort to be random (such as unr1) and then there are the very simple ones (the periodic "test2" and "mrapple1" and the molehill-for-tat strategy of jarze's algorithm). The whole contest is becoming more interesting to me because different types of algorithms are all successful here.
  14. here's the code // RPS by Unreality // for Brainden import java.util.Scanner; import java.util.ArrayList; import java.util.Vector; import java.util.Random; // for use only in the "rand" test program! public class rps { public static final int ROCK = 0; public static final int PAPER = 1; public static final int SCISSORS = 2; public static final int ROUNDS = 50; public static int rpsgo(int algoNum, int i, int[] a, int[] b) { if (algoNum==0) // hawk { if (i==0) return (int)Math.pow(2,21) % 3; int[] num = new int[3]; for (int z=0; z<i; z++) { num[b[z]]++; } int x=0; if (num[0] > num[1]) { x = 0 ; } else if (num[1] > num[0]) { x = 1 ; } else { x = num[x] % 2 ; } if (num[2] > num[x]) x = 2; return (x+1)%3; } else if (algoNum==1) // test1 { if (i==0) return SCISSORS; return b[i-1]; } else if (algoNum==2) // test2 { return i % 3; } else if (algoNum==3) // test3 { int sum = 0; for (int z=0; z<i; z++) { sum += (a[z] + b[z]); } sum %= 3; return sum; } else if (algoNum==4) // izzy { // use sci until sci loses; if sci loses at i=0, discard and use sci again til sci loses // then use pap til pap loses // then rock til rock loses // then do whatever beats what they've used most if (i==0 || (i==1 && b[0]==0)) return SCISSORS; boolean lostWithRock = false; search: for (int z=0; z<i; z++) { if (a[z]==0 && b[z]==1) { lostWithRock = true; break search; } } if (lostWithRock) { // do what beats what they've done most int[] num = new int[3]; for (int y=0; y<i; y++) { num[b[y]]++; } int x=0; if (num[0] > num[1]) { x = 0 ; } else if (num[1] > num[0]) { x = 1 ; } else { x = num[x] % 2 ; } if (num[2] > num[x]) x = 2; return (x+1)%3; } else { // do what won last time, or, if lost last time, advance one from sci -> pap -> rock (2 -> 1 -> 0) return a[i-1] - (((a[i-1] - b[i-1] + 3) % 3) / 2); } } else if (algoNum==5) // phil { if (i==0) return PAPER; int[] c = new int[i*3]; int y = 0; for (int z=0; z<i; z++) { if (b[z]==0) { c[y] = 1; c[y+1] = 2; y+= 2; } if (b[z]==1) { c[y] = 1; c[y+1] = 0; c[y+2] = 2; y+= 3; } if (b[z]==2) { c[y] = 0; y++; } } return c[i+1]; } else if (algoNum==6) // backatyou { int myWins = 0; int hisWins = 0; int[] hisWinMoves = new int[3]; int[] hisLoseMoves = new int[3]; int[] hisTieMoves = new int[3]; for(int j = 0; j < i; j++) { int myMove = a[j]; int hisMove = b[j]; if(myMove == ROCK && hisMove == SCISSORS || myMove == SCISSORS && hisMove == PAPER || myMove == PAPER && hisMove == ROCK) myWins++; if(hisMove == ROCK && myMove == SCISSORS || hisMove == SCISSORS && myMove == PAPER || hisMove == PAPER && myMove == ROCK) hisWins++; if(hisWins > myWins) { hisWinMoves[hisMove]++; } else if(myWins > hisWins) { hisLoseMoves[hisMove]++; } else { hisTieMoves[hisMove]++; } } int[] myPick = null; if (hisWins > myWins) myPick = hisWinMoves; else if (myWins > hisWins) myPick = hisLoseMoves; else myPick = hisTieMoves; int max = ROCK; if(myPick[PAPER] > myPick[ROCK]) { max = PAPER; if(myPick[SCISSORS] > myPick[PAPER]) max = SCISSORS; } else if(myPick[SCISSORS] > myPick[ROCK]) max = SCISSORS; int move; if(max == ROCK) move = PAPER; else if(max == PAPER) move = SCISSORS; else move = ROCK; return(move); } else if (algoNum==7) // dnoob { if (i==0) return ROCK; int n = i; int numsub = 0; int fib = 0; int fibc = 1; int temp; while (n - fibc >= 0) { n -= fibc; numsub++; temp = fibc; fibc += fib; fib = temp; } int x = ROCK; if (i%2 == 1) { // borrowing some code from hawk here... int[] num = new int[3]; for (int z=0; z<i; z++) { num[b[z]]++; } if (num[ROCK] > num[1]) { x = ROCK ; } else if (num[PAPER] > num[ROCK]) { x = PAPER ; } else { x = num[x] % 2 ; /*pseudorandom if tie*/ } if (num[SCISSORS] > num[x]) x = SCISSORS; } return (numsub + x) % 3; } else if (algoNum==8) // rand { Random rangen = new Random(); return rangen.nextInt(3); } else if (algoNum==9) // allrock { return ROCK; } else if (algoNum==10) // jarze { if (i==0) return ROCK; return (b[i-1]+1)%3; } else if (algoNum==11) // medji { if (i==0) return PAPER; if (i<5) return b[i-1]; int sumi=0; for (int zz=i-5; zz<i; zz++){ sumi += b[zz]; } if (sumi%2 == 1) { int[] num = new int[3]; for (int z=(i-25 + Math.abs(i-25))/2; z<i; z++) { num[b[z]]++; } int x=0; if (num[0] > num[1]) { x = 0 ; } else if (num[1] > num[0]) { x = 1 ; } else { x = num[x] % 2 ; } if (num[2] > num[x]) x = 2; return (x+1)%3; } else return b[i-1]; } else if (algoNum==12) // mr apple (pi) { int[] digsPi = { 3,1,4,1,5, 9,2,6,5,3, 5,8,9,7,9, 3,2,3,8,4, 6,2,6,4,3, 3,8,3,2,7, 9,5,0,2,8, 8,4,1,9,7, 1,6,9,3,9, 9,3,7,5,1 }; int dig = digsPi[i]; if (dig > 0 && dig < 4) return dig-1; else if (dig==4) { // opp's most move int[] num = {0,0,0}; for (int z=0; z<i; z++) { num[b[z]]++; } int x=0; if (num[0] > num[1]) { x = 0 ; } else if (num[1] > num[0]) { x = 1 ; } else { x = num[x] % 2 ; } if (num[2] > num[x]) x = 2; return x; } else if (dig==5 || dig==6) { // counter opp's most move int[] num = {0,0,0}; for (int z=0; z<i; z++) { num[b[z]]++; } int x=0; if (num[0] > num[1]) { x = 0 ; } else if (num[1] > num[0]) { x = 1 ; } else { x = num[x] % 2 ; } if (num[2] > num[x]) x = 2; return (x+1)%3; } else if (dig==7 || dig==8) { // self's least played move int[] num = {0,0,0}; for (int z=0; z<i; z++) { num[a[z]]++; } int x=0; if (num[0] > num[1]) { x = 1 ; } else if (num[1] > num[0]) { x = 0 ; } else { x = num[x] % 2 ; } if (num[x] > num[2]) x = 2; return x; } else if (dig==9) { // self's most played move int[] num = {0,0,0}; for (int z=0; z<i; z++) { num[a[z]]++; } int x=0; if (num[0] > num[1]) { x = 0 ; } else if (num[1] > num[0]) { x = 1 ; } else { x = num[x] % 2 ; } if (num[2] > num[x]) x = 2; return x; } else if (dig==0) { // opp's most recent move return b[i-1]; } else return -1; } else if (algoNum==13) // darth1 { int[] achose = {0,0,0}; int[] bchose = {0,0,0}; for (int vv=0; vv<i; vv++) { achose[a[vv]]++; bchose[b[vv]]++; } int enemy_least = ROCK, me_least = ROCK, enemy_most = ROCK, me_most = ROCK; int enemy_times_used_least = 0, me_times_used_least = 0, enemy_times_used_most = 0, me_times_used_most = 0; int tiebreaker; if (achose[PAPER] > achose[ROCK]) me_most = PAPER; if (achose[SCISSORS] > achose[me_most]) me_most = SCISSORS; me_times_used_most = achose[me_most]; tiebreaker = me_most; if (achose[me_most] == achose[(me_most+1)%3] || achose[me_most] == achose[(me_most+2)%3]) { tiebreaker = -2; // two-way tie if (achose[me_most] == achose[(me_most+1)%3] && achose[me_most] == achose[(me_most+2)%3]) tiebreaker = -3; /* three way tie */ } me_most = tiebreaker; if (bchose[PAPER] > bchose[ROCK]) enemy_most = PAPER; if (bchose[SCISSORS] > bchose[enemy_most]) enemy_most = SCISSORS; enemy_times_used_most = bchose[enemy_most]; tiebreaker = enemy_most; if (bchose[enemy_most] == bchose[(enemy_most+1)%3] || bchose[enemy_most] == bchose[(enemy_most+2)%3]) { tiebreaker = -2; // two-way tie if (bchose[enemy_most] == bchose[(enemy_most+1)%3] && bchose[enemy_most] == bchose[(enemy_most+2)%3]) tiebreaker = -3; /* three way tie */ } enemy_most = tiebreaker; if (achose[PAPER] < achose[ROCK]) me_least = PAPER; if (achose[SCISSORS] < achose[me_least]) me_least = SCISSORS; me_times_used_least = achose[me_least]; tiebreaker = me_least; if (achose[me_least] == achose[(me_least+1)%3] || achose[me_least] == achose[(me_least+2)%3]) { tiebreaker = -2; // two-way tie if (achose[me_least] == achose[(me_least+1)%3] && achose[me_least] == achose[(me_least+2)%3]) tiebreaker = -3; /* three way tie */ } me_least = tiebreaker; if (bchose[PAPER] < bchose[ROCK]) enemy_least = PAPER; if (bchose[SCISSORS] < bchose[enemy_least]) enemy_least = SCISSORS; enemy_times_used_least = bchose[enemy_least]; tiebreaker = enemy_least; if (bchose[enemy_least] == bchose[(enemy_least+1)%3] || bchose[enemy_least] == bchose[(enemy_least+2)%3]) { tiebreaker = -2; // two-way tie if (bchose[enemy_least] == bchose[(enemy_least+1)%3] && bchose[enemy_least] == bchose[(enemy_least+2)%3]) tiebreaker = -3; /* three way tie */ } enemy_least = tiebreaker; int d = enemy_times_used_most - enemy_times_used_least; if (d < 3 || d < i/9) { if (enemy_least == -2) { return (enemy_most+2)%3; } else if (enemy_least == -3) { return ((i%3)+1)%3; } else { return (enemy_least+1)%3; } } else if (enemy_least == -2) { return (enemy_most+1)%3; } else { return (enemy_least+2)%3; } } else if (algoNum==14) // izzy1 { if (i==0) return SCISSORS; if ((3 + a[i-1] - b[i-1])%3 == 2) return (a[i-1]+1)%3; else if ((3 + a[i-1] - b[i-1])%3 == 1) return a[i-1]; else if (i > 2 && (3 + a[i-2] - b[i-2])%3 == 0 && (3 + a[i-3] - b[i-3])%3 == 0) return (a[i-1]+1)%3; else return a[i-1]; } else if (algoNum==15) // izzy2 { if (i==0) return ROCK; if (i<8) return (int)Math.ceil((double)(i%3) / 2.0) * -1 + 2; int[] first8 = new int[8]; for (int tz=0; tz<8; tz++) first8[tz] = b[tz]; int[][] ariz = { {0,0,0,0,0,0,0,0}, {1,1,1,1,1,1,1,1}, {2,2,2,2,2,2,2,2}, {0,1,2,0,1,2,0,1}, {1,2,0,1,2,0,1,2}, {2,0,1,2,0,1,2,0}, {0,2,1,0,2,1,0,2}, {1,0,2,1,0,2,1,0}, {2,1,0,2,1,0,2,1}, {0,1,2,2,0,0,0,1} }; int patt = -1; for (int ty=0; ty<ariz.length; ty++) { boolean izfound = true; for (int tyy=0; tyy<8; tyy++) { if (ariz[ty][tyy] != first8[tyy]) { izfound = false; } } if (izfound) { patt = ty; } } if (patt > -1) { int[] beats; if (patt==0) beats = new int[]{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; else if (patt==1) beats = new int[]{ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}; else if (patt==2) beats = new int[]{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; else if (patt==3) beats = new int[]{ 1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0}; else if (patt==4) beats = new int[]{ 2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1}; else if (patt==5) beats = new int[]{ 0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2}; else if (patt==6) beats = new int[]{ 1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2}; else if (patt==7) beats = new int[]{ 2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0}; else if (patt==8) beats = new int[]{ 0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1}; else if (patt==9) beats = new int[]{ 1,2,0,0,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2}; else beats = new int[]{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; if (i<18) return beats[i-8]; int winsum=0; for (int tx=8; tx<18; tx++) { if ((3 + a[tx] - b[tx])%3 == 1) { winsum++; } } if (winsum > 4) return beats[i-8]; } // either no pattern was found or pattern beating was unsuccessful. Resort to final plan // ie, the look-and-say sequence /* later haha ArrayList<Integer> looksay = new ArrayList<Integer>(50); ArrayList<Integer> newlook = new ArrayList<Integer>(50); looksay.add(1); looksay.add(1); while (looksay.size() < 50) { newlook.clear(); int curvalt = 1; int numcurs = 1; for (int tw=1; tw<looksay.size(); tw++) { if (looksay.get(tw)==curvalt) numcurs++; else { newlook.add(numcurs); newlook.add(curvalt); numcurs = 0; curvalt = looksay.get(tw); } } looksay = newlook; } return looksay.get(i) % 3; not working so for now i'll just the array haha: */ int[] look_say_sequence = { 1,1,1,2,1,1,2,1,1,1,1,1,2,2,1,0,1,2,2,1,1,1,0,1,1,2,2,2,1,1,1,1,0,2,1,0,2,1,1,0,1,1 }; return look_say_sequence[i-8]; } else if (algoNum==16) // darth2 { if (i<5) return ROCK; if (i%5 == 0) { int[] runli = new int[i/5]; for (int qrx=0; qrx< i/5; qrx++) { int[] bchose = { 0,0,0 }; for (int vv=qrx*5; vv< qrx*5 + 5; vv++) { bchose[b[vv]]++; } int enemy_most = ROCK; if (bchose[PAPER] > bchose[ROCK]) enemy_most = PAPER; if (bchose[SCISSORS] > bchose[enemy_most]) enemy_most = SCISSORS; if (bchose[enemy_most] == bchose[(enemy_most+1)%3]) { int setvv = enemy_most; for (int vvv=qrx*5; vvv< qrx*5+5; vvv++) { if (b[vvv]==enemy_most) setvv = enemy_most; if (b[vvv]==(enemy_most+1)%3) setvv = (enemy_most+1)%3; } enemy_most = setvv; } else if (bchose[enemy_most] == bchose[(enemy_most+2)%3]) { int setvv = enemy_most; for (int vvv=qrx*5; vvv< qrx*5+5; vvv++) { if (b[vvv]==enemy_most) setvv = enemy_most; if (b[vvv]==(enemy_most+2)%3) setvv = (enemy_most+2)%3; } enemy_most = setvv; } runli[qrx] = enemy_most; } // beat most often move from runli; if tie, use most recent of the ones tying int[] vchose = {0,0,0}; for (int vvvv=0; vvvv<runli.length; vvvv++) { vchose[runli[vvvv]]++; } int vmost = ROCK; if (vchose[PAPER] > vchose[ROCK]) vmost = PAPER; if (vchose[SCISSORS] > vchose[vmost]) vmost = SCISSORS; if (vchose[vmost] == vchose[(vmost+1)%3] && vchose[vmost] == vchose[(vmost+1)%3]) vmost = runli[runli.length-1]; else if (vchose[vmost] == vchose[(vmost+1)%3]) { int setvv = vmost; for (int vbv : runli) { if (vbv==vmost) setvv = vmost; if (vbv==(vmost+1)%3) setvv = (vmost+1)%3; } vmost = setvv; } else if (vchose[vmost] == vchose[(vmost+2)%3]) { int setvv = vmost; for (int vbv : runli) { if (vbv==vmost) setvv = vmost; if (vbv==(vmost+2)%3) setvv = (vmost+2)%3; } vmost = setvv; } else if (vchose[(vmost+1)%3] == vchose[(vmost+2)%3]) { int setvv = vmost; for (int vbv : runli) { if (vbv==(vmost+1)%3) setvv = (vmost+1)%3; if (vbv==(vmost+2)%3) setvv = (vmost+2)%3; } vmost = setvv; } return (vmost+1)%3; } else { return a[i-1]; } } else if (algoNum==17) // darth3 { if (i<7) return (i+1)%3; if (b[i-1] == b[i-2] && b[i-2] == b[i-3]) { int firstx=0, secondx=0; for (int ghgh=i-7; ghgh<i; ghgh++) { if (a[ghgh]==(b[i-1]+1)%3) { firstx++;} if (a[ghgh]==(b[i-1]+2)%3) { secondx++;} } if (firstx > secondx || firstx == secondx) return (b[i-1]+1)%3; else return (b[i-1]+2)%3; } else { int[] achose = {0,0,0}; int[] bchose = {0,0,0}; for (int vv=0; vv<i; vv++) { achose[a[vv]]++; bchose[b[vv]]++; } int tiebreaker; int me_least = ROCK, enemy_most = ROCK; if (bchose[PAPER] > bchose[ROCK]) enemy_most = PAPER; if (bchose[SCISSORS] > bchose[enemy_most]) enemy_most = SCISSORS; tiebreaker = enemy_most; if (bchose[enemy_most] == bchose[(enemy_most+1)%3] || bchose[enemy_most] == bchose[(enemy_most+2)%3]) { tiebreaker = -2; } enemy_most = tiebreaker; if (achose[PAPER] < achose[ROCK]) me_least = PAPER; if (achose[SCISSORS] < achose[me_least]) me_least = SCISSORS; tiebreaker = me_least; if (achose[me_least] == achose[(me_least+1)%3] || achose[me_least] == achose[(me_least+2)%3]) { tiebreaker = -2; } me_least = tiebreaker; if (me_least == -2) { if (enemy_most == -2) { return (a[i-1]+2)%3; } else { return (enemy_most+2)%3; } } else return me_least; } } else if (algoNum==18) // mrapple1 { return (i+1)%3; } else if (algoNum==19) // medji1 { if (i==0) return SCISSORS; if (i%5 != 0) return (a[i-1]+2)%3; return (a[i-1]+1)%3; } else if (algoNum==20) // medji2 { if (i==0) return ROCK; if (i%3 != 0) return (a[i-1]+1)%3; return (a[i-1]+2)%3; } else if (algoNum==21) // patternSeeker (dawh) { if(i == 0) return(ROCK); int predicted = -1; int success = 0; Vector<Integer> patt = new Vector<Integer>(); for(int j = 0; j < i; j++) { int move = b[j]; if(patt.contains(move)) { int idx = patt.indexOf(move)+1; if(idx < patt.size()) { predicted = patt.get(idx); } } patt.add(move); if(j < i-1 && predicted == b[j+1]) success++; } if(success > i/2) { int move = b[i-1]; int idx = patt.indexOf(move)+1; if(idx > 0 && idx < patt.size()) return((patt.get(idx)+1)%3); } return((b[i-1]+1)%3); } else if (algoNum==22) // phil1 { if (i==0) return PAPER; int[] best = {0,0,0}; int ties = 0; for(int j=0; j<i; j++) { if (a[j] == b[j]) ties += 1; else { if (a[j] == ROCK && b[j] == PAPER) best[0] -= 1; if (a[j] == PAPER && b[j] == SCISSORS) best[1] -= 1; if (a[j] == SCISSORS && b[j] == ROCK) best[2] -= 1; if (a[j] == ROCK && b[j] == SCISSORS) best[0] += 1; if (a[j] == PAPER && b[j] == ROCK) best[1] += 1; if (a[j] == SCISSORS && b[j] == PAPER) best[2] += 1; } } int xx=ROCK; if (best[ROCK] < best[PAPER]) xx=ROCK; if (best[xx] < best[SCISSORS]) return SCISSORS; else if (best[SCISSORS] == best[xx] || best[ROCK]==best[PAPER]) return ties%3; else return xx; // end of phil1 } else if (algoNum == 23){ //phil2 //this algorithm strives for an optimal sequence of moves. int index = 0; if (i == 0){ return ROCK; } else { int[] array, best; int index1 = 0, index2 = 0, check = 0; int j = 0; array = new int[i]; best = new int[3]; while (index1 < i && index2 < i){ if(check == 0){ if((a[index1] == ROCK && b[index2] == ROCK || b[index2] == PAPER) || (a[index1] == PAPER && b[index2] == PAPER || b[index2] == SCISSORS) || (a[index1] == SCISSORS && b[index2] == SCISSORS || b[index2] == ROCK)){ check = 1; index2 += 1; } else{ check = 2; index1 += 1; } } else if(check == 1){ if((a[index1] == ROCK && b[index2] == ROCK || b[index2] == PAPER) || (a[index1] == PAPER && b[index2] == PAPER || b[index2] == SCISSORS) || (a[index1] == SCISSORS && b[index2] == SCISSORS || b[index2] == ROCK)){ index2 += 1; } else{ for(j = index1; j<index2; j++){ array[j] = b[j]; } } check = 0; index2 = index1; } else{ if((b[index2] == ROCK && a[index1] == ROCK || a[index1] == PAPER) || (b[index2] == PAPER && a[index1] == PAPER || a[index1] == SCISSORS) || (b[index2] == SCISSORS && a[index1] == SCISSORS || a[index1] == ROCK)){ index1 += 1; } else{ for(j = index1; j<index2; j++){ array[j] = a[j]; } check = 0; index1= index2; } } } if(index1 > index2){ for(j = index2; j<index1; j++){ array[j] = b[j]; } } else{ for(j = index1; j<index2; j++){ array[j] = a[j]; } } for(j = 0; j< i; j++){ best[array[j]]++; } int y = ROCK; if(best[ROCK] <best[PAPER]){ y = PAPER; } if(best[y] <best[SCISSORS]){ return SCISSORS; } else{ return y; } } } else if (algoNum==24) //unr1 { if (i==0) return PAPER; int yeah = PAPER; for (int xh=0; xh<i; xh++) { yeah = yeah ^ xh; } return (yeah%3); } else if (algoNum==25) //unr2 { if (i<6) return (i+1)%3; int[] prev = { b[i-6], b[i-5], b[i-4], b[i-3], b[i-2], b[i-1] }; int[][] patns = { {0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1}, {0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2,1,0,2}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}, {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}, {0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2}, {1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2} }; boolean match=false; int matchPat = -1, matchIndex = -1; yeahloop: for (int iiz=0; iiz<patns.length; iiz++) { for (int iiiz=0; iiiz<44; iiiz++) { if (patns[iiz][iiiz] == prev[0] && patns[iiz][iiiz+1] == prev[1] && patns[iiz][iiiz+2] == prev[2] && patns[iiz][iiiz+3] == prev[3] && patns[iiz][iiiz+4] == prev[4] && patns[iiz][iiiz+5] == prev[5]) { match=true; matchPat = iiz; matchIndex = iiiz+6; } } if (match) break yeahloop; } if (match) { return (patns[matchPat][matchIndex] + 1)%3; } else { int sumt = 0; for (int sumin=0; sumin<i; sumin++) {sumt += b[sumin];} double mean = (double)sumt / (double)i; double sdev = 0.0; for (int sumin=0; sumin<i; sumin++) {sdev += (double)((b[sumin] - mean) * (b[sumin] - mean));} sdev /= (double)i; // divide by i, not i-1, because we have a complete population sdev = Math.sqrt(sdev); // sdev is now the standard deviation of b's moves boolean[] withinOne = {false, false, false}; if (0 > mean - sdev && 0 < mean + sdev) withinOne[0] = true; if (1 > mean - sdev && 1 < mean + sdev) withinOne[1] = true; if (2 > mean - sdev && 2 < mean + sdev) withinOne[2] = true; if (withinOne[i%3]) return i%3; else if (withinOne[(i+1)%3]) return (i+1)%3; else return (i+2)%3; } } else if (algoNum==26) //phil3 { int[] best; if(i == 0){ return ROCK; } best = new int[3]; for(int j = 0; j <i; j++){ if(a[j] == b[j]){ best[a[j]]++; } else if(a[j] == ROCK && b[j] == SCISSORS){ best[ROCK]++; } else if(a[j] == PAPER && b[j] == ROCK){ best[PAPER]++; } else if(a[j] == SCISSORS && b[j] == PAPER){ best[SCISSORS]++; } else if(b[j] == ROCK && a[j] == SCISSORS){ best[ROCK]++; } else if(b[j] == PAPER && a[j] == ROCK){ best[PAPER]++; } else if(b[j] == SCISSORS && a[j] == PAPER){ best[SCISSORS]++; } } int y = ROCK; if(best[ROCK] < best[PAPER]){ y = PAPER; } if(best[y] < best[SCISSORS]){ return SCISSORS; } else{ return y; } } else return ROCK; //return ROCK; } public static String conv(int yeah) { if (yeah==ROCK) return " rock "; if (yeah==PAPER) return " paper "; if (yeah==SCISSORS) return "scissors"; return "you've got a problem"; } public static void main(String[] args) { String[] names = { "hawk", "test1", "test2", "test3", "izzy", "phil", "backatyou", "dnoob", "rand", "allrock", "jarze", "medji" , "mr_apple_pi", "darth1", "izzy1", "izzy2", "darth2", "darth3", "mrapple1", "medji1", "medji2", "patternSeeker", "phil1", "phil2", "unr1", "unr2", "phil3" }; boolean ohyeah = true; while (ohyeah) { Scanner inp = new Scanner(System.in); System.out.println("\n\nWelcome to R/P/S!"); for (int j=0; j<names.length; j++) { System.out.println(j + " (" + names[j] + ")");} System.out.print("\n\nEnter the numbers of the programs you wish to fight, separated by spaces:\n"); String nextln = inp.nextLine(); int[] algos; if (nextln.equals("x")) { algos = new int[]{ 2, 4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26 }; } else { String[] splitup = nextln.split(" "); algos = new int[splitup.length]; for (int hjk=0; hjk<splitup.length; hjk++) { algos[hjk] = Integer.parseInt(splitup[hjk]); } } String financ = ""; int n = algos.length; double[] nw = new double[n]; //int numGames = n/2 * (n - 1); for (int nn=0; nn<n; nn++) { for (int nnn = nn+1; nnn<n; nnn++) { // game between algos[nn] and algos[nnn] int algo1 = algos[nn]; int algo2 = algos[nnn]; System.out.print("\n\n"+names[algo1]+" vs "+names[algo2]+"\n"); int[] ar1 = new int[ROUNDS]; int[] ar2 = new int[ROUNDS]; int[] wins = new int[ROUNDS]; for (int k=0; k<ROUNDS; k++) { ar1[k] = rpsgo(algo1, k, ar1, ar2); ar2[k] = rpsgo(algo2, k, ar2, ar1); wins[k] = ( 3 + ar1[k] - ar2[k] ) % 3; // 0 -> tie // 1 -> one wins // 2 -> two wins } int oneWins=0; int twoWins=0; for (int l=0; l<ROUNDS; l++) { System.out.println(conv(ar1[l]) + " vs " + conv(ar2[l])); if (wins[l]==1) { oneWins++; } if (wins[l]==2) { twoWins++; } } int ties = ROUNDS - oneWins - twoWins; String msg; if (oneWins > twoWins + 1) { msg = names[algo1]+" wins!!!"; nw[nn]++; } else if (twoWins > oneWins + 1) { msg = names[algo2]+" wins!!!"; nw[nnn]++; } else { msg = "It was a tie!!!"; nw[nn] += 0.5; nw[nnn] += 0.5; } System.out.println("\n"+names[algo1]+" won "+oneWins+" games and "+names[algo2]+" won " +twoWins+ " ~ there were " + ties + " ties"); System.out.println(msg); financ += (names[algo1]+" vs "+names[algo2] + ": " + msg + "\n"); } } System.out.print("\n\nFinal Results:\n" + financ + "\n\nWin Count:\n"); for (int abc=0; abc<n; abc++) System.out.println(names[algos[abc]]+": "+nw[abc]); System.out.print("\n\nType y to play again "); ohyeah = false; if (inp.next().toLowerCase().charAt(0) == 'y') ohyeah = true; } System.out.print("\nThanks for playing!\n"); } } all algos work except for #23 (phil2) Running the "x" option (2, 4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26), this is the results: Final Results: test2 vs izzy: test2 wins!!! test2 vs phil: test2 wins!!! test2 vs jarze: It was a tie!!! test2 vs medji: test2 wins!!! test2 vs mr_apple_pi: It was a tie!!! test2 vs darth1: darth1 wins!!! test2 vs izzy1: test2 wins!!! test2 vs izzy2: test2 wins!!! test2 vs darth2: test2 wins!!! test2 vs darth3: darth3 wins!!! test2 vs mrapple1: mrapple1 wins!!! test2 vs medji1: It was a tie!!! test2 vs medji2: medji2 wins!!! test2 vs patternSeeker: patternSeeker wins!!! test2 vs phil1: It was a tie!!! test2 vs unr1: test2 wins!!! test2 vs unr2: unr2 wins!!! test2 vs phil3: It was a tie!!! izzy vs phil: izzy wins!!! izzy vs jarze: jarze wins!!! izzy vs medji: It was a tie!!! izzy vs mr_apple_pi: It was a tie!!! izzy vs darth1: darth1 wins!!! izzy vs izzy1: It was a tie!!! izzy vs izzy2: izzy wins!!! izzy vs darth2: darth2 wins!!! izzy vs darth3: izzy wins!!! izzy vs mrapple1: mrapple1 wins!!! izzy vs medji1: medji1 wins!!! izzy vs medji2: medji2 wins!!! izzy vs patternSeeker: patternSeeker wins!!! izzy vs phil1: izzy wins!!! izzy vs unr1: unr1 wins!!! izzy vs unr2: unr2 wins!!! izzy vs phil3: It was a tie!!! phil vs jarze: phil wins!!! phil vs medji: medji wins!!! phil vs mr_apple_pi: mr_apple_pi wins!!! phil vs darth1: darth1 wins!!! phil vs izzy1: izzy1 wins!!! phil vs izzy2: izzy2 wins!!! phil vs darth2: phil wins!!! phil vs darth3: darth3 wins!!! phil vs mrapple1: It was a tie!!! phil vs medji1: medji1 wins!!! phil vs medji2: phil wins!!! phil vs patternSeeker: phil wins!!! phil vs phil1: phil wins!!! phil vs unr1: phil wins!!! phil vs unr2: unr2 wins!!! phil vs phil3: It was a tie!!! jarze vs medji: jarze wins!!! jarze vs mr_apple_pi: jarze wins!!! jarze vs darth1: jarze wins!!! jarze vs izzy1: jarze wins!!! jarze vs izzy2: jarze wins!!! jarze vs darth2: jarze wins!!! jarze vs darth3: jarze wins!!! jarze vs mrapple1: It was a tie!!! jarze vs medji1: medji1 wins!!! jarze vs medji2: medji2 wins!!! jarze vs patternSeeker: patternSeeker wins!!! jarze vs phil1: It was a tie!!! jarze vs unr1: It was a tie!!! jarze vs unr2: jarze wins!!! jarze vs phil3: jarze wins!!! medji vs mr_apple_pi: It was a tie!!! medji vs darth1: medji wins!!! medji vs izzy1: izzy1 wins!!! medji vs izzy2: medji wins!!! medji vs darth2: It was a tie!!! medji vs darth3: medji wins!!! medji vs mrapple1: mrapple1 wins!!! medji vs medji1: medji wins!!! medji vs medji2: medji2 wins!!! medji vs patternSeeker: patternSeeker wins!!! medji vs phil1: It was a tie!!! medji vs unr1: medji wins!!! medji vs unr2: medji wins!!! medji vs phil3: medji wins!!! mr_apple_pi vs darth1: darth1 wins!!! mr_apple_pi vs izzy1: izzy1 wins!!! mr_apple_pi vs izzy2: mr_apple_pi wins!!! mr_apple_pi vs darth2: It was a tie!!! mr_apple_pi vs darth3: mr_apple_pi wins!!! mr_apple_pi vs mrapple1: mr_apple_pi wins!!! mr_apple_pi vs medji1: medji1 wins!!! mr_apple_pi vs medji2: medji2 wins!!! mr_apple_pi vs patternSeeker: patternSeeker wins!!! mr_apple_pi vs phil1: mr_apple_pi wins!!! mr_apple_pi vs unr1: unr1 wins!!! mr_apple_pi vs unr2: mr_apple_pi wins!!! mr_apple_pi vs phil3: mr_apple_pi wins!!! darth1 vs izzy1: izzy1 wins!!! darth1 vs izzy2: darth1 wins!!! darth1 vs darth2: darth1 wins!!! darth1 vs darth3: darth1 wins!!! darth1 vs mrapple1: darth1 wins!!! darth1 vs medji1: darth1 wins!!! darth1 vs medji2: darth1 wins!!! darth1 vs patternSeeker: patternSeeker wins!!! darth1 vs phil1: darth1 wins!!! darth1 vs unr1: darth1 wins!!! darth1 vs unr2: darth1 wins!!! darth1 vs phil3: It was a tie!!! izzy1 vs izzy2: izzy1 wins!!! izzy1 vs darth2: izzy1 wins!!! izzy1 vs darth3: izzy1 wins!!! izzy1 vs mrapple1: mrapple1 wins!!! izzy1 vs medji1: medji1 wins!!! izzy1 vs medji2: medji2 wins!!! izzy1 vs patternSeeker: patternSeeker wins!!! izzy1 vs phil1: izzy1 wins!!! izzy1 vs unr1: unr1 wins!!! izzy1 vs unr2: izzy1 wins!!! izzy1 vs phil3: izzy1 wins!!! izzy2 vs darth2: darth2 wins!!! izzy2 vs darth3: izzy2 wins!!! izzy2 vs mrapple1: mrapple1 wins!!! izzy2 vs medji1: izzy2 wins!!! izzy2 vs medji2: It was a tie!!! izzy2 vs patternSeeker: patternSeeker wins!!! izzy2 vs phil1: phil1 wins!!! izzy2 vs unr1: It was a tie!!! izzy2 vs unr2: izzy2 wins!!! izzy2 vs phil3: izzy2 wins!!! darth2 vs darth3: darth2 wins!!! darth2 vs mrapple1: mrapple1 wins!!! darth2 vs medji1: darth2 wins!!! darth2 vs medji2: medji2 wins!!! darth2 vs patternSeeker: patternSeeker wins!!! darth2 vs phil1: darth2 wins!!! darth2 vs unr1: unr1 wins!!! darth2 vs unr2: unr2 wins!!! darth2 vs phil3: darth2 wins!!! darth3 vs mrapple1: It was a tie!!! darth3 vs medji1: darth3 wins!!! darth3 vs medji2: darth3 wins!!! darth3 vs patternSeeker: darth3 wins!!! darth3 vs phil1: darth3 wins!!! darth3 vs unr1: darth3 wins!!! darth3 vs unr2: unr2 wins!!! darth3 vs phil3: darth3 wins!!! mrapple1 vs medji1: It was a tie!!! mrapple1 vs medji2: mrapple1 wins!!! mrapple1 vs patternSeeker: patternSeeker wins!!! mrapple1 vs phil1: It was a tie!!! mrapple1 vs unr1: It was a tie!!! mrapple1 vs unr2: unr2 wins!!! mrapple1 vs phil3: mrapple1 wins!!! medji1 vs medji2: It was a tie!!! medji1 vs patternSeeker: patternSeeker wins!!! medji1 vs phil1: medji1 wins!!! medji1 vs unr1: medji1 wins!!! medji1 vs unr2: medji1 wins!!! medji1 vs phil3: It was a tie!!! medji2 vs patternSeeker: medji2 wins!!! medji2 vs phil1: medji2 wins!!! medji2 vs unr1: It was a tie!!! medji2 vs unr2: unr2 wins!!! medji2 vs phil3: It was a tie!!! patternSeeker vs phil1: It was a tie!!! patternSeeker vs unr1: It was a tie!!! patternSeeker vs unr2: patternSeeker wins!!! patternSeeker vs phil3: patternSeeker wins!!! phil1 vs unr1: unr1 wins!!! phil1 vs unr2: unr2 wins!!! phil1 vs phil3: phil1 wins!!! unr1 vs unr2: unr2 wins!!! unr1 vs phil3: phil3 wins!!! unr2 vs phil3: unr2 wins!!! Win Count: test2: 9.5 izzy: 6.0 phil: 7.0 jarze: 12.0 medji: 10.0 mr_apple_pi: 9.0 darth1: 13.5 izzy1: 10.5 izzy2: 6.0 darth2: 7.0 darth3: 8.5 mrapple1: 11.0 medji1: 10.0 medji2: 11.0 patternSeeker: 14.0 phil1: 4.5 unr1: 7.5 unr2: 10.0 phil3: 4.0 best programs: patternSeeker darth1 jarze mrapple1, medji2 izzy unr2, medji1, medji
  15. unreality

    00, 000, and 0000 are not allowed because he specified "positive integer"
  16. i've finally gotten around to writing two programs and I'm happy with them... last call for new algorithms and programs! Also looking for confirmation from Izzy, Medji, Phil and JarZe as to whether they want to use their old T1 programs in T2??
  17. unreality

    i'd be the last to say that there's a 0% chance of a god. I just admire the guy's ability to throw light on subjects that most people don't think about. Religion doesn't want you to think because thinking leads to questioning and questioning leads to progressive knowledge which may usurp in the follower's mind the more stone-locked premises of the religion. I personally have nothing against belief in a deity, even an intelligent one. But I do have a problem when that belief becomes twisted and distorted by "religions" and becomes a weapon for intolerance, fear, control, and discrimination. And I hate it most when people use circular logic to promote it (God exists because the Bible says so... and the Bible is valid because God says so...???) In short, I'm fine with religion when it can coexist with other religions... but when a religion can't do that, I get angry. I think it's ridiculous when a Christian says Buddhism is wrong because all the crazy stuff in Buddhism, and the person never stops to think about all the crazy stuff in Christianity. I'll be happy when all religions can respect each other, and atheists and all other spriitualities
  18. unreality

    he seems to have quite a few such spoof videos...
  19. unreality

    on topic, just saw this video haha: I bet there's some christians watching it that think he's serious and are agreeing with everything
  20. yeah it's alright, all of us are too busy to be on at one time anyway... this has shown that. So I propose the story/rp idea I was talking about on the previous page...
  21. unreality

    Oh trust me man, I've been grappling with this for years now. There's a point where things started sliding into place in my mind and I began to see that I wouldn't have it any other way - life and death is a natural cycle, even for whole universes. We're insignificant on that grand scale but significant on our own scale with each other and the things we affect and are effected by, even if those things will one day be all gone. That doesn't matter. My life philosophy is all about the journey, not the destination. It's all about the quality of life, not the length of it. I realized that I can do whatever I want, really, truly, because it doesn't matter in the end. It's pretty liberating And that's what I mean by oneness with the universe.... in the end we are all particles of the same system. For me life is all about mind and body
  22. 50 rounds is sufficient... beyond that it's just arbitrary. And if one pwns the first 25 and the other pwns the next 25, implying the cycle, then it's a tie, rightfully so. Fifty rounds is enough to grasp the trend, and if they differ by only win, it's counted as a tie, so that's accounted for. Though the number 50 it's just one constant at the top... I could make it 100, or even 500 if you want. The more rounds the more accurate I suppose (note some programs would need to extend sampling arrays if that changed, but other than that it's not a big deal). Though I think 50 is very sufficient... in the scheme of your algorithms, there won't be a big extrapolated difference between 50 rounds and 500 rounds
  23. I myself have had a few ideas (don't worry, nothing specifically against anyone's algorithm haha ) but not the time to flesh them out yet. Maybe today...
×
×
  • Create New...