Second batch of graduation photos. Mostly us + family standing around in robes or normal nice clothes taking more photos than feels humanly possible for a human to go through in one day. Most importantly, however, it features an attractive redhead, who is crazy on the surface, but is now certifiably smart as well.
This normally takes one day, but we got the special couple's bonus of getting to go twice. Of course it is mostly just sitting around listening to names, but we also get to take photos in these funky robes. Here's a ridiculous amount of photos of me. If that sounds like the kind of thing you want to see, click in. If not, perhaps holding out for photos of a certain hot redhead in similar robes would be appropriate.
These photos make me happy. The only time I bring my big boy camera to campus (graduation), and these serene representations of the mathematics department greet me. If these do not inspire nostalgia (envy) in me (you), I do not know what does.
As a small effort in self-gratification after finishing uni, I have been looking into getting tournament scheduling possibilities coded into clux.org. Initially, I planned on doing this last year before it went live by hooking it into the already unreasonably complex (for this site anyway) event system - which you can only see by registering - but it turned out to take a little more mental effort than I expected. In particular, the problem of how to order seeds into the tournament bracket seemed a bit random. I think it's worked out now however, so I thought I'd share. Venture on if that interests you.
Oh, and my custom [tex]\LaTeX[/tex]renderer is installed for the maths geeks (so for this site: myself), so all maths is now properly rendered in cool transparent white font gifs. As a maths graduate (which feels awesome), this is pretty much a necessity!The seeding is the correspondence [tex]\{p \mid player\} \leftrightarrow \{1,2,\ldots,2^n\}[/tex] where the number [tex]k(p)\in\{1,2,\ldots,2^n\}[/tex] is the estimated ranking for player [tex]p[/tex], i.e. player [tex]p[/tex] is expected to beat player [tex]q[/tex] if and only if [tex]k(p) > k(q)[/tex]. The main problem is how to sort the players in the first round so that the the best players meet as late as possible (depending on their skill) in the tournament. The image below illustrates this for [tex]2^3[/tex] players. Formally we say:
Defn. If there are [tex]2^n[/tex] players in the tournament then the ordering is proper if the following hold. 1. If the seeding is perfect (perfectly predicts the match outcomes) then only the [tex]2^{n+1-k}[/tex] top seeded players are left in round [tex]k[/tex]. 2. In each round the sum of the seeds in each match is constant. 3. The even seed in each match is placed at the bottom.
[uimg]
It's a bit much to assume that seedings are perfect, but the seeding above needs these three conditions to generate the analogous binary tree in [tex]n[/tex] dimensions, so we will use them. Besides, condition 2 does sort of provide some loose similar quality guarantee: the lower the sum, the most likely the better the games. The image above fills out what will happen in an eight player tournament if the seeding is perfect.
Knowing that it was these three properties that we wanted, we could at this point just generated the next level in the canonical tree successively until we got to the desired level to (i.e. make an arbitrarily large tournament system), but this would have been inefficient and a bit tedious (compared to finding patterns in numbers at paper, but that might be subjective). I tried first to find a system in the sequence [tex]\{(1),(1,2),(1,4,3,2),(1,8,5,4,3,6,7,2),\ldots\}[/tex], but this turned out to be very fruitless. Having ivc over, I explained the problem to him and we stared at it for a couple of hours (because that's just the kind of inviting friend I am).
Turns out the key was to look at the match numbers [tex]1,\ldots,2^{n-1}[/tex] by ordering from the top in the brackets. I.e. match 1 is 1 vs. 8, match 2 is 5 vs. 4 etc. The major clue here is that in a match number that is a power of two, the even numbered seed in that match is also a power of two. In fact match [tex]2^k \mapsto 2^{n-k}[/tex], so the hard part is interpolating this function for general match numbers.
The system becomes clear first when we look at a full 32 player tournament i.e. [tex]n=5[/tex]. In the interests of fully testing out the LaTeX, I would ideally write this out, but tables are a bit of a pain in TeX, and I have this paper anyway.
[uimg]
This is expanded uniquely using the three defined properties and the smaller bracket above. The match numbers in the first round are written on the left. Notice that the top players all follow diagonal paths when they reach vastly inferior players.
[uimg]
The system comes from decomposing the match number [tex]i[/tex] as [tex]i=2^k + l[/tex] where [tex]k = floor(\log_2{i})[/tex]. If we write the even seed as powers of two then they display a binary counting system going up between match numbers that are powers of two. In fact, it's the binary representation of [tex]i-2l[/tex] that is required, so let [tex]c_j = bit_j (i-2l)[/tex]. We can then verify the final function (sending match number to the even seed in that match).
Pretty cool for something as seemingly as simple as a tournament system huh. Here is a PHP function that calculates this function given the match number and the number [tex]n[/tex]. If the maths is unclear, that should help.
function seeds_from_match_nr($match,$n) {
floor(log($match,2)); //highest power of two one can subtract
$l = $match - pow(2,$k); //now $match = 2^k + l, where 2^k + l < 2^{k+1} i.e. l < 2^k
if ($l==0) $seedA = pow(2,$n-$k);
else {
$C = array_reverse(str_split(decbin($match - 2*$l))); //binary representation of i-2*l
$seedA = pow(2,$n-$k-1); //first term
for ($j=0; $j < count($C); $j++) $seedA += pow(2,$n-$j-1)*$C[$j]; //array starts at zero not 1
}
$seedB = pow(2,$n) + 1 - $seedA; //sum of seeds is constant in each round
return ($seedA%2==0) ? array('playerU'=>$seedB,'playerD'=>$seedA): array('playerU'=>$seedA,'playerD'=>$seedB);
}
Note the last line positions the even seed at the bottom to make sure we are following the defined convention.
Fun project this. Will hopefully get the tournament system up and running properly by next week. If I know you in some game, register and you might be destroyed later. : )
Oh, and since this is one of my few serious posts I'd appreciate if you keep comments on topic for this one.
I am unofficially a first class master of mathematics! My fourth year results arrived in my inbox today, which means I get to throw the canonical square hat in the air at the 19th of July! Oh, and ding: Achievement unlocked! Nothing like putting the good old gaming spin on serious achievements, and I reckon this one would be worth a couple of thousand G's - which is Xbox achievement currency for the uninitiated. The Xbox logo was easier/cooler to shop than the steam one, which is why this unfamiliar lingo is put forth. The shopping action still took me way too long for this.. Oh well!
[uimg]
Anyway, these are my last results ever. If anything I do ever gets posted up here, they should be amongst them.
Matrix Analysis & Algorithms 71
Algebraic Number Theory 80
Galois Theory 67
Topics in Number Theory 83
Elliptic Curves 83
Lie Algebras 59
Project 76
Computational Linear Algebra & Optimization 77
Second batch of shots from Norway summer with brothar in his new place. The good times are abundant (mostly thanks to awesome girl), and the chilling is endless. Incidentally, my fourth year marks should be released today, this should distract me from that fact.
AKA Bro-summar. It's his new place, but we are defiling it as usual. The strict instruction was 'no business in the shower' which should be fine given the size of that thing, and beyond that we just provide food and social commentary for brothar, so I think this is acceptable for him for now. Anyway, here are some initial setup shots from the place and some other right around that time.
Hello and welcome to clux.org V2. Creator speaking.
This is essentially the corner of a programming mathematician with a penchant for competitive gaming. I have built this website from scratch using the excellent codeigniter, prototype & scriptaculous frameworks, and it is perhaps the achievement I take most pride in.
I do not leave much of a footprint, but you might still remember me/my nick from certain obscure activities/releases. Namely:
1. My 3 Quake 3 movies
2. Winning The Gathering Quake 3 1v1 Competition in 2005, taking home a 42" plasma TV
3. Speedrunning N (still got wrs, 70-0 was voted run of the year by the community)
4. Speedrunning minesweeper (was among top 100, until recently now here, which is #2 in Norway)
5. Trine Speedrun (currently just on youtube).
6. Found a mathematical solution to a ridiculous dungeon in dungeon siege 2.
7. Posting semi-pornographic photos of my gf (this increased my website traffic by 15000% one day)
8. Leaderboards in TrackMania United Forever (stunts wrs), and tmx leaderboards for platform maps (wrs).
Hopefully that was interesting. Anyway. Enjoy your stay at clux.org if you have any questions regarding this site or me, get in touch through this site somehow. I see and hear everything that goes on in here, so leave a comment and I hopefully I'll get back to you.
Oh, and I often upgrade things on here, so a few bugs might be found. Please report any bugs you might find here. I fix them continuously as they are reported/found.
"No doubt these texts will prove to be an embarrassing legacy, but I must order my thoughts herein, lest they spill from my accursed mind."