Archive for the ‘Computer Science’ Category

Cleaning academic papers from my Dropbox folder

Friday, December 2nd, 2011

A few days ago, I officially received the last grade of my MSc degree courses. This led me to look at my almost full Dropbox folder, to see what documents and other stuff I don’t need to keep anymore. I found some papers I wrote that I would like to put on my website, because I think they’re pretty okay :) Grades are on a scale from 1 to 10, with 10 being the highest score possible.

Link analysis and PageRank - from the Information Retrieval course, rewarded with a 9

Experiences with Domain Specific Languages - from the Model Driven Software Development course, rewarded with an 8,5

A Query-Based Template Framework For Semantic Web Applications - from the Web And Semantic Web Engineering course, got an 8 for the whole course, I guess the paper’s grade was about the same

Modeling Peer-to-Peer Systems - from the Peer-to-Peer Seminar course, rewarded with an 8,5

Cheers!

Posted in Computer Science | No Comments »

Follow my thesis progress on Twitter

Tuesday, October 25th, 2011

In my last post, I described what my thesis is about. In the meanwhile, I’ve explored the field even more, and I’ve even made some specific decisions on how to “attack” the problem. For my own administration of what I’m currently thinking about, and working on, I’ve created a Twitter account to be able to quickly spawn thoughts that are crossing my mind: @geneticsnowdrop. I know, vague name right? But at least you can recognize me by my picture ;)

Be informed that the tweets can be very specific and random. If however a more coherent story about my thesis arises, I’ll be sure to post it on this site (sjorsvanberkel.nl).

Cheers!

PS. If you’re more interested in non-thesis related tweets, you can follow @iamsjors

Posted in Computer Science | No Comments »

What am I doing?!

Monday, September 26th, 2011

As many of you know, I study Computer Science at the Delft University of Technology. Since I’ve already spent 6 years there, it’s time to finish up my Masters degree, and start off my career. Before I’m doing this however, it’s important to kick some Computer Science ass with an interesting project and the corresponding thesis. So what exactly am I doing?

Let’s start with defining the topics of interest. I’m doing my thesis project at the university, with the Embedded Software group (http://www.es.ewi.tudelft.nl/), a term that encompasses 2 terms: embedded and software, so what does this mean? The “embedded” part implies that we’re not talking about vanilla computers, but… yeah, other devices. Embedded devices are typically MP3 players, mobile phones and modern TV’s, but in our case mostly small robots, yes ROBOTS.

Now don’t get propelled out of your seat. When I say robots, I mean small computers that are able to fulfill tasks alone or in cooperation with other robots. Note that this definition of robots does not require taking out the garbage, but some robots might be able to move, and adjust their environment.

As you may have noticed, the future that is portrayed in science fiction books and movies has not really arrived yet, and that is not only due to our ability as humans to understate the current state of technology (not true? see the comic below), but also due to the fact that programming robots is a humongous PITA in terms of complexity. Obviously this is even more true when we want robots to cooperate and do something useful together.

Without understating my own abilities I can honestly say that this subject is too big for me to tackle on my own, so the best thing I can do is to take a piece of the ginormous pie, understand the difficulties and make things better. So what is this thing that is my piece of the pie…?

Basically I will try to use the principles of evolution to let two parent programs create a new baby program. In combination with having random mutations in programs this will generate a wide range of different programs. By doing this, we can breed a lot of different programs that may or may not serve a certain purpose. Because, like a teacher of mine once said, “Computers are very good at doing very stupid things very fast”, we can generate a lot of programs in a very short time, and judge them by their abilities in a simulator. By picking out the ones that perform best, and having them make baby programs, we can generate programs that are very good at specific tasks. To keep this description the size of a nutshell, we can then load this program on a robot and we’re done, yay!

While this may sound rather easy, the problems involved are scattered across a wide range of computer science problems. To name a few: Genetic Algorithms, Tree-Based Genetic Programming, Agent-based models, Graph Theory, Machine learning, and a lot of different subjects.

So that is in essence what I’m currently doing. As you can see it is multidisciplinary, and hence it is sometimes difficult to explain to outsiders, but I hope this gives you an idea of what I’m doing :)

Cheers!

Posted in Computer Science | 1 Comment »

Life