Monday, January 24, 2011

Fuzzy Logic

Fuzzy Logic:
  • Most controllers use what is called the proportional-integral-derivative (PID). This sophisticated mathematical law assumes linear or uniform behavior by the system to be controlled
  • Fuzzy logic control systems are "expert" systems, meaning they are modeled on the expert experience of real people
  • Fuzzy controllers are often more robust and stable than PID controllers
  • Three major constructions in creating fuzzy systems: (1). Logical rules - (2). Sets - (3). Cognitive maps
  • Fuzzy sets and rules are the power behind most fuzzy systems
  • The standard method of creating a fuzzy control system involves, identifying and naming the fuzzy inputs and outputs, creating the fuzzy membership function for each, constructing the rule base, and deciding how the action will be carried out 
  • Fuzzy systems use what's called fuzzification (changing input values into fuzzy terms) and defuzzification (changing fuzzy output back into numerical values for system action)
  • There are three basic types of fuzzy tools for problem solving: (1). Fuzzy problem solvers are expert systems (Ebrahim Mamdani) - (2). Tool (model) makes decision developed by Michael O'Hagan - (3). Fuzzy tool called a fuzzy cognitive map developed by Bart Kosko
  • Most commercial fuzzy products are rule-based systems that control the operation of a mechanical or other device
  • Crisp information from the device is converted into fuzzy values that are processed by the fuzzy knowledge base. The fuzzy output is defuzzified (converted to crisp values) that change the device's operating conditions, such as slowing down motor speed or reducing operating temperature
  • The As-Then format is so handy in fuzzy thinking that it's used in the sets of word-based rules that control fuzzy systems
  • Fuzzy logic also uses If-Then style rules, expressed by the form As-Then (the general form) or As-Do (the control form), instead
  • Fuzzy Cognitive map: Because the fuzzy cognitive map organizes dynamic information in such a human like way, it is called the Fuzzy Thought Amplifier
  • In the Fuzzy Thought Amplifier, the arrows are called causal events
  • A cognitive map is a signed (positive or negative), directed graph and can be either crisp or fuzzy
  • A cognitive map can be trained with past data so that it can predict the future
  • Its ability to be trained shows a similarity between fuzzy cognitive maps and neural networks
  • Training a fuzzy cognitive map involves compiling sets of historical data that are run through the map one at a time
  • Most fuzzy systems represent inputs and outputs as membership function whose interactions are the bases for rules and a fuzzy action surface. Inference involves the firing of individual rules
  • There is another way to create an action surface for multiple inputs and multiple outputs called the compositional method, it is actually the original method. The fuzzy input and desired output ranges are based on fuzzy set values and used to create a matrix called a fuzzy associative memory (FAM)
  • There is a calculator for the compositional method called FAMCalc
  • There are other two fuzzy architectures: (1). A fuzzy generalization of the artificial intelligence language OPS5 called FLOPs - (2). Fuzzy state machines
Software for fuzzy logic systems:
  • FuzzNum Calc
  • UniCalc
  • Fuzzy set logic Calculator
  • MultiCalc
  • CompCalc
  • TextCalc
  • Fuzzy Knowledge Builder
  • Fuzzy Decision-Maker
  • Fuzzy Thought Amplifier
  • FAMCalc
Five-step process of creating a rule-based fuzzy system: 
  1.  Identify the inputs and their ranges and name them
  2. Identify the output and their ranges and name them
  3. Create the degree of fuzzy membership function for each input and output
  4. Construct the rule base that the system will operate under
  5. Decide how the action will be executed by assigning strengths to the rules and defuzzification 
For the knowledge base, the expert defines the input and output observation (the descriptive words) and the range (the fuzzy number range). The expert also defines the consequent output for each input (the rule). The designer defines the membership functions for inputs and outputs. The knowledge base is then put into action in an inference engine - a computer program that can take actual inputs, let them fire the rules, and export outputs to the domain system.

Business and management experts divide problems and problem-solving into several categories:
  • Prescriptive problems: Require a specific decision. For example, a fast-food restaurant owner might need to find out how many customers she has at different times of day. With this information, she can determine how many employees she needs on duty at different times. This type of problem can be solved with the Fuzzy Decision Maker
  • Descriptive problems: Here the need is to identify the problem. For instance, the fast-food restaurant owner may want to understand why customers have to stand in long lines at lunch time. By describing how work is done in the restaurant, she may determine that the bottleneck is at the sandwich assembly station. Electrical engineers will recognize this as a problem in queuing theory, in which plant identification describes the model. In queuing theory, one rule of thumb is that if the system is operating at 50% of capacity, it will cease to function effectively and become chaotic. This  problem is an early phase of decision-making, so the Fuzzy Decision Maker will be useful for dealing with it and for the rest of the solution - how to deal with the bottleneck
  • Optimizer: An optimizer establishes performance criteria, such as how many customers should be served per hour. It identifies the conditions or actions that allow the system to meet the criteria. Because it requires expert knowledge, it's a problem for the Fuzzy Knowledge Builder
  • Satisficing: A satisficing problem solver determines how to be "least worst" - how to maximize operations within already-established restrictions. The restaurant owner, for instance, might need to determine the maximum number of customers that can be served per hour, given a specified number of employees and the maximum number of burgers that can be cooked at once. This type of problem would be suited to either the Fuzzy Decision Maker or the Fuzzy Knowledge Builder
  • Predictive: A predictive problem solver uses past results and projects them into the future (extrapolation). For example, the restaurant owner may analyze how many customers ate at the restaurant on the day after Thanksgiving last year, then use that information to predict the crowd on that same day this year. Predictive problems can be solved with the Fuzzy Knowledge Builder or the Fuzzy Thought Amplifier
