"We, Machines" lecture

(I am a bit late in posting it here but...) I would like to convey a big thank you to all those who attended my recent lecture, "We, Machines" at the 6th edition of the Buraasfathivaru series, and the organisers "26". I hope the lecture imparted something of value and provided some food for thought.

We, Machines - Lecture promo

Me, human guinea pig

I've been experimenting with a potential "new" type of machine-man interface for a little while now. In the process, I've subjected myself to a bit of mutilation, pain and general annoyance. But today, I'm quite happy because I have now obtained some very interesting results...

Hopefully, will share more about the work in the coming weeks/months.


Stitch removal... about two months ago.


What do I "feel"?

My presentation on cybernetics at FMC: thoughts and photos

I gave a presentation titled "Cybernetics and Intelligent Search", as I had mentioned earlier, at the Faculty of Management and Computing at the Maldives Center for Higher Education in late September this year. The presentation went as planned and went well but I'm not too sure what impact it had on the attendees. The presentation was attended by about 20 or so students of FMC but they all kept awfully quiet throughout and especially in the Q&A slot. The only time anyone reacted was during the demonstration of some A.I systems in practice. I guess I have to take comfort in the reassurance by a FMC faculty member present that this was standard response by students!

I am very thankful to Adam Khalid (Assistant Coordinator, Bachelor of IT) and the Faculty for hosting my presentation and arranging it all. I am also grateful to the students who attended the presentation and sat through the entire hour and I sincerely hope that they found it interesting and informative.

I've put up some photos of the event here. :-)

"Cybernetics and Intelligent Search" @ MCHE on 24th Sept

I will be giving a presentation on cybernetics and (more specifically) artificial intelligence at the Faculty of Management and Computing (FMC) of the Maldives College of Higher Education (MCHE) on Monday 24th of September and will run from 11.30am - 1.30pm. I've titled the presentation "Cybernetics and Intelligent Search". Students at FMC (or elsewhere at the college, I suppose) are invited to attend. :-)

