Posts tagged positive
Robocup Soccer
Feb 14th
I was talking to Michael Bowling yesterday on the train and somehow the topic of his experience in robocup competitions came up. He’s got lots of great stories about the odd things that happen at these competitions, and it’s always really cool to talk to him about his experiences. In this conversation, I had my own experience to talk about. You see, in CMPUT 366 a few years ago, our introductory course on AI held a robocup simulation tournament. For those who don’t know, robocup is the robot soccer competition, and it has many tournaments from a simulation based league to actual robots. Since this was an AI course, we were concentrating on the AI side of things and thus robots didn’t come into play. I figured that since it’s an interesting subject, I’d talk a bit about how I approached the problem and maybe give you an idea of what it is like to work in AI.
First of all, AI research is a whole lot more glitzy on the outside than it is internally. From the outside, game playing programs like Chinook and Deep Blue were able to make intelligent looking moves. On the inside though, the programs were unintelligently exploring millions of game states looking for the best move. So while I describe my approach to the soccer playing program, keep this in mind.
The tournament was run using a copy of the actual robocup simulation program. The simulation runs as follows: A server is started up that keeps track of where each player is, where the ball is, what the score is, etc. It enforces rules such as offside, and returns players to their half of the field after someone scores a goal. The server communicates with the programs that we, the students, wrote for the players taking in the actions that each player on the field makes at each timestep. One of the things that made this project a little difficult was that the actions the players were allowed to do were not very well documented and each student had to spend some time getting used to the interface to build their soccer playing program.
Each student was provided with a sample program that played elementary student style — all players run towards the ball and kick it towards the opponent goal. My expectation was that many students would not build programs that were much more complicated than this style. So my goal was to be able to beat that program reliably first.
I spent a great deal of time examining the documentation that did exist for the simulator, and stumbled across a very interesting piece of information about how goaltenders had a special ability. Apparently, the simulator allowed the goalie to ‘catch’ the ball, and then teleport to another spot in the crease area. I spent several hours figuring out just how to get this to work, and succeeded after not too long. This was the biggest step I made in beating the “swarm the ball” type teams. Since the goaltender was now capable of teleporting to the other side of the goal and kick it down field, I had an easy way of getting the ball away from a large number of players in a concentrated space.
Now that I had my defensive position setup, I had to figure out a good way to generate some offense. Due to time constraints, and my doubts on getting a slick system working with no bugs, I decided to avoid complicated and potentially dangerous attempts to getting real communication and passing between players. Instead, I decided to try building in a heuristic-like system where players would tend to stay in their parts of the field unless the ball came near by. I had a set number of “forward”, “defense”, and “midfield” players who each had a home location. Next, to simulate passing, I had the defensemen kick the ball upfield at an angle towards the sides of the field (and incidentally where a player’s “home base” was). Kicking to the sides of the field meant that the opponent players who clogged up the center of the field wouldn’t intercept my “pass”.
After I had this system working, my team looked strikingly intelligent. They’d clear the ball upfield down the sides (a lesson I learned from floor hockey), players looked very much like they were passing to one another, despite the lack of real communication. The players were blindly kicking the ball towards a place where another player tended to be. But most of the time that player had no reason to be elsewhere so he was there to retrieve the ball! Probably the least intelligent looking part of my end product was the finishing touch: kicking the ball into the net. At that point, my forwards behaved almost identically to the “swarm-the-ball” type players … except that there wasn’t nearly as many of them. So if my opponent had a good defensive position, I had trouble scoring on them. Unfortunately, I didn’t have time to figure out how to improve that before the tournament started.
I did quite well in the tournament. The tournament was organized into 2 parts: a round robin seeding and then a bracketed finals system. I won my pool fairly handily which meant that I got a decent starting placement in the brackets. My program reached the quarterfinals before getting knocked out – which was a pretty happy result for me considering the size of the class. I think if my program’s offense was tweaked a little more, I would’ve gone a little further.
The winning program? His strategy was almost a purely defensive strategy. He had a goalie and at least one other player sitting around the goal protecting it. Teams had a really hard time scoring on this program. The games were low scoring affairs, since this program had less players to form an offensive attack. Still, since players lacked offensive prowess, the defensive strategy was the right way to go for this tournament.
So … that’s what it is like to work on a program’s AI. At least, that has been my experience with it. The later projects I’ve worked on, such as the Hex project and the Poker project have introduced much more complexity … but underneath the bright shiny hood of AI is an ugly mess of hacks and unintelligent heuristics. Still, you can’t argue with results, can you?
Heraldk
Poker Rush
Jul 10th
Well I’m glad I decided to play some poker tonight. I got home a little late from school since it was raining really hard and I didn’t really want to get poured on on the way home. When I finally got home, I threw some laundry in and decided to fire up full tilt and play a little 2/4. I ended up over $300 in the space of maybe an hour and a half! (two tables). This was a big relief – I have been having a pretty poor couple of weeks at the tables, so it was nice to hit some cards again. My profit in online gambling has been coming from online casino promos. I cashed out over $700 from casino-on-net on only a $200 deposit (yeah, that’s $300 on top of the $200 bonus!), and got a nice win at Intercasino as well on a nice reload bonus. It is this money that will be funding me when I go to Foxwoods in a little over a week!
Oh yes! I think I mentioned previously that I will be going to Boston and New York this month. I leave on Saturday morning (at 1:00 am so essentially Friday night). AAAI is being held in Boston and we have a paper there to present. Then a few of my friends and I are going to go to New York with two of us stopping at Foxwoods on the way there for a night. I’m looking forward to giving some live poker a try. I haven’t played any real live ring game poker before this, though I do have my half a dozen or so live tournaments I’ve played in. It’s pretty exciting! Then we’ll spend a week in New York returning on the 27th.
In other news, my thesis is starting to take shape in my head if not on paper. I have an outline that I think will help organize my thesis a little better. In other research news, the paper Darse and I submitted to the ICGA special issue on poker has been accepted! The reviewer was pretty positive about the paper and his suggestions were all helpful in helping make the paper a little stronger. Yay! Soon DIVAT will take over the poker world! (We think its powerful enough to anyways).
Do pay attention to my photoblog. I plan on adding a flurry of photos in the next week to pre-emptively make up for missing a couple weeks of updates while I’m gone. Enjoy! I’m pretty happy with the set I’m going to upload … soon!
Heraldk
Torino Journal: Day Four and Five
Jul 6th
Yup, my journal is coming slowly but surely. Soon, I’ll find myself catching up on my boston/new york journal! Uhoh…
For previous entries in my Torino Journal, see Day One, Day Two, or Day Three
We got up the next morning for the first day of the conference. The conference was held at a different location than the olympiad so we needed to find our way to a new location. Unfortunately, we got turned around and missed most of the first talk. The conference was held in a really cool room with two statues at the front of the room. It totally didn’t feel like a place you’d attend classes, but I gather that’s precisely what one does if taking classes at this university.
The room was situated in a building which had an inside courtyard. In fact, there was quite a blurry line between inside and outside. As soon as you step outside your room, you may have a roof over your head, but the balcony you happen to be on is filled with fresh air from the outdoor courtyard. The building was totally beautiful and I wandered around the area taking photos of the various statues that lined the walls of the area (during breaks of course!).
After the morning conference talks were over we traveled down the the oval to begin the olympiad (making a quick stop for lunch). After making a couple preparations, we thought we were ready. We beat the Australian program with no real trouble in those two games, but then we lost two games against the champion from the last olympiad. Argh! It turned out we had a couple of rather embarassing bugs. Frankly, none of us really could believe that we had missed them. Oops! Shows the need for some real play testing hmm?
After the competition we madly tried to fix the bugs. They were really dumb, but also quite elusive and took us a long time to solve. By the time we had tracked down the problem it was quite late so we decided to return to our hotel room. Once there we left to get some food and that outing turned out to last quite awhile as we enjoyed quite a bit of red wine, and some tasty Italian cuisine. I wish I could get late night food like that here in town!!
We got back to our hotel really really late, but still had to fix the problems we had discovered. Argh! We ended up crashing before everything was fixed, and the next morning missed the conference as we attempted to get the program up and running in a state we were comfortable with. Turns out that didn’t really happen.
Finally we had to return to the oval so we packed up our program, and headed down there. The competition started up and we lost our games to the champion ensuring that we were fighting for 2nd place. Easy, we thought …
Turns out that the Australian program had a learning algorithm in it and it was much tougher after playing the other games during the tournament. Our program was a little shaky, and we actually lost the first game against the program! Uhoh. We played the next game, hoping to win so we could avoid a playoff to decide the winning program. At this point we were pretty tired and really didn’t want to spend that night looking at our program and getting it ready for a playoff!
Our program looked to have a good start, but then it got itself into trouble. Enough so that it actually figured it had lost the game. Thankfully, the part of the code that handled playing “tough” moves in a lost position saved our bacon as the other program didn’t realize it had won (it wasn’t a trivial win) and messed up so we were able to recover and win the match. Whew!
Having got past that scare, we journeyed a little ways to another little restaurant for dinner which served us another wonderful meal. Boy were we ever being spoiled with good food!
We returned to our hotel room to relax and play some cards. Then we fell asleep tired, but ready to get some rest for the next day which we planned to go see some sights!
The conclusion to my journal comes next time!
Heraldk
Torino Journal: The Trip and Day One
Jun 4th
Alright, I’m finally sitting down to chronicle my trip to Italy. I’m going to do this is one-day size segments so that a) you’ll have less text to read for a given entry and b) I’ll have less text to type all at once! A win-win scenario as it were.
Our flight was scheduled to leave at 2:00 pm on Thursday May 25th from Edmonton International Airport. Our itinerary looked like this (all times local to that location):
May 25th, 2:00pm Edmonton: Depart for Vancouver; arrive 2:34pm
May 25th, 4:05pm Vancouver: Depart for Frankfurt; arrive 10:55am (26th)
May 26th, 4:20pm Frankfurt: Depart for Turin; arrive 5:35pm
Yup – that’s an ugly 5 hour layover in Frankfurt airport. Ick.
On the day that we left, I stayed home in the morning and packed up the last of my stuff. My whole family came over to my place and met me along with Diane. We talked for a bit, and then my Mom went off to work and the rest of us went down to the airport where we met up with the rest of our Hex research group: Broderick, Phil and our supervisor for the project: Ryan.
I checked in my bags which was a suprisingly quick procedure. I also purchased 100 euros at the currency exchange counter so that I would have some cash to spend on the trip (lots more convenient than credit cards). I probably paid more than I would have at the bank, but there wasn’t a lot I could do about that.
Before I knew it, I was saying some hurried good byes and I lined up with the rest of the group for passing through security. Its an odd feeling going through security – I know its a required procedure, but it totally makes me feel like I’ve done something wrong. That, and I got this paranoid feeling of “oh no, is there anything in my bag they might confiscate?”. Really there was no reason to worry, but I’m not sure if there’s any way to shake those feelings.
We waited at our gate for the boarding call. In the meantime, I opened my laptop and to my surprise there was free wireless internet access. After the remainder of my trip, I wonder now whether it will last very long like that. Its not free anywhere else!!!
Our boarding call came so I stepped on the first airplane I’ve been on since high school when I went to Toronto for a week. I’m not scared of flying or anything, but its a bit of a weird feeling stepping on an aircraft that will shortly be thousands of feet above the ground. Maybe its just me.
The flight was very smooth and fast with nothing really out of the ordinary happening. Broderick, Phil and I played a game of crib and before we knew it we were landing in Vancouver. We wandered around a bit there and Broderick picked up some food to eat before proceeding to our gate. The plane we got on after the boarding call came was *huge*. I guess that’s the size of the aircraft they use to transport people overseas, but I was a little taken aback by the large number of seats.
We got ourselves settled near the back of the airplane and before we knew it our long flight was in progress. My strategy here was to try and sleep a little bit on the flight so I could be prepared to spend a whole day awake in Torino followed by crashing at the end of the evening. This plan would work out fairly well.
Our flight was with Lufthansa – which I get the feeling is a really big company. The best part of this airline? Free beer. Oh and baileys and cognac after the main meal too! The food wasn’t terrible, though breakfast was a whole lot tastier than dinner I thought. I might’ve got roughly 2 hours of sleep, but it wasn’t a very deep or restful sleep. Once I woke up from that, I gave up and proceeded to get some caffinated beverages to wake myself up and get myself ready for a day in Frankfurt and Torino.
We arrived on time in Frankfurt which is a *very* large airport but also a very dull place. We wandered towards our gate which was in the next terminal over. Finding it, we pondered a bit what we’d do to pass our time in the next few hours. Broderick, Phil and I played some cards (poker with go stones as chips) and Ryan spent some time looking at hex positions from the last olympiad. We got a little hungry so we wandered around and spent some our first euros on some pricey airport food. Nothing too special about them – but Broderick bought a glass of coca-cola … a pricey €3.00 price (about $4.50 canadian) for what turned out to be a tiny little glass of fountain pop. “Never again” he said, and I was quick to agree!
Our layover finally ended and we boarded the last plane. I got a window seat, which turned out to be a real blessing. I nearly fell asleep, but I woke right up when the clouds cleared and I got an awesome view of Torino as we descended into the airport!
We got out and stretched our legs. We then found an information booth and found out that the best way to get into town was a bus. So we bought some tickets, picked up a map and hopped on the bus. Not long afterwards we got off (at a point in the city that I cannot remember). Consulting our new map we found where we needed to go and finally wandered in that direction. The walk took a good 45 minutes to an hour and by the time we got to the hotel we were exhausted, hot, sweaty and ready to crash … but also starving.
After checking into our rooms we went down the street a block and had our first authentic Italian food in a little neighbourhood Italian restaurant. The food was awesome! We had some brushetta, some pasta and some house red wine. Mmmm tasty! We left happy and satisfied and went to our rooms where we prompty crashed.
Okay – enough text to read? I’ll post Day Two’s adventures as soon as I get a chance!
Heraldk
Oilers Make the Playoffs!
Apr 13th
Its been an up and down season for my beloved Oilers. At times it has been damn frustrating to watch the team choke against weaker teams. At others, we seem to pull out all the stops and are able to come up with a big win here or there. They just never seem to make it easy on themselves. They’ve got a lot of talent, and there really should be no doubt that they make the playoffs.
If only it were that easy.
Tonight was the 2nd last game of the season. Thanks the Shark’s beating the Canuck’s last night, it put us in the position to win a playoff spot – if we won our game and Vancouver lost.
Let me just say that the game was a little stressful. To my eye, the refs seemed to miss several penalties. Oh well! The game went down to the wire (which so many of our games seem to) and Ales Hemsky scored the winner with 30+ seconds left to play. A little scoreboard watching later, and San Jose beat Vancouver 5-3. So we’re in!
I’m hoping to be able to get to at least one of the playoff games this year. Tickets are gonna be in high demand though, so it’s going to be really hard to even get one pair of tickets. *sigh*. Wish me luck!
But we’re in! Yay!
+EV blackjack!
Apr 11th
Well, this weekend was interesting on the gambling front.
First of all, a guy on the PSO forums noticed that PokerNow has closed down permanently and offered players to transfer the remaining money that they had at PokerNow to an existing party poker account. The great part of this was that he and several people were transfering totals of less than a dollar to party poker and getting $25 and $50 bonuses! So I decided to try this to see if I had any money left in that account. I had $0.01, and transfered it. I got a $50 bonus! I’ve got to play 500 hands to clear it which shouldn’t take long. I’ve already made $20 playing the super loose .5/1 games.
Second, I decided to try a second casino promotion. For those who don’t know, these promotions can be positive EV if you get a large enough deposit bonus and the requirements don’t require you to play too long. My first promotion didn’t go so well … I lost my $100 deposit … and +EV or not, these promotions still have risk because the variance in a lot of these games are huge. I was still intrigued by the idea of +EV casino games, so this weekend I tried Golden Palace’s 300% deposit bonus. This time, after a few hours of blackjack, my account reached $290 from my $100 deposit!
So I’m up $90 in casino promotions. It was pretty fun, and a nice break from poker. I really think I needed a break from poker since the past little while has been a tad frustrating.
Heraldk
Poker League
Feb 27th
Well yesterday was an interesting poker day.
I played some 2/4 limit at Ultimate Bet for a very short time, losing far more than I really liked (some $150). I just couldn’t have my good hands stand up or when I had a good hand someone had a better one. Bleh. So I quit and played xbox for awhile. I started playing Jade Empire this weekend, and I’m really enjoying it so far!
Then, at 7:00, PSO had their 2nd league event. Unfortunately, I had to miss the first one. Last night I got extremely lucky at some pretty key moments. Early in the tournament, I busted a guy when I flopped a set of Jacks to his pocket kings. I’m a little surprised he called my all-in bet on the flop, but I was happy! After that, I started to bleed chips for a long time. With about 70 people left out of the 130 that entered, I was in the bottom 20 people or so, and just trying to survive. Then I went on a tear – stealing the blinds with decent hands like AJ and KQ. These hands pushed me up to 3rd in chips at one point.
I collapsed later on – I can’t quite remember what the hands were, but I lost a bunch of chips and then I mistakenly called a guy’s bet when I meant to fold. Oops! That’s a lot of chips to lose on a misclick. I was once again near the bottom of the totem pole, this time with 30 people or so left. I pushed with 53s in the BB (since I had no chips left), and hit two pair on the river. *whew*. Another double up and almost double up from there and I was golden to make the final table.
Once there, the table was real tight. Understandably since the top 3 get much larger prizes (since PSO was topping up the prizes of the top 3 finishers with PSO points). I stole some blinds to stick around my 6th largest stack (out of 9). Then, a guy raises in early position with KQ and I hold tens. I thought about it, and pushed. The guy calls (I think this is a terrible call), and hits a king on the river.
I’m out in 8th for an $18.08 payout. Yippee.
Still, its not a bad spot to be in. The idea for the league is to count your best 6 finishes in up to 10 tournaments. Your average place then becomes your score and the person with the best overall score (lowest) wins a $1500 prize package to play an event at the WSOP. That would be sweet.
So … 8th is a pretty good spot. If I can do similarly in 5 more league events, I’ll be golden to finish in the top 3 for sure (if not first). Wish me luck!
Heraldk
Politics
Feb 9th
Lets take a moment shall we and discuss politics?
Normally I wouldn’t do this, but the latest outbreak on the federal politics stage has *me* fuming … and I don’t even live in the riding in question!
I’m sure you’ve all heard by now about Mr Emerson crossing the floor from liberal to conservative to accept a cabinet position. He did this before the parliment even sat ONCE!
Frankly, I don’t agree with the idea of MPs changing parties. If you’re an elected official in the Canadian government, then you were elected because the constiuents in your riding decided that they like you and the party platform you were representing. When someone crosses the floor, they are dropping the platform they were voted in on and picking up a different platform that is likely very different!
Now, under extenuating circumstances, there may be a case where the MP thinks that his constituents no longer fall into the same platform as the party they belong to. But Emerson hadn’t even sat down in the house of commons yet to see anything like this! He was purely drawn for the cabinet position being offered.
He’s arguing that he gives his riding more of a voice by taking this position. The trouble is – what sort of voice is that? Is he going to push liberal platform choices on the cabinet? Or has he adopted the conservative platform? Because I’m sure his constituents are going to be really happy about that!
Brutal.
But what really gets me is not just that he had the audacity to make this move. He also claims that he’s surprised that people are outraged at it! Come on now, what did you really expect? Cheers from the masses? Riiiight.
It makes me shake my head.
Heraldk
Alberta Poker Championship Tournament
Jan 26th
I mentioned a little while ago that I had won a satellite some friends and I put on to enter into one of the Alberta poker championship tournaments. It was a $200+20 affair, and it was last night. The summary is … well, I did well, but didn’t make the money. There was ~133 people in the tournament with the top 15 places paying out.
It didn’t take me too long to get comfortable. The play was not amazingly good, and I picked up a lot of pots with my tight aggressive play. People respected my raises, and I continued to pick up a decent hand once in a while. I doubled up about halfway through with pocket kings. First guy min-raises and I come over the top for all my chips. He calls (I think he thought I had a smaller pair and didn’t want a call) and flips over pocket Jacks.
I took out a guy with 92o in the BB when I caught two pair and put the short stack all in. A few rounds later, I took another short stack out with 73o when he went all in and gave me 5:1 pot odds to take him out (I made a flush on the river with my 3 of spades).
Then I ran into a very dry run of cards. At that point in the tournament I had an above average stack, though not a huge amount above average. Probably around 24,000-25,000. Now I know that I played a little too tight, but its a little hard to make a big raise with Ace-rag from early position (I never got an ace in late position) … and that was about as good as the hands were. I saw 75o several times, and worse hands than that … and all the while the blinds and antes rose at a phenomenal rate. Over those rounds, my chip stack dropped to 16,500, and I just couldn’t find a hand to play. Then comes the hand that I kinda wish I had played differently.
I have 16,500 in chips. Blinds are 700/1500, with 200 antes. UTG raises to 3000, and then UTG+1 re-raises to 8000. I’m in the big blind and look down at TT. What do I do? I’m scared of the raise-reraise thing. The player UTG could well have a monster with his minraise. A re-raiser has got to have something, and its likely AK or AQ at a minimum (if not JJ, QQ, KK or AA). Both players have similar chip stacks to me. I think one of them outchips me by a couple thousand and the other has a couple thousand less than me. If I call, I’m pot committing myself … and the initial raiser still can act after me. I decided to fold, but I really wasn’t too sure if I should have called or not.
Turns out I should have. UTG had AJo, and UTG+1 had AKs. Board doesn’t pair anybody and my tens would’ve stood up and I would’ve almost tripled up. *sigh*.
Oh well, now I’m hoping that the cards turn out better for me. They don’t. A couple rounds later, I pick up KTs (the best hand I’d seen with no action in front of me). Guy to my right folds but didn’t seem happy to be folding, and I push. A guy on the other end of the table yells “NICE”, and flips over AA. What can I do? No bad beat for him, and I’m knocked out in 26th-ish place. Top 15 get paid. *double sigh*.
It was fun though. Until I had that bad string of cards I really felt I had an edge on a lot of the players. I felt comfortable, and seemed to have this respect from a lot of players that I’m not certain is entirely deserved. But then again, I wasn’t in a lot of pots. Just enough to pick up some blinds and antes and stay alive. I can’t wait until the next chance I get in one of these big tournaments. I think I’ve got a good shot at the money on each try
Heraldk
Voting Day
Jan 23rd
Ugh. I hate politics. Everytime it happens it feels like I’ve got to decide between a bunch of idiots who make a mitt-ful of promises that there is no way on earth they will keep, or if they do keep them all then they’ll screw over an aspect of the country they didn’t stress in their political platform.
Blah. I’m scared of the conservatives. I’m not entirely sure why, but it seems oddly creepy that Stephen Harper seems like such a good candidate when last time around, he scared the crap out of most anyone I talked to. Paul Martin is running a terrible campaign from where I’m sitting – he is running a fear based campaign which I heartily disagree with. While I might agree that I don’t want to see Mr Harper in charge of our country, I want to hear why YOU Mr Martin, will do any better! All your campaign has done is made me want to vote for someone other than the liberals. Since I can’t quite bring myself to support the conservatives, I have to move onto the other options.
I ended up picking the green party. Why? Because I empathize with their position. I hate how they are a party with candidates in all the ridings in Canada and they had enough of the vote to get federal money to support this year’s election … but their leader is not invited to the leadership debate. A debate where the bloc-quebecois leader is assumed to be in attendance even though they are a Quebec-only party. I just don’t understand.
Frankly, it won’t matter who I voted for. My riding is so overwhelmingly conservative that there is no way I can stop that. But, I have to place a vote, and so I’m going to put it where it’ll do the most good.
Heraldk

Recent Comments