Archive for March, 2008

Progress: Super Success!

Posted by Sam on March 31st, 2008 under Honours Project Progress  •  No Comments

After implementing the evaluation action choosing method and fixing up a minor bug that caused bad play (was looking for holes horizontally), I have created a much better agent. Doing a console trainer run, after 100 episodes, it had completed a total of 525647 movements. That’s 5256 movements per episode on average. If a piece [...]

Progress: Version 1.4 Complete!

Posted by Sam on March 29th, 2008 under Honours Project Progress  •  No Comments

Some progress was made yesterday, but I forgot to blog about it. I’ll blog again but timestamp it for yesterday.
Anyway, today I finished up the tests for the 2 functions I started writing yesterday and also added another function that is just used in insertFallenPiece. So, what was done:
- Finished the test for removeLines.
- Added [...]

Progress: Tests Added

Posted by Sam on March 28th, 2008 under Honours Project Progress  •  No Comments

Today I added in some tests for functions required in the evaluation function. As the new field needs to be calculated, 2 new functions were required that calculated the new field: insertFallenPiece for putting the piece in and removeLines for cleaning up that field by removing lines made.
InsertFallenPiece tests were completed but removeLines only got [...]

Progress: Evaluation Functions + Stupid Mistake

Posted by Sam on March 27th, 2008 under Honours Project Progress  •  No Comments

The problem with greedy choosing was that it often chose stupidly. As stated before, the problem was in the landing contours. However, the problem turned out to be forgetting to assign a private variable to the latest contour field. So every time, the contour field evaluated on was {0,0,0,…}. Should be fixed and I will [...]

Progress: Self Sabotage!

Posted by Sam on March 26th, 2008 under Honours Project Progress  •  No Comments

I have found out why the exploitative playing yields crappy moves. It’s because the contours aren’t being stored correctly. An L-block rotated 90 degrees (like a 180 rotated ‘L’) landed on the contour {0,-2,0,0…} landing on the ‘-2′ part. However, the landed contour returned {0,null,null} as the contour landede upon. BAD! Also, a Z-piece landed [...]