My presentation will include a general introduction to cybernetics (and it's sub-fied of AI), notes on some important intelligent search methods and finally some information on the various aspects of my intelligent search-related project at uni this year. I (hope to) have some interesting demo's and simulations packed in as well. There'd also be a Q&A session at the end to wrap things up.

I am doing this presentation towards fulfilling a requirement for my study programme at the University of Reading where I am currently working towards a MEng in Artificial Intelligence and Cybernetics. I hope that I'd be able to take this opportunity to fulfil my university obligations and at the same time impart something of value to everyone who attends.

(Please feel free to pass the message onto any of your friends attending FMC or MCHE. Thanks!)

The Game of Life

How could life on earth be so diverse? How could earth, the solar system or even the universe be so complex? How could it be so without it all being made, designed exactly that way? Really, how could it?! It's a fair question and makes a lot of people wonder. But there ARE answers - some are definite some not-so-definite. After all, life (and the universe) IS pretty complex. However, the interesting thing with complexity is that, complexity doesn't mean that it is entirely irreducible or that it couldn't have arisen from something less complex.

Introduction
Enter John Conway's "The Game of Life" - one of the simplest examples of emergent complexity. The Game of Life (hereafter abbreviated to TGOL) is a type of cellular automata. Cellular Automata can be defined as a structure (cell) which has a finite set of states and any transitions from one state to another occur according to a set of predetermined rules. TGOL operates in a universe represented by a 2-dimensional grid - where the state of each cell in the grid is boolean; i.e. a cell is either alive or dead. The rules, in TGOL, simply determine the state of a cell at any given moment in time as per the states of the cells surrounding it. That's as much complexity as there is in TGOL (and many other Cellular Automata)!

It is quite intuitive to imagine this working at small scales for just a few steps in time but it quickly gets a bit too large a problem to work out in the head. In fact, TGOL can only be executed effectively using the massive computational abilities of a computer but even then, after sometime, the problem gets beyond which a computer can handle. What more, it is near impossible to determine the future state of the cells based on the starting states.

Experiment!
First, the "rules" in The Game of Life as defined by Conway.
- Any dead cell becomes alive if it has exactly 3 live neighbours.
- Any live cell with either 2 or 3 live neighbours stay alive.
- Any other case either kills the cell if it's alive or leaves it dead if it's already dead.

You can "play" TGOL on paper or simulate it on the computer. Being the lazy people we are, I have no doubt most of you would choose the latter option - but if you are any bit curious about TGOL, do try working it out manually first. There are many Life simulation programs available for free on the net - some are run online while some are available for download. Try the Java based Life simulator at http://www.ibiblio.org/lifepatterns/ (click the "Enjoy life" button on the page) for a version that you can run instantly without downloading anything. If you want to download and seriously play with TGOL, check out the open-source Life simulation software called Golly. It is available for Windows, Linux and Mac at http://golly.sourceforge.net/. Alternatively, if you are the programmer sort, you might even venture 10 minutes into making a rough Life simulator yourself (like I first did few years ago) :-P

TGOL simulations can be executed by defining a starting pattern. It can be as complex as you want or as simple as you want. TGOL develops many interesting patterns that people have actually named a lot of them. However, new patterns are found all the time and it seems Life never gets boring! A wonderful place to start on the patterns and their details would be the Life page at http://www.math.com/students/wonders/life/life.html. Try the Glider or Spaceship patterns - they move and were among the first simple-yet-complex emergent entities to be spotted in the TGOL!

Here are 3 steps in the operation of a crude smiley pattern in TGOL:


Complexity
After playing around with different patterns and observing what happens after a few thousand or few hundred thousand generations in the TGOL universe, it becomes apparent that different sorts patterns get created along the way. Some are dynamic (like the Gliders), some are still, some are oscillatory, some go on seemingly expanding and growing, some develop motion to either of the sides. These more complex structures can occur frequently and regularly and even arrange themselves to form even more complex systems and behaviour.

If you are using Golly, look under "Signal Circuitry" for a pattern called "Turing Machine". As anyone whose studied computer science may know, a Turing machine can perform just about any computation. The fact that a Turing machine can be implemented in the TGOL demonstrates the sheer power that a world operated by a few simple rules could posses. More complex patterns are still being discovered within this universe of the TGOL which is dictated by 3 simple rules. The active universe in a TGOL simulation quickly becomes larger than what most computers can currently handle and does limit our ability to further observe the kind of even more complex behaviour TGOL produces.

Like I said at the beginning, The Game of Life is one of the simplest Cellular Automata around. There are many different kinds of cellular automata, each operating with a different number of states and rules. These produce an even richer variety of universes, displaying amazing complexity.

The End
Hopefully this little incursion into emergent complexity was enough to make you think just how likely it is that this "complex" world which we are both puzzled and fascinated by could have arisen from a really really simple set of rules - like the physical/chemical rules that govern everything in the universe.

Self Organising Maps

I got reminded of Self Organising Maps(SOMs) at last week's Neurocomputation lecture. I learnt SOMs last year while on a craze to teach myself about neural nets. They are fascinating little buggers I tell ya!

The knowledge of SOMs had come in pretty handy earlier this year when I designed and programmed a blog analyzer/classifier intended to be contributed to the mvblogs.org project. The "classifier" part utilized SOMs to do the magic. However, sadly, I never got around to finishing an "analyzer" (which does the text and language processing) that I was happy with and soon enough my interest waned out and the effort died. I will probably tackle it sometime soon, now that my interest has been rekindled :-P Anyway, onto SOMs...

What are SOMs?
Self Organising Maps, also known as Kohonen networks in honour of its inventor, are a very interesting type of (artificial) Neural Network. It features an input neuron layer that is directly mapped to all the output layer neurons - where the output neurons are represented as being arranged as a grid.

A SOM when presented with training data, is able to train itself in such a way that "similar" data is placed closed together on the grid. By "similar" I refer to the manner in which any number of the attributes of the input data can be represented on the output by mapping the variation of the attributes. Any type of data that can be broken down or converted to a vector of numbers so that it can be mathematically manipulated can be fed to the input of a SOM. Possible input data may include text blocks, books, images, surveys etc. This makes SOMs extremely powerful and useful as a tool for making a simple 2D/3D representation of highly complex, multi-dimensional data.

The algorithm for a SOM is quite simple and very elegant. If you are keen to learn more, try the paper "The Self Organising Map" by the creator Teuvo Kohonen himself. Alternatively, this simpler guide may be more accessible and a shorter read :p

SOM eye candy
One of the coolest demonstrations of an application of a SOM is color classification. In such a setup, a SOM is fed a set of colors - as vectors with components in RGB, CMYK or whatever representation we choose - and set to the task of "organizing" them. At the end of the run, the SOM has the colors all arranged neatly by (mostly) placing similar colors close to each other.

Here is a simple sample case where I fed a SOM a collection of 80 random colors.


Random 80 colors.

I then set the SOM to churn and after 500 ticks the output has the output grid has the colors neatly arranged!


Post SOM run...

Interesting stuff eh?

Magnetic implant

I stumbled across a very interesting article featured on a body modification enthusiast site sometime around May/June. The article had popped up on Digg and had gotten quite a lot of coverage. The article documents the process of implanting a neodymium magnet under the author's skin and his experiences after this body modification procedure. The magnet was tiny and protected by a biocompatible sheathing to prevent the (toxic) neodynium from reacting with the body. Neodymium is a rare earth natural magnet that is very very powerful. I had read about it in a Edmund Scientific catalog around the time I was in Grade 8 and had fancied owning one ever since after being very fascinated with the magnet powers these magnets supposedly posses.

The article stirred up curiosity in me in two things - the magnetic power of the magnet, and the sensory extension the implant process brings. I am especially curious about the latter. Any sensory extension, be it temporary or permanent, would be quite an amazing feeling. Maybe I am wrong but I reckon this would be an easy way to experience new/artificial sensations we could feel once science and technology lead to easier/cheaper routes to sensory/mental enhancement via direct neural connections ie. the cyborg era!

I am now decided and eager to undergo the magnet implantation process. I also have a few ideas burning on some experiments I want to run if/when I get the implant done. All that remains now is to get those magnets and get someone to slice my hand open and dump the magnet in. Very simple. I hope...