SHOWDOWN Program entry descriptions Beware of long mail .... but there ARE gems buried! Even if you don't study the whole thing, you might want to check out the first four or five writeups! The attached mail is the collection of write-ups I received. As usual they are mostly unedited (only personal POTM-master insults were removed). Write-ups are provided in order of finish (more or less). There will also be selected code listings available on the websites. If you need even more detail - contact the authors - not ME!!! =Fred ---()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--- -()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()- ---()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--()--- ======= WINNER =========== Dilbot === ========CODE WILL BE POSTED ON WEBSITES ========================= ================= Dilbot was submitted by Mike Anderson at mranderson@att.com ================= ++ What strategies did Dilbot use? Dilbot is primarily a Sleeper with a little bit of Adjuster and Zapper mixed in. Dilbot's basic strategy is to deny his opponent a WIN or TIE (the really BIG points!) by sitting on his home square and throwing WALLs in front of his opponent to collect OUCH points while tracking his position to figure out the best place for the next wall while also avoid getting ZAPped himself should his opponent get too close to Dilbot's home row or colunm. If his opponent does get "close", Dilbot goes into ZAPping mode, shooting down the row or column that his opponent is likely to stumble into and hopefully HIT him then repeatedly ZAP him for more points until the match is over. Otherwise, Dilbot repeatedly WALLs his opponent one or two move squares in front of his opponent along the diagonal across the path to Dilbot's home square. If Dilbot detects that his opponent has stopped to deal with a wall, he WALLs him in closer to try to replace the WALLs that may have just been ZAPped. This can result in some OUCHes before his opponent tries to break this replacement cycle, or a lot of OUCHes if he's stuck and keeps trying to MOVE. Because Dilbot doesn't move, he can't give OUCH points to his opponent (although Dilbot won't get MOVE points either until/unless he make his run; see below). And because he stays in the corner, his opponent can't go past Dilbot's home row or column which increases the chance to ZAP him as he has to move into that row or column to get to the home square. However, should Dilbot's opponent sit still for a period after the turn passes where it's no longer possible for his opponent to reach Dilbot's home square, Dilbot morphs into a Zapper. He will move on a randomly selected "diagonal" path towards his opponent's last location to collect MOVE points as well as trying to ZAP him and collect ZAP points (this is intended to also defeat a Sleeper opponent by racking up MOVE points as the Sleeper sits on his home). Each MOVE is proceeded by a ZAP to clear any wall dropped in front, or to hit his opponent they crossed paths. In case his opponent WALLs in a way that makes Dilbot give an OUCH after clearing a wall, Dilbot will change course and try a ZAP/MOVE again. Another such OUCH puts Dilbot in a random ZAP/MOVE mode to get out of a WALL replacement cycle. There are weaknesses in Dilbot's strategy though. If his opponent does get in close to Dilbot while he's still sitting on his home square, Dilbot won't be able to best guess whether his opponent will try to ZAP him on the home row or column (if his opponent moves in at all). Also, Dilbot exposes himself to getting ZAPped and to OUCHes when he's doing his Zapper run. And there are other weaknesses that can be exploited, such as the opponent could ZAP Dilbot right when he takes a break to RADAR his opponent. Oh, well, no strategy in this Showdown can seem to guarantee a win, but maybe only improve the chances of a win; there will always be holes that an opponent could exploit, either on purpose, or by dumb luck. But I hope the above will work well for Dilbot. (A Runner type opponent will be in big trouble against Dilbot). ++ Did Dilbot do anything differently if you went first or second? Yes, but only slightly. Since he's primarily a sleeper, he attempts to WALL in his opponent right from the start. If Dilbot goes first, he knows that his opponent must still be on his home square and therefore will alternate building a wall on the two squares immediately adjacent his home until either he gets an OOPS (opponent managed to zap a wall just after it was built and successfully moved), or it's not longer possible for the opponent to reach Dilbot's home square in 33 moves. It's possible for the opponent to get stuck in a cycle of ZAPs and MOVEs that result only in a bunch of OUCH points for Dilbot until either the opponent breaks the WALLing cycle (OOPS) or Dilbot makes his end game ZAPping run. If Dilbot goes second, his opponent may have moved. So he uses his standard WALLing algorithm to collect OUCH points and slow down his opponent. ++ This POTM could have been better if only you had .... Perhaps provided the mediator program to save the time to write and test one. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? AT&T Labs / AT&T WorldNet Service, Lincroft, NJ, software developer, the POTM, I'm Bill Gates' illegitimate half-brother, more "bot" programming with different goals, constraints, layouts, commands, physics, etc. ================================================================= ======= WINNER =========== 6.5_KillerBytes === ========CODE WILL BE POSTED ON WEBSITES ========================= ================= 6.5_KillerBytes was submitted by Don Kirkby at DKirkby@Sierrasys.com ================= ++ What strategies did 6.5_KillerBytes use? Combination Sleeper and Zapper. It tried to block with walls and when the opponent came in range, fired blindly until it hit or was hit. ++ Did 6.5_KillerBytes do anything differently if you went first or second? Not much, if it went second, it used a RADAR to see which way the opponent had moved, otherwise it knew where the opponent was and dropped a wall in front of him. ++ This POTM could have been better if only you had .... Put more time into it. When I started, I had ideas to run an artificial evolution system to breed competitors. I didn't quite get around to that. Oh well. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Consulting company in Vancouver, B.C., Canada. I play Ultimate Frisbee and commute by bicycle. I was thinking about a contest involving balancing objects on a plane with a fulcrum in the middle. Either solo problem solving or head to head competition. I have to flesh out the idea a bit more. I really liked the sound of the previous competition where you had to wander through a building. ================================================================= ======= FINAL_FOUR =========== SOS === ================================================================= ================= SOS was submitted by Aivars Zogla at fix.lv!uvsk@kcig2.att.att.com ================= ++ What strategies did SOS use? I would call strategy of SOS as oscilator: to go to the opposite corner of the short side then back home with tripple horizontal zapping after each move. If something on the road - zap it and continue. No radars, no walls. ++ Did SOS do anything differently if you went first or second? No. ++ This POTM could have been better if only you had .... Millions of strategies. Lotery. Of course, attempt to prepare good adjuster could be winning. But it's too much to do it for fun. I can't say that this was the best POTM I took part. But it's only my point of view. I know many of POTMers like such kind of competition. I wish them good luck this time. ++ COMPANY? LOCATION? JOB? Teacher in Ugale Secondary School, Latvia. DO FOR FUN? I've noticed that my hobbies changes in a period of 5 years. This is second year while taking a lot of fun in solving computer problems. INNERMOST SECRET? "The darkest night is before sunrise." I don't know exactly where I pick up this, it could be from POTM's, but if you are trying to figure out something in some area, this can realy help you. POTM IDEAS? Go on, Fred, go on! ================================================================= ======= FINAL_FOUR =========== DeputyDawg === ================================================================= ================ DeputyDawg was submitted by Sam Wilson at samw@crss.esy.com ================ + What strategies did DeputyDawg use? The original submission was basically a Runner which would throw out walls here and there. Toward the end of the game it went into a mode where it would alternate moving with throwing a wall into the opponent's goal. I thought this would keep the opponent from ever entering the goal. My 14 year-old daughter, Beth, demonstrated a flaw in my reasoning, though, so I knew I had to try something different. I also realized that although the Runner type programs were scoring more points against The_Marshall and were going to be seeded higher, the programs most to be feared were those that could catch me in an unending sequence of ZAPs. I wrote a simple minded Zapper and it beat the original DeputyDawg pretty badly. (BTW, I used the TCL mediator provided by Gerald Williams, but I had to apply several fixes before it worked properly.) The current version is mostly a Zapper. It maintains a variable that keeps track of how close the opponent can have gotten to my current row and column. I do a RADAR at intervals to reset this variable. As long as I know I can safely move (not move into a ZAP) I do so. If I think the opponent is in position to be ZAPped, I try one. If I catch him in a ZAP, I ZAP forever. If he gets past me somehow, then I go ahead and run for my goal. I have come to the conclusion that there is no perfect strategy - which makes this a very interesting problem. If I knew my opponent's strategy before a contest, I think I could always produce a counter-strategy that would beat his. But then a counter-strategy tuned to do well against that particular strategy would be very likely to do poorly against many others. So I think it is quite likely for there to be three strategies A, B, & C such that A beats B, B beats C, and C beats A. I would be interested to see if a round-robin tournament would produce different results from a single-elimination tournament. + Did DeputyDawg do anything differently if you went first or second? Not really. Some of the variables are given different initial values, is all. + This POTM could have been better if only you had .... The one change I would be most in favor of would be to have it take a turn for your "gun" to recharge after a ZAP. This would, of course, take away the ability to ZAP forever, and put more emphasis on actually reaching the goal first. An alternate to this might have been to put a limit on the number of WALLS and ZAPS you could use in the game. COMPANY? Raytheon E-Systems LOCATION? Garland, TX JOB? Software Engineer DO FOR FUN? Coach and judge Odyssey of the Mind, Read, Play games INNERMOST SECRET? I'd have to ZAP you if I told you. ================================================================= ======= ELITE_EIGHT =========== Renegade === ================================================================= ================= Renegade was submitted by John Engels at jengels@att.com ================= ++ What strategies did Renegade use? Renegade follows a conservative hunt and destroy strategy. I say conservative because Renegade will avoid getting into the line of fire of the opponent. Instead, Renegade will get close and then wait in ambush until the opponent crosses his line of fire. Of course, if the opponent is following the same strategy, the result will be a deadlock. If a deadlock situation occurs, Renegade will sense the deadlock, determine who would win the game if the stalemate were to continue, and attack only if he is behind on points. ++ Did Renegade do anything differently if you went first or second? No ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Company AT&T Location Piscataway, NJ Job Programmer/Analyst Fun Skateboarding/Skiing/Wakeboarding Innermost Secret I am hopelessly in love with a girl who works in the next building. ================================================================= ======= ELITE_EIGHT =========== CVGA === ================================================================= ================= CVGA was submitted by Pedro Demasi at demasi@centroin.com.br ================= ++ What strategies did CVGA use? Zapper: tried to find and shoot your opponent Adjuster: tried to figure out what opponent did and adjust strategy fittingly (it uses this one to decide where to build walls) Defender: at some point, it build at least 6 walls in its base to make it harder to the oponent to get there. And when it finds the opponent is to close to the base, it keeps on bulding walls to avoid the opponent's victory. ++ Did CVGA do anything differently if you went first or second? No, it always start building walls in front of the opponent. ++ This POTM could have been better if only you had .... ... more time to elaborate my program, since I entered the tourney too late! ... AND if I could write my program in Pascal (I LOVE PASCAL!) :)))) ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I'm from Rio de Janeiro, Brasil. So, sorry for the bad English! ;)))) I'm a student of Computer Science at UFRJ (Rio de Janeiro Federal University). Yes, I did for fun! ;) ================================================================= ======= ELITE_EIGHT =========== Zappa === ========CODE WILL BE POSTED ON WEBSITES ========================= ================= ++ What strategies did Zappa use? Zappa has a probabilistic strategy that varies according to the situation, sort of a modified "Adjuster". If Zappa finishes ahead, its almost always because it has succeeded in zapping the opponent repeatedly. The probabilities of the strategy depend on: 1) the closest (either row or column) the opponent was to Zappa at its last known position. 2) the closest the opponent is likely to be, based on study of opponent's recent motion 3) a comparison of the distance Zappa and opponent have remaining to go to reach their respective goals Each combination of distances has its own set of probabilities for moving on a row, moving on a column, zapping, using radar, and/or building a wall. At the beginning, distances are large, so Zappa does a "Runner" strategy until the opponent could get close. If the opponent is near the same row or same column, Zappa doggedly follows a "Zapper" strategy. (If there is a HIT, Zappa ZAPs forever.) If the opponent gets really close to its goal, Zappa lapses into the "Autistic" strategy, repeatedly building either WALL A 1 or WALL I 26. Zappa calculates the current trajectory of the opponent, as well as the direction the opponent had to go to get to the goal, then arrives at a consensus direction and speed. The opponent's direction and speed determine the direction for zapping as well as probabilities and direction for moving. ++ Did Zappa do anything differently if you went first or second? Only as a secondary results of the probabilistic strategy. For instance, Zappa is more likely to build walls at the beginning when it goes first, because of its exact knowledge of opponents position. ++ This POTM could have been better if only you had .... Had more than 2 matches between opponents, or done a round-robin tourney. With a probabilistic strategy, there may be a lot of luck involved on any one game. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Company: AT&T Location: Florham Park Job Title: Division Manager of the Speech Processing Software and Technology Research Department Innermost secret: My job title is too long to fit on a business card. ================================================================= ======= ELITE_EIGHT =========== Anti_Marshall === ================================================================= ================== Anti_Marshall was submitted by Ramkumar Srinivasan at rsrini@iiap.ernet.in ================== ++ What strategies did Anti_Marshall use? Zapper : Just stay put at your initial position and keep Zapping till you get your opponent tranquilized. ++ Did Anti_Marshall do anything differently if it went first or second? Nope ++ This POTM could have been better if only you had .... No zapping. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Iam form INDIA. Iam doing my undergraduate studies in Electronics & Communication. For fun I write system programs (Disk utilities etc), play games etc. POTM ideas : A TIC-TAC-TOE game. Thank you Fred for a great contest. It was fun :-) ================================================================= ======= SWEET_SIXTEEN =========== Russian === ================================================================= ================= Russian was submitted by Paul Banta at Paul_Banta@NOTES.YMP.GOV ================= ++ What strategies did Russian use? Russian An Adjuster What made this problem fun was the fact that you almost never had enough information to know what the best move was. You could ZAP to the right, but that didn't guarantee that you could MOVE right and not bump into a WALL. Or, if you did a RADAR, that only told you where your opponent USED to be, not where he currently was. I found two exceptions to not having enough information. These are what my entry was built around. Basically Russian is a sleeper. The name "Russian" was meant to disguise his true nature. Russian - "Rush In" - "Rush'n". I decided that a pure sleeper could be beaten too easily, so I taught the old dawg some new tricks. The main strategy (Player 1 Primary Strategy below) has been the heart of Russian from the beginning and is the only thing that I'm proud of. Everything else is just tweaks and percentages. Judging from all the other scores against The Marshall, it looks like I am the only one who stumbled across this strategy. I think it's fundamentally sound. Player 1: Primary Strategy: REPEATEDLY build WALLs on I 25 and H 26!! This guarantees that my opponent cannot move from his initial spot without me getting an OOPS. Think about it! So basically I provide my opponent with ample opportunity to bump into WALLs until I see that he got out by receiving an OOPS (The Marshall couldn't get out). This is an example of actually having enough information - you know your opponent is on I 26 as long as you're able to build WALLs without getting an OOPS. Secondary Strategy: Take the BYE. Along the way, I found a way to beat The Marshall with a bogus program (1460+ points). Then I incorporated that strategy into my real program. In essence, I found a way to reasonably detect when I was playing against The Marshall and alter my strategy to beat HIM (Nothing personal Fred). That gave me a BYE in the first-round. And YES, it WAS legal. Secondary Strategy: More WALLs followed by ZAPping. If my opponent is able to move from I 26 (not impossible, just detectable), I build a series of WALLs that he will almost certainly bump into. Then, I ZAP repeatedly across the A row for a while followed by alternating ZAPs down the 1 column and across the A row. Secondary Strategy: Guard against a Sleeper. If I'm still building WALLs on I 25 and H 26 after 95 moves, I try to move right two squares. This is just in case I'm playing against a sleeper who doesn't move at all. Player 2: Primary Strategy: WALLs followed by ZAPping. Because player 2 goes second, there is no corresponding strategy to player 1's WALLs at I 25 and H 26. So, I build a series of WALLs that he will almost certainly bump into. Then, I ZAP repeatedly across the I row for a while followed by alternating ZAPs up the 26 column and across the I row. Secondary Strategy: Still on A 1? I tried to be somewhat intelligent in detecting and reacting to another sleeper like myself. After building the WALLs, I do a RADAR (approximately my 8th move). If I see that my opponent is still on A 1, I try to beat him by either moving 1 spot away from my home or by winning the RADAR tie-breaker. If I don't think I can move, I just RADAR the rest of the game (~ 85 RADARs). OK, so I'm grasping at straws trying to win on RADARs. Both Players: Secondary Strategy: Response == HIT? I'm sure most entries reacted the same when they received a HIT. I repeat whatever my previous action was. This was the other case in which you DID have enough information in order to reasonably decide what your next action should be. ++ Did Russian do anything differently if you went first or second? Yes! Player 2 has no guarantee of detecting when player 1 moves from A 1. That is, Russian player 1 builds walls on I 25 and H 26 and is GUARANTEED to get an OOPS when the opponent moves from I 26. If player 2 built walls on A 2 and B 1, it's possible for player 1 to get off of A 1 without player 2 getting an OOPS. So, I can't use this strategy as player 2. Instead, I go straight to building some walls and ZAPping. I guess the strategies are very similar, but not identical. If I had a way of guaranteeing an OOPS, I'd play that strategy as player 2 also. ++ This POTM could have been better if only you had .... 1) It would have been even better if The Marshall played as both player 2 AND player 1. 2) It might have been better if ZAPping didn't put your opponent to sleep. This would have closed the loop-hole of repeated ZAPping. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Company: TRW Location: Las Vegas, Nevada, USA Job: Database Programmer Do For Fun: POTM, Volleyball, Hicking, Camping, Fishing (Necessarily in that order). Innermost Secret: Bozo POTM Ideas: Rubick's Cube : Solitare ================================================================= ======= SWEET_SIXTEEN =========== WileECoyote === ================================================================= ================= WileECoyote was submitted by Andrew Gauld at Andrew.G.Gauld@att.com ================= ++ What strategies did WileECoyote use? Runner: basic strategy is to go for the opposite home base quickly - curved path, leave wall on starting point, shoot at ending pt. ++ Did WileECoyote do anything differently if you went first or second? No. ++ This POTM could have been better if only you had .... Needed pre-run evaluation to better reflect final run. Was almost a different game. I was tempted to build a solution that looked at the date and used different strategies for the initial runs than for the final. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? AT&T. Lincroft. PTSM. Music. I'll never tell. Nope. ================================================================= ======= SWEET_SIXTEEN =========== Wanderer === ================================================================= ================= Wanderer was submitted by Rich Taylor at taylorrs@cs.rose-hulman.edu ================= ++ What strategies did Wanderer use? Runner with weighted random walk (stayed away from walls). ++ Did Wanderer do anything differently if you went first or second? Nope ++ This POTM could have been better if only you had .... More time. :) ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Student, Rose-Hulman Institute of Technology ================================================================= ======= SWEET_SIXTEEN =========== Runaway === ================================================================= ================= Runaway was submitted by Hank Turowski at turowski@accessone.com ================= ++ What strategies did Runaway use? Runaway is a Runner. It puts up a minimal defense by building walls at A1 A2 and B1 for an A1 start or I26 I25 H26 for an I26 start. Then it runs for the goal. On the INIT command, Runaway generates a random path through the room, and writes its whole sequence of moves out to the temp file. On results other than HELLO, OUCH, and ERROR it executes the next command in the file. On HELLO and OUCH, it will zap and on ERROR it will HELP and generate a new movement file. ++ Did Runaway do anything differently if you went first or second? Yes, when I moved first, I build walls at H26 and H25. With random movement, there is a 75% chance that my opponent will run into at least one of these walls. ++ This POTM could have been better if only you had .... Maybe a round robin instead of a single elimination tourney... I know there were a heck of a lot of entrys for this, but it looks pretty easy for a weak program to get lucky and beat a very good program. Maybe groups of 5 or 10 programs in a round robin with the top one or two advancing to the next group, not unlike World Cup matches. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I work for the Edmark Corporation in Redmond Washington. I spend most of my days fixing computers and doing network administration. For fun, I play soccer (lots of soccer) and I volunteer locally in the Deaf Community. Innermost Secret: I can never remember that damn Quadratic Equation. I had to cheat in High school Algebra and write it inside my calculator. But that was just the beginning. I don't want to go into the details here, but I will tell you that I have Avogadro's number tattooed on my left arm. I'm just glad my C++ compiler has on-line help, or I'd be in big trouble. ================================================================= ======= SWEET_SIXTEEN =========== stalker === ================================================================= ================ stalker was submitted by Bernard Hatt at bmh@arkady.demon.co.uk ================= ++ What strategies did stalker use? The basic strategy was runner, the only modification was to put a wall on the opponents home square and zap at it's own finishing square on the assumtion that the opponent had done the same. [An unfinished version was attempting to detect the opponent and synchronise putting walls on it's final square, so that it could be doing (MOVE(OUCH), ZAP(BOOM), MOVE(OUCH) etc., whilst stalker was doing WALL, MOVE, WALL etc.] ++ Did stalker do anything differently if you went first or second? If it went second, it reversed the coords printed on input and output, so that it always thought it was going A1->I26 ++ This POTM could have been better if only you had .... More free time .... ++ COMPANY? I had been made redundant just before the POTM was announced, so I managed to get a prototype entry and mediator going fairly quickly. Fortunatly for my bank balance, and unfortunatly for my POTM entry I got a job at a company called UniSoft shortly afterwards. ++ LOCATION? Hemel Hempstead (~20 miles NW of London, England) ++ JOB? Programmer for UniSoft (Based in central London) ================================================================= ======= SWEET_SIXTEEN =========== sneaky_devil === ================================================================= ================= sneaky_devil was submitted by Kurt Van_den_Branden at kurtvdb@belgonet.be ================= ++ What strategies did sneaky_devil use? Sleeper: stayed pretty much on your own home and built walls, etc. In the beginning I thought my strategy was pretty devious. I started randomly walking towards my goal, but when I think my opponent is pretty close to his goal I start putting wall's at his goal-point. So, if his only strategy is to walk to his destination, he will keep hitting his head against the wall, and so I would win. ++ Did sneaky_devil do anything differently if you went first or second? no ++ This POTM could have been better if only you had .... a better strategy? ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I'm from Belgium, and I love the POTM. although I don't always have time to compete ================================================================= ======= SWEET_SIXTEEN =========== showdown === ================================================================= ================= showdown was submitted by Sameer Mudaye at sbm@godrejnet.com ================= ++ What strategies did showdown use? Runner: basic strategy is to go for the opposite home base quickly and zap any walls encountered on the way ++ Did showdown do anything differently if you went first or second? YES : If it starts at A1 it runs for I26 and vice versa . ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? It was great fun to participate and accept the challenge . ================================================================= ======= SWEET_SIXTEEN =========== spoof === ================================================================= ================= spoof was submitted by Edward Shipley at enshipley@attmail.com ================= ++ What strategies did spoof use? Basically, spoof is a runner but with a set (1 or 2) of trigger points that cause the program to take offensive or defensive action. ++ Did spoof do anything differently if you went first or second? No ++ This POTM could have been better if only you had .... I assume you is Fred. I think this is the most enjoyable POTM so far, and I wish that it had been run as a series of tournaments in which users got more detailed data (list of action for each turn). This would be sort of like the pro tennis tour, with matches every one or two months, and time between to repair defects and concoct sinister strategies. I'm sorry that this POTM is ending. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? AT&T Middletown System Engineer For fun Yes The head to head competition is a great idea. ================================================================= ======= BELOW_TOP_16 =========== tumbleweed === ================================================================= ================= tumbleweed was submitted by Dave Lynch at dfl@esun.ho.att.com ================= ++ What strategies did tumbleweed use? Adjuster: tried to figure out what opponent did and adjust strategy fittingly Use radar to determine location of opponent. Try to slip by without getting zapped. Then run for home. ++ Did tumbleweed do anything differently if you went first or second? Not really. ++ This POTM could have been better if only you had .... been able to work on it full time from 9 to 5, Monday through Friday. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I am an AT&T human resource temporarily located in Holmdel, New Jersey. Nobody above my immediate supervisor has the slightest idea about what I do, but they don't realize this. Fortunately, I do have a very happy personal life. ================================================================= ======= BELOW_TOP_16 =========== robo2000 === ================================================================= ================= robo2000 was submitted by Carl in_'t_Veld at cveld@digitaal.nl ================= ++ What strategies did robo2000 use? It just moved stupidly to the other corner. It only used the MOVE command. ++ Did robo2000 do anything differently if you went first or second? Nothing special. ++ This POTM could have been better if only you had .... More players in the field. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Filled it out some time ago already. ================================================================= ======= BELOW_TOP_16 =========== runcible === ================================================================= ================= runcible was submitted by Brett Coley at brett.coley@tivoli.com ================= ++ What strategies did runcible use? Runner, working on adjuster version. Hope to send in by the end of the week... ++ Did runcible do anything differently if you went first or second? No. ++ This POTM could have been better if only you had .... More time. Facing project deadline, and have had little time since mid-May. Still have ideas though. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Tivoli Systems, Austin TX. Developer/designer of network management software products. Enjoy old cars, woodworking, music. Like to read code (that is a twisted secret to have). ================================================================= ======= BELOW_TOP_16 =========== blast === ================================================================= ================= blast was submitted by Mark Studebaker at mds@eng.paradyne.com ================= ++ What strategies did blast use? Runner: basic strategy is to go for the opposite home base quickly Also Radar'ed every 5 turns or so. When opponent is about to win, Blast stops moving and just Wall's the opponent's home square every turn. This ensures that Blast will never lose by opponent getting home. ++ Did blast do anything differently if you went first or second? no ++ This POTM could have been better if only you had .... more time to test. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Paradyne Corp., Largo, FL ================================================================= ======= BELOW_TOP_16 =========== Walleye === ================================================================= ================= Walleye was submitted by Carl Burke at cburke@mitre.org ================= ++ What strategies did Walleye use? Walleye was pretty simple. I borrowed some ideas from the Hamsterdam work at the MIT Media Lab, giving Walleye multiple drives from which to select at any given time. This allowed me to balance 'moving to goal', 'protecting my goal', and 'know where your enemy is'. A similar technique was used for deciding whether to zap or move if move was selected. For blocking, I tried to put walls around my starting point, then walls along a direct path between the enemy and my starting point. Walleye kept an internal map of the game board for deciding where walls were, in addition to the value of decision variables, current location, enemy location, and expected unertainty about enemy location. I never added any code to target the enemy directly, and a modified version that was a little better at wall placement never got mailed to Fred. I was not at all pleased at how poorly I did against The Marshal, but that's what I get for not testing enough. :( ++ Did Walleye do anything differently if you went first or second? No; the only adjustments were to the math, to make sure he headed in the right direction. ++ This POTM could have been better if only you had .... Tested, tested, tested! Some really simple strategies were almost impossible for me to defeat (like just moving along the outer edge of the board). The weights in the decision functions could have been balanced better to have Walleye waste less time, etc. etc. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I work for the MITRE Corporation in Reston, Virginia, as a 'simulation and modelling engineer' (fancy name for a programmer). I like to play around with alife ideas and behavioral simulations; obviously, I need to do some more playing around. ================================================================= ======= BELOW_TOP_16 =========== lurker === ================================================================= Sorry ... no description available for lurker ================================================================= ======= BELOW_TOP_16 =========== Showdownmaster === ================================================================= ================= Showdownmaster was submitted by M.Sabadello L.Heinz at Markus.Sabadello@blackbox.at ================= ++ What strategies did Showdownmaster use? It uses a quite passive strategy that doesn't depend on the home position or on what the opponent does (no RADAR used). Showdownmaster follows a pattern that is the same every time: The first thing it does is a WALL next to the opponent's starting point (I 24 or A 3). This is intended for rather stupid programs that do not avoid or zap blocks. After that, Showdownmaster does a few MOVEs (max 3), ZAPing walls which are in its way. Then, another WALL goes to the own starting position. From then on, Showdownmaster uses horizontal ZAPs, in the direction where the opponent started. These ZAPs go on until the end of the game. I know that this is very simple strategy, and I think it only works well on programs which aim to get to the opposite home, but I beat The_Marshall, so who cares... ++ Did Showdownmaster do anything differently if you went first or second? No. I thought about this possibility, but I couldn't find any reason for different behaviour. ++ This POTM could have been better if only you had .... ...had a good mediator and The_Marshal's source code ;-) ++ COMPANY? LOCATION? JOB? Just passed my finals at high school... Now I want to get my driving license for cars, motorcycles and lorries. Where I live (Austria), this much more difficult than in the US and you aren't allowed to drive until you are 18. INNERMOST SECRET? Tell my innermost secret to 'bout 700 people I don't even know? No way! POTM IDEAS? Nope ================================================================= ======= BELOW_TOP_16 =========== extrospector === ================================================================= ================= extrospector was submitted by John Sichi at jsichi@broadbase.com ================= ++ What strategies did extrospector use? Sleeper, but Runner when the opponent is sleeping and Zapper when the opponent is nearby. The wall building is based on the opponent's current direction. ++ Did extrospector do anything differently if you went first or second? not really ++ This POTM could have been better if only you had .... more free time...I wrote the first and only version while I was between jobs, and then I began my new job at a startup, which is very intense, and that was the end of POTM for me, at least for this round. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Broadbase Information Systems; San Mateo, CA; database kernel engineer; Jedi mind tricks on my daughter; ... ================================================================= ======= BELOW_TOP_16 =========== sailor === ================================================================= ================= sailor was submitted by Wieland Eckert at eckert@research.att.com ================= ++ What strategies did sailor use? Initially, it was just a runner. I hesitated to call the program ``runner'' thus it was named sailor :-)) However, I changed the strategies a little bit towards a adjuster: I try to find the opponents postition and if it is sitting at one of the borders I assume it is a zapper! Other than that I just build a few obstacles at the opponents goal since I assume that he wants to win (as I do): winning gives most points, much more than zapping alone. I thought of writing a zapper. But if the zapper would miss the opponent he is doomed. Compare a zapper and a runner: If one of them is just a little bit intelligent (i.e. not a pure runner/zapper) then the other one is done. So my strategy had to be something inbetween. But the primary strategy is to be quite quick. I hope that both the runners and the zappers will be killed quite early in the tournament :-))) ++ Did sailor do anything differently if you went first or second? Yes, when I'm second I have to build the goal blocking walls earlier. But no strategy differences. ++ This POTM could have been better if only you had .... Hmm, I think this is about my ingenuity against yours. It's about strategy, not programming art. And with strategies there is always the problem of missing just a tiny case ... How about running the tournament with different rules: everyone against everyone and summing up all points??? But I start to be blasphemous against the god of all POTMs... ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? AT&T Labs Research, recently moved from Murray Hill, NJ, to Florham Park, NJ. Working on speech dialogue systems. Fun? Who has fun???? OK, I shoot some Photos (the old fashioned chemical way, not bit-shuffling) Secrets? Find out yourself! ================================================================= ======= BELOW_TOP_16 =========== Tie_Fighter === ================================================================= Sorry ... no description available for Tie_Fighter ================================================================= ======= BELOW_TOP_16 =========== Trevlix === ================================================================= ================= Trevlix was ssubmitted by Tyler Hudak at tyler@uakron.edu ================= ++ What strategies did Trevlix use? I try to get to the home base asap, but if i see my opponent, i zap 'em to death ++ Did Trevlix do anything differently if you went first or second? nope ++ This POTM could have been better if only you had .... women in bikinis!!!!! actually, i think it was pretty good/ ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? im a systems administrator in akron oh. my innermost secret is i'm actually bill gates love child. :) ================================================================= ======= BELOW_TOP_16 =========== Sundance_Kid === ================================================================= Sorry ... no description available for Sundance_Kid ================================================================= ======= BELOW_TOP_16 =========== BlindFury === ================================================================= ================= BlindFury was submitted by Brian Schladen at schladen@itginc.com ================= ++ What strategies did BlindFury use? Runner: basic strategy is to go for the opposite home base quickly. Blaster: Assume that most strategies are going to put walls around home base and blast them before arriving to save time. Will lose every time to a Zapper if he is able to catch me. Try to zig zag around so that the Zapper has less chance of catching me. I think that I had a pretty weak strategy, the mediator beat me every time.... ++ Did BlindFury do anything differently if you went first or second? No. ++ This POTM could have been better if only you had .... More time to work on it. I stopped after about the second week. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I write software for ITG Inc., a S/W factory in Culver City, California. Play Guitar for fun. I really hate these puzzles, but cant keep away from them. ================================================================= ======= BELOW_TOP_16 =========== Potter === ================================================================= ================= Potter was submitted by Steve Robbins at steve@nyongwa.montreal.qc.ca ================= ++ What strategies did Potter use? The strategy is basically a runner. It follows a fixed, non-backtracking course to the goal location. I chose the paths by hand, sort of randomly, but making sure I didn't follow the "obvious" ones: along the edges or the diagonal. In addition, it drops exactly three walls to hinder the opponent. One on the opponent's goal, and one on each connecting square. The opponent must encounter two of them. If potter happens to bump into (HELLO) or zap (HIT) the opponent, it will continue zapping until time runs out. The adaptive bit is just this: if we run into a wall (OUCH) we switch to zap/move mode, doing a zap before each move. When a zap misses, we switch back to run-mode. Finally, in case someone drops walls only on my goal and adjacent square, (like potter does) we make sure we go into zap/move mode just before the penultimate move. ++ Did Potter do anything differently if you went first or second? Yes, the path is different; i.e. it is not the inverse. ++ This POTM could have been better if only you had .... Run the tournament in round-robin fashion, rather than single knockout. Also, in case some people use randomized algorithms, it might be interesting to run "best of X" kind of matches (for each starting location). ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? What is the question? I did it just for fun. I like these types of program-a-strategy games. ================================================================= ======= BELOW_TOP_16 =========== Wanderlust === ================================================================= ================= Wanderlust was submitted by Graham McDermott at gmcd@lucent.com ================= ++ What strategies did Wanderlust use? A sort of combination of these three..... Sleeper: stayed pretty much on your own home and built walls, etc. I stayed on my home base, using radar, walls and zaps. Zapper: tried to find and shoot your opponent I tried to detect (& anticipate) when the opponent was on or about to enter the last row or column in order to send a zap. Once I successfully zapped, I continued to zap until the end. Adjuster: tried to figure out what opponent did and adjust strategy fittingly While my opponent was wandering around the centre of the arena I tried to build walls in places they would bump into, or if they stayed still long enough I would build walls all round them Not a very complicated strategy, just looked at what direction they were travelling and built a wall in front of them. ++ Did Wanderlust do anything differently if you went first or second? Only one thing, If I went first I built a wall on H25, which they would hopefully bump into if they tried the zig-zag approach across the board. ++ This POTM could have been better if only you had .... Time. Time to come up with a better solution, time to research the problem, but unfortunately I'm trying to arrange my wedding and manage learning about a new job. ++ COMPANY? Currently Lucent Technologies, soon to be Catapult Communications. LOCATION? Wiltshire, in the UK (specifically Malmesbury). JOB? Software Engineer. DO FOR FUN? Cinema, Bowling, Softball (Badly), INNERMOST SECRET? Its a secret so I'll rot-13 it and then you can look at it only if you're interested:- Abar bs lbhe ohfvarff - ohg V znqr lbh ybbx naljnl! POTM IDEAS? ================================================================= ======= BELOW_TOP_16 =========== I_Still_Have_a_Day === ================================================================= ================= I_Still_Have_a_Day was submitted by Darren Davis at jpdavis@webspan.net ================= ++ What strategies did I_Still_Have_a_Day use? My strategy was to try to box my opponent in (for the 1 in a billion chance that they don't know how to knock down walls), to move out of my starting space vertically, and then put walls around my starting space. Then my main strategy began. There was a 50% chance of building a wall somewhere on the board, and a 50% chance that I would try to move. To move it would go randomly toward the destination by moving in the row if: 1000*y-distance-to-go/(y-distance-to-go+x-distance-to-go)<=a random number between 0 and 999. It recorded its move to the temp file, and on the next turn, if the response wasn't OK, it would zap the position it thought it was in, and would change its internal variables to its real position. The temp file contained the following information: current row (or what it thought it was) current column (or what it thought it was) number of turns of strategy used - the initial 8 turns are the same in my strategy, but if the enemy puts a wall in one of the moves, I need to zap it, and redo my move. (But I never actually TESTED that it worked) if I was player 1 or 2 a flag to determine the direction of the last turn if it was a MOVE. ++ Did I_Still_Have_a_Day do anything differently if you went first or second? No, except to move up and to the left instead of down and to the right. ++ This POTM could have been better if only you had .... Heard about it when it was announced instead of the MIDDLE OF JUNE!!! Some advice: Don't start POTM 5 days before it is due -- Even if you had to study for finals! ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Job: I just finished my sophomore year of High School, so my job is a STUDENT! IDEAS: Allowing programs to be submitted in ANY language would be nice! ================================================================= ======= BELOW_TOP_16 =========== ninja === ================================================================= Sorry ... no description available for ninja ================================================================= ======= BELOW_TOP_16 =========== Timage === ================================================================= ================= Timage was submitted by Matt Peters at mrp@acpub.duke.edu ================= ++ What strategies did Timage use? Basically, Timage was a runner. Every so often (and in fact, exactly as often as necessary, in the worst case), it did a radar, to find out if the opponent was in a threatening position. If not, it just kept moving, but if so, it switched to a "close encounters" strategy. In this mode, Timage tried to get by without getting hit, as a first priority, and maybe zapping the opponent on the way. I must admit, I goofed on my strategy: if the opponent just fired continuously, it would get me. But I was too busy (lazy) to fix it. ++ Did Timage do anything differently if you went first or second? Nope! Except for figuring the possible positions, which depended on who went first, Timage was a happy-go-lucky fatalist. ++ This POTM could have been better if only you had .... I've never been good at these questions. It would have been better if you gave a graphical Java program on the web wherein we could see our matches played, but other than that kind of unreasonable wish, I can't think of anything. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I'm an undergrad at Duke, probably a physics and comp sci major. I play frisbee, and I'm a big fan of rpg's, paper or electronic. Right now, I'm trying to learn Java. ================================================================= ======= BELOW_TOP_16 =========== LinearStochasticIdiot === ================================================================= ================= LinearStochasticIdiot was submitted by Bob Lied at lied@lucent.com ================= ++ What strategies did LinearStochasticIdiot use? Runner: basic strategy is to go for the opposite home base quickly. Randomly, it drops a wall near the opponent's goal, and infrequently it zaps, just in case it might get lucky. Movement is also random, although always in the direction of the goal. ++ Did LinearStochasticIdiot do anything differently if you went first or second? No. Making it play symmetrically was part of the fun. And way easier to test. ++ This POTM could have been better if only you had .... The POTM is a most excellent diversion, and you are to be commended, sir. ++ COMPANY? Lucent Technologies LOCATION? The Planet Bob, a small cubicle rotating in a temporary modular building around an office complex in Naperville, Illinois, USA JOB? software dilettante DO FOR FUN? basketball, classical guitar, processes for software reuse INNERMOST SECRET? Live by the words of the Tao: The master has no goals, and so everything he does is a success. (Very timely for those mid-year performance reviews.) ================================================================= ======= BELOW_TOP_16 =========== New_kid_in_town === ================================================================= ================= New_kid_in_town was submitted by Daylan Darby at daylan@baker.ds.boeing.com ================= ++ What strategies did New_kid_in_town use? Does anybody remember the APPLE ][ game "RobotWars"? Can anybody still crank up their APPLE ][ and play it? My strategy for New_kid_in_town (my first ever POTM entry) was half runner/half zapper. Basically try to make it home, but use RADAR (ALOT!) to keep track of the opponent and ZAP when appropriate. And if necessary track down the opponent and ZAP it to death. ++ Did New_kid_in_town do anything differently if you went first or second? The 99th move of the second player was always a move (A move towards home is worth more than a ZAP?). ++ This POTM could have been better if only you had .... Intermediate runs against other oppenents. I went crazy building a strategy to beat the RUNNER, then a strategy to beat the previous strategy... Eventually I ended up with a worthless strategy (against a RUNNER). ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? BOEING KENT (10 miles south of Seattle), WA Computer Security Research For fun I play with my wife and kids, design and build stuff (an addition, a deck...) My innermost secret is "Computer Bum", for which I am sorry. (If you don't understand it didn't happen to you). I like competing directly (not timewise) against other opponents. Variations on this same theme might include: 4 players (corners) at a time. Random unzappable system walls. ZAP = x engery points, MOVE = y energy points, only have Z energy points to start. A bigger board with all contestants (randomly placed) at once (no homebase radar only works in one direction at a time). 3 dimensions. Other ideas include: Number game. You give a series of numbers (or letters or words) and our program must be the fastest to determine the next in the series. Number game 2. You give a series of number (or letters or words) and our program must be the fastest to determine which number doesn't belong. Rock, paper, scissors. 3 oppenents try to win the most number of times. We each get a file to store history. This can be expanded to 0..n where x beats x-1 (0 beats n). (Similiar in strategy to the current game "what will my opponents do next?"). Limited Core war. I get randomly assigned a number between 0..n, so does my opponent. I can either move to one of 0..n or erase 0..n If I move onto or erase my opponent I win! ================================================================= ======= BELOW_TOP_16 =========== FlyingSnake === ================================================================= Sorry ... no description available for FlyingSnake ================================================================= ======= BELOW_TOP_16 =========== BountyHunter === ================================================================= Sorry ... no description available for BountyHunter ================================================================= ======= BELOW_TOP_16 =========== RAMPOtm === ================================================================= Sorry ... no description available for RAMPOtm ================================================================= ======= BELOW_TOP_16 =========== ghost === ================================================================= ================= ghost was submitted by Fan Xiaobo at fxb@csnet1.cs.tsinghua.edu.cn ================= ++ What strategies did ghost use? All the decision of which action should be taken next are based on the probability, which is relevant to the weight of every action, which is decided by many factors as well as their relations, such as the self "surplus" (the additional action which can be taken except "MOVE") and current position, the estimated opponent "surplus" and its position in history, moving direction and so on. The details are followed: 1. According to the history and last action recorded in the tmp file, and the reponse from the mediator, the newest info (surplus, position) is acquired. Because of the special effect of "ZAP", if hit, continuous "ZAP"; otherwise, goto 2. 2. Compute the weight of "MOVE", "RADAR", "WALL" and "ZAP". Here's not so much definite explaination, but the result of sense and ever-adjusting. Some relations are linear, some are not. Goto 3. 3. Generate a random number, see where it locates and take the corresponding action. ++ Did ghost do anything differently if you went first or second? Since the opponent's "MOVE I 25" is very probable, I think, if ghost goes first, it'll "WALL I 25". If ghost goes second, it'll "MOVE H 26". ++ This POTM could have been better if only you had .... The source of The_Marshall. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Tsinghua Univ. Beijing, China. Graduate. Yes. I plan to make some more complex mathematical models, for instance, the Petri Net, stochastic process and linear programming, but have no time to fulfill. May be the renju game (making five in a line). ================================================================= ======= BELOW_TOP_16 =========== Prophet === ================================================================= ================= Prophet was submitted by Matthew Jensen at who2@sfsu.edu ================= ++ What strategies did Prophet use? Sleeper: stayed pretty much on your own home and built walls, etc. At first, Prophet just built barriers around itself and sat in his corner waiting for someone to zap. I am trying to make last minute adjustments that ALMOST completely change that strategy. My only true stroke of genius working on this contest was my last defense. I'm sure someone else thought of it, but my last defense was, if the opponent was just a few spaces from winning, the Prophet would just keep sticking walls in the goal. No one wins, but Prophet racks up points as the opponent's program thinks that it has almost won. The adjustments that I've been trying to make are to facilitate the opponent getting to this last defense faster without the Prophet getting zapped at all in the proccess. Adjuster: tried to figure out what opponent did and adjust strategy fittingly If the opponent sleeps to long, the Prophet wants to move and at least make a few points. ++ Did Prophet do anything differently if you went first or second? Nope. ++ This POTM could have been better if only you had .... ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I am a Computer Science student at San Francisco State and working this summer full time for Counsel Connect which provides services for lawyers on the interenet. My innermost secret is that I worked on this contest for fun and spent WAY too much time on it. ================================================================= ======= BELOW_TOP_16 =========== XyBot === ================================================================= ================= XyBot was submitted by JT_Traub TA_Popiel at jtraub@dragoncat.net ================= ++ What strategies did XyBot use? XyBot was meant to be an adjuster. Unfortunately, Alex and I ran out of time in our busy schedules, and never completed all of the functionality. Other than that it radared every so often, and if we were within some distance of the other robot we did attempt to zap it. If we got past the other robot without shooting it, we stopped radaring (since we were 'safe') and just became a runner. ++ Did XyBot do anything differently if you went first or second? Yes, if we went first we put a wall randomly to one side of the opponent in hopes of a quick few points. ++ This POTM could have been better if only you had .... The only thing I would have liked to see would have been the seeding trials being run the same as the competition. IE: run us against the Marshall twice, once going first and once going second. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? JT Traub works for Monolith Productions a computer game design company in Kirkland WA. For work and for fun he writes computer games, and tinkers with code of all sorts, shapes and sizes. Alex Popiel works for Pensare Inc. an educational software company in Menlo Park CA. For work and for fun he writes computer games, and tinkers with code of all sorts, shapes and sizes. And yes, we're very much alike. ================================================================= ======= BELOW_TOP_16 =========== Shot-in-the-Dark === ================================================================= ================= Shot-in-the-Dark was submitted by Pat Marcell at Patrick_Marcell@isp.csg.mot.com ================= ++ What strategies did Shot-in-the-Dark use? Shot-in-the-Dark (SITD) is primarily a "Runner". It has a set sequence of states which take it from its home base to the opponent's home base as well as building walls for protection and to slow down the opponent. If SITD runs into a wall, he zaps it and proceeds according the state machine -- SITD is not smart enough to find an alternate route. At certain strategic positions on the board SITG performs "RADAR" commands. If it is determined that the enemy is closer to its objective than SITD, then SITD goes into a defense mode in which it builds a wall on its home base (the opponents goal) every other turn, as it continues to move toward its goal. If the opponent is not smart enough, it will continue a sequence of zapping and moving into the wall, giving SITD additional points and time to reach its goal. ++ Did Shot-in-the-Dark do anything differently if you went first or second? The state machines are different for going first or second, so the strategy can easily be modified to make each behave differently. However, right now there isn't a significant difference in the way I've got the state machines set up. ++ This POTM could have been better if only you had .... 1.) Started with a random wall configuration. 2.) Set a limit on the number of consecutive times you could zap your opponent before he/she could move again. 3.) Perhaps change the shape of the playing field or add some fixed barriers. 4.) Change RADAR to return list of objects (i.e., walls, opponent) within a certain range of current position. 5.) Make running into a wall send the person back some number of spaces. ++ COMPANY? Motorola LOCATION? Libertyville, IL JOB? Software Engineer for Iridium Cellular Infrastructure Group DO FOR FUN? Golf, fish. INNERMOST SECRET? If I told, it wouldn't be a secret. POTM IDEAS? How about a board game like chess, checkers, or othello? ================================================================= ======= BELOW_TOP_16 =========== Blind_Mans_Bluff === ================================================================= Sorry ... no description available for Blind_Mans_Bluff ================================================================= ======= BELOW_TOP_16 =========== levinb === ================================================================= Sorry ... no description available for levinb ================================================================= ======= BELOW_TOP_16 =========== zigzag === ================================================================= Sorry ... no description available for zigzag ================================================================= ======= BELOW_TOP_16 =========== Lazy_RISC === ================================================================= Sorry ... no description available for Lazy_RISC ================================================================= ======= BELOW_TOP_16 =========== StateWarrior === ================================================================= ================= StateWarrior was submitted by Rick Dickinson at rtd@notesguy.com ================= ++ What strategies did StateWarrior use? StateWarrior was basically a runner, but also did some wall-building and radars. If it thought that the opponent was close enough, it would try to shoot. I implemented a six-stage state machine, thus the name. The sequence of actions was as follows: 1. Move 2. Move 3. Wall 4. Move 5. Radar 6. Move At each step, if all was "OK", I would first check to see if I should try to zap, and, if not, I would take action according to the current state. Moving was done with a 25% chance of going in the X direction (A-I), and a 75% chance of moving in the Y direction (1-26). If one way was blocked, the other direction would always be picked. If both were blocked, I would pick a direction to zap according to the same percentages. Wall building was completely random -- I just picked an X and Y and dumped a wall there. One out of every 6 turns was spent "RADAR"-ing, to update my opponent's position. To check if I should Zap, I added together the minimum (X or Y) distance to the opponent (last time I knew where he was) and the number of turns since I saw him, picked a random fraction, multiplied by the total, and, if it was < 1, I tried to Zap. If the difference in X coordinates was smaller, I tried to zap in the Y direction, and vice versa. Looking back on my code, I see that I always tried to zap towards the destination, even if the opponent was behind me.... I should change that (and probably will before the finals). ++ Did StateWarrior do anything differently if you went first or second? The destination was different, but the algorithm was identical. ++ This POTM could have been better if only you had .... I have never programmed in Java before, so I had a number of syntax issues to overcome. I spent quite a bit of time getting my program to compile that I could have been using to improve the strategy. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I work for Enterprise ArchiTechs, a Lotus Premium Business Partner specializing in messaging and groupware solutions. We're located in California, from San Diego to the San Francisco bay area. I, personally, am a Senior Consultant, and work and live in Burbank. I've written several articles for the Lotus Notes Advisor magazine, and really love my work. For fun, I like to program.... I also have a love for folklore and urban legends, and am a member of the San Fernando Valley Folklore Society, and try to keep up with the usenet newsgroup alt.folklore.urban. I'm currently teaching myself Java (about my 10th or 12th programming language), and plan on becoming Sun certified by the end of the summer. My innermost secret? Hmmm.... I don't know if it's a secret (my wife would argue that everyone knows it), but I tend to go overboard when I start learning something. It consumes all of my free time until I master it, and then I start looking for something new. I tend to not get much sleep when I start on something new.... As far as ideas for POTM contests, I like the idea of actual head-to-head competition. Projects like the current one, where our programs can duke it out against each other, are very good. Maybe a competition where we play checkers against each other or connect-four or Pente or something would be fun. Or, how about writing programs to play poker or blackjack? The moderator program could deal the cards, and our programs could decide which cards to keep or discard, how much to bet or raise, or, for blackjack, how much to bet, whether to hit or stand, and whether to split or double down. Blackjack might be a good one -- we each could start with a fixed dollar amount, say $1000. The moderator could play the dealer, using Vegas rules. Up to 6 players would be at each "table", and we could play 100 hands. The top however many at each table would move on to the next round, and play the winners from other tables.... - Rick "Or how about playing Gin?" - Rick ================================================================= ======= BELOW_TOP_16 =========== Iyriasi === ================================================================= Sorry ... no description available for Iyriasi ================================================================= ======= BELOW_TOP_16 =========== Terminator === ================================================================= ================= Terminator was submitted by Bill White at cosc002d@frank.mtsu.edu ================= ++ What strategies did Terminator use? Runner: basic strategy is to go for the opposite home base quickly. Terminator ran for the target, blasting anything it bumped into. ++ Did Terminator do anything differently if you went first or second? No, he's quite a lame strategist. ++ This POTM could have been better if only you had .... Spent more time on it! Had to abondon it after the first attempt. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I'm a computer science graduate research assistant for the University of Tennessee Space Institute. I most enjoy discovering new aspects of computer science; consequently, much of my time is spent programming or reading about programming. Currently, my focus is on scientific visualization of multivariate datasets. Any remaining time is spent at Far East Chinese Restaurant! ================================================================= ======= BELOW_TOP_16 =========== bababooey === ================================================================= ================= bababooey was submitted by John Saalwaechter at saalwae@host1.in-motion.net ================= ++ What strategies did bababooey use? Bababooey is a runner. Hopefully before the finals I'll submit the changes so that bababooey starts watching his opponent and and building walls if the opponent gets too close to his objective. Otherwise bababooey simply runs for his target, zapping walls that he finds in his way. ++ Did bababooey do anything differently if you went first or second? No. ++ This POTM could have been better if only you had .... More elaborate commands... ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I'm a unix analyst/admin in the Indianapolis area. I'm surprised that I haven't ever seen a potm entry done in LISP. I think I try to convince Fred to provide it for the next contest. Actually, perl is my first love, but I wouldn't mind lisping a little. ================================================================= ======= BELOW_TOP_16 =========== Sandman === ================================================================= ================= Sandman was submitted by William Stubbs at wstubbs@uow.edu.au ================= ++ What strategies did Sandman use? Zapper: tried to find and shoot your opponent Assuming that the other player actually tried to make it to the goal zone then you have to cross paths at some time in teh x or y axis. Sandman's strategy was to wander forward toward the goal and scan any time it was possible that on teh next turn the opponent could lie on my x or y. If this was the case then id zap in that direction and if i made a hit zap until the game ended. If the opponent wasnt in the way then continue moving forward toward the goal and mark the least scan time before they could be in my x or y again ++ Did Sandman do anything differently if you went first or second? Hehehe, Since i didnt really get much time after the initial testing sandman doesnt even KNOW there is a first and second :( He just happily thinks he always starts at A 1. See next point for an explanation. ++ This POTM could have been better if only you had .... If only i had not been studying my final session for a Bachelor of Comp Sci and also trying to hold down a full time job. Free time vanished after the initial evening that i wrote sandman.. His total development time was around 90 minutes. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Job: Systems Operator (Uni of Wollongong Australia) (ex student (YES!)) Fun: Taking on the RSA with the RC5 challenge (http://rc5.distributed.net) Secret: Yep its exactly that potm: Im mostly new to all of this but i like the idea of competition between potm'ers than the solve xyz puzzle. Just imho of course.. but competiton always gets the participation rates soaring =) Grab some board game and make us do the AI, battleship, connect 4? etc shrug Looking forward to the next potm as i dont have that study thing eating into my free time =) ================================================================= ======= BELOW_TOP_16 =========== Elmo === ================================================================= ================= Elmo was submitted by Gerald Williams at gsw@lucent.com ================= ++ What strategies did Elmo use? Elmo is more an exercise in style than in substance. The first incarnation was as a simple runner. What made Elmo unique is that it was implemented in just a few minutes using about 20 lines of Tcl code. In fact, here is an 11 line (rather unreadable) version: proc p {c} {switch $c B {return A} C {return B} D {return C} E {return D}\ F {return E} G {return F} H {return G} I {return H} default {incr c -1}} proc n {c} {switch $c A {return B} B {return C} C {return D} D {return E}\ E {return F} F {return G} G {return H} H {return I} default {incr c}} gets stdin inp; if {[lindex $inp 0] == "INIT"} {set m [lrange $inp 1 2] if {[lindex $m 0]=="A"} {set t {I 26}; set d n} else {set t {A 1}; set d p} } else {source $argv; if {[lindex $inp 0] == "OK"} {eval $try}} if {[lindex $m 1]==[lindex $t 1]} {set to [lreplace $m 0 0 [$d [lindex $m 0]]] } else {set to [lreplace $m 1 1 [$d [lindex $m 1]]]} set try "set m {$to}"; puts "MOVE $to"; set f [open $argv "w"] puts $f "set m {$m}\nset t {$t}\nset d $d\nset try {$try}" The current incarnation of Elmo is what I'll call a "scared runner"--it heads straight for the opposite corner until the opponent MIGHT be getting close. If RADAR determines that the opponent might be able to get a shot off soon, some walls are built, then Elmo attempts to move past. Whenever anything unexpected happens, Elmo starts blasting away. This version is actually quite vulnerable to a persistent runner or ZAPPER...c'est la vie. If Elmo ever does manage to ZAP an opponent, it just keeps ZAPPING, rather than possibly giving the opponent a chance to ZAP back. ++ Did Elmo do anything differently if you went first or second? Elmo is far too simple-minded for that. ++ This POTM could have been better if only you had .... More time to try out strategies, I guess. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I work at Lucent Technologies (Bell Laboratories) in Allentown, PA. I am currently developing assemblers and similar tools for programming fixed- point DSP's (borrowing on our slogan, I make the things that let YOU make the things that make communication work). Between working on my master's degree, various sports, traveling, and owning a house, I have very little time for "recreational programming" like this. ================================================================= ======= BELOW_TOP_16 =========== tihSbmuD === ================================================================= Sorry ... no description available for tihSbmuD ================================================================= ======= BELOW_TOP_16 =========== Bozo_II_The_Headache === ================================================================= ================= "Bozo II - The Headache" was submitted by Scott McCord at scotti@cs.unlv.edu ================= ++ What strategies did "Bozo II - The Headache" use? E) Other Eighteen lines of the best code I've ever written - and that includes comments! No, it doesn't use any files! Yes, it plays equally well as either player 1 or player 2. Speed is the key here. If you can make moves very quickly, your opponent won't have time to think about his current position and will be more likely to make mistakes. It worked for Deep Blue against Garry Kasparov. I chose not to use files in order to reduce both my code size and execution time. As we all know, I/O (especially to disk) is EXTREMELY slow. Considering that a minimum of 1 disk read and 1 disk write would be required per move, I found this to be an unacceptable performance hit. Instead, I chose to build a bullet-proof state- machine. Since HELP reports back your current location, I use HELP in order to decide where to move. This is much (MUCH) faster than retrieving that information from disk. I estimate that my execution time is orders of magnitude faster than the typical POTM entry. I have every confidence that this will translate to eventual victory in the tournament. In addition, I have the added edge of having the smallest source and executable codes as well as the quickest running time. If I get into a tie-breaker situation, these could be a factor. I realize that Bozo hasn't fared well against The_Marshal. Although I have been able to make some improvements (my original loss by more than 2,000 has been trimmed to under 1,500 - a 25% gain!), I fully expect that Bozo will clean up against opponents that aren't prepared for the fast-paced tempo that Bozo delivers. Making it into the final 4 is fully within the realm of possibility. On the other hand, I've studied the results that Fred has sent me and I'm convinced The_Marshall is doing something that is fundamentally brilliant. Fred has made numerous claims to be not much of a coder, but I know differently - Bozo vs. The_Marshal proves that Fred's coding borders on genius at the very least. Since my code is so small, I've included it for your benefit. Notice that my array, s[], is of size 192. This allows it to fit perfectly within word boundaries on machines with word sizes of 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, and 64 bytes - a further optimization and portability feature that is often overlooked. - - - - - - - - - - /* POTM Entry: Bozo_II_The_Headache */ /* 18 lines of the best code I've ever written. */ /* Scott McCord (scotti@cs.unlv.edu */ #includevoid main(int argc,char*argv[]){ char s[192];gets(s); if(s[0]!='I'&&s[0]!='L')printf("HELP\n"); if(s[0]=='I'&&s[5]=='A')printf("WALL B 3\n"); if(s[0]=='I'&&s[5]=='I')printf("WALL H 24\n"); if(s[0]=='L'&&s[4]=='A')printf("MOVE B 1\n"); if(s[0]=='L'&&s[4]=='B'&&s[6]=='1')printf("MOVE B 2\n"); if(s[0]=='L'&&s[4]=='B'&&s[6]=='2')printf("MOVE B 3\n"); if(s[0]=='L'&&s[4]=='B'&&s[6]=='3')printf("MOVE B 2\n"); if(s[0]=='L'&&s[4]=='H'&&s[7]=='4')printf("MOVE H 25\n"); if(s[0]=='L'&&s[4]=='H'&&s[7]=='5')printf("MOVE H 24\n"); if(s[0]=='L'&&s[4]=='H'&&s[7]=='6')printf("MOVE H 25\n"); if(s[0]=='L'&&s[4]=='I')printf("MOVE H 26\n"); } ++ Did Bozo II - The Headache do anything differently if you went first or second? No. It plays both sides identically. ++ This POTM could have been better if only you had .... This POTM could not have been better. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? Company: Nevada Power, Las Vegas NV. Software - Lotus Notes, Oracle. Fun: Get out of town. Inntermost Secret: I'm really a lesbian. POTM Ideas: None ================================================================= ======= BELOW_TOP_16 =========== BrainDead === ================================================================= Sorry ... no description available for BrainDead ================================================================= ======= BELOW_TOP_16 =========== Road_Runner === ================================================================= ============================================= Road_Runner was submitted by Robert Morrison at rhmorrison@compuserve.com ============================================= ++ What strategies did Road_Runner use? Runner: basic strategy is to go for the opposite home base quickly. Specifically, Road_Runner goes directly to the exit square using a straight line (yet random) path to reach the square. This means that the random function is so weighted such that 17/25 of the time it will move horizontally, the other 8/25 of the time vertically, and always towards the goal. When enough moves have been made such that the opponent could be close to his exit three walls are thrown up (two directly next to the exit and one right on the exit). Should Road_Runner crash into a wall he attempts to force his way thru by zapping the wall and trying again. Road_Runner vs Road_Runner will always result in a TIE with each player receiving exactly the same number of points. ++ Did Road_Runner do anything differently if you went first or second? No, this was a FIRST ATTEMPT and after I realized the winner is going to be a zapper program I just lost interest... ++ This POTM could have been better if only you had .... More powerful commands. A scan command should not cause the program to give up his turn. The ability to scan at any angle, and more info. The ability to shoot at any angle, etc. I feel that the capabilities of the robots were just too simplified to make for any interesting algothims that have any chance of winning. Take a look at C-Robots or P-Robots. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? I work for Hitex Systementwicklung GmbH in Karlsruhe, GERMANY. I enjoy playing Chess, Tennis, working on the computer, POV RAY, watching movies and reading Science Fiction. I am an avid Star Trek fan and just can't wait to see "The Men in Black". ================================================================= ======= BELOW_TOP_16 =========== lance_alot === ================================================================= Sorry ... no description available for lance_alot ================================================================= ======= BELOW_TOP_16 =========== HighNoon === ================================================================= ================= HighNoon was submitted by J.Eddings V.Groh at jeddings@ix.netcom.com ================= ++ What strategies did HighNoon use? -- Two-pronged strategy: If I started at A1, Runner. If I started at I26, Zapper. I figured I would kill two birds with one stone. ++ Did HighNoon do anything differently if you went first or second? -- See above. ++ This POTM could have been better if only you had .... -- Me personally? Built more "smarts" into my program. The program I submitted was quite straight-forward. I wanted to get a working model to a point where the smarts could be dropped in easily. But my job at work ramped up, and became difficult to devote much time to. ++ COMPANY? LOCATION? JOB? DO FOR FUN? INNERMOST SECRET? POTM IDEAS? -- I work for Silicon Valley Internet Partners (Foster City, CA). I'm an Internet consultant, and for fun, well, I do this. Program, play around with my Linux box, read. My innermost secret? One word: BOSCO. 8) POTM Ideas: Rat-in-a-maze learning program (set up an ASCII grid maze, and work through maze.) Thanks for the great fun! Keep up the good work! =================================================================