===================================================
Fuzzy Thought Amplifier: It helps you model the real world. The Fuzzy Thought Amplifier provides an intuitively helpful interface for modeling, capturing and exercising thought models.
  • Fuzzy Thought Amplifier allows up to twenty five conceptual states and six hundred twenty five interconnecting causal events
  • It provides a graphical interface for creation, placement and viewing of the conceptual states and the interconnecting causal events in the classical "directed graph with feedback" visually intuitive format
  • It provides for spreadsheet editing and viewing of the concept state names and activations and of the causal event names and weights. Each spreadsheet cell is dynamically updated after a map step
  • It provides single step, multiple step and continuous run control. At each step the states are defined anew as a result of the causal vector addition connection to the previous states through the event weights. The resulting dynamic graph may terminate in a static, limit-cycle or chaotic condition. Just like reality
  • It allows complete visual control of the inferencing squashing function. This function monotonically squashes the causal addition vector into the state activation limits. Limit cycle effects are set through an inference roughness control
  • It provides three different run time representation of the state activations: the directed graph, the spreadsheet listing and as a color bar chart. These may all be viewed simultaneously and dynamically 
  • It includes the following intelligent tools:
  • It provides combine and arrange functions that allows combining two maps of differing credibilities to produce a third melded and arranged map
  • It provides a training function that automatically adjusts the existing event weights to produce the existing defined set of state activations
  • It provides an observer function that provides automatic stopping of the map evolution on limit cycles up to 10 steps deep
  • It is a Windows program. All windows support functions are available. The various tools and states may easily be clipped and printed
    Fuzzy Knowledge Builder: The Fuzzy Knowledge Builder helps you design fuzzy systems. The Fuzzy Knowledge Builder provides an intuitively helpful interface for capturing the expert judgments needed to build any fuzzy control or transform system.
    • The Fuzzy Knowledge Builder allows up to eleven input dimensions and two output dimensions in the fuzzy control surface design. Each dimension may be described by up to eleven fuzzy sets
    • It provides a two dimension activation matrix type display of the fuzzy system rules for editing of those rules. Rules editing is by simple mouse point and clicking. Full text description of the rule in focus is displayed
    • It provides piece-wise editing of the fuzzy sets through simple mouse point, click and drag operations
    • It outputs the expert fuzzy systems knowledge base in an include or data file for use in your application. Many languages are supported such as C and assembly
    • It includes many supportive functions including:
    • Knowledge Action Tester allows static testing of the fuzzy estimation surface at any time in the design cycle
    • 3D Viewer provides 3D viewing of the fuzzy parametric estimation surface
    • Gradient Viewer provides contour mapping of the fuzzy surface
    • Profile Viewer provides orthogonal profiles of the surface
    • Knowledge Copy will copy rule groups to multiple rule groups, from rule matrix slice to rule matrix slice and from fuzzy set group to fuzzy set group
    • Knowledge Mix will fill the rule cells with random values
    • Knowledge Grade constructs hyper-dimensional gradients on the rules
    • Knowledge Automata smoothly extrapolate rules between a few defined and fixed hyper dimensional rules
    Fuzzy Decision Maker: The Fuzzy Decision Maker helps you make complex decisions. The Fuzzy Decision Maker provides an intuitively helpful interface for breaking apart and capturing the simple subjective judgments needed to make complex large decisions involving here and now conditions (constraints); the future desired conditions (goals); and the various optional paths for getting from constraints to goals (alternatives). 
    • The Fuzzy Decision Maker allows up to twenty goals, twenty constraints and forty alternatives in the decision process
    • The Fuzzy Decision Maker provides an intuitive graphical interface for simple ranking of the goals importance and constraints importance in the descision
    • It provides an intuitive graphical interface for simple ranking of the satisfactions found in the alternatives for each goal and constraint
    • It also provides an alternate numerical interface for percentage ratings of these importance and satisfactions
    • It provides an entry of your optimism or pessimism on the decision process. This can greatly yet appropriately influence the decision results
    • It provides a color bar chart interface for absolute ranking of the alternatives at the conclusion of the decision. The highest bar is the best choice
    • The Fuzzy Decision Maker conclusion bar chart may show the contributing parts of the decision as color stacks in the bar chart
    • It can print out a formatted report on your decision scenario and the decision results
    • It is a Windows program. All windows support functions are available
    ======================================================
    Ref: Fuzzy Logic a Practical Approach, by F. Martin Mcneill, E. Thro

    3 comments:

    1. Very well done. Absolutely brilliant information. I'm in love with this blog. they always provide such a great information. What is Fuzzy logic

      ReplyDelete
    2. I really love your work you are doing great Structural Analysis in UK

      ReplyDelete