Sunday, March 25, 2007

Friday, March 23, 2007

AIMA JAVA Pre Final - (HMM) Fixed Lag Smoothing Implemented

I've duplicated the algorithm in the text (fig 15.6 in my edition), but this (algorithm, as published) is almost certainly wrong. The forward operation uses the latest (the t-d th would have made more sense) perception. This doesn't make too much sense.
The values don't match up with those generated by the foreward backward implementation (which is almost certainly working correctly).

Need to get the algorithm clarified by Dr N. Incredibly enough, there aren't too many resources online about this particular (variant of the) algorithm .

Tuesday, March 13, 2007

AIMA JAVA Pre Final - (HMM) Forward Backward Implemented

nice snippet of code. very powerful algorithm

Monday, March 12, 2007

AIMA JAVA Pre Final - Present Status

Working on Chapter 15.

Implemented an HMM with predict, update and forward.
The code for this (after extensive refactoring) is looking good.

I used an example from Probabilistic Robotics as an additional requirement for the HMM code, i.e, enable the HMM implementation to model a robot with uncertain sensors and stochastic actions. This has worked out well, as an HMM modelling a robot has to make provision for robot actions.

The example in AIMA models a passive observer trying to estimate the probability of rain from seeing whether his superior carries an umbrella or not. Unlike the robot, he has no action he can take that modifies the environment.

The present implementation models both these situations as can be seen from the unit test.

I've also implemented the code for single step smoothing (section 15.2 page 545 in my edition).

AIMA JAVA Pre Final - The Plan

I expect to post the pre final version of the AIMA java code to Dr Norvig at the end of this april/beginning of May.

This release will contain the code for Chapters 15(Probabilistic Reasoning),16 (Simple Decisions), 17(Complex Decisions) and 21 (Reinforcement Learning). I also need to fill in a few gaps in the code list. Plus bug fixes.

If anyone is having problems with the game playing code, do get the latest code . For some reason, the code at the site doesn't match with the code base though this code was written well before the last release.

The next release (AIMA Java Final) will focus on implementing the code for the "logic arc" ie chapters 9,10,11,12 and 19. The code for prepositional logic is already in place and has been extensively field tested, but I am not very happy about the FOL code. This will probably get rewritten.