Saturday, April 23, 2005

Project 1: Fuzzy Logic Controller using java

Well, this is the first attempt. I am basically drawn towards using java as I feel I can use OOP 2 my advantage. I could create classes/interfaces for aech property I wish to implement. I am planning to make it very flexible, so that I could use this as a template for several later projects. I am fixing a deadline for each phase. Hope that eggs me to work!

Phase 1: Creating a Simple Fuzzy Object
Deadline:EOD 26th April 2005

Here I plan to create a "Fuzzy" object. The user can just add membership functions. I also plan to define opeartions like "AND" and "OR" on "Fuzzy" objects! Then when I build the controller, I would create different objects for each parameter, that extends this base "Fuzzy" object.

Step 1: Create a "Membership Function" object. Making this as an object would solve my problem of dynamic addition of member functions to a Fuzzy object. I can simply create instances of "member function" and somehow "attach" them to the Fuzzy Object. (How?? Look this up!)

Constructor: Would take the function type as int right now (0/1), The defining points for each function (two). Would set some internal params/ params for internal functions. Such that when I am getting the membership value for this function, taking the input variable would return the value by picking the appropriate step from the generating function.

Member Functions:
1. getMembershipValue: Returns the membership value of the particular function given the input value.
Calls: (a) some private decode function to decode which function 2 be called 2 calculate
the value.
(b)the calculating function. decided by (a) above.
2. decodeFunctionCall: Decodes which generating function to call.
3.calculatingFunction(s): just a math expression, split into two cases

Member Variables: The defining points.

Step 2: Adding stuff to FuzzyObject:
Okay now I have created the MembershipFunction object (just linear functions now...ps: found 1st bug as well!!) THe Fuzzy object would create instances of these. Need to figure out what to do with that. I mean I must have an iterator of some kind for all instances created. So that referencing this object would give the membership values of all memebership functions attached to it. (much like the VO and AM approach!!).

Post this would need to define operators for fuzzy object, like OR and AND. Then I think I would be ready to try 2 implement the controller.....

About this blog

Well it has officially begun: NLR (NL's Research). I should have started long time back, but guess its never too late.

This blog would have all my ideas for my fuzzy logic and neural networks projects. To maintain utmost secrecy, if u are reading this, you have been chosen 2 do so for a purpose. Please feel free to post ur sugesstions/ideas/comments. I am new to both java and ANN/fuzzy. So please advise me on any issues that you think could be a possible loophole. Please leave a comment on your each visit. It encourages me to go on.

Thanks!
Nikhil