Wednesday, March 11, 2009

AI

Fuzzy logic isn't as cuddly as the name suggests. It was one of the more abstract 'systems' i've designed for work, and implementation was worse. The concept makes complete sense in the real world and is quite inherent even with the smallest of tasks we do.

Essentially, fuzzy logic/systems tries to put the 'feel' into an otherwise black and white, instruction executing machine. For example, it would be easy for a human when driving fast and approaching a corner to understand that slightly braking is necessary as to not flip the car. But how much do you break? It is more of a feeling process on knowing how much breaking is necessary. For a computer, you can have predefined actions such as brake and accelerate. So when a computer approaches a turn going fast, you can tell it to break...but how much? Normally, the predefined action programmed into the computer would have the computer slam on the breaks bring the car to a halt. How do we give the computer the ability to 'feel out' the situation? Fuzzy logic!

The process of programming/developing/designing an action, say braking, to belong to two or more states isn't too challenging. It is taking the current situation of the system/computer and giving it the brains to apply maybe a 70% brake to make the turn that is severe. Having the computer analyze the speed, the degree of turn, the surface, weather, time of day, oncoming traffic, location (residential, industrial, etc), size of the car, amount of gas, stiffness of the brake pedal, and so on just to give the car the thought, "i will brake 40% to make this turn safely". This may seem a bit excessive because when making a turn, you probably never think of most of these things...they are inherit, second nature to us, but the ability interrupt these conditions as second nature give us that ability to have that 'feel'.

here is a preview to some of the processes that go behind designing and building one of these systems:

Next post could involved some of the math and thought process behind fuzzy logic, fuzzification, defuzzification, degree of memberships, and everything else that goes along with the topic.