Saturday, 28 March 2009

Artificial Intelligence

One approach I would test its effectiveness in this project is machine learning. In the project group meeting I learned that I should check AI (Artificial Intelligence) and especially in the book by Stuart Russell and Peter Norvig - Artificial Intelligence: A Modern Approach.

The book is thick over 1000 pages, so I'm probably not going to read the whole of it, but I started with the introduction and it was quite interesting to learn about the evolution of AI.
Philosophy, Mathematics, Economics, Neuroscience, Psychology, Computer engineering, Control theory and Cybernetics and Linguistics contributed ideas, techniques and view points to AI. The summary of the introduction in Russell and Norvig book provides good explanation in brief on how each field contributed to AI.

The book provides 4 different learning techniques. Learning from Observations, Knowledge in Learning, Statistical Learning Methods and Reinforcement Learning. In the next post I'll review whether Learning from Observation would be useful to this project.

Thursday, 19 March 2009

NetBeans

The easy way isn't always the easiest one. The code for the CAT Tournament is written in Java though one can write a client to communicate with the Tournament organisers server using CATP protocol (protocol written to talk with their server). It means if I decide to write a client in any other technology, but Java I have to write from scratch everything as a client already exist in Java and I just need to plug it into new libraries I will write that make the decisions.

These days almost everyone uses IDE to develop and as I have not much experience in Java I decided to go with NetBeans. First time I download the software was a couple of months ago and only today I feel that I'm confident enough to use it (still not mastering NetBeans) and this is after I have to work on a different project to build Plagiarism detection system and I used NetBeans.

Over a month ago I've already managed to run the code of jCat on NetBeans, but a few days ago wanted to use the Ant script to run separately the Market Client from running the whole package and realised that as I didn't use the free form to import the project NetBeans uses its own build script.

The new 6.5.1 version I upgraded to today have funny selection menu so spent a while to realise I define the Classpath only to the Source Packages and not also to the Test Packages, which gave me these annoying error messages all over.

Friday, 27 February 2009

get ready! GO!!!


Today I start my first blog in order to motivate me documenting my MSc project. I always convince myself that my internal memory capacity is unlimited, but my supervisor raised some points why it's important to write those things.

To summarize the project into one sentence. I'm going to explore (research) automatic markets mechanisms. Full details about this tournament can be found if you follow this link.

I'm going to build an automatic market that compete against others markets to attract traders to choose my market over the competitors. Probably now you ask yourself why from the group of markets the traders will want to select my market?
I asked similar question myself yesterday while travelling home on the tube (underground train of London). The carriage was packed and one stop later it was almost completely empty, but only this carriage, which bring me to think when travelling on the tube, how people select which carriage to travel on? I can list a few strategies: nearest to entrance in the departure station, nearest to exit at the destination, randomly and etc... Traders would behave similar, different traders have different strategy to select a market.